diff --git a/.gitattributes b/.gitattributes index 6fef3513726..f2e2fe06620 100644 --- a/.gitattributes +++ b/.gitattributes @@ -148,7 +148,6 @@ cdtOptions text *.top text *.ucd text .umlproject text -*.upc text # remove trailing whitespace *.py text *.xhtml text diff --git a/doc/org.eclipse.cdt.doc.isv/guide/deprecated_API_removals.html b/doc/org.eclipse.cdt.doc.isv/guide/deprecated_API_removals.html index 80af60b09a7..03abfe6b306 100644 --- a/doc/org.eclipse.cdt.doc.isv/guide/deprecated_API_removals.html +++ b/doc/org.eclipse.cdt.doc.isv/guide/deprecated_API_removals.html @@ -37,6 +37,7 @@
  • Activators removed for all bundles where possible.
  • NewClassCreationWizardPage breaking changes.
  • Arduino plug-ins and features removed.
  • +
  • Remove LRParser, XLC and UPC.
  • Planned Removals after June 2022 @@ -129,6 +130,43 @@ See Bug 562498.

    +

    6. Remove LRParser, XLC and UPC.

    +

    + The LR, UPC and XLC support have been removed from CDT. The bundles have not been maintained for a while and were + not functional anymore. +

    +

    + The bundles and features that have been removed are: +

    +

    +

    + See Bug 562498. +

    +

    Future Deletions

    @@ -168,4 +206,4 @@

    - + \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser.feature/.project b/lrparser/org.eclipse.cdt.core.lrparser.feature/.project deleted file mode 100644 index 96ca112d3b6..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.cdt.core.lrparser.feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/lrparser/org.eclipse.cdt.core.lrparser.feature/build.properties b/lrparser/org.eclipse.cdt.core.lrparser.feature/build.properties deleted file mode 100644 index cae59d603e0..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.feature/build.properties +++ /dev/null @@ -1,15 +0,0 @@ -############################################################################### -# Copyright (c) 2007, 2008 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = feature.xml,\ - feature.properties diff --git a/lrparser/org.eclipse.cdt.core.lrparser.feature/feature.properties b/lrparser/org.eclipse.cdt.core.lrparser.feature/feature.properties deleted file mode 100644 index c8755e0b614..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.feature/feature.properties +++ /dev/null @@ -1,36 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2010 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=C/C++ C99 LR Parser - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse CDT - -# "description" property - description of the feature -description=Parser and language support for the C99 variant of the C programming language. - -# copyright -copyright=\ -Copyright (c) 2006, 2011 IBM Corporation and others.\n\ -This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License 2.0\n\ -which accompanies this distribution, and is available at\n\ -https://www.eclipse.org/legal/epl-2.0/ - diff --git a/lrparser/org.eclipse.cdt.core.lrparser.feature/feature.xml b/lrparser/org.eclipse.cdt.core.lrparser.feature/feature.xml deleted file mode 100644 index c96bab37590..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.feature/feature.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - %description - - - - %copyright - - - - %license - - - - - - - diff --git a/lrparser/org.eclipse.cdt.core.lrparser.feature/rootfiles/notice.html b/lrparser/org.eclipse.cdt.core.lrparser.feature/rootfiles/notice.html deleted file mode 100644 index 008b8018db8..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.feature/rootfiles/notice.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

    Eclipse Foundation Software User Agreement

    -

    November 22, 2017

    - -

    Usage Of Content

    - -

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, - INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY - THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS - GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY - APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS - AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE - AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT - USE THE CONTENT.

    - -

    Applicable Licenses

    - -

    - Unless otherwise indicated, all Content made available by the Eclipse - Foundation is provided to you under the terms and conditions of the - Eclipse Public License Version 2.0 ("EPL"). A copy of the - EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    Content includes, but is not limited to, source code, object - code, documentation and other files maintained in the Eclipse - Foundation source code repository ("Repository") in software - modules ("Modules") and made available as downloadable - archives ("Downloads").

    - - - -

    The terms and conditions governing Plug-ins and Fragments should - be contained in files named "about.html" - ("Abouts"). The terms and conditions governing Features and - Included Features should be contained in files named - "license.html" ("Feature Licenses"). Abouts and - Feature Licenses may be located in any directory of a Download or - Module including, but not limited to the following locations:

    - - - -

    Note: if a Feature made available by the Eclipse Foundation is - installed using the Provisioning Technology (as defined below), you - must agree to a license ("Feature Update License") during - the installation process. If the Feature contains Included Features, - the Feature Update License should either provide you with the terms - and conditions governing the Included Features or inform you where you - can locate them. Feature Update Licenses may be found in the - "license" property of files named - "feature.properties" found within a Feature. Such Abouts, - Feature Licenses, and Feature Update Licenses contain the terms and - conditions (or references to such terms and conditions) that govern - your use of the associated Content in that directory.

    - -

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY - REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND - CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT - ARE NOT LIMITED TO):

    - - - -

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND - CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, - or Feature Update License is provided, please contact the Eclipse - Foundation to determine what terms and conditions govern that - particular Content.

    - - -

    Use of Provisioning Technology

    - -

    - The Eclipse Foundation makes available provisioning software, examples - of which include, but are not limited to, p2 and the Eclipse Update - Manager ("Provisioning Technology") for the purpose of - allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This - capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about - packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification"). -

    - -

    You may use Provisioning Technology to allow other parties to - install Installable Software. You shall be responsible for enabling - the applicable license agreements relating to the Installable Software - to be presented to, and accepted by, the users of the Provisioning - Technology in accordance with the Specification. By using Provisioning - Technology in such a manner and making it available in accordance with - the Specification, you further acknowledge your agreement to, and the - acquisition of all necessary rights to permit the following:

    - -
      -
    1. A series of actions may occur ("Provisioning - Process") in which a user may execute the Provisioning - Technology on a machine ("Target Machine") with the intent - of installing, extending or updating the functionality of an - Eclipse-based product.
    2. -
    3. During the Provisioning Process, the Provisioning Technology - may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
    4. -
    5. Pursuant to the Specification, you will provide to the user - the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such - Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable - Software Agreement must inform the user of the terms and conditions - that govern the Installable Software and must solicit acceptance by - the end user in the manner prescribed in such Installable Software - Agreement. Upon such indication of agreement by the user, the - provisioning Technology will complete installation of the Installable - Software.
    6. -
    - -

    Cryptography

    - -

    Content may contain encryption software. The country in which - you are currently may have restrictions on the import, possession, and - use, and/or re-export to another country, of encryption software. - BEFORE using any encryption software, please check the country's laws, - regulations and policies concerning the import, possession, or use, - and re-export of encryption software, to see if this is permitted.

    - -

    - Java and all Java-based trademarks are trademarks of - Oracle Corporation in the United States, other countries, or both. -

    - - diff --git a/lrparser/org.eclipse.cdt.core.lrparser.feature/sourceTemplateFeature/p2.inf b/lrparser/org.eclipse.cdt.core.lrparser.feature/sourceTemplateFeature/p2.inf deleted file mode 100644 index b96f60ebe47..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.feature/sourceTemplateFeature/p2.inf +++ /dev/null @@ -1 +0,0 @@ -update.matchExp=providedCapabilities.exists(pc | pc.namespace == 'org.eclipse.equinox.p2.iu' && (pc.name == 'org.eclipse.cdt.core.lrparser.source.feature.group' || pc.name == 'org.eclipse.cdt.core.lrparser.feature.source.feature.group')) diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/.project b/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/.project deleted file mode 100644 index cac5d53ecf7..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/.project +++ /dev/null @@ -1,22 +0,0 @@ - - - org.eclipse.cdt.core.lrparser.sdk.branding - - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - - diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/.settings/org.eclipse.pde.api.tools.prefs b/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/.settings/org.eclipse.pde.api.tools.prefs deleted file mode 100644 index ec9fbf321d0..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/.settings/org.eclipse.pde.api.tools.prefs +++ /dev/null @@ -1,184 +0,0 @@ -ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error -API_USE_SCAN_FIELD_SEVERITY=Error -API_USE_SCAN_METHOD_SEVERITY=Error -API_USE_SCAN_TYPE_SEVERITY=Error -CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_FIELD=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_ADDED_METHOD=Error -CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error -CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error -CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error -ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error -ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error -ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -FIELD_ELEMENT_TYPE_ADDED_VALUE=Error -FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error -FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error -FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error -ILLEGAL_EXTEND=Warning -ILLEGAL_IMPLEMENT=Warning -ILLEGAL_INSTANTIATE=Warning -ILLEGAL_OVERRIDE=Warning -ILLEGAL_REFERENCE=Warning -INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -INVALID_ANNOTATION=Ignore -INVALID_JAVADOC_TAG=Error -INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning -LEAK_EXTEND=Warning -LEAK_FIELD_DECL=Warning -LEAK_IMPLEMENT=Warning -LEAK_METHOD_PARAM=Warning -LEAK_METHOD_RETURN_TYPE=Warning -METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -MISSING_EE_DESCRIPTIONS=Warning -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -UNUSED_PROBLEM_FILTERS=Warning -automatically_removed_unused_problem_filters=false -changed_execution_env=Error -eclipse.preferences.version=1 -incompatible_api_component_version=Error -incompatible_api_component_version_include_major_without_breaking_change=Disabled -incompatible_api_component_version_include_minor_without_api_change=Disabled -incompatible_api_component_version_report_major_without_breaking_change=Warning -incompatible_api_component_version_report_minor_without_api_change=Warning -invalid_since_tag_version=Error -malformed_since_tag=Error -missing_since_tag=Error -report_api_breakage_when_major_version_incremented=Disabled -report_resolution_errors_api_component=Warning diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/.settings/org.eclipse.pde.prefs b/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/.settings/org.eclipse.pde.prefs deleted file mode 100644 index d2dc703ba9e..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,35 +0,0 @@ -compilers.f.unresolved-features=1 -compilers.f.unresolved-plugins=1 -compilers.incompatible-environment=1 -compilers.p.build=1 -compilers.p.build.bin.includes=1 -compilers.p.build.encodings=2 -compilers.p.build.java.compiler=2 -compilers.p.build.java.compliance=1 -compilers.p.build.missing.output=2 -compilers.p.build.output.library=1 -compilers.p.build.source.library=1 -compilers.p.build.src.includes=1 -compilers.p.deprecated=1 -compilers.p.discouraged-class=1 -compilers.p.internal=1 -compilers.p.missing-packages=2 -compilers.p.missing-version-export-package=2 -compilers.p.missing-version-import-package=2 -compilers.p.missing-version-require-bundle=2 -compilers.p.no-required-att=0 -compilers.p.no.automatic.module=1 -compilers.p.not-externalized-att=1 -compilers.p.service.component.without.lazyactivation=1 -compilers.p.unknown-attribute=1 -compilers.p.unknown-class=1 -compilers.p.unknown-element=1 -compilers.p.unknown-identifier=1 -compilers.p.unknown-resource=1 -compilers.p.unresolved-ex-points=0 -compilers.p.unresolved-import=0 -compilers.s.create-docs=false -compilers.s.doc-folder=doc -compilers.s.open-tags=1 -compilers.use-project=true -eclipse.preferences.version=1 diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/META-INF/MANIFEST.MF b/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/META-INF/MANIFEST.MF deleted file mode 100644 index d5928d982cb..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/META-INF/MANIFEST.MF +++ /dev/null @@ -1,7 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.cdt.core.lrparser.sdk.branding;singleton:=true -Bundle-Version: 10.0.0.qualifier -Bundle-Vendor: %providerName -Bundle-Localization: plugin diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/about.html b/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/about.html deleted file mode 100644 index 164f781a8fd..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/about.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    November 30, 2017

    -

    License

    - -

    - The Eclipse Foundation makes available all content in this plug-in - ("Content"). Unless otherwise indicated below, the Content - is provided to you under the terms and conditions of the Eclipse - Public License Version 2.0 ("EPL"). A copy of the EPL is - available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    - If you did not receive this Content directly from the Eclipse - Foundation, the Content is being redistributed by another party - ("Redistributor") and different terms and conditions may - apply to your use of any object code in the Content. Check the - Redistributor's license that was provided with the Content. If no such - license exists, contact the Redistributor. Unless otherwise indicated - below, the terms and conditions of the EPL still apply to any source - code in the Content and such source code may be obtained at http://www.eclipse.org. -

    - - - \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/about.ini b/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/about.ini deleted file mode 100644 index e07a7bb377e..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/about.ini +++ /dev/null @@ -1,24 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=cdt_logo_icon32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (translated) -# needed for primary features only - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/about.mappings b/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/about.mappings deleted file mode 100644 index 936a8039c3e..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/about.mappings +++ /dev/null @@ -1,9 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -# The following should contain the build version. -# e.g. "0=20200106-1728" -# This value will be added automatically via the build scripts -0=${buildId} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/about.properties b/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/about.properties deleted file mode 100644 index 24655a817f1..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/about.properties +++ /dev/null @@ -1,32 +0,0 @@ -############################################################################### -# Copyright (c) 2009, 2020 Contributors to the Eclipse Foundation -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -############################################################################### -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# NOTE TO TRANSLATOR: Please do not translate the featureVersion variable. - - -blurb=C/C++ C99 LR Parser SDK\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -Copyright (c) 2009, 2020 Contributors to the Eclipse Foundation -\n\ -See the NOTICE file(s) distributed with this work for additional\n\ -information regarding copyright ownership.\n\ -\n\ -Visit http://www.eclipse.org/cdt diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/build.properties b/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/build.properties deleted file mode 100644 index f9952c2d349..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/build.properties +++ /dev/null @@ -1,23 +0,0 @@ -############################################################################### -# Copyright (c) 2005, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = about.html,\ - about.ini,\ - about.mappings,\ - about.properties,\ - notice.html,\ - plugin.properties,\ - epl-v20.html,\ - META-INF/,\ - cdt_logo_icon32.png -src.includes = about.html diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/cdt_logo_icon32.png b/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/cdt_logo_icon32.png deleted file mode 100644 index 470ca81b327..00000000000 Binary files a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/cdt_logo_icon32.png and /dev/null differ diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/epl-v20.html b/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/epl-v20.html deleted file mode 100644 index 008b8018db8..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/epl-v20.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

    Eclipse Foundation Software User Agreement

    -

    November 22, 2017

    - -

    Usage Of Content

    - -

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, - INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY - THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS - GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY - APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS - AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE - AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT - USE THE CONTENT.

    - -

    Applicable Licenses

    - -

    - Unless otherwise indicated, all Content made available by the Eclipse - Foundation is provided to you under the terms and conditions of the - Eclipse Public License Version 2.0 ("EPL"). A copy of the - EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    Content includes, but is not limited to, source code, object - code, documentation and other files maintained in the Eclipse - Foundation source code repository ("Repository") in software - modules ("Modules") and made available as downloadable - archives ("Downloads").

    - - - -

    The terms and conditions governing Plug-ins and Fragments should - be contained in files named "about.html" - ("Abouts"). The terms and conditions governing Features and - Included Features should be contained in files named - "license.html" ("Feature Licenses"). Abouts and - Feature Licenses may be located in any directory of a Download or - Module including, but not limited to the following locations:

    - - - -

    Note: if a Feature made available by the Eclipse Foundation is - installed using the Provisioning Technology (as defined below), you - must agree to a license ("Feature Update License") during - the installation process. If the Feature contains Included Features, - the Feature Update License should either provide you with the terms - and conditions governing the Included Features or inform you where you - can locate them. Feature Update Licenses may be found in the - "license" property of files named - "feature.properties" found within a Feature. Such Abouts, - Feature Licenses, and Feature Update Licenses contain the terms and - conditions (or references to such terms and conditions) that govern - your use of the associated Content in that directory.

    - -

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY - REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND - CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT - ARE NOT LIMITED TO):

    - - - -

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND - CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, - or Feature Update License is provided, please contact the Eclipse - Foundation to determine what terms and conditions govern that - particular Content.

    - - -

    Use of Provisioning Technology

    - -

    - The Eclipse Foundation makes available provisioning software, examples - of which include, but are not limited to, p2 and the Eclipse Update - Manager ("Provisioning Technology") for the purpose of - allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This - capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about - packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification"). -

    - -

    You may use Provisioning Technology to allow other parties to - install Installable Software. You shall be responsible for enabling - the applicable license agreements relating to the Installable Software - to be presented to, and accepted by, the users of the Provisioning - Technology in accordance with the Specification. By using Provisioning - Technology in such a manner and making it available in accordance with - the Specification, you further acknowledge your agreement to, and the - acquisition of all necessary rights to permit the following:

    - -
      -
    1. A series of actions may occur ("Provisioning - Process") in which a user may execute the Provisioning - Technology on a machine ("Target Machine") with the intent - of installing, extending or updating the functionality of an - Eclipse-based product.
    2. -
    3. During the Provisioning Process, the Provisioning Technology - may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
    4. -
    5. Pursuant to the Specification, you will provide to the user - the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such - Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable - Software Agreement must inform the user of the terms and conditions - that govern the Installable Software and must solicit acceptance by - the end user in the manner prescribed in such Installable Software - Agreement. Upon such indication of agreement by the user, the - provisioning Technology will complete installation of the Installable - Software.
    6. -
    - -

    Cryptography

    - -

    Content may contain encryption software. The country in which - you are currently may have restrictions on the import, possession, and - use, and/or re-export to another country, of encryption software. - BEFORE using any encryption software, please check the country's laws, - regulations and policies concerning the import, possession, or use, - and re-export of encryption software, to see if this is permitted.

    - -

    - Java and all Java-based trademarks are trademarks of - Oracle Corporation in the United States, other countries, or both. -

    - - diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/notice.html b/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/notice.html deleted file mode 100644 index 008b8018db8..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/notice.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

    Eclipse Foundation Software User Agreement

    -

    November 22, 2017

    - -

    Usage Of Content

    - -

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, - INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY - THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS - GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY - APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS - AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE - AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT - USE THE CONTENT.

    - -

    Applicable Licenses

    - -

    - Unless otherwise indicated, all Content made available by the Eclipse - Foundation is provided to you under the terms and conditions of the - Eclipse Public License Version 2.0 ("EPL"). A copy of the - EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    Content includes, but is not limited to, source code, object - code, documentation and other files maintained in the Eclipse - Foundation source code repository ("Repository") in software - modules ("Modules") and made available as downloadable - archives ("Downloads").

    - - - -

    The terms and conditions governing Plug-ins and Fragments should - be contained in files named "about.html" - ("Abouts"). The terms and conditions governing Features and - Included Features should be contained in files named - "license.html" ("Feature Licenses"). Abouts and - Feature Licenses may be located in any directory of a Download or - Module including, but not limited to the following locations:

    - - - -

    Note: if a Feature made available by the Eclipse Foundation is - installed using the Provisioning Technology (as defined below), you - must agree to a license ("Feature Update License") during - the installation process. If the Feature contains Included Features, - the Feature Update License should either provide you with the terms - and conditions governing the Included Features or inform you where you - can locate them. Feature Update Licenses may be found in the - "license" property of files named - "feature.properties" found within a Feature. Such Abouts, - Feature Licenses, and Feature Update Licenses contain the terms and - conditions (or references to such terms and conditions) that govern - your use of the associated Content in that directory.

    - -

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY - REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND - CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT - ARE NOT LIMITED TO):

    - - - -

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND - CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, - or Feature Update License is provided, please contact the Eclipse - Foundation to determine what terms and conditions govern that - particular Content.

    - - -

    Use of Provisioning Technology

    - -

    - The Eclipse Foundation makes available provisioning software, examples - of which include, but are not limited to, p2 and the Eclipse Update - Manager ("Provisioning Technology") for the purpose of - allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This - capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about - packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification"). -

    - -

    You may use Provisioning Technology to allow other parties to - install Installable Software. You shall be responsible for enabling - the applicable license agreements relating to the Installable Software - to be presented to, and accepted by, the users of the Provisioning - Technology in accordance with the Specification. By using Provisioning - Technology in such a manner and making it available in accordance with - the Specification, you further acknowledge your agreement to, and the - acquisition of all necessary rights to permit the following:

    - -
      -
    1. A series of actions may occur ("Provisioning - Process") in which a user may execute the Provisioning - Technology on a machine ("Target Machine") with the intent - of installing, extending or updating the functionality of an - Eclipse-based product.
    2. -
    3. During the Provisioning Process, the Provisioning Technology - may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
    4. -
    5. Pursuant to the Specification, you will provide to the user - the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such - Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable - Software Agreement must inform the user of the terms and conditions - that govern the Installable Software and must solicit acceptance by - the end user in the manner prescribed in such Installable Software - Agreement. Upon such indication of agreement by the user, the - provisioning Technology will complete installation of the Installable - Software.
    6. -
    - -

    Cryptography

    - -

    Content may contain encryption software. The country in which - you are currently may have restrictions on the import, possession, and - use, and/or re-export to another country, of encryption software. - BEFORE using any encryption software, please check the country's laws, - regulations and policies concerning the import, possession, or use, - and re-export of encryption software, to see if this is permitted.

    - -

    - Java and all Java-based trademarks are trademarks of - Oracle Corporation in the United States, other countries, or both. -

    - - diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/plugin.properties b/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/plugin.properties deleted file mode 100644 index 9bc80276edd..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.sdk.branding/plugin.properties +++ /dev/null @@ -1,15 +0,0 @@ -############################################################################### -# Copyright (c) 2005, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -pluginName=C/C++ C99 LR Parser SDK -providerName=Eclipse CDT \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/.project b/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/.project deleted file mode 100644 index a3acfb34d6e..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.cdt.core.lrparser.sdk.feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/build.properties b/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/build.properties deleted file mode 100644 index 9fb4480816a..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/build.properties +++ /dev/null @@ -1,17 +0,0 @@ -############################################################################### -# Copyright (c) 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = feature.xml,\ - feature.properties - -generate.feature@org.eclipse.cdt.core.lrparser.source = org.eclipse.cdt.core.lrparser.feature diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/feature-no-source.properties b/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/feature-no-source.properties deleted file mode 100644 index 8c2b2f70c57..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/feature-no-source.properties +++ /dev/null @@ -1 +0,0 @@ -# This file tells the Maven build to not generate sources for this feature diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/feature.properties b/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/feature.properties deleted file mode 100644 index dd4f016fcc7..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/feature.properties +++ /dev/null @@ -1,36 +0,0 @@ -############################################################################### -# Copyright (c) 2009, 2010 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=C/C++ C99 LR Parser SDK - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse CDT - -# "description" property - description of the feature -description=Parser and language support for the C99 variant of the C programming language. Software development kit including source code and developer documentation. - -# copyright -copyright=\ -Copyright (c) 2006, 2011 IBM Corporation and others.\n\ -This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License 2.0\n\ -which accompanies this distribution, and is available at\n\ -https://www.eclipse.org/legal/epl-2.0/ - diff --git a/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/feature.xml b/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/feature.xml deleted file mode 100644 index e4538166e70..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.sdk.feature/feature.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/.classpath b/lrparser/org.eclipse.cdt.core.lrparser.tests/.classpath deleted file mode 100644 index eca7bdba8f0..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/.project b/lrparser/org.eclipse.cdt.core.lrparser.tests/.project deleted file mode 100644 index 23cd5c32013..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.eclipse.cdt.core.lrparser.tests - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.jdt.core.prefs b/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index ad05599159f..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,464 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.cleanOutputFolder=clean -org.eclipse.jdt.core.builder.duplicateResourceTask=warning -org.eclipse.jdt.core.builder.invalidClasspath=abort -org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore -org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch, *.xtend -org.eclipse.jdt.core.circularClasspath=error -org.eclipse.jdt.core.classpath.exclusionPatterns=enabled -org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error -org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled -org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error -org.eclipse.jdt.core.codeComplete.argumentPrefixes= -org.eclipse.jdt.core.codeComplete.argumentSuffixes= -org.eclipse.jdt.core.codeComplete.fieldPrefixes= -org.eclipse.jdt.core.codeComplete.fieldSuffixes= -org.eclipse.jdt.core.codeComplete.localPrefixes= -org.eclipse.jdt.core.codeComplete.localSuffixes= -org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=ignore -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore -org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore -org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.8 -org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false -org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 -org.eclipse.jdt.core.formatter.align_type_members_on_columns=false -org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false -org.eclipse.jdt.core.formatter.align_with_spaces=false -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_assignment=0 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 -org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 -org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 -org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 -org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 -org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 -org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 -org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 -org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 -org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_after_package=1 -org.eclipse.jdt.core.formatter.blank_lines_before_field=0 -org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 -org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 -org.eclipse.jdt.core.formatter.blank_lines_before_method=1 -org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 -org.eclipse.jdt.core.formatter.blank_lines_before_package=0 -org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 -org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 -org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true -org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false -org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true -org.eclipse.jdt.core.formatter.comment.format_block_comments=false -org.eclipse.jdt.core.formatter.comment.format_header=false -org.eclipse.jdt.core.formatter.comment.format_html=true -org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false -org.eclipse.jdt.core.formatter.comment.format_line_comments=false -org.eclipse.jdt.core.formatter.comment.format_source_code=true -org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false -org.eclipse.jdt.core.formatter.comment.indent_root_tags=false -org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert -org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert -org.eclipse.jdt.core.formatter.comment.line_length=80 -org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true -org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true -org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false -org.eclipse.jdt.core.formatter.compact_else_if=true -org.eclipse.jdt.core.formatter.continuation_indentation=2 -org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 -org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off -org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on -org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false -org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true -org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_empty_lines=false -org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true -org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false -org.eclipse.jdt.core.formatter.indentation.size=4 -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert -org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert -org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert -org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.join_lines_in_comments=true -org.eclipse.jdt.core.formatter.join_wrapped_lines=true -org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false -org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false -org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false -org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false -org.eclipse.jdt.core.formatter.lineSplit=120 -org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false -org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false -org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 -org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 -org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines -org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true -org.eclipse.jdt.core.formatter.tabulation.char=tab -org.eclipse.jdt.core.formatter.tabulation.size=4 -org.eclipse.jdt.core.formatter.use_on_off_tags=true -org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false -org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true -org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true -org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true -org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true -org.eclipse.jdt.core.incompatibleJDKLevel=ignore -org.eclipse.jdt.core.incompleteClasspath=error -org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.jdt.launching.prefs b/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.jdt.launching.prefs deleted file mode 100644 index f8a131b56e0..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.jdt.launching.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=warning -org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=warning diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.jdt.ui.prefs b/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index e44576346c4..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,133 +0,0 @@ -cleanup.add_default_serial_version_id=true -cleanup.add_generated_serial_version_id=false -cleanup.add_missing_annotations=true -cleanup.add_missing_deprecated_annotations=true -cleanup.add_missing_methods=false -cleanup.add_missing_nls_tags=false -cleanup.add_missing_override_annotations=true -cleanup.add_missing_override_annotations_interface_methods=true -cleanup.add_serial_version_id=false -cleanup.always_use_blocks=true -cleanup.always_use_parentheses_in_expressions=false -cleanup.always_use_this_for_non_static_field_access=false -cleanup.always_use_this_for_non_static_method_access=false -cleanup.convert_functional_interfaces=false -cleanup.convert_to_enhanced_for_loop=false -cleanup.correct_indentation=false -cleanup.format_source_code=true -cleanup.format_source_code_changes_only=false -cleanup.insert_inferred_type_arguments=false -cleanup.make_local_variable_final=true -cleanup.make_parameters_final=false -cleanup.make_private_fields_final=true -cleanup.make_type_abstract_if_missing_method=false -cleanup.make_variable_declarations_final=false -cleanup.never_use_blocks=false -cleanup.never_use_parentheses_in_expressions=true -cleanup.organize_imports=true -cleanup.qualify_static_field_accesses_with_declaring_class=false -cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -cleanup.qualify_static_member_accesses_with_declaring_class=false -cleanup.qualify_static_method_accesses_with_declaring_class=false -cleanup.remove_private_constructors=true -cleanup.remove_redundant_modifiers=false -cleanup.remove_redundant_semicolons=true -cleanup.remove_redundant_type_arguments=true -cleanup.remove_trailing_whitespaces=true -cleanup.remove_trailing_whitespaces_all=true -cleanup.remove_trailing_whitespaces_ignore_empty=false -cleanup.remove_unnecessary_casts=true -cleanup.remove_unnecessary_nls_tags=false -cleanup.remove_unused_imports=true -cleanup.remove_unused_local_variables=false -cleanup.remove_unused_private_fields=true -cleanup.remove_unused_private_members=false -cleanup.remove_unused_private_methods=true -cleanup.remove_unused_private_types=true -cleanup.sort_members=false -cleanup.sort_members_all=false -cleanup.use_anonymous_class_creation=false -cleanup.use_blocks=false -cleanup.use_blocks_only_for_return_and_throw=false -cleanup.use_lambda=true -cleanup.use_parentheses_in_expressions=false -cleanup.use_this_for_non_static_field_access=false -cleanup.use_this_for_non_static_field_access_only_if_necessary=true -cleanup.use_this_for_non_static_method_access=false -cleanup.use_this_for_non_static_method_access_only_if_necessary=true -cleanup_profile=_CDT -cleanup_settings_version=2 -eclipse.preferences.version=1 -editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true -formatter_profile=_CDT -formatter_settings_version=14 -internal.default.compliance=user -org.eclipse.jdt.ui.exception.name=e -org.eclipse.jdt.ui.gettersetter.use.is=true -org.eclipse.jdt.ui.ignorelowercasenames=true -org.eclipse.jdt.ui.importorder=java;javax;org;com; -org.eclipse.jdt.ui.keywordthis=false -org.eclipse.jdt.ui.ondemandthreshold=1000 -org.eclipse.jdt.ui.overrideannotation=true -org.eclipse.jdt.ui.staticondemandthreshold=1000 -org.eclipse.jdt.ui.text.custom_code_templates= -sp_cleanup.add_default_serial_version_id=true -sp_cleanup.add_generated_serial_version_id=false -sp_cleanup.add_missing_annotations=true -sp_cleanup.add_missing_deprecated_annotations=true -sp_cleanup.add_missing_methods=false -sp_cleanup.add_missing_nls_tags=false -sp_cleanup.add_missing_override_annotations=true -sp_cleanup.add_missing_override_annotations_interface_methods=true -sp_cleanup.add_serial_version_id=false -sp_cleanup.always_use_blocks=true -sp_cleanup.always_use_parentheses_in_expressions=false -sp_cleanup.always_use_this_for_non_static_field_access=false -sp_cleanup.always_use_this_for_non_static_method_access=false -sp_cleanup.convert_functional_interfaces=false -sp_cleanup.convert_to_enhanced_for_loop=false -sp_cleanup.correct_indentation=false -sp_cleanup.format_source_code=true -sp_cleanup.format_source_code_changes_only=false -sp_cleanup.insert_inferred_type_arguments=false -sp_cleanup.make_local_variable_final=true -sp_cleanup.make_parameters_final=false -sp_cleanup.make_private_fields_final=true -sp_cleanup.make_type_abstract_if_missing_method=false -sp_cleanup.make_variable_declarations_final=false -sp_cleanup.never_use_blocks=false -sp_cleanup.never_use_parentheses_in_expressions=true -sp_cleanup.on_save_use_additional_actions=true -sp_cleanup.organize_imports=true -sp_cleanup.qualify_static_field_accesses_with_declaring_class=false -sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_with_declaring_class=false -sp_cleanup.qualify_static_method_accesses_with_declaring_class=false -sp_cleanup.remove_private_constructors=true -sp_cleanup.remove_redundant_modifiers=false -sp_cleanup.remove_redundant_semicolons=true -sp_cleanup.remove_redundant_type_arguments=true -sp_cleanup.remove_trailing_whitespaces=true -sp_cleanup.remove_trailing_whitespaces_all=true -sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true -sp_cleanup.remove_unnecessary_nls_tags=false -sp_cleanup.remove_unused_imports=true -sp_cleanup.remove_unused_local_variables=false -sp_cleanup.remove_unused_private_fields=true -sp_cleanup.remove_unused_private_members=false -sp_cleanup.remove_unused_private_methods=true -sp_cleanup.remove_unused_private_types=true -sp_cleanup.sort_members=false -sp_cleanup.sort_members_all=false -sp_cleanup.use_anonymous_class_creation=false -sp_cleanup.use_blocks=false -sp_cleanup.use_blocks_only_for_return_and_throw=false -sp_cleanup.use_lambda=true -sp_cleanup.use_parentheses_in_expressions=false -sp_cleanup.use_this_for_non_static_field_access=false -sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true -sp_cleanup.use_this_for_non_static_method_access=false -sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.pde.api.tools.prefs b/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.pde.api.tools.prefs deleted file mode 100644 index ec9fbf321d0..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.pde.api.tools.prefs +++ /dev/null @@ -1,184 +0,0 @@ -ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error -API_USE_SCAN_FIELD_SEVERITY=Error -API_USE_SCAN_METHOD_SEVERITY=Error -API_USE_SCAN_TYPE_SEVERITY=Error -CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_FIELD=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_ADDED_METHOD=Error -CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error -CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error -CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error -ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error -ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error -ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -FIELD_ELEMENT_TYPE_ADDED_VALUE=Error -FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error -FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error -FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error -ILLEGAL_EXTEND=Warning -ILLEGAL_IMPLEMENT=Warning -ILLEGAL_INSTANTIATE=Warning -ILLEGAL_OVERRIDE=Warning -ILLEGAL_REFERENCE=Warning -INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -INVALID_ANNOTATION=Ignore -INVALID_JAVADOC_TAG=Error -INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning -LEAK_EXTEND=Warning -LEAK_FIELD_DECL=Warning -LEAK_IMPLEMENT=Warning -LEAK_METHOD_PARAM=Warning -LEAK_METHOD_RETURN_TYPE=Warning -METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -MISSING_EE_DESCRIPTIONS=Warning -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -UNUSED_PROBLEM_FILTERS=Warning -automatically_removed_unused_problem_filters=false -changed_execution_env=Error -eclipse.preferences.version=1 -incompatible_api_component_version=Error -incompatible_api_component_version_include_major_without_breaking_change=Disabled -incompatible_api_component_version_include_minor_without_api_change=Disabled -incompatible_api_component_version_report_major_without_breaking_change=Warning -incompatible_api_component_version_report_minor_without_api_change=Warning -invalid_since_tag_version=Error -malformed_since_tag=Error -missing_since_tag=Error -report_api_breakage_when_major_version_incremented=Disabled -report_resolution_errors_api_component=Warning diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.pde.prefs b/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.pde.prefs deleted file mode 100644 index 51a63ec9988..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,35 +0,0 @@ -compilers.f.unresolved-features=1 -compilers.f.unresolved-plugins=1 -compilers.incompatible-environment=1 -compilers.p.build=1 -compilers.p.build.bin.includes=1 -compilers.p.build.encodings=2 -compilers.p.build.java.compiler=2 -compilers.p.build.java.compliance=1 -compilers.p.build.missing.output=2 -compilers.p.build.output.library=1 -compilers.p.build.source.library=1 -compilers.p.build.src.includes=1 -compilers.p.deprecated=1 -compilers.p.discouraged-class=1 -compilers.p.internal=1 -compilers.p.missing-packages=2 -compilers.p.missing-version-export-package=2 -compilers.p.missing-version-import-package=2 -compilers.p.missing-version-require-bundle=2 -compilers.p.no-required-att=0 -compilers.p.no.automatic.module=1 -compilers.p.not-externalized-att=2 -compilers.p.service.component.without.lazyactivation=1 -compilers.p.unknown-attribute=1 -compilers.p.unknown-class=1 -compilers.p.unknown-element=1 -compilers.p.unknown-identifier=1 -compilers.p.unknown-resource=1 -compilers.p.unresolved-ex-points=0 -compilers.p.unresolved-import=0 -compilers.s.create-docs=false -compilers.s.doc-folder=doc -compilers.s.open-tags=1 -compilers.use-project=true -eclipse.preferences.version=1 diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/META-INF/MANIFEST.MF b/lrparser/org.eclipse.cdt.core.lrparser.tests/META-INF/MANIFEST.MF deleted file mode 100644 index 20777cfc242..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/META-INF/MANIFEST.MF +++ /dev/null @@ -1,16 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %Bundle-Name.0 -Bundle-SymbolicName: org.eclipse.cdt.core.lrparser.tests -Bundle-Version: 5.2.0.qualifier -Require-Bundle: org.eclipse.core.runtime, - org.junit, - org.eclipse.cdt.core.tests, - org.eclipse.cdt.core, - org.eclipse.core.resources, - org.eclipse.cdt.core.lrparser;bundle-version="4.0.1" -Export-Package: org.eclipse.cdt.core.lrparser.tests -Bundle-Vendor: %Bundle-Vendor.0 -Bundle-Localization: plugin -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Automatic-Module-Name: org.eclipse.cdt.core.lrparser.tests diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/about.html b/lrparser/org.eclipse.cdt.core.lrparser.tests/about.html deleted file mode 100644 index 164f781a8fd..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/about.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    November 30, 2017

    -

    License

    - -

    - The Eclipse Foundation makes available all content in this plug-in - ("Content"). Unless otherwise indicated below, the Content - is provided to you under the terms and conditions of the Eclipse - Public License Version 2.0 ("EPL"). A copy of the EPL is - available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    - If you did not receive this Content directly from the Eclipse - Foundation, the Content is being redistributed by another party - ("Redistributor") and different terms and conditions may - apply to your use of any object code in the Content. Check the - Redistributor's license that was provided with the Content. If no such - license exists, contact the Redistributor. Unless otherwise indicated - below, the terms and conditions of the EPL still apply to any source - code in the Content and such source code may be obtained at http://www.eclipse.org. -

    - - - \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/build.properties b/lrparser/org.eclipse.cdt.core.lrparser.tests/build.properties deleted file mode 100644 index 2efd6977db3..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/build.properties +++ /dev/null @@ -1,20 +0,0 @@ -############################################################################### -# Copyright (c) 2007, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - about.html,\ - plugin.properties -src.includes = about.html diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/plugin.properties b/lrparser/org.eclipse.cdt.core.lrparser.tests/plugin.properties deleted file mode 100644 index d2af05f91ce..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/plugin.properties +++ /dev/null @@ -1,18 +0,0 @@ -############################################################################### -# Copyright (c) 2007, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# properties file for org.eclipse.cdt.core.parser.c99.tests -Bundle-Vendor.0 = Eclipse CDT -Bundle-Name.0 = C99 Parser Tests Plug-in - -upcSourceName=UPC Source File \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/AbstractLRHangingTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/AbstractLRHangingTest.java deleted file mode 100644 index c62e1f76981..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/AbstractLRHangingTest.java +++ /dev/null @@ -1,119 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestCase; - -public class AbstractLRHangingTest extends TestCase { - - public AbstractLRHangingTest() { - } - - public AbstractLRHangingTest(String name) { - super(name); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - - protected void runThreadByLimitedTime(long limitTime, Thread testThread) throws Exception { - testThread.start(); - testThread.join(limitTime); - - if (testThread.isAlive()) { - testThread.interrupt(); - fail("timeout by " + limitTime / 1000 + " seconds"); //$NON-NLS-2$ - } else { - // Finished - } - } - - // 1mins - public static long THREAD_TIMEOUT_LIMIT = 1 * 60 * 1000; - public static String CONTENT_ASIST_CURSOR = " /**/ "; - - private String errMsg = ""; - - public void resetErrMsg() { - errMsg = ""; - } - - public void setErrMsg(String errMsg) { - this.errMsg = errMsg; - } - - protected void runTestCase(final String code, final ILanguage language) throws Exception { - - Thread testThread = new Thread() { - - @Override - public void run() { - - String errMsg = ""; - resetErrMsg(); - String msg = null; - int offset = code.indexOf(CONTENT_ASIST_CURSOR); - int index = 0; - while (offset >= 0) { - - IASTCompletionNode node = null; - try { - node = ParseHelper.getCompletionNode(code, language, offset); - } catch (Exception e) { - if (errMsg.length() == 0) { - errMsg = "caught an exception when the code is parsed for cursor number " + index; - } else { - errMsg = errMsg + "\n" + "caught an exception when the code is parsed for cursor number " - + index; - } - - } - if (node == null) { - if (errMsg.length() == 0) { - errMsg = "return completion node is null when the code is parsed for cursor number " - + index; - } else { - errMsg = errMsg + "\n" - + "return completion node is null when the code is parsed for cursor number " - + index; - } - - } - offset = code.indexOf(CONTENT_ASIST_CURSOR, offset + 1); - index++; - } - setErrMsg(errMsg); - - } - - }; - - runThreadByLimitedTime(THREAD_TIMEOUT_LIMIT, testThread); - if (errMsg.length() > 0) { - //fail(errMsg); - } - - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/AutomatedIntegrationSuite.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/AutomatedIntegrationSuite.java deleted file mode 100644 index 2fa9ff861b9..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/AutomatedIntegrationSuite.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import junit.framework.Test; -import junit.framework.TestSuite; - -public class AutomatedIntegrationSuite extends TestSuite { - - // TODO: the following test are not being reused - // - // DOMGCCSelectionParseExtensionsTest - // DOMSelectionParseTest - // GCCCompleteParseExtensionsTest - // QuickParser2Tests - // - // and perhaps others - - public static Test suite() { - return new TestSuite() { - { - - addTest(LRCommentTests.suite()); - addTest(LRCompleteParser2Tests.suite()); - addTest(LRCompletionBasicTest.suite()); - addTest(LRCompletionParseTest.suite()); - addTest(LRCPPSpecTest.suite()); - addTest(LRCPPTests.suite()); - addTest(LRCSpecTests.suite()); // a couple of failures - addTest(LRDigraphTrigraphTests.suite()); - addTest(LRDOMLocationMacroTests.suite()); - addTest(LRDOMLocationTests.suite()); - addTest(LRDOMPreprocessorInformationTest.suite()); - addTest(LRGCCTests.suite()); - addTest(LRGCCCompleteParseExtensionsTest.suite()); - addTest(LRImageLocationTests.suite()); - addTest(LRKnRTests.suite()); // mostly fail due to ambiguities - addTest(LRNodeSelectorTest.suite()); - addTestSuite(LRQuickParser2Tests.class); - addTest(LRSelectionParseTest.suite()); // this one still has a lot of failing tests though - addTest(LRSemanticsTests.suite()); - addTest(LRTaskParserTest.suite()); - addTest(LRTemplateTests.suite()); - addTest(LRTests.suite()); // has some tests that do fail - addTest(LRUtilOldTests.suite()); - addTest(LRUtilTests.suite()); - addTest(LRCompletionHangingTest.suite()); - addTest(LRCPPImplicitNameTests.suite()); - //addTest(LRInactiveCodeTests.suite()); - - } - }; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPImplicitNameTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPImplicitNameTests.java deleted file mode 100644 index 3419540959d..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPImplicitNameTests.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.AST2CPPImplicitNameTests; - -import junit.framework.TestSuite; - -public class LRCPPImplicitNameTests extends AST2CPPImplicitNameTests { - - public static TestSuite suite() { - return suite(LRCPPImplicitNameTests.class); - } - - public LRCPPImplicitNameTests() { - } - - public LRCPPImplicitNameTests(String name) { - super(name); - } - - //TODO ??? overwrite some failed test cases - @Override - public void testNew() throws Exception { - } - - @Override - protected IASTTranslationUnit parse(String code, ParserLanguage lang, - @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, - int limitTrivialInitializers) { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckSyntaxProblems(expectNoProblems); - options.setCheckPreprocessorProblems(expectNoProblems); - options.setLimitTrivialInitializers(limitTrivialInitializers); - return ParseHelper.parse(code, language, options); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPSpecTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPSpecTest.java deleted file mode 100644 index 55cc8307e7b..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPSpecTest.java +++ /dev/null @@ -1,144 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.AST2CPPSpecTest; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.TestSuite; - -@SuppressWarnings("restriction") -public class LRCPPSpecTest extends AST2CPPSpecTest { - - public static TestSuite suite() { - return suite(LRCPPSpecTest.class); - } - - public LRCPPSpecTest() { - } - - public LRCPPSpecTest(String name) { - super(name); - } - - //TODO ??? overwrite some failed test cases - @Override - public void test7_1_3s5b() throws Exception { - } - - @Override - public void test8_2s7a() throws Exception { - } - - @Override - public void test8_2s7b() throws Exception { - } - - @Override - public void test14_8_2s8a() throws Exception { - } - - @Override - public void test14_8_2_1s1a() throws Exception { - } - - @Override - public void test14_8_2_1s1b() throws Exception { - } - - @Override - public void test14_8_2_1s3() throws Exception { - } - - @Override - public void test14_8_2_4s12() throws Exception { - } - - @Override - public void test14_8_2_5s5() throws Exception { - } - - @Override - public void test14_8_2_5s10() throws Exception { - } - - @Override - public void test14_8_2_4s21() throws Exception { - } - - @Override - public void test14_8_2_5s22() throws Exception { - } - - @Override - protected void parseCandCPP(String code, boolean checkBindings, int expectedProblemBindings) - throws ParserException { - parse(code, ParserLanguage.C, checkBindings, expectedProblemBindings); - parse(code, ParserLanguage.CPP, checkBindings, expectedProblemBindings); - } - - @Override - protected IASTTranslationUnit parseWithErrors(String code, ParserLanguage lang) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckBindings(false); - options.setCheckPreprocessorProblems(false); - options.setCheckSyntaxProblems(false); - return ParseHelper.parse(code, language, options); - } - - @Override - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean checkBindings, - int expectedProblemBindings) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckBindings(checkBindings); - options.setExpectedProblemBindings(expectedProblemBindings); - return ParseHelper.parse(code, language, options); - } - - @Override - protected IASTTranslationUnit parse(String code, ParserLanguage lang, - @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, - int limitTrivialInitializers) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckSyntaxProblems(expectNoProblems); - options.setCheckPreprocessorProblems(expectNoProblems); - options.setLimitTrivialInitializers(limitTrivialInitializers); - return ParseHelper.parse(code, language, options); - } - - @Override - protected IASTTranslationUnit parse(String code, ParserLanguage lang, String[] problems) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options(); - options.setProblems(problems); - return ParseHelper.parse(code, language, options); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPTests.java deleted file mode 100644 index fb7044795ac..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCPPTests.java +++ /dev/null @@ -1,331 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.AST2CPPTests; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.TestSuite; - -@SuppressWarnings("restriction") -public class LRCPPTests extends AST2CPPTests { - - public static TestSuite suite() { - return suite(LRCPPTests.class); - } - - public LRCPPTests() { - } - - public LRCPPTests(String name) { - super(name); - } - - //the below test case are for C++0x features which are not included in XLC++ yet - - @Override - public void testRValueReference_294730() throws Exception { - } - - @Override - public void testRValueReferenceTypedefs_294730() throws Exception { - } - - @Override - public void testDirectBinding_294730() throws Exception { - } - - @Override - public void testListInitialization_302412a() throws Exception { - } - - @Override - public void testListInitialization_302412b() throws Exception { - } - - @Override - public void testListInitialization_302412c() throws Exception { - } - - @Override - public void testListInitialization_302412d() throws Exception { - } - - @Override - public void testListInitialization_302412e() throws Exception { - } - - @Override - public void testListInitialization_302412f() throws Exception { - } - - @Override - public void testScopedEnums_305975a() throws Exception { - } - - @Override - public void testScopedEnums_305975b() throws Exception { - } - - @Override - public void testScopedEnums_305975c() throws Exception { - } - - @Override - public void testScopedEnums_305975d() throws Exception { - } - - @Override - public void testScopedEnums_305975e() throws Exception { - } - - @Override - public void testScopedEnums_305975g() throws Exception { - } - - @Override - public void testBug332114b() throws Exception { - } - - //unicode character type - @Override - public void testNewCharacterTypes_305976() throws Exception { - } - - //auto type - @Override - public void testAutoType_289542() throws Exception { - } - - @Override - public void testAutoType_305970() throws Exception { - } - - @Override - public void testAutoType_305987() throws Exception { - } - - @Override - public void testNewFunctionDeclaratorSyntax_305972() throws Exception { - } - - @Override - public void testBug332114a() throws Exception { - } - - @Override - public void testResolutionInTrailingReturnType_333256() throws Exception { - } - - @Override - public void testAutoTypeInRangeBasedFor_332883a() throws Exception { - } - - @Override - public void testAutoTypeInRangeBasedFor_332883b() throws Exception { - } - - //DeclType - @Override - public void testDecltype_294730() throws Exception { - } - - //Defaulted and deleted functions - @Override - public void testDefaultedAndDeletedFunctions_305978() throws Exception { - } - - @Override - public void testDefaultedAndDeletedFunctions_305978b() throws Exception { - } - - //Inline namespaces - @Override - public void testInlineNamespace_305980a() throws Exception { - } - - @Override - public void testInlineNamespace_305980b() throws Exception { - } - - @Override - public void testInlineNamespace_305980c() throws Exception { - } - - @Override - public void testInlineNamespace_305980d() throws Exception { - } - - //New wording for C++0x lambdas - @Override - public void testLambdaExpression_316307a() throws Exception { - } - - @Override - public void testLambdaExpression_316307b() throws Exception { - } - - //xvalue - @Override - public void testXValueCategories() throws Exception { - } - - @Override - public void testRankingOfReferenceBindings_a() throws Exception { - } - - @Override - public void testRankingOfReferenceBindings_b() throws Exception { - } - - @Override - public void testInlineNamespaceLookup_324096() throws Exception { - } - - @Override - public void testCtorForAutomaticVariables_156668() throws Exception { - } - - @Override - public void testRangeBasedForLoop_327223() throws Exception { - } - - //TODO ??? overwrite some failed test cases - @Override - public void testOrderOfAmbiguityResolution_259373() throws Exception { - } - - @Override - public void testPureVirtualVsInitDeclarator_267184() throws Exception { - } - - @Override - public void testDeclarationAmbiguity_269953() throws Exception { - } - - @Override - public void testInitSyntax_302412() throws Exception { - } - - @Override - public void testStaticAssertions_294730() throws Exception { - } - - //outer::foo x - @Override - public void testAttributeInUsingDirective_351228() throws Exception { - } - - @Override - protected IASTTranslationUnit parse(String code, ParserLanguage lang, - @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, - int limitTrivialInitializers) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckSyntaxProblems(expectNoProblems); - options.setCheckPreprocessorProblems(expectNoProblems); - options.setLimitTrivialInitializers(limitTrivialInitializers); - return ParseHelper.parse(code, language, options); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - - @Override - public void testBug98704() throws Exception { - // this one gets stuck in infinite loop - - } - - // @Override - // public void testBug87424() throws Exception { // gcc extension - // try { - // super.testBug87424(); - // fail(); - // } catch(AssertionFailedError _) { - // } - // } - // - // - // @Override - // public void testBug95757() throws Exception { // gcc extension - // try { - // super.testBug95757(); - // fail(); - // } catch(AssertionFailedError _) { - // } - // } - // - // @Override - // public void testBug108202() throws Exception { // gcc attributes not supported - // try { - // super.testBug108202(); - // fail(); - // } catch(AssertionFailedError _) { - // } - // } - // - // - // @Override - // public void testBug195701() throws Exception { // gcc attributes not supported - // try { - // super.testBug195701(); - // fail(); - // } catch(AssertionFailedError _) { - // } - // } - // - // @Override - // public void testBug179712() throws Exception { // gcc attributes not supported - // try { - // super.testBug179712(); - // fail(); - // } catch(AssertionFailedError _) { - // } - // } - // - // @Override - // public void testBug240567() throws Exception { // gcc - // try { - // super.testBug240567(); - // fail(); - // } catch(AssertionFailedError _) { - // } - // } - // - // @Override - // public void testLiteralsViaOverloads_225534() throws Exception { // gcc, I think - // try { - // super.testLiteralsViaOverloads_225534(); - // fail(); - // } catch(AssertionFailedError _) { - // } - // } - - @Override - public void testNestedTemplateIDAmbiguity_259501() throws Exception { - // this test hangs, not sure I'll ever fix it - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCSpecTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCSpecTests.java deleted file mode 100644 index 72b7051b773..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCSpecTests.java +++ /dev/null @@ -1,100 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.AST2CSpecTest; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.TestSuite; - -@SuppressWarnings({ "restriction", "nls" }) -public class LRCSpecTests extends AST2CSpecTest { - - public static TestSuite suite() { - return suite(LRCSpecTests.class); - } - - public LRCSpecTests() { - } - - public LRCSpecTests(String name) { - super(name); - } - - @Override - protected void parseCandCPP(String code, boolean checkBindings, int expectedProblemBindings) - throws ParserException { - parse(code, ParserLanguage.C, checkBindings, expectedProblemBindings); - parse(code, ParserLanguage.CPP, checkBindings, expectedProblemBindings); - } - - @Override - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean checkBindings, - int expectedProblemBindings) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckSyntaxProblems(true); - options.setCheckPreprocessorProblems(true); - options.setCheckBindings(checkBindings); - options.setExpectedProblemBindings(expectedProblemBindings); - return ParseHelper.parse(code, language, options); - } - - @Override - protected IASTTranslationUnit parse(String code, ParserLanguage lang, String[] problems) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options(); - options.setProblems(problems); - options.setCheckSyntaxProblems(true); - options.setCheckPreprocessorProblems(true); - return ParseHelper.parse(code, language, options); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - - @Override // example code needs to be nested in a function body - public void test5_1_2_3s15() throws Exception { - String code = "//#include \n" + "int foo() { \n" + "int sum;\n" + "char *p;\n" - + "sum = sum * 10 - '0' + (*p++ = getchar());\n" - + "sum = (((sum * 10) - '0') + ((*(p++)) = (getchar())));\n" + "} \n"; - - parseCandCPP(code, false, 0); - } - - // @Override - // public void test6_7_2_1s17() throws Exception { // what the heck is offsetof - // try { - // super.test6_7_2_1s17(); - // fail(); - // } catch(AssertionFailedError _) { } - // } - - public void testBug276360() throws Exception { - String code = "int foo(int*[]) {} "; - - parseCandCPP(code, false, 0); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCommentTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCommentTests.java deleted file mode 100644 index c630db78383..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCommentTests.java +++ /dev/null @@ -1,77 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTComment; -import org.eclipse.cdt.core.dom.ast.IASTFileLocation; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.CommentTests; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.TestSuite; - -@SuppressWarnings("restriction") -public class LRCommentTests extends CommentTests { - - public static TestSuite suite() { - return suite(LRCommentTests.class); - } - - @Override - @SuppressWarnings("unused") - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions, - boolean expectNoProblems) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - return ParseHelper.parse(code, language, expectNoProblems); - } - - @Override - @SuppressWarnings("unused") - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions, - boolean expectNoProblems, int limitTrivialInitializers) throws ParserException { - - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckSyntaxProblems(expectNoProblems); - options.setCheckPreprocessorProblems(expectNoProblems); - options.setLimitTrivialInitializers(limitTrivialInitializers); - return ParseHelper.commentParse(code, language); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - - @SuppressWarnings("nls") - public void testBug191266() throws Exception { - String code = "#define MACRO 1000000000000 \n" + "int x = MACRO; \n" + "//comment\n"; - - IASTTranslationUnit tu = parse(code, ParserLanguage.C, false, false, 0); - - IASTComment[] comments = tu.getComments(); - assertEquals(1, comments.length); - - IASTFileLocation location = comments[0].getFileLocation(); - assertEquals(code.indexOf("//"), location.getNodeOffset()); - assertEquals("//comment".length(), location.getNodeLength()); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompleteParser2Tests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompleteParser2Tests.java deleted file mode 100644 index fed07103fda..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompleteParser2Tests.java +++ /dev/null @@ -1,154 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.CompleteParser2Tests; - -import junit.framework.AssertionFailedError; -import junit.framework.TestSuite; - -public class LRCompleteParser2Tests extends CompleteParser2Tests { - - public static TestSuite suite() { - return suite(LRCompleteParser2Tests.class); - } - - public LRCompleteParser2Tests() { - } - - public LRCompleteParser2Tests(String name) { - super(name); - } - - @Override - @SuppressWarnings("unused") - protected IASTTranslationUnit parse(String code, boolean expectedToPass, ParserLanguage lang, boolean gcc) - throws Exception { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - return ParseHelper.parse(code, language, expectedToPass); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - - // Tests that are failing at this point - - // @Override - // public void testBug39676_tough() { // is this C99? - // try { - // super.testBug39676_tough(); - // } catch(AssertionFailedError expectedException) { - // return; - // } catch(Exception expectedException) { - // return; - // } - // fail(); - // } - - // public void testPredefinedSymbol_bug70928_infinite_loop_test1() throws Exception { // gcc extension - // try { - // super.testPredefinedSymbol_bug70928_infinite_loop_test1(); - // fail(); - // } catch(AssertionError expectedException) { } - // } - // - // public void testPredefinedSymbol_bug70928_infinite_loop_test2() throws Exception { // gcc extension - // try { - // super.testPredefinedSymbol_bug70928_infinite_loop_test2(); - // fail(); - // } catch(AssertionError expectedException) { } - // } - - // @Override - // public void testBug102376() throws Exception { // gcc extension - // try { - // super.testBug102376(); - // fail(); - // } catch(AssertionFailedError expectedException) { } - // } - - // @Override - // public void test158192_declspec_in_declarator() throws Exception { - // try { - // super.test158192_declspec_in_declarator(); - // fail(); - // } catch(AssertionFailedError expectedException) { } - // } - // - // @Override - // public void test158192_declspec_on_class() throws Exception { - // try { - // super.test158192_declspec_on_class(); - // fail(); - // } catch(AssertionFailedError expectedException) { } - // } - // - // @Override - // public void test158192_declspec_on_variable() throws Exception { - // try { - // super.test158192_declspec_on_variable(); - // fail(); - // } catch(AssertionFailedError expectedException) { } - // } - // - // @Override - // public void testPredefinedSymbol_bug70928() throws Exception { - // try { - // super.testPredefinedSymbol_bug70928(); - // fail(); - // } catch(AssertionFailedError expectedException) { } - // } - - @Override - public void testBug64010() throws Exception { // 10000 else-ifs, busts LPG's stack - try { - //super.testBug64010(); - //fail(); - } catch (AssertionFailedError expectedException) { - } - } - - // - // @Override - // public void testGNUASMExtension() throws Exception { - // try { - // super.testGNUASMExtension(); - // fail(); - // } catch(AssertionFailedError expectedException) { - // } catch(AssertionError expectedException) { - // } - // } - // - // @Override - // public void testBug39551B() throws Exception { - // try { - // super.testBug39551B(); - // fail(); - // } catch(AssertionFailedError expectedException) { } - // } - // - // - // - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionBasicTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionBasicTest.java deleted file mode 100644 index c1d6bb988c2..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionBasicTest.java +++ /dev/null @@ -1,126 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IBinding; -import org.eclipse.cdt.core.dom.ast.IFunction; -import org.eclipse.cdt.core.dom.ast.ITypedef; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.prefix.BasicCompletionTest; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.TestSuite; - -@SuppressWarnings({ "restriction", "nls" }) -public class LRCompletionBasicTest extends BasicCompletionTest { - - public static TestSuite suite() { - return new TestSuite(LRCompletionBasicTest.class); - } - - public LRCompletionBasicTest() { - } - - //override the test failed case for 340664 - @Override - public void testCompletionInSizeof340664() throws Exception { - } - - //override some failed test cases - @Override - public void testBug279931() throws Exception { - } - - @Override - public void testBug279931a() throws Exception { - } - - @Override - public void testQualifiedMemberAccess_Bug300139() throws Exception { - } - - @Override - public void testCastExpression_Bug301933() throws Exception { - } - - @Override - public void testConditionalOperator_Bug308611() throws Exception { - } - - @Override - public void testCompletionInDesignatedInitializor_353281a() throws Exception { - } - - @Override - @SuppressWarnings("unused") - protected IASTCompletionNode getCompletionNode(String code, ParserLanguage lang, boolean useGNUExtensions) - throws ParserException { - - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - return ParseHelper.getCompletionNode(code, language); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - - @Override - public void testFunction() throws Exception { - String code = "void func(int x) { }" + "void func2() { fu"; - - // C++ - IASTCompletionNode node = getGPPCompletionNode(code); - IBinding[] bindings = LRCompletionParseTest.getBindings(node.getNames()); - - assertEquals(2, bindings.length); - assertEquals("func", ((IFunction) bindings[0]).getName()); - assertEquals("func2", ((IFunction) bindings[1]).getName()); - - // C - node = getGCCCompletionNode(code); - bindings = LRCompletionParseTest.getBindings(node.getNames()); - - assertEquals(2, bindings.length); - assertEquals("func", ((IFunction) bindings[0]).getName()); - assertEquals("func2", ((IFunction) bindings[1]).getName()); - } - - @Override - public void testTypedef() throws Exception { - String code = "typedef int blah;" + "bl"; - - // C++ - IASTCompletionNode node = getGPPCompletionNode(code); - IBinding[] bindings = LRCompletionParseTest.getBindings(node.getNames()); - - assertEquals(1, bindings.length); - assertEquals("blah", ((ITypedef) bindings[0]).getName()); - - // C - node = getGCCCompletionNode(code); - bindings = LRCompletionParseTest.getBindings(node.getNames()); - - assertEquals(1, bindings.length); - assertEquals("blah", ((ITypedef) bindings[0]).getName()); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionHangingTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionHangingTest.java deleted file mode 100644 index 4a627c56d86..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionHangingTest.java +++ /dev/null @@ -1,102 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.core.lrparser.tests; - -import junit.framework.TestSuite; - -public class LRCompletionHangingTest extends AbstractLRHangingTest { - - public static TestSuite suite() { - return new TestSuite(LRCompletionHangingTest.class); - } - - //test c - public void testCompletionDoWhileForC() throws Exception { - - String code = "int main(int argc, char **argv) {" + "do{" + CONTENT_ASIST_CURSOR + "} while (i < 3);" + "}"; - - runTestCase(code, getCLanguage()); - - } - - //test cpp - public void testCompletionDoWhileForCPP() throws Exception { - - String code = "int main(int argc, char **argv) {" + "do{" + CONTENT_ASIST_CURSOR + "} while (i < 3);" + "}"; - runTestCase(code, getCPPLanguage()); - } - - public void testCompletionTryCatch() throws Exception { - - String code = "int main(int argc, char **argv) {" + "try {" + CONTENT_ASIST_CURSOR + "}" + - - "catch(x){}" + "}"; - runTestCase(code, getCPPLanguage()); - - } - - public void testCompletionTemplateFunctionForCPP() throws Exception { - - String code = "template " + CONTENT_ASIST_CURSOR + "" + "myType GetA (myType a) {" + "return a;" - + "}" + - - "int main(int argc, char **argv) {" + "int x=0;" + "int y = GetA " + CONTENT_ASIST_CURSOR - + " (x);" + "}"; - runTestCase(code, getCPPLanguage()); - } - - public void testCompletionIfForCPP() throws Exception { - String code = "int main(int argc, char **argv) {" + "int x=0;" + "if" + CONTENT_ASIST_CURSOR + "(x>0){}" + "}"; - runTestCase(code, getCPPLanguage()); - - } - - public void testCompletionTemplateClassForCPP() throws Exception { - - String code = "template" + CONTENT_ASIST_CURSOR + " " + "class Test {" + "T val;" - + "public:Test(T arg){" + "val = arg;" + "}" + "~" + CONTENT_ASIST_CURSOR + "Test();" + "};" + "Test::" - + CONTENT_ASIST_CURSOR + "~" + CONTENT_ASIST_CURSOR + "Test(){}" + "int main(int argc, char **argv) {" - + CONTENT_ASIST_CURSOR + "Test<" + CONTENT_ASIST_CURSOR + "int> t(1);" + "Test<" + CONTENT_ASIST_CURSOR - + "double>" + CONTENT_ASIST_CURSOR + "* dt = new dt(1.0);" + "S* s = dynamic_cast(dt);" + "S* s = dynamic_cast" + CONTENT_ASIST_CURSOR + "(dt);" + "}"; - runTestCase(code, getCPPLanguage()); - } - - public void testCompletionSimpleIfForCPP() throws Exception { - String code = "#" + CONTENT_ASIST_CURSOR + "include " + CONTENT_ASIST_CURSOR + "" + "using " - + CONTENT_ASIST_CURSOR + "namespace std;" + "if" + CONTENT_ASIST_CURSOR + "(i>0)){}" + "int " - + CONTENT_ASIST_CURSOR + "*" + CONTENT_ASIST_CURSOR + " i " + CONTENT_ASIST_CURSOR + "=" - + CONTENT_ASIST_CURSOR + " &" + CONTENT_ASIST_CURSOR + "j;" + "*" + CONTENT_ASIST_CURSOR + "j=0;" + "*" - + CONTENT_ASIST_CURSOR + "j++;" + "*i" + CONTENT_ASIST_CURSOR + "++ = " + CONTENT_ASIST_CURSOR - + "*j++;"; - runTestCase(code, getCPPLanguage()); - - } - - public void testCompletionStructForCPP() throws Exception { - String code = "struct " + CONTENT_ASIST_CURSOR + "p " + CONTENT_ASIST_CURSOR + "{" + CONTENT_ASIST_CURSOR - + "int w;" + "float p;" + "} " + CONTENT_ASIST_CURSOR + "a," + CONTENT_ASIST_CURSOR + "b,c;"; - - runTestCase(code, getCPPLanguage()); - - } - - public void testCompletionGnuCPP() throws Exception { - String code = "if a>b ? " + CONTENT_ASIST_CURSOR + "g" + CONTENT_ASIST_CURSOR + ":l;" + "case 1..." - + CONTENT_ASIST_CURSOR + "3 : ok; "; - runTestCase(code, getCPPLanguage()); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionParseTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionParseTest.java deleted file mode 100644 index 30252214fab..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionParseTest.java +++ /dev/null @@ -1,347 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; - -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.ast.IBinding; -import org.eclipse.cdt.core.dom.ast.IEnumerator; -import org.eclipse.cdt.core.dom.ast.IField; -import org.eclipse.cdt.core.dom.ast.ITypedef; -import org.eclipse.cdt.core.dom.ast.IVariable; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestCase; -import junit.framework.TestSuite; - -/** - * Reuse the completion parse tests from the old parser for now. - */ -@SuppressWarnings("nls") -public class LRCompletionParseTest extends TestCase { - - public static TestSuite suite() { - return new TestSuite(LRCompletionParseTest.class); - } - - public LRCompletionParseTest() { - } - - public LRCompletionParseTest(String name) { - super(name); - } - - protected IASTCompletionNode parse(String code, int offset) throws Exception { - return ParseHelper.getCompletionNode(code, getCLanguage(), offset); - } - - private static final Comparator BINDING_COMPARATOR = new Comparator() { - @Override - public int compare(IBinding b1, IBinding b2) { - return b1.getName().compareTo(b2.getName()); - } - }; - - public static IBinding[] getBindings(IASTName[] names) { - List bindings = new ArrayList<>(); - - for (IASTName name : names) { - if (name.getTranslationUnit() == null) - continue; - - for (IBinding binding : name.getCompletionContext().findBindings(name, true)) { - bindings.add(binding); - } - } - - Collections.sort(bindings, BINDING_COMPARATOR); - return bindings.toArray(new IBinding[bindings.size()]); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - // First steal tests from CompletionParseTest - - public void testCompletionStructField() throws Exception { - String code = "int aVar; " + "struct D{ " + " int aField1; " + " int aField2; " + "}; " + "void foo() {" - + " struct D d; " + " d.a " + "}\n"; - - int index = code.indexOf("d.a"); - - IASTCompletionNode node = parse(code, index + 3); - assertNotNull(node); - - String prefix = node.getPrefix(); - assertNotNull(prefix); - assertEquals(prefix, "a"); - - IASTName[] names = node.getNames(); - assertEquals(1, names.length); - - IBinding[] bindings = getBindings(names); - - assertEquals(2, bindings.length); - assertEquals("aField1", ((IField) bindings[0]).getName()); - assertEquals("aField2", ((IField) bindings[1]).getName()); - } - - public void testCompletionStructFieldPointer() throws Exception { - String code = "struct Cube { " + " int nLen; " - + " int nWidth; " + " int nHeight; " - + "}; " + "int volume(struct Cube * pCube) { " - + " pCube->SP "; - - IASTCompletionNode node = parse(code, code.indexOf("SP")); - - IASTName[] names = node.getNames(); - assertEquals(1, names.length); - - IBinding[] bindings = getBindings(names); - - assertEquals(3, bindings.length); - assertEquals("nHeight", ((IField) bindings[0]).getName()); - assertEquals("nLen", ((IField) bindings[1]).getName()); - assertEquals("nWidth", ((IField) bindings[2]).getName()); - } - - public void testCompletionParametersAsLocalVariables() throws Exception { - String code = "int foo(int aParameter) {" + " int aLocal;" + " if (aLocal != 0) {" - + " int aBlockLocal;" + " a \n"; - - int index = code.indexOf(" a "); - - IASTCompletionNode node = parse(code, index + 2); - assertNotNull(node); - - assertEquals("a", node.getPrefix()); //$NON-NLS-1$ - - IASTName[] names = node.getNames(); - assertEquals(2, names.length); - - IBinding[] bindings = getBindings(names); - - assertEquals(3, bindings.length); - assertEquals("aBlockLocal", ((IVariable) bindings[0]).getName()); - assertEquals("aLocal", ((IVariable) bindings[1]).getName()); - assertEquals("aParameter", ((IVariable) bindings[2]).getName()); - } - - public void testCompletionTypedef() throws Exception { - String code = "typedef int Int; " + "InSP"; - - int index = code.indexOf("SP"); - - IASTCompletionNode node = parse(code, index); - assertNotNull(node); - - IASTName[] names = node.getNames(); - assertEquals(1, names.length); - - assertEquals("In", node.getPrefix()); - - IBinding[] bindings = getBindings(names); - - assertEquals(1, bindings.length); - assertEquals("Int", ((ITypedef) bindings[0]).getName()); - } - - public void testCompletion() throws Exception { - String code = "#define GL_T 0x2001\n" + "#define GL_TRUE 0x1\n" + "typedef unsigned char GLboolean;\n" - + "static GLboolean should_rotate = GL_T"; - - int index = code.indexOf("= GL_T"); - - IASTCompletionNode node = parse(code, index + 6); - assertNotNull(node); - - assertEquals("GL_T", node.getPrefix()); //$NON-NLS-1$ - - IASTName[] names = node.getNames(); - assertEquals(1, names.length); - } - - public void testCompletionInTypeDef() throws Exception { - String code = "struct A { int name; }; \n" + "typedef struct A * PA; \n" - + "int main() { \n" + " PA a; \n" + " a->SP \n" - + "} \n"; - - int index = code.indexOf("SP"); //$NON-NLS-1$ - - IASTCompletionNode node = parse(code, index); - assertNotNull(node); - - IASTName[] names = node.getNames(); - assertEquals(1, names.length); - - IBinding[] bindings = getBindings(names); - - assertEquals(1, bindings.length); - assertEquals("name", ((IField) bindings[0]).getName()); - } - - public void _testCompletionFunctionCall() throws Exception { - String code = "struct A { \n" + " int f2; \n" + " int f4; \n" - + "}; \n" + "const A * foo() {} \n" + "void main() \n" - + "{ \n" + " foo()->SP \n"; - - int index = code.indexOf("SP"); - - IASTCompletionNode node = parse(code, index); - assertNotNull(node); - - IASTName[] names = node.getNames(); - assertEquals(1, names.length); - - IBinding[] bindings = getBindings(names); - - assertEquals(2, bindings.length); - assertEquals("f2", ((IField) bindings[0]).getName()); - assertEquals("f4", ((IField) bindings[1]).getName()); - } - - public void _testCompletionSizeof() throws Exception { - String code = "int f() {\n" + "short blah;\n" + "int x = sizeof(bl"; - - int index = code.indexOf("of(bl"); - - IASTCompletionNode node = parse(code, index + 5); - assertNotNull(node); - - IASTName[] names = node.getNames(); - assertEquals(1, names.length); - - IBinding[] bindings = getBindings(names); - - assertEquals(1, bindings.length); - assertEquals("blah", ((IVariable) bindings[0]).getName()); - } - - public void testCompletionForLoop() throws Exception { - String code = "int f() {\n" + " int biSizeImage = 5;\n" + "for (int i = 0; i < bi "; - - int index = code.indexOf("< bi"); - - IASTCompletionNode node = parse(code, index + 4); - assertNotNull(node); - - IASTName[] names = node.getNames(); - assertEquals(1, names.length); - - IBinding[] bindings = getBindings(names); - - assertEquals(1, bindings.length); - assertEquals("biSizeImage", ((IVariable) bindings[0]).getName()); - } - - public void testCompletionStructPointer() throws Exception { - String code = " struct Temp { char * total; };" + " int f(struct Temp * t) {" + " t->t[5] = t->"; - - int index = code.indexOf("= t->"); - - IASTCompletionNode node = parse(code, index + 5); - assertNotNull(node); - - IASTName[] names = node.getNames(); - assertEquals(1, names.length); - - IBinding[] bindings = getBindings(names); - - assertEquals(1, bindings.length); - assertEquals("total", ((IVariable) bindings[0]).getName()); - } - - public void testCompletionEnum() throws Exception { - String code = "typedef int DWORD;\n" + "typedef char BYTE;\n" - + "#define MAKEFOURCC(ch0, ch1, ch2, ch3) \\\n" - + "((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \\\n" - + "((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24))\n" + "enum e {\n" + "blah1 = 5,\n" - + "blah2 = MAKEFOURCC('a', 'b', 'c', 'd'),\n" + "blah3\n" + "};\n" + "e mye = bl\n"; - - int index = code.indexOf("= bl"); - - IASTCompletionNode node = parse(code, index + 4); - assertNotNull(node); - - IASTName[] names = node.getNames(); - assertEquals(1, names.length); - - IBinding[] bindings = getBindings(names); - - assertEquals(3, bindings.length); - assertEquals("blah1", ((IEnumerator) bindings[0]).getName()); - assertEquals("blah2", ((IEnumerator) bindings[1]).getName()); - assertEquals("blah3", ((IEnumerator) bindings[2]).getName()); - } - - public void testCompletionStructArray() throws Exception { - String code = "struct packet { int a; int b; };\n" + "struct packet buffer[5];\n" - + "int main(int argc, char **argv) {\n" + " buffer[2]."; - - int index = code.indexOf("[2]."); - - IASTCompletionNode node = parse(code, index + 4); - assertNotNull(node); - - IASTName[] names = node.getNames(); - assertEquals(1, names.length); - - IBinding[] bindings = getBindings(names); - - assertEquals(2, bindings.length); - assertEquals("a", ((IField) bindings[0]).getName()); - assertEquals("b", ((IField) bindings[1]).getName()); - } - - public void testCompletionPreprocessorDirective() throws Exception { - IASTCompletionNode node = parse("#", 1); - assertNotNull(node); - - IASTName[] names = node.getNames(); - assertEquals(1, names.length); - - //assertEquals("#", node.getPrefix()); - } - - public void testCompletionPreprocessorMacro() throws Exception { - String code = "#define AMACRO 99 \n" + "int main() { \n" + " int AVAR; \n" + " int x = A \n"; - - int index = code.indexOf("= A"); - - IASTCompletionNode node = parse(code, index + 3); - assertNotNull(node); - - IASTName[] names = node.getNames(); - assertEquals(1, names.length); - assertEquals("A", node.getPrefix()); - } - - public void testCompletionInsidePreprocessorDirective() throws Exception { - String code = "#define MAC1 99 \n" + "#define MAC2 99 \n" + "#ifdef MA"; - - int index = code.length(); - - IASTCompletionNode node = parse(code, index); - assertNotNull(node); - - assertEquals("MA", node.getPrefix()); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationMacroTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationMacroTests.java deleted file mode 100644 index 5e410e8f3f2..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationMacroTests.java +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.DOMLocationMacroTests; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.TestSuite; - -@SuppressWarnings("restriction") -public class LRDOMLocationMacroTests extends DOMLocationMacroTests { - - public static TestSuite suite() { - return suite(LRDOMLocationMacroTests.class); - } - - public LRDOMLocationMacroTests() { - } - - public LRDOMLocationMacroTests(String name) { - super(name); - } - - @Override - @SuppressWarnings("unused") - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions, - boolean expectNoProblems) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options().setCheckSyntaxProblems(expectNoProblems) - .setCheckPreprocessorProblems(expectNoProblems); - return ParseHelper.parse(code, language, options); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - - /** - * Tests GCC specific stuff, not applicable at this point - */ - - // @Override - // public void testStdioBug() throws ParserException { - // try { - // super.testStdioBug(); - // fail(); - // } - // catch(Throwable e) { } - // } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationTests.java deleted file mode 100644 index 6cf11abcbf8..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMLocationTests.java +++ /dev/null @@ -1,103 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.DOMLocationTests; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.AssertionFailedError; -import junit.framework.TestSuite; - -@SuppressWarnings("restriction") -public class LRDOMLocationTests extends DOMLocationTests { - - public static TestSuite suite() { - return suite(LRDOMLocationTests.class); - } - - public LRDOMLocationTests() { - } - - public LRDOMLocationTests(String name) { - super(name); - } - - //TODO ??? overwrite some failed test cases - @Override - public void test162180_3() throws Exception { - } - - @Override - @SuppressWarnings("unused") - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions, - boolean expectNoProblems) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options().setCheckSyntaxProblems(expectNoProblems) - .setCheckPreprocessorProblems(expectNoProblems); - return ParseHelper.parse(code, language, options); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - - // this one fails because the C99 parser does error recovery differently - @Override - public void test162180_1() throws Exception { - try { - super.test162180_1(); - fail(); - } catch (AssertionFailedError e) { - } - - } - // - // @Override - // public void test162180_3() throws Exception { - // try { - // super.test162180_3(); - // fail(); - // } - // catch(AssertionFailedError e) {} - // } - // - // @Override - // public void testBug86698_2() throws Exception { // I don't think C++ supports nested functions - // try { - // super.testBug86698_2(); - // fail(); - // } - // catch(AssertionFailedError e) {} - // } - // - // - // @Override - // public void testBug120607() throws Exception { // #assert and #unassert are gcc extensions - // try { - // super.testBug120607(); - // fail(); - // } - // catch(AssertionFailedError e) {} - // } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMPreprocessorInformationTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMPreprocessorInformationTest.java deleted file mode 100644 index 29bf24ef98f..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDOMPreprocessorInformationTest.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.DOMPreprocessorInformationTest; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.TestSuite; - -@SuppressWarnings("restriction") -public class LRDOMPreprocessorInformationTest extends DOMPreprocessorInformationTest { - - public static TestSuite suite() { - return suite(LRDOMPreprocessorInformationTest.class); - } - - @Override - @SuppressWarnings("unused") - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions, - boolean expectNoProblems) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options().setCheckSyntaxProblems(expectNoProblems) - .setCheckPreprocessorProblems(expectNoProblems); - return ParseHelper.parse(code, language, options); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDigraphTrigraphTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDigraphTrigraphTests.java deleted file mode 100644 index 95628e3b9c4..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRDigraphTrigraphTests.java +++ /dev/null @@ -1,174 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTArrayDeclarator; -import org.eclipse.cdt.core.dom.ast.IASTArrayModifier; -import org.eclipse.cdt.core.dom.ast.IASTArraySubscriptExpression; -import org.eclipse.cdt.core.dom.ast.IASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.IASTCompoundStatement; -import org.eclipse.cdt.core.dom.ast.IASTDeclarationStatement; -import org.eclipse.cdt.core.dom.ast.IASTDeclarator; -import org.eclipse.cdt.core.dom.ast.IASTEqualsInitializer; -import org.eclipse.cdt.core.dom.ast.IASTExpressionStatement; -import org.eclipse.cdt.core.dom.ast.IASTFunctionCallExpression; -import org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition; -import org.eclipse.cdt.core.dom.ast.IASTInitializerClause; -import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroDefinition; -import org.eclipse.cdt.core.dom.ast.IASTPreprocessorStatement; -import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTStatement; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestCase; -import junit.framework.TestSuite; - -/** - * TODO these tests can be moved into the core - */ -@SuppressWarnings("nls") -public class LRDigraphTrigraphTests extends TestCase { - - public static TestSuite suite() { - return new TestSuite(LRDigraphTrigraphTests.class); - } - - public LRDigraphTrigraphTests() { - } - - public LRDigraphTrigraphTests(String name) { - super(name); - } - - protected IASTTranslationUnit parse(String code) { - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckSyntaxProblems(true); - options.setCheckPreprocessorProblems(true); - return ParseHelper.parse(code, getCLanguage(), options); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - public void testTrigraphSequences() { - String code = "??=define SIZE ??/ \n" + // trigraph used as backslash to ignore newline - "99 \n" + "int main(void)??< \n" + " int arr??(SIZE??); \n" - + " arr??(4??) = '0' - (??-0 ??' 1 ??! 2); \n" + " printf(\"%c??/n\", arr??(4??)); \n" - + "??> \n"; - - IASTTranslationUnit tu = parse(code); - assertNotNull(tu); - - IASTPreprocessorStatement[] defines = tu.getAllPreprocessorStatements(); - assertEquals(1, defines.length); - IASTPreprocessorMacroDefinition macro = (IASTPreprocessorMacroDefinition) defines[0]; - assertEquals("SIZE", macro.getName().toString()); - //assertEquals("99", macro.getExpansion()); - - IASTFunctionDefinition main = (IASTFunctionDefinition) tu.getDeclarations()[0]; - IASTCompoundStatement body = (IASTCompoundStatement) main.getBody(); - IASTStatement[] statements = body.getStatements(); - assertEquals(3, statements.length); - - // int arr??(SIZE??); - IASTSimpleDeclaration arr = (IASTSimpleDeclaration) ((IASTDeclarationStatement) statements[0]).getDeclaration(); - IASTArrayDeclarator arr_decl = (IASTArrayDeclarator) arr.getDeclarators()[0]; - IASTArrayModifier modifier = arr_decl.getArrayModifiers()[0]; - IASTLiteralExpression lit = (IASTLiteralExpression) modifier.getConstantExpression(); - assertEquals(IASTLiteralExpression.lk_integer_constant, lit.getKind()); - - // arr??(4??) = '0' - (??-0 ??' 1 ??! 2); - IASTBinaryExpression expr = (IASTBinaryExpression) ((IASTExpressionStatement) statements[1]).getExpression(); - assertEquals(IASTBinaryExpression.op_assign, expr.getOperator()); - IASTArraySubscriptExpression arr_op = (IASTArraySubscriptExpression) expr.getOperand1(); - assertEquals("4", ((IASTLiteralExpression) arr_op.getSubscriptExpression()).toString()); - IASTBinaryExpression cond = (IASTBinaryExpression) ((IASTUnaryExpression) ((IASTBinaryExpression) expr - .getOperand2()).getOperand2()).getOperand(); - assertEquals(IASTBinaryExpression.op_binaryOr, cond.getOperator()); - IASTBinaryExpression cond2 = (IASTBinaryExpression) cond.getOperand1(); - assertEquals(IASTBinaryExpression.op_binaryXor, cond2.getOperator()); - IASTUnaryExpression not = (IASTUnaryExpression) cond2.getOperand1(); - assertEquals(IASTUnaryExpression.op_tilde, not.getOperator()); - - // printf(\"%c??/n\", arr??(4??)); - IASTFunctionCallExpression expr2 = (IASTFunctionCallExpression) ((IASTExpressionStatement) statements[2]) - .getExpression(); - IASTInitializerClause[] args = expr2.getArguments(); - IASTArraySubscriptExpression arr_op2 = (IASTArraySubscriptExpression) args[1]; - assertEquals("4", ((IASTLiteralExpression) arr_op2.getSubscriptExpression()).toString()); - } - - public void testTrigraphEscapeSequences() { - // a ??/ trigraph should act just like a backslash in a string literal - String code = "int main(void)??< \n" + " char str[] = \"??/\"??/n\"; \n" + " char c = '??/u0000'; \n" - + "??> \n"; - - parse(code); // will throw an exception if there are parse errors - } - - public void testDigraphSequences() { - String code = "%:define join(a, b) a %:%: b \n" + "int main() <% \n" + " int arr<:5:>; \n" + "%> \n"; - - IASTTranslationUnit tu = parse(code); // will throw an exception if there are parse errors - - IASTFunctionDefinition main = (IASTFunctionDefinition) tu.getDeclarations()[0]; - IASTCompoundStatement body = (IASTCompoundStatement) main.getBody(); - IASTStatement[] statements = body.getStatements(); - assertEquals(1, statements.length); - - IASTSimpleDeclaration arr = (IASTSimpleDeclaration) ((IASTDeclarationStatement) statements[0]).getDeclaration(); - IASTArrayDeclarator arr_decl = (IASTArrayDeclarator) arr.getDeclarators()[0]; - IASTArrayModifier modifier = arr_decl.getArrayModifiers()[0]; - IASTLiteralExpression lit = (IASTLiteralExpression) modifier.getConstantExpression(); - assertEquals("5", lit.toString()); - - } - - public void testTrigraphAndDigraphSequecesInPreprocessorDirectives() { - String code = "%:define join1(a, b) a %:%: b \n" + "%:define str1(a) %: a \n" - + "??=define join2(a, b) a ??=??= b \n" + "??=define str2(a) ??= a \n" + "int main() <% \n" - + " int join1(x, y) = str1(its all good); \n" + " int join2(a, b) = str2(its still good); \n" - + "%> \n"; - - IASTTranslationUnit tu = parse(code); // will throw an exception if there are parse errors - - IASTFunctionDefinition main = (IASTFunctionDefinition) tu.getDeclarations()[0]; - IASTCompoundStatement body = (IASTCompoundStatement) main.getBody(); - IASTStatement[] statements = body.getStatements(); - assertEquals(2, statements.length); - - IASTSimpleDeclaration decl1 = (IASTSimpleDeclaration) ((IASTDeclarationStatement) statements[0]) - .getDeclaration(); - IASTDeclarator declarator1 = decl1.getDeclarators()[0]; - assertEquals("xy", declarator1.getName().toString()); - IASTLiteralExpression expr1 = (IASTLiteralExpression) ((IASTEqualsInitializer) declarator1.getInitializer()) - .getInitializerClause(); - assertEquals(IASTLiteralExpression.lk_string_literal, expr1.getKind()); - assertEquals("\"its all good\"", expr1.toString()); - - IASTSimpleDeclaration decl2 = (IASTSimpleDeclaration) ((IASTDeclarationStatement) statements[1]) - .getDeclaration(); - IASTDeclarator declarator2 = decl2.getDeclarators()[0]; - assertEquals("ab", declarator2.getName().toString()); - IASTLiteralExpression expr2 = (IASTLiteralExpression) ((IASTEqualsInitializer) declarator2.getInitializer()) - .getInitializerClause(); - assertEquals(IASTLiteralExpression.lk_string_literal, expr2.getKind()); - assertEquals("\"its still good\"", expr2.toString()); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRGCCCompleteParseExtensionsTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRGCCCompleteParseExtensionsTest.java deleted file mode 100644 index d92c5cdbbd1..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRGCCCompleteParseExtensionsTest.java +++ /dev/null @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.GCCCompleteParseExtensionsTest; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.TestSuite; - -@SuppressWarnings("restriction") -public class LRGCCCompleteParseExtensionsTest extends GCCCompleteParseExtensionsTest { - - public static TestSuite suite() { - return suite(LRGCCCompleteParseExtensionsTest.class); - } - - public LRGCCCompleteParseExtensionsTest() { - } - - public LRGCCCompleteParseExtensionsTest(String name) { - super(name); - } - - //override the test failed case for 342683 - @Override - public void testTypeTraits_Bug342683() throws Exception { - } - - @Override - @SuppressWarnings("unused") - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions, - boolean expectNoProblems) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options().setCheckSyntaxProblems(expectNoProblems) - .setCheckPreprocessorProblems(expectNoProblems); - return ParseHelper.parse(code, language, options); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRGCCTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRGCCTests.java deleted file mode 100644 index d6dc8bd452a..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRGCCTests.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.GCCTests; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.TestSuite; - -@SuppressWarnings("restriction") -public class LRGCCTests extends GCCTests { - - public static TestSuite suite() { - return suite(LRGCCTests.class); - } - - public LRGCCTests() { - } - - public LRGCCTests(String name) { - super(name); - } - - @Override - @SuppressWarnings("unused") - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions, - boolean expectNoProblems) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options().setCheckSyntaxProblems(expectNoProblems) - .setCheckPreprocessorProblems(expectNoProblems); - return ParseHelper.parse(code, language, options); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRImageLocationTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRImageLocationTests.java deleted file mode 100644 index f3403fc94a8..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRImageLocationTests.java +++ /dev/null @@ -1,60 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.ImageLocationTests; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.TestSuite; - -@SuppressWarnings("restriction") -public class LRImageLocationTests extends ImageLocationTests { - - public static TestSuite suite() { - return suite(LRImageLocationTests.class); - } - - public LRImageLocationTests() { - } - - public LRImageLocationTests(String name) { - super(name); - } - - @Override - @SuppressWarnings("unused") - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions, - boolean expectNoProblems, int limitTrivialInitializers) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckSyntaxProblems(expectNoProblems); - options.setCheckPreprocessorProblems(expectNoProblems); - options.setLimitTrivialInitializers(limitTrivialInitializers); - return ParseHelper.parse(code, language, options); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRInactiveCodeTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRInactiveCodeTests.java deleted file mode 100644 index 6c1e3fe338d..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRInactiveCodeTests.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.ASTInactiveCodeTests; - -import junit.framework.TestSuite; - -public class LRInactiveCodeTests extends ASTInactiveCodeTests { - - public static TestSuite suite() { - return suite(LRInactiveCodeTests.class); - } - - public LRInactiveCodeTests() { - } - - public LRInactiveCodeTests(String name) { - super(name); - } - - @Override - protected IASTTranslationUnit parse(String code, ParserLanguage lang, - @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, - int limitTrivialInitializers) { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckSyntaxProblems(expectNoProblems); - options.setCheckPreprocessorProblems(expectNoProblems); - options.setLimitTrivialInitializers(limitTrivialInitializers); - return ParseHelper.parse(code, language, options); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRKnRTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRKnRTests.java deleted file mode 100644 index bcbf84819cf..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRKnRTests.java +++ /dev/null @@ -1,91 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.AST2KnRTests; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.TestSuite; - -/** - * @author Mike Kucera - */ -@SuppressWarnings("restriction") -public class LRKnRTests extends AST2KnRTests { - - public static TestSuite suite() { - return suite(LRKnRTests.class); - } - - @Override - @SuppressWarnings("unused") - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions, - boolean expectNoProblems) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - return ParseHelper.parse(code, language, expectNoProblems); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - - // LPG handles syntax errors differently than the DOM parser - // these tests look for syntax errors in specific places and they fail - - @Override - public void testKRCProblem3() throws Exception { - try { - super.testKRCProblem3(); - fail(); - } catch (Throwable expectedException) { - } - } - - @Override - public void testKRCProblem4() throws Exception { - try { - super.testKRCProblem4(); - fail(); - } catch (Throwable expectedException) { - } - } - - @Override - public void testKRCProblem5() throws Exception { - try { - super.testKRCProblem5(); - fail(); - } catch (Throwable expectedException) { - } - } - - @Override - public void testKRCProblem2() throws Exception { - try { - super.testKRCProblem2(); - fail(); - } catch (Throwable expectedException) { - } - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRNodeSelectorTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRNodeSelectorTest.java deleted file mode 100644 index c4765a56528..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRNodeSelectorTest.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import java.io.IOException; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.ASTNodeSelectorTest; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.TestSuite; - -@SuppressWarnings("restriction") -public class LRNodeSelectorTest extends ASTNodeSelectorTest { - - public static TestSuite suite() { - return suite(LRNodeSelectorTest.class); - } - - public LRNodeSelectorTest() { - } - - public LRNodeSelectorTest(String name) { - super(name); - } - - @Override - protected IASTTranslationUnit parse(String code, ParserLanguage lang, - @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, - int limitTrivialInitializers) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckSyntaxProblems(expectNoProblems); - options.setCheckPreprocessorProblems(expectNoProblems); - options.setLimitTrivialInitializers(limitTrivialInitializers); - return ParseHelper.parse(code, language, options); - } - - @Override - protected void createTranslationUnit() throws IOException { - fCode = getContents(1)[0].toString(); - fTu = ParseHelper.parse(fCode, getCPPLanguage(), false); - fSelector = fTu.getNodeSelector(null); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRQuickParser2Tests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRQuickParser2Tests.java deleted file mode 100644 index 29d803327b0..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRQuickParser2Tests.java +++ /dev/null @@ -1,184 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.QuickParser2Tests; - -public class LRQuickParser2Tests extends QuickParser2Tests { - - public LRQuickParser2Tests() { - } - - public LRQuickParser2Tests(String name) { - super(name); - } - - @Override - protected void parse(String code, boolean expectedToPass, ParserLanguage lang, - @SuppressWarnings("unused") boolean gcc) throws Exception { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - // don't check preprocessor problems for this test suite (causes tons of failures) - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckSyntaxProblems(expectedToPass); - options.setCheckPreprocessorProblems(false); - ParseHelper.parse(code, language, options); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - - @Override - public void testBug36532() { - // ParseHelper does not throw ParserException - // just ignore this test - } - - // @Override - // public void testBug39695() throws Exception { // no support for __alignof__ - // try { - // super.testBug39695(); - // fail(); - // } catch(AssertionFailedError _) { } - // } - // - // @Override - // public void testBug39684() throws Exception { // typeof is gcc extension - // try { - // super.testBug39684(); - // fail(); - // } catch(AssertionFailedError _) { } - // } - // - // @Override - // public void testBug39698A() throws Exception { // gcc extension - // try { - // super.testBug39698A(); - // fail(); - // } catch(AssertionFailedError _) { } - // } - // - // @Override - // public void testBug39698B() throws Exception { // gcc extension - // try { - // super.testBug39698B(); - // fail(); - // } catch(AssertionFailedError _) { } - // } - // - // @Override - // public void testBug39704B() throws Exception { // gcc extension - // try { - // super.testBug39704B(); - // fail(); - // } catch(AssertionFailedError _) { } - // } - // - // @Override - // public void testBug39704C() throws Exception { // gcc extension - // try { - // super.testBug39704C(); - // fail(); - // } catch(AssertionFailedError _) { } - // } - // - // @Override - // public void testBug39677() throws Exception { // gcc extension - // try { - // super.testBug39677(); - // fail(); - // } catch(AssertionFailedError _) { } - // } - // - // - // @Override - // public void testBug57652() throws Exception { // gcc extension - // try { - // super.testBug57652(); - // fail(); - // } catch(AssertionFailedError _) { } - // } - // - // - // @Override - // public void testBug39701A() throws Exception { // gcc extension - // try { - // super.testBug39701A(); - // fail(); - // } catch(AssertionFailedError _) { } - // } - // - // @Override - // public void testBug39701B() throws Exception { // gcc extension - // try { - // super.testBug39701B(); - // fail(); - // } catch(AssertionFailedError _) { } - // } - // - // @Override - // public void testBug39701C() throws Exception { // gcc extension - // try { - // super.testBug39701C(); - // fail(); - // } catch(AssertionFailedError _) { } - // } - // - // - // @Override - // public void testBug40007() throws Exception { // gcc extension - // try { - // super.testBug40007(); - // fail(); - // } catch(AssertionFailedError _) { - // } catch(AssertionError _) { - // } - // - // } - // - // @Override - // public void testBug39703() throws Exception { // gcc extension - // try { - // super.testBug39703(); - // fail(); - // } catch(AssertionFailedError _) { } - // } - // - // - // @Override - // public void testBug39554() throws Exception { // gcc extension - // try { - // super.testBug39554(); - // fail(); - // } catch(AssertionFailedError _) { } - // } - // - // - // @Override - // public void testBug39686() throws Exception { // gcc extension - // try { - // super.testBug39686(); - // fail(); - // } catch(AssertionFailedError _) { } - // } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRSelectionParseTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRSelectionParseTest.java deleted file mode 100644 index b2b49980cd0..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRSelectionParseTest.java +++ /dev/null @@ -1,106 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ICodeReaderFactory; -import org.eclipse.cdt.core.dom.ast.IASTNode; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.CodeReader; -import org.eclipse.cdt.core.parser.IScannerInfo; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.ScannerInfo; -import org.eclipse.cdt.core.parser.tests.ast2.AST2SelectionParseTest; -import org.eclipse.cdt.internal.core.dom.SavedCodeReaderFactory; -import org.eclipse.cdt.internal.core.parser.ParserException; -import org.eclipse.core.resources.IFile; - -import junit.framework.TestSuite; - -@SuppressWarnings("restriction") -public class LRSelectionParseTest extends AST2SelectionParseTest { - - public static TestSuite suite() { - return new TestSuite(LRSelectionParseTest.class); - } - - public LRSelectionParseTest() { - } - - public LRSelectionParseTest(String name) { - super(name); - } - - @Override - protected IASTNode parse(String code, ParserLanguage lang, int offset, int length) throws ParserException { - return parse(code, lang, false, false, offset, length); - } - - @Override - protected IASTNode parse(IFile file, ParserLanguage lang, int offset, int length) throws ParserException { - IASTTranslationUnit tu = parse(file, lang, false, false); - return tu.selectNodeForLocation(tu.getFilePath(), offset, length); - } - - @Override - protected IASTNode parse(String code, ParserLanguage lang, int offset, int length, boolean expectedToPass) - throws ParserException { - return parse(code, lang, false, expectedToPass, offset, length); - } - - @Override - protected IASTNode parse(String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems, - int offset, int length) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckPreprocessorProblems(expectNoProblems); - options.setCheckSyntaxProblems(expectNoProblems); - IASTTranslationUnit tu = ParseHelper.parse(code, language, options); - return tu.selectNodeForLocation(tu.getFilePath(), offset, length); - } - - protected IASTTranslationUnit parse(IFile file, ParserLanguage lang, IScannerInfo scanInfo, - boolean useGNUExtensions, boolean expectNoProblems) { - - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - - String fileName = file.getLocation().toOSString(); - ICodeReaderFactory fileCreator = SavedCodeReaderFactory.getInstance(); - CodeReader reader = fileCreator.createCodeReaderForTranslationUnit(fileName); - - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckPreprocessorProblems(expectNoProblems); - options.setCheckSyntaxProblems(expectNoProblems); - options.setCheckBindings(true); - - return ParseHelper.parse(reader, language, scanInfo, fileCreator, options); - } - - @Override - protected IASTTranslationUnit parse(IFile file, ParserLanguage lang, boolean useGNUExtensions, - boolean expectNoProblems) throws ParserException { - return parse(file, lang, new ScannerInfo(), useGNUExtensions, expectNoProblems); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRSemanticsTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRSemanticsTests.java deleted file mode 100644 index 24d0c715304..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRSemanticsTests.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.SemanticsTests; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.TestSuite; - -@SuppressWarnings("restriction") -public class LRSemanticsTests extends SemanticsTests { - - public static TestSuite suite() { - return suite(LRSemanticsTests.class); - } - - public LRSemanticsTests() { - } - - public LRSemanticsTests(String name) { - super(name); - } - - @SuppressWarnings("unused") - @Override - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions, - boolean expectNoProblems, int limitTrivialInitializers) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckSyntaxProblems(expectNoProblems); - options.setCheckPreprocessorProblems(expectNoProblems); - options.setLimitTrivialInitializers(limitTrivialInitializers); - return ParseHelper.parse(code, language, options); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTaskParserTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTaskParserTest.java deleted file mode 100644 index eff62df073a..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTaskParserTest.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.TaskParserTest; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.TestSuite; - -@SuppressWarnings("restriction") -public class LRTaskParserTest extends TaskParserTest { - - public static TestSuite suite() { - return new TestSuite(LRTaskParserTest.class); - } - - @Override - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions, - boolean expectNoProblems) throws ParserException { - return parse(code, lang, useGNUExtensions, expectNoProblems, -1); - } - - @Override - protected IASTTranslationUnit parse(String code, ParserLanguage lang, - @SuppressWarnings("unused") boolean useGNUExtensions, boolean expectNoProblems, - int limitTrivialInitializers) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckSyntaxProblems(expectNoProblems); - options.setCheckPreprocessorProblems(expectNoProblems); - options.setLimitTrivialInitializers(limitTrivialInitializers); - return ParseHelper.parse(code, language, options); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTemplateTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTemplateTests.java deleted file mode 100644 index 3a4bdb7ae8e..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTemplateTests.java +++ /dev/null @@ -1,212 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.AST2TemplateTests; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.TestSuite; - -@SuppressWarnings("restriction") -public class LRTemplateTests extends AST2TemplateTests { - - public static TestSuite suite() { - return suite(LRTemplateTests.class); - } - - //override the test failed cases of 341747 - @Override - public void testTemplateIDAmbiguity_341747a() throws Exception { - } - - @Override - public void testTemplateIDAmbiguity_341747b() throws Exception { - } - - @Override - public void testTemplateIDAmbiguity_341747c() throws Exception { - } - - @Override - public void testTemplateIDAmbiguity_341747d() throws Exception { - } - - //override some failed test cases - @Override - public void testNestedArguments_246079() throws Throwable { - } - - @Override - public void testTypeVsExpressionInArgsOfDependentTemplateID_257194() throws Exception { - } - - @Override - public void testCtorWithTemplateID_259600() throws Exception { - } - - @Override - public void testClosingAngleBrackets1_261268() throws Exception { - } - - @Override - public void testClosingAngleBracketsAmbiguity_261268() throws Exception { - } - - @Override - public void testFunctionParameterPacks_280909() throws Exception { - } - - @Override - public void testTemplateParameterPacks_280909() throws Exception { - } - - @Override - public void testParameterPackExpansions_280909() throws Exception { - } - - @Override - public void testTemplateParameterPacksAmbiguity_280909() throws Exception { - } - - @Override - public void testNonTypeTemplateParameterPack_280909() throws Exception { - } - - //the below test case are for C++0x features which are not included in XLC++ yet - @Override - public void testRValueReferences_294730() throws Exception { - } - - @Override - public void testVariadicTemplateExamples_280909a() throws Exception { - } - - @Override - public void testVariadicTemplateExamples_280909b() throws Exception { - } - - @Override - public void testVariadicTemplateExamples_280909c() throws Exception { - } - - @Override - public void testVariadicTemplateExamples_280909d() throws Exception { - } - - @Override - public void testVariadicTemplateExamples_280909e() throws Exception { - } - - @Override - public void testVariadicTemplateExamples_280909f() throws Exception { - } - - @Override - public void testVariadicTemplateExamples_280909g() throws Exception { - } - - @Override - public void testVariadicTemplateExamples_280909i() throws Exception { - } - - @Override - public void testVariadicTemplateExamples_280909j() throws Exception { - } - - @Override - public void testVariadicTemplateExamples_280909k() throws Exception { - } - - @Override - public void testVariadicTemplateExamples_280909n() throws Exception { - } - - @Override - public void testVariadicTemplateExamples_280909p() throws Exception { - } - - @Override - public void testVariadicTemplateExamples_280909q() throws Exception { - } - - @Override - public void testVariadicTemplateExamples_280909r() throws Exception { - } - - @Override - public void testVariadicTemplateExamples_280909s() throws Exception { - } - - @Override - public void testExtendingVariadicTemplateTemplateParameters_302282() throws Exception { - } - - @Override - public void testVariadicTemplateExamples_280909h() throws Exception { - } - - @Override - public void testInlineNamespaces_305980() throws Exception { - } - - @Override - public void testFunctionParameterPacksInNonFinalPosition_324096() throws Exception { - } - - //decltype related - @Override - public void testFunctionCallOnDependentName_337686() throws Exception { - } - - //variadic template - @Override - public void testVariadicFunctionTemplate_333389() throws Exception { - } - - //auto - @Override - public void testRRefVsRef_351927() throws Exception { - } - - //Variadic template arguments - @Override - public void testTemplateTemplateParameterMatching_352859() throws Exception { - } - - @Override - @SuppressWarnings("unused") - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions, - boolean expectNoProblems, int limitTrivialInitializers) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckSyntaxProblems(expectNoProblems); - options.setCheckPreprocessorProblems(expectNoProblems); - options.setLimitTrivialInitializers(limitTrivialInitializers); - return ParseHelper.parse(code, language, options); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTests.java deleted file mode 100644 index 2b0bbac05d7..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRTests.java +++ /dev/null @@ -1,253 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2016 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.ast.c.ICASTSimpleDeclSpecifier; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.AST2Tests; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.TestSuite; - -/** - * - * @author Mike Kucera - * - */ -@SuppressWarnings({ "nls", "restriction" }) -public class LRTests extends AST2Tests { - - public static TestSuite suite() { - return suite(LRTests.class); - } - - public LRTests(String name) { - super(name); - } - - //TODO ??? overwrite some failed test cases - @Override - public void testFnReturningPtrToFn() throws Exception { - } - - @Override - public void testBug270275_int_is_equivalent_to_signed_int() throws Exception { - } - - @Override - public void testFunctionDefTypes() throws Exception { - } - - @Override - public void testBug80171() throws Exception { - } - - @Override - public void testBug192165() throws Exception { - } - - @Override - public void testTypenameInExpression() throws Exception { - } - - @Override - public void testParamWithFunctionType_84242() throws Exception { - } - - @Override - public void testParamWithFunctionTypeCpp_84242() throws Exception { - } - - @Override - public void testFunctionReturningPtrToArray_216609() throws Exception { - } - - @Override - public void testNestedFunctionDeclarators() throws Exception { - } - - @Override - public void testConstantExpressionBinding() throws Exception { - } - - @Override - public void testAmbiguousDeclaration_259373() throws Exception { - } - - @Override - public void testSizeofFunctionType_252243() throws Exception { - } - - @Override - public void testSkipAggregateInitializer_297550() throws Exception { - } - - @Override - public void testDeepElseif_298455() throws Exception { - } - - @Override - public void testAttributeSyntax_298841() throws Exception { - } - - @Override - public void testEmptyTrailingMacro_303152() throws Exception { - } - - @Override // not applicable to lr parser memory usage. - public void testLargeTrivialAggregateInitializer_253690() throws Exception { - } - - @Override - public void testMaximumTrivialExpressionsInInitializers_412380() throws Exception { - } - - @Override - public void testNoSkipTrivialAggregateInitializer_412380() throws Exception { - } - - @Override - public void testNoSkipNonTrivialAggregateInitializer_412380() throws Exception { - } - - @Override - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions, - boolean expectNoProblems) throws ParserException { - return parse(code, lang, useGNUExtensions, expectNoProblems, -1); - } - - @Override - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions, - boolean expectNoProblems, int limitTrivialInitializers) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckSyntaxProblems(expectNoProblems); - options.setCheckPreprocessorProblems(expectNoProblems); - options.setLimitTrivialInitializers(limitTrivialInitializers); - return ParseHelper.parse(code, language, options); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - - public void testMultipleHashHash() throws Exception { - String code = "#define TWICE(a) int a##tera; int a##ther; \n TWICE(pan)"; - parseAndCheckBindings(code, ParserLanguage.C); - } - - public void testBug191279() throws Exception { - StringBuilder sb = new StringBuilder(); - sb.append(" /**/ \n"); - sb.append("# define YO 99 /**/ \n"); - sb.append("# undef YO /**/ "); - sb.append(" /* $ */ "); - String code = sb.toString(); - parseAndCheckBindings(code, ParserLanguage.C); - } - - public void testBug191324() throws Exception { - StringBuilder sb = new StringBuilder(); - sb.append("int x$y = 99; \n"); - sb.append("int $q = 100; \n"); // can use $ as first character in identifier - sb.append("#ifndef SS$_INVFILFOROP \n"); - sb.append("int z; \n"); - sb.append("#endif \n"); - String code = sb.toString(); - parseAndCheckBindings(code, ParserLanguage.C); - } - - public void testBug192009_implicitInt() throws Exception { - String code = "main() { int x; }"; - IASTTranslationUnit tu = parse(code, ParserLanguage.C, false, true); - - IASTDeclaration[] declarations = tu.getDeclarations(); - assertEquals(1, declarations.length); - - IASTFunctionDefinition main = (IASTFunctionDefinition) declarations[0]; - ICASTSimpleDeclSpecifier declSpec = (ICASTSimpleDeclSpecifier) main.getDeclSpecifier(); - assertEquals(0, declSpec.getType()); - - assertEquals("main", main.getDeclarator().getName().toString()); - } - - /* I don't care about C98 - */ - @Override - public void testBug196468_emptyArrayInitializer() { - } - - public void _testBug196468_emptyArrayInitializer() throws Exception { - super.testBug196468_emptyArrayInitializer(); - } - - /* LPG holds on to all the tokens as you parse, so I don't think - * it would be easy to fix this bug. - */ - @Override - public void testScalabilityOfLargeTrivialInitializer_253690() { - } - - public void _testScalabilityOfLargeTrivialInitializer_253690() throws Exception { - - super.testScalabilityOfLargeTrivialInitializer_253690(); - } - - /* All of the identifiers in the code resolve correctly. - * The problem is that some of the expressions parse wrong but - * thats not actually a big deal. Fixing this bug will be - * difficult so defer it to the future. - */ - @Override - public void testBinaryVsCastAmbiguities_237057() { - } - - public void _testBinaryVsCastAmbiguities_237057() throws Exception { - super.testBinaryVsCastAmbiguities_237057(); - } - - /* All of the identifiers in the code resolve correctly. - * The problem is that some of the expressions parse wrong but - * thats not actually a big deal. Fixing this bug will be - * difficult so defer it to the future. - */ - @Override - public void testCastVsFunctionCallAmbiguities_237057() { - } - - public void _testCastVsFunctionCallAmbiguities_237057() throws Exception { - super.testCastVsFunctionCallAmbiguities_237057(); - } - - /* The LR parser generates the AST for switch statements - * differently than the DOM parser. - */ - @Override - public void testCaseRange_211882() { - } - - public void _testCaseRange_211882() throws Exception { - super.testCaseRange_211882(); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRUtilOldTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRUtilOldTests.java deleted file mode 100644 index 9b15b9092f8..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRUtilOldTests.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.AST2UtilOldTests; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.AssertionFailedError; -import junit.framework.TestSuite; - -@SuppressWarnings("restriction") -public class LRUtilOldTests extends AST2UtilOldTests { - - public static TestSuite suite() { - return suite(LRUtilOldTests.class); - } - - @Override - @SuppressWarnings("unused") - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions, - boolean expectNoProblems) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - return ParseHelper.parse(code, language, expectNoProblems); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } - - @Override - public void testCastExpression() throws Exception { // A not typedefed - try { - super.testCastExpression(); - fail(); - } catch (AssertionFailedError expectedException) { - } - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRUtilTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRUtilTests.java deleted file mode 100644 index f94e7816171..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRUtilTests.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.tests.ast2.AST2UtilTests; -import org.eclipse.cdt.internal.core.parser.ParserException; - -import junit.framework.TestSuite; - -@SuppressWarnings("restriction") -public class LRUtilTests extends AST2UtilTests { - - public static TestSuite suite() { - return suite(LRUtilTests.class); - } - - @Override - protected IASTTranslationUnit parse(String code, ParserLanguage lang) throws ParserException { - return parse(code, lang, false, true); - } - - @Override - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions) - throws ParserException { - return parse(code, lang, useGNUExtensions, true); - } - - @Override - @SuppressWarnings("unused") - protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions, - boolean expectNoProblems) throws ParserException { - ILanguage language = lang.isCPP() ? getCPPLanguage() : getCLanguage(); - return ParseHelper.parse(code, language, expectNoProblems); - } - - protected ILanguage getCLanguage() { - return GCCLanguage.getDefault(); - } - - protected ILanguage getCPPLanguage() { - return GPPLanguage.getDefault(); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/ParseHelper.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/ParseHelper.java deleted file mode 100644 index f0b8a091cc0..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/ParseHelper.java +++ /dev/null @@ -1,289 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.tests; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.cdt.core.dom.ICodeReaderFactory; -import org.eclipse.cdt.core.dom.ast.ASTVisitor; -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.ast.IBinding; -import org.eclipse.cdt.core.dom.ast.IProblemBinding; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.CodeReader; -import org.eclipse.cdt.core.parser.FileContent; -import org.eclipse.cdt.core.parser.IScannerInfo; -import org.eclipse.cdt.core.parser.IncludeFileContentProvider; -import org.eclipse.cdt.core.parser.ParserUtil; -import org.eclipse.cdt.core.parser.ScannerInfo; -import org.eclipse.cdt.core.parser.tests.ast2.AST2TestBase; -import org.eclipse.cdt.internal.core.dom.parser.c.CVisitor; -import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTNameBase; -import org.eclipse.core.runtime.CoreException; - -import junit.framework.AssertionFailedError; - -/** - * Utility methods for parsing test code using the C99 LPG parser. - * - * @author Mike Kucera - */ -@SuppressWarnings({ "restriction", "nls" }) -public class ParseHelper { - - static int testsRun = 0; - - static protected class NameResolver extends ASTVisitor { - { - shouldVisitNames = true; - } - - public List nameList = new ArrayList<>(); - public List problemBindings = new ArrayList<>(); - public int numNullBindings = 0; - - @Override - public int visit(IASTName name) { - nameList.add(name); - IBinding binding = name.resolveBinding(); - if (binding instanceof IProblemBinding) { - // Suppress assertion that would be thrown for computing string representation - // of template-ids. The flag will be reset by BaseTestCase.setUp(). - CPPASTNameBase.sAllowNameComputation = true; - problemBindings.add(name.toString()); - } - if (binding == null) - numNullBindings++; - return PROCESS_CONTINUE; - } - - public IASTName getName(int idx) { - if (idx < 0 || idx >= nameList.size()) - return null; - return nameList.get(idx); - } - - public int size() { - return nameList.size(); - } - } - - public static class Options { - - boolean checkSyntaxProblems = true; - boolean checkPreprocessorProblems = true; - boolean checkBindings = false; - - int expectedProblemBindings; - String[] problems; - int limitTrivialInitializers = -1; - - public Options setCheckSyntaxProblems(boolean checkSyntaxProblems) { - this.checkSyntaxProblems = checkSyntaxProblems; - return this; - } - - public Options setCheckBindings(boolean checkBindings) { - this.checkBindings = checkBindings; - return this; - } - - public Options setCheckPreprocessorProblems(boolean checkPreprocessorProblems) { - this.checkPreprocessorProblems = checkPreprocessorProblems; - return this; - } - - public Options setExpectedProblemBindings(int expectedProblemBindings) { - this.expectedProblemBindings = expectedProblemBindings; - return this; - } - - public Options setProblems(String[] problems) { - this.problems = problems; - setExpectedProblemBindings(problems.length); - setCheckBindings(true); - return this; - } - - public Options setLimitTrivialInitializers(int limitTrivialInitializers) { - this.limitTrivialInitializers = limitTrivialInitializers; - return this; - } - - } - - public static IASTTranslationUnit parse(String code, ILanguage lang, boolean expectNoProblems) { - Options options = new Options().setCheckSyntaxProblems(expectNoProblems) - .setCheckPreprocessorProblems(expectNoProblems); - return parse(code.toCharArray(), lang, options); - } - - public static IASTTranslationUnit parse(String code, ILanguage lang, Options options) { - return parse(code.toCharArray(), lang, options); - } - - public static IASTTranslationUnit parse(char[] code, ILanguage lang, Options options) { - - return parse(FileContent.create(AST2TestBase.TEST_CODE, code), lang, new ScannerInfo(), null, options); - } - - /** - * TODO thats WAY too many parameters, need to use a parameter object, need to refactor the - * DOM parser test suite so that its a lot cleaner. - * @Deprecated - */ - public static IASTTranslationUnit parse(CodeReader codeReader, ILanguage language, IScannerInfo scanInfo, - ICodeReaderFactory fileCreator, Options options) { - testsRun++; - - IASTTranslationUnit tu; - try { - int languageOptions = 0; - if (options.limitTrivialInitializers >= 0 && options.limitTrivialInitializers != Integer.MAX_VALUE) - languageOptions |= ILanguage.OPTION_SKIP_TRIVIAL_EXPRESSIONS_IN_AGGREGATE_INITIALIZERS; - - tu = language.getASTTranslationUnit(codeReader, scanInfo, fileCreator, null, languageOptions, - ParserUtil.getParserLogService()); - } catch (CoreException e) { - throw new AssertionFailedError(e.toString()); - } - - // should parse correctly first before we look at the bindings - if (options.checkSyntaxProblems) { - - // this should work for C++ also, CVisitor.getProblems() and CPPVisitor.getProblems() are exactly the same code! - if (CVisitor.getProblems(tu).length != 0) { - throw new AssertionFailedError(" CVisitor has AST Problems "); - } - } - - if (options.checkPreprocessorProblems) { - if (tu.getPreprocessorProblems().length != 0) { - throw new AssertionFailedError(language.getName() + " TranslationUnit has Preprocessor Problems "); - } - } - - // resolve all bindings - if (options.checkBindings) { - NameResolver res = new NameResolver(); - tu.accept(res); - if (res.problemBindings.size() != options.expectedProblemBindings) - throw new AssertionFailedError("Expected " + options.expectedProblemBindings - + " problem(s), encountered " + res.problemBindings.size()); - - if (options.problems != null) { - for (int i = 0; i < options.problems.length; i++) { - String expected = options.problems[i]; - String actual = res.problemBindings.get(i); - if (!expected.equals(actual)) - throw new AssertionFailedError( - String.format("Problem binding not equal, expected: %s, got: %s", expected, actual)); - } - } - } - - return tu; - } - - /** - * TODO thats WAY too many parameters, need to use a parameter object, need to refactor the - * DOM parser test suite so that its a lot cleaner. - */ - public static IASTTranslationUnit parse(FileContent fileContent, ILanguage language, IScannerInfo scanInfo, - IncludeFileContentProvider fileContentProvider, Options options) { - testsRun++; - - IASTTranslationUnit tu; - try { - int languageOptions = 0; - if (options.limitTrivialInitializers >= 0 && options.limitTrivialInitializers != Integer.MAX_VALUE) - languageOptions |= ILanguage.OPTION_SKIP_TRIVIAL_EXPRESSIONS_IN_AGGREGATE_INITIALIZERS; - - tu = language.getASTTranslationUnit(fileContent, scanInfo, fileContentProvider, null, languageOptions, - ParserUtil.getParserLogService()); - } catch (CoreException e) { - throw new AssertionFailedError(e.toString()); - } - - // should parse correctly first before we look at the bindings - if (options.checkSyntaxProblems) { - - // this should work for C++ also, CVisitor.getProblems() and CPPVisitor.getProblems() are exactly the same code! - if (CVisitor.getProblems(tu).length != 0) { - throw new AssertionFailedError(" CVisitor has AST Problems "); - } - } - - if (options.checkPreprocessorProblems) { - if (tu.getPreprocessorProblems().length != 0) { - throw new AssertionFailedError(language.getName() + " TranslationUnit has Preprocessor Problems "); - } - } - - // resolve all bindings - if (options.checkBindings) { - NameResolver res = new NameResolver(); - tu.accept(res); - if (res.problemBindings.size() != options.expectedProblemBindings) - throw new AssertionFailedError("Expected " + options.expectedProblemBindings - + " problem(s), encountered " + res.problemBindings.size()); - - if (options.problems != null) { - for (int i = 0; i < options.problems.length; i++) { - String expected = options.problems[i]; - String actual = res.problemBindings.get(i); - if (!expected.equals(actual)) - throw new AssertionFailedError( - String.format("Problem binding not equal, expected: %s, got: %s", expected, actual)); - } - } - } - - return tu; - } - - public static IASTTranslationUnit commentParse(String code, ILanguage language) { - - IASTTranslationUnit tu; - try { - tu = language.getASTTranslationUnit(FileContent.create(AST2TestBase.TEST_CODE, code.toCharArray()), - new ScannerInfo(), null, null, ILanguage.OPTION_ADD_COMMENTS, ParserUtil.getParserLogService()); - } catch (CoreException e) { - throw new AssertionFailedError(e.toString()); - } - return tu; - } - - public static IASTCompletionNode getCompletionNode(String code, ILanguage lang) { - int offset = code.length(); - if (offset > 0 && '\n' == code.charAt(offset - 1)) { - offset--; - } - return getCompletionNode(code, lang, offset); - } - - public static IASTCompletionNode getCompletionNode(String code, ILanguage language, int offset) { - - try { - return language.getCompletionNode(FileContent.create(AST2TestBase.TEST_CODE, code.toCharArray()), - new ScannerInfo(), null, null, ParserUtil.getParserLogService(), offset); - } catch (CoreException e) { - throw new RuntimeException(e); - } - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/.classpath b/lrparser/org.eclipse.cdt.core.lrparser/.classpath deleted file mode 100644 index d9af9f5c892..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/.classpath +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/lrparser/org.eclipse.cdt.core.lrparser/.project b/lrparser/org.eclipse.cdt.core.lrparser/.project deleted file mode 100644 index 80cab22b5fa..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/.project +++ /dev/null @@ -1,34 +0,0 @@ - - - org.eclipse.cdt.core.lrparser - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - net.sourceforge.metrics.builder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - net.sourceforge.metrics.nature - - diff --git a/lrparser/org.eclipse.cdt.core.lrparser/.settings/org.eclipse.jdt.core.prefs b/lrparser/org.eclipse.cdt.core.lrparser/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 2b6ecff8a01..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,464 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.cleanOutputFolder=clean -org.eclipse.jdt.core.builder.duplicateResourceTask=warning -org.eclipse.jdt.core.builder.invalidClasspath=abort -org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore -org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch, *.xtend -org.eclipse.jdt.core.circularClasspath=error -org.eclipse.jdt.core.classpath.exclusionPatterns=enabled -org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error -org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled -org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error -org.eclipse.jdt.core.codeComplete.argumentPrefixes= -org.eclipse.jdt.core.codeComplete.argumentSuffixes= -org.eclipse.jdt.core.codeComplete.fieldPrefixes= -org.eclipse.jdt.core.codeComplete.fieldSuffixes= -org.eclipse.jdt.core.codeComplete.localPrefixes= -org.eclipse.jdt.core.codeComplete.localSuffixes= -org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.8 -org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false -org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 -org.eclipse.jdt.core.formatter.align_type_members_on_columns=false -org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false -org.eclipse.jdt.core.formatter.align_with_spaces=false -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_assignment=0 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 -org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 -org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 -org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 -org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 -org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 -org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 -org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 -org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 -org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_after_package=1 -org.eclipse.jdt.core.formatter.blank_lines_before_field=0 -org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 -org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 -org.eclipse.jdt.core.formatter.blank_lines_before_method=1 -org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 -org.eclipse.jdt.core.formatter.blank_lines_before_package=0 -org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 -org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 -org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true -org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false -org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true -org.eclipse.jdt.core.formatter.comment.format_block_comments=false -org.eclipse.jdt.core.formatter.comment.format_header=false -org.eclipse.jdt.core.formatter.comment.format_html=true -org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false -org.eclipse.jdt.core.formatter.comment.format_line_comments=false -org.eclipse.jdt.core.formatter.comment.format_source_code=true -org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false -org.eclipse.jdt.core.formatter.comment.indent_root_tags=false -org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert -org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert -org.eclipse.jdt.core.formatter.comment.line_length=80 -org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true -org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true -org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false -org.eclipse.jdt.core.formatter.compact_else_if=true -org.eclipse.jdt.core.formatter.continuation_indentation=2 -org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 -org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off -org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on -org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false -org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true -org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_empty_lines=false -org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true -org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false -org.eclipse.jdt.core.formatter.indentation.size=4 -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert -org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert -org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert -org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.join_lines_in_comments=true -org.eclipse.jdt.core.formatter.join_wrapped_lines=true -org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false -org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false -org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false -org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false -org.eclipse.jdt.core.formatter.lineSplit=120 -org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false -org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false -org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 -org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 -org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines -org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true -org.eclipse.jdt.core.formatter.tabulation.char=tab -org.eclipse.jdt.core.formatter.tabulation.size=4 -org.eclipse.jdt.core.formatter.use_on_off_tags=true -org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false -org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true -org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true -org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true -org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true -org.eclipse.jdt.core.incompatibleJDKLevel=ignore -org.eclipse.jdt.core.incompleteClasspath=error -org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/lrparser/org.eclipse.cdt.core.lrparser/.settings/org.eclipse.jdt.launching.prefs b/lrparser/org.eclipse.cdt.core.lrparser/.settings/org.eclipse.jdt.launching.prefs deleted file mode 100644 index f8a131b56e0..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/.settings/org.eclipse.jdt.launching.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=warning -org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=warning diff --git a/lrparser/org.eclipse.cdt.core.lrparser/.settings/org.eclipse.jdt.ui.prefs b/lrparser/org.eclipse.cdt.core.lrparser/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index e44576346c4..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,133 +0,0 @@ -cleanup.add_default_serial_version_id=true -cleanup.add_generated_serial_version_id=false -cleanup.add_missing_annotations=true -cleanup.add_missing_deprecated_annotations=true -cleanup.add_missing_methods=false -cleanup.add_missing_nls_tags=false -cleanup.add_missing_override_annotations=true -cleanup.add_missing_override_annotations_interface_methods=true -cleanup.add_serial_version_id=false -cleanup.always_use_blocks=true -cleanup.always_use_parentheses_in_expressions=false -cleanup.always_use_this_for_non_static_field_access=false -cleanup.always_use_this_for_non_static_method_access=false -cleanup.convert_functional_interfaces=false -cleanup.convert_to_enhanced_for_loop=false -cleanup.correct_indentation=false -cleanup.format_source_code=true -cleanup.format_source_code_changes_only=false -cleanup.insert_inferred_type_arguments=false -cleanup.make_local_variable_final=true -cleanup.make_parameters_final=false -cleanup.make_private_fields_final=true -cleanup.make_type_abstract_if_missing_method=false -cleanup.make_variable_declarations_final=false -cleanup.never_use_blocks=false -cleanup.never_use_parentheses_in_expressions=true -cleanup.organize_imports=true -cleanup.qualify_static_field_accesses_with_declaring_class=false -cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -cleanup.qualify_static_member_accesses_with_declaring_class=false -cleanup.qualify_static_method_accesses_with_declaring_class=false -cleanup.remove_private_constructors=true -cleanup.remove_redundant_modifiers=false -cleanup.remove_redundant_semicolons=true -cleanup.remove_redundant_type_arguments=true -cleanup.remove_trailing_whitespaces=true -cleanup.remove_trailing_whitespaces_all=true -cleanup.remove_trailing_whitespaces_ignore_empty=false -cleanup.remove_unnecessary_casts=true -cleanup.remove_unnecessary_nls_tags=false -cleanup.remove_unused_imports=true -cleanup.remove_unused_local_variables=false -cleanup.remove_unused_private_fields=true -cleanup.remove_unused_private_members=false -cleanup.remove_unused_private_methods=true -cleanup.remove_unused_private_types=true -cleanup.sort_members=false -cleanup.sort_members_all=false -cleanup.use_anonymous_class_creation=false -cleanup.use_blocks=false -cleanup.use_blocks_only_for_return_and_throw=false -cleanup.use_lambda=true -cleanup.use_parentheses_in_expressions=false -cleanup.use_this_for_non_static_field_access=false -cleanup.use_this_for_non_static_field_access_only_if_necessary=true -cleanup.use_this_for_non_static_method_access=false -cleanup.use_this_for_non_static_method_access_only_if_necessary=true -cleanup_profile=_CDT -cleanup_settings_version=2 -eclipse.preferences.version=1 -editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true -formatter_profile=_CDT -formatter_settings_version=14 -internal.default.compliance=user -org.eclipse.jdt.ui.exception.name=e -org.eclipse.jdt.ui.gettersetter.use.is=true -org.eclipse.jdt.ui.ignorelowercasenames=true -org.eclipse.jdt.ui.importorder=java;javax;org;com; -org.eclipse.jdt.ui.keywordthis=false -org.eclipse.jdt.ui.ondemandthreshold=1000 -org.eclipse.jdt.ui.overrideannotation=true -org.eclipse.jdt.ui.staticondemandthreshold=1000 -org.eclipse.jdt.ui.text.custom_code_templates= -sp_cleanup.add_default_serial_version_id=true -sp_cleanup.add_generated_serial_version_id=false -sp_cleanup.add_missing_annotations=true -sp_cleanup.add_missing_deprecated_annotations=true -sp_cleanup.add_missing_methods=false -sp_cleanup.add_missing_nls_tags=false -sp_cleanup.add_missing_override_annotations=true -sp_cleanup.add_missing_override_annotations_interface_methods=true -sp_cleanup.add_serial_version_id=false -sp_cleanup.always_use_blocks=true -sp_cleanup.always_use_parentheses_in_expressions=false -sp_cleanup.always_use_this_for_non_static_field_access=false -sp_cleanup.always_use_this_for_non_static_method_access=false -sp_cleanup.convert_functional_interfaces=false -sp_cleanup.convert_to_enhanced_for_loop=false -sp_cleanup.correct_indentation=false -sp_cleanup.format_source_code=true -sp_cleanup.format_source_code_changes_only=false -sp_cleanup.insert_inferred_type_arguments=false -sp_cleanup.make_local_variable_final=true -sp_cleanup.make_parameters_final=false -sp_cleanup.make_private_fields_final=true -sp_cleanup.make_type_abstract_if_missing_method=false -sp_cleanup.make_variable_declarations_final=false -sp_cleanup.never_use_blocks=false -sp_cleanup.never_use_parentheses_in_expressions=true -sp_cleanup.on_save_use_additional_actions=true -sp_cleanup.organize_imports=true -sp_cleanup.qualify_static_field_accesses_with_declaring_class=false -sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_with_declaring_class=false -sp_cleanup.qualify_static_method_accesses_with_declaring_class=false -sp_cleanup.remove_private_constructors=true -sp_cleanup.remove_redundant_modifiers=false -sp_cleanup.remove_redundant_semicolons=true -sp_cleanup.remove_redundant_type_arguments=true -sp_cleanup.remove_trailing_whitespaces=true -sp_cleanup.remove_trailing_whitespaces_all=true -sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true -sp_cleanup.remove_unnecessary_nls_tags=false -sp_cleanup.remove_unused_imports=true -sp_cleanup.remove_unused_local_variables=false -sp_cleanup.remove_unused_private_fields=true -sp_cleanup.remove_unused_private_members=false -sp_cleanup.remove_unused_private_methods=true -sp_cleanup.remove_unused_private_types=true -sp_cleanup.sort_members=false -sp_cleanup.sort_members_all=false -sp_cleanup.use_anonymous_class_creation=false -sp_cleanup.use_blocks=false -sp_cleanup.use_blocks_only_for_return_and_throw=false -sp_cleanup.use_lambda=true -sp_cleanup.use_parentheses_in_expressions=false -sp_cleanup.use_this_for_non_static_field_access=false -sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true -sp_cleanup.use_this_for_non_static_method_access=false -sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/lrparser/org.eclipse.cdt.core.lrparser/.settings/org.eclipse.pde.api.tools.prefs b/lrparser/org.eclipse.cdt.core.lrparser/.settings/org.eclipse.pde.api.tools.prefs deleted file mode 100644 index ec9fbf321d0..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/.settings/org.eclipse.pde.api.tools.prefs +++ /dev/null @@ -1,184 +0,0 @@ -ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error -API_USE_SCAN_FIELD_SEVERITY=Error -API_USE_SCAN_METHOD_SEVERITY=Error -API_USE_SCAN_TYPE_SEVERITY=Error -CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_FIELD=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_ADDED_METHOD=Error -CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error -CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error -CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error -ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error -ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error -ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -FIELD_ELEMENT_TYPE_ADDED_VALUE=Error -FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error -FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error -FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error -ILLEGAL_EXTEND=Warning -ILLEGAL_IMPLEMENT=Warning -ILLEGAL_INSTANTIATE=Warning -ILLEGAL_OVERRIDE=Warning -ILLEGAL_REFERENCE=Warning -INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -INVALID_ANNOTATION=Ignore -INVALID_JAVADOC_TAG=Error -INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning -LEAK_EXTEND=Warning -LEAK_FIELD_DECL=Warning -LEAK_IMPLEMENT=Warning -LEAK_METHOD_PARAM=Warning -LEAK_METHOD_RETURN_TYPE=Warning -METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -MISSING_EE_DESCRIPTIONS=Warning -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -UNUSED_PROBLEM_FILTERS=Warning -automatically_removed_unused_problem_filters=false -changed_execution_env=Error -eclipse.preferences.version=1 -incompatible_api_component_version=Error -incompatible_api_component_version_include_major_without_breaking_change=Disabled -incompatible_api_component_version_include_minor_without_api_change=Disabled -incompatible_api_component_version_report_major_without_breaking_change=Warning -incompatible_api_component_version_report_minor_without_api_change=Warning -invalid_since_tag_version=Error -malformed_since_tag=Error -missing_since_tag=Error -report_api_breakage_when_major_version_incremented=Disabled -report_resolution_errors_api_component=Warning diff --git a/lrparser/org.eclipse.cdt.core.lrparser/.settings/org.eclipse.pde.prefs b/lrparser/org.eclipse.cdt.core.lrparser/.settings/org.eclipse.pde.prefs deleted file mode 100644 index d2dc703ba9e..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,35 +0,0 @@ -compilers.f.unresolved-features=1 -compilers.f.unresolved-plugins=1 -compilers.incompatible-environment=1 -compilers.p.build=1 -compilers.p.build.bin.includes=1 -compilers.p.build.encodings=2 -compilers.p.build.java.compiler=2 -compilers.p.build.java.compliance=1 -compilers.p.build.missing.output=2 -compilers.p.build.output.library=1 -compilers.p.build.source.library=1 -compilers.p.build.src.includes=1 -compilers.p.deprecated=1 -compilers.p.discouraged-class=1 -compilers.p.internal=1 -compilers.p.missing-packages=2 -compilers.p.missing-version-export-package=2 -compilers.p.missing-version-import-package=2 -compilers.p.missing-version-require-bundle=2 -compilers.p.no-required-att=0 -compilers.p.no.automatic.module=1 -compilers.p.not-externalized-att=1 -compilers.p.service.component.without.lazyactivation=1 -compilers.p.unknown-attribute=1 -compilers.p.unknown-class=1 -compilers.p.unknown-element=1 -compilers.p.unknown-identifier=1 -compilers.p.unknown-resource=1 -compilers.p.unresolved-ex-points=0 -compilers.p.unresolved-import=0 -compilers.s.create-docs=false -compilers.s.doc-folder=doc -compilers.s.open-tags=1 -compilers.use-project=true -eclipse.preferences.version=1 diff --git a/lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF b/lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF deleted file mode 100644 index 8d7fd382399..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF +++ /dev/null @@ -1,29 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %Bundle-Name.1 -Bundle-SymbolicName: org.eclipse.cdt.core.lrparser;singleton:=true -Bundle-Version: 5.2.400.qualifier -Bundle-ClassPath: . -Require-Bundle: org.eclipse.cdt.core, - net.sourceforge.lpg.lpgjavaruntime;bundle-version="1.1.0";visibility:=reexport, - org.eclipse.core.runtime, - org.apache.ant;bundle-version="1.7.0" -Export-Package: org.eclipse.cdt.core.dom.lrparser, - org.eclipse.cdt.core.dom.lrparser.action, - org.eclipse.cdt.core.dom.lrparser.action.c99, - org.eclipse.cdt.core.dom.lrparser.action.cpp, - org.eclipse.cdt.core.dom.lrparser.action.gnu, - org.eclipse.cdt.core.dom.lrparser.c99, - org.eclipse.cdt.core.dom.lrparser.cpp, - org.eclipse.cdt.core.dom.lrparser.gnu, - org.eclipse.cdt.core.dom.lrparser.lpgextensions, - org.eclipse.cdt.internal.core.dom.lrparser.c99;x-internal:=true, - org.eclipse.cdt.internal.core.dom.lrparser.cpp, - org.eclipse.cdt.internal.core.dom.lrparser.gcc, - org.eclipse.cdt.internal.core.dom.lrparser.gpp -Bundle-Localization: plugin -Bundle-Vendor: %Bundle-Vendor.0 -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Bundle-ActivationPolicy: lazy -Bundle-Activator: org.eclipse.cdt.core.dom.lrparser.LRParserPlugin -Automatic-Module-Name: org.eclipse.cdt.core.lrparser diff --git a/lrparser/org.eclipse.cdt.core.lrparser/about.html b/lrparser/org.eclipse.cdt.core.lrparser/about.html deleted file mode 100644 index 164f781a8fd..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/about.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    November 30, 2017

    -

    License

    - -

    - The Eclipse Foundation makes available all content in this plug-in - ("Content"). Unless otherwise indicated below, the Content - is provided to you under the terms and conditions of the Eclipse - Public License Version 2.0 ("EPL"). A copy of the EPL is - available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    - If you did not receive this Content directly from the Eclipse - Foundation, the Content is being redistributed by another party - ("Redistributor") and different terms and conditions may - apply to your use of any object code in the Content. Check the - Redistributor's license that was provided with the Content. If no such - license exists, contact the Redistributor. Unless otherwise indicated - below, the terms and conditions of the EPL still apply to any source - code in the Content and such source code may be obtained at http://www.eclipse.org. -

    - - - \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/about.ini b/lrparser/org.eclipse.cdt.core.lrparser/about.ini deleted file mode 100644 index e07a7bb377e..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/about.ini +++ /dev/null @@ -1,24 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=cdt_logo_icon32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (translated) -# needed for primary features only - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional diff --git a/lrparser/org.eclipse.cdt.core.lrparser/about.mappings b/lrparser/org.eclipse.cdt.core.lrparser/about.mappings deleted file mode 100644 index 936a8039c3e..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/about.mappings +++ /dev/null @@ -1,9 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -# The following should contain the build version. -# e.g. "0=20200106-1728" -# This value will be added automatically via the build scripts -0=${buildId} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/about.properties b/lrparser/org.eclipse.cdt.core.lrparser/about.properties deleted file mode 100644 index 6e37f006a25..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/about.properties +++ /dev/null @@ -1,32 +0,0 @@ -############################################################################### -# Copyright (c) 2008, 2020 Contributors to the Eclipse Foundation -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -############################################################################### -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# NOTE TO TRANSLATOR: Please do not translate the featureVersion variable. - - -blurb=C/C++ C99 LR Parser\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -Copyright (c) 2008, 2020 Contributors to the Eclipse Foundation -\n\ -See the NOTICE file(s) distributed with this work for additional\n\ -information regarding copyright ownership.\n\ -\n\ -Visit http://www.eclipse.org/cdt diff --git a/lrparser/org.eclipse.cdt.core.lrparser/build.properties b/lrparser/org.eclipse.cdt.core.lrparser/build.properties deleted file mode 100644 index 6b2ef4995e2..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/build.properties +++ /dev/null @@ -1,25 +0,0 @@ -############################################################################### -# Copyright (c) 2007, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - about.html,\ - plugin.properties,\ - plugin.xml,\ - about.ini,\ - about.mappings,\ - about.properties,\ - cdt_logo_icon32.png -src.includes = about.html diff --git a/lrparser/org.eclipse.cdt.core.lrparser/cdt_logo_icon32.png b/lrparser/org.eclipse.cdt.core.lrparser/cdt_logo_icon32.png deleted file mode 100644 index 470ca81b327..00000000000 Binary files a/lrparser/org.eclipse.cdt.core.lrparser/cdt_logo_icon32.png and /dev/null differ diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml b/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml deleted file mode 100644 index 0844cd4b168..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml +++ /dev/null @@ -1,146 +0,0 @@ - - - - Generates LPG parsers from grammar files - - - - - - - - - - - - - - - - - - - - - - Generate the C99 parser - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Generate the GCC parser - - - - - - - - - - - - - - - - - - - - - Generate the C++ parser - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Generate the GCC parser - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99ExpressionParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99ExpressionParser.g deleted file mode 100644 index 48a1934c59e..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99ExpressionParser.g +++ /dev/null @@ -1,40 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2006, 2008 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.lrparser.c99 -%options template=LRSecondaryParserTemplate.g - --- All we need to do is import the main parser and redefine the start symbol. - - -$Import - C99Grammar.g -$End - -$Define - $ast_class /. IASTExpression ./ -$End - -$Start - expression_parser_start -$End - -$Rules - - expression_parser_start - ::= expression - | ERROR_TOKEN - /. $Build consumeEmpty(); $EndBuild ./ - -$End \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g deleted file mode 100644 index 50b8746049e..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g +++ /dev/null @@ -1,1006 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2006, 2010 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -$Terminals - - -- Keywords - - 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 - - -- Literals - - integer floating charconst stringlit - - -- identifiers - - identifier - - -- Special tokens used in content assist - - Completion - EndOfCompletion - - -- Unrecognized token - - Invalid - - -- Punctuation (with aliases to make grammar more readable) - - LeftBracket ::= '[' - LeftParen ::= '(' - LeftBrace ::= '{' - Dot ::= '.' - Arrow ::= '->' - PlusPlus ::= '++' - MinusMinus ::= '--' - And ::= '&' - Star ::= '*' - Plus ::= '+' - Minus ::= '-' - Tilde ::= '~' - Bang ::= '!' - Slash ::= '/' - Percent ::= '%' - RightShift ::= '>>' - LeftShift ::= '<<' - LT ::= '<' - GT ::= '>' - LE ::= '<=' - GE ::= '>=' - EQ ::= '==' - NE ::= '!=' - Caret ::= '^' - Or ::= '|' - AndAnd ::= '&&' - OrOr ::= '||' - Question ::= '?' - Colon ::= ':' - DotDotDot ::= '...' - Assign ::= '=' - StarAssign ::= '*=' - SlashAssign ::= '/=' - PercentAssign ::= '%=' - PlusAssign ::= '+=' - MinusAssign ::= '-=' - RightShiftAssign ::= '>>=' - LeftShiftAssign ::= '<<=' - AndAssign ::= '&=' - CaretAssign ::= '^=' - OrAssign ::= '|=' - Comma ::= ',' - - RightBracket -- these four have special rules for content assist - RightParen - RightBrace - SemiColon - - -$End - - -$Globals -/. - import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; - import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction; - import org.eclipse.cdt.core.dom.lrparser.action.c99.C99SecondaryParserFactory; -./ -$End - --- TODO move this code into a common template - -$Define - $build_action_class /. C99BuildASTParserAction ./ - $node_factory_create_expression /. CNodeFactory.getDefault() ./ - $parser_factory_create_expression /. C99SecondaryParserFactory.getDefault() ./ -$End - - - -$Rules - -------------------------------------------------------------------------------------------- --- AST scopes -------------------------------------------------------------------------------------------- - - - - ::= $empty - /. $Build openASTScope(); $EndBuild ./ - - - ::= $empty - /. $Build consumeEmpty(); $EndBuild ./ - - -------------------------------------------------------------------------------------------- --- Content assist -------------------------------------------------------------------------------------------- - --- The EndOfCompletion token is a special token that matches some punctuation. --- These tokens allow the parse to complete successfully after a Completion token --- is encountered. - - -']' ::=? 'RightBracket' - | 'EndOfCompletion' - -')' ::=? 'RightParen' - | 'EndOfCompletion' - -'}' ::=? 'RightBrace' - | 'EndOfCompletion' - -';' ::=? 'SemiColon' - | 'EndOfCompletion' - - - -------------------------------------------------------------------------------------------- --- Expressions -------------------------------------------------------------------------------------------- - -identifier_token - ::= 'identifier' - | 'Completion' - - -literal - ::= 'integer' - /. $Build consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); $EndBuild ./ - | 'floating' - /. $Build consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); $EndBuild ./ - | 'charconst' - /. $Build consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); $EndBuild ./ - | 'stringlit' - /. $Build consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); $EndBuild ./ - - -primary_expression - ::= literal - | primary_expression_id - /. $Build consumeExpressionID(); $EndBuild ./ - | '(' expression ')' - /. $Build consumeExpressionBracketed(); $EndBuild ./ - - -primary_expression_id - ::= identifier_token - - -postfix_expression - ::= primary_expression - | postfix_expression '[' expression ']' - /. $Build consumeExpressionArraySubscript(); $EndBuild ./ - | postfix_expression '(' expression_list_opt ')' - /. $Build consumeExpressionFunctionCall(); $EndBuild ./ - | postfix_expression '.' member_name - /. $Build consumeExpressionFieldReference(false); $EndBuild ./ - | postfix_expression '->' member_name - /. $Build consumeExpressionFieldReference(true); $EndBuild ./ - | postfix_expression '++' - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); $EndBuild ./ - | postfix_expression '--' - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); $EndBuild ./ - | '(' type_id ')' initializer_list - /. $Build consumeExpressionTypeIdInitializer(); $EndBuild ./ - - -comma_opt - ::= ',' | $empty - - -member_name - ::= identifier_token - - -unary_expression - ::= postfix_expression - | '++' unary_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); $EndBuild ./ - | '--' unary_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); $EndBuild ./ - | '&' cast_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); $EndBuild ./ - | '*' cast_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); $EndBuild ./ - | '+' cast_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); $EndBuild ./ - | '-' cast_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); $EndBuild ./ - | '~' cast_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); $EndBuild ./ - | '!' cast_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); $EndBuild ./ - | 'sizeof' unary_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); $EndBuild ./ - | 'sizeof' '(' type_id ')' - /. $Build consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); $EndBuild ./ - - -cast_expression - ::= unary_expression - | '(' type_id ')' cast_expression - /. $Build consumeExpressionCast(IASTCastExpression.op_cast); $EndBuild ./ - - -multiplicative_expression - ::= cast_expression - | multiplicative_expression '*' cast_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); $EndBuild ./ - | multiplicative_expression '/' cast_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); $EndBuild ./ - | multiplicative_expression '%' cast_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); $EndBuild ./ - - -additive_expression - ::= multiplicative_expression - | additive_expression '+' multiplicative_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); $EndBuild ./ - | additive_expression '-' multiplicative_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); $EndBuild ./ - - -shift_expression - ::= additive_expression - | shift_expression '<<' additive_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); $EndBuild ./ - | shift_expression '>>' additive_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); $EndBuild ./ - - -relational_expression - ::= shift_expression - | relational_expression '<' shift_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); $EndBuild ./ - | relational_expression '>' shift_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); $EndBuild ./ - | relational_expression '<=' shift_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); $EndBuild ./ - | relational_expression '>=' shift_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); $EndBuild ./ - - -equality_expression - ::= relational_expression - | equality_expression '==' relational_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); $EndBuild ./ - | equality_expression '!=' relational_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); $EndBuild ./ - - -and_expression - ::= equality_expression - | and_expression '&' equality_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); $EndBuild ./ - - -exclusive_or_expression - ::= and_expression - | exclusive_or_expression '^' and_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); $EndBuild ./ - - -inclusive_or_expression - ::= exclusive_or_expression - | inclusive_or_expression '|' exclusive_or_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); $EndBuild ./ - - -logical_and_expression - ::= inclusive_or_expression - | logical_and_expression '&&' inclusive_or_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); $EndBuild ./ - - -logical_or_expression - ::= logical_and_expression - | logical_or_expression '||' logical_and_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); $EndBuild ./ - - -conditional_expression - ::= logical_or_expression - | logical_or_expression '?' expression ':' assignment_expression - /. $Build consumeExpressionConditional(); $EndBuild ./ - - -assignment_expression - ::= conditional_expression - | unary_expression '=' assignment_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); $EndBuild ./ - | unary_expression '*=' assignment_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); $EndBuild ./ - | unary_expression '/=' assignment_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); $EndBuild ./ - | unary_expression '%=' assignment_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); $EndBuild ./ - | unary_expression '+=' assignment_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); $EndBuild ./ - | unary_expression '-=' assignment_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); $EndBuild ./ - | unary_expression '<<=' assignment_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); $EndBuild ./ - | unary_expression '>>=' assignment_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); $EndBuild ./ - | unary_expression '&=' assignment_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); $EndBuild ./ - | unary_expression '^=' assignment_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); $EndBuild ./ - | unary_expression '|=' assignment_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); $EndBuild ./ - - --- special rule to avoid conflict between problem statements and problem expressions -expression_in_statement - ::= expression_list - - -expression - ::= expression_list - - -expression_list - ::= expression_list_actual - /. $Build consumeExpressionList(); $EndBuild ./ - - -expression_list_opt - ::= expression_list - | $empty - /. $Build consumeEmpty(); $EndBuild ./ - - -expression_list_actual - ::= assignment_expression - | expression_list_actual ',' assignment_expression - - -constant_expression - ::= conditional_expression - - -------------------------------------------------------------------------------------------- --- Statements -------------------------------------------------------------------------------------------- - - - -statement - ::= labeled_statement - | compound_statement - | expression_statement - | selection_statement - | iteration_statement - | jump_statement - | ERROR_TOKEN - /. $Build consumeStatementProblem(); $EndBuild ./ - - -labeled_statement - ::= identifier_token ':' statement - /. $Build consumeStatementLabeled(); $EndBuild ./ - | 'case' constant_expression ':' statement - /. $Build consumeStatementCase(); $EndBuild ./ - | 'default' ':' statement - /. $Build consumeStatementDefault(); $EndBuild ./ - - -compound_statement - ::= '{' '}' - /. $Build consumeStatementCompoundStatement(false); $EndBuild ./ - | '{' block_item_list '}' - /. $Build consumeStatementCompoundStatement(true); $EndBuild ./ - - -block_item_list - ::= block_item - | block_item_list block_item - - -block_item - ::= statement - | declaration - /. $Build consumeStatementDeclarationWithDisambiguation(); $EndBuild ./ - - -expression_statement - ::= ';' - /. $Build consumeStatementNull(); $EndBuild ./ - | expression_in_statement ';' - /. $Build consumeStatementExpression(); $EndBuild ./ - - -selection_statement - ::= 'if' '(' expression ')' statement - /. $Build consumeStatementIf(false); $EndBuild ./ - | 'if' '(' expression ')' statement 'else' statement - /. $Build consumeStatementIf(true); $EndBuild ./ - | 'switch' '(' expression ')' statement - /. $Build consumeStatementSwitch(); $EndBuild ./ - - -expression_opt - ::= expression - | $empty - /. $Build consumeEmpty(); $EndBuild ./ - - -iteration_statement - ::= 'do' statement 'while' '(' expression ')' ';' - /. $Build consumeStatementDoLoop(true); $EndBuild ./ - | 'do' statement - /. $Build consumeStatementDoLoop(false); $EndBuild ./ - | 'while' '(' expression ')' statement - /. $Build consumeStatementWhileLoop(); $EndBuild ./ - | 'for' '(' expression_opt ';' expression_opt ';' expression_opt ')' statement - /. $Build consumeStatementForLoop(); $EndBuild ./ - | 'for' '(' declaration expression_opt ';' expression_opt ')' statement - /. $Build consumeStatementForLoop(); $EndBuild ./ - - -jump_statement - ::= 'goto' identifier_token ';' - /. $Build consumeStatementGoto(); $EndBuild ./ - | 'continue' ';' - /. $Build consumeStatementContinue(); $EndBuild ./ - | 'break' ';' - /. $Build consumeStatementBreak(); $EndBuild ./ - | 'return' ';' - /. $Build consumeStatementReturn(false); $EndBuild ./ - | 'return' expression ';' - /. $Build consumeStatementReturn(true); $EndBuild ./ - - - -------------------------------------------------------------------------------------------- --- Declarations -------------------------------------------------------------------------------------------- - - - -declaration - ::= declaration_specifiers ';' - /. $Build consumeDeclarationSimple(false); $EndBuild ./ - | declaration_specifiers init_declarator_list ';' - /. $Build consumeDeclarationSimple(true); $EndBuild ./ - - -declaration_specifiers - ::= simple_declaration_specifiers - /. $Build consumeDeclarationSpecifiersSimple(); $EndBuild ./ - | struct_or_union_declaration_specifiers - /. $Build consumeDeclarationSpecifiersStructUnionEnum(); $EndBuild ./ - | elaborated_declaration_specifiers - /. $Build consumeDeclarationSpecifiersStructUnionEnum(); $EndBuild ./ - | enum_declaration_specifiers - /. $Build consumeDeclarationSpecifiersStructUnionEnum(); $EndBuild ./ - | typdef_name_declaration_specifiers - /. $Build consumeDeclarationSpecifiersTypedefName(); $EndBuild ./ - - -no_type_declaration_specifier - ::= storage_class_specifier - | type_qualifier - | function_specifier - - -no_type_declaration_specifiers - ::= no_type_declaration_specifier - | no_type_declaration_specifiers no_type_declaration_specifier - - -simple_declaration_specifiers - ::= simple_type_specifier - | no_type_declaration_specifiers simple_type_specifier - | simple_declaration_specifiers simple_type_specifier - | simple_declaration_specifiers no_type_declaration_specifier - - -struct_or_union_declaration_specifiers - ::= struct_or_union_specifier - | no_type_declaration_specifiers struct_or_union_specifier - | struct_or_union_declaration_specifiers no_type_declaration_specifier - - -elaborated_declaration_specifiers - ::= elaborated_specifier - | no_type_declaration_specifiers elaborated_specifier - | elaborated_declaration_specifiers no_type_declaration_specifier - - -enum_declaration_specifiers - ::= enum_specifier - | no_type_declaration_specifiers enum_specifier - | enum_declaration_specifiers no_type_declaration_specifier - - -typdef_name_declaration_specifiers - ::= type_name_specifier - | no_type_declaration_specifiers type_name_specifier - | typdef_name_declaration_specifiers no_type_declaration_specifier - - -init_declarator_list - ::= init_declarator - | init_declarator_list ',' init_declarator - - -init_declarator - ::= complete_declarator - | complete_declarator '=' initializer - /. $Build consumeDeclaratorWithInitializer(true); $EndBuild ./ - - -complete_declarator - ::= declarator - - -storage_class_specifier - ::= storage_class_specifier_token - /. $Build consumeToken(); $EndBuild ./ - - -storage_class_specifier_token - ::= 'typedef' - | 'extern' - | 'static' - | 'auto' - | 'register' - - -simple_type_specifier - ::= simple_type_specifier_token - /. $Build consumeToken(); $EndBuild ./ - -simple_type_specifier_token - ::= 'void' - | 'char' - | 'short' - | 'int' - | 'long' - | 'float' - | 'double' - | 'signed' - | 'unsigned' - | '_Bool' - | '_Complex' - | '_Imaginary' - - -type_name_specifier - ::= identifier_token - /. $Build consumeToken(); $EndBuild ./ - - - -struct_or_union_specifier - ::= struct_or_union struct_or_union_specifier_hook '{' struct_declaration_list_opt '}' - /. $Build consumeTypeSpecifierComposite(false); $EndBuild ./ - | struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook '{' struct_declaration_list_opt '}' - /. $Build consumeTypeSpecifierComposite(true); $EndBuild ./ - -struct_or_union_specifier_hook - ::= $empty - -struct_or_union_specifier_suffix_hook - ::= $empty - -struct_or_union - ::= 'struct' - | 'union' - - -elaborated_specifier - ::= 'struct' elaborated_specifier_hook identifier_token - /. $Build consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); $EndBuild ./ - | 'union' elaborated_specifier_hook identifier_token - /. $Build consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); $EndBuild ./ - | 'enum' elaborated_specifier_hook identifier_token - /. $Build consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); $EndBuild ./ - -elaborated_specifier_hook - ::= $empty - - -struct_declaration_list_opt - ::= struct_declaration_list - | $empty - -struct_declaration_list - ::= struct_declaration - | struct_declaration_list struct_declaration - - -struct_declaration - ::= specifier_qualifier_list struct_declarator_list ';' -- regular declarators plus bit fields - /. $Build consumeStructDeclaration(true); $EndBuild ./ - | specifier_qualifier_list ';' - /. $Build consumeStructDeclaration(false); $EndBuild ./ - | ERROR_TOKEN - /. $Build consumeDeclarationProblem(); $EndBuild ./ - - --- just reuse declaration_specifiers, makes grammar a bit more lenient but thats OK -specifier_qualifier_list - ::= declaration_specifiers - - -struct_declarator_list - ::= complete_struct_declarator - | struct_declarator_list ',' complete_struct_declarator - - -complete_struct_declarator - ::= struct_declarator - - -struct_declarator - ::= declarator - | ':' constant_expression - /. $Build consumeBitField(false); $EndBuild ./ - | declarator ':' constant_expression - /. $Build consumeBitField(true); $EndBuild ./ - - -enum_specifier - ::= 'enum' enum_specifier_hook '{' enumerator_list_opt comma_opt '}' - /. $Build consumeTypeSpecifierEnumeration(false); $EndBuild ./ - | 'enum' enum_specifier_hook identifier_token '{' enumerator_list_opt comma_opt '}' - /. $Build consumeTypeSpecifierEnumeration(true); $EndBuild ./ - -enum_specifier_hook - ::= $empty - - -enumerator_list_opt - ::= enumerator_list - | $empty - - -enumerator_list - ::= enumerator - | enumerator_list ',' enumerator - - -enumerator - ::= identifier_token - /. $Build consumeEnumerator(false); $EndBuild ./ - | identifier_token '=' constant_expression - /. $Build consumeEnumerator(true); $EndBuild ./ - - -type_qualifier - ::= type_qualifier_token - /. $Build consumeToken(); $EndBuild ./ - - -type_qualifier_token - ::= 'const' - | 'restrict' - | 'volatile' - - -function_specifier - ::= 'inline' - /. $Build consumeToken(); $EndBuild ./ - - -declarator - ::= direct_declarator - | pointer_seq direct_declarator - /. $Build consumeDeclaratorWithPointer(true); $EndBuild ./ - - -direct_declarator - ::= array_direct_declarator - | function_prototype_direct_declarator - | basic_direct_declarator - | knr_direct_declarator - - -basic_direct_declarator - ::= declarator_id_name - /. $Build consumeDirectDeclaratorIdentifier(); $EndBuild ./ - | '(' declarator ')' - /. $Build consumeDirectDeclaratorBracketed(); $EndBuild ./ - - -declarator_id_name - ::= 'identifier' - /. $Build consumeIdentifierName(); $EndBuild ./ - - -array_direct_declarator - ::= basic_direct_declarator array_modifier - /. $Build consumeDirectDeclaratorArrayDeclarator(true); $EndBuild ./ - | array_direct_declarator array_modifier - /. $Build consumeDirectDeclaratorArrayDeclarator(true); $EndBuild ./ - - -function_prototype_direct_declarator - ::= function_direct_declarator - - -function_direct_declarator - ::= basic_direct_declarator '(' parameter_type_list ')' - /. $Build consumeDirectDeclaratorFunctionDeclarator(true, true); $EndBuild ./ - | basic_direct_declarator '(' ')' - /. $Build consumeDirectDeclaratorFunctionDeclarator(true, false); $EndBuild ./ - - -function_declarator - ::= function_direct_declarator - | pointer_seq function_direct_declarator - /. $Build consumeDeclaratorWithPointer(true); $EndBuild ./ - - --- This is a hack because the parser cannot tell the difference between --- plain identifiers and types. Because of this an identifier_list would --- always be parsed as a parameter_type_list instead. In a KnR funciton --- definition we can use the extra list of declarators to disambiguate. --- This rule should be merged back into direct_declarator if type info is --- added to the parser. - -knr_direct_declarator - ::= basic_direct_declarator '(' identifier_list ')' - /. $Build consumeDirectDeclaratorFunctionDeclaratorKnR(); $EndBuild ./ - - -knr_function_declarator - ::= knr_direct_declarator - | pointer_seq knr_direct_declarator - /. $Build consumeDeclaratorWithPointer(true); $EndBuild ./ - - -identifier_list - ::= 'identifier' - /. $Build consumeIdentifierKnR(); $EndBuild ./ - | identifier_list ',' 'identifier' - /. $Build consumeIdentifierKnR(); $EndBuild ./ - - -array_modifier - ::= '[' ']' - /. $Build consumeDirectDeclaratorArrayModifier(false); $EndBuild ./ - | '[' array_modifier_type_qualifiers ']' - /. $Build consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); $EndBuild ./ - | '[' assignment_expression ']' - /. $Build consumeDirectDeclaratorArrayModifier(true); $EndBuild ./ - | '[' array_modifier_type_qualifiers assignment_expression ']' - /. $Build consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); $EndBuild ./ - | '[' 'static' assignment_expression ']' - /. $Build consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); $EndBuild ./ - | '[' 'static' array_modifier_type_qualifiers assignment_expression ']' - /. $Build consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); $EndBuild ./ - | '[' array_modifier_type_qualifiers 'static' assignment_expression ']' - /. $Build consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); $EndBuild ./ - | '[' '*' ']' - /. $Build consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); $EndBuild ./ - | '[' array_modifier_type_qualifiers '*' ']' - /. $Build consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); $EndBuild ./ - - -array_modifier_type_qualifiers - ::= type_qualifier_list - - -pointer_seq - ::= pointer_hook '*' pointer_hook - /. $Build consumePointer(); $EndBuild ./ - | pointer_seq pointer_hook '*' pointer_hook - /. $Build consumePointer(); $EndBuild ./ - | pointer_hook '*' pointer_hook type_qualifier_list - /. $Build consumePointerTypeQualifierList(); $EndBuild ./ - | pointer_seq pointer_hook '*' pointer_hook type_qualifier_list - /. $Build consumePointerTypeQualifierList(); $EndBuild ./ - -pointer_hook - ::= $empty - - -type_qualifier_list - ::= type_qualifier - | type_qualifier_list type_qualifier - - -parameter_type_list - ::= parameter_list - /. $Build consumeEmpty(); $EndBuild ./ - | parameter_list ',' '...' - /. $Build consumePlaceHolder(); $EndBuild ./ - | '...' -- not spec - /. $Build consumePlaceHolder(); $EndBuild ./ - - -parameter_list - ::= parameter_declaration - | parameter_list ',' parameter_declaration - - -parameter_declaration - ::= declaration_specifiers complete_parameter_declarator - /. $Build consumeParameterDeclaration(); $EndBuild ./ - | declaration_specifiers - /. $Build consumeParameterDeclarationWithoutDeclarator(); $EndBuild ./ - - -complete_parameter_declarator - ::= declarator - | abstract_declarator - - - --- only used in expressions, eg) sizeof, casts etc... -type_id - ::= specifier_qualifier_list - /. $Build consumeTypeId(false); $EndBuild ./ - | specifier_qualifier_list abstract_declarator - /. $Build consumeTypeId(true); $EndBuild ./ - - -abstract_declarator -- a declarator that does not include an identifier - ::= direct_abstract_declarator - | pointer_seq - /. $Build consumeDeclaratorWithPointer(false); $EndBuild ./ - | pointer_seq direct_abstract_declarator - /. $Build consumeDeclaratorWithPointer(true); $EndBuild ./ - - -direct_abstract_declarator - ::= basic_direct_abstract_declarator - | array_direct_abstract_declarator - | function_direct_abstract_declarator - - -basic_direct_abstract_declarator - ::= '(' abstract_declarator ')' - /. $Build consumeDirectDeclaratorBracketed(); $EndBuild ./ - - -array_direct_abstract_declarator - ::= array_modifier - /. $Build consumeDirectDeclaratorArrayDeclarator(false); $EndBuild ./ - | array_direct_abstract_declarator array_modifier - /. $Build consumeDirectDeclaratorArrayDeclarator(true); $EndBuild ./ - | basic_direct_abstract_declarator array_modifier - /. $Build consumeDirectDeclaratorArrayDeclarator(true); $EndBuild ./ - - -function_direct_abstract_declarator - ::= '(' ')' - /. $Build consumeDirectDeclaratorFunctionDeclarator(false, false); $EndBuild ./ - | basic_direct_abstract_declarator '(' ')' - /. $Build consumeDirectDeclaratorFunctionDeclarator(true, false); $EndBuild ./ - | '(' parameter_type_list ')' - /. $Build consumeDirectDeclaratorFunctionDeclarator(false, true); $EndBuild ./ - | basic_direct_abstract_declarator '(' parameter_type_list ')' - /. $Build consumeDirectDeclaratorFunctionDeclarator(true, true); $EndBuild ./ - - -initializer - ::= assignment_expression - /. $Build consumeInitializer(); $EndBuild ./ - | initializer_list ---CDT_70_FIX_FROM_50-#4 - /. $Build consumeInitializer(); $EndBuild ./ - - -initializer_list - ::= start_initializer_list '{' initializer_seq comma_opt '}' end_initializer_list - /. $Build consumeInitializerList(); $EndBuild ./ - | '{' '}' - /. $Build consumeInitializerList(); $EndBuild ./ - - -start_initializer_list - ::= $empty - /. $Build initializerListStart(); $EndBuild ./ - -end_initializer_list - ::= $empty - /. $Build initializerListEnd(); $EndBuild ./ - - -initializer_seq - ::= initializer - | designated_initializer - | initializer_seq ',' initializer - | initializer_seq ',' designated_initializer - - -designated_initializer - ::= designation '=' initializer - /. $Build consumeInitializerDesignated(); $EndBuild ./ - - -designation - ::= designator_list - - -designator_list - ::= designator_base - | designator_list designator - - -designator_base - ::= '[' constant_expression ']' - /. $Build consumeDesignatorArray(); $EndBuild ./ - | '.' identifier_token - /. $Build consumeDesignatorField(); $EndBuild ./ - -designator - ::= '[' constant_expression ']' - /. $Build consumeDesignatorArray(); $EndBuild ./ - | '.' identifier_token - /. $Build consumeDesignatorField(); $EndBuild ./ - - -------------------------------------------------------------------------------------------- --- External Definitions -------------------------------------------------------------------------------------------- - -translation_unit - ::= external_declaration_list - /. $Build consumeTranslationUnit(); $EndBuild ./ - | $empty - /. $Build consumeTranslationUnit(); $EndBuild ./ - - -external_declaration_list - ::= external_declaration - | external_declaration_list external_declaration - - -external_declaration - ::= function_definition - | declaration - | ';' - /. $Build consumeDeclarationEmpty(); $EndBuild ./ - | ERROR_TOKEN - /. $Build consumeDeclarationProblem(); $EndBuild ./ - - --- Used by KnR -declaration_list - ::= declaration - | declaration_list declaration - - --- The extra nonterminal before declarator in this rule is only there --- to avoid a shift/reduce error with the rule for declaration. --- The symbol table scoped is opened in the rule for function_direct_declarator -function_definition - ::= normal_function_definition - -- this rule is here as a special case (its not C99 spec) just to support implicit int in function definitions - | function_declarator function_body - /. $Build consumeFunctionDefinition(false); $EndBuild ./ - | declaration_specifiers knr_function_declarator declaration_list compound_statement - /. $Build consumeFunctionDefinitionKnR(); $EndBuild ./ - -normal_function_definition - ::= declaration_specifiers function_declarator function_body - /. $Build consumeFunctionDefinition(true); $EndBuild ./ - --- same syntax as compound_statement but a symbol table scope isn't opened -function_body - ::= '{' '}' - /. $Build consumeStatementCompoundStatement(false); $EndBuild ./ - | '{' block_item_list '}' - /. $Build consumeStatementCompoundStatement(true); $EndBuild ./ - -$End diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99NoCastExpressionParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99NoCastExpressionParser.g deleted file mode 100644 index cc2dd60556e..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99NoCastExpressionParser.g +++ /dev/null @@ -1,42 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2006, 2009 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.lrparser.c99 -%options template=LRSecondaryParserTemplate.g - -$Import - C99Grammar.g -$DropRules - - cast_expression - ::= '(' type_id ')' cast_expression - -$End - -$Define - $ast_class /. IASTExpression ./ -$End - -$Start - no_cast_start -$End - -$Rules - - no_cast_start - ::= expression - | ERROR_TOKEN - /. $Build consumeEmpty(); $EndBuild ./ - -$End \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Parser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Parser.g deleted file mode 100644 index 2a2bdca5d87..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Parser.g +++ /dev/null @@ -1,27 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2006, 2008 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.lrparser.c99 -%options template=LRParserTemplate.g - --- This file is needed because LPG won't allow redefinition of the --- start symbol, so C99Grammar.g cannot define the start symbol. - -$Import - C99Grammar.g -$End - -$Start - translation_unit -$End \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99SizeofExpressionParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99SizeofExpressionParser.g deleted file mode 100644 index 0e475cd9a9c..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99SizeofExpressionParser.g +++ /dev/null @@ -1,43 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2006, 2009 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.lrparser.c99 -%options template=LRSecondaryParserTemplate.g - - -$Import - C99Grammar.g -$DropRules - - unary_expression - ::= 'sizeof' '(' type_id ')' - -$End - -$Define - $ast_class /. IASTExpression ./ -$End - -$Start - no_sizeof_type_id_start -$End - -$Rules - - no_sizeof_type_id_start - ::= expression - | ERROR_TOKEN - /. $Build consumeEmpty(); $EndBuild ./ - -$End \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPExpressionParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPExpressionParser.g deleted file mode 100644 index 5d52628a86b..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPExpressionParser.g +++ /dev/null @@ -1,39 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2006, 2008 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.lrparser.cpp -%options template=LRSecondaryParserTemplate.g - --- All we need to do is import the main parser and redefine the start symbol. - -$Import - CPPGrammar.g -$End - -$Define - $ast_class /. IASTExpression ./ -$End - -$Start - expression_parser_start -$End - -$Rules - - expression_parser_start - ::= expression - | ERROR_TOKEN - /. $Build consumeEmpty(); $EndBuild ./ - -$End \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g deleted file mode 100644 index b11e9c8457a..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g +++ /dev/null @@ -1,1832 +0,0 @@ ----------------------------------------------------------------------------------- --- Copyright (c) 2006, 2010 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ----------------------------------------------------------------------------------- - - -$Terminals - - -- Keywords - - 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 - - -- Literals - - integer floating charconst stringlit - - -- Identifiers - - identifier - - -- Special tokens used in content assist - - Completion - EndOfCompletion - - -- Unrecognized token, not actually used anywhere in the grammar, always leads to syntax error - - Invalid - - -- Punctuation (with aliases to make grammar more readable) - - LeftBracket ::= '[' - LeftParen ::= '(' - Dot ::= '.' - DotStar ::= '.*' - Arrow ::= '->' - ArrowStar ::= '->*' - PlusPlus ::= '++' - MinusMinus ::= '--' - And ::= '&' - Star ::= '*' - Plus ::= '+' - Minus ::= '-' - Tilde ::= '~' - Bang ::= '!' - Slash ::= '/' - Percent ::= '%' - RightShift ::= '>>' - LeftShift ::= '<<' - LT ::= '<' - GT ::= '>' - LE ::= '<=' - GE ::= '>=' - EQ ::= '==' - NE ::= '!=' - Caret ::= '^' - Or ::= '|' - AndAnd ::= '&&' - OrOr ::= '||' - Question ::= '?' - Colon ::= ':' - ColonColon ::= '::' - DotDotDot ::= '...' - Assign ::= '=' - StarAssign ::= '*=' - SlashAssign ::= '/=' - PercentAssign ::= '%=' - PlusAssign ::= '+=' - MinusAssign ::= '-=' - RightShiftAssign ::= '>>=' - LeftShiftAssign ::= '<<=' - AndAssign ::= '&=' - CaretAssign ::= '^=' - OrAssign ::= '|=' - Comma ::= ',' - - RightBracket -- these four have special rules for content assist - RightParen - RightBrace - SemiColon - LeftBrace - -$End - - -$Globals -/. - import org.eclipse.cdt.core.dom.ast.cpp.*; - import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory; - import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction; - import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory; -./ -$End - - -$Define - $build_action_class /. CPPBuildASTParserAction ./ - $node_factory_create_expression /. CPPNodeFactory.getDefault() ./ - $parser_factory_create_expression /. CPPSecondaryParserFactory.getDefault() ./ -$End - - -$Rules - ------------------------------------------------------------------------------------------- --- AST scoping ------------------------------------------------------------------------------------------- - - - - ::= $empty - /. $Build openASTScope(); $EndBuild ./ - - - ::= $empty - /. $Build consumeEmpty(); $EndBuild ./ - ------------------------------------------------------------------------------------------- --- Content assist ------------------------------------------------------------------------------------------- - --- The EndOfCompletion token is a special token that matches some punctuation. --- These tokens allow the parse to complete successfully after a Completion token --- is encountered. - - -']' ::=? 'RightBracket' - | 'EndOfCompletion' - -')' ::=? 'RightParen' - | 'EndOfCompletion' - -'}' ::=? 'RightBrace' - | 'EndOfCompletion' - -';' ::=? 'SemiColon' - | 'EndOfCompletion' - -'{' ::=? 'LeftBrace' - | 'EndOfCompletion' - - - ------------------------------------------------------------------------------------------- --- Basic Concepts ------------------------------------------------------------------------------------------- - --- The extra external declaration rules are there just so that ERROR_TOKEN can be --- caught at the top level. - -translation_unit - ::= declaration_seq_opt - /. $Build consumeTranslationUnit(); $EndBuild ./ - - ------------------------------------------------------------------------------------------- --- Expressions ------------------------------------------------------------------------------------------- - -identifier_token - ::= 'identifier' - | 'Completion' - - -literal - ::= 'integer' - /. $Build consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); $EndBuild ./ - | 'floating' - /. $Build consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); $EndBuild ./ - | 'charconst' - /. $Build consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); $EndBuild ./ - | 'stringlit' - /. $Build consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); $EndBuild ./ - | 'true' - /. $Build consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); $EndBuild ./ - | 'false' - /. $Build consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); $EndBuild ./ - | 'this' - /. $Build consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); $EndBuild ./ - - -primary_expression - ::= literal - | '(' expression ')' - /. $Build consumeExpressionBracketed(); $EndBuild ./ - | id_expression - - -id_expression - ::= qualified_or_unqualified_name - /. $Build consumeExpressionName(); $EndBuild ./ - - --- Pushes an IASTName on the stack, if you want an id expression then wrap the name -qualified_or_unqualified_name - ::= unqualified_id_name - | qualified_id_name - - -unqualified_id_name - ::= identifier_name - | operator_function_id_name - | conversion_function_id_name - | template_id_name - | '~' identifier_token - /. $Build consumeDestructorName(); $EndBuild ./ - | '~' template_id_name - /. $Build consumeDestructorNameTemplateId(); $EndBuild ./ - -- | '~' class_name - - - --- wrap an identifier in a name node -identifier_name - ::= identifier_token - /. $Build consumeIdentifierName(); $EndBuild ./ - - -template_opt - ::= 'template' - /. $Build consumePlaceHolder(); $EndBuild ./ - | $empty - /. $Build consumeEmpty(); $EndBuild ./ - - --- the ::=? is necessary for example 8.2.1 in the C++ spec to parse correctly -dcolon_opt - ::=? '::' - /. $Build consumeToken(); $EndBuild ./ -- need the actual token to compute offsets - | $empty - /. $Build consumeEmpty(); $EndBuild ./ - - - -qualified_id_name - ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name - /. $Build consumeQualifiedId(true); $EndBuild ./ - | '::' unqualified_id_name - /. $Build consumeGlobalQualifiedId(); $EndBuild ./ - - --| '::' identifier_name - -- /. $Build consumeGlobalQualifiedId(); $EndBuild ./ - --| '::' operator_function_id_name - -- /. $Build consumeGlobalQualifiedId(); $EndBuild ./ - --| '::' template_id_name - -- /. $Build consumeGlobalQualifiedId(); $EndBuild ./ - - - ---unqualified_id_with_template_name --- ::= template_opt unqualified_id_name --- /. $Build consumeNameWithTemplateKeyword(); $EndBuild ./ - - --- puts a list of names in reverse order on the stack --- always ends with :: --- this is the part of a qualified id that comes before the last :: --- but does not include a :: at the front -nested_name_specifier - ::= class_or_namespace_name '::' nested_name_specifier_with_template - /. $Build consumeNestedNameSpecifier(true); $EndBuild ./ - | class_or_namespace_name '::' - /. $Build consumeNestedNameSpecifier(false); $EndBuild ./ - - -nested_name_specifier_with_template - ::= class_or_namespace_name_with_template '::' nested_name_specifier_with_template - /. $Build consumeNestedNameSpecifier(true); $EndBuild ./ - | class_or_namespace_name_with_template '::' - /. $Build consumeNestedNameSpecifier(false); $EndBuild ./ - - -class_or_namespace_name_with_template - ::= template_opt class_or_namespace_name - /. $Build consumeNameWithTemplateKeyword(); $EndBuild ./ - - - -nested_name_specifier_opt - ::= nested_name_specifier - | $empty - /. $Build consumeNestedNameSpecifierEmpty(); $EndBuild ./ - - -class_or_namespace_name -- just identifiers - ::= class_name - --| namespace_name -- namespace_name name can only be an identifier token, which is already accepted by class_name - - -postfix_expression - ::= primary_expression - | postfix_expression '[' expression ']' - /. $Build consumeExpressionArraySubscript(); $EndBuild ./ - | postfix_expression '(' expression_list_opt ')' - /. $Build consumeExpressionFunctionCall(); $EndBuild ./ - | simple_type_specifier '(' expression_list_opt ')' -- explicit type conversion operator - /. $Build consumeExpressionSimpleTypeConstructor(); $EndBuild ./ - | 'typename' dcolon_opt nested_name_specifier identifier_name '(' expression_list_opt ')' - /. $Build consumeExpressionTypeName(); $EndBuild ./ - | 'typename' dcolon_opt nested_name_specifier template_opt template_id_name '(' expression_list_opt ')' - /. $Build consumeExpressionTypeName(); $EndBuild ./ - | postfix_expression '.' qualified_or_unqualified_name - /. $Build consumeExpressionFieldReference(false, false); $EndBuild ./ - | postfix_expression '->' qualified_or_unqualified_name - /. $Build consumeExpressionFieldReference(true, false); $EndBuild ./ - | postfix_expression '.' 'template' qualified_or_unqualified_name - /. $Build consumeExpressionFieldReference(false, true); $EndBuild ./ - | postfix_expression '->' 'template' qualified_or_unqualified_name - /. $Build consumeExpressionFieldReference(true, true); $EndBuild ./ - | postfix_expression '.' pseudo_destructor_name - /. $Build consumeExpressionFieldReference(false, false); $EndBuild ./ - | postfix_expression '->' pseudo_destructor_name - /. $Build consumeExpressionFieldReference(true, false); $EndBuild ./ - | postfix_expression '++' - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); $EndBuild ./ - | postfix_expression '--' - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); $EndBuild ./ - | 'dynamic_cast' '<' type_id '>' '(' expression ')' - /. $Build consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); $EndBuild ./ - | 'static_cast' '<' type_id '>' '(' expression ')' - /. $Build consumeExpressionCast(ICPPASTCastExpression.op_static_cast); $EndBuild ./ - | 'reinterpret_cast' '<' type_id '>' '(' expression ')' - /. $Build consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); $EndBuild ./ - | 'const_cast' '<' type_id '>' '(' expression ')' - /. $Build consumeExpressionCast(ICPPASTCastExpression.op_const_cast); $EndBuild ./ - | 'typeid' '(' expression ')' - /. $Build consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); $EndBuild ./ - | 'typeid' '(' type_id ')' - /. $Build consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); $EndBuild ./ - - - --- just names --- Don't even know if I really need this rule, the DOM parser just parses qualified_or_unqualified_name --- instead of pseudo_destructor_name. But the difference is I have different --- token types, so maybe I do need this rule. -pseudo_destructor_name - ::= dcolon_opt nested_name_specifier_opt type_name '::' destructor_type_name - /. $Build consumePsudoDestructorName(true); $EndBuild ./ - | dcolon_opt nested_name_specifier 'template' template_id_name '::' destructor_type_name - /. $Build consumePsudoDestructorName(true); $EndBuild ./ - | dcolon_opt nested_name_specifier_opt destructor_type_name - /. $Build consumePsudoDestructorName(false); $EndBuild ./ - - -destructor_type_name - ::= '~' identifier_token - /. $Build consumeDestructorName(); $EndBuild ./ - | '~' template_id_name - /. $Build consumeDestructorNameTemplateId(); $EndBuild ./ - - ---destructor_type_name --- ::= '~' type_name --- /. $Build consumeDestructorName(); $EndBuild ./ - - - -unary_expression - ::= postfix_expression - | new_expression - | delete_expression - | '++' cast_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); $EndBuild ./ - | '--' cast_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); $EndBuild ./ - | '&' cast_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); $EndBuild ./ - | '*' cast_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); $EndBuild ./ - | '+' cast_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); $EndBuild ./ - | '-' cast_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); $EndBuild ./ - | '~' cast_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); $EndBuild ./ - | '!' cast_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); $EndBuild ./ - | 'sizeof' unary_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); $EndBuild ./ - | 'sizeof' '(' type_id ')' - /. $Build consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); $EndBuild ./ - - -new_expression - ::= dcolon_opt 'new' new_placement_opt new_type_id new_array_expressions_opt new_initializer_opt - /. $Build consumeExpressionNew(true); $EndBuild ./ - | dcolon_opt 'new' new_placement_opt '(' type_id ')' new_array_expressions_opt new_initializer_opt - /. $Build consumeExpressionNew(false); $EndBuild ./ - - -new_placement_opt - ::= '(' expression_list ')' - | $empty - /. $Build consumeEmpty(); $EndBuild ./ - - -new_type_id - ::= type_specifier_seq - /. $Build consumeTypeId(false); $EndBuild ./ - | type_specifier_seq new_declarator - /. $Build consumeTypeId(true); $EndBuild ./ - - -new_declarator -- pointer operators are part of the type id, held in an empty declarator - ::= new_pointer_operators - /. $Build consumeNewDeclarator(); $EndBuild ./ - - -new_pointer_operators -- presumably this will not need an action as ptr_operator will have one - ::= ptr_operator - | ptr_operator new_pointer_operators - - -new_array_expressions - ::= '[' expression ']' - | new_array_expressions '[' constant_expression ']' - - -new_array_expressions_opt - ::= new_array_expressions - | $empty - - -new_initializer - ::= '(' expression_list_opt ')' -- even if the parens are there we get null in the AST - /. $Build consumeNewInitializer(); $EndBuild ./ - - -new_initializer_opt - ::= new_initializer - | $empty - /. $Build consumeEmpty(); $EndBuild ./ - - -delete_expression - ::= dcolon_opt 'delete' cast_expression - /. $Build consumeExpressionDelete(false); $EndBuild ./ - | dcolon_opt 'delete' '[' ']' cast_expression - /. $Build consumeExpressionDelete(true); $EndBuild ./ - - -cast_expression - ::= unary_expression - | '(' type_id ')' cast_expression - /. $Build consumeExpressionCast(ICPPASTCastExpression.op_cast); $EndBuild ./ - - -pm_expression - ::= cast_expression - | pm_expression '.*' cast_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); $EndBuild ./ - | pm_expression '->*' cast_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); $EndBuild ./ - - -multiplicative_expression - ::= pm_expression - | multiplicative_expression '*' pm_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); $EndBuild ./ - | multiplicative_expression '/' pm_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); $EndBuild ./ - | multiplicative_expression '%' pm_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); $EndBuild ./ - - -additive_expression - ::= multiplicative_expression - | additive_expression '+' multiplicative_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); $EndBuild ./ - | additive_expression '-' multiplicative_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); $EndBuild ./ - - -shift_expression - ::= additive_expression - | shift_expression '<<' additive_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); $EndBuild ./ - | shift_expression '>>' additive_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); $EndBuild ./ - - -relational_expression - ::= shift_expression - | relational_expression '<' shift_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); $EndBuild ./ - | relational_expression '>' shift_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); $EndBuild ./ - | relational_expression '<=' shift_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); $EndBuild ./ - | relational_expression '>=' shift_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); $EndBuild ./ - - -equality_expression - ::= relational_expression - | equality_expression '==' relational_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); $EndBuild ./ - | equality_expression '!=' relational_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); $EndBuild ./ - - -and_expression - ::= equality_expression - | and_expression '&' equality_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); $EndBuild ./ - - -exclusive_or_expression - ::= and_expression - | exclusive_or_expression '^' and_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); $EndBuild ./ - - -inclusive_or_expression - ::= exclusive_or_expression - | inclusive_or_expression '|' exclusive_or_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); $EndBuild ./ - - -logical_and_expression - ::= inclusive_or_expression - | logical_and_expression '&&' inclusive_or_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); $EndBuild ./ - - -logical_or_expression - ::= logical_and_expression - | logical_or_expression '||' logical_and_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); $EndBuild ./ - - -conditional_expression - ::= logical_or_expression - | logical_or_expression '?' expression ':' assignment_expression - /. $Build consumeExpressionConditional(); $EndBuild ./ - - ---rules for template arguments, relational_expression needs brackets when it contains > - -relational_expression_inTemplate - ::= shift_expression - | relational_expression_inTemplate '<' shift_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); $EndBuild ./ - | '(' relational_expression_inTemplate '>' shift_expression ')' - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); $EndBuild ./ - | relational_expression_inTemplate '<=' shift_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); $EndBuild ./ - | relational_expression_inTemplate '>=' shift_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); $EndBuild ./ - -equality_expression_inTemplate - ::= relational_expression_inTemplate - | equality_expression_inTemplate '==' relational_expression_inTemplate - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); $EndBuild ./ - | equality_expression_inTemplate '!=' relational_expression_inTemplate - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); $EndBuild ./ - - -and_expression_inTemplate - ::= equality_expression_inTemplate - | and_expression_inTemplate '&' equality_expression_inTemplate - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); $EndBuild ./ -exclusive_or_expression_inTemplate - ::= and_expression_inTemplate - | exclusive_or_expression_inTemplate '^' and_expression_inTemplate - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); $EndBuild ./ - - -inclusive_or_expression_inTemplate - ::= exclusive_or_expression_inTemplate - | inclusive_or_expression_inTemplate '|' exclusive_or_expression_inTemplate - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); $EndBuild ./ - - -logical_and_expression_inTemplate - ::= inclusive_or_expression_inTemplate - | logical_and_expression_inTemplate '&&' inclusive_or_expression_inTemplate - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); $EndBuild ./ - - -logical_or_expression_inTemplate - ::= logical_and_expression_inTemplate - | logical_or_expression_inTemplate '||' logical_and_expression_inTemplate - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); $EndBuild ./ - - -conditional_expression_inTemplate - ::= logical_or_expression_inTemplate - | logical_or_expression_inTemplate '?' expression ':' assignment_expression_inTemplate - /. $Build consumeExpressionConditional(); $EndBuild ./ - -assignment_expression_inTemplate - ::= conditional_expression_inTemplate - | throw_expression - | logical_or_expression_inTemplate '=' assignment_expression_inTemplate - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); $EndBuild ./ - | logical_or_expression_inTemplate '*=' assignment_expression_inTemplate - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); $EndBuild ./ - | logical_or_expression_inTemplate '/=' assignment_expression_inTemplate - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); $EndBuild ./ - | logical_or_expression_inTemplate '%=' assignment_expression_inTemplate - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); $EndBuild ./ - | logical_or_expression_inTemplate '+=' assignment_expression_inTemplate - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); $EndBuild ./ - | logical_or_expression_inTemplate '-=' assignment_expression_inTemplate - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); $EndBuild ./ - | logical_or_expression_inTemplate '>>=' assignment_expression_inTemplate - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); $EndBuild ./ - | logical_or_expression_inTemplate '<<=' assignment_expression_inTemplate - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); $EndBuild ./ - | logical_or_expression_inTemplate '&=' assignment_expression_inTemplate - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); $EndBuild ./ - | logical_or_expression_inTemplate '^=' assignment_expression_inTemplate - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); $EndBuild ./ - | logical_or_expression_inTemplate '|=' assignment_expression_inTemplate - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); $EndBuild ./ - - - - ---end of rules for template arguments -throw_expression - ::= 'throw' - /. $Build consumeExpressionThrow(false); $EndBuild ./ - | 'throw' assignment_expression - /. $Build consumeExpressionThrow(true); $EndBuild ./ - - -assignment_expression - ::= conditional_expression - | throw_expression - | logical_or_expression '=' assignment_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); $EndBuild ./ - | logical_or_expression '*=' assignment_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); $EndBuild ./ - | logical_or_expression '/=' assignment_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); $EndBuild ./ - | logical_or_expression '%=' assignment_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); $EndBuild ./ - | logical_or_expression '+=' assignment_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); $EndBuild ./ - | logical_or_expression '-=' assignment_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); $EndBuild ./ - | logical_or_expression '>>=' assignment_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); $EndBuild ./ - | logical_or_expression '<<=' assignment_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); $EndBuild ./ - | logical_or_expression '&=' assignment_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); $EndBuild ./ - | logical_or_expression '^=' assignment_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); $EndBuild ./ - | logical_or_expression '|=' assignment_expression - /. $Build consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); $EndBuild ./ - - -expression - ::= expression_list - -- | ERROR_TOKEN - -- /. $Build consumeExpressionProblem(); $EndBuild ./ - --- expression_list and expression_list_opt always result in a single element on the stack --- the element might be an expression, an expression list or null - -expression_list - ::= expression_list_actual - /. $Build consumeExpressionList(); $EndBuild ./ - - -expression_list_actual - ::= assignment_expression - | expression_list_actual ',' assignment_expression - - -expression_list_opt - ::= expression_list - | $empty - /. $Build consumeEmpty(); $EndBuild ./ - - -expression_opt - ::= expression - | $empty - /. $Build consumeEmpty(); $EndBuild ./ - - -constant_expression - ::= conditional_expression - - -constant_expression_opt - ::= constant_expression - | $empty - /. $Build consumeEmpty(); $EndBuild ./ - - ------------------------------------------------------------------------------------------- --- Statements ------------------------------------------------------------------------------------------- - -statement - ::= labeled_statement - | expression_statement - | compound_statement - | selection_statement - | iteration_statement - | jump_statement - | declaration_statement - | try_block - | ERROR_TOKEN - /. $Build consumeStatementProblem(); $EndBuild ./ - - -labeled_statement - ::= 'identifier' ':' statement - /. $Build consumeStatementLabeled(); $EndBuild ./ - | 'case' constant_expression ':' statement - /. $Build consumeStatementCase(); $EndBuild ./ - | 'default' ':' statement - /. $Build consumeStatementDefault(); $EndBuild ./ - - -expression_statement - ::= expression ';' - /. $Build consumeStatementExpression(); $EndBuild ./ - | ';' - /. $Build consumeStatementNull(); $EndBuild ./ - - -compound_statement - ::= '{' statement_seq '}' - /. $Build consumeStatementCompoundStatement(true); $EndBuild ./ - | '{' '}' - /. $Build consumeStatementCompoundStatement(false); $EndBuild ./ - - -statement_seq - ::= statement - | statement_seq statement - - -selection_statement - ::= 'if' '(' condition ')' statement - /. $Build consumeStatementIf(false); $EndBuild ./ - | 'if' '(' condition ')' statement 'else' statement - /. $Build consumeStatementIf(true); $EndBuild ./ - | 'switch' '(' condition ')' statement - /. $Build consumeStatementSwitch(); $EndBuild ./ - - - -condition - ::= expression - | type_specifier_seq declarator '=' assignment_expression - /. $Build consumeConditionDeclaration(); $EndBuild ./ - -condition_opt - ::= condition - | $empty - /. $Build consumeEmpty(); $EndBuild ./ - - -iteration_statement - ::= 'while' '(' condition ')' statement - /. $Build consumeStatementWhileLoop(); $EndBuild ./ - | 'do' statement 'while' '(' expression ')' ';' - /. $Build consumeStatementDoLoop(true); $EndBuild ./ - | 'do' statement - /. $Build consumeStatementDoLoop(false); $EndBuild ./ - | 'for' '(' for_init_statement condition_opt ';' expression_opt ')' statement - /. $Build consumeStatementForLoop(); $EndBuild ./ - - --- I'm sure there are ambiguities here but we won't worry about it -for_init_statement - ::= expression_statement - | simple_declaration_with_declspec - /. $Build consumeStatementDeclaration(); $EndBuild ./ - - -jump_statement - ::= 'break' ';' - /. $Build consumeStatementBreak(); $EndBuild ./ - | 'continue' ';' - /. $Build consumeStatementContinue(); $EndBuild ./ - | 'return' expression ';' - /. $Build consumeStatementReturn(true); $EndBuild ./ - | 'return' ';' - /. $Build consumeStatementReturn(false); $EndBuild ./ - | 'goto' identifier_token ';' - /. $Build consumeStatementGoto(); $EndBuild ./ - - --- Nested functions are not part of the C++ spec, but several --- of the parser test cases expect them to work. -declaration_statement - ::= block_declaration - /. $Build consumeStatementDeclarationWithDisambiguation(); $EndBuild ./ - | function_definition -- not spec - /. $Build consumeStatementDeclaration(); $EndBuild ./ - - - ------------------------------------------------------------------------------------------- --- Declarations ------------------------------------------------------------------------------------------- - - -declaration - ::= block_declaration - | function_definition - | template_declaration - | explicit_instantiation - | explicit_specialization - | linkage_specification - | namespace_definition - | ERROR_TOKEN - /. $Build consumeDeclarationProblem(); $EndBuild ./ - - -block_declaration - ::= simple_declaration - | asm_definition - | namespace_alias_definition - | using_declaration - | using_directive - - -declaration_seq - ::= declaration - | declaration_seq declaration - - - -declaration_seq_opt - ::= declaration_seq - | $empty - - - -simple_declaration - ::= declaration_specifiers_opt init_declarator_list_opt ';' - /. $Build consumeDeclarationSimple(true); $EndBuild ./ - - -simple_declaration_with_declspec - ::= declaration_specifiers init_declarator_list_opt ';' - /. $Build consumeDeclarationSimple(true); $EndBuild ./ - - --- declaration specifier nodes not created here, they are created by sub-rules --- these rules add IToken modifiers to the declspec nodes -declaration_specifiers - ::= simple_declaration_specifiers - /. $Build consumeDeclarationSpecifiersSimple(); $EndBuild ./ - | class_declaration_specifiers - /. $Build consumeDeclarationSpecifiersComposite(); $EndBuild ./ - | elaborated_declaration_specifiers - /. $Build consumeDeclarationSpecifiersComposite(); $EndBuild ./ - | enum_declaration_specifiers - /. $Build consumeDeclarationSpecifiersComposite(); $EndBuild ./ - | type_name_declaration_specifiers - /. $Build consumeDeclarationSpecifiersTypeName(); $EndBuild ./ - - -declaration_specifiers_opt - ::= declaration_specifiers - | $empty - /. $Build consumeEmpty(); $EndBuild ./ - - - --- what about type qualifiers... cv_qualifier -no_type_declaration_specifier - ::= storage_class_specifier - | function_specifier - | cv_qualifier - | 'friend' - /. $Build consumeToken(); $EndBuild ./ - | 'typedef' - /. $Build consumeToken(); $EndBuild ./ - - -no_type_declaration_specifiers - ::= no_type_declaration_specifier - | no_type_declaration_specifiers no_type_declaration_specifier - - --- now also includes qualified names --- if there is no long long then this may be simplified -simple_declaration_specifiers - ::= simple_type_specifier - | no_type_declaration_specifiers simple_type_specifier - | simple_declaration_specifiers simple_type_specifier - | simple_declaration_specifiers no_type_declaration_specifier - | no_type_declaration_specifiers - - --- struct, union or class! -class_declaration_specifiers - ::= class_specifier - | no_type_declaration_specifiers class_specifier - | class_declaration_specifiers no_type_declaration_specifier - - --- elaborated means something different, but how different? -elaborated_declaration_specifiers - ::= elaborated_type_specifier - | no_type_declaration_specifiers elaborated_type_specifier - | elaborated_declaration_specifiers no_type_declaration_specifier - - --- Think this is the same -enum_declaration_specifiers - ::= enum_specifier - | no_type_declaration_specifiers enum_specifier - | enum_declaration_specifiers no_type_declaration_specifier - - --- just typedefs in C99, but expanded to type names in C++ (no tagging needed) -type_name_declaration_specifiers - ::= type_name_specifier - | no_type_declaration_specifiers type_name_specifier - | type_name_declaration_specifiers no_type_declaration_specifier - - - -- TODO comment this out ---decl_specifier --- ::= storage_class_specifier -- just keywords --- | type_specifier -- this is where the fun is - -- | function_specifier -- just keywords - -- | 'friend' - -- | 'typedef' - - -storage_class_specifier - ::= 'auto' - /. $Build consumeToken(); $EndBuild ./ - | 'register' - /. $Build consumeToken(); $EndBuild ./ - | 'static' - /. $Build consumeToken(); $EndBuild ./ - | 'extern' - /. $Build consumeToken(); $EndBuild ./ - | 'mutable' - /. $Build consumeToken(); $EndBuild ./ - - -function_specifier - ::= 'inline' - /. $Build consumeToken(); $EndBuild ./ - | 'virtual' - /. $Build consumeToken(); $EndBuild ./ - | 'explicit' - /. $Build consumeToken(); $EndBuild ./ - - --- We have no way to disambiguate token types ---typedef_name --- ::= identifier_token - - ---type_specifier --- ::= simple_type_specifier -- int, void etc... --- | class_specifier -- structs, unions, classes --- | enum_specifier -- enums --- | elaborated_type_specifier -- its elaborated, but this is different than c, includes typename --- | cv_qualifier -- the const and volatile keywords (separated because they can be applied to pointer modifiers) - - ---simple_type_specifier --- ::= dcolon_opt nested_name_specifier_opt type_name --- /. $Build consumeQualifiedId(false); $EndBuild ./ --- | dcolon_opt nested_name_specifier 'template' template_id_name --- /. $Build consumeQualifiedId(false); $EndBuild ./ --- | simple_type_primitive_specifier - - - -simple_type_specifier - ::= simple_type_specifier_token - /. $Build consumeToken(); $EndBuild ./ - -simple_type_specifier_token - ::= 'char' - | 'wchar_t' - | 'bool' - | 'short' - | 'int' - | 'long' - | 'signed' - | 'unsigned' - | 'float' - | 'double' - | 'void' - - --- last two rules moved here from simple_type_specifier -type_name -- all identifiers of some kind - ::= class_name - -- | enum_name - -- | typedef_name - - --- last two rules moved here from simple_type_specifier -type_name_specifier -- all identifiers of some kind - ::= type_name - | dcolon_opt nested_name_specifier_opt type_name - /. $Build consumeQualifiedId(false); $EndBuild ./ - | dcolon_opt nested_name_specifier 'template' template_id_name - /. $Build consumeQualifiedId(false); $EndBuild ./ - | 'typename' dcolon_opt nested_name_specifier identifier_name - /. $Build consumeQualifiedId(false); $EndBuild ./ - | 'typename' dcolon_opt nested_name_specifier template_opt template_id_name - /. $Build consumeQualifiedId(true); $EndBuild ./ - | 'typename' identifier_name - - --- used for forward declaration and incomplete types -elaborated_type_specifier - ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name - /. $Build consumeTypeSpecifierElaborated(false); $EndBuild ./ - | class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name - /. $Build consumeTypeSpecifierElaborated(true); $EndBuild ./ - | 'enum' elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name - /. $Build consumeTypeSpecifierElaborated(false); $EndBuild ./ - - -elaborated_specifier_hook - ::= $empty - - --- there is currently no way to disambiguate identifier tokens ---enum_name --- ::= identifier_token - - -comma_opt - ::= ',' | $empty - - -enum_specifier - ::= 'enum' enum_specifier_hook '{' enumerator_list_opt comma_opt '}' - /. $Build consumeTypeSpecifierEnumeration(false); $EndBuild ./ - | 'enum' enum_specifier_hook identifier_token '{' enumerator_list_opt comma_opt '}' - /. $Build consumeTypeSpecifierEnumeration(true); $EndBuild ./ - -enum_specifier_hook - ::= $empty - -enumerator_list - ::= enumerator_definition - | enumerator_list ',' enumerator_definition - - -enumerator_list_opt - ::= enumerator_list - | $empty - - -enumerator_definition - ::= identifier_token - /. $Build consumeEnumerator(false); $EndBuild ./ - | identifier_token '=' constant_expression - /. $Build consumeEnumerator(true); $EndBuild ./ - - -namespace_name - ::= identifier_name - - --- In the spec grammar this is broken down into original_namespace_definition and extension_namespace_definition. --- But since we are not tracking identifiers it becomes the same thing, so its simplified here. -namespace_definition - ::= 'namespace' namespace_name namespace_definition_hook '{' declaration_seq_opt '}' - /. $Build consumeNamespaceDefinition(true); $EndBuild ./ - | 'namespace' namespace_definition_hook '{' declaration_seq_opt '}' - /. $Build consumeNamespaceDefinition(false); $EndBuild ./ - -namespace_definition_hook - ::= $empty - - -namespace_alias_definition - ::= 'namespace' identifier_token '=' dcolon_opt nested_name_specifier_opt namespace_name ';' - /. $Build consumeNamespaceAliasDefinition(); $EndBuild ./ - - --- make more lenient! --- using_declaration --- ::= 'using' typename_opt dcolon_opt nested_name_specifier unqualified_id_name ';' --- | 'using' '::' unqualified_id_name ';' - - --- TODO why not just check if the second token is 'typename'? -using_declaration - ::= 'using' typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ';' - /. $Build consumeUsingDeclaration(); $EndBuild ./ - - -typename_opt - ::= 'typename' - /. $Build consumePlaceHolder(); $EndBuild ./ - | $empty - /. $Build consumeEmpty(); $EndBuild ./ - - -using_directive - ::= 'using' 'namespace' dcolon_opt nested_name_specifier_opt namespace_name ';' - /. $Build consumeUsingDirective(); $EndBuild ./ - - -asm_definition - ::= 'asm' '(' 'stringlit' ')' ';' - /. $Build consumeDeclarationASM(); $EndBuild ./ - - -linkage_specification - ::= 'extern' 'stringlit' '{' declaration_seq_opt '}' - /. $Build consumeLinkageSpecification(); $EndBuild ./ - | 'extern' 'stringlit' declaration - /. $Build consumeLinkageSpecification(); $EndBuild ./ - - -init_declarator_list - ::= init_declarator_complete - | init_declarator_list ',' init_declarator_complete - - -init_declarator_list_opt - ::= init_declarator_list - | $empty - - -init_declarator_complete - ::= init_declarator - /. $Build consumeInitDeclaratorComplete(); $EndBuild ./ - - -init_declarator - ::= complete_declarator - | complete_declarator initializer - /. $Build consumeDeclaratorWithInitializer(true); $EndBuild ./ - -complete_declarator - ::= declarator - -declarator - ::= direct_declarator - | ptr_operator_seq direct_declarator - /. $Build consumeDeclaratorWithPointer(true); $EndBuild ./ - -function_declarator - ::= function_direct_declarator - | ptr_operator_seq direct_declarator - /. $Build consumeDeclaratorWithPointer(true); $EndBuild ./ - - -direct_declarator - ::= basic_direct_declarator - | function_direct_declarator - | array_direct_declarator - - -basic_direct_declarator - ::= declarator_id_name - /. $Build consumeDirectDeclaratorIdentifier(); $EndBuild ./ - | '(' declarator ')' - /. $Build consumeDirectDeclaratorBracketed(); $EndBuild ./ - - -function_direct_declarator - ::= basic_direct_declarator '(' parameter_declaration_clause ')' cv_qualifier_seq_opt exception_specification_opt - /. $Build consumeDirectDeclaratorFunctionDeclarator(true); $EndBuild ./ - - -array_direct_declarator - ::= array_direct_declarator array_modifier - /. $Build consumeDirectDeclaratorArrayDeclarator(true); $EndBuild ./ - | basic_direct_declarator array_modifier - /. $Build consumeDirectDeclaratorArrayDeclarator(true); $EndBuild ./ - - -array_modifier - ::= '[' constant_expression ']' - /. $Build consumeDirectDeclaratorArrayModifier(true); $EndBuild ./ - | '[' ']' - /. $Build consumeDirectDeclaratorArrayModifier(false); $EndBuild ./ - - -ptr_operator - ::= pointer_hook '*' pointer_hook cv_qualifier_seq_opt - /. $Build consumePointer(); $EndBuild ./ - | pointer_hook '&' pointer_hook - /. $Build consumeReferenceOperator(); $EndBuild ./ - | dcolon_opt nested_name_specifier pointer_hook '*' pointer_hook cv_qualifier_seq_opt - /. $Build consumePointerToMember(); $EndBuild ./ - -pointer_hook - ::= $empty - -ptr_operator_seq - ::= ptr_operator - | ptr_operator_seq ptr_operator - - ---ptr_operator_seq_opt --- ::= ptr_operator_seq --- | $empty - - -cv_qualifier_seq - ::= cv_qualifier cv_qualifier_seq_opt - - -cv_qualifier_seq_opt - ::= cv_qualifier_seq - | $empty - - -cv_qualifier - ::= 'const' - /. $Build consumeToken(); $EndBuild ./ - | 'volatile' - /. $Build consumeToken(); $EndBuild ./ - - -declarator_id_name - ::= qualified_or_unqualified_name - | dcolon_opt nested_name_specifier_opt type_name - /. $Build consumeQualifiedId(false); $EndBuild ./ - ---declarator_id_name --- ::= unqualified_id_name --- | nested_name_specifier template_opt unqualified_id_name --- /. $Build consumeQualifiedId(true); $EndBuild ./ - - -type_id - ::= type_specifier_seq - /. $Build consumeTypeId(false); $EndBuild ./ - | type_specifier_seq abstract_declarator - /. $Build consumeTypeId(true); $EndBuild ./ - - ---type_specifier_seq --- ::= type_specifier --- | type_specifier_seq type_specifier - - --- more lenient than spec, but easier to deal with --- TODO are conflicts resolved by using the more strict rule? -type_specifier_seq - ::= declaration_specifiers - - -abstract_declarator - ::= direct_abstract_declarator - | ptr_operator_seq - /. $Build consumeDeclaratorWithPointer(false); $EndBuild ./ - | ptr_operator_seq direct_abstract_declarator - /. $Build consumeDeclaratorWithPointer(true); $EndBuild ./ - - -direct_abstract_declarator - ::= basic_direct_abstract_declarator - | array_direct_abstract_declarator - | function_direct_abstract_declarator - - -basic_direct_abstract_declarator - ::= '(' abstract_declarator ')' - /. $Build consumeDirectDeclaratorBracketed(); $EndBuild ./ - | '(' ')' - /. $Build consumeAbstractDeclaratorEmpty(); $EndBuild ./ - - -array_direct_abstract_declarator - ::= array_modifier - /. $Build consumeDirectDeclaratorArrayDeclarator(false); $EndBuild ./ - | array_direct_abstract_declarator array_modifier - /. $Build consumeDirectDeclaratorArrayDeclarator(true); $EndBuild ./ - | basic_direct_abstract_declarator array_modifier - /. $Build consumeDirectDeclaratorArrayDeclarator(true); $EndBuild ./ - - -function_direct_abstract_declarator - ::= basic_direct_abstract_declarator '(' parameter_declaration_clause ')' cv_qualifier_seq_opt exception_specification_opt - /. $Build consumeDirectDeclaratorFunctionDeclarator(true); $EndBuild ./ - | '(' parameter_declaration_clause ')' cv_qualifier_seq_opt exception_specification_opt - /. $Build consumeDirectDeclaratorFunctionDeclarator(false); $EndBuild ./ - - --- actions just place a marker indicating if '...' was parsed -parameter_declaration_clause - ::= parameter_declaration_list_opt '...' - /. $Build consumePlaceHolder(); $EndBuild ./ - | parameter_declaration_list_opt - /. $Build consumeEmpty(); $EndBuild ./ - | parameter_declaration_list ',' '...' - /. $Build consumePlaceHolder(); $EndBuild ./ - - -parameter_declaration_list - ::= parameter_declaration - | parameter_declaration_list ',' parameter_declaration - - -parameter_declaration_list_opt - ::= parameter_declaration_list - | $empty - - -abstract_declarator_opt - ::= abstract_declarator - | $empty - /. $Build consumeEmpty(); $EndBuild ./ - - -parameter_declaration - ::= declaration_specifiers parameter_init_declarator - /. $Build consumeParameterDeclaration(); $EndBuild ./ - | declaration_specifiers - /. $Build consumeParameterDeclarationWithoutDeclarator(); $EndBuild ./ - - -parameter_init_declarator - ::= declarator - | declarator '=' parameter_initializer - /. $Build consumeDeclaratorWithInitializer(true); $EndBuild ./ - | abstract_declarator - | abstract_declarator '=' parameter_initializer - /. $Build consumeDeclaratorWithInitializer(true); $EndBuild ./ - | '=' parameter_initializer - /. $Build consumeDeclaratorWithInitializer(false); $EndBuild ./ - - -parameter_initializer - ::= assignment_expression - /. $Build consumeInitializer(); $EndBuild ./ - - -function_definition - ::= declaration_specifiers_opt function_declarator ctor_initializer_list_opt function_body - /. $Build consumeFunctionDefinition(false); $EndBuild ./ - | declaration_specifiers_opt function_declarator 'try' ctor_initializer_list_opt function_body handler_seq - /. $Build consumeFunctionDefinition(true); $EndBuild ./ - - -function_body - ::= compound_statement - - -initializer - ::= '=' initializer_clause - | '(' expression_list ')' - /. $Build consumeInitializerConstructor(); $EndBuild ./ - - -initializer_clause - ::= assignment_expression - /. $Build consumeInitializer(); $EndBuild ./ - | initializer_list ---CDT_70_FIX_FROM_50-#4 - /. $Build consumeInitializer(); $EndBuild ./ - -initializer_list - ::= start_initializer_list '{' initializer_seq ',' '}' end_initializer_list - /. $Build consumeInitializerList(); $EndBuild ./ - | start_initializer_list '{' initializer_seq '}' end_initializer_list - /. $Build consumeInitializerList(); $EndBuild ./ - | '{' '}' - /. $Build consumeInitializerList(); $EndBuild ./ - - -start_initializer_list - ::= $empty - /. $Build initializerListStart(); $EndBuild ./ - -end_initializer_list - ::= $empty - /. $Build initializerListEnd(); $EndBuild ./ - -initializer_seq - ::= initializer_clause - | initializer_seq ',' initializer_clause - - - ------------------------------------------------------------------------------------------- --- Classes ------------------------------------------------------------------------------------------- - - -class_name - ::= identifier_name - | template_id_name - - -class_specifier - ::= class_head '{' member_declaration_list_opt '}' - /. $Build consumeClassSpecifier(); $EndBuild ./ - - -class_head - ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook base_clause_opt - /. $Build consumeClassHead(false); $EndBuild ./ - | class_keyword composite_specifier_hook template_id_name class_name_suffix_hook base_clause_opt - /. $Build consumeClassHead(false); $EndBuild ./ - | class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook base_clause_opt - /. $Build consumeClassHead(true); $EndBuild ./ - | class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook base_clause_opt - /. $Build consumeClassHead(true); $EndBuild ./ - -composite_specifier_hook - ::= $empty - -class_name_suffix_hook - ::= $empty - -identifier_name_opt - ::= identifier_name - | $empty - /. $Build consumeEmpty(); $EndBuild./ - - -class_keyword - ::= 'class' - | 'struct' - | 'union' - - -visibility_label - ::= access_specifier_keyword ':' - /. $Build consumeVisibilityLabel(); $EndBuild ./ - - - -member_declaration - ::= declaration_specifiers_opt member_declarator_list ';' - /. $Build consumeDeclarationSimple(true); $EndBuild ./ - | declaration_specifiers_opt ';' - /. $Build consumeDeclarationSimple(false); $EndBuild ./ - | function_definition ';' - | function_definition - | dcolon_opt nested_name_specifier template_opt unqualified_id_name ';' - /. $Build consumeMemberDeclarationQualifiedId(); $EndBuild ./ - | using_declaration - | template_declaration - | explicit_specialization -- not spec - | namespace_definition -- not spec - | visibility_label - | ERROR_TOKEN - /. $Build consumeDeclarationProblem(); $EndBuild ./ - - -member_declaration_list - ::= member_declaration - | member_declaration_list member_declaration - - -member_declaration_list_opt - ::= member_declaration_list - | $empty - - -member_declarator_list - ::= member_declarator_complete - | member_declarator_list ',' member_declarator_complete - - -member_declarator_complete - ::= member_declarator - -member_declarator - ::= declarator - -- parse pure specifier as a constant_initializer, reduces conflicts - -- | declarator pure_specifier - | declarator constant_initializer - /. $Build consumeMemberDeclaratorWithInitializer(); $EndBuild ./ - | bit_field_declarator ':' constant_expression - /. $Build consumeBitField(true); $EndBuild ./ - | ':' constant_expression - /. $Build consumeBitField(false); $EndBuild ./ - - -bit_field_declarator - ::= identifier_name - /. $Build consumeDirectDeclaratorIdentifier(); $EndBuild ./ - - -constant_initializer - ::= '=' constant_expression - /. $Build consumeInitializer(); $EndBuild ./ - - -base_clause - ::= ':' base_specifier_list - - -base_clause_opt - ::= base_clause - | $empty - - -base_specifier_list - ::= base_specifier - | base_specifier_list ',' base_specifier - - - -base_specifier - ::= dcolon_opt nested_name_specifier_opt class_name - /. $Build consumeBaseSpecifier(false, false); $EndBuild ./ - | 'virtual' access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name - /. $Build consumeBaseSpecifier(true, true); $EndBuild ./ - | access_specifier_keyword 'virtual' dcolon_opt nested_name_specifier_opt class_name - /. $Build consumeBaseSpecifier(true, true); $EndBuild ./ - | access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name - /. $Build consumeBaseSpecifier(true, false); $EndBuild ./ - - -access_specifier_keyword - ::= 'private' - /. $Build consumeToken(); $EndBuild ./ - | 'protected' - /. $Build consumeToken(); $EndBuild ./ - | 'public' - /. $Build consumeToken(); $EndBuild ./ - - -access_specifier_keyword_opt - ::= access_specifier_keyword - | $empty - /. $Build consumeEmpty(); $EndBuild ./ - - -conversion_function_id_name - ::= conversion_function_id - | conversion_function_id '<' template_argument_list_opt '>' - /. $Build consumeTemplateId(); $EndBuild ./ - -conversion_function_id - ::= 'operator' conversion_type_id - /. $Build consumeConversionName(); $EndBuild ./ - - -conversion_type_id - ::= type_specifier_seq conversion_declarator - /. $Build consumeTypeId(true); $EndBuild ./ - | type_specifier_seq - /. $Build consumeTypeId(false); $EndBuild ./ - - -conversion_declarator - ::= ptr_operator_seq - /. $Build consumeDeclaratorWithPointer(false); $EndBuild ./ - - - ---conversion_declarator_opt --- ::= conversion_declarator --- | $empty - - -ctor_initializer_list - ::= ':' mem_initializer_list - - -ctor_initializer_list_opt - ::= ctor_initializer_list - | $empty - - -mem_initializer_list - ::= mem_initializer - | mem_initializer ',' mem_initializer_list - - -mem_initializer - ::= mem_initializer_name '(' expression_list_opt ')' - /. $Build consumeConstructorChainInitializer(); $EndBuild ./ - - -mem_initializer_name - ::= dcolon_opt nested_name_specifier_opt class_name - /. $Build consumeQualifiedId(false); $EndBuild ./ - | identifier_name - - -operator_function_id_name - ::= operator_id_name - | operator_id_name '<' template_argument_list_opt '>' - /. $Build consumeTemplateId(); $EndBuild ./ - - -operator_id_name - ::= 'operator' overloadable_operator - /. $Build consumeOperatorName(); $EndBuild ./ - - -overloadable_operator - ::= 'new' | 'delete' | 'new' '[' ']' | 'delete' '[' ']' - | '+' | '-' | '*' | '/' | '%' | '^' | '&' | '|' | '~' - | '!' | '=' | '<' | '>' | '+=' | '-=' | '*=' | '/=' | '%=' - | '^=' | '&=' | '|=' | '<<' | '>>' | '>>=' | '<<=' | '==' | '!=' - | '<=' | '>=' | '&&' | '||' | '++' | '--' | ',' | '->*' | '->' - | '(' ')' | '[' ']' - - -template_declaration - ::= export_opt 'template' '<' template_parameter_list '>' declaration - /. $Build consumeTemplateDeclaration(); $EndBuild ./ - - -export_opt - ::= 'export' - /. $Build consumePlaceHolder(); $EndBuild ./ - | $empty - /. $Build consumeEmpty(); $EndBuild ./ - - -template_parameter_list - ::= template_parameter - | template_parameter_list ',' template_parameter - - --- TODO There is an ambiguity in the spec grammar here, --- "class X" should be parsed as a type_parameter --- and not as a parameter_declaration. Here precedence is used to disambiguate --- but it would be better to refactor the grammar to remove the conflict. - -template_parameter - ::= type_parameter - | parameter_declaration - /. $Build consumeTemplateParamterDeclaration(); $EndBuild ./ - - -type_parameter - ::= 'class' identifier_name_opt - /. $Build consumeSimpleTypeTemplateParameter(false); $EndBuild ./ - | 'class' identifier_name_opt '=' type_id - /. $Build consumeSimpleTypeTemplateParameter(true); $EndBuild ./ - | 'typename' identifier_name_opt - /. $Build consumeSimpleTypeTemplateParameter(false); $EndBuild ./ - | 'typename' identifier_name_opt '=' type_id - /. $Build consumeSimpleTypeTemplateParameter(true); $EndBuild ./ - | 'template' '<' template_parameter_list '>' 'class' identifier_name_opt - /. $Build consumeTemplatedTypeTemplateParameter(false); $EndBuild ./ - | 'template' '<' template_parameter_list '>' 'class' identifier_name_opt '=' id_expression - /. $Build consumeTemplatedTypeTemplateParameter(true); $EndBuild ./ - - -template_id_name - ::= identifier_name '<' template_argument_list_opt '>' - /. $Build consumeTemplateId(); $EndBuild ./ --- | ERROR_TOKEN --- /. $Build consumeTemplateIDError(); $EndBuild ./ - - -template_argument_list - ::= template_argument - | template_argument_list ',' template_argument - - -template_argument_list_opt - ::= template_argument_list - | $empty - ---type_id in template - -class_name_inTemplate - ::= identifier_name - -class_or_namespace_name_inTemplate -- just identifiers - ::= class_name_inTemplate - --| namespace_name -- namespace_name name can only be an identifier token, which is already accepted by - -nested_name_specifier_inTemplate - ::= class_or_namespace_name_inTemplate '::' nested_name_specifier_with_template_inTemplate - /. $Build consumeNestedNameSpecifier(true); $EndBuild ./ - | class_or_namespace_name_inTemplate '::' - /. $Build consumeNestedNameSpecifier(false); $EndBuild ./ - - -nested_name_specifier_with_template_inTemplate - ::= class_or_namespace_name_with_template_inTemplate '::' nested_name_specifier_with_template_inTemplate - /. $Build consumeNestedNameSpecifier(true); $EndBuild ./ - | class_or_namespace_name_with_template_inTemplate '::' - /. $Build consumeNestedNameSpecifier(false); $EndBuild ./ - - -class_or_namespace_name_with_template_inTemplate - ::= template_opt class_or_namespace_name_inTemplate - /. $Build consumeNameWithTemplateKeyword(); $EndBuild ./ - -nested_name_specifier_opt_inTemplate - ::= nested_name_specifier_inTemplate - | $empty - /. $Build consumeNestedNameSpecifierEmpty(); $EndBuild ./ - - -type_name_inTemplate -- all identifiers of some kind - ::= class_name_inTemplate - --- last two rules moved here from simple_type_specifier -type_name_specifier_inTemplate -- all identifiers of some kind - ::= type_name_inTemplate --- | dcolon_opt nested_name_specifier_opt_inTemplate type_name_inTemplate --- /. $Build consumeQualifiedId(false); $EndBuild ./ --- | dcolon_opt nested_name_specifier_inTemplate 'template' template_id_name --- /. $Build consumeQualifiedId(false); $EndBuild ./ - | 'typename' dcolon_opt nested_name_specifier identifier_name - /. $Build consumeQualifiedId(false); $EndBuild ./ - | 'typename' dcolon_opt nested_name_specifier template_opt template_id_name - /. $Build consumeQualifiedId(true); $EndBuild ./ - | 'typename' identifier_name - -type_name_declaration_specifiers_inTemplate - ::= type_name_specifier_inTemplate - | no_type_declaration_specifiers type_name_specifier_inTemplate - | type_name_declaration_specifiers_inTemplate no_type_declaration_specifier - - - -declaration_specifiers_inTemplate - ::= simple_declaration_specifiers - /. $Build consumeDeclarationSpecifiersSimple(); $EndBuild ./ - | class_declaration_specifiers - /. $Build consumeDeclarationSpecifiersComposite(); $EndBuild ./ - | elaborated_declaration_specifiers - /. $Build consumeDeclarationSpecifiersComposite(); $EndBuild ./ - | enum_declaration_specifiers - /. $Build consumeDeclarationSpecifiersComposite(); $EndBuild ./ - | type_name_declaration_specifiers_inTemplate - /. $Build consumeDeclarationSpecifiersTypeName(); $EndBuild ./ - - -type_specifier_seq_inTemplate - ::= declaration_specifiers_inTemplate - - -type_id_inTemplate - ::= type_specifier_seq_inTemplate - /. $Build consumeTypeId(false); $EndBuild ./ - | type_specifier_seq_inTemplate abstract_declarator - /. $Build consumeTypeId(true); $EndBuild ./ - ---end type_id in template - - -template_argument - ::= assignment_expression_inTemplate - /. $Build consumeTemplateArgumentExpression(); $EndBuild ./ - | type_id_inTemplate - /. $Build consumeTemplateArgumentTypeId(); $EndBuild ./ - - -explicit_instantiation - ::= 'template' declaration - /. $Build consumeTemplateExplicitInstantiation(); $EndBuild ./ - - -explicit_specialization - ::= 'template' '<' '>' declaration - /. $Build consumeTemplateExplicitSpecialization(); $EndBuild ./ - - -try_block - ::= 'try' compound_statement handler_seq - /. $Build consumeStatementTryBlock(true); $EndBuild ./ - | 'try' compound_statement - /. $Build consumeStatementTryBlock(false); $EndBuild ./ - - - - - -handler_seq - ::= handler - | handler_seq handler - - -handler - ::= 'catch' '(' exception_declaration ')' compound_statement - /. $Build consumeStatementCatchHandler(false); $EndBuild ./ - | 'catch' '(' '...' ')' compound_statement - /. $Build consumeStatementCatchHandler(true); $EndBuild ./ - - --- open a scope just so that we can reuse consumeDeclarationSimple() -exception_declaration - ::= type_specifier_seq declarator - /. $Build consumeDeclarationSimple(true); $EndBuild ./ - | type_specifier_seq abstract_declarator - /. $Build consumeDeclarationSimple(true); $EndBuild ./ - | type_specifier_seq - /. $Build consumeDeclarationSimple(false); $EndBuild ./ - - --- puts type ids on the stack -exception_specification - ::= 'throw' '(' type_id_list ')' - | 'throw' '(' ')' - /. $Build consumePlaceHolder(); $EndBuild ./ - - -exception_specification_opt - ::= exception_specification - | $empty - - -type_id_list - ::= type_id - | type_id_list ',' type_id \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPNoCastExpressionParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPNoCastExpressionParser.g deleted file mode 100644 index 6e1479ebab6..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPNoCastExpressionParser.g +++ /dev/null @@ -1,42 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2006, 2008 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.lrparser.cpp -%options template=LRSecondaryParserTemplate.g - -$Import - CPPGrammar.g -$DropRules - - cast_expression - ::= '(' type_id ')' cast_expression - -$End - -$Define - $ast_class /. IASTExpression ./ -$End - -$Start - no_cast_start -$End - -$Rules - - no_cast_start - ::= expression - | ERROR_TOKEN - /. $Build consumeEmpty(); $EndBuild ./ - -$End \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPNoFunctionDeclaratorParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPNoFunctionDeclaratorParser.g deleted file mode 100644 index 7cc0112c7fa..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPNoFunctionDeclaratorParser.g +++ /dev/null @@ -1,49 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2006, 2008 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.lrparser.cpp -%options template=LRSecondaryParserTemplate.g - -$Import - CPPGrammar.g -$DropRules - - direct_declarator - ::= function_direct_declarator - - init_declarator_complete - ::= init_declarator - -$End - -$Define - $ast_class /. IASTDeclarator ./ -$End - -$Start - no_function_declarator_start -$End - -$Rules - - no_function_declarator_start - ::= init_declarator_complete - | ERROR_TOKEN - /. $Build consumeEmpty(); $EndBuild ./ - - -- redeclare this rule with no semantic action, prevents recursion - init_declarator_complete - ::= init_declarator - -$End \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPParser.g deleted file mode 100644 index fd35a61dcb2..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPParser.g +++ /dev/null @@ -1,28 +0,0 @@ ----------------------------------------------------------------------------------- --- Copyright (c) 2006, 2008 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ----------------------------------------------------------------------------------- - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.lrparser.cpp -%options template=LRParserTemplate.g - - --- This file is needed because LPG won't allow redefinition of the --- start symbol, so CPPGrammar.g cannot define a start symbol. - -$Import - CPPGrammar.g -$End - -$Start - translation_unit -$End \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPSizeofExpressionParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPSizeofExpressionParser.g deleted file mode 100644 index 025947276bc..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPSizeofExpressionParser.g +++ /dev/null @@ -1,46 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2006, 2009 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.lrparser.cpp -%options template=LRSecondaryParserTemplate.g - - -$Import - CPPGrammar.g -$DropRules - - unary_expression - ::= 'sizeof' '(' type_id ')' - - postfix_expression - ::= 'typeid' '(' type_id ')' - -$End - -$Define - $ast_class /. IASTExpression ./ -$End - -$Start - no_sizeof_type_id_start -$End - -$Rules - - no_sizeof_type_id_start - ::= expression - | ERROR_TOKEN - /. $Build consumeEmpty(); $EndBuild ./ - -$End \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPTemplateTypeParameterParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPTemplateTypeParameterParser.g deleted file mode 100644 index 91086aeb753..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPTemplateTypeParameterParser.g +++ /dev/null @@ -1,59 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2006, 2008 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.lrparser.cpp -%options template=LRSecondaryParserTemplate.g - --- This parser is a bit of a hack. - --- There are ambiguities between type_parameter and parameter_declaration --- when parsing a template_parameter. - --- I believe the correct disambiguation is to simply favor type_parameter --- over parameter_declaration. - --- I have tried to resolve this by refactoring the grammar file so that --- the parser will give precedence to type_parameter, but I have failed. - --- So the hacky solution is to reparse the tokens as a type_parameter and if --- it succeeds, throw away the paramter_declaration and use the type_parameter --- in its place. - - -$Import - CPPGrammar.g -$End - -$Globals -/. - import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter; -./ -$End - -$Define - $ast_class /. ICPPASTTemplateParameter ./ -$End - -$Start - type_parameter_start -$End - -$Rules - - type_parameter_start - ::= type_parameter - | ERROR_TOKEN - /. $Build consumeEmpty(); $EndBuild ./ - -$End \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCGrammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCGrammar.g deleted file mode 100644 index 16b35999d84..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCGrammar.g +++ /dev/null @@ -1,114 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2009 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - - --- For this to work the environment variable LPG_INCLUDE must be set up --- to point at the directory where the C99Parser.g file is located. -$Import - ../c99/C99Grammar.g -$End - -$Import - ../gnu/GNUExtensions.g -$End - - --- Tokens used by GCC but not part of the C99 spec -$Terminals - - asm - -$End - - -$Globals -/. - import org.eclipse.cdt.core.dom.lrparser.action.gnu.GCCBuildASTParserAction; - import org.eclipse.cdt.core.dom.lrparser.action.gnu.GCCSecondaryParserFactory; -./ -$End - -$Define - - $build_action_class /. GCCBuildASTParserAction ./ - $parser_factory_create_expression /. GCCSecondaryParserFactory.getDefault() ./ - -$End - - -$Rules - - -declaration - ::= extended_asm_declaration - - -no_type_declaration_specifier - ::= attribute_or_decl_specifier - -complete_declarator - ::= attribute_or_decl_specifier_seq declarator - | declarator attribute_or_decl_specifier_seq - | attribute_or_decl_specifier_seq declarator attribute_or_decl_specifier_seq - -complete_struct_declarator - ::= attribute_or_decl_specifier_seq struct_declarator - | struct_declarator attribute_or_decl_specifier_seq - | attribute_or_decl_specifier_seq struct_declarator attribute_or_decl_specifier_seq - -enum_specifier_hook - ::= attribute_or_decl_specifier_seq - -struct_or_union_specifier_hook - ::= attribute_or_decl_specifier_seq - -struct_or_union_specifier_suffix_hook - ::= attribute_or_decl_specifier_seq - -pointer_hook - ::= attribute_or_decl_specifier_seq - -elaborated_specifier_hook - ::= attribute_or_decl_specifier_seq - - - - - --- GCC extensions to designated initializers - -designator_base - ::= field_name_designator - | array_range_designator - -field_name_designator - ::= identifier_token ':' - /. $Build consumeDesignatorFieldGCC(); $EndBuild ./ - -array_range_designator - ::= '[' constant_expression '...' constant_expression ']' - /. $Build consumeDesignatorArrayRange(); $EndBuild ./ - -designated_initializer - ::= field_name_designator initializer - /. $Build consumeInitializerDesignated(); $EndBuild ./ - - - --- Nested functions - -block_item - ::= normal_function_definition - /. $Build consumeStatementDeclaration(); $EndBuild ./ - -$End \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCParser.g deleted file mode 100644 index 247807bf239..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCParser.g +++ /dev/null @@ -1,28 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2008, 2009 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.lrparser.gcc -%options template=LRParserTemplate.g - - --- This file is needed because LPG won't allow redefinition of the --- start symbol, so C99Grammar.g cannot define a start symbol. - -$Import - GCCGrammar.g -$End - -$Start - translation_unit -$End \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCSizeofExpressionParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCSizeofExpressionParser.g deleted file mode 100644 index 29762cf7e80..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCSizeofExpressionParser.g +++ /dev/null @@ -1,45 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2009 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.lrparser.gcc -%options template=LRSecondaryParserTemplate.g - - -$Import - GCCGrammar.g -$DropRules - - unary_expression - ::= 'sizeof' '(' type_id ')' - | '__alignof__' '(' type_id ')' - | 'typeof' '(' type_id ')' - -$End - -$Define - $ast_class /. IASTExpression ./ -$End - -$Start - no_sizeof_type_name_start -$End - -$Rules - - no_sizeof_type_name_start - ::= expression - | ERROR_TOKEN - /. $Build consumeEmpty(); $EndBuild ./ - -$End \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/generate.xml b/lrparser/org.eclipse.cdt.core.lrparser/grammar/generate.xml deleted file mode 100644 index bed67eb6ac7..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/generate.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - Property $${lpg_exe} not set. - This property must be set to the full path to the LPG generator executable. - - - - Property $${lpg_template} not set. - This property must be set to the full path to the LPG templates folder. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gnu/GNUExtensions.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gnu/GNUExtensions.g deleted file mode 100644 index bc9e9ab8711..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gnu/GNUExtensions.g +++ /dev/null @@ -1,207 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2008, 2009 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - - --- These are additional rules that allow for parsing of GNU extensions. --- This file is intended to be mixed-in with C99Parser.g or GPPParser.g - - -$Terminals - -- additional GCC only tokens as defined in IGCCToken - - typeof - __alignof__ - __attribute__ - __declspec - MAX - MIN - - MAX ::= '>?' - MIN ::= '?' shift_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); $EndBuild ./ - | relational_expression ' ':' assignment_expression - /. $Build consumeExpressionConditional(); $EndBuild ./ - - -primary_expression - ::= '(' compound_statement ')' - /. $BeginAction gnuAction.consumeCompoundStatementExpression(); $EndAction ./ - - -labeled_statement - ::= 'case' case_range_expression ':' statement - /. $Build consumeStatementCase(); $EndBuild ./ - - -case_range_expression - ::= constant_expression '...' constant_expression - /. $Build consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); $EndBuild ./ - - -typeof_declaration_specifiers - ::= typeof_type_specifier - | no_type_declaration_specifiers typeof_type_specifier - | typeof_declaration_specifiers no_type_declaration_specifier - - -typeof_type_specifier - ::= 'typeof' unary_expression - /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); $EndBuild ./ - | 'typeof' '(' type_id ')' - /. $Build consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); $EndBuild ./ - - -declaration_specifiers - ::= typeof_declaration_specifiers - /. $Build consumeDeclarationSpecifiersTypeof(); $EndBuild ./ - -$End - diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPGrammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPGrammar.g deleted file mode 100644 index 16b072c48b4..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPGrammar.g +++ /dev/null @@ -1,131 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2009 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.lrparser.gpp -%options template=FixedBtParserTemplateD.g - - -$Terminals - - -- GCC allows these keywords to be used in C++ - - _Complex - _Imaginary - restrict - -$End - - --- For this to work the environment variable LPG_INCLUDE must be set up --- to point at the directory where the CPPParser.g file is located. -$Import - ../cpp/CPPGrammar.g - -$DropRules - --- will be replaced by extended asm syntax -asm_definition - ::= 'asm' '(' 'stringlit' ')' ';' - -$End - - -$Import - ../gnu/GNUExtensions.g -$End - -$Globals -/. - import org.eclipse.cdt.core.dom.lrparser.action.gnu.GPPBuildASTParserAction; - import org.eclipse.cdt.core.dom.lrparser.action.gnu.GPPSecondaryParserFactory; - import org.eclipse.cdt.core.dom.ast.gnu.cpp.*; -./ -$End - -$Define - - $build_action_class /. GPPBuildASTParserAction ./ - $parser_factory_create_expression /. GPPSecondaryParserFactory.getDefault() ./ - -$End - -$Rules - - -asm_definition - ::= extended_asm_declaration - - -no_type_declaration_specifier - ::= attribute_or_decl_specifier - -complete_declarator - ::= attribute_or_decl_specifier_seq declarator - | declarator attribute_or_decl_specifier_seq - | attribute_or_decl_specifier_seq declarator attribute_or_decl_specifier_seq - -member_declarator_complete - ::= attribute_or_decl_specifier_seq member_declarator_complete - | member_declarator_complete attribute_or_decl_specifier_seq - | attribute_or_decl_specifier_seq member_declarator_complete attribute_or_decl_specifier_seq - -enum_specifier_hook - ::= attribute_or_decl_specifier_seq - -composite_specifier_hook - ::= attribute_or_decl_specifier_seq - -class_name_suffix_hook - ::= attribute_or_decl_specifier_seq - -pointer_hook - ::= attribute_or_decl_specifier_seq - -declarator - ::= ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator - /. $Build consumeDeclaratorWithPointer(true); $EndBuild ./ - -elaborated_specifier_hook - ::= attribute_or_decl_specifier_seq - -namespace_definition_hook - ::= attribute_or_decl_specifier_seq - - -simple_type_specifier - ::= '_Complex' - /. $Build consumeToken(); $EndBuild ./ - | '_Imaginary' - /. $Build consumeToken(); $EndBuild ./ - -cv_qualifier - ::= 'restrict' - /. $Build consumeToken(); $EndBuild ./ - - -explicit_instantiation - ::= 'extern' 'template' declaration - /. $Build consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_extern); $EndBuild ./ - | 'static' 'template' declaration - /. $Build consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_static); $EndBuild ./ - | 'inline' 'template' declaration - /. $Build consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_inline); $EndBuild ./ - - -postfix_expression - ::= '(' type_id ')' initializer_list - /. $Build consumeExpressionTypeIdInitializer(); $EndBuild ./ - - -$End \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPParser.g deleted file mode 100644 index 1ede67f3afb..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPParser.g +++ /dev/null @@ -1,28 +0,0 @@ ----------------------------------------------------------------------------------- --- Copyright (c) 2008, 2009 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ----------------------------------------------------------------------------------- - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.lrparser.gpp -%options template=LRParserTemplate.g - - --- This file is needed because LPG won't allow redefinition of the --- start symbol, so CPPGrammar.g cannot define a start symbol. - -$Import - GPPGrammar.g -$End - -$Start - translation_unit -$End \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPSizeofExpressionParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPSizeofExpressionParser.g deleted file mode 100644 index 2b3af67954a..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPSizeofExpressionParser.g +++ /dev/null @@ -1,48 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2009 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.lrparser.gpp -%options template=LRSecondaryParserTemplate.g - - -$Import - GPPGrammar.g -$DropRules - - unary_expression - ::= 'sizeof' '(' type_id ')' - | '__alignof__' '(' type_id ')' - | 'typeof' '(' type_id ')' - - postfix_expression - ::= 'typeid' '(' type_id ')' - -$End - -$Define - $ast_class /. IASTExpression ./ -$End - -$Start - no_sizeof_type_id_start -$End - -$Rules - - no_sizeof_type_id_start - ::= expression - | ERROR_TOKEN - /. $Build consumeEmpty(); $EndBuild ./ - -$End \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/parserBuild.properties b/lrparser/org.eclipse.cdt.core.lrparser/grammar/parserBuild.properties deleted file mode 100644 index 03f5f9749ab..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/parserBuild.properties +++ /dev/null @@ -1,17 +0,0 @@ - -############################################################################### -# Copyright (c) 2010 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -lpg_exe=D:/lpg/lpgdistribution/lpgexe/lpg.exe -lpg_template=D:/newWorkspace/rdp80_dev/org.eclipse.cdt.core.lrparser/grammar/template \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRParserTemplate.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRParserTemplate.g deleted file mode 100644 index b86f35ca860..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRParserTemplate.g +++ /dev/null @@ -1,417 +0,0 @@ ----------------------------------------------------------------------------------- --- Copyright (c) 2006, 2010 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ----------------------------------------------------------------------------------- - - --- This template is a modified version of BtParserTemplateD.g. for use with the LR parsers. --- This template contains a fix for an LPG bug: --- http://sourceforge.net/tracker/index.php?func=detail&aid=1732851&group_id=155963&atid=797879 - - - --- --- In a parser using this template, the following macro may be redefined: --- --- $additional_interfaces --- $ast_class --- --- B E G I N N I N G O F T E M P L A T E btParserTemplateD --- -%Options programming_language=java,margin=4,backtrack -%Options table,error_maps,scopes -%options prefix=TK_, -%options action=("*.java", "/.", "./") -%options ParseTable=lpg.lpgjavaruntime.ParseTable - --- --- This template requires that the name of the EOF token be set --- to EOF_TOKEN to be consistent with LexerTemplateD and LexerTemplateE --- -$EOF - EOF_TOKEN -$End - -$ERROR - ERROR_TOKEN -$End - -$Define - - $Header - /. - // - // Rule $rule_number: $rule_text - //./ - - $BeginAction - /. $Header - case $rule_number: {./ - - $EndAction - /. break; - }./ - - $BeginJava - /.$BeginAction - $symbol_declarations./ - - $EndJava /.$EndAction./ - - $NoAction - /. $Header - case $rule_number: - break;./ - - $BadAction - /. $Header - case $rule_number: - throw new Error("No action specified for rule " + $rule_number);./ - - $NullAction - /. $Header - case $rule_number: - setResult(null); - break;./ - - $BeginActions - /. - public void ruleAction(int ruleNumber) - { - switch (ruleNumber) - {./ - - $SplitActions - /. - default: - ruleAction$rule_number(ruleNumber); - break; - } - return; - } - - public void ruleAction$rule_number(int ruleNumber) - { - switch (ruleNumber) - {./ - - $EndActions - /. - default: - break; - } - return; - }./ - - -- - -- Macros that may be needed in a parser using this template - -- - $additional_interfaces /../ - $ast_class /.$ast_type./ - - -- - -- Old deprecated macros that should NEVER be used. - -- - $setSym1 /. // macro setSym1 is deprecated. Use function setResult - getParser().setSym1./ - $setResult /. // macro setResult is deprecated. Use function setResult - getParser().setSym1./ - $getSym /. // macro getSym is deprecated. Use function getRhsSym - getParser().getSym./ - $getToken /. // macro getToken is deprecated. Use function getRhsTokenIndex - getParser().getToken./ - $getIToken /. // macro getIToken is deprecated. Use function getRhsIToken - super.getIToken./ - $getLeftSpan /. // macro getLeftSpan is deprecated. Use function getLeftSpan - getParser().getFirstToken./ - $getRightSpan /. // macro getRightSpan is deprecated. Use function getRightSpan - getParser().getLastToken./ -$End - -$Globals - /.import lpg.lpgjavaruntime.*; - ./ -$End - -$Headers - /. - public class $action_type extends PrsStream implements RuleAction, ITokenStream, - ITokenCollector, IParser<$ast_class> - $additional_interfaces - { - private static ParseTable prs = new $prs_type(); - 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 $action_type(LexStream lexStream) - { - super(lexStream); - - try - { - super.remapTerminalSymbols(orderedTerminalSymbols(), $prs_type.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(" " + $sym_type.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } - catch(UndefinedEofSymbolException e) - { - throw new Error(new UndefinedEofSymbolException - ("The Lexer does not implement the Eof symbol " + - $sym_type.orderedTerminalSymbols[$prs_type.EOFT_SYMBOL])); - } - } - - public String[] orderedTerminalSymbols() { return $sym_type.orderedTerminalSymbols; } - public String getTokenKindName(int kind) { return $sym_type.orderedTerminalSymbols[kind]; } - public int getEOFTokenKind() { return $prs_type.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 $prs_type.java with -BACKTRACK option")); - } - catch (BadParseSymFileException e) - { - throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- $sym_type.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); - } - } - - ./ - -$End - -$Rules - /.$BeginActions./ -$End - -$Trailers - /. - $EndActions - } - ./ -$End - - -$Notice --- Copied into all files generated by LPG -/./******************************************************************************* - * Copyright (c) 2006, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *********************************************************************************/ - - // This file was generated by LPG -./ -$End - - -$Define - -- These macros allow the template and header code to be customized by an extending parser. - - $ast_class /. IASTTranslationUnit ./ -- override in secondary parsers - - $extra_interfaces /. ./ -- can override this macro to provide additional interfaces - $additional_interfaces /. $extra_interfaces ./ - - $build_action_class /. ./ -- name of the class that has the AST building callbacks - $node_factory_create_expression /. ./ -- expression that will create the INodeFactory - $parser_factory_create_expression /. ./ -- expression that will create the ISecondaryParserFactory - - $action_initializations /. ./ - - $Build /. $BeginAction action. ./ -- special action just for calling methods on the builder - $EndBuild /. $EndAction ./ -$End - - -$Globals -/. - import java.util.*; - import org.eclipse.cdt.core.dom.ast.*; - import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; - import org.eclipse.cdt.core.dom.lrparser.IParser; - import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; - import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; - import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; - import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; - import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; - import org.eclipse.cdt.core.parser.IScanner; - import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; - import org.eclipse.cdt.core.index.IIndex; -./ -$End - -$Headers -/. - private $build_action_class action; - private IASTCompletionNode compNode; - - - public $action_type(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack(); - - action = new $build_action_class(this, astStack, $node_factory_create_expression, $parser_factory_create_expression); - action.setParserProperties(properties); - - $action_initializations - } - - - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - - public $ast_class 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 ($ast_class) action.getParseResult(); - } - - - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - public String[] getOrderedTerminalSymbols() { - return $sym_type.orderedTerminalSymbols; - } - - @SuppressWarnings("nls") - public String getName() { - return "$action_type"; - } - -./ -$End - - diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRSecondaryParserTemplate.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRSecondaryParserTemplate.g deleted file mode 100644 index fe86a6e9d98..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRSecondaryParserTemplate.g +++ /dev/null @@ -1,68 +0,0 @@ ----------------------------------------------------------------------------------- --- Copyright (c) 2006, 2010 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ----------------------------------------------------------------------------------- - - -%Options programming_language=java,margin=4,backtrack -%Options table,error_maps,scopes -%options prefix=TK_, -%options action=("*.java", "/.", "./") -%options ParseTable=lpg.lpgjavaruntime.ParseTable - - --- additional code needed by secondary parsers - --- path is relative to the grammar file that uses the template -$Include -../template/LRParserTemplate.g -$End - - - - -$Define - - $additional_interfaces /. , ISecondaryParser<$ast_class> $extra_interfaces ./ - -$End - -$Globals -/. - import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; - import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; - import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -./ -$End - -$Headers -/. - - private ITokenMap tokenMap = null; - - public void setTokens(List tokens) { - resetTokenStream(); - addToken(new Token(null, 0, 0, 0)); // dummy token - for(IToken token : tokens) { - token.setKind(tokenMap.mapKind(token.getKind())); - addToken(token); - } - addToken(new Token(null, 0, 0, $sym_type.TK_EOF_TOKEN)); - } - - public $action_type(ITokenStream stream, Map properties) { // constructor for creating secondary parser - initActions(properties); - tokenMap = new TokenMap($sym_type.orderedTerminalSymbols, stream.getOrderedTerminalSymbols()); - } - -./ -$End - diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/action/deprecated/C99ResolveParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/action/deprecated/C99ResolveParserAction.java deleted file mode 100644 index 61df620b94f..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/action/deprecated/C99ResolveParserAction.java +++ /dev/null @@ -1,1625 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.action.deprecated; - -import static org.eclipse.cdt.core.parser.util.CollectionUtils.reverseIterable; -import static org.eclipse.cdt.internal.core.dom.lrparser.symboltable.CNamespace.GOTO_LABEL; -import static org.eclipse.cdt.internal.core.dom.lrparser.symboltable.CNamespace.IDENTIFIER; -import static org.eclipse.cdt.internal.core.dom.lrparser.symboltable.CNamespace.STRUCT_TAG; - -import java.util.LinkedList; -import java.util.List; - -import org.eclipse.cdt.core.dom.ast.EScopeKind; -import org.eclipse.cdt.core.dom.ast.IASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.IArrayType; -import org.eclipse.cdt.core.dom.ast.IBasicType; -import org.eclipse.cdt.core.dom.ast.IBinding; -import org.eclipse.cdt.core.dom.ast.ICompositeType; -import org.eclipse.cdt.core.dom.ast.IField; -import org.eclipse.cdt.core.dom.ast.IFunctionType; -import org.eclipse.cdt.core.dom.ast.IParameter; -import org.eclipse.cdt.core.dom.ast.IPointerType; -import org.eclipse.cdt.core.dom.ast.IType; -import org.eclipse.cdt.core.dom.ast.ITypedef; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.parser.util.DebugUtil; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99ArrayType; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99BasicType; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99Enumeration; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99Enumerator; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99Field; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99Function; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99FunctionScope; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99FunctionType; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99Label; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99Parameter; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99PointerType; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99ProblemBinding; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99Scope; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99Structure; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99Typedef; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99Variable; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.IC99Binding; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.IC99Scope; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.ITypeable; -import org.eclipse.cdt.internal.core.dom.lrparser.symboltable.C99SymbolTable; -import org.eclipse.cdt.internal.core.dom.parser.ITypeContainer; - -import lpg.lpgjavaruntime.IToken; - -/** - * This class was an attempt at doing full binding resolution during the parse - * as opposed to doing it after the parse as is normally done with the DOM parser. - * - * - * TODO: token mapping so that this will work with UPC - * TODO: what about function definitions, don't they count as declarations? - * - * Try to resolve bindings without using the ASTStack, that way I can resolve bindings - * without generating an AST. In the future I can remove this as a subclass of C99ParserAction. - * - * TODO: if I'm calculating scopes then those scopes need to be linked to AST nodes - * - * TODO: some language constructs are not handled yet: typeIds (casts), field designators - * - * @author Mike Kucera - * - * @deprecated Binding resolution is too hard, replacing with simpler C99TypedefTrackerParserAction - */ -@SuppressWarnings("restriction") -@Deprecated -public class C99ResolveParserAction { - - private static final boolean DEBUG = true; - private static final String NO_IDENT = ""; //$NON-NLS-1$ - - // provides limited access to the token stream - private final ITokenStream parser; - - // The symbolTable currently in use - private C99SymbolTable symbolTable = C99SymbolTable.EMPTY_TABLE; - - // A stack that keeps track of scopes in the symbol table, used to "close" scopes and to undo the opening of scopes - private final LinkedList symbolTableScopeStack = new LinkedList<>(); - - // A stack that keeps track of scopes that are set on bindings - private final LinkedList bindingScopeStack = new LinkedList<>(); - - // keeps track of nested declarations - private final LinkedList declarationStack = new LinkedList<>(); - - // keeps track of expression types - private final ScopedStack exprTypeStack = new ScopedStack<>(); - - private TypeQualifiers typeQualifiers; // TODO: can this go in the declaration stack? - - private static class TypeQualifiers { - boolean isConst, isRestrict, isVolatile; - } - - // "For every action there is an equal and opposite reaction." - Newton's third law - private final LinkedList undoStack = new LinkedList<>(); - - private interface IUndoAction { - void undo(); - } - - public void undo() { - undoStack.removeLast().undo(); - } - - public void undo(int steps) { - for (int i = 0; i < steps; i++) { - undo(); - } - } - - public IC99Scope getCurrentScope() { - return bindingScopeStack.getLast(); - } - - public C99ResolveParserAction(ITokenStream parser) { - this.parser = parser; - bindingScopeStack.add(new C99Scope(EScopeKind.eGlobal)); // the global scope - System.out.println(); - } - - private static IType rawType(IType type) { - while (type instanceof ITypedef) { - type = ((C99Typedef) type).getType(); - } - return type; - } - - /** - * Lexer feedback hack, used by the parser to identify typedefname tokens. - */ - public boolean isTypedef(String ident) { - boolean result = symbolTable.lookup(IDENTIFIER, ident) instanceof ITypedef; - return result; - } - - /** - * Methods used by tests, package local access. - */ - C99SymbolTable getSymbolTable() { - return symbolTable; - } - - int undoStackSize() { - return undoStack.size(); - } - - LinkedList getDeclarationStack() { - return declarationStack; - } - - /** - * Called from the grammar file in places where a scope is created. - * - * Scopes are created by compound statements, however special care - * must also be taken with for loops because they may contain - * declarations. - * - * TODO: scope object now need to be handled explicitly - */ - public void openSymbolScope() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - symbolTableScopeStack.add(symbolTable); - bindingScopeStack.add(new C99Scope(EScopeKind.eLocal)); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - - bindingScopeStack.removeLast(); - symbolTable = symbolTableScopeStack.removeLast(); - } - }); - } - - public IC99Scope closeSymbolScope() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final C99SymbolTable undoTable = symbolTable; - symbolTable = symbolTableScopeStack.removeLast(); // close the scope - - final IC99Scope undoScope = bindingScopeStack.removeLast(); - if (!bindingScopeStack.isEmpty()) - undoScope.setParent(bindingScopeStack.getLast()); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - undoScope.setParent(null); - bindingScopeStack.add(undoScope); - - symbolTableScopeStack.add(symbolTable); - symbolTable = undoTable; - } - }); - - return undoScope; - } - - // TODO, this needs an undo action - public void openPointerScope() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.getLast(); - frame.openPointerModifierScope(); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - frame.closePointerModifierScope(); - } - }); - } - - /** - * Called from the grammar before a declaration is about to be reduced. - */ - public void openDeclarationScope() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - declarationStack.add(new DeclaratorFrame()); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - declarationStack.removeLast(); - } - }); - } - - public void closeDeclarationScope() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame undoFrame = declarationStack.removeLast(); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - declarationStack.add(undoFrame); - } - }); - } - - public void consumeFunctionDefinition() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - // final IC99Scope undoScope = bindingScope; - // - // C99FunctionScope functionScope = new C99FunctionScope(); - // functionScope.setBodyScope(undoScope); - // undoScope.setParent(functionScope); - // bindingScope = bindingScopeStack.removeLast(); - // functionScope.setParent(bindingScope); - - final IC99Scope undoScope = bindingScopeStack.removeLast(); - - C99FunctionScope functionScope = new C99FunctionScope(); - functionScope.setBodyScope(undoScope); - undoScope.setParent(functionScope); - functionScope.setParent(bindingScopeStack.getLast()); - - final DeclaratorFrame frame = declarationStack.removeLast(); - - // the function binding needs to be available outside of the function's scope - String functionName = frame.getDeclaratorName().toString(); - C99Function functionBinding = (C99Function) symbolTable.lookup(IDENTIFIER, functionName); - functionBinding.setFunctionScope(functionScope); - - final C99SymbolTable undoTable = symbolTable; - final C99SymbolTable outerTable = symbolTableScopeStack.removeLast(); - symbolTable = outerTable.insert(IDENTIFIER, functionName, functionBinding); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - symbolTableScopeStack.add(outerTable); - symbolTable = undoTable; - declarationStack.add(frame); - bindingScopeStack.add(undoScope); - } - }); - } - - public void consumeAbstractDeclaratorFunctionDeclarator() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.getLast(); - frame.setFunctionDeclarator(true); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - frame.setFunctionDeclarator(false); - } - }); - } - - public void consumeDirectDeclaratorFunctionDeclarator() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.getLast(); - frame.setFunctionDeclarator(true); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - frame.setFunctionDeclarator(false); - } - }); - } - - public void consumeDeclSpecToken() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - IToken token = parser.getRightIToken(); - final int kind = token.getKind(); - - // creates a DeclSpec if there isn't one already - DeclaratorFrame frame = declarationStack.getLast(); - final DeclSpec declSpec = frame.getDeclSpec(); - declSpec.add(kind); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - declSpec.remove(kind); - } - }); - } - - /** - * A labeled statement is creates an implicit declaration of the label identifier. - * - * TODO: a label has function scope, meaning the same label cannot be declared twice - * in a function regardless of block scope. - * TODO: labels can be implicitly declared, that is a goto can exist above the label - */ - public IBinding consumeStatementLabeled() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - IToken token = parser.getLeftIToken(); - String ident = token.toString(); - - IC99Binding labelBinding = new C99Label(ident); - // TODO: strictly speaking the same label cannot be declared twice, - // but we aren't checking that here - final C99SymbolTable oldTable = symbolTable; - symbolTable = symbolTable.insert(GOTO_LABEL, ident, labelBinding); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - symbolTable = oldTable; - } - }); - - return labelBinding; - } - - public IBinding consumeStatementGoto() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - List ruleTokens = parser.getRuleTokens(); - assert ruleTokens.size() == 3 : "a goto statement must always consist of 3 tokens"; //$NON-NLS-1$ - String ident = ruleTokens.get(1).toString(); - - final C99SymbolTable oldTable = symbolTable; - - IC99Binding labelBinding = symbolTable.lookup(GOTO_LABEL, ident); - if (labelBinding == null) { - labelBinding = new C99Label(ident); - symbolTable = symbolTable.insert(GOTO_LABEL, ident, labelBinding); - } - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - symbolTable = oldTable; - } - }); - - return labelBinding; - } - - public IBinding consumeDeclarationSpecifiersTypedefName() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - // find the typedef token - String typedefName = null; - for (IToken token : parser.getRuleTokens()) { - // the token kind will still be TK_identifier, but there can only be one - if (token.getKind() == C99Parsersym.TK_identifier) { - typedefName = token.toString(); - break; - } - } - assert typedefName != null : "a typedef token must have been parsed for this action to fire"; //$NON-NLS-1$ - - // we know that the binding is a typedef because the lexer feedback hack worked and got us here - ITypedef binding = (ITypedef) symbolTable.lookup(IDENTIFIER, typedefName); - // TODO: do I need to clone the typedef in case it is further modified like with const? - DeclaratorFrame frame = declarationStack.getLast(); - final DeclSpec declSpec = frame.getDeclSpec(); - declSpec.setType(binding); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - declSpec.setType(null); - } - }); - - return binding; - } - - public void consumeDirectDeclaratorIdentifier() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.getLast(); - DebugUtil.printMethodTrace(); - frame.setDeclaratorName(parser.getRightIToken()); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - DebugUtil.printMethodTrace(); - frame.setDeclaratorName(null); - } - }); - } - - // TODO need to be careful, this is called in a lot of places in the grammar - public void consumeDeclaratorWithPointer() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.getLast(); - final LinkedList scope = frame.closePointerModifierScope(); - final int scopeSize = scope.size(); - - for (C99PointerType pt : reverseIterable(scope)) { - frame.addTypeModifier(pt); - } - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - for (int i = 0; i < scopeSize; i++) { - frame.removeLastTypeModifier(); - } - frame.openPointerModifierScope(scope); - } - }); - } - - public void consumeDirectDeclaratorBracketed() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - // Used to tell the difference between function prototype declarations and function pointer declarations - final DeclaratorFrame frame = declarationStack.getLast(); - frame.setDeclaratorBracketed(true); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - frame.setDeclaratorBracketed(false); - } - }); - } - - public IBinding consumeDeclaratorComplete() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.getLast(); - - IToken token = frame.getDeclaratorName(); - IType type = frame.getDeclaratorType(); - DeclSpec declSpec = frame.getDeclSpec(); - boolean isFunction = frame.isFunctionDeclarator(); - List nestedDeclarators = frame.getNestedDeclarations(); - - if (isFunction) - type = createFunctionType(type, nestedDeclarators); - - String ident = (token == null) ? null : token.toString(); - - // compute the binding - IC99Binding binding; - if (declSpec.isTypedef()) - binding = createTypedefBinding(ident, type); - else if (isFunction && !frame.isDeclaratorBracketed()) - binding = createFunctionBinding(ident, (IFunctionType) type, declSpec, nestedDeclarators); - else - binding = createVariableBinding(ident, type, declSpec); - - binding.setScope(bindingScopeStack.getLast()); - - // insert into symbol table - final C99SymbolTable oldTable = symbolTable; - if (ident != null) - symbolTable = symbolTable.insert(IDENTIFIER, ident, binding); - - declarationStack.removeLast(); - declarationStack.add(new DeclaratorFrame(frame.getDeclSpec())); // reset the declarator - exprTypeStack.push(type); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - exprTypeStack.pop(); - declarationStack.removeLast(); - declarationStack.add(frame); - symbolTable = oldTable; - } - }); - - return binding; - } - - /** - * Just gets rid of the type that was on the type stack. - */ - public void consumeInitDeclarator() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final IType type = exprTypeStack.pop(); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - exprTypeStack.push(type); - } - }); - } - - public IBinding consumeFunctionDefinitionHeader() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - DeclaratorFrame frame = declarationStack.getLast(); - DeclSpec declSpec = frame.getDeclSpec(); - String functionName = frame.getDeclaratorName().toString(); - - final C99SymbolTable oldTable = symbolTable; - - // there may have been a function prototype, hence there may already be a binding for the function - IC99Binding binding = symbolTable.lookup(IDENTIFIER, functionName); - if (binding == null) { - IType type = frame.getDeclaratorType(); - List nestedDeclarators = frame.getNestedDeclarations(); - - IFunctionType functionType = createFunctionType(type, nestedDeclarators); - binding = createFunctionBinding(functionName, functionType, declSpec, nestedDeclarators); - - // a scope has already been opened for the function body, use the outer scope - IC99Scope topScope = bindingScopeStack.removeLast(); - binding.setScope(bindingScopeStack.getLast()); - bindingScopeStack.add(topScope); - - symbolTable = symbolTable.insert(IDENTIFIER, functionName, binding); - } - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - symbolTable = oldTable; - } - }); - - return binding; - } - - public IBinding consumeDeclaratorCompleteParameter() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.removeLast(); - IToken token = frame.getDeclaratorName(); - IType type = frame.getDeclaratorType(); - DeclSpec declSpec = frame.getDeclSpec(); - boolean isFunction = frame.isFunctionDeclarator(); - - // its a function pointer - if (isFunction) - type = createFunctionType(type, frame.getNestedDeclarations()); - - String ident = (token == null) ? NO_IDENT : token.toString(); - - IC99Binding parameterBinding = createParameterBinding(ident, type, declSpec); - parameterBinding.setScope(bindingScopeStack.getLast()); - - // check to see if there is already a parameter binding - String functionName = declarationStack.getLast().getDeclaratorName().toString(); - C99Function function = (C99Function) symbolTable.lookup(IDENTIFIER, functionName); - - if (function != null) { - // there is already a function binding for this function, that means there - // is a function prototype and there is already a binding for this parameter - int position = declarationStack.getLast().getNestedDeclarations().size(); - IParameter[] parameters = function.getParameters(); - if (parameters != null && position < parameters.length) { - parameterBinding = (IC99Binding) parameters[position]; - } - } - - // even if the binding is reused it still might be under a different name - final C99SymbolTable oldTable = symbolTable; - if (ident != null) { - symbolTable = symbolTable.insert(IDENTIFIER, ident, parameterBinding); - } - - declarationStack.getLast().addNestedDeclaration(parameterBinding); - - // parameter declarations can only have one declarator, so don't reset - //declarationStack.add(new DeclaratorFrame()); // reset - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - //declarationStack.removeLast(); - declarationStack.getLast().removeLastNestedDeclaration(); - declarationStack.add(frame); - symbolTable = oldTable; - } - }); - - return parameterBinding; - } - - /** - * This is a special case for the rule: - * parameter_declaration ::= declaration_specifiers - * - * In this case there is no declarator at all - * - * TODO: creating bindings that have no identifier seems really dumb, - * why does it need to be done? Why not just have a null binding or - * for that matter don't even have a name node - * - */ - public IBinding consumeParameterDeclarationWithoutDeclarator() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.removeLast(); - DeclSpec declSpec = frame.getDeclSpec(); - C99Parameter param = createParameterBinding(null, declSpec.getType(), declSpec); - declarationStack.getLast().addNestedDeclaration(param); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - declarationStack.getLast().removeLastNestedDeclaration(); - declarationStack.add(frame); - } - }); - - return param; - } - - public IBinding consumeDeclaratorCompleteField() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.getLast(); - IToken token = frame.getDeclaratorName(); - IType type = frame.getDeclaratorType(); - - // its a function pointer - if (frame.isFunctionDeclarator()) - type = createFunctionType(type, frame.getNestedDeclarations()); - - IBinding binding = createFieldBinding(token.toString(), type, frame.getDeclSpec()); - - declarationStack.removeLast(); - declarationStack.getLast().addNestedDeclaration(binding); - declarationStack.add(new DeclaratorFrame(frame.getDeclSpec())); // reset the declarator - exprTypeStack.push(type); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - exprTypeStack.pop(); - declarationStack.removeLast(); - declarationStack.getLast().removeLastNestedDeclaration(); - declarationStack.add(frame); - } - }); - - return binding; - } - - /** - * An abstract declarator used as part of an expression, eg) a cast. - * Only need the type. - * - * TODO: this isn't enough, I need a binding for the abstract declarator - * what I really need is a consumeDeclaratorCompleteTypeId similar to above - */ - public void consumeTypeId() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.removeLast(); - IType type = frame.getDeclaratorType(); - if (frame.isFunctionDeclarator()) // its a function pointer - type = createFunctionType(type, frame.getNestedDeclarations()); - - exprTypeStack.push(type); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - exprTypeStack.pop(); - declarationStack.add(frame); - } - }); - } - - public void consumeDirectDeclaratorArrayModifier() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.getLast(); - frame.addTypeModifier(new C99ArrayType()); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - frame.removeLastTypeModifier(); - } - }); - } - - public void consumeAbstractDeclaratorArrayModifier() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.getLast(); - frame.addTypeModifier(new C99ArrayType()); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - frame.removeLastTypeModifier(); - } - }); - } - - public void consumeDirectDeclaratorModifiedArrayModifier(boolean isStatic, boolean isVarSized, - boolean hasTypeQualifierList) { - if (DEBUG) - DebugUtil.printMethodTrace(); - - C99ArrayType arrayType = new C99ArrayType(); - arrayType.setStatic(isStatic); - arrayType.setVariableLength(isVarSized); - - if (hasTypeQualifierList) { - arrayType.setConst(typeQualifiers.isConst); - arrayType.setRestrict(typeQualifiers.isRestrict); - arrayType.setVolatile(typeQualifiers.isVolatile); - } - - final DeclaratorFrame frame = declarationStack.getLast(); - frame.addTypeModifier(arrayType); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - frame.removeLastTypeModifier(); - } - }); - } - - public void consumePointer() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.getLast(); - frame.addPointerModifier(new C99PointerType()); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - frame.removeLastPointerModifier(); - } - }); - } - - public void consumePointerTypeQualifierList() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - C99PointerType pointerType = new C99PointerType(); - pointerType.setConst(typeQualifiers.isConst); - pointerType.setRestrict(typeQualifiers.isRestrict); - pointerType.setVolatile(typeQualifiers.isVolatile); - - final DeclaratorFrame frame = declarationStack.getLast(); - frame.addPointerModifier(pointerType); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - frame.removeLastPointerModifier(); - } - }); - } - - public void consumeTypeQualifiers() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - typeQualifiers = new TypeQualifiers(); - - for (IToken token : parser.getRuleTokens()) { - switch (token.getKind()) { - case C99Parsersym.TK_const: - typeQualifiers.isConst = true; - break; - case C99Parsersym.TK_restrict: - typeQualifiers.isRestrict = true; - break; - case C99Parsersym.TK_volatile: - typeQualifiers.isVolatile = true; - break; - } - } - - // I don't think this is really necessary but I need an undo action anyway - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - typeQualifiers = null; - } - }); - } - - /** - * Works for structs, unions and enums. - * If the struct tag is not in the symbol table then it is treated - * as a declaration. - */ - public IBinding consumeTypeSpecifierElaborated(int kind) { - if (DEBUG) - DebugUtil.printMethodTrace(); - - String tag = parser.getRightIToken().toString(); - - IC99Binding structBinding = symbolTable.lookup(STRUCT_TAG, tag); - - final C99SymbolTable undoTable; - - final boolean isDeclaration = (structBinding == null); - - if (isDeclaration) { // declaration of an incomplete type - if (kind == IASTElaboratedTypeSpecifier.k_enum) - structBinding = new C99Enumeration(); - else - structBinding = new C99Structure(kind); - - undoTable = symbolTable; - symbolTable = symbolTable.insert(STRUCT_TAG, tag, structBinding); - } else { - undoTable = null; // final variable must be initialized - } - - final DeclSpec declSpec = declarationStack.getLast().getDeclSpec(); - declSpec.setType((IType) structBinding); // upcast - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - declSpec.setType(null); - - if (isDeclaration) { - assert undoTable != null; - symbolTable = undoTable; - } - } - }); - - return structBinding; - } - - /** - * @param key A field in IASTCompositeTypeSpecifier. - */ - public IBinding consumeTypeSpecifierComposite(final boolean hasName, int key) { - if (DEBUG) - DebugUtil.printMethodTrace(); - - // If the symbol table isn't updated then its still ok to undo - // because setting symbolTable to oldTable will effectively be a no-op. - final C99SymbolTable oldTable = symbolTable; - - C99Structure struct; - if (hasName) { - String ident = parser.getRuleTokens().get(1).toString(); - struct = (C99Structure) symbolTable.lookup(STRUCT_TAG, ident); // structure may have already been declared - if (struct == null) { - struct = new C99Structure(ident, key); - symbolTable = symbolTable.insert(STRUCT_TAG, ident, struct); - } - } else { - struct = new C99Structure(key); - } - - final DeclaratorFrame frame = declarationStack.getLast(); - for (IBinding binding : frame.getNestedDeclarations()) { - // the parser may allow invalid declarations like typedefs inside of structures, ignore those - if (binding instanceof C99Field) { - C99Field field = (C99Field) binding; - struct.addField(field); - field.setCompositeTypeOwner(struct); - } - } - - frame.getDeclSpec().setType(struct); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - frame.getDeclSpec().setType(null); - symbolTable = oldTable; - } - }); - - return struct; - } - - public IBinding consumeTypeSpecifierEnumeration(final boolean hasName) { - if (DEBUG) - DebugUtil.printMethodTrace(); - - C99Enumeration enumeration = new C99Enumeration(); - - final C99SymbolTable oldTable = symbolTable; - if (hasName) { - String ident = parser.getRuleTokens().get(1).toString(); - enumeration.setName(ident); - symbolTable = symbolTable.insert(STRUCT_TAG, ident, enumeration); - } - - final DeclaratorFrame frame = declarationStack.getLast(); - for (IBinding binding : frame.getNestedDeclarations()) { - C99Enumerator enumerator = (C99Enumerator) binding; - enumeration.addEnumerator(enumerator); - enumerator.setType(enumeration); - } - - frame.getDeclSpec().setType(enumeration); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - frame.getDeclSpec().setType(null); - if (hasName) - symbolTable = oldTable; - } - }); - - return enumeration; - } - - public IBinding consumeEnumerator() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - IToken token = parser.getLeftIToken(); - String ident = token.toString(); - C99Enumerator enumerator = new C99Enumerator(ident); - - final C99SymbolTable oldTable = symbolTable; - symbolTable = symbolTable.insert(IDENTIFIER, ident, enumerator); - - // enumerators are not declarations in the standard sense, so a scope won't be opened for them - declarationStack.getLast().addNestedDeclaration(enumerator); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - declarationStack.getLast().removeLastNestedDeclaration(); - symbolTable = oldTable; - } - }); - - return enumerator; - } - - public IField consumeDesignatorBaseField() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - IType baseType = getInitializerType(); - String fieldName = parser.getRightIToken().toString(); - - C99Field fieldBinding = computeFieldBinding(baseType, fieldName, false); - IType type = fieldBinding == null ? C99ProblemBinding.badType() : fieldBinding.getType(); - - exprTypeStack.push(type); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - exprTypeStack.pop(); - } - }); - - return fieldBinding; - } - - private IType getInitializerType() { - List outerScope = exprTypeStack.outerScope(); - return outerScope.get(outerScope.size() - 1); - } - - public void consumeDesignatorBaseArray() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - IType baseType = getInitializerType(); - - IType type = C99ProblemBinding.badType(); - if (baseType instanceof C99ArrayType) { - type = ((C99ArrayType) baseType).getType(); - } - - exprTypeStack.push(type); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - exprTypeStack.pop(); - } - }); - } - - public void consumeInitializerStartPositional() { - if (DEBUG) - DebugUtil.printMethodTrace(); - DebugUtil.printMethodTrace(); - - IType type = getInitializerType(); - type = rawType(type); - - IType positionType; - if (type instanceof C99Structure) { - int position = exprTypeStack.topScope().size(); - C99Field field = (C99Field) ((C99Structure) type).getFields()[position]; - positionType = field.getType(); - } else if (type instanceof IArrayType) { - positionType = ((C99ArrayType) type).getType(); - } else { - positionType = C99ProblemBinding.badType(); - } - - exprTypeStack.push(positionType); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - exprTypeStack.pop(); - } - }); - } - - private static C99FunctionType createFunctionType(IType returnType, List parameterDeclarations) { - C99FunctionType functionType = new C99FunctionType(); - functionType.setReturnType(returnType); - for (IBinding b : parameterDeclarations) { - C99Variable parameter = (C99Variable) b; - functionType.addParameterType(parameter.getType()); - } - return functionType; - } - - // helper functions for creating binding objects - - private static C99Function createFunctionBinding(String ident, IFunctionType type, DeclSpec declSpec) { - C99Function func = new C99Function(ident == null ? NO_IDENT : ident, type); - declSpec.modifyBinding(func); - return func; - } - - private static C99Function createFunctionBinding(String ident, IFunctionType type, DeclSpec declSpec, - List params) { - C99Function func = createFunctionBinding(ident, type, declSpec); - for (IBinding b : params) { - func.addParameter((IParameter) b); - } - return func; - } - - private static C99Field createFieldBinding(String ident, IType type, DeclSpec declSpec) { - C99Field var = new C99Field(ident == null ? NO_IDENT : ident); - var.setType(type); - declSpec.modifyBinding(var); - return var; - } - - private static C99Parameter createParameterBinding(String ident, IType type, DeclSpec declSpec) { - C99Parameter param = new C99Parameter(ident == null ? NO_IDENT : ident); - param.setType(type); - declSpec.modifyBinding(param); - return param; - } - - private static C99Variable createVariableBinding(String ident, IType type, DeclSpec declSpec) { - C99Variable var = new C99Variable(ident == null ? NO_IDENT : ident); - var.setType(type); - declSpec.modifyBinding(var); - return var; - } - - private static C99Typedef createTypedefBinding(String ident, IType type) { - return new C99Typedef(type, ident == null ? NO_IDENT : ident); - } - - public void openTypeScope() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - exprTypeStack.openScope(); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - exprTypeStack.closeScope(); - } - }); - } - - @SuppressWarnings("nls") - public void consumeExpressionConstant(int kind) { - if (DEBUG) - DebugUtil.printMethodTrace(); - - //super.consumeExpressionConstant(kind); - // TODO: this is incomplete, what about double constants, int constants with long suffix etc - String constant = parser.getRightIToken().toString(); - - IType type = null; - switch (kind) { - case IASTLiteralExpression.lk_char_constant: - if (constant.startsWith("L")) {//unsigned short int - C99BasicType charType = new C99BasicType(IBasicType.t_int); - charType.setShort(true); - charType.setUnsigned(true); - type = charType; - } else - type = new C99BasicType(IBasicType.t_char); - break; - - case IASTLiteralExpression.lk_float_constant: - C99BasicType floatType; - if (constant.contains("f") || constant.contains("F")) - floatType = new C99BasicType(IBasicType.t_float); - else - floatType = new C99BasicType(IBasicType.t_double); - - if (constant.contains("l") || constant.contains("L")) - floatType.setLong(true); - - type = floatType; - break; - - case IASTLiteralExpression.lk_integer_constant: - C99BasicType intType = new C99BasicType(IBasicType.t_int); - if (constant.contains("l") || constant.contains("L")) - intType.setLong(true); - - if (constant.contains("ll") || constant.contains("LL")) { - intType.setLongLong(true); - intType.setLong(false); - } - if (constant.contains("u") || constant.contains("U")) - intType.setUnsigned(true); - - type = intType; - break; - - case IASTLiteralExpression.lk_string_literal: - type = new C99PointerType(new C99BasicType(IBasicType.t_char)); - break; - - default: - assert false : "can't get here"; //$NON-NLS-1$ - } - - exprTypeStack.push(type); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - exprTypeStack.pop(); - } - }); - } - - public IBinding consumeExpressionID() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - IToken token = parser.getRightIToken(); - String ident = token.toString(); - IBinding binding = symbolTable.lookup(IDENTIFIER, ident); - - IType type = C99ProblemBinding.badType(); - if (binding instanceof ITypeable) - type = ((ITypeable) binding).getType(); - - exprTypeStack.push(type); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - exprTypeStack.pop(); - } - }); - - return binding; - } - - public IField consumeExpressionFieldReference(boolean isPointerDereference) { - if (DEBUG) - DebugUtil.printMethodTrace(); - - String memberName = parser.getRightIToken().toString(); - final IType identType = exprTypeStack.pop(); - - C99Field field = computeFieldBinding(identType, memberName, isPointerDereference); - IType resultType = field == null ? C99ProblemBinding.badType() : field.getType(); - - exprTypeStack.push(resultType); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - exprTypeStack.pop(); - exprTypeStack.push(identType); - } - }); - - return field; - } - - /** - * Computes the type of a field member access in an expression. - * eg) x.a; computes the type of a - */ - private C99Field computeFieldBinding(IType identType, String memberName, boolean isPointerDereference) { - IType type = identType; - if (isPointerDereference) { - if (type instanceof IPointerType) - type = ((ITypeContainer) type).getType(); // do the dereference - else - return null; - } - - type = rawType(type); - if (type instanceof ICompositeType) { - ICompositeType struct = (ICompositeType) type; - return (C99Field) struct.findField(memberName); - } - - return null; - } - - // TODO In C a function name can be used without parenthesis, the result is the address of - // the function (which is an int I think). This means an identifier that happens to be - // a function name should probably evaluate to an int, and then if it subsequently gets parsed - // as a function call we can look up its function type from the symbol table. - public void consumeExpressionFunctionCall(final boolean hasArgs) { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final List scope = hasArgs ? exprTypeStack.closeScope() : null; - final IType identifierType = exprTypeStack.pop(); - - IType resultType = C99ProblemBinding.badType(); - - if (identifierType instanceof IFunctionType) { - // TODO: check the parameter types - IFunctionType functionType = (IFunctionType) identifierType; - resultType = functionType.getReturnType(); - - } - - exprTypeStack.push(resultType); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - exprTypeStack.pop(); - exprTypeStack.push(identifierType); - if (hasArgs) - exprTypeStack.openScope(scope); - } - }); - } - - public void consumeExpressionArraySubscript() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - // Not doing type checking so it doesn't matter that this is integral type - final IType subscriptType = exprTypeStack.pop(); - final IType exprType = exprTypeStack.pop(); - - IType resultType = C99ProblemBinding.badType(); - if (exprType instanceof IArrayType) { - IArrayType arrType = (IArrayType) exprType; - resultType = arrType.getType(); // strip off the array type - - } - - exprTypeStack.push(resultType); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - exprTypeStack.pop(); - exprTypeStack.push(exprType); - exprTypeStack.push(subscriptType); - } - }); - } - - public void consumeExpressionUnaryOperator() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - // TODO: this is lazy, need to check the actual rules for types and operators - final IType expressionType = exprTypeStack.pop(); - - IType resultType = new C99BasicType(IBasicType.t_int); - exprTypeStack.push(resultType); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - exprTypeStack.pop(); - exprTypeStack.push(expressionType); - } - }); - } - - public void consumeExpressionUnarySizeofTypeName() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final IType typeNameType = exprTypeStack.pop(); - - IType resultType = new C99BasicType(IBasicType.t_int); - exprTypeStack.push(resultType); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - exprTypeStack.pop(); - exprTypeStack.push(typeNameType); - } - }); - } - - public void consumeExpressionCast() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final IType exprType = exprTypeStack.pop(); - - // pop then push is no-op - //IType castType = exprTypeStack.pop(); - //exprTypeStack.push(castType); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - exprTypeStack.push(exprType); - } - }); - } - - public void consumeExpressionTypeIdInitializer() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - // Throw away the types of the initializer list - final List scope = exprTypeStack.closeScope(); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - exprTypeStack.openScope(scope); - } - }); - } - - public void consumeExpressionInitializer() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final IType type = exprTypeStack.pop(); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - exprTypeStack.push(type); - } - }); - } - - public void consumeExpressionBinaryOperator(int op) { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final IType op2type = exprTypeStack.pop(); - final IType op1type = exprTypeStack.pop(); - - switch (op) { - case IASTBinaryExpression.op_assign: - case IASTBinaryExpression.op_multiplyAssign: - case IASTBinaryExpression.op_divideAssign: - case IASTBinaryExpression.op_moduloAssign: - case IASTBinaryExpression.op_plusAssign: - case IASTBinaryExpression.op_minusAssign: - case IASTBinaryExpression.op_shiftLeftAssign: - case IASTBinaryExpression.op_shiftRightAssign: - case IASTBinaryExpression.op_binaryAndAssign: - case IASTBinaryExpression.op_binaryXorAssign: - case IASTBinaryExpression.op_binaryOrAssign: - exprTypeStack.push(op1type); - break; - - default: - IType resultType = new C99BasicType(IBasicType.t_int); - exprTypeStack.push(resultType); - } - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - exprTypeStack.pop(); - exprTypeStack.push(op1type); - exprTypeStack.push(op2type); - } - }); - } - - public void consumeExpressionConditional() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final IType expr2Type = exprTypeStack.pop(); - final IType expr1Type = exprTypeStack.pop(); - final IType condType = exprTypeStack.pop(); - exprTypeStack.push(expr1Type); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - exprTypeStack.pop(); - exprTypeStack.push(condType); - exprTypeStack.push(expr1Type); - exprTypeStack.push(expr2Type); - } - }); - } - - // // TODO: expression lists are changing - // public void consumeExpressionList(boolean baseCase) { - // // This is a hack, the type of an expression - // // list will be the first expression in the list. - // if(!baseCase) { - // exprTypeStack.pop(); - // } - // } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/action/deprecated/C99TypedefTrackerParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/action/deprecated/C99TypedefTrackerParserAction.java deleted file mode 100644 index 74e784810a9..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/action/deprecated/C99TypedefTrackerParserAction.java +++ /dev/null @@ -1,368 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.action.deprecated; - -import java.util.LinkedList; - -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.parser.util.DebugUtil; -import org.eclipse.cdt.internal.core.dom.lrparser.symboltable.TypedefSymbolTable; - -import lpg.lpgjavaruntime.IToken; - -/** - * A simple set of trial and undo actions that just keep track - * of typedef names. This information is then fed back to the parser - * in order to disambiguate certain parser grammar rules. - * - * The command design pattern is used to implement undo actions. - * - * @author Mike Kucera - */ -public class C99TypedefTrackerParserAction { - - private static final boolean DEBUG = true; - - // provides limited access to the token stream - private final ITokenStream parser; - - // The symbolTable currently in use - private TypedefSymbolTable symbolTable = TypedefSymbolTable.EMPTY_TABLE; - - // A stack that keeps track of scopes in the symbol table, used to "close" scopes and to undo the opening of scopes - private final LinkedList symbolTableScopeStack = new LinkedList<>(); - - // keeps track of nested declarations - private final LinkedList declarationStack = new LinkedList<>(); - - // "For every action there is an equal and opposite reaction." - Newton's third law - private final LinkedList undoStack = new LinkedList<>(); - - /** - * A command object that provides undo functionality. - */ - private interface IUndoAction { - void undo(); - } - - /** - * Undoes the last fired action. - */ - public void undo() { - undoStack.removeLast().undo(); - } - - public C99TypedefTrackerParserAction(ITokenStream parser) { - this.parser = parser; - } - - /** - * Lexer feedback hack, used by the parser to identify typedefname tokens. - */ - public boolean isTypedef(String ident) { - return symbolTable.contains(ident); - } - - /** - * Methods used by tests, package local access. - */ - TypedefSymbolTable getSymbolTable() { - return symbolTable; - } - - int undoStackSize() { - return undoStack.size(); - } - - LinkedList getDeclarationStack() { - return declarationStack; - } - - /** - * Called from the grammar file in places where a scope is created. - * - * Scopes are created by compound statements, however special care - * must also be taken with for loops because they may contain - * declarations. - * - * TODO: scope object now need to be handled explicitly - */ - public void openSymbolScope() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - symbolTableScopeStack.add(symbolTable); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - symbolTable = symbolTableScopeStack.removeLast(); - } - }); - } - - public void closeSymbolScope() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final TypedefSymbolTable undoTable = symbolTable; - symbolTable = symbolTableScopeStack.removeLast(); // close the scope - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - symbolTableScopeStack.add(symbolTable); - symbolTable = undoTable; - } - }); - } - - /** - * Called from the grammar before a declaration is about to be reduced. - */ - public void openDeclarationScope() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - declarationStack.add(new DeclaratorFrame()); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - declarationStack.removeLast(); - } - }); - } - - public void closeDeclarationScope() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame undoFrame = declarationStack.removeLast(); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - declarationStack.add(undoFrame); - } - }); - } - - public void consumeFunctionDefinition() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.removeLast(); - - final TypedefSymbolTable undoTable = symbolTable; - symbolTable = symbolTableScopeStack.removeLast(); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - symbolTableScopeStack.add(symbolTable); - symbolTable = undoTable; - - declarationStack.add(frame); - } - }); - } - - public void consumeDeclSpecToken() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - IToken token = parser.getRightIToken(); - final int kind = token.getKind(); - - // creates a DeclSpec if there isn't one already - DeclaratorFrame frame = declarationStack.getLast(); - final DeclSpec declSpec = frame.getDeclSpec(); - declSpec.add(kind); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - declSpec.remove(kind); - } - }); - } - - public void consumeDirectDeclaratorIdentifier() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.getLast(); - frame.setDeclaratorName(parser.getRightIToken()); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - frame.setDeclaratorName(null); - } - }); - } - - public void consumeDeclaratorComplete() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.getLast(); - - IToken token = frame.getDeclaratorName(); - DeclSpec declSpec = frame.getDeclSpec(); - - String ident = (token == null) ? null : token.toString(); - //System.out.println("declarator complete: " + ident); - - final TypedefSymbolTable oldTable = symbolTable; - if (declSpec.isTypedef()) { - //System.out.println("adding typedef: " + ident); - symbolTable = symbolTable.add(ident); - } - - declarationStack.removeLast(); - declarationStack.add(new DeclaratorFrame(frame.getDeclSpec())); // reset the declarator - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - declarationStack.removeLast(); - declarationStack.add(frame); - symbolTable = oldTable; - } - }); - } - - public void consumeDeclaratorCompleteParameter() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.removeLast(); - - //declarationStack.getLast().addNestedDeclaration(parameterBinding); - - // parameter declarations can only have one declarator, so don't reset - //declarationStack.add(new DeclaratorFrame()); // reset - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - //declarationStack.removeLast(); - //declarationStack.getLast().removeLastNestedDeclaration(); - declarationStack.add(frame); - } - }); - } - - /** - * This is a special case for the rule: - * parameter_declaration ::= declaration_specifiers - * - * In this case there is no declarator at all - * - * TODO: creating bindings that have no identifier seems really dumb, - * why does it need to be done? Why not just have a null binding or - * for that matter don't even have a name node - * - */ - public void consumeParameterDeclarationWithoutDeclarator() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.removeLast(); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - declarationStack.add(frame); - } - }); - } - - public void consumeDeclaratorCompleteField() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.removeLast(); - - declarationStack.add(new DeclaratorFrame(frame.getDeclSpec())); // reset the declarator - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - declarationStack.removeLast(); - - declarationStack.add(frame); - } - }); - } - - /** - * An abstract declarator used as part of an expression, eg) a cast. - * Only need the type. - * - * TODO: this isn't enough, I need a binding for the abstract declarator - * what I really need is a consumeDeclaratorCompleteTypeId similar to above - */ - public void consumeTypeId() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - final DeclaratorFrame frame = declarationStack.removeLast(); - - undoStack.add(new IUndoAction() { - @Override - public void undo() { - if (DEBUG) - DebugUtil.printMethodTrace(); - - declarationStack.add(frame); - } - }); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/action/deprecated/DeclSpec.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/action/deprecated/DeclSpec.java deleted file mode 100644 index feb69f60b9b..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/action/deprecated/DeclSpec.java +++ /dev/null @@ -1,185 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.action.deprecated; - -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK__Bool; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK__Complex; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK__Imaginary; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_auto; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_char; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_const; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_double; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_extern; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_float; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_inline; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_int; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_long; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_register; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_restrict; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_short; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_signed; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_static; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_unsigned; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_void; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_volatile; - -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IBasicType; -import org.eclipse.cdt.core.dom.ast.IType; -import org.eclipse.cdt.core.dom.ast.c.ICBasicType; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99BasicType; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99Function; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99QualifierType; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99Variable; - -/** - * Keeps track of declaration specifiers during the parse. - * Used to compute types and determine if a declarator is a typedef. - * - * @author Mike Kucera - */ -class DeclSpec { - - // maps token kinds to the number of occurrences of that kind - private Map tokenKindMap = new HashMap<>(); - - private IType type = null; - - public void add(int kind) { - tokenKindMap.put(kind, count(kind) + 1); - } - - public void remove(final int kind) { - Integer count = tokenKindMap.get(kind); - if (count == null) - return; - - if (count <= 1) - tokenKindMap.remove(kind); - else - tokenKindMap.put(kind, count - 1); - } - - public boolean contains(int kind) { - return tokenKindMap.containsKey(kind); - } - - public boolean isTypedef() { - return contains(C99Parsersym.TK_typedef); - } - - /** - * Need to keep track of how many times a particular - * declaration specifier appears in order to support - * long long. - */ - public int count(int kind) { - Integer count = tokenKindMap.get(kind); - return count == null ? 0 : count; - } - - /** - * Set if the type should be a structure. - */ - public void setType(IType type) { - this.type = type; - } - - public IType getType() { - if (type != null) - return type; - if (tokenKindMap.isEmpty()) // there are no type tokens, so it must be implicit int - return new C99BasicType(IBasicType.t_int); - - C99BasicType basicType = new C99BasicType(); - - for (int kind : tokenKindMap.keySet()) { - switch (kind) { - case TK_void: - basicType.setType(IBasicType.t_void); - break; - case TK_char: - basicType.setType(IBasicType.t_char); - break; - case TK_int: - basicType.setType(IBasicType.t_int); - break; - case TK_float: - basicType.setType(IBasicType.t_float); - break; - case TK_double: - basicType.setType(IBasicType.t_double); - break; - case TK_long: - boolean isLongLong = count(TK_long) > 1; - basicType.setLongLong(isLongLong); - basicType.setLong(!isLongLong); - break; - case TK_signed: - basicType.setSigned(true); - break; - case TK_unsigned: - basicType.setUnsigned(true); - break; - case TK_short: - basicType.setShort(true); - break; - case TK__Bool: - basicType.setType(ICBasicType.t_Bool); - break; - case TK__Complex: - basicType.setComplex(true); - break; - case TK__Imaginary: - basicType.setImaginary(true); - break; - } - } - - boolean isConst = contains(TK_const); - boolean isRestrict = contains(TK_restrict); - boolean isVolatile = contains(TK_volatile); - - if (isConst || isRestrict || isVolatile) - return new C99QualifierType(basicType, isConst, isVolatile, isRestrict); - return basicType; - } - - public void modifyBinding(C99Variable var) { - if (!var.isAuto()) - var.setAuto(contains(TK_auto)); - if (!var.isExtern()) - var.setExtern(contains(TK_extern)); - if (!var.isRegister()) - var.setRegister(contains(TK_register)); - if (!var.isStatic()) - var.setStatic(contains(TK_static)); - } - - public void modifyBinding(C99Function function) { - if (!function.isAuto()) - function.setAuto(contains(TK_auto)); - if (!function.isExtern()) - function.setExtern(contains(TK_extern)); - if (!function.isInline()) - function.setInline(contains(TK_inline)); - if (!function.isRegister()) - function.setRegister(contains(TK_register)); - if (!function.isStatic()) - function.setStatic(contains(TK_static)); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/action/deprecated/DeclaratorFrame.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/action/deprecated/DeclaratorFrame.java deleted file mode 100644 index d4c9c6cf304..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/action/deprecated/DeclaratorFrame.java +++ /dev/null @@ -1,147 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.action.deprecated; - -import java.util.LinkedList; -import java.util.List; - -import org.eclipse.cdt.core.dom.ast.IBinding; -import org.eclipse.cdt.core.dom.ast.IType; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99PointerType; -import org.eclipse.cdt.internal.core.dom.parser.ITypeContainer; - -import lpg.lpgjavaruntime.IToken; - -/** - * Represents a frame on the declaration stack used by the resolver actions. - * - * TODO: document this class better - * - * @author Mike Kucera - */ -@SuppressWarnings("restriction") -public class DeclaratorFrame { - private DeclSpec declSpec; - //IBinding declarator; - private IToken declaratorName; - private boolean isDeclaratorBracketed; - private boolean isFunctionDeclarator = false; - - // temporary storage for pointer modifiers - private LinkedList> pointerModifiers = new LinkedList<>(); - - // stores pointer and array modifiers that are applied to the declarator - private LinkedList typeModifiers = new LinkedList<>(); - - private LinkedList nestedDeclarations = new LinkedList<>(); - - public DeclaratorFrame() { - } - - public DeclaratorFrame(DeclSpec declSpec) { - this.declSpec = declSpec; - } - - public DeclSpec getDeclSpec() { - if (declSpec == null) - declSpec = new DeclSpec(); - - return declSpec; - } - - public IType getDeclaratorType() { - // the declSpec may be null, so use getDeclSpec() - IType baseType = getDeclSpec().getType(); - - if (typeModifiers.isEmpty()) - return baseType; - - IType type = typeModifiers.get(0); - - // link the types together - for (int i = 1; i < typeModifiers.size(); i++) { - ITypeContainer t1 = typeModifiers.get(i - 1); - ITypeContainer t2 = typeModifiers.get(i); - t1.setType(t2); - } - - ITypeContainer last = typeModifiers.get(typeModifiers.size() - 1); - last.setType(baseType); - return type; - } - - public IToken getDeclaratorName() { - return declaratorName; - } - - public void setDeclaratorName(IToken declaratorName) { - this.declaratorName = declaratorName; - } - - public boolean isDeclaratorBracketed() { - return isDeclaratorBracketed; - } - - public void setDeclaratorBracketed(boolean isDeclaratorBracketed) { - this.isDeclaratorBracketed = isDeclaratorBracketed; - } - - public boolean isFunctionDeclarator() { - return isFunctionDeclarator; - } - - public void setFunctionDeclarator(boolean isFunctionDeclarator) { - this.isFunctionDeclarator = isFunctionDeclarator; - } - - public List getNestedDeclarations() { - return nestedDeclarations; - } - - public void addNestedDeclaration(IBinding binding) { - nestedDeclarations.add(binding); - } - - public void removeLastNestedDeclaration() { - nestedDeclarations.removeLast(); - } - - public void addTypeModifier(ITypeContainer x) { - typeModifiers.add(x); - } - - public void removeLastTypeModifier() { - typeModifiers.removeLast(); - } - - public void addPointerModifier(C99PointerType x) { - pointerModifiers.getLast().add(x); - } - - public void removeLastPointerModifier() { - pointerModifiers.getLast().removeLast(); - } - - public void openPointerModifierScope() { - pointerModifiers.add(new LinkedList()); - } - - public void openPointerModifierScope(LinkedList scope) { - pointerModifiers.add(scope); - } - - public LinkedList closePointerModifierScope() { - return pointerModifiers.removeLast(); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99ArrayType.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99ArrayType.java deleted file mode 100644 index c03186fd9e5..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99ArrayType.java +++ /dev/null @@ -1,139 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2014 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import org.eclipse.cdt.core.dom.ast.DOMException; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IType; -import org.eclipse.cdt.core.dom.ast.ITypedef; -import org.eclipse.cdt.core.dom.ast.IValue; -import org.eclipse.cdt.core.dom.ast.c.ICArrayType; -import org.eclipse.cdt.internal.core.dom.parser.ITypeContainer; - -@SuppressWarnings("restriction") -public class C99ArrayType implements ICArrayType, ITypeContainer { - private boolean isConst; - private boolean isRestrict; - private boolean isStatic; - private boolean isVolatile; - private boolean isVariableLength; - - private IType type; - - public C99ArrayType() { - } - - public C99ArrayType(IType type) { - this.type = type; - } - - @Override - public boolean isConst() { - return isConst; - } - - public void setConst(boolean isConst) { - this.isConst = isConst; - } - - @Override - public boolean isRestrict() { - return isRestrict; - } - - public void setRestrict(boolean isRestrict) { - this.isRestrict = isRestrict; - } - - @Override - public boolean isStatic() { - return isStatic; - } - - public void setStatic(boolean isStatic) { - this.isStatic = isStatic; - } - - @Override - public boolean isVolatile() { - return isVolatile; - } - - public void setVolatile(boolean isVolatile) { - this.isVolatile = isVolatile; - } - - @Override - public boolean isVariableLength() { - return isVariableLength; - } - - public void setVariableLength(boolean isVariableLength) { - this.isVariableLength = isVariableLength; - } - - @Deprecated - @Override - public IASTExpression getArraySizeExpression() throws DOMException { - return null; - } - - @Override - public IType getType() { - return type; - } - - @Override - public void setType(IType type) { - this.type = type; - } - - @Override - public boolean isSameType(IType t) { - if (t == this) - return true; - if (t instanceof ITypedef) - return t.isSameType(this); - if (t instanceof ICArrayType) { - ICArrayType at = (ICArrayType) t; - if (at.isConst() == isConst && at.isRestrict() == isRestrict && at.isStatic() == isStatic - && at.isVolatile() == isVolatile && at.isVariableLength() == isVariableLength) { - return at.isSameType(type); - } - } - return false; - } - - @Override - public IValue getSize() { - return null; - } - - @Override - public boolean hasSize() { - return false; - } - - @Override - public C99ArrayType clone() { - C99ArrayType clone = null; - try { - clone = (C99ArrayType) super.clone(); - clone.type = (IType) type.clone(); - } catch (CloneNotSupportedException e) { - assert false; // not going to happen - } - return clone; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99BasicType.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99BasicType.java deleted file mode 100644 index e33c7e7c955..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99BasicType.java +++ /dev/null @@ -1,153 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IType; -import org.eclipse.cdt.core.dom.ast.c.ICBasicType; - -public class C99BasicType implements ICBasicType { - - /* Type flags given in IBasicType */ - private int type; - - private boolean isLong; - private boolean isShort; - private boolean isSigned; - private boolean isUnsigned; - private boolean isComplex; - private boolean isImaginary; - private boolean isLongLong; - - public C99BasicType() { - } - - public C99BasicType(int type) { - this.type = type; - } - - @Override - public int getType() { - return type; - } - - public void setType(int type) { - this.type = type; - } - - @Override - public boolean isLong() { - return isLong; - } - - public void setLong(boolean isLong) { - this.isLong = isLong; - } - - @Override - public boolean isShort() { - return isShort; - } - - public void setShort(boolean isShort) { - this.isShort = isShort; - } - - @Override - public boolean isSigned() { - return isSigned; - } - - public void setSigned(boolean isSigned) { - this.isSigned = isSigned; - } - - @Override - public boolean isUnsigned() { - return isUnsigned; - } - - public void setUnsigned(boolean isUnsigned) { - this.isUnsigned = isUnsigned; - } - - @Override - public boolean isComplex() { - return isComplex; - } - - public void setComplex(boolean isComplex) { - this.isComplex = isComplex; - } - - @Override - public boolean isImaginary() { - return isImaginary; - } - - public void setImaginary(boolean isImaginary) { - this.isImaginary = isImaginary; - } - - @Override - public boolean isLongLong() { - return isLongLong; - } - - public void setLongLong(boolean isLongLong) { - this.isLongLong = isLongLong; - } - - @Override - @Deprecated - public IASTExpression getValue() { - return null; - } - - @Override - public boolean isSameType(IType t) { - if (t == this) - return true; - if (!(t instanceof C99BasicType)) - return false; - - C99BasicType bt = (C99BasicType) t; - return bt.type == this.type && bt.isLong == this.isLong && bt.isShort == this.isShort - && bt.isSigned == this.isSigned && bt.isUnsigned == this.isUnsigned && bt.isComplex == this.isComplex - && bt.isImaginary == this.isImaginary && bt.isLongLong == this.isLongLong; - } - - @Override - public C99BasicType clone() { - try { - return (C99BasicType) super.clone(); - } catch (CloneNotSupportedException e) { - assert false; - return null; - } - } - - @Override - public Kind getKind() { - // TODO Auto-generated method stub - return null; - } - - @Override - public int getModifiers() { - // TODO Auto-generated method stub - return 0; - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99CompositeTypeScope.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99CompositeTypeScope.java deleted file mode 100644 index 6cbc4e7bdca..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99CompositeTypeScope.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import org.eclipse.cdt.core.dom.ast.EScopeKind; -import org.eclipse.cdt.core.dom.ast.IBinding; -import org.eclipse.cdt.core.dom.ast.ICompositeType; -import org.eclipse.cdt.core.dom.ast.c.ICCompositeTypeScope; - -public class C99CompositeTypeScope extends C99Scope implements ICCompositeTypeScope { - - private ICompositeType struct; - - public C99CompositeTypeScope(ICompositeType struct) { - super(EScopeKind.eClassType); - this.struct = struct; - } - - @Override - public ICompositeType getCompositeType() { - return struct; - } - - @Override - public IBinding getBinding(@SuppressWarnings("unused") char[] name) { - throw new UnsupportedOperationException(); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Enumeration.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Enumeration.java deleted file mode 100644 index f8964535df2..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Enumeration.java +++ /dev/null @@ -1,135 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.cdt.core.dom.ILinkage; -import org.eclipse.cdt.core.dom.ast.IASTNode; -import org.eclipse.cdt.core.dom.ast.IBinding; -import org.eclipse.cdt.core.dom.ast.IEnumeration; -import org.eclipse.cdt.core.dom.ast.IEnumerator; -import org.eclipse.cdt.core.dom.ast.IScope; -import org.eclipse.cdt.core.dom.ast.IType; -import org.eclipse.cdt.core.dom.ast.ITypedef; -import org.eclipse.cdt.internal.core.dom.Linkage; -import org.eclipse.cdt.internal.core.dom.parser.c.CVisitor; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.SemanticUtil; -import org.eclipse.core.runtime.PlatformObject; - -@SuppressWarnings("restriction") -public class C99Enumeration extends PlatformObject implements IC99Binding, IEnumeration, ITypeable { - - private List enumerators = new ArrayList<>(); - private String name; - - private IScope scope; - - public C99Enumeration() { - } - - public C99Enumeration(String name) { - this.name = name; - } - - public void addEnumerator(IEnumerator e) { - enumerators.add(e); - } - - @Override - public IEnumerator[] getEnumerators() { - return enumerators.toArray(new IEnumerator[enumerators.size()]); - } - - public void setName(String name) { - this.name = name; - } - - @Override - public String getName() { - return name; - } - - @Override - public char[] getNameCharArray() { - return name.toCharArray(); - } - - @Override - public IType getType() { - return this; - } - - @Override - public boolean isSameType(IType type) { - if (type == this) - return true; - if (type instanceof ITypedef) - return type.isSameType(this); - - return false; - } - - @Override - public C99Enumeration clone() { - try { - C99Enumeration clone = (C99Enumeration) super.clone(); - clone.enumerators = new ArrayList<>(); - for (IEnumerator e : enumerators) { - // TODO this is wrong, - // IEnumerator is not Cloneable so we are not returning a deep copy here - clone.addEnumerator(e); - } - return clone; - } catch (CloneNotSupportedException e1) { - assert false; - return null; - } - - } - - @Override - public ILinkage getLinkage() { - return Linkage.C_LINKAGE; - } - - @Override - public IScope getScope() { - return scope; - } - - @Override - public void setScope(IScope scope) { - this.scope = scope; - } - - @Override - public IBinding getOwner() { - if (scope != null) { - return CVisitor.findEnclosingFunction((IASTNode) scope.getScopeName()); // local or global - } - return null; - } - - @Override - public long getMinValue() { - return SemanticUtil.computeMinValue(this); - } - - @Override - public long getMaxValue() { - return SemanticUtil.computeMaxValue(this); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Enumerator.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Enumerator.java deleted file mode 100644 index 4d844050605..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Enumerator.java +++ /dev/null @@ -1,89 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import org.eclipse.cdt.core.dom.ILinkage; -import org.eclipse.cdt.core.dom.ast.IBinding; -import org.eclipse.cdt.core.dom.ast.IEnumerator; -import org.eclipse.cdt.core.dom.ast.IScope; -import org.eclipse.cdt.core.dom.ast.IType; -import org.eclipse.cdt.core.dom.ast.IValue; -import org.eclipse.cdt.internal.core.dom.Linkage; -import org.eclipse.cdt.internal.core.dom.parser.IntegralValue; -import org.eclipse.core.runtime.PlatformObject; - -@SuppressWarnings("restriction") -public class C99Enumerator extends PlatformObject implements IC99Binding, IEnumerator, ITypeable { - - private String name; - private IType type; - private IScope scope; - - public C99Enumerator() { - } - - public C99Enumerator(String name) { - this.name = name; - } - - @Override - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public IType getType() { - return type; - } - - public void setType(IType type) { - this.type = type; - } - - @Override - public ILinkage getLinkage() { - return Linkage.C_LINKAGE; - } - - @Override - public char[] getNameCharArray() { - return name.toCharArray(); - } - - @Override - public IScope getScope() { - return scope; - } - - @Override - public void setScope(IScope scope) { - this.scope = scope; - } - - @Override - public IBinding getOwner() { - if (type instanceof IBinding) - return (IBinding) type; - return null; - } - - @Override - public IValue getValue() { - return IntegralValue.UNKNOWN; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Field.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Field.java deleted file mode 100644 index 9116b222e57..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Field.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import org.eclipse.cdt.core.dom.ast.ICompositeType; -import org.eclipse.cdt.core.dom.ast.IField; -import org.eclipse.cdt.core.dom.ast.IScope; - -public class C99Field extends C99Variable implements IField { - - private ICompositeType compositeTypeOwner; - - public C99Field() { - } - - public C99Field(String name) { - super(name); - } - - @Override - public ICompositeType getCompositeTypeOwner() { - return compositeTypeOwner; - } - - public void setCompositeTypeOwner(ICompositeType compositeTypeOwner) { - this.compositeTypeOwner = compositeTypeOwner; - } - - @Override - public IScope getScope() { - return compositeTypeOwner.getCompositeScope(); - } - -} \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Function.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Function.java deleted file mode 100644 index c8e83c5a841..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Function.java +++ /dev/null @@ -1,194 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - * Sergey Prigogin (Google) - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.cdt.core.dom.ILinkage; -import org.eclipse.cdt.core.dom.ast.IBinding; -import org.eclipse.cdt.core.dom.ast.IFunction; -import org.eclipse.cdt.core.dom.ast.IFunctionType; -import org.eclipse.cdt.core.dom.ast.IParameter; -import org.eclipse.cdt.core.dom.ast.IScope; -import org.eclipse.cdt.internal.core.dom.Linkage; -import org.eclipse.core.runtime.PlatformObject; - -@SuppressWarnings("restriction") -public class C99Function extends PlatformObject implements IC99Binding, IFunction, ITypeable { - private String name; - private IFunctionType type; - private List parameters = new ArrayList<>(); - - private boolean isAuto; - private boolean isExtern; - private boolean isInline; - private boolean isRegister; - private boolean isStatic; - private boolean isVarArgs; - private boolean isNoReturn; - private boolean isNoDiscard; - - // the scope that the function is in (must be the global scope, no?) - private IScope scope; - - // the scope that represents the body of the function - private IScope bodyScope; - - public C99Function() { - } - - public C99Function(String name) { - this.name = name; - } - - public C99Function(String name, IFunctionType type) { - this(name); - this.type = type; - } - - @Override - public IParameter[] getParameters() { - return parameters.toArray(new IParameter[parameters.size()]); - } - - public void addParameter(IParameter parameter) { - parameters.add(parameter); - } - - @Override - public IFunctionType getType() { - return type; - } - - public void setType(IFunctionType type) { - this.type = type; - } - - @Override - public boolean isAuto() { - return isAuto; - } - - public void setAuto(boolean isAuto) { - this.isAuto = isAuto; - } - - @Override - public boolean isExtern() { - return isExtern; - } - - public void setExtern(boolean isExtern) { - this.isExtern = isExtern; - } - - @Override - public boolean isInline() { - return isInline; - } - - public void setInline(boolean isInline) { - this.isInline = isInline; - } - - @Override - public boolean isRegister() { - return isRegister; - } - - public void setRegister(boolean isRegister) { - this.isRegister = isRegister; - } - - @Override - public boolean isStatic() { - return isStatic; - } - - public void setStatic(boolean isStatic) { - this.isStatic = isStatic; - } - - @Override - public boolean takesVarArgs() { - return isVarArgs; - } - - public void setTakesVarArgs(boolean isVarArgs) { - this.isVarArgs = isVarArgs; - } - - @Override - public boolean isNoReturn() { - return isNoReturn; - } - - public void setNoReturn(boolean isNoReturn) { - this.isNoReturn = isNoReturn; - } - - @Override - public ILinkage getLinkage() { - return Linkage.C_LINKAGE; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public String getName() { - return name; - } - - @Override - public char[] getNameCharArray() { - return name.toCharArray(); - } - - @Override - public IScope getScope() { - return scope; - } - - @Override - public IScope getFunctionScope() { - return bodyScope; - } - - public void setFunctionScope(IScope bodyScope) { - this.bodyScope = bodyScope; - } - - @Override - public void setScope(IScope scope) { - this.scope = scope; - } - - @Override - public IBinding getOwner() { - return null; - } - - @Override - public boolean isNoDiscard() { - return isNoDiscard; - } - - public void setNoDiscard(boolean isNoDiscard) { - this.isNoDiscard = isNoDiscard; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99FunctionScope.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99FunctionScope.java deleted file mode 100644 index f7f4131ef8f..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99FunctionScope.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import org.eclipse.cdt.core.dom.ast.DOMException; -import org.eclipse.cdt.core.dom.ast.EScopeKind; -import org.eclipse.cdt.core.dom.ast.IBinding; -import org.eclipse.cdt.core.dom.ast.IScope; -import org.eclipse.cdt.core.dom.ast.c.ICFunctionScope; - -public class C99FunctionScope extends C99Scope implements ICFunctionScope { - - public C99FunctionScope() { - super(EScopeKind.eLocal); - } - - /** - * Scope that represents the compound statement of the body of this scope. - * Does not include the parameters which are part of this function scope. - */ - private IScope bodyScope; - - @Override - public IBinding getBinding(@SuppressWarnings("unused") char[] name) throws DOMException { - // TODO Auto-generated method stub - return null; - } - - public void setBodyScope(IScope bodyScope) { - this.bodyScope = bodyScope; - } - - @Override - public IScope getBodyScope() throws DOMException { - return bodyScope; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99FunctionType.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99FunctionType.java deleted file mode 100644 index 085352c45f2..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99FunctionType.java +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.cdt.core.dom.ast.IFunctionType; -import org.eclipse.cdt.core.dom.ast.IType; - -public class C99FunctionType implements IFunctionType { - - private IType returnType; - private List parameterTypes = new ArrayList<>(); - - @Override - public IType[] getParameterTypes() { - return parameterTypes.toArray(new IType[parameterTypes.size()]); - } - - public void addParameterType(IType parameterType) { - parameterTypes.add(parameterType); - } - - @Override - public IType getReturnType() { - return returnType; - } - - public void setReturnType(IType returnType) { - this.returnType = returnType; - } - - @Override - public boolean isSameType(@SuppressWarnings("unused") IType type) { - // TODO Auto-generated method stub - return false; - } - - @Override - public C99FunctionType clone() { - try { - C99FunctionType clone = (C99FunctionType) super.clone(); - clone.setReturnType((IType) returnType.clone()); - clone.parameterTypes = new ArrayList<>(); - for (IType parameterType : parameterTypes) { - clone.addParameterType((IType) parameterType.clone()); - } - return clone; - } catch (CloneNotSupportedException e) { - assert false; - return null; - } - - } - - @Override - public boolean takesVarArgs() { - // Not implemented - return false; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Label.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Label.java deleted file mode 100644 index 4c86975ce2d..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Label.java +++ /dev/null @@ -1,80 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import org.eclipse.cdt.core.dom.ILinkage; -import org.eclipse.cdt.core.dom.ast.IASTLabelStatement; -import org.eclipse.cdt.core.dom.ast.IASTNode; -import org.eclipse.cdt.core.dom.ast.IBinding; -import org.eclipse.cdt.core.dom.ast.ILabel; -import org.eclipse.cdt.core.dom.ast.IScope; -import org.eclipse.cdt.internal.core.dom.Linkage; -import org.eclipse.cdt.internal.core.dom.parser.c.CVisitor; -import org.eclipse.core.runtime.PlatformObject; - -@SuppressWarnings("restriction") -public class C99Label extends PlatformObject implements IC99Binding, ILabel { - - private String name; - private IScope scope; - - public C99Label() { - } - - public C99Label(String name) { - this.name = name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public String getName() { - return name; - } - - @Override - public char[] getNameCharArray() { - return name.toCharArray(); - } - - @Override - public IASTLabelStatement getLabelStatement() { - return null; - } - - @Override - public ILinkage getLinkage() { - return Linkage.C_LINKAGE; - } - - @Override - public IScope getScope() { - return scope; - } - - @Override - public void setScope(IScope scope) { - this.scope = scope; - } - - @Override - public IBinding getOwner() { - if (scope != null) { - return CVisitor.findEnclosingFunction((IASTNode) scope.getScopeName()); // local or global - } - return null; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Parameter.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Parameter.java deleted file mode 100644 index 8dc28c3ea28..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Parameter.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import org.eclipse.cdt.core.dom.ast.IParameter; - -public class C99Parameter extends C99Variable implements IParameter { - - public C99Parameter() { - } - - public C99Parameter(String name) { - super(name); - } - - public static C99Parameter valueOf(C99Variable var) { - C99Parameter param = new C99Parameter(var.getName()); - param.setType(var.getType()); - param.setAuto(var.isAuto()); - param.setExtern(var.isExtern()); - param.setRegister(var.isRegister()); - param.setStatic(var.isStatic()); - return param; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99PointerType.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99PointerType.java deleted file mode 100644 index 20c8aebcb89..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99PointerType.java +++ /dev/null @@ -1,100 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import org.eclipse.cdt.core.dom.ast.IType; -import org.eclipse.cdt.core.dom.ast.c.ICPointerType; -import org.eclipse.cdt.internal.core.dom.parser.ITypeContainer; - -@SuppressWarnings("restriction") -public class C99PointerType implements ITypeContainer, ICPointerType { - - private IType type; - private boolean isConst; - private boolean isRestrict; - private boolean isVolatile; - - public C99PointerType() { - } - - public C99PointerType(IType type) { - this.type = type; - } - - @Override - public IType getType() { - return type; - } - - @Override - public void setType(IType type) { - this.type = type; - } - - @Override - public boolean isConst() { - return isConst; - } - - public void setConst(boolean isConst) { - this.isConst = isConst; - } - - @Override - public boolean isRestrict() { - return isRestrict; - } - - public void setRestrict(boolean isRestrict) { - this.isRestrict = isRestrict; - } - - @Override - public boolean isVolatile() { - return isVolatile; - } - - public void setVolatile(boolean isVolatile) { - this.isVolatile = isVolatile; - } - - @Override - public boolean isSameType(IType t) { - if (t == this) - return true; - - if (t instanceof ICPointerType) { - ICPointerType pointerType = (ICPointerType) t; - if (pointerType.isConst() == isConst && pointerType.isRestrict() == isRestrict - && pointerType.isVolatile() == isVolatile) { - return type.isSameType(pointerType.getType()); - } - - } - return false; - } - - @Override - public C99PointerType clone() { - try { - C99PointerType clone = (C99PointerType) super.clone(); - clone.type = (IType) type.clone(); - return clone; - } catch (CloneNotSupportedException e) { - assert false; - return null; - } - - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99ProblemBinding.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99ProblemBinding.java deleted file mode 100644 index d024ebb2697..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99ProblemBinding.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import org.eclipse.cdt.core.dom.ast.IProblemBinding; -import org.eclipse.cdt.internal.core.dom.parser.ProblemBinding; - -@SuppressWarnings("restriction") -public class C99ProblemBinding extends ProblemBinding { - - public C99ProblemBinding(int messageId) { - super(null, messageId); - } - - public C99ProblemBinding(int messageId, String arg) { - super(null, messageId, arg.toCharArray()); - } - - public static C99ProblemBinding badType() { - return new C99ProblemBinding(IProblemBinding.SEMANTIC_INVALID_TYPE); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99QualifierType.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99QualifierType.java deleted file mode 100644 index ff5d67ef4dc..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99QualifierType.java +++ /dev/null @@ -1,109 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import org.eclipse.cdt.core.dom.ast.IType; -import org.eclipse.cdt.core.dom.ast.c.ICQualifierType; -import org.eclipse.cdt.internal.core.dom.parser.ITypeContainer; - -@SuppressWarnings("restriction") -public class C99QualifierType implements ICQualifierType, ITypeContainer { - - private boolean isRestrict; - private boolean isConst; - private boolean isVolatile; - - private IType type; - - public C99QualifierType() { - } - - public C99QualifierType(IType type) { - this.type = type; - } - - public C99QualifierType(IType type, boolean isConst, boolean isVolatile, boolean isRestrict) { - this.isConst = isConst; - this.isRestrict = isRestrict; - this.isVolatile = isVolatile; - this.type = type; - } - - @Override - public boolean isRestrict() { - return isRestrict; - } - - public void setRestrict(boolean isRestrict) { - this.isRestrict = isRestrict; - } - - @Override - public boolean isConst() { - return isConst; - } - - public void setConst(boolean isConst) { - this.isConst = isConst; - } - - @Override - public boolean isVolatile() { - return isVolatile; - } - - public void setVolatile(boolean isVolatile) { - this.isVolatile = isVolatile; - } - - @Override - public IType getType() { - return type; - } - - @Override - public void setType(IType type) { - this.type = type; - } - - @Override - public boolean isSameType(IType t) { - if (t == this) - return true; - - if (t instanceof ICQualifierType) { - - ICQualifierType pointerType = (ICQualifierType) t; - if (pointerType.isConst() == isConst && pointerType.isRestrict() == isRestrict - && pointerType.isVolatile() == isVolatile) { - return type.isSameType(pointerType.getType()); - } - - } - return false; - } - - @Override - public C99QualifierType clone() { - try { - C99QualifierType clone = (C99QualifierType) super.clone(); - clone.type = (IType) type.clone(); - return clone; - } catch (CloneNotSupportedException e) { - assert false; - return null; - } - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Scope.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Scope.java deleted file mode 100644 index 72beb896af3..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Scope.java +++ /dev/null @@ -1,134 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import org.eclipse.cdt.core.dom.IName; -import org.eclipse.cdt.core.dom.ast.EScopeKind; -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.ast.IASTNode; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.ast.IBinding; -import org.eclipse.cdt.core.dom.ast.IScope; -import org.eclipse.cdt.core.index.IIndexFileSet; -import org.eclipse.cdt.internal.core.dom.parser.IASTInternalScope; - -/** - * @author Mike Kucera - * - */ -@SuppressWarnings({ "restriction", "unused" }) -public class C99Scope implements IC99Scope, IASTInternalScope { - private IScope parent; - private IASTNode physicalNode; - private IName scopeName; - private final EScopeKind kind; - - public C99Scope(EScopeKind eKind) { - kind = eKind; - } - - @Override - public IScope getParent() { - return parent; - } - - @Override - public void setParent(IScope parent) { - this.parent = parent; - } - - @Override - public IASTNode getPhysicalNode() { - return physicalNode; - } - - @Override - public void setPhysicalNode(IASTNode physicalNode) { - this.physicalNode = physicalNode; - } - - @Override - public final EScopeKind getKind() { - return kind; - } - - @Override - public IName getScopeName() { - return scopeName; - } - - @Override - public void setScopeName(IName scopeName) { - this.scopeName = scopeName; - } - - @Override - public IBinding[] find(String name, IASTTranslationUnit tu) { - throw new UnsupportedOperationException(); - } - - @Override - @Deprecated - public IBinding[] find(String name) { - throw new UnsupportedOperationException(); - } - - @Override - public IBinding getBinding(IASTName name, boolean resolve) { - throw new UnsupportedOperationException(); - } - - @Override - public IBinding[] getBindings(IASTName name, boolean resolve, boolean prefixLookup) { - throw new UnsupportedOperationException(); - } - - @Override - public void addBinding(IBinding binding) { - throw new UnsupportedOperationException(); - } - - @Override - public void addName(IASTName name, boolean adlOnly) { - throw new UnsupportedOperationException(); - } - - @Override - public void populateCache() { - } - - @Override - public void removeNestedFromCache(IASTNode container) { - } - - @Override - public IBinding getBinding(IASTName name, boolean resolve, IIndexFileSet acceptLocalBindings) { - return null; - } - - /** - * @deprecated Use {@link #getBindings(ScopeLookupData)} instead - */ - @Override - @Deprecated - public IBinding[] getBindings(IASTName name, boolean resolve, boolean prefixLookup, - IIndexFileSet acceptLocalBindings) { - return getBindings(new ScopeLookupData(name, resolve, prefixLookup)); - } - - @Override - public IBinding[] getBindings(ScopeLookupData lookup) { - return IBinding.EMPTY_BINDING_ARRAY; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Structure.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Structure.java deleted file mode 100644 index 9f74f221916..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Structure.java +++ /dev/null @@ -1,172 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import java.util.LinkedHashMap; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ILinkage; -import org.eclipse.cdt.core.dom.ast.IASTNode; -import org.eclipse.cdt.core.dom.ast.IBinding; -import org.eclipse.cdt.core.dom.ast.ICompositeType; -import org.eclipse.cdt.core.dom.ast.IField; -import org.eclipse.cdt.core.dom.ast.IScope; -import org.eclipse.cdt.core.dom.ast.IType; -import org.eclipse.cdt.core.dom.ast.ITypedef; -import org.eclipse.cdt.internal.core.dom.Linkage; -import org.eclipse.cdt.internal.core.dom.parser.c.CVisitor; -import org.eclipse.core.runtime.PlatformObject; - -@SuppressWarnings("restriction") -public class C99Structure extends PlatformObject implements IC99Binding, ICompositeType, ITypeable { - - private Map fields = new LinkedHashMap<>(); - private IField[] fieldArray = null; - - /** either t_union or t_structure defined in IASTCompositeTypeSpecifier */ - private int key; - private String name; - - private IScope scope; - - public C99Structure() { - } - - public C99Structure(String name) { - this.name = name; - } - - public C99Structure(int key) { - this.key = key; - } - - public C99Structure(String name, int key) { - this.name = name; - this.key = key; - } - - public void addField(IField field) { - fields.put(field.getName(), field); - fieldArray = null; - } - - @Override - public IField findField(String name) { - return fields.get(name); - } - - @Override - public IScope getCompositeScope() { - // C99Scope scope = new C99CompositeTypeScope(this); - // scope.setScopeName(nameNode); - // return scope; - return null; - } - - @Override - public IField[] getFields() { - if (fieldArray == null) - fieldArray = fields.values().toArray(new IField[fields.size()]); - return fieldArray; - } - - public void setKey(int key) { - this.key = key; - } - - @Override - public int getKey() { - return key; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public String getName() { - return name; - } - - @Override - public char[] getNameCharArray() { - if (name == null) - return new char[0]; - - return name.toCharArray(); - } - - @Override - public ILinkage getLinkage() { - return Linkage.C_LINKAGE; - } - - @Override - public IType getType() { - return this; - } - - @Override - public boolean isSameType(IType type) { - if (type == this) - return true; - if (type instanceof ITypedef) - return type.isSameType(this); - return false; - } - - //private Map fields = new LinkedHashMap(); - //private IField[] fieldArray = null; - - //private IScope scope; - - @Override - public C99Structure clone() { - try { - C99Structure clone = (C99Structure) super.clone(); - //clone.scope = (IScope) scope.clone(); TODO - clone.fieldArray = null; - clone.fields = new LinkedHashMap<>(); - for (IField field : fields.values()) - clone.addField(field); // TODO not a deep clone - return clone; - } catch (CloneNotSupportedException e) { - assert false; - return null; - } - } - - @Override - public IScope getScope() { - return scope; - } - - @Override - public void setScope(IScope scope) { - this.scope = scope; - } - - @Override - public IBinding getOwner() { - if (scope != null) { - return CVisitor.findEnclosingFunction((IASTNode) scope.getScopeName()); // local or global - } - return null; - } - - @Override - public boolean isAnonymous() { - return name == null || name.length() == 0; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Typedef.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Typedef.java deleted file mode 100644 index fa8bcef41e9..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Typedef.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import org.eclipse.cdt.core.dom.ILinkage; -import org.eclipse.cdt.core.dom.ast.ASTTypeUtil; -import org.eclipse.cdt.core.dom.ast.IASTNode; -import org.eclipse.cdt.core.dom.ast.IBinding; -import org.eclipse.cdt.core.dom.ast.IScope; -import org.eclipse.cdt.core.dom.ast.IType; -import org.eclipse.cdt.core.dom.ast.ITypedef; -import org.eclipse.cdt.internal.core.dom.Linkage; -import org.eclipse.cdt.internal.core.dom.parser.ITypeContainer; -import org.eclipse.cdt.internal.core.dom.parser.c.CVisitor; -import org.eclipse.core.runtime.PlatformObject; - -@SuppressWarnings("restriction") -public class C99Typedef extends PlatformObject implements IC99Binding, ITypedef, ITypeContainer, ITypeable { - private IType type; - private String name; - - private IScope scope; - - public C99Typedef() { - } - - public C99Typedef(IType type) { - this.type = type; - } - - public C99Typedef(IType type, String name) { - this.type = type; - this.name = name; - } - - @Override - public IType getType() { - return type; - } - - @Override - public void setType(IType type) { - this.type = type; - } - - @Override - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public char[] getNameCharArray() { - return name.toCharArray(); - } - - @Override - public boolean isSameType(IType t) { - if (t == this) - return true; - - if (t instanceof ITypedef) - return type.isSameType(((ITypedef) t).getType()); - return type.isSameType(t); - } - - @Override - public C99Typedef clone() { - try { - C99Typedef clone = (C99Typedef) super.clone(); - clone.type = (IType) type.clone(); - return clone; - } catch (CloneNotSupportedException e) { - assert false; - return null; - } - } - - @Override - public ILinkage getLinkage() { - return Linkage.C_LINKAGE; - } - - @Override - public IScope getScope() { - return scope; - } - - @Override - public void setScope(IScope scope) { - this.scope = scope; - } - - @Override - public IBinding getOwner() { - if (scope != null) { - return CVisitor.findEnclosingFunction((IASTNode) scope.getScopeName()); // local or global - } - return null; - } - - @Override - public String toString() { - return getName() + " -> " + ASTTypeUtil.getType(this, true); //$NON-NLS-1$ - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Variable.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Variable.java deleted file mode 100644 index 4c1faa00045..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/C99Variable.java +++ /dev/null @@ -1,137 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import org.eclipse.cdt.core.dom.ILinkage; -import org.eclipse.cdt.core.dom.ast.IASTNode; -import org.eclipse.cdt.core.dom.ast.IBinding; -import org.eclipse.cdt.core.dom.ast.IScope; -import org.eclipse.cdt.core.dom.ast.IType; -import org.eclipse.cdt.core.dom.ast.IValue; -import org.eclipse.cdt.core.dom.ast.IVariable; -import org.eclipse.cdt.internal.core.dom.Linkage; -import org.eclipse.cdt.internal.core.dom.parser.c.CVisitor; -import org.eclipse.core.runtime.PlatformObject; - -@SuppressWarnings("restriction") -public class C99Variable extends PlatformObject implements IC99Binding, IVariable, ITypeable { - private boolean isAuto; - private boolean isExtern; - private boolean isRegister; - private boolean isStatic; - - private String name; - private IType type; - - private IScope scope; - - public C99Variable() { - } - - public C99Variable(String name) { - this.name = name; - } - - public void setType(IType type) { - this.type = type; - } - - @Override - public IType getType() { - return type; - } - - public void setAuto(boolean auto) { - this.isAuto = auto; - } - - @Override - public boolean isAuto() { - return isAuto; - } - - public void setExtern(boolean extern) { - this.isExtern = extern; - } - - @Override - public boolean isExtern() { - return isExtern; - } - - public void setRegister(boolean isRegister) { - this.isRegister = isRegister; - } - - @Override - public boolean isRegister() { - return isRegister; - } - - public void setStatic(boolean isStatic) { - this.isStatic = isStatic; - } - - @Override - public boolean isStatic() { - return isStatic; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public String getName() { - return name; - } - - @Override - public char[] getNameCharArray() { - return name.toCharArray(); - } - - @Override - public ILinkage getLinkage() { - return Linkage.C_LINKAGE; - } - - @Override - public IScope getScope() { - return scope; - } - - @Override - public void setScope(IScope scope) { - this.scope = scope; - } - - @Override - public IBinding getOwner() { - if (scope == null) - return null; - - return CVisitor.findDeclarationOwner((IASTNode) scope.getScopeName(), true); - } - - @Override - public IValue getInitialValue() { - return null; - } - - @Override - public String toString() { - return getName(); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/IC99Binding.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/IC99Binding.java deleted file mode 100644 index 4ffcb20132e..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/IC99Binding.java +++ /dev/null @@ -1,22 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import org.eclipse.cdt.core.dom.ast.IBinding; -import org.eclipse.cdt.core.dom.ast.IScope; - -public interface IC99Binding extends IBinding { - - void setScope(IScope scope); -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/IC99Scope.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/IC99Scope.java deleted file mode 100644 index 899e88d03b8..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/IC99Scope.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import org.eclipse.cdt.core.dom.IName; -import org.eclipse.cdt.core.dom.ast.IASTNode; -import org.eclipse.cdt.core.dom.ast.IScope; -import org.eclipse.cdt.core.dom.ast.c.ICScope; - -/** - * TODO maybe rename to IC99InternalScope or something else. - * - * @author Mike Kucera - */ -public interface IC99Scope extends ICScope { - - void setParent(IScope parent); - - void setPhysicalNode(IASTNode node); - - void setScopeName(IName name); -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/ITypeable.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/ITypeable.java deleted file mode 100644 index e3a79d58903..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/c99/bindings/ITypeable.java +++ /dev/null @@ -1,20 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings; - -import org.eclipse.cdt.core.dom.ast.IType; - -public interface ITypeable { - IType getType(); -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/symboltable/C99SymbolTable.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/symboltable/C99SymbolTable.java deleted file mode 100644 index 66f5cbeb364..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/symboltable/C99SymbolTable.java +++ /dev/null @@ -1,113 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.symboltable; - -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.IC99Binding; - -/** - * A facade for a FunctionalMap to make it behave like - * a symbol table for C99. - * - * In particular we need to be able to lookup identifiers based both - * on the String representation of the identifier and its "namespace". - * - * @author Mike Kucera - */ -public class C99SymbolTable { - - /** - * Adapter objects are used as the keys. The trick here is to implement - * compareTo() in such a way that identifiers are separated by their namespace. - */ - private static class Key implements Comparable { - private final String ident; - private final CNamespace namespace; - - public Key(CNamespace namespace, String ident) { - if (namespace == null || ident == null) - throw new NullPointerException(); - - this.ident = ident; - this.namespace = namespace; - } - - @Override - public int compareTo(Key x) { - // this separates namespaces in the symbol table - int c = namespace.compareTo(x.namespace); - // only if the namespace is the same do we check the identifier - return (c == 0) ? ident.compareTo(x.ident) : c; - } - - @Override - public String toString() { - return ident + "::" + namespace;//$NON-NLS-1$ - } - } - - /** - * Start with EMPTY_TABLE and build up a symbol table using insert(). - */ - public static final C99SymbolTable EMPTY_TABLE = new C99SymbolTable(); - - // the map we are providing a facade for - private final FunctionalMap map; - - /** - * Constructors are private, start with EMPTY_TABLE - * and build it up using insert(). - */ - private C99SymbolTable() { - map = FunctionalMap.emptyMap(); - } - - private C99SymbolTable(FunctionalMap newRoot) { - map = newRoot; - } - - /** - * Returns a new symbol table that contains the given mapping. - * @throws NullPointerException if the namespace or key is null. - */ - public C99SymbolTable insert(CNamespace ns, String key, IC99Binding binding) { - return new C99SymbolTable(map.insert(new Key(ns, key), binding)); - } - - /** - * Looks up the binding given its namespace and identifier. - * @return null If there is no binding corresponding to the key. - * @throws NullPointerException if the namespace or key is null. - */ - public IC99Binding lookup(CNamespace ns, String key) { - return map.lookup(new Key(ns, key)); - } - - public int size() { - return map.size(); - } - - public boolean isEmpty() { - return map.size() == 0; - } - - @Override - public String toString() { - return map.toString(); - } - - // void printStructure() { - // map.printStructure(); - // } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/symboltable/CImperativeSymbolTable.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/symboltable/CImperativeSymbolTable.java deleted file mode 100644 index ce2db41b52b..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/symboltable/CImperativeSymbolTable.java +++ /dev/null @@ -1,149 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.symboltable; - -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; - -import org.eclipse.cdt.core.dom.ast.IBinding; - -/** - * Used to compute binding resolution during the parse. - * - * Imperative style symbol table with destructive update. - * - * Consists of two data structures, a hash table for fast lookup - * of bindings given their names, and a stack used to keep track - * of scopes. - * - * - * @author Mike Kucera - */ -public class CImperativeSymbolTable { - - private static final int TABLE_SIZE = 256; - - private Bucket[] table = new Bucket[TABLE_SIZE]; - - private LinkedList scopeStack = new LinkedList<>(); - - /** - * Represents a scope in the C language. - */ - private static class SymbolScope { - - /** - * List of buckets that have been modified in the current scope. - * When the scope is closed these buckets are popped, returning the - * symbol table to the state it was in before the scope was opened. - */ - List modifiedBuckets = new ArrayList<>(); - } - - /** - * A bucket object used to hold elements in the hash table. - */ - private static class Bucket { - String key; - CNamespace namespace; - IBinding binding; - Bucket next; - - Bucket(Bucket next, CNamespace namespace, String key, IBinding binding) { - this.key = key; - this.namespace = namespace; - this.binding = binding; - this.next = next; - } - } - - public CImperativeSymbolTable() { - openScope(); // open the global scope - // TODO populate the global scope with built-ins - } - - /** - * Hashes a key into an index in the hash table. - */ - private int index(String key) { - return Math.abs(key.hashCode() % TABLE_SIZE); - } - - /** - * Adds a binding to the symbol table in the current scope. - * - * @param mask A bit mask used to identify the namespace of the identifier. - */ - public void put(CNamespace namespace, String ident, IBinding b) { - int index = index(ident); - table[index] = new Bucket(table[index], namespace, ident, b); - - SymbolScope scope = scopeStack.getLast(); - scope.modifiedBuckets.add(index); - } - - /** - * Returns the binding associated with the given identifier, or - * null if there is none. - * - * @param mask A bit mask used to identify the namespace of the identifier. - */ - public IBinding get(CNamespace namespace, String ident) { - Bucket b = table[index(ident)]; - while (b != null) { - if (namespace == b.namespace && ident.equals(b.key)) - return b.binding; - b = b.next; - } - return null; - } - - /** - * Opens a new inner scope for identifiers. - * - * If an identifier is added that already exists in an outer scope - * then it will be shadowed. - */ - public void openScope() { - scopeStack.add(new SymbolScope()); - } - - /** - * Remove all the symbols defined in the scope that is being closed. - * - * @param scope An IScope object that will be used to represent this scope. - * @throws SymbolTableException If the global scope has already been closed or if bindingScope is null. - */ - public void closeScope() { - SymbolScope poppedScope = scopeStack.removeLast(); // pop the scopeStack - - // pop each bucket that was modified in the scope - for (int index : poppedScope.modifiedBuckets) - table[index] = table[index].next; - } - - @SuppressWarnings("nls") - @Override - public String toString() { - StringBuilder buff = new StringBuilder('['); - for (Bucket b : table) { - while (b != null) { - buff.append('<').append(b.key).append(": ").append(b.binding).append(">, "); - b = b.next; - } - } - return buff.append(']').toString(); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/symboltable/CNamespace.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/symboltable/CNamespace.java deleted file mode 100644 index 7e4a360f34b..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/symboltable/CNamespace.java +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.symboltable; - -/** - * The C language has 4 namespaces for identifiers. - * This enum represents three of them, the "member" namespace - * is represented by IStructure.getFields(). - * - * The symbol table uses these to mark identifiers and keep - * the namespaces separate. - * - * @author Mike Kucera - */ -public enum CNamespace { - - GOTO_LABEL, // goto labels - STRUCT_TAG, // structs, unions, enums - IDENTIFIER; // all other identifiers - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/symboltable/FunctionalMap.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/symboltable/FunctionalMap.java deleted file mode 100644 index 98f70bc07ad..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/symboltable/FunctionalMap.java +++ /dev/null @@ -1,279 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.symboltable; - -/** - * An immutable map, like you would find in a functional programming language. - * - * Inserting a new pair into the map leaves the original map untouched, - * instead a new map that contains the pair is returned. Therefore - * an assignment is needed to "modify" the map (just like with Strings). - * - * - * myMap = myMap.insert(key,value); - * - * - * There is no remove() method because it is not needed. In order to - * "delete" a pair from the map simply save a reference to an old version - * of the map and restore the map from that old reference. This makes - * "undo" operations trivial to implement. - * - * - * FunctionalMap oldMap = myMap; // save a reference - * myMap = myMap.insert(key,value); // insert the pair into the map - * myMap = oldMap; // delete the pair from the map - * - * - * This map is implemented as a red-black tree data structure, - * and is based on the implementation found at: - * http://www.eecs.usma.edu/webs/people/okasaki/jfp99.ps - * - * @author Mike Kucera - */ -public class FunctionalMap, V> { - - private static final boolean RED = true, BLACK = false; - - private static class Node { - final K key; - final V val; - Node left; - Node right; - boolean color; - - public Node(K key, V val, boolean color, Node left, Node right) { - this.key = key; - this.val = val; - this.left = left; - this.right = right; - this.color = color; - } - - @SuppressWarnings("nls") - @Override - public String toString() { - return "Node(" + key + "," + val + "," + (color ? "R" : "B") + ")"; - } - } - - private Node root = null; - - private FunctionalMap() { - // private constructor, use static factory method to instantiate - } - - // factory method makes it cleaner to instantiate objects - public static , V> FunctionalMap emptyMap() { - return new FunctionalMap<>(); - } - - /** - * Returns a new map that contains the key-value pair. - * @throws NullPointerException if key is null - */ - public FunctionalMap insert(K key, V val) { - if (key == null) - throw new NullPointerException(); - - FunctionalMap newMap = new FunctionalMap<>(); - newMap.root = insert(this.root, key, val); - newMap.root.color = BLACK; // force the root to be black - - assert checkInvariants(newMap.root); - - return newMap; - } - - private Node insert(Node n, K key, V val) { - if (n == null) - return new Node<>(key, val, RED, null, null); // new nodes are always red - - int c = key.compareTo(n.key); - if (c < 0) - return balance(n.key, n.val, n.color, insert(n.left, key, val), n.right); - else if (c > 0) - return balance(n.key, n.val, n.color, n.left, insert(n.right, key, val)); - else // equal, create a new node that overwrites the old value - return new Node<>(key, val, n.color, n.left, n.right); - } - - private Node balance(K key, V val, boolean color, Node left, Node right) { - if (color == RED) - return new Node<>(key, val, color, left, right); - - final Node newLeft, newRight; - - // now for the madness... - - if (left != null && left.color == RED) { - if (left.left != null && left.left.color == RED) { - newLeft = new Node<>(left.left.key, left.left.val, BLACK, left.left.left, left.left.right); - newRight = new Node<>(key, val, BLACK, left.right, right); - return new Node<>(left.key, left.val, RED, newLeft, newRight); - } - if (left.right != null && left.right.color == RED) { - newLeft = new Node<>(left.key, left.val, BLACK, left.left, left.right.left); - newRight = new Node<>(key, val, BLACK, left.right.right, right); - return new Node<>(left.right.key, left.right.val, RED, newLeft, newRight); - } - } - if (right != null && right.color == RED) { - if (right.left != null && right.left.color == RED) { - newLeft = new Node<>(key, val, BLACK, left, right.left.left); - newRight = new Node<>(right.key, right.val, BLACK, right.left.right, right.right); - return new Node<>(right.left.key, right.left.val, RED, newLeft, newRight); - } - if (right.right != null && right.right.color == RED) { - newLeft = new Node<>(key, val, BLACK, left, right.left); - newRight = new Node<>(right.right.key, right.right.val, BLACK, right.right.left, right.right.right); - return new Node<>(right.key, right.val, RED, newLeft, newRight); - } - } - - return new Node<>(key, val, BLACK, left, right); - } - - /** - * Returns the value if it is in the map, null otherwise. - * @throws NullPointerException if key is null - */ - public V lookup(K key) { - if (key == null) - throw new NullPointerException(); - - // no need for recursion here - Node n = root; - while (n != null) { - int x = key.compareTo(n.key); // throws NPE if key is null - if (x == 0) - return n.val; - n = (x < 0) ? n.left : n.right; - } - return null; - } - - /** - * Returns true if there exists a mapping with the given key - * in this map. - * @throws NullPointerException if key is null - */ - public boolean containsKey(K key) { - if (key == null) - throw new NullPointerException(); - - // lookup uses an iterative algorithm - Node n = root; - while (n != null) { - int x = key.compareTo(n.key); // throws NPE if key is null - if (x == 0) - return true; - n = (x < 0) ? n.left : n.right; - } - return false; - } - - public boolean isEmpty() { - return root == null; - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder('['); - inorderPrint(root, sb); - sb.append(']'); - return sb.toString(); - } - - private static void inorderPrint(Node n, StringBuilder sb) { - if (n == null) - return; - - inorderPrint(n.left, sb); - if (sb.length() > 1) - sb.append(", ");//$NON-NLS-1$ - sb.append(n.toString()); - inorderPrint(n.right, sb); - } - - void printStructure() { - if (root == null) - System.out.println("empty map"); //$NON-NLS-1$ - else - printStructure(root, 0); - } - - private static void printStructure(Node node, int level) { - for (int i = 0; i < level; i++) - System.out.print("--");//$NON-NLS-1$ - - if (node == null) { - System.out.println("null");//$NON-NLS-1$ - } else if (node.right == null && node.left == null) { - System.out.println(node); - } else { - System.out.println(node); - printStructure(node.right, level + 1); - printStructure(node.left, level + 1); - } - } - - private static int depth(Node node) { - if (node == null) - return 0; - return Math.max(depth(node.left), depth(node.right)) + 1; - } - - /** - * Warning, this is a linear operation. - */ - public int size() { - return size(root); - } - - private static int size(Node node) { - if (node == null) - return 0; - return size(node.left) + size(node.right) + 1; - } - - /********************************************************************************************** - * Built-in testing - **********************************************************************************************/ - - private boolean checkInvariants(Node n) { - // the number of black nodes on every path through the tree is the same - assertBalanced(n); - return true; - } - - // not exactly sure if this is right - private int assertBalanced(Node node) { - if (node == null) - return 1; // nulls are considered as black children - - // both children of every red node are black - if (node.color == RED) { - assert node.left == null || node.left.color == BLACK; - assert node.right == null || node.right.color == BLACK; - } - - int left = assertBalanced(node.left); - int right = assertBalanced(node.right); - - assert left == right; - - return left + (node.color == BLACK ? 1 : 0); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/symboltable/SymbolTableTests.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/symboltable/SymbolTableTests.java deleted file mode 100644 index 62dbb1beb87..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/symboltable/SymbolTableTests.java +++ /dev/null @@ -1,220 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2016 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.symboltable; - -//import junit.framework.TestCase; - -import org.eclipse.cdt.core.dom.ast.IBinding; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99Label; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99Structure; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.bindings.C99Variable; - -@SuppressWarnings("nls") -public class SymbolTableTests {//extends TestCase { - // TODO write tests for imperative symbol table - - private final String[] KEYS = { "pantera", "soulfly", "inflames", "megadeth", "archenemy", "carcass" }; - - public void testPersistence() { - FunctionalMap st0 = FunctionalMap.emptyMap(); - assertTrue(st0.isEmpty()); - - FunctionalMap st1 = st0.insert(KEYS[0], 1); - - // empty symbol table does not change - assertTrue(st0.isEmpty()); - assertNull(st0.lookup(KEYS[1])); - - // a new symbol table was created - assertFalse(st1.isEmpty()); - assertEquals(Integer.valueOf(1), st1.lookup(KEYS[0])); - - FunctionalMap st2 = st1.insert(KEYS[1], 2); - FunctionalMap st3 = st2.insert(KEYS[2], 3); - FunctionalMap st4 = st3.insert(KEYS[3], 4); - FunctionalMap st5 = st4.insert(KEYS[4], 5); - - assertMap(st0, KEYS, new Integer[] { null, null, null, null, null, null }); - assertMap(st1, KEYS, new Integer[] { 1, null, null, null, null, null }); - assertMap(st2, KEYS, new Integer[] { 1, 2, null, null, null, null }); - assertMap(st3, KEYS, new Integer[] { 1, 2, 3, null, null, null }); - assertMap(st4, KEYS, new Integer[] { 1, 2, 3, 4, null, null }); - assertMap(st5, KEYS, new Integer[] { 1, 2, 3, 4, 5, null }); - } - - // these are here just to get the tests to compile - // JUnit is not available in this plugin, this is old code that I just didn't want to delete - - @SuppressWarnings("unused") - private void assertEquals(Integer integer, Integer lookup) { - // TODO Auto-generated method stub - - } - - @SuppressWarnings("unused") - private void assertFalse(boolean empty) { - // TODO Auto-generated method stub - - } - - @SuppressWarnings("unused") - private void assertNull(Integer lookup) { - // TODO Auto-generated method stub - - } - - @SuppressWarnings("unused") - private void assertTrue(boolean empty) { - // TODO Auto-generated method stub - - } - - public void testOverride() { - FunctionalMap map1 = FunctionalMap.emptyMap(); - for (int i = 0; i < KEYS.length; i++) { - map1 = map1.insert(KEYS[i], i); - } - - assertMap(map1, KEYS, new Integer[] { 0, 1, 2, 3, 4, 5 }); - - FunctionalMap map2 = map1.insert(KEYS[5], 999); - FunctionalMap map3 = map2.insert(KEYS[5], null); - - assertEquals(Integer.valueOf(5), map1.lookup(KEYS[5])); - assertEquals(Integer.valueOf(999), map2.lookup(KEYS[5])); - assertNull(map3.lookup(KEYS[5])); - } - - @SuppressWarnings("unchecked") - private static void assertMap(FunctionalMap map, Comparable[] keys, Object[] vals) { - assert keys.length == vals.length; - - for (int i = 0; i < keys.length; i++) { - assertEquals("the key '" + keys[i] + "' did not match", vals[i], map.lookup((keys[i]))); - if (vals[i] != null) { - assertTrue("key '" + keys[i] + "' not in map", map.containsKey(keys[i])); - } - } - } - - @SuppressWarnings("unused") - private static void assertTrue(String string, boolean containsKey) { - // TODO Auto-generated method stub - - } - - @SuppressWarnings("unused") - private static void assertEquals(String string, Object object, Object lookup) { - // TODO Auto-generated method stub - - } - - public void testFunctionalSymbolTable1() { - C99SymbolTable st = C99SymbolTable.EMPTY_TABLE; - - for (String key : KEYS) { - st = st.insert(CNamespace.IDENTIFIER, key, new C99Variable(key)); - } - for (String key : KEYS) { - st = st.insert(CNamespace.GOTO_LABEL, key, new C99Label(key)); - } - for (String key : KEYS) { - st = st.insert(CNamespace.STRUCT_TAG, key, new C99Structure(key)); - } - - assertFunctionalSymbolTableContainsAllThePairs(st); - } - - public void testFunctionalSymbolTable2() { - C99SymbolTable st = C99SymbolTable.EMPTY_TABLE; - - // same test as above but this time we insert the keys in a different order - for (String key : KEYS) { - st = st.insert(CNamespace.IDENTIFIER, key, new C99Variable(key)); - st = st.insert(CNamespace.GOTO_LABEL, key, new C99Label(key)); - st = st.insert(CNamespace.STRUCT_TAG, key, new C99Structure(key)); - } - - assertFunctionalSymbolTableContainsAllThePairs(st); - } - - private void assertFunctionalSymbolTableContainsAllThePairs(C99SymbolTable st) { - assertEquals(KEYS.length * 3, st.size()); - for (String key : KEYS) { - IBinding b = st.lookup(CNamespace.IDENTIFIER, key); - assertNotNull(b); - C99Variable x = (C99Variable) b; - assertEquals(key, x.getName()); - } - for (String key : KEYS) { - IBinding b = st.lookup(CNamespace.GOTO_LABEL, key); - assertNotNull(b); - C99Label x = (C99Label) b; - assertEquals(key, x.getName()); - } - for (String key : KEYS) { - IBinding b = st.lookup(CNamespace.STRUCT_TAG, key); - assertNotNull(b); - C99Structure x = (C99Structure) b; - assertEquals(key, x.getName()); - } - } - - @SuppressWarnings("unused") - private void assertEquals(String key, String name) { - // TODO Auto-generated method stub - - } - - @SuppressWarnings("unused") - private void assertNotNull(IBinding b) { - // TODO Auto-generated method stub - - } - - public void testProperFail() { - FunctionalMap map = FunctionalMap.emptyMap(); - try { - map.insert(null, 99); - fail(); - } catch (NullPointerException e) { - } - - try { - map.containsKey(null); - fail(); - } catch (NullPointerException e) { - } - - try { - map.lookup(null); - fail(); - } catch (NullPointerException e) { - } - - C99SymbolTable table = C99SymbolTable.EMPTY_TABLE; - try { - table.insert(null, null, new C99Variable("blah")); //$NON-NLS-1$ - fail(); - } catch (NullPointerException e) { - } - - } - - private void fail() { - // TODO Auto-generated method stub - - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/symboltable/TypedefSymbolTable.java b/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/symboltable/TypedefSymbolTable.java deleted file mode 100644 index 6dcec3b674d..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/old/org/eclipse/cdt/internal/core/dom/lrparser/symboltable/TypedefSymbolTable.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.symboltable; - -/** - * A facade for a FunctionalMap that is used just to track typedef - * declarations. - * - * This class acts like a set. No information needs to be associated - * with a typedef declaration, all we need to know is if the identifier - * has been declared as a typedef. - * - * @author Mike Kucera - */ -public class TypedefSymbolTable { - - /** - * Start with EMPTY_TABLE and build up a symbol table using add(). - */ - public static final TypedefSymbolTable EMPTY_TABLE = new TypedefSymbolTable(); - - // the map we are providing a facade for - private final FunctionalMap map; - - /** - * Constructors are private, start with EMPTY_TABLE - * and build it up using insert(). - */ - private TypedefSymbolTable() { - map = FunctionalMap.emptyMap(); - } - - private TypedefSymbolTable(FunctionalMap newRoot) { - map = newRoot; - } - - public TypedefSymbolTable add(String typedefIdent) { - return new TypedefSymbolTable(map.insert(typedefIdent, null)); - } - - public boolean contains(String typedef) { - return map.containsKey(typedef); - } - - public int size() { - return map.size(); - } - - public boolean isEmpty() { - return map.size() == 0; - } - - @Override - public String toString() { - return map.toString(); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/plugin.properties b/lrparser/org.eclipse.cdt.core.lrparser/plugin.properties deleted file mode 100644 index a2e49a31358..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/plugin.properties +++ /dev/null @@ -1,21 +0,0 @@ -############################################################################### -# Copyright (c) 2007, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -Bundle-Name.0 = LR Parser Plug-in -Bundle-Vendor.0 = Eclipse CDT -Bundle-Name.1 = LR Parser Plug-in - -# built-in languages -language.name.c99= C99 -language.name.isocpp= ISO C++ \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/plugin.xml b/lrparser/org.eclipse.cdt.core.lrparser/plugin.xml deleted file mode 100644 index 508db114007..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/plugin.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/BaseExtensibleLanguage.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/BaseExtensibleLanguage.java deleted file mode 100644 index 20996aa3a99..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/BaseExtensibleLanguage.java +++ /dev/null @@ -1,482 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser; - -import java.io.PrintWriter; -import java.io.StringWriter; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ICodeReaderFactory; -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.ast.gnu.c.GCCLanguage; -import org.eclipse.cdt.core.dom.ast.gnu.cpp.GPPLanguage; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.parser.CLanguageKeywords; -import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.model.AbstractLanguage; -import org.eclipse.cdt.core.model.ICLanguageKeywords; -import org.eclipse.cdt.core.model.IContributedModelBuilder; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.model.ITranslationUnit; -import org.eclipse.cdt.core.parser.FileContent; -import org.eclipse.cdt.core.parser.IParserLogService; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.core.parser.IScannerInfo; -import org.eclipse.cdt.core.parser.IncludeFileContentProvider; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.util.ASTPrinter; -import org.eclipse.cdt.core.parser.util.DebugUtil; -import org.eclipse.cdt.internal.core.dom.parser.ASTNode; -import org.eclipse.cdt.internal.core.parser.scanner.CPreprocessor; -import org.eclipse.cdt.internal.core.pdom.dom.IPDOMLinkageFactory; -import org.eclipse.cdt.internal.core.pdom.dom.c.PDOMCLinkageFactory; -import org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPLinkageFactory; -import org.eclipse.core.runtime.CoreException; - -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.PrsStream; - -/** - * Implementation of the ILanguage extension point, - * provides the ability to add LPG based languages to CDT. - */ -@SuppressWarnings({ "restriction", "nls" }) -public abstract class BaseExtensibleLanguage extends AbstractLanguage { - - private static final boolean DEBUG_PRINT_GCC_AST = false; - private static final boolean DEBUG_PRINT_AST = false; - // default 0.5 min - private long parser_timeout_limit_lowerBoundary = 1 * 30 * 1000; - // default 2 mins - private long parser_timeout_limit_uppperBoundary = 1 * 60 * 1000; - //time limit for each token, 1ms - public static long UNIT_PARSER_TIMEOUT_LIMIT = 10; - - private static long LONGEST_CORE_RUNTIME; - private static long LONGEST_LPR_RUNTIME; - - public static boolean CATCH_TEMPLATEID_ERROR = false; - - private ICLanguageKeywords keywords = null; - - /** - * Retrieve the parser (runs after the preprocessor runs). - * - * Can be overridden in subclasses to provide a different parser - * for a language extension. - */ - protected abstract IParser getParser(IScanner scanner, IIndex index, - Map properties); - - protected IParser getCompleteParser(IScanner scanner, IIndex index, - Map properties) { - return getParser(scanner, index, properties); - } - - protected ISecondaryParser getCompleteParser(ITokenStream stream, IScanner scanner, - IIndex index, Map properties) { - return (ISecondaryParser) getParser(scanner, index, properties); - } - - /** - * Returns the ParserLanguage value that is to be used when creating - * an instance of CPreprocessor. - * - */ - protected abstract ParserLanguage getParserLanguage(); - - /** - * Returns the scanner extension configuration for this language, may not return null - */ - protected abstract IScannerExtensionConfiguration getScannerExtensionConfiguration(); - - private class ParseThread extends Thread { - ParseThread() { - super(); - super.setName("ParserThread"); - } - - AST_TYPE astUnit = null; - - AST_TYPE getASTUnit() { - return astUnit; - } - } - - private AST_TYPE runThreadByLimitedTime(long limitTime, ParseThread parseThread) - throws InterruptedException { - parseThread.start(); - - parseThread.join(limitTime); - - return parseThread.getASTUnit(); - } - - @Override - @Deprecated - public IASTTranslationUnit getASTTranslationUnit(org.eclipse.cdt.core.parser.CodeReader reader, - IScannerInfo scanInfo, ICodeReaderFactory codeReaderFactory, IIndex index, int options, - IParserLogService log) throws CoreException { - return getASTTranslationUnit(FileContent.adapt(reader), scanInfo, - IncludeFileContentProvider.adapt(codeReaderFactory), index, options, log); - } - - public void setParser_timeout_limit_lowerBoundary(long parser_timeout_limit_lowerBoundary) { - this.parser_timeout_limit_lowerBoundary = parser_timeout_limit_lowerBoundary; - } - - public void setParser_timeout_limit_uppperBoundary(long parser_timeout_limit_uppperBoundary) { - this.parser_timeout_limit_uppperBoundary = parser_timeout_limit_uppperBoundary; - } - - @Override - public IASTTranslationUnit getASTTranslationUnit(final FileContent reader, final IScannerInfo scanInfo, - final IncludeFileContentProvider fileCreator, final IIndex index, int options, final IParserLogService log) - throws CoreException { - CATCH_TEMPLATEID_ERROR = false; - long startTime = 0; - java.util.Date today = null; - if (log.isTracing()) { - today = new java.util.Date(); - startTime = today.getTime(); - log.traceLog( - "^^^^^^ Start parsing " + reader.getFileLocation() + " at " + new java.sql.Timestamp(startTime)); - } - IASTTranslationUnit gtu = null; - if (DEBUG_PRINT_GCC_AST) { - System.out.println( - "\n********************************************************\nParsing\nOptions: " + options); - - ILanguage gppLanguage = getParserLanguage() == ParserLanguage.CPP ? GPPLanguage.getDefault() - : GCCLanguage.getDefault(); - gtu = gppLanguage.getASTTranslationUnit(reader, scanInfo, fileCreator, index, options, log); - - System.out.println(gppLanguage.getName() + " AST:"); - ASTPrinter.print(gtu); - System.out.println(); - } - - final IScannerExtensionConfiguration config = getScannerExtensionConfiguration(); - - final ParserLanguage pl = getParserLanguage(); - final IScanner preprocessor = new CPreprocessor(reader, scanInfo, pl, log, config, fileCreator); - preprocessor.setComputeImageLocations((options & ILanguage.OPTION_NO_IMAGE_LOCATIONS) == 0); - - final Map parserProperties = new HashMap<>(); - parserProperties.put(LRParserProperties.TRANSLATION_UNIT_PATH, reader.getFileLocation()); - if ((options & OPTION_SKIP_FUNCTION_BODIES) != 0) - parserProperties.put(LRParserProperties.SKIP_FUNCTION_BODIES, "true"); - if ((options & OPTION_SKIP_TRIVIAL_EXPRESSIONS_IN_AGGREGATE_INITIALIZERS) != 0) - parserProperties.put(LRParserProperties.SKIP_TRIVIAL_EXPRESSIONS_IN_AGGREGATE_INITIALIZERS, "true"); - - final IParser parser = getParser(preprocessor, index, parserProperties); - long parser_timeout_limit = parser_timeout_limit_uppperBoundary; - if (parser instanceof PrsStream) { - int token_size = ((PrsStream) parser).getSize(); - parser_timeout_limit = token_size * UNIT_PARSER_TIMEOUT_LIMIT; - if (parser_timeout_limit < parser_timeout_limit_lowerBoundary) - parser_timeout_limit = parser_timeout_limit_lowerBoundary; - if (parser_timeout_limit > parser_timeout_limit_uppperBoundary) - parser_timeout_limit = parser_timeout_limit_uppperBoundary; - log.traceLog("^^^^^^ adjusted time out limit with token size: " + token_size + " and the time out limit: " - + parser_timeout_limit); - } - IASTTranslationUnit tu = null; - //real token size, substract a dummy token and a eof token - final int orgTokenSize = ((PrsStream) parser).getTokens().size(); - //final List orginalTokens = copyList(((PrsStream)parser).getTokens()); - ParseThread parseThread = new ParseThread() { - - @Override - public void run() { - try { - astUnit = parser.parse(); - } - - catch (Exception e) { - - /* - if(e instanceof TemplateIDErrorException){ - //IScanner completePreprocessor = new CPreprocessor(reader, scanInfo, pl, log, config, fileCreator); - //IParser completeParser = getCompleteParser(preprocessor, index, parserProperties); - - ISecondaryParser completeParser = getCompleteParser((ITokenStream)parser, preprocessor, index, parserProperties); - //completeParser.setAction(parser.getAction()); - //((ISecondaryParser)completeParser).setTokenMap((ITokenStream)parser); - //copyTokensToParser((PrsStream)completeParser, ((PrsStream)parser).getTokens().subList(0, orgTokenSize)); - ((ISecondaryParser)completeParser).setTokens(((PrsStream)parser).getTokens().subList(1, orgTokenSize-1)); - astUnit = completeParser.parse(); - }else{ - */ - if (log.isTracing()) { - StringWriter stringW = new StringWriter(); - PrintWriter printW = new PrintWriter(stringW); - e.printStackTrace(printW); - - log.traceLog("^^^^^^ PARSER_ERR_STACK" + stringW.toString()); - } - //} - - } - - } - - }; - - try { - tu = runThreadByLimitedTime(parser_timeout_limit, parseThread); - } catch (InterruptedException e) { - - StringWriter stringW = new StringWriter(); - PrintWriter printW = new PrintWriter(stringW); - e.printStackTrace(printW); - - log.traceLog("^^^^^^_ERR_STACK" + stringW.toString()); - //e.printStackTrace(); - } - parseThread.stop(); - long lprFinishTime = 0; - long coreFinishTime = 0; - if (log.isTracing()) { - today = new java.util.Date(); - lprFinishTime = today.getTime(); - } - - if (tu == null) { - long lpr_fail_time = 0; - if (log.isTracing()) { - lpr_fail_time = lprFinishTime; - log.traceLog("^^^^^^ LR parser fails in parsing " + reader.getFileLocation() + " after running " - + (lpr_fail_time - startTime) / 1000 + " seconds"); - } - - ILanguage gppLanguage = getParserLanguage() == ParserLanguage.CPP ? GPPLanguage.getDefault() - : GCCLanguage.getDefault(); - tu = gppLanguage.getASTTranslationUnit(reader, scanInfo, fileCreator, index, options, log); - if (log.isTracing()) { - today = new java.util.Date(); - coreFinishTime = today.getTime(); - - log.traceLog("^^^^^^ core parser parses " + reader.getFileLocation() + " in " - + (coreFinishTime - lpr_fail_time) / 1000 + " seconds"); - } - } - - if (DEBUG_PRINT_AST) { - System.out.println("Base Extensible Language AST:"); - ASTPrinter.print(tu); - } - long finishTime; - if (log.isTracing()) { - if (coreFinishTime > 0) { - //parsed by core parser. - finishTime = coreFinishTime; - long core_runtime = finishTime - startTime; - log.traceLog("^^^^^^ Finish parsing with cdt core parser " + reader.getFileLocation() + " at " - + new java.sql.Timestamp(finishTime) + " runtime: " + core_runtime); - if (core_runtime > LONGEST_CORE_RUNTIME) { - LONGEST_CORE_RUNTIME = core_runtime; - log.traceLog( - "^^^^^^ CLCLCLCL so far the longest runtime with core parser is: " + core_runtime / 1000); - } - } else { - finishTime = lprFinishTime; - long lpr_runtime = finishTime - startTime; - log.traceLog("^^^^^^ Finish parsing " + reader.getFileLocation() + " at " - + new java.sql.Timestamp(finishTime) + " runtime: " + lpr_runtime); - if (lpr_runtime > LONGEST_LPR_RUNTIME) { - LONGEST_LPR_RUNTIME = lpr_runtime; - log.traceLog("^^^^^^ LLLLLLLL so far the longest runtime by LPR Parser is: " + lpr_runtime / 1000); - } - } - } - - return tu; - } - - public void copyTokensToParser(PrsStream parser, List tokens) { - parser.resetTokenStream(); - - for (IToken token : tokens) { - - parser.addToken(token); - } - - } - - public List copyList(List orgList) { - List returnList = new ArrayList(orgList.size()); - for (int i = 0; i < orgList.size(); i++) { - returnList.add(orgList.get(i)); - } - return returnList; - - } - - @Override - @Deprecated - public IASTTranslationUnit getASTTranslationUnit(org.eclipse.cdt.core.parser.CodeReader reader, - IScannerInfo scanInfo, ICodeReaderFactory fileCreator, IIndex index, IParserLogService log) - throws CoreException { - - return getASTTranslationUnit(reader, scanInfo, fileCreator, index, 0, log); - } - - @Override - @Deprecated - public IASTCompletionNode getCompletionNode(org.eclipse.cdt.core.parser.CodeReader reader, IScannerInfo scanInfo, - ICodeReaderFactory fileCreator, IIndex index, IParserLogService log, int offset) throws CoreException { - return getCompletionNode(FileContent.adapt(reader), scanInfo, IncludeFileContentProvider.adapt(fileCreator), - index, log, offset); - } - - @Override - public IASTCompletionNode getCompletionNode(FileContent reader, IScannerInfo scanInfo, - IncludeFileContentProvider fileCreator, IIndex index, IParserLogService log, int offset) - throws CoreException { - - IASTCompletionNode cn; - if (DEBUG_PRINT_GCC_AST) { - ILanguage gppLanguage = GCCLanguage.getDefault(); - cn = gppLanguage.getCompletionNode(reader, scanInfo, fileCreator, index, log, offset); - - System.out.println(); - System.out.println("********************************************************"); - System.out.println("GPP AST:"); - printCompletionNode(cn); - } - - IScannerExtensionConfiguration config = getScannerExtensionConfiguration(); - - ParserLanguage pl = getParserLanguage(); - IScanner preprocessor = new CPreprocessor(reader, scanInfo, pl, log, config, fileCreator); - preprocessor.setContentAssistMode(offset); - - Map parserProperties = new HashMap<>(); - parserProperties.put(LRParserProperties.TRANSLATION_UNIT_PATH, reader.getFileLocation()); - parserProperties.put(LRParserProperties.SKIP_FUNCTION_BODIES, "true"); - parserProperties.put(LRParserProperties.SKIP_TRIVIAL_EXPRESSIONS_IN_AGGREGATE_INITIALIZERS, "true"); - - final IParser parser = getParser(preprocessor, index, parserProperties); - - long parser_timeout_limit = parser_timeout_limit_uppperBoundary; - if (parser instanceof PrsStream) { - int token_size = ((PrsStream) parser).getSize(); - parser_timeout_limit = token_size * UNIT_PARSER_TIMEOUT_LIMIT; - if (parser_timeout_limit < parser_timeout_limit_lowerBoundary) - parser_timeout_limit = parser_timeout_limit_lowerBoundary; - if (parser_timeout_limit > parser_timeout_limit_uppperBoundary) - parser_timeout_limit = parser_timeout_limit_uppperBoundary; - if (log.isTracing()) { - log.traceLog("^^^^^^ adjusted time out limit with token size: " + token_size - + " and the time out limit: " + parser_timeout_limit); - } - } - ParseThread parseThread = new ParseThread() { - - @Override - public void run() { - parser.parse(); - astUnit = parser.getCompletionNode(); - } - - }; - - IASTCompletionNode completionNode = null; - try { - completionNode = runThreadByLimitedTime(parser_timeout_limit * 100, parseThread); - } catch (InterruptedException e) { - if (log.isTracing()) { - StringWriter stringW = new StringWriter(); - PrintWriter printW = new PrintWriter(stringW); - e.printStackTrace(printW); - - log.traceLog("^^^^^^_ERR_STACK" + stringW.toString()); - } - //e.printStackTrace(); - } - parseThread.stop(); - if (completionNode == null) { - log.traceLog("LR parser fails in parsing " + reader.getFileLocation()); - if (log.isTracing()) { - log.traceLog("LR parser fails in parsing " + reader.getFileLocation()); - } - ILanguage gppLanguage = getParserLanguage() == ParserLanguage.CPP ? GPPLanguage.getDefault() - : GCCLanguage.getDefault(); - completionNode = gppLanguage.getCompletionNode(reader, scanInfo, fileCreator, index, log, offset); - } - - if (DEBUG_PRINT_AST) { - System.out.println("Base Extensible Language AST:"); - printCompletionNode(completionNode); - } - - return completionNode; - } - - /* - * For debugging. - */ - private static void printCompletionNode(IASTCompletionNode cn) { - if (cn == null) { - System.out.println("Completion node is null"); - return; - } - - ASTPrinter.print(cn.getTranslationUnit()); - for (IASTName name : cn.getNames()) { - ASTNode context = (ASTNode) name.getCompletionContext(); - System.out.printf("Name: %s, Context: %s, At: %d", name, DebugUtil.safeClassName(context), - context == null ? null : context.getOffset()); - if (name.getTranslationUnit() == null) // some name nodes are not hooked up to the AST - System.out.print(", not hooked up"); - System.out.println(); - } - System.out.println(); - } - - @Override - @Deprecated - public IASTName[] getSelectedNames(IASTTranslationUnit ast, int start, int length) { - return GCCLanguage.getDefault().getSelectedNames(ast, start, length); - } - - private ICLanguageKeywords cLanguageKeywords = new CLanguageKeywords(getParserLanguage(), - getScannerExtensionConfiguration()); - - @Override - public T getAdapter(Class adapter) { - if (ICLanguageKeywords.class.equals(adapter)) - return adapter.cast(cLanguageKeywords); - if (IPDOMLinkageFactory.class.equals(adapter)) { - if (getParserLanguage().isCPP()) - return adapter.cast(new PDOMCPPLinkageFactory()); - return adapter.cast(new PDOMCLinkageFactory()); - } - - return super.getAdapter(adapter); - } - - @Override - public IContributedModelBuilder createModelBuilder(@SuppressWarnings("unused") ITranslationUnit tu) { - return null; - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/CPreprocessorAdapter.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/CPreprocessorAdapter.java deleted file mode 100644 index ca82d49cfa3..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/CPreprocessorAdapter.java +++ /dev/null @@ -1,110 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser; - -import org.eclipse.cdt.core.parser.EndOfFileException; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.core.parser.OffsetLimitReachedException; - -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.Token; - -/** - * Adapts the CPreprocessor from the CDT core for use with LPG based parsers. - * - * @author Mike Kucera - * @noreference - * TODO move into an internal package - */ -public class CPreprocessorAdapter { - /** - * During content assist the preprocessor may return a completion token - * which represents the identifier on which the user invoked content assist. - * Then the preprocessor normally returns arbitrarily many end-of-completion - * (EOC) tokens. - * - * A bottom-up parser cannot know ahead of time how many EOC tokens are - * needed in order for the parse to complete successfully. So we pick - * a number that seems arbitrarily large enough. - */ - private static final int NUM_EOC_TOKENS = 50; - - private static final int DUMMY_TOKEN_KIND = 0; - private static final int tCOMPLETION = org.eclipse.cdt.core.parser.IToken.tCOMPLETION; - - /** - * Collect the tokens generated by the preprocessor. - * TODO: should preprocessor.nextTokenRaw() be called instead? - */ - public static void runCPreprocessor(IScanner preprocessor, ITokenCollector tokenCollector, IDOMTokenMap tokenMap) { - // LPG requires that the token stream start with a dummy token - tokenCollector.addToken(createDummyToken()); - - org.eclipse.cdt.core.parser.IToken lastToken = null; - try { - while (true) { - // the preprocessor throws EndOfFileException when it reaches the end of input - org.eclipse.cdt.core.parser.IToken domToken = preprocessor.nextToken(); - processDOMToken(domToken, tokenCollector, tokenMap); - lastToken = domToken; - - if (domToken.getType() == tCOMPLETION) - break; - } - } catch (OffsetLimitReachedException e) { - // preprocessor throws this when content assist is invoked inside a preprocessor directive - org.eclipse.cdt.core.parser.IToken domToken = e.getFinalToken(); - assert domToken.getType() == tCOMPLETION; - processDOMToken(domToken, tokenCollector, tokenMap); - lastToken = domToken; - } catch (EndOfFileException e) { - // use thrown exception to break out of loop - } - - // TODO - // This computation is actually incorrect. The "offset" of the EOF token should - // be equal to the size of the file. But since the CPreprocessor throws an exception when it - // reaches the end we can't get this info. So we just use the offset of the last real token - // that was returned. - int eofTokenOffset = lastToken == null ? 0 : lastToken.getOffset(); - - // LPG requires that the token stream end with an EOF token - tokenCollector.addToken(createEOFToken(tokenMap, eofTokenOffset)); - } - - private static void processDOMToken(org.eclipse.cdt.core.parser.IToken domToken, ITokenCollector tokenCollector, - IDOMTokenMap tokenMap) { - int newKind = tokenMap.mapKind(domToken); - tokenCollector.addToken(new LPGTokenAdapter(domToken, newKind)); - - if (domToken.getType() == tCOMPLETION) { - int offset = domToken.getOffset(); - for (int i = 0; i < NUM_EOC_TOKENS; i++) - tokenCollector.addToken(createEOCToken(tokenMap, offset)); - } - } - - private static IToken createEOCToken(IDOMTokenMap tokenMap, int offset) { - return new Token(null, offset, offset + 1, tokenMap.getEOCTokenKind()); - } - - private static IToken createDummyToken() { - return new Token(null, 0, 0, DUMMY_TOKEN_KIND); - } - - private static IToken createEOFToken(IDOMTokenMap tokenMap, int offset) { - return new Token(null, offset, offset + 1, tokenMap.getEOFTokenKind()); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IDOMTokenMap.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IDOMTokenMap.java deleted file mode 100644 index 911de12803b..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IDOMTokenMap.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser; - -import org.eclipse.cdt.core.parser.IToken; - -/** - * Maps tokens returned by CPreprocessor to the corresponding - * token kind used by an LPG based parser. - * - * @author Mike Kucera - */ -public interface IDOMTokenMap { - - /** - * Returns the LPG token kind for the given DOM token. - * @throws NullPointerException if token is null - */ - int mapKind(IToken token); - - /** - * Returns the LPG token type for End Of File (TK_EOF_TOKEN) token. - */ - int getEOFTokenKind(); - - /** - * Returns the LPG token type for End Of Completion (TK_EndOfCompletion) token. - */ - int getEOCTokenKind(); - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IParser.java deleted file mode 100644 index 97fad538d13..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IParser.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser; - -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTNode; - -/** - * Represents a parser that can be used by BaseExtensibleLanguage. - * - * @author Mike Kucera - */ -public interface IParser { - - /** - * Performs the actual parse. - * - * If there were any errors during the parse these will be represented in the - * AST as problem nodes. - * - * If the parser encounters a completion token then a completion node - * will be available via the getCompletionNode() method. - */ - public N parse(); - - /** - * Returns the completion node if a completion token was encountered - * during the parse, null otherwise. - */ - public IASTCompletionNode getCompletionNode(); - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/ISecondaryParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/ISecondaryParser.java deleted file mode 100644 index 584c4ee8ee9..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/ISecondaryParser.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser; - -import java.util.List; - -import org.eclipse.cdt.core.dom.ast.IASTNode; - -import lpg.lpgjavaruntime.IToken; - -public interface ISecondaryParser extends IParser { - - /** - * Set the list of tokens that will be parsed. - * - * The given list does not need to contain dummy and EOF tokens, - * these will be added automatically. - * - * This method causes any tokens already contained in the parser - * to be removed. - * - * This method is mainly used by secondary parsers that are called - * from a main parser. - * - * @throws NullPointerException if tokens is null - */ - public void setTokens(List tokens); -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/ITokenCollector.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/ITokenCollector.java deleted file mode 100644 index dd780f988bd..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/ITokenCollector.java +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser; - -import lpg.lpgjavaruntime.IToken; - -/** - * An LPG parser object is initialized with the list of tokens - * before parsing is invoked. - * - * @author Mike Kucera - */ -public interface ITokenCollector { - - /** - * Used to add one token at a time to the parser. - * If this method is used to add tokens then the dummy token - * and the EOF token must be added by the client. - * - * This is really just an optimization, no intermediate data structures - * are required between the preprocessor and the parser. - * - * @throws NullPointerException if token is null - */ - public void addToken(IToken token); - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/LPGTokenAdapter.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/LPGTokenAdapter.java deleted file mode 100644 index 0ea784d88d5..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/LPGTokenAdapter.java +++ /dev/null @@ -1,144 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser; - -import lpg.lpgjavaruntime.PrsStream; - -/** - * The CPreprocessor from the CDT core returns tokens that - * are of the type org.eclipse.cdt.core.parser.IToken, - * however LPG wants the tokens to be of the type lpg.lpgjavaruntime.IToken. - * - * So these adapter objects are used to wrap the tokens returned - * by CPreprocessor so that they can be used with LPG. - * - * @author Mike Kucera - */ -public class LPGTokenAdapter implements lpg.lpgjavaruntime.IToken { - - /** The token object that is being wrapped */ - private final org.eclipse.cdt.core.parser.IToken token; - - private int tokenIndex; - private int adjunctIndex; - - private int kind; - - public LPGTokenAdapter(org.eclipse.cdt.core.parser.IToken token, int parserKind) { - this.token = token; - this.kind = parserKind; - } - - public org.eclipse.cdt.core.parser.IToken getWrappedToken() { - return token; - } - - @Override - public int getAdjunctIndex() { - return adjunctIndex; - } - - @Override - public int getColumn() { - return 0; - } - - @Override - public int getEndColumn() { - return 0; - } - - @Override - public int getEndLine() { - return 0; - } - - @Override - public int getEndOffset() { - return token.getEndOffset(); - } - - @Override - public lpg.lpgjavaruntime.IToken[] getFollowingAdjuncts() { - return null; - } - - @Override - public int getKind() { - return kind; - } - - @Override - public int getLine() { - return 0; - } - - @Override - public lpg.lpgjavaruntime.IToken[] getPrecedingAdjuncts() { - return null; - } - - @Override - public PrsStream getPrsStream() { - return null; - } - - @Override - public int getStartOffset() { - return token.getOffset(); - } - - @Override - public int getTokenIndex() { - return tokenIndex; - } - - @Override - @Deprecated - public String getValue(@SuppressWarnings("unused") char[] arg0) { - return toString(); - } - - @Override - public void setAdjunctIndex(int adjunctIndex) { - this.adjunctIndex = adjunctIndex; - } - - @Override - public void setEndOffset(@SuppressWarnings("unused") int arg0) { - throw new UnsupportedOperationException(); - } - - @Override - public void setKind(int kind) { - this.kind = kind; - } - - @Override - public void setStartOffset(@SuppressWarnings("unused") int arg0) { - throw new UnsupportedOperationException(); - - } - - @Override - public void setTokenIndex(int tokenIndex) { - this.tokenIndex = tokenIndex; - } - - @Override - public String toString() { - return token.toString(); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/LRParserPlugin.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/LRParserPlugin.java deleted file mode 100644 index 26e0eaa3315..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/LRParserPlugin.java +++ /dev/null @@ -1,92 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Plugin; -import org.eclipse.core.runtime.Status; -import org.osgi.framework.BundleContext; - -public class LRParserPlugin extends Plugin { - - public static final String PLUGIN_ID = "org.eclipse.cdt.core.lrparser"; //$NON-NLS-1$ - - private static LRParserPlugin plugin; - - @Override - public void start(BundleContext context) throws Exception { - super.start(context); - plugin = this; - } - - @Override - public void stop(BundleContext context) throws Exception { - try { - // shutdown code goes here - plugin = null; - } finally { - super.stop(context); - } - } - - /** - * @noreference - */ - public static IStatus createStatus(String msg, Throwable e) { - return new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, msg, e); - } - - /** - * @noreference - */ - public static IStatus createStatus(Throwable e) { - return createStatus(e.getMessage(), e); - } - - /** - * @noreference - */ - public static void log(IStatus status) { - plugin.getLog().log(status); - } - - /** - * @noreference - */ - public static void logError(Throwable exception, String message) { - log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, message, exception)); - } - - /** - * @noreference - */ - public static void logError(Throwable exception) { - logError(exception, exception.getMessage()); - } - - /** - * @noreference - */ - public static void logError(String message) { - log(new Status(IStatus.ERROR, PLUGIN_ID, message)); - } - - /** - * @noreference - */ - public static void logInfo(String message) { - log(new Status(IStatus.INFO, PLUGIN_ID, message)); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/LRParserProperties.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/LRParserProperties.java deleted file mode 100644 index c840d6e6443..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/LRParserProperties.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser; - -@SuppressWarnings("nls") -public final class LRParserProperties { - - /** - * The LR parsers do not actually skip the parsing of function bodies, - * but this option does have the effect of not generating AST nodes - * for function bodies. - * - * TODO this is not implemented yet in the LR parser - * - * Possible values: "true", null - */ - public static final String SKIP_FUNCTION_BODIES = "org.eclipse.cdt.core.dom.lrparser.skipFunctionBodies"; - - /** - * Instructs the parser not to create AST nodes for expressions - * within aggregate initializers when they do not contain names. - * - * https://bugs.eclipse.org/bugs/show_bug.cgi?id=253690 - * - * Possible values: "true", null - */ - public static final String SKIP_TRIVIAL_EXPRESSIONS_IN_AGGREGATE_INITIALIZERS = "org.eclipse.cdt.core.dom.lrparser.skipTrivialExpressionsInAggregateInitializers"; - - /** - * The location of the translation unit as given by the CodeReader. - */ - public static final String TRANSLATION_UNIT_PATH = "org.eclipse.cdt.core.dom.lrparser.translationUnitPath"; - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/ScannerExtensionConfiguration.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/ScannerExtensionConfiguration.java deleted file mode 100644 index f7d2b076892..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/ScannerExtensionConfiguration.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: IBM Corporation - initial API and implementation - ******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser; - -import org.eclipse.cdt.core.dom.parser.AbstractScannerExtensionConfiguration; - -/** - * A minimalistic scanner configuration for the LR parser. - * - * @author Mike Kucera - * - */ -@SuppressWarnings("nls") -public class ScannerExtensionConfiguration extends AbstractScannerExtensionConfiguration { - - private ScannerExtensionConfiguration() { - addMacro("__STDC__", "1"); - } - - public static ScannerExtensionConfiguration createC() { - ScannerExtensionConfiguration sec = new ScannerExtensionConfiguration(); - sec.addMacro("__null", "(void *)0"); - return sec; - } - - public static ScannerExtensionConfiguration createCPP() { - ScannerExtensionConfiguration sec = new ScannerExtensionConfiguration(); - sec.addMacro("__null", "0"); - return sec; - } - - @Override - public boolean support$InIdentifiers() { - return true; - } - - @Override - public boolean supportUserDefinedLiterals() { - return false; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ASTCompletionNode.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ASTCompletionNode.java deleted file mode 100644 index 36eb0556c25..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ASTCompletionNode.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.action; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; - -/** - * An AST node that represents the location of content assist - * in the source file. - * - * This node may contain the prefix text of an identifier up to the point. If - * there is no prefix, the completion occurred at the point where a new token - * would have begun. - * - * Contains a list of name nodes, each name represents an identifier - * at the point where content assist was invoked. There is usually - * a single name node, however if an ambiguity is detected then that section - * of the source may be interpreted in more than one way (for example, as an expression then as a declaration). - * This results in an ambiguity node in the tree and one name node for each of the ways it can be interpreted. - * - * The full AST may be accessed via getTranslationUnit() or by following - * the parent pointers of the name nodes. - * - * @author Mike Kucera - */ -public class ASTCompletionNode implements IASTCompletionNode { - - private final List entries = new ArrayList<>(); - - private final String prefix; - private IASTTranslationUnit tu; - - /** - * Creates a completion node. - * @param prefix The completion prefix, set to null if the empty string is passed. - */ - public ASTCompletionNode(String prefix, IASTTranslationUnit tu) { - if ("".equals(prefix)) //$NON-NLS-1$ - prefix = null; - - this.prefix = prefix; - this.tu = tu; - } - - public ASTCompletionNode(String prefix) { - this(prefix, null); - } - - public void addName(IASTName name) { - entries.add(new CompletionNameEntry(name, name.getParent())); - } - - /** - * Returns the length of the prefix. - */ - @Override - public int getLength() { - return prefix == null ? 0 : prefix.length(); - } - - @Override - public IASTName[] getNames() { - IASTName[] names = new IASTName[entries.size()]; - for (int i = 0; i < entries.size(); ++i) { - names[i] = entries.get(i).fName; - } - return names; - } - - /** - * If the point of completion was at the end of a potential identifier, this - * string contains the text of that identifier. - * - * @returns a string of length >= 1 or null - */ - @Override - public String getPrefix() { - return prefix; - } - - public void setTranslationUnit(IASTTranslationUnit tu) { - this.tu = tu; - } - - @Override - public IASTTranslationUnit getTranslationUnit() { - return tu; - } - - @Override - public boolean containsName(IASTName name) { - for (CompletionNameEntry entry : entries) { - if (entry.fName == name) { - return true; - } - } - return false; - } - - @Override - public CompletionNameEntry[] getEntries() { - return entries.toArray(new CompletionNameEntry[entries.size()]); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/AbstractParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/AbstractParserAction.java deleted file mode 100644 index 456ad6a8d03..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/AbstractParserAction.java +++ /dev/null @@ -1,213 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.action; - -import java.util.Collections; -import java.util.List; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.ast.IASTNode; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.internal.core.dom.parser.ASTNode; - -import lpg.lpgjavaruntime.IToken; - -@SuppressWarnings("restriction") -public abstract class AbstractParserAction { - - /** - * Used with very simple optional rules that just say - * that some particular token or keyword is optional. - * The presence of the PLACE_HOLDER on the stack means that the keyword - * was parsed, the presence of null means the keyword wasn't parsed. - * - * @see BuildASTParserAction#consumePlaceHolder() - * @see BuildASTParserAction#consumeEmpty() - */ - protected static final Object PLACE_HOLDER = Boolean.TRUE; // any object will do - - /** Provides an interface to the token stream */ - protected final ITokenStream stream; - - /** Stack that holds the intermediate nodes as the AST is being built */ - protected final ScopedStack astStack; - - /** The completion node, only generated during a completion parse */ - protected ASTCompletionNode completionNode; - - /** Options that change the behavior of the parser actions */ - protected Map properties = Collections.emptyMap(); - - /** - * Completion tokens are represented by different kinds by different parsers. - */ - protected abstract boolean isCompletionToken(IToken token); - - protected abstract IASTName createName(char[] image); - - /** - * Create a new parser action. - * @param tu Root node of the AST, its list of declarations should be empty. - * @throws NullPointerException if any of the parameters are null - */ - public AbstractParserAction(ITokenStream parser, ScopedStack astStack) { - if (parser == null) - throw new NullPointerException("parser is null"); //$NON-NLS-1$ - if (astStack == null) - throw new NullPointerException("astStack is null"); //$NON-NLS-1$ - - this.stream = parser; - this.astStack = astStack; - } - - protected void setOffsetAndLength(IASTNode node) { - int ruleOffset = stream.getLeftIToken().getStartOffset(); - int ruleLength = stream.getRightIToken().getEndOffset() - ruleOffset; - ((ASTNode) node).setOffsetAndLength(ruleOffset, ruleLength < 0 ? 0 : ruleLength); - } - - /** - * Creates a IASTName node from an identifier token. - * If the token is a completion token then it is added to the completion node. - */ - protected IASTName createName(IToken token) { - IASTName name = createName(token.toString().toCharArray()); // TODO, token.toCharArray(); - ParserUtil.setOffsetAndLength(name, token); - - if (isCompletionToken(token)) - addNameToCompletionNode(name, token.toString()); - - return name; - } - - public void setParserProperties(Map properties) { - this.properties = properties == null ? Collections.emptyMap() : properties; - } - - /** - * Creates a completion node if one does not yet exist and adds the - * given name to it. - */ - protected void addNameToCompletionNode(IASTName name, String prefix) { - if (completionNode == null) { - completionNode = newCompletionNode(prefix); - } - - completionNode.addName(name); - } - - public ASTCompletionNode newCompletionNode(String prefix) { - return new ASTCompletionNode(prefix); - } - - /** - * Returns the completion node if this is a completion parse, null otherwise. - */ - public IASTCompletionNode getASTCompletionNode() { - return completionNode; - } - - /** - * Returns the parse result. - * @return - */ - public IASTNode getParseResult() { - return (IASTNode) astStack.peek(); - } - - /** - * Runs the given parser on the given token list. - * - */ - protected N runSecondaryParser(ISecondaryParser secondaryParser) { - return runSecondaryParser(secondaryParser, stream.getRuleTokens()); - } - - /** - * Runs the given parser on the tokens that make up the current rule. - */ - protected N runSecondaryParser(ISecondaryParser secondaryParser, List tokens) { - // the secondary parser will alter the token kinds, which will need to be undone - int[] savedKinds = new int[tokens.size()]; - - int i = 0; - for (IToken token : tokens) - savedKinds[i++] = token.getKind(); - - secondaryParser.setTokens(tokens); - N result = secondaryParser.parse(); - - IASTCompletionNode compNode = secondaryParser.getCompletionNode(); - if (compNode != null) { - for (IASTName name : compNode.getNames()) - addNameToCompletionNode(name, compNode.getPrefix()); - } - - // restore the token kinds - i = 0; - for (IToken token : tokens) - token.setKind(savedKinds[i++]); - - return result; - } - - /************************************************************************************************************* - * Basic Actions - ************************************************************************************************************/ - - /** - * Method that is called by the special production - * in order to create a new scope in the AST stack. - */ - public void openASTScope() { - astStack.openScope(); - } - - /** - * Place null on the stack. - * Usually called for optional element to indicate the element - * was not parsed. - */ - public void consumeEmpty() { - astStack.push(null); - } - - /** - * Place a marker on the stack. - * Usually used for very simple optional elements to indicate - * the element was parsed. Usually the existence of an AST node - * on the stack is used instead of the marker, but for simple - * cases like an optional keyword this action is useful. - */ - public void consumePlaceHolder() { - astStack.push(PLACE_HOLDER); - } - - /** - * Just pops the stack, useful if you have a rule that generates - * a node but you don't need the node. - */ - public void consumeIgnore() { - astStack.pop(); - } - - /** - * Gets the current token and places it on the stack for later consumption. - */ - public void consumeToken() { - astStack.push(stream.getRightIToken()); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java deleted file mode 100644 index 5c5df984965..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java +++ /dev/null @@ -1,1026 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2016 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.action; - -import static org.eclipse.cdt.core.dom.lrparser.action.ParserUtil.endOffset; -import static org.eclipse.cdt.core.dom.lrparser.action.ParserUtil.length; -import static org.eclipse.cdt.core.dom.lrparser.action.ParserUtil.offset; - -import java.util.List; - -import org.eclipse.cdt.core.dom.ast.IASTASMDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTArrayDeclarator; -import org.eclipse.cdt.core.dom.ast.IASTArrayModifier; -import org.eclipse.cdt.core.dom.ast.IASTArraySubscriptExpression; -import org.eclipse.cdt.core.dom.ast.IASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.IASTBreakStatement; -import org.eclipse.cdt.core.dom.ast.IASTCaseStatement; -import org.eclipse.cdt.core.dom.ast.IASTCastExpression; -import org.eclipse.cdt.core.dom.ast.IASTCompoundStatement; -import org.eclipse.cdt.core.dom.ast.IASTConditionalExpression; -import org.eclipse.cdt.core.dom.ast.IASTContinueStatement; -import org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTDeclarationStatement; -import org.eclipse.cdt.core.dom.ast.IASTDeclarator; -import org.eclipse.cdt.core.dom.ast.IASTDefaultStatement; -import org.eclipse.cdt.core.dom.ast.IASTDoStatement; -import org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier.IASTEnumerator; -import org.eclipse.cdt.core.dom.ast.IASTEqualsInitializer; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTExpressionList; -import org.eclipse.cdt.core.dom.ast.IASTExpressionStatement; -import org.eclipse.cdt.core.dom.ast.IASTFieldDeclarator; -import org.eclipse.cdt.core.dom.ast.IASTFunctionCallExpression; -import org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator; -import org.eclipse.cdt.core.dom.ast.IASTGotoStatement; -import org.eclipse.cdt.core.dom.ast.IASTIdExpression; -import org.eclipse.cdt.core.dom.ast.IASTInitializer; -import org.eclipse.cdt.core.dom.ast.IASTInitializerClause; -import org.eclipse.cdt.core.dom.ast.IASTInitializerList; -import org.eclipse.cdt.core.dom.ast.IASTLabelStatement; -import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.ast.IASTNode; -import org.eclipse.cdt.core.dom.ast.IASTNullStatement; -import org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTPointerOperator; -import org.eclipse.cdt.core.dom.ast.IASTProblem; -import org.eclipse.cdt.core.dom.ast.IASTProblemHolder; -import org.eclipse.cdt.core.dom.ast.IASTReturnStatement; -import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTStatement; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.ast.IASTTypeId; -import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.ast.IBinding; -import org.eclipse.cdt.core.dom.ast.INodeFactory; -import org.eclipse.cdt.core.dom.ast.IScope; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCastExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTLiteralExpression; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.LRParserProperties; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IProblem; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.internal.core.dom.parser.ASTInternal; -import org.eclipse.cdt.internal.core.dom.parser.ASTNode; -import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; -import org.eclipse.cdt.internal.core.dom.parser.ASTTranslationUnit; -import org.eclipse.cdt.internal.core.dom.parser.AbstractGNUSourceCodeParser; -import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguousExpression; -import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguousStatement; - -import lpg.lpgjavaruntime.IToken; - -/** - * Parser semantic actions that are common to both C and C++. - * - * @author Mike Kucera - */ -@SuppressWarnings("restriction") -public abstract class BuildASTParserAction extends AbstractParserAction { - - /** Abstract factory for creating AST node objects */ - private final INodeFactory nodeFactory; - - /** Abstract factory for creating secondary parsers */ - private final ISecondaryParserFactory parserFactory; - - /** - * Returns true if the token is an identifier. - */ - protected abstract boolean isIdentifierToken(IToken token); - - protected IASTTranslationUnit tu = null; - - /** - * Create a new parser action. - * @param tu Root node of the AST, its list of declarations should be empty. - * @throws NullPointerException if any of the parameters are null - */ - public BuildASTParserAction(ITokenStream parser, ScopedStack astStack, INodeFactory nodeFactory, - ISecondaryParserFactory parserFactory) { - super(parser, astStack); - - if (nodeFactory == null) - throw new NullPointerException("nodeFactory is null"); //$NON-NLS-1$ - if (parserFactory == null) - throw new NullPointerException("parserFactory is null"); //$NON-NLS-1$ - - this.nodeFactory = nodeFactory; - this.parserFactory = parserFactory; - } - - public void initializeTranslationUnit(IScanner scanner, IBuiltinBindingsProvider builtinBindingsProvider, - IIndex index) { - tu = nodeFactory.newTranslationUnit(scanner); - tu.setIndex(index); - - // add built-in names to the scope - if (builtinBindingsProvider != null) { - IScope tuScope = tu.getScope(); - IBinding[] bindings = builtinBindingsProvider.getBuiltinBindings(tuScope); - for (IBinding binding : bindings) { - ASTInternal.addBinding(tuScope, binding); - } - } - - if (tu instanceof ASTTranslationUnit) { - ((ASTTranslationUnit) tu).setLocationResolver(scanner.getLocationResolver()); - } - } - - public void consumeTranslationUnit() { - if (tu == null) - tu = nodeFactory.newTranslationUnit(null); - - // can't close the outermost scope - for (Object o : astStack.topScope()) { - tu.addDeclaration((IASTDeclaration) o); - } - while (!astStack.isEmpty()) { - astStack.pop(); - } - - // this is the same way that the DOM parser computes the length - IASTDeclaration[] declarations = tu.getDeclarations(); - if (declarations.length != 0) { - IASTNode d = declarations[declarations.length - 1]; - ParserUtil.setOffsetAndLength(tu, 0, offset(d) + length(d)); - } - - resolveAmbiguityNodes(tu); - tu.freeze(); - - astStack.push(tu); - } - - @Override - public ASTCompletionNode newCompletionNode(String prefix) { - return new ASTCompletionNode(prefix, tu); - } - - /** - * Removes ambiguity nodes from the AST by resolving them. - * - * @see AbstractGNUSourceCodeParser#resolveAmbiguities() - */ - private static void resolveAmbiguityNodes(IASTTranslationUnit tu) { - if (tu instanceof ASTTranslationUnit) { - ((ASTTranslationUnit) tu).resolveAmbiguities(); - } - } - - /** - * Consumes a single identifier token. - */ - public void consumeIdentifierName() { - astStack.push(createName(stream.getRightIToken())); - } - - /** - * block_item ::= declaration | statement - * - * TODO, be careful where exactly in the grammar this is called, it may be called unnecessarily - */ - public void consumeStatementDeclarationWithDisambiguation() { - IASTDeclaration decl = (IASTDeclaration) astStack.pop(); - IASTDeclarationStatement declarationStatement = nodeFactory.newDeclarationStatement(decl); - setOffsetAndLength(declarationStatement); - - // attempt to also parse the tokens as an expression - IASTExpressionStatement expressionStatement = null; - if (decl instanceof IASTSimpleDeclaration) { - List expressionTokens = stream.getRuleTokens(); - expressionTokens = expressionTokens.subList(0, expressionTokens.size() - 1); // remove the semicolon at the end - - ISecondaryParser expressionParser = parserFactory.getExpressionParser(stream, properties); - IASTExpression expr = runSecondaryParser(expressionParser, expressionTokens); - - if (expr != null) { // the parse may fail - expressionStatement = nodeFactory.newExpressionStatement(expr); - setOffsetAndLength(expressionStatement); - } - } - - List tokens = stream.getRuleTokens(); - - IASTNode result; - if (expressionStatement == null) - result = declarationStatement; - else if (expressionStatement.getExpression() instanceof IASTFunctionCallExpression) - result = expressionStatement; - else if (tokens.size() == 2 && (isCompletionToken(tokens.get(0)) || isIdentifierToken(tokens.get(0)))) // identifier followed by semicolon - result = expressionStatement; - else if (isImplicitInt(decl)) - result = expressionStatement; - else { - result = createAmbiguousStatement(declarationStatement, expressionStatement); - setOffsetAndLength(result); - } - - astStack.push(result); - } - - protected abstract IASTAmbiguousStatement createAmbiguousStatement(IASTStatement... statements); - - /** - * Wrap a declaration in a DeclarationStatement. - */ - public void consumeStatementDeclaration() { - IASTDeclaration decl = (IASTDeclaration) astStack.pop(); - IASTDeclarationStatement declarationStatement = nodeFactory.newDeclarationStatement(decl); - setOffsetAndLength(declarationStatement); - astStack.push(declarationStatement); - } - - /** - * Returns true if the given declaration has unspecified type, - * in this case the type defaults to int and is know as "implicit int". - * - * With implicit int a lot of language constructs can be accidentally parsed - * as declarations: - * - * eg) x = 1; - * Should be an assignment statement but can also be parsed as a declaration - * of a variable x, of unspecified type, initialized to 1. - * - * These cases are easy to detect (using this method) and the wrong interpretation - * as a declaration is discarded. - */ - protected static boolean isImplicitInt(IASTDeclaration declaration) { - if (declaration instanceof IASTSimpleDeclaration) { - IASTDeclSpecifier declSpec = ((IASTSimpleDeclaration) declaration).getDeclSpecifier(); - if (declSpec instanceof IASTSimpleDeclSpecifier - && ((IASTSimpleDeclSpecifier) declSpec).getType() == IASTSimpleDeclSpecifier.t_unspecified) { - return true; - } - } - return false; - } - - /** - * @param kind One of the kind flags from IASTLiteralExpression or ICPPASTLiteralExpression - * @see IASTLiteralExpression - * @see ICPPASTLiteralExpression - */ - public void consumeExpressionLiteral(int kind) { - IToken token = stream.getRightIToken(); - String rep = token.toString(); - - // Strip the quotes from string literals, this is just to be consistent - // with the dom parser (i.e. to make a test pass) - // if(kind == IASTLiteralExpression.lk_string_literal && - // rep.startsWith("\"") && rep.endsWith("\"")) { - // rep = rep.substring(1, rep.length()-1); - // } - - IASTLiteralExpression expr = nodeFactory.newLiteralExpression(kind, rep); - ParserUtil.setOffsetAndLength(expr, token); - astStack.push(expr); - } - - public void consumeExpressionBracketed() { - IASTExpression operand = (IASTExpression) astStack.pop(); - IASTUnaryExpression expr = nodeFactory.newUnaryExpression(IASTUnaryExpression.op_bracketedPrimary, operand); - setOffsetAndLength(expr); - astStack.push(expr); - } - - public void consumeExpressionID() { - IASTName name = createName(stream.getLeftIToken()); - IASTIdExpression expr = nodeFactory.newIdExpression(name); - setOffsetAndLength(expr); - astStack.push(expr); - } - - public void consumeExpressionName() { - IASTName name = (IASTName) astStack.pop(); - IASTIdExpression expr = nodeFactory.newIdExpression(name); - setOffsetAndLength(expr); - astStack.push(expr); - } - - /** - * expression ::= expression_list_actual - */ - public void consumeExpressionList() { - List expressions = astStack.closeScope(); - if (expressions.size() == 1) { - astStack.push(expressions.get(0)); - } else { - IASTExpressionList exprList = nodeFactory.newExpressionList(); - - for (Object o : expressions) { - exprList.addExpression((IASTExpression) o); - } - - setOffsetAndLength(exprList); - astStack.push(exprList); - } - } - - /** - * postfix_expression ::= postfix_expression '[' expression ']' - */ - public void consumeExpressionArraySubscript() { - IASTExpression subscript = (IASTExpression) astStack.pop(); - IASTExpression arrayExpr = (IASTExpression) astStack.pop(); - IASTArraySubscriptExpression expr = nodeFactory.newArraySubscriptExpression(arrayExpr, subscript); - setOffsetAndLength(expr); - astStack.push(expr); - } - - /** - * postfix_expression ::= postfix_expression '(' expression_list_opt ')' - */ - public void consumeExpressionFunctionCall() { - IASTExpression argList = (IASTExpression) astStack.pop(); // may be null - IASTExpression idExpr = (IASTExpression) astStack.pop(); - - IASTFunctionCallExpression expr = nodeFactory.newFunctionCallExpression(idExpr, argList); - setOffsetAndLength(expr); - astStack.push(expr); - } - - /** - * @param operator constant for {@link ICPPASTCastExpression} - */ - public void consumeExpressionCast(int operator) { - IASTExpression operand = (IASTExpression) astStack.pop(); - IASTTypeId typeId = (IASTTypeId) astStack.pop(); - IASTCastExpression expr = nodeFactory.newCastExpression(operator, typeId, operand); - setOffsetAndLength(expr); - - IASTExpression alternateExpr = null; - if (operator == IASTCastExpression.op_cast) { // don't reparse for dynamic_cast etc as those are not ambiguous - // try parsing as non-cast to resolve ambiguities - ISecondaryParser secondaryParser = parserFactory.getNoCastExpressionParser(stream, - properties); - alternateExpr = runSecondaryParser(secondaryParser); - } - - if (alternateExpr == null) - astStack.push(expr); - else { - IASTNode ambiguityNode = createAmbiguousExpression(expr, alternateExpr); - setOffsetAndLength(ambiguityNode); - astStack.push(ambiguityNode); - } - } - - protected abstract IASTAmbiguousExpression createAmbiguousExpression(IASTExpression... expressions); - - /** - * Lots of rules, no need to list them. - * @param operator From IASTUnaryExpression - */ - public void consumeExpressionUnaryOperator(int operator) { - IASTExpression operand = (IASTExpression) astStack.pop(); - IASTUnaryExpression expr = nodeFactory.newUnaryExpression(operator, operand); - setOffsetAndLength(expr); - astStack.push(expr); - } - - /** - * unary_operation ::= 'sizeof' '(' type_name ')' - * @see consumeExpressionUnaryOperator For the other use of sizeof - */ - public void consumeExpressionTypeId(int operator) { - IASTTypeId typeId = (IASTTypeId) astStack.pop(); - IASTTypeIdExpression expr = nodeFactory.newTypeIdExpression(operator, typeId); - setOffsetAndLength(expr); - - // try parsing as an expression to resolve ambiguities - ISecondaryParser secondaryParser = parserFactory.getSizeofExpressionParser(stream, properties); - IASTExpression alternateExpr = runSecondaryParser(secondaryParser); - - if (alternateExpr == null) - astStack.push(expr); - else if (isFunctionType(expr)) // bug 252243 - astStack.push(alternateExpr); - else { - IASTNode ambiguityNode = createAmbiguousExpression(expr, alternateExpr); - setOffsetAndLength(ambiguityNode); - astStack.push(ambiguityNode); - } - } - - private static boolean isFunctionType(IASTExpression expr) { - if (expr instanceof IASTTypeIdExpression) { - IASTTypeId typeId = ((IASTTypeIdExpression) expr).getTypeId(); - return typeId.getAbstractDeclarator() instanceof IASTFunctionDeclarator; - } - return false; - } - - /** - * Lots of rules, no need to list them all. - * @param op Field from IASTBinaryExpression - */ - public void consumeExpressionBinaryOperator(int op) { - IASTExpression expr2 = (IASTExpression) astStack.pop(); - IASTExpression expr1 = (IASTExpression) astStack.pop(); - IASTBinaryExpression binExpr = nodeFactory.newBinaryExpression(op, expr1, expr2); - setOffsetAndLength(binExpr); - astStack.push(binExpr); - } - - /** - * conditional_expression ::= logical_OR_expression '?' expression ':' conditional_expression - */ - public void consumeExpressionConditional() { - IASTExpression expr3 = (IASTExpression) astStack.pop(); - IASTExpression expr2 = (IASTExpression) astStack.pop(); - IASTExpression expr1 = (IASTExpression) astStack.pop(); - IASTConditionalExpression condExpr = nodeFactory.newConditionalExpession(expr1, expr2, expr3); - setOffsetAndLength(condExpr); - astStack.push(condExpr); - } - - /** - * labeled_statement ::= label_identifier ':' statement - * label_identifier ::= identifier - */ - public void consumeStatementLabeled() { - IASTStatement body = (IASTStatement) astStack.pop(); - IASTName label = createName(stream.getLeftIToken()); - - IASTLabelStatement stat = nodeFactory.newLabelStatement(label, body); - setOffsetAndLength(stat); - astStack.push(stat); - } - - /** - * labeled_statement ::= 'case' constant_expression ':' statement - */ - public void consumeStatementCase() { - IASTStatement body = (IASTStatement) astStack.pop(); - IASTExpression expr = (IASTExpression) astStack.pop(); - - IASTCaseStatement caseStatement = nodeFactory.newCaseStatement(expr); - setOffsetAndLength(caseStatement); // TODO this is wrong, need to adjust length to end of colon - - // this is a hackey fix because case statements are not modeled correctly in the AST - IASTCompoundStatement compound = nodeFactory.newCompoundStatement(); - setOffsetAndLength(compound); - compound.addStatement(caseStatement); - compound.addStatement(body); - - astStack.push(compound); - } - - /** - * labeled_statement ::= 'default' ':' statement - */ - public void consumeStatementDefault() { - IASTStatement body = (IASTStatement) astStack.pop(); - - IASTDefaultStatement stat = nodeFactory.newDefaultStatement(); - List tokens = stream.getRuleTokens(); - IToken defaultToken = tokens.get(0); - IToken colonToken = tokens.get(1); - ParserUtil.setOffsetAndLength(stat, offset(defaultToken), offset(colonToken) - offset(defaultToken) + 1); - - IASTCompoundStatement compound = nodeFactory.newCompoundStatement(); - setOffsetAndLength(compound); - compound.addStatement(stat); - compound.addStatement(body); - - astStack.push(compound); - } - - /** - * expression_statement ::= ';' - */ - public void consumeStatementNull() { - IASTNullStatement stat = nodeFactory.newNullStatement(); - setOffsetAndLength(stat); - astStack.push(stat); - } - - /** - * expression_statement ::= expression ';' - */ - public void consumeStatementExpression() { - IASTExpression expr = (IASTExpression) astStack.pop(); - IASTExpressionStatement stat = nodeFactory.newExpressionStatement(expr); - setOffsetAndLength(stat); - astStack.push(stat); - } - - /** - * compound_statement ::= '{' block_item_list '}' - * - * block_item_list ::= block_item | block_item_list block_item - */ - public void consumeStatementCompoundStatement(boolean hasStatementsInBody) { - IASTCompoundStatement block = nodeFactory.newCompoundStatement(); - - if (hasStatementsInBody) { - for (Object o : astStack.closeScope()) { - block.addStatement((IASTStatement) o); - } - } - - setOffsetAndLength(block); - astStack.push(block); - } - - /** - * iteration_statement_matched - * ::= 'do' statement 'while' '(' expression ')' ';' - * | 'do' statement - */ - public void consumeStatementDoLoop(boolean hasWhileBlock) { - IASTExpression condition = hasWhileBlock ? (IASTExpression) astStack.pop() : null; - IASTStatement body = (IASTStatement) astStack.pop(); - IASTDoStatement stat = nodeFactory.newDoStatement(body, condition); - setOffsetAndLength(stat); - astStack.push(stat); - } - - /** - * jump_statement ::= goto goto_identifier ';' - */ - public void consumeStatementGoto() { - IASTName name = createName(stream.getRuleTokens().get(1)); - IASTGotoStatement gotoStat = nodeFactory.newGotoStatement(name); - setOffsetAndLength(gotoStat); - astStack.push(gotoStat); - } - - /** - * jump_statement ::= continue ';' - */ - public void consumeStatementContinue() { - IASTContinueStatement stat = nodeFactory.newContinueStatement(); - setOffsetAndLength(stat); - astStack.push(stat); - } - - /** - * jump_statement ::= break ';' - */ - public void consumeStatementBreak() { - IASTBreakStatement stat = nodeFactory.newBreakStatement(); - setOffsetAndLength(stat); - astStack.push(stat); - } - - /** - * jump_statement ::= return ';' - * jump_statement ::= return expression ';' - */ - public void consumeStatementReturn(boolean hasExpr) { - IASTExpression expr = hasExpr ? (IASTExpression) astStack.pop() : null; - IASTReturnStatement returnStat = nodeFactory.newReturnStatement(expr); - setOffsetAndLength(returnStat); - astStack.push(returnStat); - } - - /** - * type_name ::= specifier_qualifier_list - * | specifier_qualifier_list abstract_declarator - */ - public void consumeTypeId(boolean hasDeclarator) { - IASTDeclarator declarator; - if (hasDeclarator) - declarator = (IASTDeclarator) astStack.pop(); - else { - declarator = nodeFactory.newDeclarator(nodeFactory.newName()); - ParserUtil.setOffsetAndLength(declarator, stream.getRightIToken().getEndOffset(), 0); - } - - IASTDeclSpecifier declSpecifier = (IASTDeclSpecifier) astStack.pop(); - IASTTypeId typeId = nodeFactory.newTypeId(declSpecifier, declarator); - setOffsetAndLength(typeId); - astStack.push(typeId); - } - - /** - * declarator - * ::= ptr_operator_seq direct_declarator - * - * abstract_declarator - * ::= ptr_operator_seq - * | ptr_operator_seq direct_declarator - */ - public void consumeDeclaratorWithPointer(boolean hasDeclarator) { - IASTDeclarator decl; - if (hasDeclarator) - decl = (IASTDeclarator) astStack.pop(); - else - decl = nodeFactory.newDeclarator(nodeFactory.newName()); - - for (Object pointer : astStack.closeScope()) - decl.addPointerOperator((IASTPointerOperator) pointer); - - setOffsetAndLength(decl); - astStack.push(decl); - } - - /** - * init_declarator - * ::= declarator initializer - * - * @param hasDeclarator in C++ its possible for a parameter declaration to specifiy - * a default value without also specifying a named declarator - */ - public void consumeDeclaratorWithInitializer(boolean hasDeclarator) { - IASTInitializer initializer = (IASTInitializer) astStack.pop(); - - IASTDeclarator declarator; - if (hasDeclarator) { - declarator = (IASTDeclarator) astStack.peek(); - } else { - IASTName emptyName = nodeFactory.newName(); - declarator = nodeFactory.newDeclarator(emptyName); - setOffsetAndLength(emptyName); - astStack.push(declarator); - } - - declarator.setInitializer(initializer); - setOffsetAndLength(declarator); // adjust the length to include the initializer - } - - /** - * asm_definition - * ::= 'asm' '(' 'stringlit' ')' ';' - */ - public void consumeDeclarationASM() { - String s = stream.getRuleTokens().get(2).toString(); - IASTASMDeclaration asm = nodeFactory.newASMDeclaration(s); - - setOffsetAndLength(asm); - astStack.push(asm); - } - - /** - * parameter_declaration ::= declaration_specifiers declarator - * | declaration_specifiers abstract_declarator - */ - public void consumeParameterDeclaration() { - IASTDeclarator declarator = (IASTDeclarator) astStack.pop(); - IASTDeclSpecifier declSpec = (IASTDeclSpecifier) astStack.pop(); - IASTParameterDeclaration declaration = nodeFactory.newParameterDeclaration(declSpec, declarator); - setOffsetAndLength(declaration); - astStack.push(declaration); - } - - /** - * parameter_declaration ::= declaration_specifiers - */ - public void consumeParameterDeclarationWithoutDeclarator() { - // offsets need to be calculated differently in this case - final int endOffset = stream.getRightIToken().getEndOffset(); - - IASTName name = nodeFactory.newName(); - ParserUtil.setOffsetAndLength(name, endOffset, 0); - - // it appears that a declarator is always required in the AST here - IASTDeclarator declarator = nodeFactory.newDeclarator(name); - ParserUtil.setOffsetAndLength(declarator, endOffset, 0); - - IASTDeclSpecifier declSpec = (IASTDeclSpecifier) astStack.pop(); - IASTParameterDeclaration declaration = nodeFactory.newParameterDeclaration(declSpec, declarator); - - setOffsetAndLength(declaration); - astStack.push(declaration); - } - - /** - * TODO: do I really want to share declaration rules between the two parsers. - * Even if there is potential for reuse it still may be cleaner to leave the - * common stuff to just simple expressions and statements. - * - * For C99: - * - * declaration ::= declaration_specifiers init_declarator_list ';' - * declaration ::= declaration_specifiers ';' - * - * - * For C++: - * - * simple_declaration - * ::= declaration_specifiers_opt init_declarator_list_opt ';' - * - * - * TODO Make both grammars the same here. - */ - // public void consumeDeclarationSimple(boolean hasDeclaratorList) { - // if(TRACE_ACTIONS) DebugUtil.printMethodTrace(); - // - // List declarators = (hasDeclaratorList) ? astStack.closeScope() : Collections.emptyList(); - // IASTDeclSpecifier declSpecifier = (IASTDeclSpecifier) astStack.pop(); // may be null - // - // // do not generate nodes for extra EOC tokens - // if(matchTokens(parser.getRuleTokens(), CPPParsersym.TK_EndOfCompletion)) - // return; - // - // if(declSpecifier == null) { // can happen if implicit int is used - // declSpecifier = nodeFactory.newSimpleDeclSpecifier(); - // setOffsetAndLength(declSpecifier, parser.getLeftIToken().getStartOffset(), 0); - // } - // - // IASTSimpleDeclaration declaration = nodeFactory.newSimpleDeclaration(declSpecifier); - // - // for(Object declarator : declarators) - // declaration.addDeclarator((IASTDeclarator)declarator); - // - // setOffsetAndLength(declaration); - // astStack.push(declaration); - // - // if(TRACE_AST_STACK) System.out.println(astStack); - // } - - /** - * direct_declarator ::= '(' declarator ')' - */ - public void consumeDirectDeclaratorBracketed() { - IASTDeclarator nested = (IASTDeclarator) astStack.pop(); - IASTDeclarator declarator = nodeFactory.newDeclarator(nodeFactory.newName()); - declarator.setNestedDeclarator(nested); - setOffsetAndLength(declarator); - astStack.push(declarator); - } - - /** - * direct_declarator ::= declarator_id_name - */ - public void consumeDirectDeclaratorIdentifier() { - IASTName name = (IASTName) astStack.pop(); - IASTDeclarator declarator = nodeFactory.newDeclarator(name); - setOffsetAndLength(declarator); - astStack.push(declarator); - } - - /** - * array_modifier - * ::= '[' ']' - * | '[' assignment_expression ']' - */ - public void consumeDirectDeclaratorArrayModifier(boolean hasAssignmentExpr) { - IASTExpression expr = hasAssignmentExpr ? (IASTExpression) astStack.pop() : null; - IASTArrayModifier arrayModifier = nodeFactory.newArrayModifier(expr); - setOffsetAndLength(arrayModifier); - astStack.push(arrayModifier); - } - - /** - * When the identifier part of a declarator is parsed it will put a plain IASTDeclarator on the stack. - * When the array modifier part is parsed we will need to throw away the plain - * declarator and replace it with an array declarator. If its a multidimensional array then - * the additional array modifiers will need to be added to the array declarator. - * Special care is taken for nested declarators. - */ - protected void addArrayModifier(IASTArrayModifier arrayModifier) { - IASTDeclarator node = (IASTDeclarator) astStack.pop(); - - // Its a nested declarator so create an new ArrayDeclarator - if (node.getNestedDeclarator() != null) { //node.getPropertyInParent() == IASTDeclarator.NESTED_DECLARATOR) { - IASTArrayDeclarator declarator = nodeFactory.newArrayDeclarator(nodeFactory.newName()); - IASTDeclarator nested = node; - declarator.setNestedDeclarator(nested); - - int offset = offset(nested); - int length = endOffset(arrayModifier) - offset; - ParserUtil.setOffsetAndLength(declarator, offset, length); - - declarator.addArrayModifier(arrayModifier); - astStack.push(declarator); - } - // There is already an array declarator so just add the modifier to it - else if (node instanceof IASTArrayDeclarator) { - IASTArrayDeclarator decl = (IASTArrayDeclarator) node; - ((ASTNode) decl).setLength(endOffset(arrayModifier) - offset(decl)); - - decl.addArrayModifier(arrayModifier); - astStack.push(decl); - } - // The declarator is an identifier so create a new array declarator - else { - IASTName name = node.getName(); - IASTArrayDeclarator decl = nodeFactory.newArrayDeclarator(name); - - int offset = offset(name); - int length = endOffset(arrayModifier) - offset; - ParserUtil.setOffsetAndLength(decl, offset, length); - - decl.addArrayModifier(arrayModifier); - astStack.push(decl); - } - } - - /** - * Pops a simple declarator from the stack, converts it into - * a FunctionDeclator, then pushes it. - * TODO: is this the best way of doing this? - * TODO, rename this method, its an accidental overload - */ - protected void addFunctionModifier(IASTFunctionDeclarator declarator, int endOffset) { - IASTDeclarator decl = (IASTDeclarator) astStack.pop(); - - if (decl.getNestedDeclarator() != null) { - decl = decl.getNestedDeclarator(); // need to remove one level of nesting for function pointers - declarator.setNestedDeclarator(decl); - declarator.setName(nodeFactory.newName()); - int offset = offset(decl); - ParserUtil.setOffsetAndLength(declarator, offset, endOffset - offset); - astStack.push(declarator); - } else { - IASTName name = decl.getName(); - if (name == null) { - name = nodeFactory.newName(); - } - declarator.setName(name); - - IASTPointerOperator[] pointers = decl.getPointerOperators(); - for (IASTPointerOperator pointer : pointers) { - declarator.addPointerOperator(pointer); - } - - int offset = offset(name); // TODO - ParserUtil.setOffsetAndLength(declarator, offset, endOffset - offset); - astStack.push(declarator); - } - } - - // TODO why is this here - // /** - // * direct_declarator ::= direct_declarator array_modifier - // * consume the direct_declarator part and add the array modifier - // */ - // public void consumeDirectDeclaratorArrayDeclarator() { - // if(TRACE_ACTIONS) DebugUtil.printMethodTrace(); - // - // IASTArrayModifier arrayModifier = (IASTArrayModifier) astStack.pop(); - // addArrayModifier(arrayModifier); - // } - - /** - * direct_abstract_declarator - * ::= array_modifier - * | direct_abstract_declarator array_modifier - */ - public void consumeDirectDeclaratorArrayDeclarator(boolean hasDeclarator) { - IASTArrayModifier arrayModifier = (IASTArrayModifier) astStack.pop(); - - if (hasDeclarator) { - addArrayModifier(arrayModifier); - } else { - IASTArrayDeclarator decl = nodeFactory.newArrayDeclarator(nodeFactory.newName()); - decl.addArrayModifier(arrayModifier); - setOffsetAndLength(decl); - astStack.push(decl); - } - } - - /** - * enum_specifier ::= 'enum' '{' enumerator_list_opt '}' - * | 'enum' enum_identifier '{' enumerator_list_opt '}' - */ - public void consumeTypeSpecifierEnumeration(boolean hasIdent) { - IASTName name = (hasIdent) ? createName(stream.getRuleTokens().get(1)) : nodeFactory.newName(); - - IASTEnumerationSpecifier enumSpec = nodeFactory.newEnumerationSpecifier(name); - - for (Object o : astStack.closeScope()) - enumSpec.addEnumerator((IASTEnumerator) o); - - setOffsetAndLength(enumSpec); - astStack.push(enumSpec); - } - - /** - * enumerator ::= enum_identifier - * | enum_identifier '=' constant_expression - */ - public void consumeEnumerator(boolean hasInitializer) { - IASTName name = createName(stream.getLeftIToken()); - - IASTExpression value = null; - if (hasInitializer) - value = (IASTExpression) astStack.pop(); - - IASTEnumerator enumerator = nodeFactory.newEnumerator(name, value); - setOffsetAndLength(enumerator); - astStack.push(enumerator); - } - - private int initializerListNestingLevel = 0; - - public void initializerListStart() { - initializerListNestingLevel++; - } - - public void initializerListEnd() { - initializerListNestingLevel--; - } - - /** - * initializer ::= assignment_expression - */ - public void consumeInitializer() { - //CDT_70_FIX_FROM_50-#4 - IASTInitializerClause initClause = (IASTInitializerClause) astStack.pop(); - if (initClause instanceof IASTExpression) { - if (discardInitializer((IASTExpression) initClause)) { - astStack.push(null); - return; - } - } - //CDT_70_FIX_FROM_50-#2 - //IASTInitializerExpression initializer = nodeFactory.newInitializerExpression(expr); - IASTEqualsInitializer initializer = nodeFactory.newEqualsInitializer(initClause); - setOffsetAndLength(initializer); - astStack.push(initializer); - } - - private boolean discardInitializer(IASTExpression expression) { - return initializerListNestingLevel > 0 - && Boolean.parseBoolean( - properties.get(LRParserProperties.SKIP_TRIVIAL_EXPRESSIONS_IN_AGGREGATE_INITIALIZERS)) - && !ASTQueries.canContainName(expression); - } - - /** - * initializer ::= '{' initializer_list '}' - * | '{' initializer_list ',' '}' - */ - public void consumeInitializerList() { - IASTInitializerList list = nodeFactory.newInitializerList(); - - for (Object o : astStack.closeScope()) - list.addInitializer((IASTInitializer) o); - - setOffsetAndLength(list); - astStack.push(list); - } - - /** - * struct_declarator - * ::= ':' constant_expression - * | declarator ':' constant_expression - */ - public void consumeBitField(boolean hasDeclarator) { - IASTExpression expr = (IASTExpression) astStack.pop(); - - IASTName name; - if (hasDeclarator) // it should have been parsed into a regular declarator - name = ((IASTDeclarator) astStack.pop()).getName(); - else - name = nodeFactory.newName(); - - IASTFieldDeclarator fieldDecl = nodeFactory.newFieldDeclarator(name, expr); - setOffsetAndLength(fieldDecl); - astStack.push(fieldDecl); - } - - /** - * statement ::= ERROR_TOKEN - */ - public void consumeStatementProblem() { - consumeProblem(nodeFactory.newProblemStatement(null)); - } - - /** - * assignment_expression ::= ERROR_TOKEN - * constant_expression ::= ERROR_TOKEN - */ - public void consumeExpressionProblem() { - consumeProblem(nodeFactory.newProblemExpression(null)); - } - - /** - * external_declaration ::= ERROR_TOKEN - */ - public void consumeDeclarationProblem() { - consumeProblem(nodeFactory.newProblemDeclaration(null)); - } - - private void consumeProblem(IASTProblemHolder problemHolder) { - IASTProblem problem = nodeFactory.newProblem(IProblem.SYNTAX_ERROR, new char[0], true); - problemHolder.setProblem(problem); - setOffsetAndLength(problem); - setOffsetAndLength((ASTNode) problemHolder); - astStack.push(problemHolder); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ISecondaryParserFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ISecondaryParserFactory.java deleted file mode 100644 index 1a4b03fb744..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ISecondaryParserFactory.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.action; - -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; - -/** - * Some ambiguities are resolved by spawning a secondary parser - * to re-parse a sequence of tokens using a modified grammar. - * This factory is used to create these secondary parsers. - * - * @author Mike Kucera - */ -public interface ISecondaryParserFactory { - - /** - * Get the parser that will recognize expressions. - */ - ISecondaryParser getExpressionParser(ITokenStream stream, Map properties); - - /** - * Expression parser that does not recognize cast expressions, - * used to disambiguate casts. - */ - ISecondaryParser getNoCastExpressionParser(ITokenStream stream, Map properties); - - /** - * Expression parser that treats all sizeof and typeid expressions - * as unary expressions. - */ - ISecondaryParser getSizeofExpressionParser(ITokenStream stream, Map properties); - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ITokenMap.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ITokenMap.java deleted file mode 100644 index 400dbf281ff..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ITokenMap.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2008 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.action; - -/** - * Maps tokens defined in parser extensions back to the token kinds - * defined in the lr parsers. - * - * - * @author Mike Kucera - */ -public interface ITokenMap { - - /** - * Maps the given token kind back to the same token kind defined in C99Parsersym. - */ - int mapKind(int kind); - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ITokenStream.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ITokenStream.java deleted file mode 100644 index a1f6933512b..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ITokenStream.java +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.action; - -import java.util.List; - -import lpg.lpgjavaruntime.IToken; - -/** - * Provides an interface to the token stream that - * can be used by the parser semantic actions. - * - * Allows the semantic actions to directly inspect the token - * stream. Used to calculate AST node offsets and for - * other purposes. - * - * TODO There are still issues with getLeftIToken() and - * getRightIToken(), they should return null when used with - * an empty rule but currently they don't. - * - * @author Mike Kucera - */ -public interface ITokenStream { - - /** - * Returns the tokens that were parsed to recognized - * the currently executing rule. - * - * @returns a read-only list of tokens, will not be null but may be empty - */ - public List getRuleTokens(); - - /** - * Usually equivalent to getRuleTokens().get(0); but more efficient. - * - * However, when called during an empty rule it will return the token to the - * left of the location of the empty rule. - */ - public IToken getLeftIToken(); - - /** - * Usually equivalent to getRuleTokens().get(getRuleTokens().size()-1); but more efficient. - * - * However, when called during an empty rule it will return the token to the - * right of the location of the empty rule. - */ - public IToken getRightIToken(); - - /** - * Returns the orderedTerminalSymbol field of the corresponding sym class - * generated by LPG. - */ - public String[] getOrderedTerminalSymbols(); - - /** - * Returns the parser's name, useful for debugging. - */ - public String getName(); -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ParserUtil.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ParserUtil.java deleted file mode 100644 index 8c347d47c56..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ParserUtil.java +++ /dev/null @@ -1,107 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.action; - -import java.util.Arrays; -import java.util.List; - -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.ast.IASTNode; -import org.eclipse.cdt.internal.core.dom.parser.ASTNode; - -import lpg.lpgjavaruntime.IToken; - -@SuppressWarnings("restriction") -public final class ParserUtil { - - private ParserUtil() { - } - - public static int offset(IToken token) { - return token.getStartOffset(); - } - - public static int offset(IASTNode node) { - return ((ASTNode) node).getOffset(); - } - - public static int length(IToken token) { - return endOffset(token) - offset(token); - } - - public static int length(IASTNode node) { - return ((ASTNode) node).getLength(); - } - - public static int endOffset(IASTNode node) { - return offset(node) + length(node); - } - - public static int endOffset(IToken token) { - return token.getEndOffset(); - } - - public static void setOffsetAndLength(IASTNode node, IToken token) { - ((ASTNode) node).setOffsetAndLength(offset(token), length(token)); - } - - public static void setOffsetAndLength(IASTNode node, int offset, int length) { - ((ASTNode) node).setOffsetAndLength(offset, length); - } - - public static void setOffsetAndLength(IASTNode node, IASTNode from) { - setOffsetAndLength(node, offset(from), length(from)); - } - - public static boolean isSameName(IASTName name1, IASTName name2) { - return Arrays.equals(name1.getLookupKey(), name2.getLookupKey()); - } - - /** - * Allows simple pattern match testing of lists of tokens. - * - * @throws NullPointerException if source or pattern is null - */ - public static boolean matchTokens(List source, ITokenMap tokenMap, Integer... pattern) { - if (source.size() != pattern.length) // throws NPE if either parameter is null - return false; - - for (int i = 0, n = pattern.length; i < n; i++) { - if (tokenMap.mapKind(source.get(i).getKind()) != pattern[i].intValue()) - return false; - } - return true; - } - - /** - * Finds the tokens in the given list that are between startOffset and endOffset. - * Note, the offsets have to be exact. - */ - public static List tokenOffsetSubList(List tokens, int startOffset, int endOffset) { - int first = 0, last = 0; - int i = 0; - for (IToken t : tokens) { - if (offset(t) == startOffset) { - first = i; - } - if (endOffset(t) == endOffset) { - last = i; - break; - } - i++; - } - return tokens.subList(first, last + 1); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ScopedStack.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ScopedStack.java deleted file mode 100644 index 77078b613d9..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ScopedStack.java +++ /dev/null @@ -1,206 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.core.dom.lrparser.action; - -import static org.eclipse.cdt.core.parser.util.CollectionUtils.reverseIterable; - -import java.util.Collection; -import java.util.LinkedList; -import java.util.List; -import java.util.NoSuchElementException; - -/** - * A stack that can be "marked", that is the stack can be divided - * into chunks that can be conveniently processed. There is always at - * least one open scope. - * - * - * This stack was designed to be used to store AST nodes while - * the AST is built during the parse, however it is useful for other - * purposes as well. - * - * Some grammar rules have arbitrary length lists on the right side. - * For example the rule for compound statements (where block_item_list is any - * number of statements or declarations): - * - * compound-statement ::= '{' block_item_list '}' - * - * There is a problem when trying to build the AST node for the compound statement... - * you don't know how many block_items are contained in the compound statement, so - * you don't know how many times to pop the AST stack. - * - * One inelegant solution is to count the block-items as they are parsed. This - * is inelegant because nested compound-statements are allowed so you would - * have to maintain several counts at the same time. - * - * Another solution would be to build the list of block-items as part of the - * block_item_list rule, but just using this stack is simpler. - * - * This class can be used as an AST stack that is implemented as a stack of "AST Scopes". - * There is a special grammar rule that creates a new AST Scope. - * So, in order to consume all the block_items, all that has to be done is - * iterate over the topmost scope and then close it when done. - * - * - * @author Mike Kucera - */ -public class ScopedStack { - - private LinkedList topScope; - - // A stack of stacks, used to implement scoping - private final LinkedList> scopeStack; - - /** - * Creates a new ScopedStack with the first scope already open. - */ - public ScopedStack() { - topScope = new LinkedList<>(); - scopeStack = new LinkedList<>(); - } - - /** - * Opens a new scope. - */ - public void openScope() { - scopeStack.add(topScope); - topScope = new LinkedList<>(); - } - - /** - * Opens a scope then pushes all the items in the given list. - * - * @throws NullPointerException if items is null - */ - public void openScope(Collection items) { - openScope(); - for (T item : items) - push(item); - } - - /** - * Marks the stack then pushes all the items in the given array. - * - * @throws NullPointerException if items is null - */ - public void openScope(T[] items) { - // looks the same as above but compiles into different bytecode - openScope(); - for (T item : items) - push(item); - } - - /** - * Pops all the items in the topmost scope. - * The outermost scope cannot be closed. - * - * @throws NoSuchElementException If the outermost scope is closed. - */ - public List closeScope() { - if (scopeStack.isEmpty()) - throw new NoSuchElementException("cannot close outermost scope"); //$NON-NLS-1$ - - List top = topScope; - topScope = scopeStack.removeLast(); - return top; - } - - /** - * Pushes an item onto the topmost scope. - */ - public void push(T o) { - topScope.add(o); - } - - /** - * @throws NoSuchElementException if the topmost scope is empty - */ - public T pop() { - return topScope.removeLast(); - } - - /** - * @throws NoSuchElementException if the topmost scope is empty - */ - public T peek() { - return topScope.getLast(); - } - - /** - * Returns the entire top scope as a List. - */ - public List topScope() { - return topScope; - } - - /** - * Returns the next outermost scope. - * @throws NoSuchElementException if size() < 2 - */ - public List outerScope() { - return scopeStack.getLast(); - } - - public boolean isEmpty() { - return topScope.isEmpty() && scopeStack.isEmpty(); - } - - /** - * Why oh why does java not have reverse iterators????? - */ - public void print() { - final String separator = "----------"; //$NON-NLS-1$ - System.out.println(); - System.out.println('-'); - - printScope(topScope); - System.out.println(separator); - - for (List list : reverseIterable(scopeStack)) { - printScope(list); - } - - System.out.println(); - } - - private void printScope(List scope) { - for (T t : reverseIterable(scope)) { - System.out.println(t); - } - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - for (List scope : scopeStack) - appendScopeContents(sb, scope); - appendScopeContents(sb, topScope); - return sb.toString(); - } - - private void appendScopeContents(StringBuilder sb, List scope) { - sb.append('['); - boolean first = true; - for (T t : scope) { - if (first) - first = false; - else - sb.append(','); - sb.append(t); - } - sb.append(']'); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/TokenMap.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/TokenMap.java deleted file mode 100644 index a63388091df..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/TokenMap.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.action; - -import java.util.HashMap; - -/** - * Maps token kinds from a sub-parser back to the corresponding - * token kinds in a base parser. - * - * @author Mike Kucera - */ -public class TokenMap implements ITokenMap { - - // LPG token kinds start at 0 - // the kind is not part of the base language parser - public static final int INVALID_KIND = -1; - - private final int[] kindMap; - - /** - * @param toSymbols An array of symbols where the index is the token kind and the - * element data is a string representing the token kind. It is expected - * to pass the orderedTerminalSymbols field from an LPG generated symbol - * file, for example C99Parsersym.orderedTerminalSymbols. - */ - public TokenMap(String[] toSymbols, String[] fromSymbols) { - // If this map is not being used with an extension then it becomes an "identity map". - if (toSymbols == fromSymbols) { - kindMap = null; - return; - } - - kindMap = new int[fromSymbols.length]; - - HashMap toMap = new HashMap<>(); - for (int i = 0, n = toSymbols.length; i < n; i++) { - toMap.put(toSymbols[i], i); - } - - for (int i = 0, n = fromSymbols.length; i < n; i++) { - Integer kind = toMap.get(fromSymbols[i]); - kindMap[i] = kind == null ? INVALID_KIND : kind; - } - } - - /** - * Maps a token kind back to the corresponding kind define in the base C99 parser. - */ - @Override - public int mapKind(int kind) { - if (kindMap == null) - return kind; - if (kind < 0 || kind >= kindMap.length) - return INVALID_KIND; - - return kindMap[kind]; - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder('('); - boolean first = true; - for (int i = 0, n = kindMap.length; i < n; i++) { - if (!first) - sb.append(", "); //$NON-NLS-1$ - sb.append(i).append('=').append(kindMap[i]); - first = false; - } - return sb.append(')').toString(); - } -} \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java deleted file mode 100644 index d4862fa2d5f..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java +++ /dev/null @@ -1,768 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.core.dom.lrparser.action.c99; - -import static org.eclipse.cdt.core.dom.lrparser.action.ParserUtil.endOffset; -import static org.eclipse.cdt.core.dom.lrparser.action.ParserUtil.length; -import static org.eclipse.cdt.core.dom.lrparser.action.ParserUtil.matchTokens; -import static org.eclipse.cdt.core.dom.lrparser.action.ParserUtil.offset; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_Completion; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_EndOfCompletion; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_LeftParen; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_SemiColon; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK__Bool; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK__Complex; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_auto; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_char; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_const; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_double; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_extern; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_float; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_for; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_identifier; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_inline; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_int; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_long; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_register; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_restrict; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_short; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_signed; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_static; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_struct; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_typedef; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_union; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_unsigned; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_void; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_volatile; - -import java.util.Collections; -import java.util.List; - -import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTCompoundStatement; -import org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTDeclarationStatement; -import org.eclipse.cdt.core.dom.ast.IASTDeclarator; -import org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTExpressionStatement; -import org.eclipse.cdt.core.dom.ast.IASTFieldReference; -import org.eclipse.cdt.core.dom.ast.IASTForStatement; -import org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator; -import org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition; -import org.eclipse.cdt.core.dom.ast.IASTIdExpression; -import org.eclipse.cdt.core.dom.ast.IASTIfStatement; -import org.eclipse.cdt.core.dom.ast.IASTInitializer; -import org.eclipse.cdt.core.dom.ast.IASTInitializerList; -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.ast.IASTNode; -import org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTPointer; -import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTStandardFunctionDeclarator; -import org.eclipse.cdt.core.dom.ast.IASTStatement; -import org.eclipse.cdt.core.dom.ast.IASTSwitchStatement; -import org.eclipse.cdt.core.dom.ast.IASTTypeId; -import org.eclipse.cdt.core.dom.ast.IASTWhileStatement; -import org.eclipse.cdt.core.dom.ast.c.ICASTArrayDesignator; -import org.eclipse.cdt.core.dom.ast.c.ICASTArrayModifier; -import org.eclipse.cdt.core.dom.ast.c.ICASTCompositeTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.c.ICASTDeclSpecifier; -import org.eclipse.cdt.core.dom.ast.c.ICASTDesignatedInitializer; -import org.eclipse.cdt.core.dom.ast.c.ICASTDesignator; -import org.eclipse.cdt.core.dom.ast.c.ICASTFieldDesignator; -import org.eclipse.cdt.core.dom.ast.c.ICASTPointer; -import org.eclipse.cdt.core.dom.ast.c.ICASTSimpleDeclSpecifier; -import org.eclipse.cdt.core.dom.ast.c.ICASTTypeIdInitializerExpression; -import org.eclipse.cdt.core.dom.ast.c.ICASTTypedefNameSpecifier; -import org.eclipse.cdt.core.dom.ast.c.ICNodeFactory; -import org.eclipse.cdt.core.dom.ast.gnu.c.ICASTKnRFunctionDeclarator; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.action.BuildASTParserAction; -import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ParserUtil; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.core.parser.util.CollectionUtils; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym; -import org.eclipse.cdt.internal.core.dom.parser.ASTNode; -import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguousExpression; -import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguousStatement; -import org.eclipse.cdt.internal.core.dom.parser.c.CASTAmbiguousExpression; -import org.eclipse.cdt.internal.core.dom.parser.c.CASTAmbiguousStatement; - -import lpg.lpgjavaruntime.IToken; - -/** - * Semantic actions called by the C99 parser to build an AST. - * - * @author Mike Kucera - */ -@SuppressWarnings("restriction") -public class C99BuildASTParserAction extends BuildASTParserAction { - - private final ITokenMap tokenMap; - - /** Used to create the AST node objects */ - protected final ICNodeFactory nodeFactory; - - private final ISecondaryParserFactory parserFactory; - - /** - * @param parser - * @param orderedTerminalSymbols When an instance of this class is created for a parser - * that parsers token kinds will be mapped back to the base C99 parser's token kinds. - */ - public C99BuildASTParserAction(ITokenStream parser, ScopedStack astStack, ICNodeFactory nodeFactory, - ISecondaryParserFactory parserFactory) { - super(parser, astStack, nodeFactory, parserFactory); - - this.nodeFactory = nodeFactory; - this.parserFactory = parserFactory; - this.tokenMap = new TokenMap(C99Parsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols()); - } - - private int baseKind(IToken token) { - return tokenMap.mapKind(token.getKind()); - } - - @Override - protected boolean isCompletionToken(IToken token) { - return baseKind(token) == TK_Completion; - } - - @Override - protected boolean isIdentifierToken(IToken token) { - return baseKind(token) == TK_identifier; - } - - @Override - protected IASTName createName(char[] image) { - return nodeFactory.newName(image); - } - - /******************************************************************** - * Start of semantic actions. - ********************************************************************/ - - /** - * postfix_expression ::= postfix_expression '.' ident - * postfix_expression ::= postfix_expression '->' ident - */ - public void consumeExpressionFieldReference(boolean isPointerDereference) { - IASTName name = createName(stream.getRightIToken()); - IASTExpression owner = (IASTExpression) astStack.pop(); - IASTFieldReference expr = nodeFactory.newFieldReference(name, owner); - expr.setIsPointerDereference(isPointerDereference); - setOffsetAndLength(expr); - astStack.push(expr); - } - - /** - * postfix_expression ::= '(' type_id ')' initializer_list - */ - public void consumeExpressionTypeIdInitializer() { - IASTInitializerList list = (IASTInitializerList) astStack.pop(); - IASTTypeId typeId = (IASTTypeId) astStack.pop(); - ICASTTypeIdInitializerExpression expr = nodeFactory.newTypeIdInitializerExpression(typeId, list); - setOffsetAndLength(expr); - astStack.push(expr); - } - - /** - * Applies a specifier to a decl spec node. - * - * In plain C99 specifiers are always just single tokens, but in language - * extensions specifiers may be more complex. Thats why this method takes - * Object as the type of the specifier, so that it may be overridden in subclasses - * and used with arbitrary objects as the specifier. - */ - public void setSpecifier(ICASTDeclSpecifier node, Object specifier) { - if (!(specifier instanceof IToken)) - return; - IToken token = (IToken) specifier; - - int kind = baseKind(token); - switch (kind) { - case TK_typedef: - node.setStorageClass(IASTDeclSpecifier.sc_typedef); - return; - case TK_extern: - node.setStorageClass(IASTDeclSpecifier.sc_extern); - return; - case TK_static: - node.setStorageClass(IASTDeclSpecifier.sc_static); - return; - case TK_auto: - node.setStorageClass(IASTDeclSpecifier.sc_auto); - return; - case TK_register: - node.setStorageClass(IASTDeclSpecifier.sc_register); - return; - case TK_inline: - node.setInline(true); - return; - case TK_const: - node.setConst(true); - return; - case TK_restrict: - node.setRestrict(true); - return; - case TK_volatile: - node.setVolatile(true); - return; - } - - if (node instanceof ICASTSimpleDeclSpecifier) { - ICASTSimpleDeclSpecifier n = (ICASTSimpleDeclSpecifier) node; - switch (kind) { - case TK_void: - n.setType(IASTSimpleDeclSpecifier.t_void); - break; - case TK_char: - n.setType(IASTSimpleDeclSpecifier.t_char); - break; - case TK__Bool: - n.setType(ICASTSimpleDeclSpecifier.t_Bool); - break; - case TK_int: - n.setType(IASTSimpleDeclSpecifier.t_int); - break; - case TK_float: - n.setType(IASTSimpleDeclSpecifier.t_float); - break; - case TK_double: - n.setType(IASTSimpleDeclSpecifier.t_double); - break; - case TK_signed: - n.setSigned(true); - break; - case TK_unsigned: - n.setUnsigned(true); - break; - case TK_short: - n.setShort(true); - break; - case TK__Complex: - n.setComplex(true); - break; - case TK_long: - boolean isLong = n.isLong(); - n.setLongLong(isLong); - n.setLong(!isLong); - break; - } - } - } - - /** - * type_qualifier ::= const | restrict | volatile - */ - private void collectArrayModifierTypeQualifiers(ICASTArrayModifier arrayModifier) { - for (Object o : astStack.closeScope()) { - switch (baseKind((IToken) o)) { - case TK_const: - arrayModifier.setConst(true); - break; - case TK_restrict: - arrayModifier.setRestrict(true); - break; - case TK_volatile: - arrayModifier.setVolatile(true); - break; - } - } - } - - /** - * array_modifier - * ::= '[' type_qualifier_list ']' - * | '[' type_qualifier_list assignment_expression ']' - * | '[' 'static' assignment_expression ']' - * | '[' 'static' type_qualifier_list assignment_expression ']' - * | '[' type_qualifier_list 'static' assignment_expression ']' - * | '[' '*' ']' - * | '[' type_qualifier_list '*' ']' - * - * The main reason to separate array_modifier into its own rule is to - * make calculating the offset and length much easier. - */ - public void consumeDirectDeclaratorModifiedArrayModifier(boolean isStatic, boolean isVarSized, - boolean hasTypeQualifierList, boolean hasAssignmentExpr) { - assert isStatic || isVarSized || hasTypeQualifierList; - - ICASTArrayModifier arrayModifier = nodeFactory.newArrayModifier(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) - collectArrayModifierTypeQualifiers(arrayModifier); - - setOffsetAndLength(arrayModifier); - astStack.push(arrayModifier); - } - - /** - * direct_declarator ::= direct_declarator '(' identifier_list ')' - */ - public void consumeDirectDeclaratorFunctionDeclaratorKnR() { - ICASTKnRFunctionDeclarator declarator = nodeFactory.newKnRFunctionDeclarator(null, null); - IASTName[] names = astStack.topScope().toArray(new IASTName[0]); - declarator.setParameterNames(names); - astStack.closeScope(); - int endOffset = endOffset(stream.getRightIToken()); - addFunctionModifier(declarator, endOffset); - } - - /** - * identifier_list - * ::= 'identifier' - * | identifier_list ',' 'identifier' - */ - public void consumeIdentifierKnR() { - IASTName name = createName(stream.getRightIToken()); - astStack.push(name); - } - - /** - * pointer ::= '*' - * | pointer '*' - */ - public void consumePointer() { - IASTPointer pointer = nodeFactory.newPointer(); - IToken star = stream.getRightIToken(); - ParserUtil.setOffsetAndLength(pointer, star); - astStack.push(pointer); - } - - /** - * pointer ::= '*' type_qualifier_list - * | pointer '*' type_qualifier_list - */ - public void consumePointerTypeQualifierList() { - ICASTPointer pointer = nodeFactory.newPointer(); - - for (Object o : astStack.closeScope()) { - IToken token = (IToken) o; - switch (baseKind(token)) { - default: - assert false; - case TK_const: - pointer.setConst(true); - break; - case TK_volatile: - pointer.setVolatile(true); - break; - case TK_restrict: - pointer.setRestrict(true); - break; - } - } - - setOffsetAndLength(pointer); - astStack.push(pointer); - } - - /** - * direct_abstract_declarator - * ::= '(' ')' - * | direct_abstract_declarator '(' ')' - * | '(' parameter_type_list ')' - * | direct_abstract_declarator '(' parameter_type_list ')' - */ - public void consumeDirectDeclaratorFunctionDeclarator(boolean hasDeclarator, boolean hasParameters) { - IASTName name = nodeFactory.newName(); - IASTStandardFunctionDeclarator declarator = nodeFactory.newFunctionDeclarator(name); - - if (hasParameters) { - boolean isVarArgs = astStack.pop() == PLACE_HOLDER; - declarator.setVarArgs(isVarArgs); - - for (Object param : astStack.closeScope()) - declarator.addParameterDeclaration((IASTParameterDeclaration) param); - } - - if (hasDeclarator) { - addFunctionModifier(declarator, endOffset(stream.getRightIToken())); - } else { - setOffsetAndLength(declarator); - astStack.push(declarator); - } - } - - /** - * designated_initializer ::= designation initializer - */ - public void consumeInitializerDesignated() { - IASTInitializer initializer = (IASTInitializer) astStack.pop(); - ICASTDesignatedInitializer result = nodeFactory.newDesignatedInitializer(initializer); - - for (Object o : astStack.closeScope()) - result.addDesignator((ICASTDesignator) o); - - setOffsetAndLength(result); - astStack.push(result); - } - - /** - * designator ::= '[' constant_expression ']' - */ - public void consumeDesignatorArray() { - IASTExpression expr = (IASTExpression) astStack.pop(); - ICASTArrayDesignator designator = nodeFactory.newArrayDesignator(expr); - setOffsetAndLength(designator); - astStack.push(designator); - } - - /** - * designator ::= '.' 'identifier' - */ - public void consumeDesignatorField() { - IASTName name = createName(stream.getRightIToken()); - ICASTFieldDesignator designator = nodeFactory.newFieldDesignator(name); - setOffsetAndLength(designator); - astStack.push(designator); - } - - /** - * declaration_specifiers ::= simple_declaration_specifiers - */ - public void consumeDeclarationSpecifiersSimple() { - ICASTSimpleDeclSpecifier declSpec = nodeFactory.newSimpleDeclSpecifier(); - - for (Object specifier : astStack.closeScope()) - setSpecifier(declSpec, specifier); - - setOffsetAndLength(declSpec); - astStack.push(declSpec); - } - - /** - * declaration_specifiers ::= struct_or_union_declaration_specifiers - * declaration_specifiers ::= enum_declaration_specifiers - */ - public void consumeDeclarationSpecifiersStructUnionEnum() { - List topScope = astStack.closeScope(); - ICASTDeclSpecifier declSpec = CollectionUtils.findFirstAndRemove(topScope, ICASTDeclSpecifier.class); - - // now apply the rest of the specifiers - for (Object specifier : topScope) - setSpecifier(declSpec, specifier); - - setOffsetAndLength(declSpec); - astStack.push(declSpec); - } - - /** - * declaration_specifiers ::= typdef_name_declaration_specifiers - */ - public void consumeDeclarationSpecifiersTypedefName() { - ICASTTypedefNameSpecifier declSpec = nodeFactory.newTypedefNameSpecifier(null); - - for (Object o : astStack.topScope()) { - if (o instanceof IToken) { - IToken token = (IToken) o; - // There is one identifier token on the stack - int kind = baseKind(token); - if (kind == TK_identifier || kind == TK_Completion) { - IASTName name = createName(token); - declSpec.setName(name); - } else { - setSpecifier(declSpec, token); - } - } - } - - astStack.closeScope(); - setOffsetAndLength(declSpec); - astStack.push(declSpec); - } - - /** - * declaration ::= declaration_specifiers init_declarator_list ';' - * declaration ::= declaration_specifiers ';' - */ - public void consumeDeclarationSimple(boolean hasDeclaratorList) { - List declarators = (hasDeclaratorList) ? astStack.closeScope() : Collections.emptyList(); - IASTDeclSpecifier declSpecifier = (IASTDeclSpecifier) astStack.pop(); - - List ruleTokens = stream.getRuleTokens(); - if (ruleTokens.size() == 1 && baseKind(ruleTokens.get(0)) == TK_EndOfCompletion) - return; // do not generate nodes for extra EOC tokens - - IASTSimpleDeclaration declaration = nodeFactory.newSimpleDeclaration(declSpecifier); - - for (Object declarator : declarators) - declaration.addDeclarator((IASTDeclarator) declarator); - - setOffsetAndLength(declaration); - astStack.push(declaration); - } - - /** - * external_declaration ::= ';' - * - * TODO: doesn't the declaration need a name? - */ - public void consumeDeclarationEmpty() { - // Don't generate declaration nodes for extra EOC tokens - if (baseKind(stream.getLeftIToken()) == C99Parsersym.TK_EndOfCompletion) - return; - - IASTDeclSpecifier declSpecifier = nodeFactory.newSimpleDeclSpecifier(); - IASTSimpleDeclaration declaration = nodeFactory.newSimpleDeclaration(declSpecifier); - setOffsetAndLength(declSpecifier); - setOffsetAndLength(declaration); - astStack.push(declaration); - } - - /** - * a declaration inside of a struct - * - * struct_declaration ::= specifier_qualifier_list struct_declarator_list ';' - * - * specifier_qualifier_list is a subset of declaration_specifiers, - * struct_declarators are declarators that are allowed inside a struct, - * a struct declarator is a regular declarator plus bit fields - */ - public void consumeStructDeclaration(boolean hasDeclaration) { - consumeDeclarationSimple(hasDeclaration); // TODO this is ok as long as bit fields implement IASTDeclarator (see consumeDeclaration()) - } - - /** - * struct_or_union_specifier - * ::= 'struct' '{' struct_declaration_list_opt '}' - * | 'union' '{' struct_declaration_list_opt '}' - * | 'struct' struct_or_union_identifier '{' struct_declaration_list_opt '}' - * | 'union' struct_or_union_identifier '{' struct_declaration_list_opt '}' - * - * @param key either k_struct or k_union from IASTCompositeTypeSpecifier - */ - public void consumeTypeSpecifierComposite(boolean hasName) { - - int key = 0; - switch (baseKind(stream.getLeftIToken())) { - case TK_struct: - key = IASTCompositeTypeSpecifier.k_struct; - case TK_union: - key = IASTCompositeTypeSpecifier.k_union; - } - - IASTName name = (hasName) ? createName(stream.getRuleTokens().get(1)) : nodeFactory.newName(); - - ICASTCompositeTypeSpecifier typeSpec = nodeFactory.newCompositeTypeSpecifier(key, name); - - for (Object o : astStack.closeScope()) - typeSpec.addMemberDeclaration((IASTDeclaration) o); - - setOffsetAndLength(typeSpec); - astStack.push(typeSpec); - } - - /** - * struct_or_union_specifier - * ::= 'struct' struct_or_union_identifier - * | 'union' struct_or_union_identifier - * - * enum_specifier ::= 'enum' enum_identifier - */ - public void consumeTypeSpecifierElaborated(int kind) { - IASTName name = createName(stream.getRuleTokens().get(1)); - IASTElaboratedTypeSpecifier typeSpec = nodeFactory.newElaboratedTypeSpecifier(kind, name); - setOffsetAndLength(typeSpec); - astStack.push(typeSpec); - } - - /** - * iteration_statement ::= 'while' '(' expression ')' statement - */ - public void consumeStatementWhileLoop() { - IASTStatement body = (IASTStatement) astStack.pop(); - IASTExpression condition = (IASTExpression) astStack.pop(); - IASTWhileStatement whileStatement = nodeFactory.newWhileStatement(condition, body); - setOffsetAndLength(whileStatement); - astStack.push(whileStatement); - } - - /** - * iteration_statement_matched - * ::= 'for' '(' expression_opt ';' expression_opt ';' expression_opt ')' statement - */ - public void consumeStatementForLoop() { - IASTStatement body = (IASTStatement) astStack.pop(); - // these two expressions may be null, see consumeExpressionOptional() - IASTExpression expr3 = (IASTExpression) astStack.pop(); - IASTExpression expr2 = (IASTExpression) astStack.pop(); - IASTNode node = (IASTNode) astStack.pop(); // may be an expression or a declaration - - IASTStatement initializer; - if (node instanceof IASTExpression) - initializer = nodeFactory.newExpressionStatement((IASTExpression) node); - else if (node instanceof IASTDeclaration) - initializer = nodeFactory.newDeclarationStatement((IASTDeclaration) node); - else // its null - initializer = nodeFactory.newNullStatement(); - - // bug 234463, fix for content assist to work in this case - int TK_EOC = TK_EndOfCompletion; // TODO: change this in the grammar file - List tokens = stream.getRuleTokens(); - if (matchTokens(tokens, tokenMap, TK_for, TK_LeftParen, TK_Completion, TK_EOC, TK_EOC, TK_EOC, TK_EOC)) { - IASTName name = createName(tokens.get(2)); - IASTIdExpression idExpression = nodeFactory.newIdExpression(name); - ParserUtil.setOffsetAndLength(idExpression, offset(name), length(name)); - initializer = nodeFactory.newExpressionStatement(idExpression); - ParserUtil.setOffsetAndLength(initializer, offset(name), length(name)); - } - - //initializer could be an expression or a declaration - int TK_SC = TK_SemiColon; - IASTExpressionStatement expressionStatement = null; - if (initializer instanceof IASTDeclarationStatement) { - IASTDeclarationStatement declarationStatement = (IASTDeclarationStatement) initializer; - List expressionTokens = stream.getRuleTokens(); - - //find the first semicolon - int end_pos = -1; - for (int i = 0, n = expressionTokens.size(); i < n; i++) { - if (tokenMap.mapKind(expressionTokens.get(i).getKind()) == TK_SC) { - end_pos = i; - break; - } - } - - if (end_pos != -1) { - expressionTokens = expressionTokens.subList(2, end_pos); - - ISecondaryParser expressionParser = parserFactory.getExpressionParser(stream, - properties); - IASTExpression expr1 = runSecondaryParser(expressionParser, expressionTokens); - - if (expr1 != null) { // the parse may fail - expressionStatement = nodeFactory.newExpressionStatement(expr1); - setOffsetAndLength(expressionStatement); - } - } - - if (expressionStatement == null) - initializer = declarationStatement; - else { - initializer = createAmbiguousStatement(expressionStatement, declarationStatement); - setOffsetAndLength(initializer); - } - } - - if (node != null) - ParserUtil.setOffsetAndLength(initializer, offset(node), length(node)); - - IASTForStatement forStat = nodeFactory.newForStatement(initializer, expr2, expr3, body); - setOffsetAndLength(forStat); - astStack.push(forStat); - } - - /** - * selection_statement ::= switch '(' expression ')' statement - */ - public void consumeStatementSwitch() { - IASTStatement body = (IASTStatement) astStack.pop(); - IASTExpression expr = (IASTExpression) astStack.pop(); - IASTSwitchStatement stat = nodeFactory.newSwitchStatement(expr, body); - setOffsetAndLength(stat); - astStack.push(stat); - } - - public void consumeStatementIf(boolean hasElse) { - IASTStatement elseClause = null; - if (hasElse) - elseClause = (IASTStatement) astStack.pop(); - - IASTStatement thenClause = (IASTStatement) astStack.pop(); - IASTExpression condition = (IASTExpression) astStack.pop(); - - IASTIfStatement ifStatement = nodeFactory.newIfStatement(condition, thenClause, elseClause); - setOffsetAndLength(ifStatement); - astStack.push(ifStatement); - } - - /** - * function_definition - * ::= declaration_specifiers declarator compound_statement - * | function_declarator compound_statement - * - * The seemingly pointless is just there to - * prevent a shift/reduce conflict in the grammar. - */ - public void consumeFunctionDefinition(boolean hasDeclSpecifiers) { - IASTCompoundStatement body = (IASTCompoundStatement) astStack.pop(); - IASTFunctionDeclarator decl = (IASTFunctionDeclarator) astStack.pop(); - astStack.closeScope(); - - IASTDeclSpecifier declSpecifier; - if (hasDeclSpecifiers) { - declSpecifier = (IASTDeclSpecifier) astStack.pop(); - } else { // there are no decl specifiers, implicit int - declSpecifier = nodeFactory.newSimpleDeclSpecifier(); - } - - IASTFunctionDefinition def = nodeFactory.newFunctionDefinition(declSpecifier, decl, body); - setOffsetAndLength(def); - astStack.push(def); - } - - /** - * function_definition - * ::= declaration_specifiers knr_function_declarator - * declaration_list compound_statement - */ - public void consumeFunctionDefinitionKnR() { - IASTCompoundStatement body = (IASTCompoundStatement) astStack.pop(); - - IASTDeclaration[] declarations = astStack.topScope().toArray(new IASTDeclaration[0]); - astStack.closeScope(); - - ICASTKnRFunctionDeclarator decl = (ICASTKnRFunctionDeclarator) astStack.pop(); - astStack.closeScope(); - - ICASTDeclSpecifier declSpecifier = (ICASTDeclSpecifier) astStack.pop(); - decl.setParameterDeclarations(declarations); - - // re-compute the length of the declaration to take the parameter declarations into account - ASTNode lastDeclaration = (ASTNode) declarations[declarations.length - 1]; - int endOffset = lastDeclaration.getOffset() + lastDeclaration.getLength(); - ((ASTNode) decl).setLength(endOffset - offset(decl)); - - IASTFunctionDefinition def = nodeFactory.newFunctionDefinition(declSpecifier, decl, body); - setOffsetAndLength(def); - astStack.push(def); - } - - @Override - protected IASTAmbiguousExpression createAmbiguousExpression(IASTExpression... expressions) { - return new CASTAmbiguousExpression(expressions); - } - - @Override - protected IASTAmbiguousStatement createAmbiguousStatement(IASTStatement... statements) { - return new CASTAmbiguousStatement(statements); - } -} \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99SecondaryParserFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99SecondaryParserFactory.java deleted file mode 100644 index cd2c43b13b9..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99SecondaryParserFactory.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.action.c99; - -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99ExpressionParser; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99NoCastExpressionParser; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99SizeofExpressionParser; - -public class C99SecondaryParserFactory implements ISecondaryParserFactory { - - public static final C99SecondaryParserFactory DEFAULT_INSTANCE = new C99SecondaryParserFactory(); - - public static C99SecondaryParserFactory getDefault() { - return DEFAULT_INSTANCE; - } - - @Override - public ISecondaryParser getExpressionParser(ITokenStream stream, Map properties) { - return new C99ExpressionParser(stream, properties); - } - - @Override - public ISecondaryParser getNoCastExpressionParser(ITokenStream stream, - Map properties) { - return new C99NoCastExpressionParser(stream, properties); - } - - @Override - public ISecondaryParser getSizeofExpressionParser(ITokenStream stream, - Map properties) { - return new C99SizeofExpressionParser(stream, properties); - } -} \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java deleted file mode 100644 index a2408001604..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java +++ /dev/null @@ -1,1908 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.action.cpp; - -import static org.eclipse.cdt.core.dom.lrparser.action.ParserUtil.endOffset; -import static org.eclipse.cdt.core.dom.lrparser.action.ParserUtil.length; -import static org.eclipse.cdt.core.dom.lrparser.action.ParserUtil.matchTokens; -import static org.eclipse.cdt.core.dom.lrparser.action.ParserUtil.offset; -import static org.eclipse.cdt.core.parser.util.CollectionUtils.findFirstAndRemove; -import static org.eclipse.cdt.core.parser.util.CollectionUtils.reverseIterable; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_ColonColon; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_Completion; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_EndOfCompletion; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_LeftBracket; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_LeftParen; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_RightBracket; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_RightParen; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_SemiColon; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_auto; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_bool; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_char; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_class; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_const; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_delete; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_double; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_enum; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_explicit; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_extern; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_float; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_for; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_friend; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_identifier; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_inline; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_int; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_long; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_mutable; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_new; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_private; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_protected; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_public; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_register; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_short; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_signed; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_static; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_struct; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_typedef; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_typename; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_union; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_unsigned; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_virtual; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_void; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_volatile; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_wchar_t; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; - -import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTCompoundStatement; -import org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTDeclarationStatement; -import org.eclipse.cdt.core.dom.ast.IASTDeclarator; -import org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTEqualsInitializer; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTExpressionList; -import org.eclipse.cdt.core.dom.ast.IASTExpressionStatement; -import org.eclipse.cdt.core.dom.ast.IASTForStatement; -import org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator; -import org.eclipse.cdt.core.dom.ast.IASTIdExpression; -import org.eclipse.cdt.core.dom.ast.IASTIfStatement; -import org.eclipse.cdt.core.dom.ast.IASTInitializerClause; -import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.ast.IASTNamedTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTNode; -import org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTPointer; -import org.eclipse.cdt.core.dom.ast.IASTPointerOperator; -import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTStatement; -import org.eclipse.cdt.core.dom.ast.IASTSwitchStatement; -import org.eclipse.cdt.core.dom.ast.IASTTypeId; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.ast.IASTWhileStatement; -import org.eclipse.cdt.core.dom.ast.IBasicType.Kind; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTAmbiguousTemplateArgument; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCatchHandler; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTConstructorChainInitializer; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTConstructorInitializer; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTConversionName; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTDeclSpecifier; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTDeleteExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTElaboratedTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTExplicitTemplateInstantiation; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTFieldReference; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTFunctionDeclarator; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTFunctionDefinition; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTFunctionWithTryBlock; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTLinkageSpecification; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNameSpecifier; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamedTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceAlias; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceDefinition; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNewExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTOperatorName; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTParameterDeclaration; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTPointerToMember; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTQualifiedName; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTReferenceOperator; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleDeclSpecifier; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleTypeConstructorExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleTypeTemplateParameter; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateId; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateSpecialization; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplatedTypeTemplateParameter; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTryBlockStatement; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTypenameExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUnaryExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUsingDeclaration; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUsingDirective; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTVisibilityLabel; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPNodeFactory; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.LPGTokenAdapter; -import org.eclipse.cdt.core.dom.lrparser.action.BuildASTParserAction; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ParserUtil; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym; -import org.eclipse.cdt.internal.core.dom.parser.ASTNode; -import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguityParent; -import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguousExpression; -import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguousStatement; -import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTAmbiguousDeclarator; -import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTAmbiguousExpression; -import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTAmbiguousStatement; -import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTAmbiguousTemplateArgument; -import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTConstructorInitializer; -import org.eclipse.cdt.internal.core.dom.parser.cpp.OverloadableOperator; - -import lpg.lpgjavaruntime.IToken; - -/** - * Semantic actions that build the AST during the parse. - * These are the actions that are specific to the C++ parser, the superclass - * contains actions that can be shared with the C99 parser. - * - * @author Mike Kucera - */ -@SuppressWarnings("restriction") -public class CPPBuildASTParserAction extends BuildASTParserAction { - - /** Allows code in this class to refer to the token kinds in CPPParsersym */ - private final ITokenMap tokenMap; - - /** Used to create the AST node objects */ - protected final ICPPNodeFactory nodeFactory; - - protected final ICPPSecondaryParserFactory parserFactory; - - /** Stack that provides easy access to the current class name, used to disambiguate declarators. */ - protected final LinkedList classNames = new LinkedList<>(); - - /** - * @param parser - * @param orderedTerminalSymbols When an instance of this class is created for a parser - * that parsers token kinds will be mapped back to the base C99 parser's token kinds. - */ - public CPPBuildASTParserAction(ITokenStream parser, ScopedStack astStack, ICPPNodeFactory nodeFactory, - ICPPSecondaryParserFactory parserFactory) { - super(parser, astStack, nodeFactory, parserFactory); - - this.nodeFactory = nodeFactory; - this.parserFactory = parserFactory; - this.tokenMap = new TokenMap(CPPParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols()); - } - - private int baseKind(IToken token) { - return tokenMap.mapKind(token.getKind()); - } - - @Override - protected boolean isCompletionToken(IToken token) { - return baseKind(token) == TK_Completion; - } - - @Override - protected boolean isIdentifierToken(IToken token) { - return baseKind(token) == TK_identifier; - } - - @Override - protected IASTName createName(char[] image) { - return nodeFactory.newName(image); - } - - public void consumeNewInitializer() { - IASTExpression expr; - if (astStack.peek() == null) { // if there is an empty set of parens - astStack.pop(); - expr = nodeFactory.newExpressionList(); - setOffsetAndLength(expr); - } else { - expr = (IASTExpression) astStack.pop(); // may be null - } - ICPPASTConstructorInitializer initializer = nodeFactory.newConstructorInitializer(expr); - setOffsetAndLength(initializer); - astStack.push(initializer); - } - - // TODO can the new_array_expressions be removed? it looks like they parse as part of the type id - /** - * new_expression - * ::= dcolon_opt 'new' new_placement_opt new_type_id new_array_expressions_op new_initializer_opt - * | dcolon_opt 'new' new_placement_opt '(' type_id ')' new_array_expressions_op new_initializer_opt - */ - public void consumeExpressionNew(boolean isNewTypeId) { - ICPPASTConstructorInitializer initializer = (ICPPASTConstructorInitializer) astStack.pop(); // may be null - List arrayExpressions = astStack.closeScope(); - IASTTypeId typeId = (IASTTypeId) astStack.pop(); - IASTExpression placement = (IASTExpression) astStack.pop(); // may be null - boolean hasDoubleColon = astStack.pop() != null; - - ICPPASTNewExpression newExpression = nodeFactory.newNewExpression(new IASTExpression[] { placement }, - initializer, typeId); - newExpression.setIsGlobal(hasDoubleColon); - newExpression.setIsNewTypeId(isNewTypeId); - setOffsetAndLength(newExpression); - - for (Object expr : arrayExpressions) - newExpression.addNewTypeIdArrayExpression((IASTExpression) expr); - - // handle ambiguities of the form: (A)(B) - if (!isNewTypeId && initializer == null && placement instanceof IASTIdExpression && typeId != null - && typeId.getDeclSpecifier() instanceof IASTNamedTypeSpecifier) { - - IASTName firstName = ((IASTIdExpression) placement).getName(); - IASTName secondName = ((IASTNamedTypeSpecifier) typeId.getDeclSpecifier()).getName(); - - IASTNamedTypeSpecifier newTypeSpecifier = nodeFactory.newTypedefNameSpecifier(firstName.copy()); - ParserUtil.setOffsetAndLength(newTypeSpecifier, firstName); - IASTDeclarator newDeclarator = nodeFactory.newDeclarator(nodeFactory.newName()); - ParserUtil.setOffsetAndLength(newDeclarator, endOffset(firstName), 0); - IASTTypeId newTypeId = nodeFactory.newTypeId(newTypeSpecifier, newDeclarator); - ParserUtil.setOffsetAndLength(newTypeId, firstName); - - IASTIdExpression newInitializer = nodeFactory.newIdExpression(secondName.copy()); - ParserUtil.setOffsetAndLength(newInitializer, secondName); - - ICPPASTNewExpression alternate = nodeFactory.newNewExpression(null, newInitializer, newTypeId); - ParserUtil.setOffsetAndLength(alternate, newExpression); - newExpression.setIsGlobal(hasDoubleColon); - newExpression.setIsNewTypeId(isNewTypeId); - - IASTAmbiguousExpression ambiguity = createAmbiguousExpression(newExpression, alternate); - astStack.push(ambiguity); - } else { - astStack.push(newExpression); - } - } - - /** - * new_declarator -- pointer operators are part of the type id, held in an empty declarator - * ::= new_pointer_operators - */ - public void consumeNewDeclarator() { - IASTName name = nodeFactory.newName(); - IASTDeclarator declarator = nodeFactory.newDeclarator(name); - - for (Object pointer : astStack.closeScope()) - declarator.addPointerOperator((IASTPointerOperator) pointer); - - setOffsetAndLength(declarator); - astStack.push(declarator); - } - - /** - * throw_expression - * ::= 'throw' - * | 'throw' assignment_expression - */ - public void consumeExpressionThrow(boolean hasExpr) { - IASTExpression operand = hasExpr ? (IASTExpression) astStack.pop() : null; - IASTUnaryExpression expr = nodeFactory.newUnaryExpression(ICPPASTUnaryExpression.op_throw, operand); - setOffsetAndLength(expr); - astStack.push(expr); - } - - /** - * delete_expression - * ::= dcolon_opt 'delete' cast_expression - * | dcolon_opt 'delete' '[' ']' cast_expression - * @param isVectorized - */ - public void consumeExpressionDelete(boolean isVectorized) { - IASTExpression operand = (IASTExpression) astStack.pop(); - boolean hasDoubleColon = astStack.pop() != null; - - ICPPASTDeleteExpression deleteExpr = nodeFactory.newDeleteExpression(operand); - deleteExpr.setIsGlobal(hasDoubleColon); - deleteExpr.setIsVectored(isVectorized); - - setOffsetAndLength(deleteExpr); - astStack.push(deleteExpr); - } - - /** - * - */ - public void consumeExpressionFieldReference(boolean isPointerDereference, boolean hasTemplateKeyword) { - IASTName name = (IASTName) astStack.pop(); - IASTExpression owner = (IASTExpression) astStack.pop(); - ICPPASTFieldReference expr = nodeFactory.newFieldReference(name, owner); - expr.setIsPointerDereference(isPointerDereference); - expr.setIsTemplate(hasTemplateKeyword); - - setOffsetAndLength(expr); - astStack.push(expr); - } - - /** - * postfix_expression - * ::= simple_type_specifier '(' expression_list_opt ')' - */ - public void consumeExpressionSimpleTypeConstructor() { - IASTExpression expression = (IASTExpression) astStack.pop(); - IToken token = (IToken) astStack.pop(); - ////CDT_70_FIX_FROM_50-#3 - //int type = asICPPASTSimpleTypeConstructorExpressionType(token); - ICPPASTConstructorInitializer init = null; - if (expression != null) { - init = new CPPASTConstructorInitializer(); - init.setExpression(expression); - - ((ASTNode) init).setOffsetAndLength(((ASTNode) expression).getOffset(), ((ASTNode) expression).getLength()); - } - ICPPASTDeclSpecifier declspec = transformIntoSimpleTypeSpecifier(token); - ICPPASTSimpleTypeConstructorExpression typeConstructor = nodeFactory - .newSimpleTypeConstructorExpression(declspec, init); - - setOffsetAndLength(typeConstructor); - astStack.push(typeConstructor); - } - - private int asICPPASTSimpleTypeConstructorExpressionType(IToken token) { - assert token != null; - - switch (baseKind(token)) { - case TK_char: - return ICPPASTSimpleTypeConstructorExpression.t_char; - case TK_wchar_t: - return ICPPASTSimpleTypeConstructorExpression.t_wchar_t; - case TK_bool: - return ICPPASTSimpleTypeConstructorExpression.t_bool; - case TK_short: - return ICPPASTSimpleTypeConstructorExpression.t_short; - case TK_int: - return ICPPASTSimpleTypeConstructorExpression.t_int; - case TK_long: - return ICPPASTSimpleTypeConstructorExpression.t_long; - case TK_signed: - return ICPPASTSimpleTypeConstructorExpression.t_signed; - case TK_unsigned: - return ICPPASTSimpleTypeConstructorExpression.t_unsigned; - case TK_float: - return ICPPASTSimpleTypeConstructorExpression.t_float; - case TK_double: - return ICPPASTSimpleTypeConstructorExpression.t_double; - case TK_void: - return ICPPASTSimpleTypeConstructorExpression.t_void; - - default: - assert false : "type parsed wrong"; //$NON-NLS-1$ - return ICPPASTSimpleTypeConstructorExpression.t_unspecified; - } - } - - private ICPPASTDeclSpecifier transformIntoSimpleTypeSpecifier(IToken token) { - ICPPASTSimpleDeclSpecifier declspec = nodeFactory.newSimpleDeclSpecifier(); - switch (baseKind(token)) { - case TK_char: - declspec.setType(Kind.eChar); - break; - case TK_wchar_t: - declspec.setType(Kind.eWChar); - break; - case TK_bool: - declspec.setType(Kind.eBoolean); - break; - case TK_short: - declspec.setShort(true); - break; - case TK_int: - declspec.setType(Kind.eInt); - break; - case TK_long: - declspec.setLong(true); - break; - case TK_signed: - declspec.setSigned(true); - break; - case TK_unsigned: - declspec.setUnsigned(true); - break; - case TK_float: - declspec.setType(Kind.eFloat); - break; - case TK_double: - declspec.setType(Kind.eDouble); - break; - case TK_void: - declspec.setType(Kind.eVoid); - break; - - default: - assert false : "type parsed wrong"; //$NON-NLS-1$ - declspec.setType(Kind.eUnspecified); - break; - } - ((ASTNode) declspec).setOffset(token.getStartOffset()); - int ruleLength = token.getEndOffset() - token.getStartOffset(); - ((ASTNode) declspec).setLength(ruleLength < 0 ? 0 : ruleLength); - - return declspec; - - } - - /** - * postfix_expression - * ::= 'typename' dcolon_opt nested_name_specifier identifier_name '(' expression_list_opt ')' - * | 'typename' dcolon_opt nested_name_specifier template_opt template_id '(' expression_list_opt ')' - */ - @SuppressWarnings("unchecked") - public void consumeExpressionTypeName() { - IASTExpression expr = (IASTExpression) astStack.pop(); - IASTName name = (IASTName) astStack.pop(); - boolean isTemplate = astStack.pop() == PLACE_HOLDER; - LinkedList nestedNames = (LinkedList) astStack.pop(); - IToken dColon = (IToken) astStack.pop(); - - nestedNames.addFirst(name); - - int startOffset = dColon == null ? offset(nestedNames.getLast()) : offset(dColon); - int endOffset = endOffset(name); - IASTName qualifiedName = createQualifiedName(nestedNames, startOffset, endOffset, dColon != null); - - ICPPASTTypenameExpression typenameExpr = nodeFactory.newTypenameExpression(qualifiedName, expr, isTemplate); - - setOffsetAndLength(typenameExpr); - astStack.push(typenameExpr); - } - - /** - * condition - * ::= type_specifier_seq declarator '=' assignment_expression - */ - public void consumeConditionDeclaration() { - IASTExpression expr = (IASTExpression) astStack.pop(); - IASTDeclarator declarator = (IASTDeclarator) astStack.pop(); - IASTDeclSpecifier declSpec = (IASTDeclSpecifier) astStack.pop(); - //CDT_70_FIX_FROM_50-#2 - //IASTInitializerExpression initializer = nodeFactory.newInitializerExpression(expr); - IASTEqualsInitializer initializer = nodeFactory.newEqualsInitializer(expr); - ParserUtil.setOffsetAndLength(initializer, offset(expr), length(expr)); - declarator.setInitializer(initializer); - - IASTSimpleDeclaration declaration = nodeFactory.newSimpleDeclaration(declSpec); - declaration.addDeclarator(declarator); - - setOffsetAndLength(declaration); - astStack.push(declaration); - } - - /** - * template_id - * ::= identifier_name '<' template_argument_list_opt '>' - * - * operator_function_id - * ::= operator_id '<' template_argument_list_opt '>' - */ - public void consumeTemplateId() { - List templateArguments = astStack.closeScope(); - IASTName name = (IASTName) astStack.pop(); - - ICPPASTTemplateId templateId = nodeFactory.newTemplateId(name); - - for (Object arg : templateArguments) { - if (arg instanceof IASTExpression) - templateId.addTemplateArgument((IASTExpression) arg); - else if (arg instanceof IASTTypeId) - templateId.addTemplateArgument((IASTTypeId) arg); - else if (arg instanceof ICPPASTAmbiguousTemplateArgument) - templateId.addTemplateArgument((ICPPASTAmbiguousTemplateArgument) arg); - } - - setOffsetAndLength(templateId); - astStack.push(templateId); - } - - /** - * Disambiguates template arguments. - */ - public void consumeTemplateArgumentTypeId() { - // TODO is this necessary? It should be able to tell if it looks like an id expression - ISecondaryParser secondaryParser = parserFactory.getExpressionParser(stream, properties); - IASTExpression result = runSecondaryParser(secondaryParser); - - // The grammar rule allows assignment_expression, but the ambiguity - // only arises with id_expressions. - if (!(result instanceof IASTIdExpression)) - return; - - IASTTypeId typeId = (IASTTypeId) astStack.pop(); - IASTIdExpression expr = (IASTIdExpression) result; - - ICPPASTAmbiguousTemplateArgument ambiguityNode = new CPPASTAmbiguousTemplateArgument(typeId, expr); - //setOffsetAndLength(ambiguityNode); - - astStack.push(ambiguityNode); - } - - /** - * Disambiguates template arguments. - * Qualified names parse as an expression, so generate the corresponding - * typeId and create an ambiguity node. - */ - public void consumeTemplateArgumentExpression() { - IASTExpression expr = (IASTExpression) astStack.peek(); - - if (expr instanceof IASTIdExpression) { - IASTName name = ((IASTIdExpression) expr).getName().copy(); - - IASTNamedTypeSpecifier declSpec = nodeFactory.newTypedefNameSpecifier(name); - ParserUtil.setOffsetAndLength(declSpec, name); - - IASTDeclarator declarator = nodeFactory.newDeclarator(nodeFactory.newName()); - ParserUtil.setOffsetAndLength(declarator, endOffset(declSpec), 0); - - IASTTypeId typeId = nodeFactory.newTypeId(declSpec, declarator); - setOffsetAndLength(typeId); - - ICPPASTAmbiguousTemplateArgument ambiguityNode = new CPPASTAmbiguousTemplateArgument(typeId, expr); - - astStack.pop(); - astStack.push(ambiguityNode); - } - } - - /** - * operator_id - * ::= 'operator' overloadable_operator - */ - public void consumeOperatorName() { - List tokens = stream.getRuleTokens(); - tokens = tokens.subList(1, tokens.size()); - OverloadableOperator operator = getOverloadableOperator(tokens); - - ICPPASTOperatorName name = nodeFactory.newOperatorName(operator.toCharArray()); - setOffsetAndLength(name); - astStack.push(name); - } - - private OverloadableOperator getOverloadableOperator(List tokens) { - if (tokens.size() == 1) { - // TODO this is a hack that I did to save time - LPGTokenAdapter coreToken = (LPGTokenAdapter) tokens.get(0); - return OverloadableOperator.valueOf(coreToken.getWrappedToken()); - } else if (matchTokens(tokens, tokenMap, TK_new, TK_LeftBracket, TK_RightBracket)) { - return OverloadableOperator.NEW_ARRAY; - } else if (matchTokens(tokens, tokenMap, TK_delete, TK_LeftBracket, TK_RightBracket)) { - return OverloadableOperator.DELETE_ARRAY; - } else if (matchTokens(tokens, tokenMap, TK_LeftBracket, TK_RightBracket)) { - return OverloadableOperator.BRACKET; - } else if (matchTokens(tokens, tokenMap, TK_LeftParen, TK_RightParen)) { - return OverloadableOperator.PAREN; - } - - return null; - } - - /** - * conversion_function_id - * ::= 'operator' conversion_type_id - */ - public void consumeConversionName() { - // Representation is computed by the conversion name itself, see bug 258054 - // String rep = createStringRepresentation(parser.getRuleTokens()); - // char[] chars = rep.toCharArray(); - - IASTTypeId typeId = (IASTTypeId) astStack.pop(); - ICPPASTConversionName name = nodeFactory.newConversionName(typeId); - setOffsetAndLength(name); - astStack.push(name); - } - - /** - * unqualified_id - * ::= '~' identifier_token - */ - public void consumeDestructorName() { - char[] chars = ("~" + stream.getRightIToken()).toCharArray(); //$NON-NLS-1$ - - IASTName name = nodeFactory.newName(chars); - setOffsetAndLength(name); - astStack.push(name); - } - - /** - * destructor_type_name - * ::= '~' template_id_name - */ - public void consumeDestructorNameTemplateId() { - ICPPASTTemplateId templateId = (ICPPASTTemplateId) astStack.peek(); - - IASTName oldName = templateId.getTemplateName(); - char[] newChars = ("~" + oldName).toCharArray(); //$NON-NLS-1$ - - IASTName newName = nodeFactory.newName(newChars); - - int offset = offset(stream.getLeftIToken()); - int length = offset - endOffset(oldName); - ParserUtil.setOffsetAndLength(newName, offset, length); - - templateId.setTemplateName(newName); - } - - /** - * qualified_id - * ::= '::' identifier_name - * | '::' operator_function_id - * | '::' template_id - */ - - public void consumeGlobalQualifiedId() { - IASTName name = (IASTName) astStack.pop(); - - ICPPASTQualifiedName qualifiedName = nodeFactory.newQualifiedName(); - qualifiedName.addName(name); - qualifiedName.setFullyQualified(true); - setOffsetAndLength(qualifiedName); - astStack.push(qualifiedName); - } - - /** - * selection_statement ::= switch '(' condition ')' statement - */ - public void consumeStatementSwitch() { - IASTStatement body = (IASTStatement) astStack.pop(); - - Object condition = astStack.pop(); - - IASTSwitchStatement stat; - if (condition instanceof IASTExpression) - stat = nodeFactory.newSwitchStatement((IASTExpression) condition, body); - else - stat = nodeFactory.newSwitchStatement((IASTDeclaration) condition, body); - - setOffsetAndLength(stat); - astStack.push(stat); - } - - public void consumeStatementIf(boolean hasElse) { - IASTStatement elseClause = hasElse ? (IASTStatement) astStack.pop() : null; - IASTStatement thenClause = (IASTStatement) astStack.pop(); - - Object condition = astStack.pop(); - - IASTIfStatement ifStatement; - if (condition instanceof IASTExpression) - ifStatement = nodeFactory.newIfStatement((IASTExpression) condition, thenClause, elseClause); - else - ifStatement = nodeFactory.newIfStatement((IASTDeclaration) condition, thenClause, elseClause); - - setOffsetAndLength(ifStatement); - astStack.push(ifStatement); - } - - /** - * iteration_statement ::= 'while' '(' condition ')' statement - */ - public void consumeStatementWhileLoop() { - IASTStatement body = (IASTStatement) astStack.pop(); - - Object condition = astStack.pop(); - - IASTWhileStatement whileStatement; - if (condition instanceof IASTExpression) - whileStatement = nodeFactory.newWhileStatement((IASTExpression) condition, body); - else - whileStatement = nodeFactory.newWhileStatement((IASTDeclaration) condition, body); - - setOffsetAndLength(whileStatement); - astStack.push(whileStatement); - } - - /** - */ - public void consumeStatementForLoop() { - IASTStatement body = (IASTStatement) astStack.pop(); - IASTExpression expr = (IASTExpression) astStack.pop(); - Object condition = astStack.pop(); // can be an expression or a declaration - IASTStatement initializer = (IASTStatement) astStack.pop(); - - // bug 234463, fix for content assist to work in this case - int TK_EOC = TK_EndOfCompletion; // TODO: change this in the grammar file - List tokens = stream.getRuleTokens(); - if (matchTokens(tokens, tokenMap, TK_for, TK_LeftParen, TK_Completion, TK_EOC, TK_EOC, TK_EOC, TK_EOC)) { - IASTName name = createName(tokens.get(2)); - IASTIdExpression idExpression = nodeFactory.newIdExpression(name); - ParserUtil.setOffsetAndLength(idExpression, offset(name), length(name)); - initializer = nodeFactory.newExpressionStatement(idExpression); - ParserUtil.setOffsetAndLength(initializer, offset(name), length(name)); - } - - int TK_SC = TK_SemiColon; - IASTExpressionStatement expressionStatement = null; - if (initializer instanceof IASTDeclarationStatement) { - IASTDeclarationStatement declarationStatement = (IASTDeclarationStatement) initializer; - List expressionTokens = stream.getRuleTokens(); - - //find the first semicolon - int end_pos = -1; - for (int i = 0, n = expressionTokens.size(); i < n; i++) { - if (tokenMap.mapKind(expressionTokens.get(i).getKind()) == TK_SC) { - end_pos = i; - break; - } - } - - if (end_pos != -1) { - expressionTokens = expressionTokens.subList(2, end_pos); - - ISecondaryParser expressionParser = parserFactory.getExpressionParser(stream, - properties); - IASTExpression expr1 = runSecondaryParser(expressionParser, expressionTokens); - - if (expr1 != null) { // the parse may fail - expressionStatement = nodeFactory.newExpressionStatement(expr1); - setOffsetAndLength(expressionStatement); - } - } - - if (expressionStatement == null) - initializer = declarationStatement; - else { - initializer = createAmbiguousStatement(declarationStatement, expressionStatement); - setOffsetAndLength(initializer); - } - } - - IASTForStatement forStat; - if (condition instanceof IASTExpression) - forStat = nodeFactory.newForStatement(initializer, (IASTExpression) condition, expr, body); - else // its a declaration or its null - forStat = nodeFactory.newForStatement(initializer, (IASTDeclaration) condition, expr, body); - - setOffsetAndLength(forStat); - astStack.push(forStat); - } - - /** - * try_block - * ::= 'try' compound_statement handler_seq - */ - public void consumeStatementTryBlock(boolean hasCatchBlock) { - List handlerSeq = hasCatchBlock ? astStack.closeScope() : Collections.emptyList(); - IASTStatement body = (IASTStatement) astStack.pop(); - - ICPPASTTryBlockStatement tryStatement = nodeFactory.newTryBlockStatement(body); - - for (Object handler : handlerSeq) - tryStatement.addCatchHandler((ICPPASTCatchHandler) handler); - - setOffsetAndLength(tryStatement); - astStack.push(tryStatement); - } - - /** - * handler - * ::= 'catch' '(' exception_declaration ')' compound_statement - * | 'catch' '(' '...' ')' compound_statement - */ - public void consumeStatementCatchHandler(boolean hasEllipsis) { - IASTStatement body = (IASTStatement) astStack.pop(); - IASTDeclaration decl = hasEllipsis ? null : (IASTDeclaration) astStack.pop(); - - ICPPASTCatchHandler catchHandler = nodeFactory.newCatchHandler(decl, body); - catchHandler.setIsCatchAll(hasEllipsis); - - setOffsetAndLength(catchHandler); - astStack.push(catchHandler); - } - - /** - * nested_name_specifier - * ::= class_or_namespace_name '::' nested_name_specifier_with_template - * | class_or_namespace_name '::' - * - * nested_name_specifier_with_template - * ::= class_or_namespace_name_with_template '::' nested_name_specifier_with_template - * | class_or_namespace_name_with_template '::' - * - * - * Creates and updates a list of the nested names on the stack. - * Important: the names in the list are in *reverse* order, - * this is because the actions fire in reverse order. - */ - @SuppressWarnings("unchecked") - public void consumeNestedNameSpecifier(final boolean hasNested) { - LinkedList names; - if (hasNested) - names = (LinkedList) astStack.pop(); - else - names = new LinkedList<>(); - - IASTName name = (IASTName) astStack.pop(); - names.add(name); - - astStack.push(names); - } - - public void consumeNestedNameSpecifierEmpty() { - // can't use Collections.EMPTY_LIST because we need a list thats mutable - astStack.push(new LinkedList()); - } - - /** - * The template keyword is optional but must be the leftmost token. - * - * This just throws away the template keyword. - */ - public void consumeNameWithTemplateKeyword() { - IASTName name = (IASTName) astStack.pop(); - astStack.pop(); // pop the template keyword - astStack.push(name); - } - - /** - * qualified_id - * ::= dcolon_opt nested_name_specifier any_name - */ - public void consumeQualifiedId(boolean hasTemplateKeyword) { - IASTName qualifiedName = subRuleQualifiedName(hasTemplateKeyword); - astStack.push(qualifiedName); - } - - private IASTName createQualifiedName(LinkedList nestedNames, int startOffset, int endOffset, - boolean startsWithColonColon) { - return createQualifiedName(nestedNames, startOffset, endOffset, startsWithColonColon, false); - } - - /** - * Creates a qualified name from a list of names (that must be in reverse order). - * - * @param names List of name nodes in reverse order - */ - private IASTName createQualifiedName(LinkedList names, int startOffset, int endOffset, - boolean startsWithColonColon, boolean endsWithColonColon) { - if (!endsWithColonColon && !startsWithColonColon && names.size() == 1) - return names.getFirst(); // its actually an unqualified name - - ICPPASTQualifiedName qualifiedName = nodeFactory.newQualifiedName(); - qualifiedName.setFullyQualified(startsWithColonColon); - ParserUtil.setOffsetAndLength(qualifiedName, startOffset, endOffset - startOffset); - for (IASTName name : reverseIterable(names)) - qualifiedName.addName(name); - - // there must be a dummy name in the AST after the last double colon, this happens with pointer to member names - if (endsWithColonColon) { - IASTName dummyName = nodeFactory.newName(); - ParserUtil.setOffsetAndLength(dummyName, endOffset, 0); - qualifiedName.addName(dummyName); - } - - return qualifiedName; - } - - /** - * Consumes grammar sub-rules of the following form: - * - * dcolon_opt nested_name_specifier_opt keyword_opt name - * - * Where name is any rule that produces an IASTName node on the stack. - * Does not place the resulting node on the stack, returns it instead. - */ - @SuppressWarnings("unchecked") - private IASTName subRuleQualifiedName(boolean hasOptionalKeyword) { - IASTName lastName = (IASTName) astStack.pop(); - - if (hasOptionalKeyword) // this is usually a template keyword and can be ignored - astStack.pop(); - - LinkedList nestedNames = (LinkedList) astStack.pop(); - IToken dColon = (IToken) astStack.pop(); - - if (nestedNames.isEmpty() && dColon == null) { // then its not a qualified name - return lastName; - } - - nestedNames.addFirst(lastName); // the list of names is in reverse order - - int startOffset = dColon == null ? offset(nestedNames.getLast()) : offset(dColon); - int endOffset = endOffset(lastName); - - return createQualifiedName(nestedNames, startOffset, endOffset, dColon != null); - } - - /** - * pseudo_destructor_name - * ::= dcolon_opt nested_name_specifier_opt type_name '::' destructor_type_name - * | dcolon_opt nested_name_specifier 'template' template_id '::' destructor_type_name - * | dcolon_opt nested_name_specifier_opt destructor_type_name - */ - @SuppressWarnings("unchecked") - public void consumePsudoDestructorName(boolean hasExtraTypeName) { - IASTName destructorTypeName = (IASTName) astStack.pop(); - IASTName extraName = hasExtraTypeName ? (IASTName) astStack.pop() : null; - LinkedList nestedNames = (LinkedList) astStack.pop(); - IToken dColon = (IToken) astStack.pop(); - - if (hasExtraTypeName) - nestedNames.addFirst(extraName); - - nestedNames.addFirst(destructorTypeName); - - int startOffset = dColon == null ? offset(nestedNames.getLast()) : offset(dColon); - int endOffset = endOffset(destructorTypeName); - IASTName qualifiedName = createQualifiedName(nestedNames, startOffset, endOffset, dColon != null); - - setOffsetAndLength(qualifiedName); - astStack.push(qualifiedName); - } - - /** - * namespace_alias_definition - * ::= 'namespace' 'identifier' '=' dcolon_opt nested_name_specifier_opt namespace_name ';' - */ - public void consumeNamespaceAliasDefinition() { - IASTName qualifiedName = subRuleQualifiedName(false); - - IASTName alias = createName(stream.getRuleTokens().get(1)); - ICPPASTNamespaceAlias namespaceAlias = nodeFactory.newNamespaceAlias(alias, qualifiedName); - - setOffsetAndLength(namespaceAlias); - astStack.push(namespaceAlias); - } - - /** - * using_declaration - * ::= 'using' typename_opt dcolon_opt nested_name_specifier_opt unqualified_id ';' - */ - public void consumeUsingDeclaration() { - IASTName qualifiedName = subRuleQualifiedName(false); - boolean hasTypenameKeyword = astStack.pop() == PLACE_HOLDER; - - ICPPASTUsingDeclaration usingDeclaration = nodeFactory.newUsingDeclaration(qualifiedName); - usingDeclaration.setIsTypename(hasTypenameKeyword); - - setOffsetAndLength(usingDeclaration); - astStack.push(usingDeclaration); - } - - /** - * using_directive - * ::= 'using' 'namespace' dcolon_opt nested_name_specifier_opt namespace_name ';' - */ - public void consumeUsingDirective() { - IASTName qualifiedName = subRuleQualifiedName(false); - - ICPPASTUsingDirective usingDirective = nodeFactory.newUsingDirective(qualifiedName); - setOffsetAndLength(usingDirective); - astStack.push(usingDirective); - } - - /** - * linkage_specification - * ::= 'extern' 'stringlit' '{' declaration_seq_opt '}' - * | 'extern' 'stringlit' declaration - */ - public void consumeLinkageSpecification() { - String name = stream.getRuleTokens().get(1).toString(); - ICPPASTLinkageSpecification linkageSpec = nodeFactory.newLinkageSpecification(name); - - for (Object declaration : astStack.closeScope()) - linkageSpec.addDeclaration((IASTDeclaration) declaration); - - setOffsetAndLength(linkageSpec); - astStack.push(linkageSpec); - } - - /** - * original_namespace_definition - * ::= 'namespace' identifier_name '{' declaration_seq_opt '}' - * - * extension_namespace_definition - * ::= 'namespace' original_namespace_name '{' declaration_seq_opt '}' - * - * unnamed_namespace_definition - * ::= 'namespace' '{' declaration_seq_opt '}' - */ - public void consumeNamespaceDefinition(boolean hasName) { - List declarations = astStack.closeScope(); - IASTName namespaceName = hasName ? (IASTName) astStack.pop() : nodeFactory.newName(); - - ICPPASTNamespaceDefinition definition = nodeFactory.newNamespaceDefinition(namespaceName); - - for (Object declaration : declarations) - definition.addDeclaration((IASTDeclaration) declaration); - - setOffsetAndLength(definition); - astStack.push(definition); - } - - /** - * template_declaration - * ::= export_opt 'template' '<' template_parameter_list '>' declaration - */ - public void consumeTemplateDeclaration() { - IASTDeclaration declaration = (IASTDeclaration) astStack.pop(); - - // For some reason ambiguous declarators cause bugs when they are a part of a template declaration. - // But it shouldn't be ambiguous anyway, so just throw away the ambiguity node. - resolveAmbiguousDeclaratorsToFunction(declaration); - - ICPPASTTemplateDeclaration templateDeclaration = nodeFactory.newTemplateDeclaration(declaration); - - for (Object param : astStack.closeScope()) - templateDeclaration.addTemplateParamter((ICPPASTTemplateParameter) param); - - boolean hasExportKeyword = astStack.pop() == PLACE_HOLDER; - templateDeclaration.setExported(hasExportKeyword); - - setOffsetAndLength(templateDeclaration); - astStack.push(templateDeclaration); - } - - /** - * If we know that a declarator must be a function declarator then we can resolve - * the ambiguity without resorting to binding resolution. - */ - private static void resolveAmbiguousDeclaratorsToFunction(IASTDeclaration declaration) { - if (declaration instanceof IASTSimpleDeclaration) { - for (IASTDeclarator declarator : ((IASTSimpleDeclaration) declaration).getDeclarators()) { - if (declarator instanceof CPPASTAmbiguousDeclarator) { - IASTAmbiguityParent owner = (IASTAmbiguityParent) declaration; - CPPASTAmbiguousDeclarator ambiguity = (CPPASTAmbiguousDeclarator) declarator; - owner.replace(ambiguity, ambiguity.getDeclarators()[0]); - } - } - } - } - - /** - * explicit_instantiation - * ::= 'template' declaration - */ - public void consumeTemplateExplicitInstantiation() { - IASTDeclaration declaration = (IASTDeclaration) astStack.pop(); - ICPPASTExplicitTemplateInstantiation instantiation = nodeFactory.newExplicitTemplateInstantiation(declaration); - - setOffsetAndLength(instantiation); - astStack.push(instantiation); - } - - /** - * explicit_specialization - * ::= 'template' '<' '>' declaration - */ - public void consumeTemplateExplicitSpecialization() { - IASTDeclaration declaration = (IASTDeclaration) astStack.pop(); - ICPPASTTemplateSpecialization specialization = nodeFactory.newTemplateSpecialization(declaration); - - setOffsetAndLength(specialization); - astStack.push(specialization); - } - - /** - * Sets a token specifier. - * Needs to be overrideable for new decl spec keywords. - * - * @param token Allows subclasses to override this method and use any - * object to determine how to set a specifier. - */ - public void setSpecifier(ICPPASTDeclSpecifier node, Object specifier) { - if (!(specifier instanceof IToken)) - return; - - IToken token = (IToken) specifier; - int kind = baseKind(token); - switch (kind) { - case TK_typedef: - node.setStorageClass(IASTDeclSpecifier.sc_typedef); - return; - case TK_extern: - node.setStorageClass(IASTDeclSpecifier.sc_extern); - return; - case TK_static: - node.setStorageClass(IASTDeclSpecifier.sc_static); - return; - case TK_auto: - node.setStorageClass(IASTDeclSpecifier.sc_auto); - return; - case TK_register: - node.setStorageClass(IASTDeclSpecifier.sc_register); - return; - case TK_mutable: - node.setStorageClass(ICPPASTDeclSpecifier.sc_mutable); - return; - - case TK_inline: - node.setInline(true); - return; - case TK_const: - node.setConst(true); - return; - case TK_friend: - node.setFriend(true); - return; - case TK_virtual: - node.setVirtual(true); - return; - case TK_volatile: - node.setVolatile(true); - return; - case TK_explicit: - node.setExplicit(true); - return; - } - - if (node instanceof ICPPASTSimpleDeclSpecifier) { - ICPPASTSimpleDeclSpecifier n = (ICPPASTSimpleDeclSpecifier) node; - switch (kind) { - case TK_void: - n.setType(IASTSimpleDeclSpecifier.t_void); - return; - case TK_char: - n.setType(IASTSimpleDeclSpecifier.t_char); - return; - case TK_int: - n.setType(IASTSimpleDeclSpecifier.t_int); - return; - case TK_float: - n.setType(IASTSimpleDeclSpecifier.t_float); - return; - case TK_double: - n.setType(IASTSimpleDeclSpecifier.t_double); - return; - case TK_bool: - n.setType(ICPPASTSimpleDeclSpecifier.t_bool); - return; - case TK_wchar_t: - n.setType(ICPPASTSimpleDeclSpecifier.t_wchar_t); - return; - - case TK_signed: - n.setSigned(true); - return; - case TK_unsigned: - n.setUnsigned(true); - return; - //if it is a longlong, donot set long, CDT_70_FIX_FROM_50-#8 - case TK_long: - if (!n.isLongLong()) - n.setLong(true); - return; - case TK_short: - n.setShort(true); - return; - } - } - } - - public void consumeDeclarationSpecifiersSimple() { - ICPPASTDeclSpecifier declSpec = nodeFactory.newSimpleDeclSpecifier(); - - for (Object token : astStack.closeScope()) - setSpecifier(declSpec, token); - - setOffsetAndLength(declSpec); - astStack.push(declSpec); - } - - /** - * TODO: maybe move this into the superclass - */ - public void consumeDeclarationSpecifiersComposite() { - List topScope = astStack.closeScope(); - - // There's already a composite or elaborated or enum type specifier somewhere on the stack, find it. - ICPPASTDeclSpecifier declSpec = findFirstAndRemove(topScope, ICPPASTDeclSpecifier.class); - - // now apply the rest of the specifiers - for (Object token : topScope) - setSpecifier(declSpec, token); - - setOffsetAndLength(declSpec); - astStack.push(declSpec); - } - - // /** - // * declaration_specifiers ::= type_name_declaration_specifiers - // */ - public void consumeDeclarationSpecifiersTypeName() { - List topScope = astStack.closeScope(); - // There's a name somewhere on the stack, find it - IASTName typeName = findFirstAndRemove(topScope, IASTName.class); - - // TODO what does the second argument mean? - ICPPASTNamedTypeSpecifier declSpec = nodeFactory.newTypedefNameSpecifier(typeName); - - // now apply the rest of the specifiers - for (Object token : topScope) { - setSpecifier(declSpec, token); - } - - // the only way there could be a typename token - for (IToken token : stream.getRuleTokens()) { - if (baseKind(token) == TK_typename) { - declSpec.setIsTypename(true); - break; - } - } - - setOffsetAndLength(declSpec); - astStack.push(declSpec); - } - - /** - * elaborated_type_specifier - * ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name - * | class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name - * | 'enum' dcolon_opt nested_name_specifier_opt identifier_name - */ - public void consumeTypeSpecifierElaborated(boolean hasOptionalTemplateKeyword) { - IASTName name = subRuleQualifiedName(hasOptionalTemplateKeyword); - int kind = getElaboratedTypeSpecifier(stream.getLeftIToken()); - - IASTElaboratedTypeSpecifier typeSpecifier = nodeFactory.newElaboratedTypeSpecifier(kind, name); - - setOffsetAndLength(typeSpecifier); - astStack.push(typeSpecifier); - } - - private int getElaboratedTypeSpecifier(IToken token) { - int kind = baseKind(token); - switch (kind) { - default: - assert false : "wrong token kind: " + kind; //$NON-NLS-1$ - case TK_struct: - return IASTElaboratedTypeSpecifier.k_struct; - case TK_union: - return IASTElaboratedTypeSpecifier.k_union; - case TK_enum: - return IASTElaboratedTypeSpecifier.k_enum; - case TK_class: - return ICPPASTElaboratedTypeSpecifier.k_class; - } - } - - /** - * simple_declaration - * ::= declaration_specifiers_opt init_declarator_list_opt ';' - */ - public void consumeDeclarationSimple(boolean hasDeclaratorList) { - List declarators = hasDeclaratorList ? astStack.closeScope() : new ArrayList<>(); - ICPPASTDeclSpecifier declSpec = (ICPPASTDeclSpecifier) astStack.pop(); // may be null - - List ruleTokens = stream.getRuleTokens(); - IToken nameToken = null; - - // do not generate nodes for extra EOC tokens - if (matchTokens(ruleTokens, tokenMap, TK_EndOfCompletion)) { - return; - } - - // In the case that a single completion token is parsed then it needs - // to be interpreted as a named type specifier for content assist to work. - else if (matchTokens(ruleTokens, tokenMap, TK_Completion, TK_EndOfCompletion)) { - IASTName name = createName(stream.getLeftIToken()); - declSpec = nodeFactory.newTypedefNameSpecifier(name); - ParserUtil.setOffsetAndLength(declSpec, offset(name), length(name)); - declarators = new ArrayList<>(); // throw away the bogus declarator - } - - // can happen if implicit int is used - else if (declSpec == null) { - declSpec = nodeFactory.newSimpleDeclSpecifier(); - ParserUtil.setOffsetAndLength(declSpec, stream.getLeftIToken().getStartOffset(), 0); - } - - else if (declarators.size() == 1 && disambiguateToConstructor(declSpec, (IASTDeclarator) declarators.get(0))) { // puts results of disambiguation onto stack - declSpec = (ICPPASTDeclSpecifier) astStack.pop(); - declarators = Arrays.asList(astStack.pop()); - } - - // bug 80171, check for situation similar to: static var; - // this will get parsed wrong, the following is a hack to rebuild the AST as it should have been parsed - // exclude syntax "friend xxx" - else if (declarators.isEmpty() && declSpec instanceof ICPPASTNamedTypeSpecifier && !declSpec.isFriend() - && ruleTokens.size() >= 2 - && baseKind(nameToken = ruleTokens.get(ruleTokens.size() - 2)) == TK_identifier) { - - declSpec = nodeFactory.newSimpleDeclSpecifier(); - for (IToken t : ruleTokens.subList(0, ruleTokens.size() - 1)) - setSpecifier(declSpec, t); - - int offset = offset(stream.getLeftIToken()); - int length = endOffset(ruleTokens.get(ruleTokens.size() - 2)) - offset; - ParserUtil.setOffsetAndLength(declSpec, offset, length); - - IASTName name = createName(nameToken); - IASTDeclarator declarator = nodeFactory.newDeclarator(name); - ParserUtil.setOffsetAndLength(declarator, nameToken); - declarators.add(declarator); - } - - IASTSimpleDeclaration declaration = nodeFactory.newSimpleDeclaration(declSpec); - setOffsetAndLength(declaration); - for (Object declarator : declarators) - declaration.addDeclarator((IASTDeclarator) declarator); - - // simple ambiguity resolutions - // if(declSpecifier.isFriend()) - // resolveAmbiguousDeclaratorsToFunction(declaration); - // - // if(declSpecifier instanceof IASTSimpleDeclSpecifier) { - // IASTSimpleDeclSpecifier simple = (IASTSimpleDeclSpecifier) declSpecifier; - // if(simple.getType() == IASTSimpleDeclSpecifier.t_void && declaration.getDeclarators()[0].getPointerOperators().length == 0) - // resolveAmbiguousDeclaratorsToFunction(declaration); - // - // } - - astStack.push(declaration); - } - - private boolean disambiguateToConstructor(IASTDeclSpecifier declSpec, IASTDeclarator declarator) { - if (!(declSpec instanceof IASTNamedTypeSpecifier)) - return false; - - IASTNamedTypeSpecifier namedTypeSpecifier = (IASTNamedTypeSpecifier) declSpec; - IASTName name = namedTypeSpecifier.getName(); - IASTDeclarator nested = declarator.getNestedDeclarator(); - - ICPPASTSimpleDeclSpecifier simpleDeclSpec = nodeFactory.newSimpleDeclSpecifier(); // empty - ParserUtil.setOffsetAndLength(simpleDeclSpec, stream.getLeftIToken().getStartOffset(), 0); - - if (!classNames.isEmpty() && nested != null && ParserUtil.isSameName(name, classNames.getLast())) { - - IASTName paramTypeName = nested.getName(); // reuse the parameter name node - IASTNamedTypeSpecifier paramName = nodeFactory.newTypedefNameSpecifier(paramTypeName); - ParserUtil.setOffsetAndLength(paramName, paramTypeName); - - IASTDeclarator paramDeclarator = nodeFactory.newDeclarator(nodeFactory.newName()); - ParserUtil.setOffsetAndLength(paramDeclarator, offset(paramName) + length(paramName), 0); - - ICPPASTParameterDeclaration parameter = nodeFactory.newParameterDeclaration(paramName, paramDeclarator); - ParserUtil.setOffsetAndLength(parameter, paramName); - - ICPPASTFunctionDeclarator constructorDeclarator = nodeFactory.newFunctionDeclarator(name); // reuse the name node - constructorDeclarator.addParameterDeclaration(parameter); - ParserUtil.setOffsetAndLength(constructorDeclarator, offset(simpleDeclSpec), - endOffset(paramDeclarator) - offset(simpleDeclSpec) + 1); - - astStack.push(constructorDeclarator); - astStack.push(simpleDeclSpec); - return true; - } - - if (declarator instanceof IASTFunctionDeclarator && declarator.getName() instanceof ICPPASTQualifiedName) { - ICPPASTQualifiedName qualifiedName = (ICPPASTQualifiedName) declarator.getName(); - //IASTName lastName = qualifiedName.getLastName(); - - if (qualifiedName.isFullyQualified()) { - - ICPPASTQualifiedName newQualifiedName = nodeFactory.newQualifiedName(); - newQualifiedName.addName(name); - for (ICPPASTNameSpecifier n : qualifiedName.getQualifier()) - newQualifiedName.addNameSpecifier(n); - newQualifiedName.addName(qualifiedName.getLastName()); - - ParserUtil.setOffsetAndLength(newQualifiedName, offset(name), - endOffset(qualifiedName.getLastName()) - offset(name)); - - declarator.setName(newQualifiedName); - ParserUtil.setOffsetAndLength(declarator, offset(name), - length(declarator) + offset(declarator) - offset(name)); - - astStack.push(declarator); - astStack.push(simpleDeclSpec); - return true; - } - } - - return false; - } - - public void consumeInitDeclaratorComplete() { - // Don't do disambiguation when parsing for content assist, - // trust me this makes things work out a lot better. - if (completionNode != null) - return; - - IASTDeclarator declarator = (IASTDeclarator) astStack.peek(); - if (!(declarator instanceof IASTFunctionDeclarator)) - return; - - ISecondaryParser secondaryParser = parserFactory.getNoFunctionDeclaratorParser(stream, - properties); - IASTDeclarator notFunctionDeclarator = runSecondaryParser(secondaryParser); - - if (notFunctionDeclarator == null) - return; - - astStack.pop(); - - IASTNode ambiguityNode = new CPPASTAmbiguousDeclarator(declarator, notFunctionDeclarator); - - setOffsetAndLength(ambiguityNode); - astStack.push(ambiguityNode); - } - - /** - * visibility_label - * ::= access_specifier_keyword ':' - */ - public void consumeVisibilityLabel() { - IToken specifier = (IToken) astStack.pop(); - int visibility = getAccessSpecifier(specifier); - ICPPASTVisibilityLabel visibilityLabel = nodeFactory.newVisibilityLabel(visibility); - setOffsetAndLength(visibilityLabel); - astStack.push(visibilityLabel); - } - - private int getAccessSpecifier(IToken token) { - int kind = baseKind(token); - switch (kind) { - default: - assert false : "wrong token kind: " + kind; //$NON-NLS-1$ - case TK_private: - return ICPPASTVisibilityLabel.v_private; - case TK_public: - return ICPPASTVisibilityLabel.v_public; - case TK_protected: - return ICPPASTVisibilityLabel.v_protected; - } - } - - /** - * base_specifier - * ::= dcolon_opt nested_name_specifier_opt class_name - * | 'virtual' access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name - * | access_specifier_keyword 'virtual' dcolon_opt nested_name_specifier_opt class_name - * | access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name - */ - public void consumeBaseSpecifier(boolean hasAccessSpecifier, boolean isVirtual) { - IASTName name = subRuleQualifiedName(false); - - int visibility = 0; // this is the default value that the DOM parser uses - if (hasAccessSpecifier) { - IToken accessSpecifierToken = (IToken) astStack.pop(); - if (accessSpecifierToken != null) - visibility = getAccessSpecifier(accessSpecifierToken); - } - - ICPPASTBaseSpecifier baseSpecifier = nodeFactory.newBaseSpecifier(name, visibility, isVirtual); - setOffsetAndLength(baseSpecifier); - astStack.push(baseSpecifier); - } - - /** - * class_specifier - * ::= class_head '{' member_declaration_list_opt '}' - */ - public void consumeClassSpecifier() { - List declarations = astStack.closeScope(); - - // the class specifier is created by the rule for class_head - IASTCompositeTypeSpecifier classSpecifier = (IASTCompositeTypeSpecifier) astStack.peek(); - - for (Object declaration : declarations) - classSpecifier.addMemberDeclaration((IASTDeclaration) declaration); - - setOffsetAndLength(classSpecifier); - - classNames.removeLast(); // pop the stack of class names - } - - /** - * class_head - * ::= class_keyword identifier_name_opt base_clause_opt - * | class_keyword template_id base_clause_opt - * | class_keyword nested_name_specifier identifier_name base_clause_opt - * | class_keyword nested_name_specifier template_id base_clause_opt - */ - @SuppressWarnings("unchecked") - public void consumeClassHead(boolean hasNestedNameSpecifier) { - int key = getCompositeTypeSpecifier(stream.getLeftIToken()); - List baseSpecifiers = astStack.closeScope(); - // may be null, but if it is then hasNestedNameSpecifier == false - IASTName className = (IASTName) astStack.pop(); - - if (hasNestedNameSpecifier) { - LinkedList nestedNames = (LinkedList) astStack.pop(); - nestedNames.addFirst(className); - int startOffset = offset(nestedNames.getLast()); - int endOffset = endOffset(className); - className = createQualifiedName(nestedNames, startOffset, endOffset, false); - } - - if (className == null) - className = nodeFactory.newName(); - - ICPPASTCompositeTypeSpecifier classSpecifier = nodeFactory.newCompositeTypeSpecifier(key, className); - - for (Object base : baseSpecifiers) - classSpecifier.addBaseSpecifier((ICPPASTBaseSpecifier) base); - - // the offset and length are set in consumeClassSpecifier() - astStack.push(classSpecifier); - classNames.add(className); // push - } - - private int getCompositeTypeSpecifier(IToken token) { - final int kind = baseKind(token); - switch (kind) { - default: - assert false : "wrong token kind: " + kind; //$NON-NLS-1$ - case TK_struct: - return IASTCompositeTypeSpecifier.k_struct; - case TK_union: - return IASTCompositeTypeSpecifier.k_union; - case TK_class: - return ICPPASTCompositeTypeSpecifier.k_class; - } - } - - /** - * ptr_operator - * ::= '*' cv_qualifier_seq_opt - */ - public void consumePointer() { - IASTPointer pointer = nodeFactory.newPointer(); - List tokens = astStack.closeScope(); - addCVQualifiersToPointer(pointer, tokens); - setOffsetAndLength(pointer); - astStack.push(pointer); - } - - protected void addCVQualifiersToPointer(IASTPointer pointer, List tokens) { - for (Object t : tokens) { - switch (baseKind((IToken) t)) { - case TK_const: - pointer.setConst(true); - break; - case TK_volatile: - pointer.setVolatile(true); - break; - } - } - } - - /** - * ptr_operator - * ::= '&' - */ - public void consumeReferenceOperator() { - ICPPASTReferenceOperator referenceOperator = nodeFactory.newReferenceOperator(); - setOffsetAndLength(referenceOperator); - astStack.push(referenceOperator); - } - - /** - * ptr_operator - * ::= dcolon_opt nested_name_specifier '*' cv_qualifier_seq_opt - */ - @SuppressWarnings("unchecked") - public void consumePointerToMember() { - List qualifiers = astStack.closeScope(); - LinkedList nestedNames = (LinkedList) astStack.pop(); - IToken dColon = (IToken) astStack.pop(); - - int startOffset = dColon == null ? offset(nestedNames.getLast()) : offset(dColon); - int endOffset = endOffset(nestedNames.getFirst()); // temporary - - // find the last double colon by searching for it - for (IToken t : reverseIterable(stream.getRuleTokens())) { - if (baseKind(t) == TK_ColonColon) { - endOffset = endOffset(t); - break; - } - } - - IASTName name = createQualifiedName(nestedNames, startOffset, endOffset, dColon != null, true); - - ICPPASTPointerToMember pointer = nodeFactory.newPointerToMember(name); - addCVQualifiersToPointer(pointer, qualifiers); - setOffsetAndLength(pointer); - astStack.push(pointer); - } - - /** - * initializer - * ::= '(' expression_list ')' - */ - public void consumeInitializerConstructor() { - //CDT_70_FIX_FROM_50-#5 - Object o = astStack.pop(); - IASTInitializerClause[] initClauseList = null; - if (o instanceof IASTExpressionList) { - initClauseList = ((IASTExpressionList) o).getExpressions(); - } else if (o instanceof IASTInitializerClause) { - initClauseList = new IASTInitializerClause[] { (IASTInitializerClause) o }; - } - - ICPPASTConstructorInitializer initializer = nodeFactory.newConstructorInitializer(initClauseList); - setOffsetAndLength(initializer); - astStack.push(initializer); - } - - /** - * function_direct_declarator - * ::= basic_direct_declarator '(' parameter_declaration_clause ')' - * cv_qualifier_seq_opt exception_specification_opt - */ - public void consumeDirectDeclaratorFunctionDeclarator(boolean hasDeclarator) { - IASTName name = nodeFactory.newName(); - ICPPASTFunctionDeclarator declarator = nodeFactory.newFunctionDeclarator(name); - - List typeIds = astStack.closeScope(); - if (typeIds.size() == 1 && typeIds.get(0) == PLACE_HOLDER) { // fix for bug 86943 - declarator.setEmptyExceptionSpecification(); - } else { - for (Object typeId : typeIds) { - declarator.addExceptionSpecificationTypeId((IASTTypeId) typeId); - } - } - - for (Object token : astStack.closeScope()) { - int kind = baseKind((IToken) token); - switch (kind) { - default: - assert false : "wrong token kind: " + kind; //$NON-NLS-1$ - case TK_const: - declarator.setConst(true); - break; - case TK_volatile: - declarator.setVolatile(true); - break; - } - } - - boolean isVarArgs = astStack.pop() == PLACE_HOLDER; - declarator.setVarArgs(isVarArgs); - - for (Object o : astStack.closeScope()) { - declarator.addParameterDeclaration((IASTParameterDeclaration) o); - } - - if (hasDeclarator) { - int endOffset = endOffset(stream.getRightIToken()); - addFunctionModifier(declarator, endOffset); - } else { - setOffsetAndLength(declarator); - astStack.push(declarator); - } - } - - /** - * Consume an empty bracketed abstract declarator. - */ - public void consumeAbstractDeclaratorEmpty() { - IASTName name = nodeFactory.newName(); - ParserUtil.setOffsetAndLength(name, offset(stream.getLeftIToken()) + 1, 0); - IASTDeclarator declarator = nodeFactory.newDeclarator(name); - setOffsetAndLength(declarator); - astStack.push(declarator); - } - - /** - * mem_initializer - * ::= mem_initializer_id '(' expression_list_opt ')' - */ - public void consumeConstructorChainInitializer() { - Object o = astStack.pop(); - IASTName name = (IASTName) astStack.pop(); - IASTInitializerClause[] initClauseList = null; - if (o instanceof IASTExpressionList) { - initClauseList = ((IASTExpressionList) o).getExpressions(); - } else if (o instanceof IASTInitializerClause) { - initClauseList = new IASTInitializerClause[] { (IASTInitializerClause) o }; - } - ICPPASTConstructorInitializer init = nodeFactory.newConstructorInitializer(initClauseList); - int rule_start_offset = stream.getLeftIToken().getStartOffset(); - int initClauseList_offset = ParserUtil.offset(initClauseList[0]); - List ruleTokens = stream.getRuleTokens(); - int start_offset = -1; - - for (int i = initClauseList_offset, n = rule_start_offset; i >= n; i--) { - if (tokenMap.mapKind(ruleTokens.get(i).getKind()) == TK_LeftParen) { - start_offset = ruleTokens.get(i).getStartOffset(); - break; - } - } - int ruleLength = stream.getRightIToken().getEndOffset() - start_offset; - ParserUtil.setOffsetAndLength(init, start_offset, ruleLength < 0 ? 0 : ruleLength); - - ICPPASTConstructorChainInitializer initializer = nodeFactory.newConstructorChainInitializer(name, init); - setOffsetAndLength(initializer); - astStack.push(initializer); - } - - /** - * function_definition - * ::= declaration_specifiers_opt function_direct_declarator - * ctor_initializer_list_opt function_body - * - * | declaration_specifiers_opt function_direct_declarator - * 'try' ctor_initializer_list_opt function_body handler_seq - * - */ - public void consumeFunctionDefinition(boolean isTryBlockDeclarator) { - List handlers = isTryBlockDeclarator ? astStack.closeScope() : Collections.emptyList(); - IASTCompoundStatement body = (IASTCompoundStatement) astStack.pop(); - List initializers = astStack.closeScope(); - Object o = astStack.pop(); - IASTFunctionDeclarator declarator = (IASTFunctionDeclarator) o; - Object o2 = astStack.pop(); - IASTDeclSpecifier declSpec = (IASTDeclSpecifier) o2; // may be null - - if (declSpec == null) { // can happen if implicit int is used - declSpec = nodeFactory.newSimpleDeclSpecifier(); - ParserUtil.setOffsetAndLength(declSpec, stream.getLeftIToken().getStartOffset(), 0); - } else if (disambiguateToConstructor(declSpec, declarator)) { - declSpec = (IASTDeclSpecifier) astStack.pop(); - declarator = (IASTFunctionDeclarator) astStack.pop(); - } - - ICPPASTFunctionDefinition definition; - if (isTryBlockDeclarator) { - ICPPASTFunctionWithTryBlock tryblock = nodeFactory.newFunctionTryBlock(declSpec, declarator, body); - for (Object handler : handlers) - tryblock.addCatchHandler((ICPPASTCatchHandler) handler); - definition = tryblock; - } else { - definition = nodeFactory.newFunctionDefinition(declSpec, declarator, body); - } - - if (initializers != null && !initializers.isEmpty()) { - for (Object initializer : initializers) - definition.addMemberInitializer((ICPPASTConstructorChainInitializer) initializer); - } - - setOffsetAndLength(definition); - astStack.push(definition); - } - - /** - * member_declaration - * ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ';' - */ - public void consumeMemberDeclarationQualifiedId() { - IASTName qualifiedId = subRuleQualifiedName(true); - - // https://bugs.eclipse.org/bugs/show_bug.cgi?id=92793 - ICPPASTUsingDeclaration declaration = nodeFactory.newUsingDeclaration(qualifiedId); - setOffsetAndLength(declaration); - - astStack.push(declaration); - } - - /** - * member_declarator - * ::= declarator constant_initializer - */ - - public void consumeMemberDeclaratorWithInitializer() { - - //CDT_70_FIX_FROM_50-#2 - //IASTInitializerExpression initializer = (IASTInitializerExpression) astStack.pop(); - IASTEqualsInitializer initializer = (IASTEqualsInitializer) astStack.pop(); - IASTDeclarator declarator = (IASTDeclarator) astStack.peek(); - setOffsetAndLength(declarator); - - if (declarator instanceof ICPPASTFunctionDeclarator) { - IASTExpression expr = (IASTExpression) initializer.getInitializerClause(); - if (expr instanceof IASTLiteralExpression && "0".equals(expr.toString())) { //$NON-NLS-1$ - ((ICPPASTFunctionDeclarator) declarator).setPureVirtual(true); - return; - } - } - - declarator.setInitializer(initializer); - } - - /** - * type_parameter - * ::= 'class' identifier_name_opt -- simple type template parameter - * | 'class' identifier_name_opt '=' type_id - * | 'typename' identifier_name_opt - * | 'typename' identifier_name_opt '=' type_id - */ - public void consumeSimpleTypeTemplateParameter(boolean hasTypeId) { - IASTTypeId typeId = hasTypeId ? (IASTTypeId) astStack.pop() : null; - - IASTName name = (IASTName) astStack.pop(); - if (name == null) - name = nodeFactory.newName(); - - int type = getTemplateParameterType(stream.getLeftIToken()); - - ICPPASTSimpleTypeTemplateParameter templateParameter = nodeFactory.newSimpleTypeTemplateParameter(type, name, - typeId); - - setOffsetAndLength(templateParameter); - astStack.push(templateParameter); - } - - private int getTemplateParameterType(IToken token) { - int kind = baseKind(token); - switch (kind) { - default: - assert false : "wrong token kind: " + kind; //$NON-NLS-1$ - case TK_class: - return ICPPASTSimpleTypeTemplateParameter.st_class; - case TK_typename: - return ICPPASTSimpleTypeTemplateParameter.st_typename; - } - } - - /** - * Simple type template parameters using the 'class' keyword are being parsed - * wrong due to an ambiguity between type_parameter and parameter_declaration. - * - * eg) template - * - * The 'class T' part is being parsed as an elaborated type specifier instead - * of a simple type template parameter. - * - * This method detects the incorrect parse, throws away the incorrect AST fragment, - * and replaces it with the correct AST fragment. - * - * Yes its a hack. - */ - public void consumeTemplateParamterDeclaration() { - ISecondaryParser typeParameterParser = parserFactory - .getTemplateTypeParameterParser(stream, properties); - IASTNode alternate = runSecondaryParser(typeParameterParser); - - if (alternate == null) - return; - - astStack.pop(); // throw away the incorrect AST - astStack.push(alternate); // replace it with the correct AST - } - - /** - * type_parameter - * ::= 'template' '<' template_parameter_list '>' 'class' identifier_name_opt - * | 'template' '<' template_parameter_list '>' 'class' identifier_name_opt '=' id_expression - * @param hasIdExpr - */ - public void consumeTemplatedTypeTemplateParameter(boolean hasIdExpr) { - IASTExpression idExpression = hasIdExpr ? (IASTExpression) astStack.pop() : null; - IASTName name = (IASTName) astStack.pop(); - - ICPPASTTemplatedTypeTemplateParameter templateParameter = nodeFactory.newTemplatedTypeTemplateParameter(name, - idExpression); - - for (Object param : astStack.closeScope()) - templateParameter.addTemplateParamter((ICPPASTTemplateParameter) param); - - setOffsetAndLength(templateParameter); - astStack.push(templateParameter); - } - - @Override - protected IASTAmbiguousExpression createAmbiguousExpression(IASTExpression... expressions) { - return new CPPASTAmbiguousExpression(expressions); - } - - @Override - protected IASTAmbiguousStatement createAmbiguousStatement(IASTStatement... statements) { - return new CPPASTAmbiguousStatement(statements); - } -} \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPSecondaryParserFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPSecondaryParserFactory.java deleted file mode 100644 index c936ea0c7f9..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPSecondaryParserFactory.java +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.action.cpp; - -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTDeclarator; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPExpressionParser; -import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPNoCastExpressionParser; -import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPNoFunctionDeclaratorParser; -import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPSizeofExpressionParser; -import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPTemplateTypeParameterParser; - -public class CPPSecondaryParserFactory implements ICPPSecondaryParserFactory { - - private static final CPPSecondaryParserFactory DEFAULT_INSTANCE = new CPPSecondaryParserFactory(); - - public static CPPSecondaryParserFactory getDefault() { - return DEFAULT_INSTANCE; - } - - @Override - public ISecondaryParser getTemplateTypeParameterParser(ITokenStream stream, - Map properties) { - return new CPPTemplateTypeParameterParser(stream, properties); - } - - @Override - public ISecondaryParser getNoFunctionDeclaratorParser(ITokenStream stream, - Map properties) { - return new CPPNoFunctionDeclaratorParser(stream, properties); - } - - @Override - public ISecondaryParser getExpressionParser(ITokenStream stream, Map properties) { - return new CPPExpressionParser(stream, properties); - } - - @Override - public ISecondaryParser getNoCastExpressionParser(ITokenStream stream, - Map properties) { - return new CPPNoCastExpressionParser(stream, properties); - } - - @Override - public ISecondaryParser getSizeofExpressionParser(ITokenStream stream, - Map properties) { - return new CPPSizeofExpressionParser(stream, properties); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPSecondaryParserFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPSecondaryParserFactory.java deleted file mode 100644 index 10af137eb5b..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPSecondaryParserFactory.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.action.cpp; - -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTDeclarator; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; - -/** - * Secondary parsers for resolving ambiguities specific to C++. - * - * @author Mike Kucera - */ -public interface ICPPSecondaryParserFactory extends ISecondaryParserFactory { - - ISecondaryParser getTemplateTypeParameterParser(ITokenStream stream, - Map properties); - - ISecondaryParser getNoFunctionDeclaratorParser(ITokenStream stream, Map properties); - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCBuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCBuildASTParserAction.java deleted file mode 100644 index cab1adf59ea..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCBuildASTParserAction.java +++ /dev/null @@ -1,90 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.action.gnu; - -import static org.eclipse.cdt.core.parser.util.CollectionUtils.findFirstAndRemove; - -import java.util.List; - -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.ast.c.ICASTFieldDesignator; -import org.eclipse.cdt.core.dom.ast.c.ICASTSimpleDeclSpecifier; -import org.eclipse.cdt.core.dom.ast.c.ICNodeFactory; -import org.eclipse.cdt.core.dom.ast.gnu.c.IGCCASTArrayRangeDesignator; -import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction; - -public class GCCBuildASTParserAction extends C99BuildASTParserAction { - - private final ICNodeFactory nodeFactory; - - public GCCBuildASTParserAction(ITokenStream parser, ScopedStack astStack, ICNodeFactory nodeFactory, - ISecondaryParserFactory parserFactory) { - super(parser, astStack, nodeFactory, parserFactory); - this.nodeFactory = nodeFactory; - } - - /** - * designator_base - * ::= identifier_token ':' - */ - public void consumeDesignatorFieldGCC() { - IASTName name = createName(stream.getLeftIToken()); - ICASTFieldDesignator designator = nodeFactory.newFieldDesignator(name); - setOffsetAndLength(designator); - astStack.push(designator); - } - - /** - * designator ::= '[' constant_expression '...' constant_expression']' - */ - public void consumeDesignatorArrayRange() { - IASTExpression ceiling = (IASTExpression) astStack.pop(); - IASTExpression floor = (IASTExpression) astStack.pop(); - IGCCASTArrayRangeDesignator designator = nodeFactory.newArrayRangeDesignatorGCC(floor, ceiling); - setOffsetAndLength(designator); - astStack.push(designator); - } - - /** - * typeof_type_specifier - * ::= 'typeof' unary_expression - * - * typeof_declaration_specifiers - * ::= typeof_type_specifier - * | no_type_declaration_specifiers typeof_type_specifier - * | typeof_declaration_specifiers no_type_declaration_specifier - * - * declaration_specifiers - * ::= typeof_declaration_specifiers - */ - public void consumeDeclarationSpecifiersTypeof() { - List topScope = astStack.closeScope(); - - // There's an expression somewhere on the stack, find it - IASTExpression expr = findFirstAndRemove(topScope, IASTExpression.class); - ICASTSimpleDeclSpecifier declSpec = nodeFactory.newSimpleDeclSpecifierGCC(expr); - - // now apply the rest of the specifiers - for (Object token : topScope) { - setSpecifier(declSpec, token); - } - - setOffsetAndLength(declSpec); - astStack.push(declSpec); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCSecondaryParserFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCSecondaryParserFactory.java deleted file mode 100644 index 831737c20fa..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCSecondaryParserFactory.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.action.gnu; - -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99ExpressionParser; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99NoCastExpressionParser; -import org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCSizeofExpressionParser; - -public class GCCSecondaryParserFactory implements ISecondaryParserFactory { - - public static final GCCSecondaryParserFactory DEFAULT_INSTANCE = new GCCSecondaryParserFactory(); - - public static GCCSecondaryParserFactory getDefault() { - return DEFAULT_INSTANCE; - } - - @Override - public ISecondaryParser getExpressionParser(ITokenStream stream, Map properties) { - return new C99ExpressionParser(stream, properties); - } - - @Override - public ISecondaryParser getNoCastExpressionParser(ITokenStream stream, - Map properties) { - return new C99NoCastExpressionParser(stream, properties); - } - - @Override - public ISecondaryParser getSizeofExpressionParser(ITokenStream stream, - Map properties) { - return new GCCSizeofExpressionParser(stream, properties); - } -} \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GNUBuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GNUBuildASTParserAction.java deleted file mode 100644 index 21f7c9c7a69..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GNUBuildASTParserAction.java +++ /dev/null @@ -1,97 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.action.gnu; - -import java.util.List; - -import org.eclipse.cdt.core.dom.ast.IASTASMDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTCompoundStatement; -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.ast.INodeFactory; -import org.eclipse.cdt.core.dom.ast.gnu.IGNUASTCompoundStatementExpression; -import org.eclipse.cdt.core.dom.lrparser.action.AbstractParserAction; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym; - -import lpg.lpgjavaruntime.IToken; - -public class GNUBuildASTParserAction extends AbstractParserAction { - - private final INodeFactory nodeFactory; - - private final TokenMap tokenMap; - - public GNUBuildASTParserAction(ITokenStream parser, ScopedStack astStack, INodeFactory nodeFactory) { - super(parser, astStack); - - this.nodeFactory = nodeFactory; - this.tokenMap = new TokenMap(GCCParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols()); - } - - @Override - protected IASTName createName(char[] image) { - return nodeFactory.newName(image); - } - - @Override - protected boolean isCompletionToken(IToken token) { - return tokenMap.mapKind(token.getKind()) == GCCParsersym.TK_Completion; - } - - /** - * Add support for GCC extended ASM declaration syntax. - * - * - * asm_definition -- same as in C++ but its not in C99 spec so we put it here - * ::= 'asm' '(' 'stringlit' ')' ';' - * - * extended_asm_declaration - * ::= 'asm' 'volatile' '(' extended_asm_param_seq ')' ';' - * | 'asm' '(' extended_asm_param_seq ')' ';' - * - */ - public void consumeDeclarationASM() { - List tokens = stream.getRuleTokens(); - - int firstToken = 2; - if (tokenMap.mapKind(tokens.get(1).getKind()) == GCCParsersym.TK_volatile) - firstToken = 3; - - StringBuilder sb = new StringBuilder(); - boolean first = true; - for (IToken token : tokens.subList(firstToken, tokens.size() - 2)) { - if (!first) - sb.append(' '); - sb.append(token.toString()); - first = false; - } - - IASTASMDeclaration asm = nodeFactory.newASMDeclaration(sb.toString()); - setOffsetAndLength(asm); - astStack.push(asm); - } - - /** - * primary_expression - * ::= '(' compound_statement ')' - */ - public void consumeCompoundStatementExpression() { - IASTCompoundStatement compoundStatement = (IASTCompoundStatement) astStack.pop(); - IGNUASTCompoundStatementExpression expr = nodeFactory.newGNUCompoundStatementExpression(compoundStatement); - setOffsetAndLength(expr); - astStack.push(expr); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPBuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPBuildASTParserAction.java deleted file mode 100644 index 8d426ae8381..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPBuildASTParserAction.java +++ /dev/null @@ -1,195 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2014 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.action.gnu; - -import static org.eclipse.cdt.core.parser.util.CollectionUtils.findFirstAndRemove; - -import java.util.List; - -import org.eclipse.cdt.core.dom.ast.IASTDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTInitializerList; -import org.eclipse.cdt.core.dom.ast.IASTPointer; -import org.eclipse.cdt.core.dom.ast.IASTTypeId; -import org.eclipse.cdt.core.dom.ast.IASTTypeIdInitializerExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTExplicitTemplateInstantiation; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTPointerToMember; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleDeclSpecifier; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPNodeFactory; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ParserUtil; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction; -import org.eclipse.cdt.core.dom.lrparser.action.cpp.ICPPSecondaryParserFactory; -import org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym; - -import lpg.lpgjavaruntime.IToken; - -public class GPPBuildASTParserAction extends CPPBuildASTParserAction { - private final ICPPNodeFactory nodeFactory; - - private final ITokenMap gppTokenMap; - - public GPPBuildASTParserAction(ITokenStream stream, ScopedStack astStack, ICPPNodeFactory nodeFactory, - ICPPSecondaryParserFactory parserFactory) { - super(stream, astStack, nodeFactory, parserFactory); - this.nodeFactory = nodeFactory; - this.gppTokenMap = new TokenMap(GPPParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols()); - } - - /** - * typeof_type_specifier - * ::= 'typeof' unary_expression - * - * typeof_declaration_specifiers - * ::= typeof_type_specifier - * | no_type_declaration_specifiers typeof_type_specifier - * | typeof_declaration_specifiers no_type_declaration_specifier - * - * declaration_specifiers - * ::= typeof_declaration_specifiers - */ - public void consumeDeclarationSpecifiersTypeof() { - List topScope = astStack.closeScope(); - - // There's an expression somewhere on the stack, find it - IASTExpression expr = findFirstAndRemove(topScope, IASTExpression.class); - //CDT_70_FIX_FROM_50-#7 - ICPPASTSimpleDeclSpecifier declSpec = nodeFactory.newSimpleDeclSpecifier(); - declSpec.setDeclTypeExpression(expr); - - // now apply the rest of the specifiers - for (Object token : topScope) { - setSpecifier(declSpec, token); - } - - setOffsetAndLength(declSpec); - astStack.push(declSpec); - } - - /** - * Replacement for the same method in CPPBuildASTParserAction - */ - @Override - public void consumeDeclarationSpecifiersSimple() { - boolean isComplex = false; - boolean isImaginary = false; - int numLong = 0; - - List tokens = astStack.closeScope(); - - for (Object o : tokens) { - if (o instanceof IToken) { - IToken token = (IToken) o; - switch (gppTokenMap.mapKind(token.getKind())) { - case GPPParsersym.TK__Complex: - isComplex = true; - break; - case GPPParsersym.TK__Imaginary: - isImaginary = true; - break; - case GPPParsersym.TK_long: - numLong++; - break; - } - } - } - //CDT_70_FIX_FROM_50-#7 - ICPPASTSimpleDeclSpecifier declSpec = nodeFactory.newSimpleDeclSpecifier(); - if (isComplex || isImaginary || numLong > 1) { - // IGPPASTSimpleDeclSpecifier gppDeclSpec = nodeFactory.newSimpleDeclSpecifierGPP(); - declSpec.setComplex(isComplex); - declSpec.setImaginary(isImaginary); - declSpec.setLongLong(numLong > 1); - declSpec.setLong(numLong == 1); - //declSpec = gppDeclSpec; - } else { - declSpec = nodeFactory.newSimpleDeclSpecifier(); - } - - for (Object token : tokens) { - setSpecifier(declSpec, token); - } - - setOffsetAndLength(declSpec); - astStack.push(declSpec); - } - - private boolean hasRestrict(List tokens) { - for (Object o : tokens) { - IToken t = (IToken) o; - if (gppTokenMap.mapKind(t.getKind()) == GPPParsersym.TK_restrict) { - return true; - } - } - return false; - } - - /** - * Restrict is allowed as a keyword. - */ - @Override - public void consumePointer() { - boolean hasRestrict = hasRestrict(astStack.topScope()); - super.consumePointer(); - - if (hasRestrict) { - IASTPointer gppPointer = nodeFactory.newPointer(); - initializePointer((IASTPointer) astStack.pop(), gppPointer); - astStack.push(gppPointer); - } - } - - private static void initializePointer(IASTPointer pointer, IASTPointer gppPointer) { - gppPointer.setConst(pointer.isConst()); - gppPointer.setVolatile(pointer.isVolatile()); - gppPointer.setRestrict(true); - ParserUtil.setOffsetAndLength(gppPointer, pointer); - } - - @Override - public void consumePointerToMember() { - boolean hasRestrict = hasRestrict(astStack.topScope()); - super.consumePointerToMember(); - - if (hasRestrict) { - ICPPASTPointerToMember pointer = (ICPPASTPointerToMember) astStack.pop(); - ICPPASTPointerToMember gppPointer = nodeFactory.newPointerToMember(pointer.getName()); - initializePointer(pointer, gppPointer); - astStack.push(gppPointer); - } - - } - - public void consumeTemplateExplicitInstantiationGCC(int modifier) { - IASTDeclaration declaration = (IASTDeclaration) astStack.pop(); - ICPPASTExplicitTemplateInstantiation instantiation = nodeFactory.newExplicitTemplateInstantiation(declaration); - instantiation.setModifier(modifier); - setOffsetAndLength(instantiation); - astStack.push(instantiation); - } - - /** - * postfix_expression ::= '(' type_id ')' initializer_list - */ - public void consumeExpressionTypeIdInitializer() { - IASTInitializerList list = (IASTInitializerList) astStack.pop(); - IASTTypeId typeId = (IASTTypeId) astStack.pop(); - IASTTypeIdInitializerExpression expr = nodeFactory.newTypeIdInitializerExpression(typeId, list); - setOffsetAndLength(expr); - astStack.push(expr); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPSecondaryParserFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPSecondaryParserFactory.java deleted file mode 100644 index 7c2e1c8b37b..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPSecondaryParserFactory.java +++ /dev/null @@ -1,67 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.action.gnu; - -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTDeclarator; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.cpp.ICPPSecondaryParserFactory; -import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPExpressionParser; -import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPNoCastExpressionParser; -import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPNoFunctionDeclaratorParser; -import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPTemplateTypeParameterParser; -import org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPSizeofExpressionParser; - -public class GPPSecondaryParserFactory implements ICPPSecondaryParserFactory { - - private static final GPPSecondaryParserFactory DEFAULT_INSTANCE = new GPPSecondaryParserFactory(); - - public static GPPSecondaryParserFactory getDefault() { - return DEFAULT_INSTANCE; - } - - @Override - public ISecondaryParser getTemplateTypeParameterParser(ITokenStream stream, - Map properties) { - return new CPPTemplateTypeParameterParser(stream, properties); - } - - @Override - public ISecondaryParser getNoFunctionDeclaratorParser(ITokenStream stream, - Map properties) { - return new CPPNoFunctionDeclaratorParser(stream, properties); - } - - @Override - public ISecondaryParser getExpressionParser(ITokenStream stream, Map properties) { - return new CPPExpressionParser(stream, properties); - } - - @Override - public ISecondaryParser getNoCastExpressionParser(ITokenStream stream, - Map properties) { - return new CPPNoCastExpressionParser(stream, properties); - } - - @Override - public ISecondaryParser getSizeofExpressionParser(ITokenStream stream, - Map properties) { - return new GPPSizeofExpressionParser(stream, properties); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/C99Language.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/C99Language.java deleted file mode 100644 index 6ba449b2a8e..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/C99Language.java +++ /dev/null @@ -1,75 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.c99; - -import java.util.Map; - -import org.eclipse.cdt.core.dom.ILinkage; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage; -import org.eclipse.cdt.core.dom.lrparser.IParser; -import org.eclipse.cdt.core.dom.lrparser.ScannerExtensionConfiguration; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration; -import org.eclipse.cdt.core.dom.parser.c.ANSICParserExtensionConfiguration; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parser; - -/** - * ILanguage implementation for the C99 parser. - * - * @author Mike Kucera - */ -public class C99Language extends BaseExtensibleLanguage { - - public static final String ID = "org.eclipse.cdt.core.lrparser.c99"; //$NON-NLS-1$ - - private static C99Language DEFAULT = new C99Language(); - - public static C99Language getDefault() { - return DEFAULT; - } - - @Override - protected IParser getParser(IScanner scanner, IIndex index, Map properties) { - return new C99Parser(scanner, DOMToC99TokenMap.DEFAULT_MAP, getBuiltinBindingsProvider(), index, properties); - } - - @Override - protected IScannerExtensionConfiguration getScannerExtensionConfiguration() { - return ScannerExtensionConfiguration.createC(); - } - - @Override - public String getId() { - return ID; - } - - @Override - public int getLinkageID() { - return ILinkage.C_LINKAGE_ID; - } - - @Override - protected ParserLanguage getParserLanguage() { - return ParserLanguage.C; - } - - private IBuiltinBindingsProvider getBuiltinBindingsProvider() { - return new ANSICParserExtensionConfiguration().getBuiltinBindingsProvider(); - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/DOMToC99TokenMap.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/DOMToC99TokenMap.java deleted file mode 100644 index b49ed623cf2..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/DOMToC99TokenMap.java +++ /dev/null @@ -1,441 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.c99; - -import static org.eclipse.cdt.core.parser.IToken.tAMPER; -import static org.eclipse.cdt.core.parser.IToken.tAMPERASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tAND; -import static org.eclipse.cdt.core.parser.IToken.tARROW; -import static org.eclipse.cdt.core.parser.IToken.tASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tBITCOMPLEMENT; -import static org.eclipse.cdt.core.parser.IToken.tBITOR; -import static org.eclipse.cdt.core.parser.IToken.tBITORASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tCHAR; -import static org.eclipse.cdt.core.parser.IToken.tCOLON; -import static org.eclipse.cdt.core.parser.IToken.tCOMMA; -import static org.eclipse.cdt.core.parser.IToken.tCOMPLETION; -import static org.eclipse.cdt.core.parser.IToken.tDECR; -import static org.eclipse.cdt.core.parser.IToken.tDIV; -import static org.eclipse.cdt.core.parser.IToken.tDIVASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tDOT; -import static org.eclipse.cdt.core.parser.IToken.tELLIPSIS; -import static org.eclipse.cdt.core.parser.IToken.tEND_OF_INPUT; -import static org.eclipse.cdt.core.parser.IToken.tEOC; -import static org.eclipse.cdt.core.parser.IToken.tEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tFLOATINGPT; -import static org.eclipse.cdt.core.parser.IToken.tGT; -import static org.eclipse.cdt.core.parser.IToken.tGTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tIDENTIFIER; -import static org.eclipse.cdt.core.parser.IToken.tINCR; -import static org.eclipse.cdt.core.parser.IToken.tINTEGER; -import static org.eclipse.cdt.core.parser.IToken.tLBRACE; -import static org.eclipse.cdt.core.parser.IToken.tLBRACKET; -import static org.eclipse.cdt.core.parser.IToken.tLCHAR; -import static org.eclipse.cdt.core.parser.IToken.tLPAREN; -import static org.eclipse.cdt.core.parser.IToken.tLSTRING; -import static org.eclipse.cdt.core.parser.IToken.tLT; -import static org.eclipse.cdt.core.parser.IToken.tLTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tMINUS; -import static org.eclipse.cdt.core.parser.IToken.tMINUSASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tMOD; -import static org.eclipse.cdt.core.parser.IToken.tMODASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tNOT; -import static org.eclipse.cdt.core.parser.IToken.tNOTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tOR; -import static org.eclipse.cdt.core.parser.IToken.tPLUS; -import static org.eclipse.cdt.core.parser.IToken.tPLUSASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tQUESTION; -import static org.eclipse.cdt.core.parser.IToken.tRBRACE; -import static org.eclipse.cdt.core.parser.IToken.tRBRACKET; -import static org.eclipse.cdt.core.parser.IToken.tRPAREN; -import static org.eclipse.cdt.core.parser.IToken.tSEMI; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTL; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTLASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTR; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTRASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSTAR; -import static org.eclipse.cdt.core.parser.IToken.tSTARASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSTRING; -import static org.eclipse.cdt.core.parser.IToken.tUNKNOWN_CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF16CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF16STRING; -import static org.eclipse.cdt.core.parser.IToken.tUTF32CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF32STRING; -import static org.eclipse.cdt.core.parser.IToken.tXOR; -import static org.eclipse.cdt.core.parser.IToken.tXORASSIGN; -import static org.eclipse.cdt.core.parser.IToken.t__Bool; -import static org.eclipse.cdt.core.parser.IToken.t__Complex; -import static org.eclipse.cdt.core.parser.IToken.t__Imaginary; -import static org.eclipse.cdt.core.parser.IToken.t_auto; -import static org.eclipse.cdt.core.parser.IToken.t_break; -import static org.eclipse.cdt.core.parser.IToken.t_case; -import static org.eclipse.cdt.core.parser.IToken.t_char; -import static org.eclipse.cdt.core.parser.IToken.t_const; -import static org.eclipse.cdt.core.parser.IToken.t_continue; -import static org.eclipse.cdt.core.parser.IToken.t_default; -import static org.eclipse.cdt.core.parser.IToken.t_do; -import static org.eclipse.cdt.core.parser.IToken.t_double; -import static org.eclipse.cdt.core.parser.IToken.t_else; -import static org.eclipse.cdt.core.parser.IToken.t_enum; -import static org.eclipse.cdt.core.parser.IToken.t_extern; -import static org.eclipse.cdt.core.parser.IToken.t_float; -import static org.eclipse.cdt.core.parser.IToken.t_for; -import static org.eclipse.cdt.core.parser.IToken.t_goto; -import static org.eclipse.cdt.core.parser.IToken.t_if; -import static org.eclipse.cdt.core.parser.IToken.t_inline; -import static org.eclipse.cdt.core.parser.IToken.t_int; -import static org.eclipse.cdt.core.parser.IToken.t_long; -import static org.eclipse.cdt.core.parser.IToken.t_register; -import static org.eclipse.cdt.core.parser.IToken.t_restrict; -import static org.eclipse.cdt.core.parser.IToken.t_return; -import static org.eclipse.cdt.core.parser.IToken.t_short; -import static org.eclipse.cdt.core.parser.IToken.t_signed; -import static org.eclipse.cdt.core.parser.IToken.t_sizeof; -import static org.eclipse.cdt.core.parser.IToken.t_static; -import static org.eclipse.cdt.core.parser.IToken.t_struct; -import static org.eclipse.cdt.core.parser.IToken.t_switch; -import static org.eclipse.cdt.core.parser.IToken.t_typedef; -import static org.eclipse.cdt.core.parser.IToken.t_union; -import static org.eclipse.cdt.core.parser.IToken.t_unsigned; -import static org.eclipse.cdt.core.parser.IToken.t_void; -import static org.eclipse.cdt.core.parser.IToken.t_volatile; -import static org.eclipse.cdt.core.parser.IToken.t_while; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_And; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_AndAnd; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_AndAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_Arrow; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_Assign; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_Bang; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_Caret; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_CaretAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_Colon; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_Comma; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_Completion; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_Dot; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_DotDotDot; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_EOF_TOKEN; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_EQ; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_EndOfCompletion; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_GE; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_GT; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_Invalid; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_LE; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_LT; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_LeftBrace; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_LeftBracket; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_LeftParen; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_LeftShift; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_LeftShiftAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_Minus; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_MinusAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_MinusMinus; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_NE; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_Or; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_OrAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_OrOr; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_Percent; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_PercentAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_Plus; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_PlusAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_PlusPlus; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_Question; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_RightBrace; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_RightBracket; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_RightParen; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_RightShift; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_RightShiftAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_SemiColon; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_Slash; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_SlashAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_Star; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_StarAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_Tilde; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK__Bool; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK__Complex; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK__Imaginary; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_auto; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_break; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_case; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_char; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_charconst; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_const; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_continue; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_default; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_do; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_double; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_else; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_enum; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_extern; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_float; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_floating; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_for; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_goto; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_identifier; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_if; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_inline; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_int; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_integer; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_long; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_register; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_restrict; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_return; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_short; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_signed; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_sizeof; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_static; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_stringlit; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_struct; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_switch; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_typedef; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_union; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_unsigned; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_void; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_volatile; -import static org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym.TK_while; - -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -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 DOMToC99TokenMap implements IDOMTokenMap { - - public static final DOMToC99TokenMap DEFAULT_MAP = new DOMToC99TokenMap(); - - private DOMToC99TokenMap() { - // just a private constructor - } - - @Override - public int getEOFTokenKind() { - return TK_EOF_TOKEN; - } - - @Override - public int getEOCTokenKind() { - return TK_EndOfCompletion; - } - - @Override - public int mapKind(IToken token) { - - switch (token.getType()) { - case tIDENTIFIER: - return TK_identifier; - case tINTEGER: - return TK_integer; - case tCOLON: - return TK_Colon; - case tSEMI: - return TK_SemiColon; - case tCOMMA: - return TK_Comma; - case tQUESTION: - return TK_Question; - case tLPAREN: - return TK_LeftParen; - case tRPAREN: - return TK_RightParen; - case tLBRACKET: - return TK_LeftBracket; - case tRBRACKET: - return TK_RightBracket; - case tLBRACE: - return TK_LeftBrace; - case tRBRACE: - return TK_RightBrace; - case tPLUSASSIGN: - return TK_PlusAssign; - case tINCR: - return TK_PlusPlus; - case tPLUS: - return TK_Plus; - case tMINUSASSIGN: - return TK_MinusAssign; - case tDECR: - return TK_MinusMinus; - case tARROW: - return TK_Arrow; - case tMINUS: - return TK_Minus; - case tSTARASSIGN: - return TK_StarAssign; - case tSTAR: - return TK_Star; - case tMODASSIGN: - return TK_PercentAssign; - case tMOD: - return TK_Percent; - case tXORASSIGN: - return TK_CaretAssign; - case tXOR: - return TK_Caret; - case tAMPERASSIGN: - return TK_AndAssign; - case tAND: - return TK_AndAnd; - case tAMPER: - return TK_And; - case tBITORASSIGN: - return TK_OrAssign; - case tOR: - return TK_OrOr; - case tBITOR: - return TK_Or; - case tBITCOMPLEMENT: - return TK_Tilde; - case tNOTEQUAL: - return TK_NE; - case tNOT: - return TK_Bang; - case tEQUAL: - return TK_EQ; - case tASSIGN: - return TK_Assign; - case tUNKNOWN_CHAR: - return TK_Invalid; - case tSHIFTL: - return TK_LeftShift; - case tLTEQUAL: - return TK_LE; - case tLT: - return TK_LT; - case tSHIFTRASSIGN: - return TK_RightShiftAssign; - case tSHIFTR: - return TK_RightShift; - case tGTEQUAL: - return TK_GE; - case tGT: - return TK_GT; - case tSHIFTLASSIGN: - return TK_LeftShiftAssign; - case tELLIPSIS: - return TK_DotDotDot; - case tDOT: - return TK_Dot; - case tDIVASSIGN: - return TK_SlashAssign; - case tDIV: - return TK_Slash; - - case t_auto: - return TK_auto; - case t_break: - return TK_break; - case t_case: - return TK_case; - case t_char: - return TK_char; - case t_const: - return TK_const; - case t_continue: - return TK_continue; - case t_default: - return TK_default; - case t_do: - return TK_do; - case t_double: - return TK_double; - case t_else: - return TK_else; - case t_enum: - return TK_enum; - case t_extern: - return TK_extern; - case t_float: - return TK_float; - case t_for: - return TK_for; - case t_goto: - return TK_goto; - case t_if: - return TK_if; - case t_inline: - return TK_inline; - case t_int: - return TK_int; - case t_long: - return TK_long; - case t_register: - return TK_register; - case t_return: - return TK_return; - case t_short: - return TK_short; - case t_sizeof: - return TK_sizeof; - case t_static: - return TK_static; - case t_signed: - return TK_signed; - case t_struct: - return TK_struct; - case t_switch: - return TK_switch; - case t_typedef: - return TK_typedef; - case t_union: - return TK_union; - case t_unsigned: - return TK_unsigned; - case t_void: - return TK_void; - case t_volatile: - return TK_volatile; - case t_while: - return TK_while; - case tFLOATINGPT: - return TK_floating; - case tSTRING: - return TK_stringlit; - case tLSTRING: - return TK_stringlit; - case 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; - - default: - assert false : "token not recognized by the C99 parser: " + token.getType(); //$NON-NLS-1$ - return TK_Invalid; - } - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/DOMToISOCPPTokenMap.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/DOMToISOCPPTokenMap.java deleted file mode 100644 index fe465f6821a..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/DOMToISOCPPTokenMap.java +++ /dev/null @@ -1,562 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.cpp; - -import static org.eclipse.cdt.core.parser.IToken.tAMPER; -import static org.eclipse.cdt.core.parser.IToken.tAMPERASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tAND; -import static org.eclipse.cdt.core.parser.IToken.tARROW; -import static org.eclipse.cdt.core.parser.IToken.tARROWSTAR; -import static org.eclipse.cdt.core.parser.IToken.tASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tBITCOMPLEMENT; -import static org.eclipse.cdt.core.parser.IToken.tBITOR; -import static org.eclipse.cdt.core.parser.IToken.tBITORASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tCHAR; -import static org.eclipse.cdt.core.parser.IToken.tCOLON; -import static org.eclipse.cdt.core.parser.IToken.tCOLONCOLON; -import static org.eclipse.cdt.core.parser.IToken.tCOMMA; -import static org.eclipse.cdt.core.parser.IToken.tCOMPLETION; -import static org.eclipse.cdt.core.parser.IToken.tDECR; -import static org.eclipse.cdt.core.parser.IToken.tDIV; -import static org.eclipse.cdt.core.parser.IToken.tDIVASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tDOT; -import static org.eclipse.cdt.core.parser.IToken.tDOTSTAR; -import static org.eclipse.cdt.core.parser.IToken.tELLIPSIS; -import static org.eclipse.cdt.core.parser.IToken.tEND_OF_INPUT; -import static org.eclipse.cdt.core.parser.IToken.tEOC; -import static org.eclipse.cdt.core.parser.IToken.tEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tFLOATINGPT; -import static org.eclipse.cdt.core.parser.IToken.tGT; -import static org.eclipse.cdt.core.parser.IToken.tGTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tIDENTIFIER; -import static org.eclipse.cdt.core.parser.IToken.tINCR; -import static org.eclipse.cdt.core.parser.IToken.tINTEGER; -import static org.eclipse.cdt.core.parser.IToken.tLBRACE; -import static org.eclipse.cdt.core.parser.IToken.tLBRACKET; -import static org.eclipse.cdt.core.parser.IToken.tLCHAR; -import static org.eclipse.cdt.core.parser.IToken.tLPAREN; -import static org.eclipse.cdt.core.parser.IToken.tLSTRING; -import static org.eclipse.cdt.core.parser.IToken.tLT; -import static org.eclipse.cdt.core.parser.IToken.tLTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tMINUS; -import static org.eclipse.cdt.core.parser.IToken.tMINUSASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tMOD; -import static org.eclipse.cdt.core.parser.IToken.tMODASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tNOT; -import static org.eclipse.cdt.core.parser.IToken.tNOTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tOR; -import static org.eclipse.cdt.core.parser.IToken.tPLUS; -import static org.eclipse.cdt.core.parser.IToken.tPLUSASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tPOUND; -import static org.eclipse.cdt.core.parser.IToken.tQUESTION; -import static org.eclipse.cdt.core.parser.IToken.tRBRACE; -import static org.eclipse.cdt.core.parser.IToken.tRBRACKET; -import static org.eclipse.cdt.core.parser.IToken.tRPAREN; -import static org.eclipse.cdt.core.parser.IToken.tSEMI; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTL; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTLASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTR; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTRASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSTAR; -import static org.eclipse.cdt.core.parser.IToken.tSTARASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSTRING; -import static org.eclipse.cdt.core.parser.IToken.tUNKNOWN_CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF16CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF16STRING; -import static org.eclipse.cdt.core.parser.IToken.tUTF32CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF32STRING; -import static org.eclipse.cdt.core.parser.IToken.tXOR; -import static org.eclipse.cdt.core.parser.IToken.tXORASSIGN; -import static org.eclipse.cdt.core.parser.IToken.t_asm; -import static org.eclipse.cdt.core.parser.IToken.t_auto; -import static org.eclipse.cdt.core.parser.IToken.t_bool; -import static org.eclipse.cdt.core.parser.IToken.t_break; -import static org.eclipse.cdt.core.parser.IToken.t_case; -import static org.eclipse.cdt.core.parser.IToken.t_catch; -import static org.eclipse.cdt.core.parser.IToken.t_char; -import static org.eclipse.cdt.core.parser.IToken.t_class; -import static org.eclipse.cdt.core.parser.IToken.t_const; -import static org.eclipse.cdt.core.parser.IToken.t_const_cast; -import static org.eclipse.cdt.core.parser.IToken.t_continue; -import static org.eclipse.cdt.core.parser.IToken.t_default; -import static org.eclipse.cdt.core.parser.IToken.t_delete; -import static org.eclipse.cdt.core.parser.IToken.t_do; -import static org.eclipse.cdt.core.parser.IToken.t_double; -import static org.eclipse.cdt.core.parser.IToken.t_dynamic_cast; -import static org.eclipse.cdt.core.parser.IToken.t_else; -import static org.eclipse.cdt.core.parser.IToken.t_enum; -import static org.eclipse.cdt.core.parser.IToken.t_explicit; -import static org.eclipse.cdt.core.parser.IToken.t_export; -import static org.eclipse.cdt.core.parser.IToken.t_extern; -import static org.eclipse.cdt.core.parser.IToken.t_false; -import static org.eclipse.cdt.core.parser.IToken.t_float; -import static org.eclipse.cdt.core.parser.IToken.t_for; -import static org.eclipse.cdt.core.parser.IToken.t_friend; -import static org.eclipse.cdt.core.parser.IToken.t_goto; -import static org.eclipse.cdt.core.parser.IToken.t_if; -import static org.eclipse.cdt.core.parser.IToken.t_inline; -import static org.eclipse.cdt.core.parser.IToken.t_int; -import static org.eclipse.cdt.core.parser.IToken.t_long; -import static org.eclipse.cdt.core.parser.IToken.t_mutable; -import static org.eclipse.cdt.core.parser.IToken.t_namespace; -import static org.eclipse.cdt.core.parser.IToken.t_new; -import static org.eclipse.cdt.core.parser.IToken.t_operator; -import static org.eclipse.cdt.core.parser.IToken.t_private; -import static org.eclipse.cdt.core.parser.IToken.t_protected; -import static org.eclipse.cdt.core.parser.IToken.t_public; -import static org.eclipse.cdt.core.parser.IToken.t_register; -import static org.eclipse.cdt.core.parser.IToken.t_reinterpret_cast; -import static org.eclipse.cdt.core.parser.IToken.t_return; -import static org.eclipse.cdt.core.parser.IToken.t_short; -import static org.eclipse.cdt.core.parser.IToken.t_signed; -import static org.eclipse.cdt.core.parser.IToken.t_sizeof; -import static org.eclipse.cdt.core.parser.IToken.t_static; -import static org.eclipse.cdt.core.parser.IToken.t_static_cast; -import static org.eclipse.cdt.core.parser.IToken.t_struct; -import static org.eclipse.cdt.core.parser.IToken.t_switch; -import static org.eclipse.cdt.core.parser.IToken.t_template; -import static org.eclipse.cdt.core.parser.IToken.t_this; -import static org.eclipse.cdt.core.parser.IToken.t_throw; -import static org.eclipse.cdt.core.parser.IToken.t_true; -import static org.eclipse.cdt.core.parser.IToken.t_try; -import static org.eclipse.cdt.core.parser.IToken.t_typedef; -import static org.eclipse.cdt.core.parser.IToken.t_typeid; -import static org.eclipse.cdt.core.parser.IToken.t_typename; -import static org.eclipse.cdt.core.parser.IToken.t_union; -import static org.eclipse.cdt.core.parser.IToken.t_unsigned; -import static org.eclipse.cdt.core.parser.IToken.t_using; -import static org.eclipse.cdt.core.parser.IToken.t_virtual; -import static org.eclipse.cdt.core.parser.IToken.t_void; -import static org.eclipse.cdt.core.parser.IToken.t_volatile; -import static org.eclipse.cdt.core.parser.IToken.t_wchar_t; -import static org.eclipse.cdt.core.parser.IToken.t_while; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_And; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_AndAnd; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_AndAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_Arrow; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_ArrowStar; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_Assign; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_Bang; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_Caret; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_CaretAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_Colon; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_ColonColon; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_Comma; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_Completion; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_Dot; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_DotDotDot; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_DotStar; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_EOF_TOKEN; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_EQ; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_EndOfCompletion; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_GE; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_GT; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_Invalid; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_LE; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_LT; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_LeftBrace; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_LeftBracket; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_LeftParen; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_LeftShift; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_LeftShiftAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_Minus; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_MinusAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_MinusMinus; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_NE; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_Or; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_OrAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_OrOr; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_Percent; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_PercentAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_Plus; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_PlusAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_PlusPlus; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_Question; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_RightBrace; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_RightBracket; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_RightParen; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_RightShift; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_RightShiftAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_SemiColon; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_Slash; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_SlashAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_Star; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_StarAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_Tilde; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_asm; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_auto; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_bool; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_break; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_case; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_catch; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_char; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_charconst; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_class; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_const; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_const_cast; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_continue; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_default; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_delete; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_do; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_double; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_dynamic_cast; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_else; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_enum; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_explicit; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_export; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_extern; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_false; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_float; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_floating; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_for; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_friend; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_goto; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_identifier; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_if; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_inline; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_int; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_integer; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_long; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_mutable; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_namespace; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_new; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_operator; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_private; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_protected; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_public; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_register; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_reinterpret_cast; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_return; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_short; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_signed; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_sizeof; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_static; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_static_cast; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_stringlit; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_struct; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_switch; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_template; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_this; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_throw; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_true; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_try; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_typedef; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_typeid; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_typename; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_union; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_unsigned; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_using; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_virtual; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_void; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_volatile; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_wchar_t; -import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.TK_while; - -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -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 DOMToISOCPPTokenMap implements IDOMTokenMap { - - public static final DOMToISOCPPTokenMap DEFAULT_MAP = new DOMToISOCPPTokenMap(); - - private DOMToISOCPPTokenMap() { - // just a private constructor - } - - @Override - public int getEOFTokenKind() { - return TK_EOF_TOKEN; - } - - @Override - public int getEOCTokenKind() { - return TK_EndOfCompletion; - } - - @Override - public int mapKind(IToken token) { - - switch (token.getType()) { - case tIDENTIFIER: - return TK_identifier; - case tINTEGER: - return TK_integer; - case tCOLONCOLON: - return TK_ColonColon; - case tCOLON: - return TK_Colon; - case tSEMI: - return TK_SemiColon; - case tCOMMA: - return TK_Comma; - case tQUESTION: - return TK_Question; - case tLPAREN: - return TK_LeftParen; - case tRPAREN: - return TK_RightParen; - case tLBRACKET: - return TK_LeftBracket; - case tRBRACKET: - return TK_RightBracket; - case tLBRACE: - return TK_LeftBrace; - case tRBRACE: - return TK_RightBrace; - case tPLUSASSIGN: - return TK_PlusAssign; - case tINCR: - return TK_PlusPlus; - case tPLUS: - return TK_Plus; - case tMINUSASSIGN: - return TK_MinusAssign; - case tDECR: - return TK_MinusMinus; - case tARROWSTAR: - return TK_ArrowStar; - case tARROW: - return TK_Arrow; - case tMINUS: - return TK_Minus; - case tSTARASSIGN: - return TK_StarAssign; - case tSTAR: - return TK_Star; - case tMODASSIGN: - return TK_PercentAssign; - case tMOD: - return TK_Percent; - case tXORASSIGN: - return TK_CaretAssign; - case tXOR: - return TK_Caret; - case tAMPERASSIGN: - return TK_AndAssign; - case tAND: - return TK_AndAnd; - case tAMPER: - return TK_And; - case tBITORASSIGN: - return TK_OrAssign; - case tOR: - return TK_OrOr; - case tBITOR: - return TK_Or; - case tBITCOMPLEMENT: - return TK_Tilde; - case tNOTEQUAL: - return TK_NE; - case tNOT: - return TK_Bang; - case tEQUAL: - return TK_EQ; - case tASSIGN: - return TK_Assign; - case tUNKNOWN_CHAR: - return TK_Invalid; - case tSHIFTL: - return TK_LeftShift; - case tLTEQUAL: - return TK_LE; - case tLT: - return TK_LT; - case tSHIFTRASSIGN: - return TK_RightShiftAssign; - case tSHIFTR: - return TK_RightShift; - case tGTEQUAL: - return TK_GE; - case tGT: - return TK_GT; - case tSHIFTLASSIGN: - return TK_LeftShiftAssign; - case tELLIPSIS: - return TK_DotDotDot; - case tDOTSTAR: - return TK_DotStar; - case tDOT: - return TK_Dot; - case tDIVASSIGN: - return TK_SlashAssign; - case tDIV: - return TK_Slash; - - case t_asm: - return TK_asm; - case t_auto: - return TK_auto; - case t_bool: - return TK_bool; - case t_break: - return TK_break; - case t_case: - return TK_case; - case t_catch: - return TK_catch; - case t_char: - return TK_char; - case t_class: - return TK_class; - case t_const: - return TK_const; - case t_const_cast: - return TK_const_cast; - case t_continue: - return TK_continue; - case t_default: - return TK_default; - case t_delete: - return TK_delete; - case t_do: - return TK_do; - case t_double: - return TK_double; - case t_dynamic_cast: - return TK_dynamic_cast; - case t_else: - return TK_else; - case t_enum: - return TK_enum; - case t_explicit: - return TK_explicit; - case t_export: - return TK_export; - case t_extern: - return TK_extern; - case t_false: - return TK_false; - case t_float: - return TK_float; - case t_for: - return TK_for; - case t_friend: - return TK_friend; - case t_goto: - return TK_goto; - case t_if: - return TK_if; - case t_inline: - return TK_inline; - case t_int: - return TK_int; - case t_long: - return TK_long; - case t_mutable: - return TK_mutable; - case t_namespace: - return TK_namespace; - case t_new: - return TK_new; - case t_operator: - return TK_operator; - case t_private: - return TK_private; - case t_protected: - return TK_protected; - case t_public: - return TK_public; - case t_register: - return TK_register; - case t_reinterpret_cast: - return TK_reinterpret_cast; - case t_return: - return TK_return; - case t_short: - return TK_short; - case t_sizeof: - return TK_sizeof; - case t_static: - return TK_static; - case t_static_cast: - return TK_static_cast; - case t_signed: - return TK_signed; - case t_struct: - return TK_struct; - case t_switch: - return TK_switch; - case t_template: - return TK_template; - case t_this: - return TK_this; - case t_throw: - return TK_throw; - case t_true: - return TK_true; - case t_try: - return TK_try; - case t_typedef: - return TK_typedef; - case t_typeid: - return TK_typeid; - case t_typename: - return TK_typename; - case t_union: - return TK_union; - case t_unsigned: - return TK_unsigned; - case t_using: - return TK_using; - case t_virtual: - return TK_virtual; - case t_void: - return TK_void; - case t_volatile: - return TK_volatile; - case t_wchar_t: - return TK_wchar_t; - case t_while: - return TK_while; - - case tFLOATINGPT: - return TK_floating; - case tSTRING: - return TK_stringlit; - case tLSTRING: - return TK_stringlit; - case 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 tCOMPLETION: - return TK_Completion; - case tEOC: - return TK_EndOfCompletion; - case tEND_OF_INPUT: - return TK_EOF_TOKEN; - case tPOUND: - return TK_Invalid; - - default: - assert false : "token not recognized by the ISO CPP parser: " + token.getType(); //$NON-NLS-1$ - return TK_Invalid; - } - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/ISOCPPLanguage.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/ISOCPPLanguage.java deleted file mode 100644 index 56a359691af..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/ISOCPPLanguage.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.cpp; - -import java.util.Map; - -import org.eclipse.cdt.core.dom.ILinkage; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage; -import org.eclipse.cdt.core.dom.lrparser.IParser; -import org.eclipse.cdt.core.dom.lrparser.ScannerExtensionConfiguration; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration; -import org.eclipse.cdt.core.dom.parser.cpp.ANSICPPParserExtensionConfiguration; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParser; - -/** - * ILanguage implementation for the C++ parser. - * - * @author Mike Kucera - */ -public class ISOCPPLanguage extends BaseExtensibleLanguage { - - public static final String ID = "org.eclipse.cdt.core.lrparser.isocpp"; //$NON-NLS-1$ - - private static ISOCPPLanguage DEFAULT = new ISOCPPLanguage(); - - public static ISOCPPLanguage getDefault() { - return DEFAULT; - } - - @Override - protected IParser getParser(IScanner scanner, IIndex index, Map properties) { - return new CPPParser(scanner, DOMToISOCPPTokenMap.DEFAULT_MAP, getBuiltinBindingsProvider(), index, properties); - } - - @Override - protected IScannerExtensionConfiguration getScannerExtensionConfiguration() { - return ScannerExtensionConfiguration.createCPP(); - } - - @Override - public String getId() { - return ID; - } - - @Override - public int getLinkageID() { - return ILinkage.CPP_LINKAGE_ID; - } - - @Override - protected ParserLanguage getParserLanguage() { - return ParserLanguage.CPP; - } - - protected IBuiltinBindingsProvider getBuiltinBindingsProvider() { - return new ANSICPPParserExtensionConfiguration().getBuiltinBindingsProvider(); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/DOMToGCCTokenMap.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/DOMToGCCTokenMap.java deleted file mode 100644 index ab23aa22d19..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/DOMToGCCTokenMap.java +++ /dev/null @@ -1,466 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.gnu; - -import static org.eclipse.cdt.core.parser.IToken.tAMPER; -import static org.eclipse.cdt.core.parser.IToken.tAMPERASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tAND; -import static org.eclipse.cdt.core.parser.IToken.tARROW; -import static org.eclipse.cdt.core.parser.IToken.tASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tBITCOMPLEMENT; -import static org.eclipse.cdt.core.parser.IToken.tBITOR; -import static org.eclipse.cdt.core.parser.IToken.tBITORASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tCHAR; -import static org.eclipse.cdt.core.parser.IToken.tCOLON; -import static org.eclipse.cdt.core.parser.IToken.tCOMMA; -import static org.eclipse.cdt.core.parser.IToken.tCOMPLETION; -import static org.eclipse.cdt.core.parser.IToken.tDECR; -import static org.eclipse.cdt.core.parser.IToken.tDIV; -import static org.eclipse.cdt.core.parser.IToken.tDIVASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tDOT; -import static org.eclipse.cdt.core.parser.IToken.tELLIPSIS; -import static org.eclipse.cdt.core.parser.IToken.tEND_OF_INPUT; -import static org.eclipse.cdt.core.parser.IToken.tEOC; -import static org.eclipse.cdt.core.parser.IToken.tEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tFLOATINGPT; -import static org.eclipse.cdt.core.parser.IToken.tGT; -import static org.eclipse.cdt.core.parser.IToken.tGTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tIDENTIFIER; -import static org.eclipse.cdt.core.parser.IToken.tINCR; -import static org.eclipse.cdt.core.parser.IToken.tINTEGER; -import static org.eclipse.cdt.core.parser.IToken.tLBRACE; -import static org.eclipse.cdt.core.parser.IToken.tLBRACKET; -import static org.eclipse.cdt.core.parser.IToken.tLCHAR; -import static org.eclipse.cdt.core.parser.IToken.tLPAREN; -import static org.eclipse.cdt.core.parser.IToken.tLSTRING; -import static org.eclipse.cdt.core.parser.IToken.tLT; -import static org.eclipse.cdt.core.parser.IToken.tLTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tMINUS; -import static org.eclipse.cdt.core.parser.IToken.tMINUSASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tMOD; -import static org.eclipse.cdt.core.parser.IToken.tMODASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tNOT; -import static org.eclipse.cdt.core.parser.IToken.tNOTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tOR; -import static org.eclipse.cdt.core.parser.IToken.tPLUS; -import static org.eclipse.cdt.core.parser.IToken.tPLUSASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tQUESTION; -import static org.eclipse.cdt.core.parser.IToken.tRBRACE; -import static org.eclipse.cdt.core.parser.IToken.tRBRACKET; -import static org.eclipse.cdt.core.parser.IToken.tRPAREN; -import static org.eclipse.cdt.core.parser.IToken.tSEMI; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTL; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTLASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTR; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTRASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSTAR; -import static org.eclipse.cdt.core.parser.IToken.tSTARASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSTRING; -import static org.eclipse.cdt.core.parser.IToken.tUNKNOWN_CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF16CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF16STRING; -import static org.eclipse.cdt.core.parser.IToken.tUTF32CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF32STRING; -import static org.eclipse.cdt.core.parser.IToken.tXOR; -import static org.eclipse.cdt.core.parser.IToken.tXORASSIGN; -import static org.eclipse.cdt.core.parser.IToken.t__Bool; -import static org.eclipse.cdt.core.parser.IToken.t__Complex; -import static org.eclipse.cdt.core.parser.IToken.t__Imaginary; -import static org.eclipse.cdt.core.parser.IToken.t_asm; -import static org.eclipse.cdt.core.parser.IToken.t_auto; -import static org.eclipse.cdt.core.parser.IToken.t_break; -import static org.eclipse.cdt.core.parser.IToken.t_case; -import static org.eclipse.cdt.core.parser.IToken.t_char; -import static org.eclipse.cdt.core.parser.IToken.t_const; -import static org.eclipse.cdt.core.parser.IToken.t_continue; -import static org.eclipse.cdt.core.parser.IToken.t_default; -import static org.eclipse.cdt.core.parser.IToken.t_do; -import static org.eclipse.cdt.core.parser.IToken.t_double; -import static org.eclipse.cdt.core.parser.IToken.t_else; -import static org.eclipse.cdt.core.parser.IToken.t_enum; -import static org.eclipse.cdt.core.parser.IToken.t_extern; -import static org.eclipse.cdt.core.parser.IToken.t_float; -import static org.eclipse.cdt.core.parser.IToken.t_for; -import static org.eclipse.cdt.core.parser.IToken.t_goto; -import static org.eclipse.cdt.core.parser.IToken.t_if; -import static org.eclipse.cdt.core.parser.IToken.t_inline; -import static org.eclipse.cdt.core.parser.IToken.t_int; -import static org.eclipse.cdt.core.parser.IToken.t_long; -import static org.eclipse.cdt.core.parser.IToken.t_register; -import static org.eclipse.cdt.core.parser.IToken.t_restrict; -import static org.eclipse.cdt.core.parser.IToken.t_return; -import static org.eclipse.cdt.core.parser.IToken.t_short; -import static org.eclipse.cdt.core.parser.IToken.t_signed; -import static org.eclipse.cdt.core.parser.IToken.t_sizeof; -import static org.eclipse.cdt.core.parser.IToken.t_static; -import static org.eclipse.cdt.core.parser.IToken.t_struct; -import static org.eclipse.cdt.core.parser.IToken.t_switch; -import static org.eclipse.cdt.core.parser.IToken.t_typedef; -import static org.eclipse.cdt.core.parser.IToken.t_union; -import static org.eclipse.cdt.core.parser.IToken.t_unsigned; -import static org.eclipse.cdt.core.parser.IToken.t_void; -import static org.eclipse.cdt.core.parser.IToken.t_volatile; -import static org.eclipse.cdt.core.parser.IToken.t_while; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_And; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_AndAnd; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_AndAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_Arrow; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_Assign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_Bang; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_Caret; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_CaretAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_Colon; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_Comma; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_Completion; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_Dot; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_DotDotDot; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_EOF_TOKEN; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_EQ; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_EndOfCompletion; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_GE; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_GT; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_Invalid; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_LE; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_LT; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_LeftBrace; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_LeftBracket; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_LeftParen; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_LeftShift; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_LeftShiftAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_MAX; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_MIN; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_Minus; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_MinusAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_MinusMinus; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_NE; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_Or; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_OrAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_OrOr; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_Percent; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_PercentAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_Plus; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_PlusAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_PlusPlus; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_Question; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_RightBrace; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_RightBracket; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_RightParen; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_RightShift; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_RightShiftAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_SemiColon; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_Slash; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_SlashAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_Star; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_StarAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_Tilde; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK__Bool; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK__Complex; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK__Imaginary; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK___alignof__; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK___attribute__; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK___declspec; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_asm; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_auto; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_break; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_case; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_char; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_charconst; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_const; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_continue; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_default; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_do; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_double; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_else; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_enum; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_extern; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_float; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_floating; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_for; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_goto; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_identifier; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_if; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_inline; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_int; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_integer; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_long; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_register; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_restrict; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_return; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_short; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_signed; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_sizeof; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_static; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_stringlit; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_struct; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_switch; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_typedef; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_typeof; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_union; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_unsigned; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_void; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_volatile; -import static org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParsersym.TK_while; - -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.parser.IGCCToken; -import org.eclipse.cdt.core.parser.IToken; - -/** - * Maps tokens types returned by CPreprocessor to token types - * expected by the C99 parser. - * - * @author Mike Kucera - */ -public final class DOMToGCCTokenMap implements IDOMTokenMap { - - public static final DOMToGCCTokenMap DEFAULT_MAP = new DOMToGCCTokenMap(); - - private DOMToGCCTokenMap() { - // just a private constructor - } - - @Override - public int getEOFTokenKind() { - return TK_EOF_TOKEN; - } - - @Override - public int getEOCTokenKind() { - return TK_EndOfCompletion; - } - - @Override - public int mapKind(IToken token) { - - switch (token.getType()) { - case tIDENTIFIER: - return TK_identifier; - case tINTEGER: - return TK_integer; - case tCOLON: - return TK_Colon; - case tSEMI: - return TK_SemiColon; - case tCOMMA: - return TK_Comma; - case tQUESTION: - return TK_Question; - case tLPAREN: - return TK_LeftParen; - case tRPAREN: - return TK_RightParen; - case tLBRACKET: - return TK_LeftBracket; - case tRBRACKET: - return TK_RightBracket; - case tLBRACE: - return TK_LeftBrace; - case tRBRACE: - return TK_RightBrace; - case tPLUSASSIGN: - return TK_PlusAssign; - case tINCR: - return TK_PlusPlus; - case tPLUS: - return TK_Plus; - case tMINUSASSIGN: - return TK_MinusAssign; - case tDECR: - return TK_MinusMinus; - case tARROW: - return TK_Arrow; - case tMINUS: - return TK_Minus; - case tSTARASSIGN: - return TK_StarAssign; - case tSTAR: - return TK_Star; - case tMODASSIGN: - return TK_PercentAssign; - case tMOD: - return TK_Percent; - case tXORASSIGN: - return TK_CaretAssign; - case tXOR: - return TK_Caret; - case tAMPERASSIGN: - return TK_AndAssign; - case tAND: - return TK_AndAnd; - case tAMPER: - return TK_And; - case tBITORASSIGN: - return TK_OrAssign; - case tOR: - return TK_OrOr; - case tBITOR: - return TK_Or; - case tBITCOMPLEMENT: - return TK_Tilde; - case tNOTEQUAL: - return TK_NE; - case tNOT: - return TK_Bang; - case tEQUAL: - return TK_EQ; - case tASSIGN: - return TK_Assign; - case tUNKNOWN_CHAR: - return TK_Invalid; - case tSHIFTL: - return TK_LeftShift; - case tLTEQUAL: - return TK_LE; - case tLT: - return TK_LT; - case tSHIFTRASSIGN: - return TK_RightShiftAssign; - case tSHIFTR: - return TK_RightShift; - case tGTEQUAL: - return TK_GE; - case tGT: - return TK_GT; - case tSHIFTLASSIGN: - return TK_LeftShiftAssign; - case tELLIPSIS: - return TK_DotDotDot; - case tDOT: - return TK_Dot; - case tDIVASSIGN: - return TK_SlashAssign; - case tDIV: - return TK_Slash; - - case t_auto: - return TK_auto; - case t_break: - return TK_break; - case t_case: - return TK_case; - case t_char: - return TK_char; - case t_const: - return TK_const; - case t_continue: - return TK_continue; - case t_default: - return TK_default; - case t_do: - return TK_do; - case t_double: - return TK_double; - case t_else: - return TK_else; - case t_enum: - return TK_enum; - case t_extern: - return TK_extern; - case t_float: - return TK_float; - case t_for: - return TK_for; - case t_goto: - return TK_goto; - case t_if: - return TK_if; - case t_inline: - return TK_inline; - case t_int: - return TK_int; - case t_long: - return TK_long; - case t_register: - return TK_register; - case t_return: - return TK_return; - case t_short: - return TK_short; - case t_sizeof: - return TK_sizeof; - case t_static: - return TK_static; - case t_signed: - return TK_signed; - case t_struct: - return TK_struct; - case t_switch: - return TK_switch; - case t_typedef: - return TK_typedef; - case t_union: - return TK_union; - case t_unsigned: - return TK_unsigned; - case t_void: - return TK_void; - case t_volatile: - return TK_volatile; - case t_while: - return TK_while; - case tFLOATINGPT: - return TK_floating; - case tSTRING: - return TK_stringlit; - case tLSTRING: - return TK_stringlit; - case 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 GCC parser: " + token.getType(); //$NON-NLS-1$ - return TK_Invalid; - } - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/DOMToGPPTokenMap.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/DOMToGPPTokenMap.java deleted file mode 100644 index 8f48d4f4160..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/DOMToGPPTokenMap.java +++ /dev/null @@ -1,597 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.gnu; - -import static org.eclipse.cdt.core.parser.IToken.tAMPER; -import static org.eclipse.cdt.core.parser.IToken.tAMPERASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tAND; -import static org.eclipse.cdt.core.parser.IToken.tARROW; -import static org.eclipse.cdt.core.parser.IToken.tARROWSTAR; -import static org.eclipse.cdt.core.parser.IToken.tASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tBITCOMPLEMENT; -import static org.eclipse.cdt.core.parser.IToken.tBITOR; -import static org.eclipse.cdt.core.parser.IToken.tBITORASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tCHAR; -import static org.eclipse.cdt.core.parser.IToken.tCOLON; -import static org.eclipse.cdt.core.parser.IToken.tCOLONCOLON; -import static org.eclipse.cdt.core.parser.IToken.tCOMMA; -import static org.eclipse.cdt.core.parser.IToken.tCOMPLETION; -import static org.eclipse.cdt.core.parser.IToken.tDECR; -import static org.eclipse.cdt.core.parser.IToken.tDIV; -import static org.eclipse.cdt.core.parser.IToken.tDIVASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tDOT; -import static org.eclipse.cdt.core.parser.IToken.tDOTSTAR; -import static org.eclipse.cdt.core.parser.IToken.tELLIPSIS; -import static org.eclipse.cdt.core.parser.IToken.tEND_OF_INPUT; -import static org.eclipse.cdt.core.parser.IToken.tEOC; -import static org.eclipse.cdt.core.parser.IToken.tEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tFLOATINGPT; -import static org.eclipse.cdt.core.parser.IToken.tGT; -import static org.eclipse.cdt.core.parser.IToken.tGTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tIDENTIFIER; -import static org.eclipse.cdt.core.parser.IToken.tINCR; -import static org.eclipse.cdt.core.parser.IToken.tINTEGER; -import static org.eclipse.cdt.core.parser.IToken.tLBRACE; -import static org.eclipse.cdt.core.parser.IToken.tLBRACKET; -import static org.eclipse.cdt.core.parser.IToken.tLCHAR; -import static org.eclipse.cdt.core.parser.IToken.tLPAREN; -import static org.eclipse.cdt.core.parser.IToken.tLSTRING; -import static org.eclipse.cdt.core.parser.IToken.tLT; -import static org.eclipse.cdt.core.parser.IToken.tLTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tMINUS; -import static org.eclipse.cdt.core.parser.IToken.tMINUSASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tMOD; -import static org.eclipse.cdt.core.parser.IToken.tMODASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tNOT; -import static org.eclipse.cdt.core.parser.IToken.tNOTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tOR; -import static org.eclipse.cdt.core.parser.IToken.tPLUS; -import static org.eclipse.cdt.core.parser.IToken.tPLUSASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tPOUND; -import static org.eclipse.cdt.core.parser.IToken.tQUESTION; -import static org.eclipse.cdt.core.parser.IToken.tRBRACE; -import static org.eclipse.cdt.core.parser.IToken.tRBRACKET; -import static org.eclipse.cdt.core.parser.IToken.tRPAREN; -import static org.eclipse.cdt.core.parser.IToken.tSEMI; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTL; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTLASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTR; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTRASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSTAR; -import static org.eclipse.cdt.core.parser.IToken.tSTARASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSTRING; -import static org.eclipse.cdt.core.parser.IToken.tUNKNOWN_CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF16CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF16STRING; -import static org.eclipse.cdt.core.parser.IToken.tUTF32CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF32STRING; -import static org.eclipse.cdt.core.parser.IToken.tXOR; -import static org.eclipse.cdt.core.parser.IToken.tXORASSIGN; -import static org.eclipse.cdt.core.parser.IToken.t__Complex; -import static org.eclipse.cdt.core.parser.IToken.t__Imaginary; -import static org.eclipse.cdt.core.parser.IToken.t_asm; -import static org.eclipse.cdt.core.parser.IToken.t_auto; -import static org.eclipse.cdt.core.parser.IToken.t_bool; -import static org.eclipse.cdt.core.parser.IToken.t_break; -import static org.eclipse.cdt.core.parser.IToken.t_case; -import static org.eclipse.cdt.core.parser.IToken.t_catch; -import static org.eclipse.cdt.core.parser.IToken.t_char; -import static org.eclipse.cdt.core.parser.IToken.t_class; -import static org.eclipse.cdt.core.parser.IToken.t_const; -import static org.eclipse.cdt.core.parser.IToken.t_const_cast; -import static org.eclipse.cdt.core.parser.IToken.t_continue; -import static org.eclipse.cdt.core.parser.IToken.t_default; -import static org.eclipse.cdt.core.parser.IToken.t_delete; -import static org.eclipse.cdt.core.parser.IToken.t_do; -import static org.eclipse.cdt.core.parser.IToken.t_double; -import static org.eclipse.cdt.core.parser.IToken.t_dynamic_cast; -import static org.eclipse.cdt.core.parser.IToken.t_else; -import static org.eclipse.cdt.core.parser.IToken.t_enum; -import static org.eclipse.cdt.core.parser.IToken.t_explicit; -import static org.eclipse.cdt.core.parser.IToken.t_export; -import static org.eclipse.cdt.core.parser.IToken.t_extern; -import static org.eclipse.cdt.core.parser.IToken.t_false; -import static org.eclipse.cdt.core.parser.IToken.t_float; -import static org.eclipse.cdt.core.parser.IToken.t_for; -import static org.eclipse.cdt.core.parser.IToken.t_friend; -import static org.eclipse.cdt.core.parser.IToken.t_goto; -import static org.eclipse.cdt.core.parser.IToken.t_if; -import static org.eclipse.cdt.core.parser.IToken.t_inline; -import static org.eclipse.cdt.core.parser.IToken.t_int; -import static org.eclipse.cdt.core.parser.IToken.t_long; -import static org.eclipse.cdt.core.parser.IToken.t_mutable; -import static org.eclipse.cdt.core.parser.IToken.t_namespace; -import static org.eclipse.cdt.core.parser.IToken.t_new; -import static org.eclipse.cdt.core.parser.IToken.t_operator; -import static org.eclipse.cdt.core.parser.IToken.t_private; -import static org.eclipse.cdt.core.parser.IToken.t_protected; -import static org.eclipse.cdt.core.parser.IToken.t_public; -import static org.eclipse.cdt.core.parser.IToken.t_register; -import static org.eclipse.cdt.core.parser.IToken.t_reinterpret_cast; -import static org.eclipse.cdt.core.parser.IToken.t_restrict; -import static org.eclipse.cdt.core.parser.IToken.t_return; -import static org.eclipse.cdt.core.parser.IToken.t_short; -import static org.eclipse.cdt.core.parser.IToken.t_signed; -import static org.eclipse.cdt.core.parser.IToken.t_sizeof; -import static org.eclipse.cdt.core.parser.IToken.t_static; -import static org.eclipse.cdt.core.parser.IToken.t_static_cast; -import static org.eclipse.cdt.core.parser.IToken.t_struct; -import static org.eclipse.cdt.core.parser.IToken.t_switch; -import static org.eclipse.cdt.core.parser.IToken.t_template; -import static org.eclipse.cdt.core.parser.IToken.t_this; -import static org.eclipse.cdt.core.parser.IToken.t_throw; -import static org.eclipse.cdt.core.parser.IToken.t_true; -import static org.eclipse.cdt.core.parser.IToken.t_try; -import static org.eclipse.cdt.core.parser.IToken.t_typedef; -import static org.eclipse.cdt.core.parser.IToken.t_typeid; -import static org.eclipse.cdt.core.parser.IToken.t_typename; -import static org.eclipse.cdt.core.parser.IToken.t_union; -import static org.eclipse.cdt.core.parser.IToken.t_unsigned; -import static org.eclipse.cdt.core.parser.IToken.t_using; -import static org.eclipse.cdt.core.parser.IToken.t_virtual; -import static org.eclipse.cdt.core.parser.IToken.t_void; -import static org.eclipse.cdt.core.parser.IToken.t_volatile; -import static org.eclipse.cdt.core.parser.IToken.t_wchar_t; -import static org.eclipse.cdt.core.parser.IToken.t_while; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_And; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_AndAnd; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_AndAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_Arrow; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_ArrowStar; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_Assign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_Bang; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_Caret; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_CaretAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_Colon; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_ColonColon; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_Comma; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_Completion; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_Dot; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_DotDotDot; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_DotStar; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_EOF_TOKEN; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_EQ; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_EndOfCompletion; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_GE; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_GT; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_Invalid; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_LE; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_LT; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_LeftBrace; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_LeftBracket; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_LeftParen; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_LeftShift; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_LeftShiftAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_MAX; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_MIN; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_Minus; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_MinusAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_MinusMinus; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_NE; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_Or; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_OrAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_OrOr; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_Percent; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_PercentAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_Plus; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_PlusAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_PlusPlus; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_Question; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_RightBrace; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_RightBracket; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_RightParen; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_RightShift; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_RightShiftAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_SemiColon; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_Slash; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_SlashAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_Star; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_StarAssign; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_Tilde; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK__Complex; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK__Imaginary; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK___alignof__; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK___attribute__; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK___declspec; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_asm; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_auto; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_bool; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_break; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_case; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_catch; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_char; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_charconst; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_class; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_const; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_const_cast; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_continue; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_default; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_delete; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_do; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_double; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_dynamic_cast; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_else; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_enum; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_explicit; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_export; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_extern; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_false; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_float; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_floating; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_for; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_friend; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_goto; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_identifier; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_if; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_inline; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_int; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_integer; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_long; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_mutable; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_namespace; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_new; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_operator; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_private; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_protected; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_public; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_register; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_reinterpret_cast; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_restrict; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_return; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_short; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_signed; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_sizeof; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_static; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_static_cast; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_stringlit; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_struct; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_switch; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_template; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_this; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_throw; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_true; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_try; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_typedef; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_typeid; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_typename; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_typeof; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_union; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_unsigned; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_using; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_virtual; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_void; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_volatile; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_wchar_t; -import static org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym.TK_while; - -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.parser.IGCCToken; -import org.eclipse.cdt.core.parser.IToken; - -/** - * Maps tokens types returned by CPreprocessor to token types - * expected by the C++ parser. - * - * @author Mike Kucera - */ -public class DOMToGPPTokenMap implements IDOMTokenMap { - - public static final DOMToGPPTokenMap DEFAULT_MAP = new DOMToGPPTokenMap(); - - private DOMToGPPTokenMap() { - // just a private constructor - } - - @Override - public int getEOFTokenKind() { - return TK_EOF_TOKEN; - } - - @Override - public int getEOCTokenKind() { - return TK_EndOfCompletion; - } - - @Override - public int mapKind(IToken token) { - - switch (token.getType()) { - case tIDENTIFIER: - return TK_identifier; - case tINTEGER: - return TK_integer; - case tCOLONCOLON: - return TK_ColonColon; - case tCOLON: - return TK_Colon; - case tSEMI: - return TK_SemiColon; - case tCOMMA: - return TK_Comma; - case tQUESTION: - return TK_Question; - case tLPAREN: - return TK_LeftParen; - case tRPAREN: - return TK_RightParen; - case tLBRACKET: - return TK_LeftBracket; - case tRBRACKET: - return TK_RightBracket; - case tLBRACE: - return TK_LeftBrace; - case tRBRACE: - return TK_RightBrace; - case tPLUSASSIGN: - return TK_PlusAssign; - case tINCR: - return TK_PlusPlus; - case tPLUS: - return TK_Plus; - case tMINUSASSIGN: - return TK_MinusAssign; - case tDECR: - return TK_MinusMinus; - case tARROWSTAR: - return TK_ArrowStar; - case tARROW: - return TK_Arrow; - case tMINUS: - return TK_Minus; - case tSTARASSIGN: - return TK_StarAssign; - case tSTAR: - return TK_Star; - case tMODASSIGN: - return TK_PercentAssign; - case tMOD: - return TK_Percent; - case tXORASSIGN: - return TK_CaretAssign; - case tXOR: - return TK_Caret; - case tAMPERASSIGN: - return TK_AndAssign; - case tAND: - return TK_AndAnd; - case tAMPER: - return TK_And; - case tBITORASSIGN: - return TK_OrAssign; - case tOR: - return TK_OrOr; - case tBITOR: - return TK_Or; - case tBITCOMPLEMENT: - return TK_Tilde; - case tNOTEQUAL: - return TK_NE; - case tNOT: - return TK_Bang; - case tEQUAL: - return TK_EQ; - case tASSIGN: - return TK_Assign; - case tUNKNOWN_CHAR: - return TK_Invalid; - case tSHIFTL: - return TK_LeftShift; - case tLTEQUAL: - return TK_LE; - case tLT: - return TK_LT; - case tSHIFTRASSIGN: - return TK_RightShiftAssign; - case tSHIFTR: - return TK_RightShift; - case tGTEQUAL: - return TK_GE; - case tGT: - return TK_GT; - case tSHIFTLASSIGN: - return TK_LeftShiftAssign; - case tELLIPSIS: - return TK_DotDotDot; - case tDOTSTAR: - return TK_DotStar; - case tDOT: - return TK_Dot; - case tDIVASSIGN: - return TK_SlashAssign; - case tDIV: - return TK_Slash; - - case t_asm: - return TK_asm; - case t_auto: - return TK_auto; - case t_bool: - return TK_bool; - case t_break: - return TK_break; - case t_case: - return TK_case; - case t_catch: - return TK_catch; - case t_char: - return TK_char; - case t_class: - return TK_class; - case t_const: - return TK_const; - case t_const_cast: - return TK_const_cast; - case t_continue: - return TK_continue; - case t_default: - return TK_default; - case t_delete: - return TK_delete; - case t_do: - return TK_do; - case t_double: - return TK_double; - case t_dynamic_cast: - return TK_dynamic_cast; - case t_else: - return TK_else; - case t_enum: - return TK_enum; - case t_explicit: - return TK_explicit; - case t_export: - return TK_export; - case t_extern: - return TK_extern; - case t_false: - return TK_false; - case t_float: - return TK_float; - case t_for: - return TK_for; - case t_friend: - return TK_friend; - case t_goto: - return TK_goto; - case t_if: - return TK_if; - case t_inline: - return TK_inline; - case t_int: - return TK_int; - case t_long: - return TK_long; - case t_mutable: - return TK_mutable; - case t_namespace: - return TK_namespace; - case t_new: - return TK_new; - case t_operator: - return TK_operator; - case t_private: - return TK_private; - case t_protected: - return TK_protected; - case t_public: - return TK_public; - case t_register: - return TK_register; - case t_reinterpret_cast: - return TK_reinterpret_cast; - case t_return: - return TK_return; - case t_short: - return TK_short; - case t_sizeof: - return TK_sizeof; - case t_static: - return TK_static; - case t_static_cast: - return TK_static_cast; - case t_signed: - return TK_signed; - case t_struct: - return TK_struct; - case t_switch: - return TK_switch; - case t_template: - return TK_template; - case t_this: - return TK_this; - case t_throw: - return TK_throw; - case t_true: - return TK_true; - case t_try: - return TK_try; - case t_typedef: - return TK_typedef; - case t_typeid: - return TK_typeid; - case t_typename: - return TK_typename; - case t_union: - return TK_union; - case t_unsigned: - return TK_unsigned; - case t_using: - return TK_using; - case t_virtual: - return TK_virtual; - case t_void: - return TK_void; - case t_volatile: - return TK_volatile; - case t_wchar_t: - return TK_wchar_t; - case t_while: - return TK_while; - - case tFLOATINGPT: - return TK_floating; - case tSTRING: - return TK_stringlit; - case tLSTRING: - return TK_stringlit; - case 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__Complex: - return TK__Complex; - case t__Imaginary: - return TK__Imaginary; - case t_restrict: - return TK_restrict; - - case tPOUND: - return TK_Invalid; - - default: - assert false : "token not recognized by the GPP parser: " + token.getType(); //$NON-NLS-1$ - return TK_Invalid; - } - } - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/GCCLanguage.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/GCCLanguage.java deleted file mode 100644 index ce45703a39b..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/GCCLanguage.java +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.gnu; - -import java.util.Map; - -import org.eclipse.cdt.core.dom.ILinkage; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage; -import org.eclipse.cdt.core.dom.lrparser.IParser; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration; -import org.eclipse.cdt.core.dom.parser.c.GCCParserExtensionConfiguration; -import org.eclipse.cdt.core.dom.parser.c.GCCScannerExtensionConfiguration; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCParser; - -/** - * ILanguage implementation for the C99 parser. - * - * @author Mike Kucera - */ -public class GCCLanguage extends BaseExtensibleLanguage { - public static final String ID = "org.eclipse.cdt.core.lrparser.gcc"; //$NON-NLS-1$ - - private static GCCLanguage DEFAULT = new GCCLanguage(); - - public static GCCLanguage getDefault() { - return DEFAULT; - } - - @Override - protected IParser getParser(IScanner scanner, IIndex index, Map properties) { - return new GCCParser(scanner, DOMToGCCTokenMap.DEFAULT_MAP, getBuiltinBindingsProvider(), index, properties); - } - - @Override - protected IScannerExtensionConfiguration getScannerExtensionConfiguration() { - return GCCScannerExtensionConfiguration.getInstance(); - } - - @Override - public String getId() { - return ID; - } - - @Override - public int getLinkageID() { - return ILinkage.C_LINKAGE_ID; - } - - @Override - protected ParserLanguage getParserLanguage() { - return ParserLanguage.C; - } - - protected IBuiltinBindingsProvider getBuiltinBindingsProvider() { - return new GCCParserExtensionConfiguration().getBuiltinBindingsProvider(); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/GPPLanguage.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/GPPLanguage.java deleted file mode 100644 index 744bd6efd93..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/GPPLanguage.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.gnu; - -import java.util.Map; - -import org.eclipse.cdt.core.dom.ILinkage; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage; -import org.eclipse.cdt.core.dom.lrparser.IParser; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration; -import org.eclipse.cdt.core.dom.parser.cpp.GPPParserExtensionConfiguration; -import org.eclipse.cdt.core.dom.parser.cpp.GPPScannerExtensionConfiguration; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParser; - -/** - * ILanguage implementation for the GPP parser. - * - * @author Mike Kucera - */ -public class GPPLanguage extends BaseExtensibleLanguage { - - public static final String ID = "org.eclipse.cdt.core.lrparser.gpp"; //$NON-NLS-1$ - - private static GPPLanguage DEFAULT = new GPPLanguage(); - - public static GPPLanguage getDefault() { - return DEFAULT; - } - - @Override - protected IParser getParser(IScanner scanner, IIndex index, Map properties) { - return new GPPParser(scanner, DOMToGPPTokenMap.DEFAULT_MAP, getBuiltinBindingsProvider(), index, properties); - } - - @Override - protected IScannerExtensionConfiguration getScannerExtensionConfiguration() { - return GPPScannerExtensionConfiguration.getInstance(); - } - - @Override - public String getId() { - return ID; - } - - @Override - public int getLinkageID() { - return ILinkage.CPP_LINKAGE_ID; - } - - @Override - protected ParserLanguage getParserLanguage() { - return ParserLanguage.CPP; - } - - protected IBuiltinBindingsProvider getBuiltinBindingsProvider() { - return new GPPParserExtensionConfiguration().getBuiltinBindingsProvider(); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/AbstractTrialUndoActionProvider.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/AbstractTrialUndoActionProvider.java deleted file mode 100644 index 94bd6db7fde..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/AbstractTrialUndoActionProvider.java +++ /dev/null @@ -1,211 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.lpgextensions; - -import java.util.Collections; -import java.util.List; - -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.LexStream; -import lpg.lpgjavaruntime.PrsStream; - -/** - * Base class for parser action classes which support trial, undo and - * final actions. - */ -public abstract class AbstractTrialUndoActionProvider extends PrsStream - implements ITrialUndoActionProvider { - /** - * An action that does nothing. - */ - public static final Action EMPTY_ACTION = new Action<>(); - - /** - * The parser table interpreter. - */ - protected TrialUndoParser btParser; - - public AbstractTrialUndoActionProvider() { - super(); - } - - public AbstractTrialUndoActionProvider(LexStream lexStream) { - super(lexStream); - } - - /** - * Actions for reduction rules. - */ - protected Action[] ruleAction; - - protected ACT parserAction; - - public void setParserAction(ACT parserAction) { - this.parserAction = parserAction; - } - - /** - * The reduction rule which is currently being processed. - */ - protected Rule activeRule; - - /** - * Returns the number of tokens in the rule being reduced. - */ - public int getRuleTokenCount() { - return activeRule.getEndTokenOffset() - activeRule.getStartTokenOffset() + 1; - } - - /** - * Returns the tokens in the rule being reduced. - */ - @SuppressWarnings("unchecked") - public List getRuleTokens() { - return Collections.unmodifiableList(getTokens().subList(getFirstRealToken(activeRule.getStartTokenOffset()), - activeRule.getEndTokenOffset() + 1)); - } - - public void backtrack() { - btParser.backtrack(); - } - - @Override - public void setActiveRule(Rule rule) { - activeRule = rule; - } - - @Override - public Rule getActiveRule() { - return activeRule; - } - - @Override - public final boolean trialAction(int rule_number) { - return ruleAction[rule_number].doTrial(this, parserAction); - } - - @Override - public final void undoAction(int rule_number) { - ruleAction[rule_number].doUndo(this, parserAction); - } - - @Override - public final void finalAction(int rule_number) { - //System.out.println("finalAction: " + rule_number); //$NON-NLS-1$ - ruleAction[rule_number].doFinal(this, parserAction); - } - - public TrialUndoParser getParser() { - return btParser; - } - - /** - * Returns the offset of the leftmost token of the - * rule being reduced. - */ - private int getLeftSpan() { - return getFirstRealToken(activeRule.getStartTokenOffset()); - } - - /** - * Returns the leftmost token of the rule being reduced. - */ - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - /** - * Returns the offset of the rightmost token of the - * rule being reduced. - */ - private int getRightSpan() { - return activeRule.getEndTokenOffset(); - } - - /** - * Returns the rightmost token of the rule being reduced. - */ - public IToken getRightIToken() { - return super.getIToken(getRightSpan()); - } - - public static Action emptyAction() { - return new Action<>(); - } - - @SuppressWarnings("unused") - public static class Action { - - public void doFinal(ITrialUndoActionProvider provider, ACT action) { - // convenience method, can be overridden - - } - - public boolean doTrial(ITrialUndoActionProvider provider, ACT action) { - //System.out.println(provider.getActiveRule()); - //System.out.println(Rules.lookup(provider.getActiveRule().getRuleNumber())); - return false; - } - - public void doUndo(ITrialUndoActionProvider provider, ACT action) { - //System.out.println(provider.getActiveRule() + " - undo"); - // convenience method, can be overridden - } - } - - public static class DeclaredAction extends Action { - protected boolean hasUndo = false; - - @Override - @SuppressWarnings("unused") - public boolean doTrial(ITrialUndoActionProvider provider, ACT action) { - return true; - } - } - - /** - * Action for a null rule - */ - static final class NullAction extends Action { - @Override - @SuppressWarnings("unused") - public void doFinal(ITrialUndoActionProvider provider, ACT action) { - // do nothing - } - } - - static final class BadAction extends Action { - @Override - @SuppressWarnings("unused") - public void doFinal(ITrialUndoActionProvider provider, ACT action) { - throw new Error(new BadActionException()); - } - - @Override - @SuppressWarnings("unused") - public boolean doTrial(ITrialUndoActionProvider provider, ACT action) { - throw new Error(new BadActionException()); - } - - @Override - @SuppressWarnings("unused") - public void doUndo(ITrialUndoActionProvider provider, ACT action) { - throw new Error(new BadActionException()); - } - } - - static public class BadActionException extends Exception { - private static final long serialVersionUID = 1L; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/FixedBacktrackingParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/FixedBacktrackingParser.java deleted file mode 100644 index f0646c2e4a0..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/FixedBacktrackingParser.java +++ /dev/null @@ -1,614 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.lpgextensions; - -import lpg.lpgjavaruntime.BadParseException; -import lpg.lpgjavaruntime.BadParseSymFileException; -import lpg.lpgjavaruntime.ConfigurationElement; -import lpg.lpgjavaruntime.ConfigurationStack; -import lpg.lpgjavaruntime.IntTuple; -import lpg.lpgjavaruntime.Monitor; -import lpg.lpgjavaruntime.NotBacktrackParseTableException; -import lpg.lpgjavaruntime.ParseTable; -import lpg.lpgjavaruntime.RuleAction; -import lpg.lpgjavaruntime.Stacks; -import lpg.lpgjavaruntime.TokenStream; - -public class FixedBacktrackingParser extends Stacks { - private Monitor monitor = null; - private int START_STATE, NUM_RULES, LA_STATE_OFFSET, EOFT_SYMBOL, ERROR_SYMBOL, ACCEPT_ACTION, ERROR_ACTION; - - private int lastToken, currentAction; - private TokenStream tokStream; - private ParseTable prs; - private RuleAction ra; - private IntTuple action = new IntTuple(1 << 10), tokens; - private int actionStack[]; - private boolean skipTokens = false; // true if error productions are used to skip tokens - - // - // Override the getToken function in Stacks. - // - @Override - public final int getToken(int i) { - return tokens.get(locationStack[stateStackTop + (i - 1)]); - } - - public final int getCurrentRule() { - return currentAction; - } - - public final int getFirstToken() { - return tokStream.getFirstErrorToken(getToken(1)); - } - - public final int getFirstToken(int i) { - return tokStream.getFirstErrorToken(getToken(i)); - } - - public final int getLastToken() { - return tokStream.getLastErrorToken(lastToken); - } - - public final int getLastToken(int i) { - int l = (i >= prs.rhs(currentAction) ? lastToken : tokens.get(locationStack[stateStackTop + i] - 1)); - return tokStream.getLastErrorToken(l); - } - - public FixedBacktrackingParser(TokenStream tokStream, ParseTable prs, RuleAction ra) - throws BadParseSymFileException, NotBacktrackParseTableException { - this.tokStream = tokStream; - this.prs = prs; - this.ra = ra; - - START_STATE = prs.getStartState(); - NUM_RULES = prs.getNumRules(); - LA_STATE_OFFSET = prs.getLaStateOffset(); - EOFT_SYMBOL = prs.getEoftSymbol(); - ERROR_SYMBOL = prs.getErrorSymbol(); - ACCEPT_ACTION = prs.getAcceptAction(); - ERROR_ACTION = prs.getErrorAction(); - - if (!prs.isValidForParser()) - throw new BadParseSymFileException(); - if (!prs.getBacktrack()) - throw new NotBacktrackParseTableException(); - } - - public FixedBacktrackingParser(Monitor monitor, TokenStream tokStream, ParseTable prs, RuleAction ra) - throws BadParseSymFileException, NotBacktrackParseTableException { - this(tokStream, prs, ra); - this.monitor = monitor; - } - - // - // Allocate or reallocate all the stacks. Their sizes should always be the same. - // - public void reallocateOtherStacks(int start_token_index) { - // assert(super.stateStack != null); - if (this.actionStack == null) { - this.actionStack = new int[super.stateStack.length]; - super.locationStack = new int[super.stateStack.length]; - super.parseStack = new Object[super.stateStack.length]; - - actionStack[0] = 0; - locationStack[0] = start_token_index; - } else if (this.actionStack.length < super.stateStack.length) { - int old_length = this.actionStack.length; - - System.arraycopy(this.actionStack, 0, this.actionStack = new int[super.stateStack.length], 0, old_length); - System.arraycopy(super.locationStack, 0, super.locationStack = new int[super.stateStack.length], 0, - old_length); - System.arraycopy(super.parseStack, 0, super.parseStack = new Object[super.stateStack.length], 0, - old_length); - } - return; - } - - // - // Parse without attempting any Error token recovery - // - public Object parse() throws BadParseException { - // without an argument parse() will ignore error productions - return parse(0); - } - - // - // Parse input allowing up to max_error_count Error token recoveries. - // When max_error_count is 0, no Error token recoveries occur. - // When max_error is > 0, it limits the number of Error token recoveries. - // When max_error is < 0, the number of error token recoveries is unlimited. - // Also, such recoveries only require one token to be parsed beyond the recovery point. - // (normally two tokens beyond the recovery point must be parsed) - // Thus, a negative max_error_count should be used when error productions are used to - // skip tokens. - // - public Object parse(int max_error_count) throws BadParseException { - action.reset(); - tokStream.reset(); // Position at first token. - reallocateStateStack(); - stateStackTop = 0; - stateStack[0] = START_STATE; - skipTokens = max_error_count < 0; - - // - // The tuple tokens will eventually contain the sequence - // of tokens that resulted in a successful parse. We leave - // it up to the "Stream" implementer to define the predecessor - // of the first token as he sees fit. - // - tokens = new IntTuple(tokStream.getStreamLength()); - tokens.add(tokStream.getPrevious(tokStream.peek())); - - int repair_token = 0, start_token_index = tokStream.peek(), start_action_index = action.size(), // obviously 0 - temp_stack[] = new int[1]; - temp_stack[0] = START_STATE; - int initial_error_token = backtrackParse(repair_token); - for (int error_token = initial_error_token, count = 0; error_token != 0; error_token = backtrackParse( - repair_token), count++) { - if (count == max_error_count) - throw new BadParseException(initial_error_token); - action.reset(start_action_index); - tokStream.reset(start_token_index); - stateStackTop = temp_stack.length - 1; - System.arraycopy(temp_stack, 0, stateStack, 0, temp_stack.length); - reallocateOtherStacks(start_token_index); - - backtrackParseUpToError(repair_token, error_token); - - for (stateStackTop = findRecoveryStateIndex( - stateStackTop); stateStackTop >= 0; stateStackTop = findRecoveryStateIndex(stateStackTop - 1)) { - int recovery_token = tokens.get(locationStack[stateStackTop] - 1); - repair_token = errorRepair((recovery_token >= start_token_index ? recovery_token : error_token), - error_token); - if (repair_token != 0) - break; - } - - if (stateStackTop < 0) - throw new BadParseException(initial_error_token); - - temp_stack = new int[stateStackTop + 1]; - System.arraycopy(stateStack, 0, temp_stack, 0, temp_stack.length); - - start_action_index = action.size(); - start_token_index = tokStream.peek(); - } - - if (repair_token != 0) - tokens.add(repair_token); - int t; - for (t = start_token_index; tokStream.getKind(t) != EOFT_SYMBOL; t = tokStream.getNext(t)) - tokens.add(t); - tokens.add(t); - - return parseActions(); - } - - // - // Process reductions and continue... - // - private final void process_reductions() { - do { - stateStackTop -= (prs.rhs(currentAction) - 1); - ra.ruleAction(currentAction); - currentAction = prs.ntAction(stateStack[stateStackTop], prs.lhs(currentAction)); - } while (currentAction <= NUM_RULES); - return; - } - - // - // Now do the final parse of the input based on the actions in - // the list "action" and the sequence of tokens in list "tokens". - // - private Object parseActions() throws BadParseException { - int ti = -1, curtok; - lastToken = tokens.get(++ti); - curtok = tokens.get(++ti); - allocateOtherStacks(); - - // - // Reparse the input... - // - stateStackTop = -1; - currentAction = START_STATE; - for (int i = 0; i < action.size(); i++) { - // - // if the parser needs to stop processing, - // it may do so here. - // - if (monitor != null && monitor.isCancelled()) - return null; - - stateStack[++stateStackTop] = currentAction; - locationStack[stateStackTop] = ti; - - currentAction = action.get(i); - if (currentAction <= NUM_RULES) // a reduce action? - { - stateStackTop--; // make reduction look like shift-reduction - process_reductions(); - } else // a shift or shift-reduce action - { - lastToken = curtok; - curtok = tokens.get(++ti); - if (currentAction > ERROR_ACTION) // a shift-reduce action? - { - currentAction -= ERROR_ACTION; - process_reductions(); - } - } - } - - return parseStack[0]; - } - - // - // Process reductions and continue... - // - private int process_backtrack_reductions(int act) { - do { - stateStackTop -= (prs.rhs(act) - 1); - act = prs.ntAction(stateStack[stateStackTop], prs.lhs(act)); - } while (act <= NUM_RULES); - - return act; - } - - // - // Parse the input until either the parse completes successfully or - // an error is encountered. This function returns an integer that - // represents the last action that was executed by the parser. If - // the parse was succesful, then the tuple "action" contains the - // successful sequence of actions that was executed. - // - private int backtrackParse(int initial_token) { - // - // Allocate configuration stack. - // - ConfigurationStack configuration_stack = new ConfigurationStack(prs); - - // - // Keep parsing until we successfully reach the end of file or - // an error is encountered. The list of actions executed will - // be stored in the "action" tuple. - // - int error_token = 0, maxStackTop = stateStackTop, start_token = tokStream.peek(), - curtok = (initial_token > 0 ? initial_token : tokStream.getToken()), - current_kind = tokStream.getKind(curtok), act = tAction(stateStack[stateStackTop], current_kind); - - // - // The main driver loop - // - for (;;) { - // - // if the parser needs to stop processing, - // it may do so here. - // - if (monitor != null && monitor.isCancelled()) - return 0; - - if (act <= NUM_RULES) { - action.add(act); // save this reduce action - stateStackTop--; - act = process_backtrack_reductions(act); - } else if (act > ERROR_ACTION) { - action.add(act); // save this shift-reduce action - curtok = tokStream.getToken(); - current_kind = tokStream.getKind(curtok); - act = process_backtrack_reductions(act - ERROR_ACTION); - } else if (act < ACCEPT_ACTION) { - action.add(act); // save this shift action - curtok = tokStream.getToken(); - current_kind = tokStream.getKind(curtok); - } else if (act == ERROR_ACTION) { - error_token = (error_token > curtok ? error_token : curtok); - - ConfigurationElement configuration = configuration_stack.pop(); - if (configuration == null) - act = ERROR_ACTION; - else { - action.reset(configuration.action_length); - act = configuration.act; - curtok = configuration.curtok; - current_kind = tokStream.getKind(curtok); - tokStream.reset(curtok == initial_token ? start_token : tokStream.getNext(curtok)); - stateStackTop = configuration.stack_top; - configuration.retrieveStack(stateStack); - continue; - } - break; - } else if (act > ACCEPT_ACTION) { - if (configuration_stack.findConfiguration(stateStack, stateStackTop, curtok)) - act = ERROR_ACTION; - else { - configuration_stack.push(stateStack, stateStackTop, act + 1, curtok, action.size()); - act = prs.baseAction(act); - maxStackTop = stateStackTop > maxStackTop ? stateStackTop : maxStackTop; - } - continue; - } else - break; // assert(act == ACCEPT_ACTION); - try { - stateStack[++stateStackTop] = act; - } catch (IndexOutOfBoundsException e) { - reallocateStateStack(); - stateStack[stateStackTop] = act; - } - - act = tAction(act, current_kind); - } - - //System.out.println("****Number of configurations: " + configuration_stack.configurationSize()); - //System.out.println("****Number of elements in stack tree: " + configuration_stack.numStateElements()); - //System.out.println("****Number of elements in stacks: " + configuration_stack.stacksSize()); - //System.out.println("****Number of actions: " + action.size()); - //System.out.println("****Max Stack Size = " + maxStackTop); - //System.out.flush(); - return (act == ERROR_ACTION ? error_token : 0); - } - - private void backtrackParseUpToError(int initial_token, int error_token) { - // - // Allocate configuration stack. - // - ConfigurationStack configuration_stack = new ConfigurationStack(prs); - - // - // Keep parsing until we successfully reach the end of file or - // an error is encountered. The list of actions executed will - // be stored in the "action" tuple. - // - int start_token = tokStream.peek(), curtok = (initial_token > 0 ? initial_token : tokStream.getToken()), - current_kind = tokStream.getKind(curtok), act = tAction(stateStack[stateStackTop], current_kind); - - tokens.add(curtok); - locationStack[stateStackTop] = tokens.size(); - actionStack[stateStackTop] = action.size(); - - for (;;) { - // - // if the parser needs to stop processing, - // it may do so here. - // - if (monitor != null && monitor.isCancelled()) - return; - - if (act <= NUM_RULES) { - action.add(act); // save this reduce action - stateStackTop--; - act = process_backtrack_reductions(act); - } else if (act > ERROR_ACTION) { - action.add(act); // save this shift-reduce action - curtok = tokStream.getToken(); - current_kind = tokStream.getKind(curtok); - tokens.add(curtok); - act = process_backtrack_reductions(act - ERROR_ACTION); - } else if (act < ACCEPT_ACTION) { - action.add(act); // save this shift action - curtok = tokStream.getToken(); - current_kind = tokStream.getKind(curtok); - tokens.add(curtok); - } else if (act == ERROR_ACTION) { - if (curtok != error_token) { - ConfigurationElement configuration = configuration_stack.pop(); - if (configuration == null) - act = ERROR_ACTION; - else { - action.reset(configuration.action_length); - act = configuration.act; - int next_token_index = configuration.curtok; - tokens.reset(next_token_index); - curtok = tokens.get(next_token_index - 1); - current_kind = tokStream.getKind(curtok); - tokStream.reset(curtok == initial_token ? start_token : tokStream.getNext(curtok)); - stateStackTop = configuration.stack_top; - configuration.retrieveStack(stateStack); - locationStack[stateStackTop] = tokens.size(); - actionStack[stateStackTop] = action.size(); - continue; - } - } - break; - } else if (act > ACCEPT_ACTION) { - if (configuration_stack.findConfiguration(stateStack, stateStackTop, tokens.size())) - act = ERROR_ACTION; - else { - configuration_stack.push(stateStack, stateStackTop, act + 1, tokens.size(), action.size()); - act = prs.baseAction(act); - } - continue; - } else - break; // assert(act == ACCEPT_ACTION); - - stateStack[++stateStackTop] = act; // no need to check if out of bounds - locationStack[stateStackTop] = tokens.size(); - actionStack[stateStackTop] = action.size(); - act = tAction(act, current_kind); - } - - // assert(curtok == error_token); - - return; - } - - private boolean repairable(int error_token) { - // - // Allocate configuration stack. - // - ConfigurationStack configuration_stack = new ConfigurationStack(prs); - - // - // Keep parsing until we successfully reach the end of file or - // an error is encountered. The list of actions executed will - // be stored in the "action" tuple. - // - int start_token = tokStream.peek(), final_token = tokStream.getStreamLength(), // unreachable - curtok = 0, current_kind = ERROR_SYMBOL, act = tAction(stateStack[stateStackTop], current_kind); - - for (;;) { - if (act <= NUM_RULES) { - stateStackTop--; - act = process_backtrack_reductions(act); - } else if (act > ERROR_ACTION) { - curtok = tokStream.getToken(); - if (curtok > final_token) - return true; - current_kind = tokStream.getKind(curtok); - act = process_backtrack_reductions(act - ERROR_ACTION); - } else if (act < ACCEPT_ACTION) { - curtok = tokStream.getToken(); - if (curtok > final_token) - return true; - current_kind = tokStream.getKind(curtok); - } else if (act == ERROR_ACTION) { - ConfigurationElement configuration = configuration_stack.pop(); - if (configuration == null) - act = ERROR_ACTION; - else { - stateStackTop = configuration.stack_top; - configuration.retrieveStack(stateStack); - act = configuration.act; - curtok = configuration.curtok; - if (curtok == 0) { - current_kind = ERROR_SYMBOL; - tokStream.reset(start_token); - } else { - current_kind = tokStream.getKind(curtok); - tokStream.reset(tokStream.getNext(curtok)); - } - continue; - } - break; - } else if (act > ACCEPT_ACTION) { - if (configuration_stack.findConfiguration(stateStack, stateStackTop, curtok)) - act = ERROR_ACTION; - else { - configuration_stack.push(stateStack, stateStackTop, act + 1, curtok, 0); - act = prs.baseAction(act); - } - continue; - } else - break; // assert(act == ACCEPT_ACTION); - try { - // - // We consider a configuration to be acceptable for recovery - // if we are able to consume enough symbols in the remainining - // tokens to reach another potential recovery point past the - // original error token. - // - if ((curtok > error_token) && (final_token == tokStream.getStreamLength())) { - // - // If the ERROR_SYMBOL is a valid Action Adjunct in the state - // "act" then we set the terminating token as the successor of - // the current token. I.e., we have to be able to parse at least - // two tokens past the resynch point before we claim victory. - // - if (recoverableState(act)) - final_token = skipTokens ? curtok : tokStream.getNext(curtok); - } - - stateStack[++stateStackTop] = act; - } catch (IndexOutOfBoundsException e) { - reallocateStateStack(); - stateStack[stateStackTop] = act; - } - - act = tAction(act, current_kind); - } - - // - // If we can reach the end of the input successfully, we claim victory. - // - return (act == ACCEPT_ACTION); - } - - private boolean recoverableState(int state) { - for (int k = prs.asi(state); prs.asr(k) != 0; k++) { - if (prs.asr(k) == ERROR_SYMBOL) - return true; - } - return false; - } - - private int findRecoveryStateIndex(int start_index) { - int i; - for (i = start_index; i >= 0; i--) { - // - // If the ERROR_SYMBOL is an Action Adjunct in state stateStack[i] - // then chose i as the index of the state to recover on. - // - if (recoverableState(stateStack[i])) - break; - } - - if (i >= 0) // if a recoverable state, remove null reductions, if any. - { - int k; - for (k = i - 1; k >= 0; k--) { - if (locationStack[k] != locationStack[i]) - break; - } - i = k + 1; - } - - return i; - } - - private int errorRepair(int recovery_token, int error_token) { - int temp_stack[] = new int[stateStackTop + 1]; - System.arraycopy(stateStack, 0, temp_stack, 0, temp_stack.length); - for (; tokStream.getKind(recovery_token) != EOFT_SYMBOL; recovery_token = tokStream.getNext(recovery_token)) { - tokStream.reset(recovery_token); - if (repairable(error_token)) - break; - stateStackTop = temp_stack.length - 1; - System.arraycopy(temp_stack, 0, stateStack, 0, temp_stack.length); - } - - if (tokStream.getKind(recovery_token) == EOFT_SYMBOL) { - tokStream.reset(recovery_token); - if (!repairable(error_token)) { - stateStackTop = temp_stack.length - 1; - System.arraycopy(temp_stack, 0, stateStack, 0, temp_stack.length); - return 0; - } - } - - // - // - // - stateStackTop = temp_stack.length - 1; - System.arraycopy(temp_stack, 0, stateStack, 0, temp_stack.length); - tokStream.reset(recovery_token); - tokens.reset(locationStack[stateStackTop] - 1); - action.reset(actionStack[stateStackTop]); - - return tokStream.makeErrorToken(tokens.get(locationStack[stateStackTop] - 1), - tokStream.getPrevious(recovery_token), error_token, ERROR_SYMBOL); - } - - private int tAction(int act, int sym) { - act = prs.tAction(act, sym); - if (act > LA_STATE_OFFSET) { - int next_token = tokStream.peek(); - act = prs.lookAhead(act - LA_STATE_OFFSET, tokStream.getKind(next_token)); - while (act > LA_STATE_OFFSET) { - next_token = tokStream.getNext(next_token); - act = prs.lookAhead(act - LA_STATE_OFFSET, tokStream.getKind(next_token)); - } - } - return act; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/ITrialUndoActionProvider.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/ITrialUndoActionProvider.java deleted file mode 100644 index 36073a13d7e..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/ITrialUndoActionProvider.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *********************************************************************************/ - -package org.eclipse.cdt.core.dom.lrparser.lpgextensions; - -/** - * Provides trial, undo, and final actions for the - * TrialUndoBacktrackingParser. - */ -public interface ITrialUndoActionProvider { - /** - * Invokes the trial action that corresponds to the given rule number. - */ - boolean trialAction(int ruleNumber); - - /** - * Invokes the undo action that corresponds to the given rule number. - */ - void undoAction(int ruleNumber); - - /** - * Invokes the final action that corresponds to the given rule number. - */ - void finalAction(int ruleNumber); - - /** - * Sets the given Rule as the active rule for this provider. - */ - void setActiveRule(Rule rule); - - /** - * Returns the active rule for this provider. - */ - Rule getActiveRule(); -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/ParserState.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/ParserState.java deleted file mode 100644 index a99ec136eb6..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/ParserState.java +++ /dev/null @@ -1,144 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.lpgextensions; - -import java.util.LinkedList; - -import lpg.lpgjavaruntime.ConfigurationStack; -import lpg.lpgjavaruntime.IntTuple; -import lpg.lpgjavaruntime.TokenStream; - -class ParserState { - private static final int STACK_INCREMENT = 1024; - - public int lastToken; - public int currentAction; - public IntTuple tokens; - public int actionStack[]; - public int stateStackTop; - public int[] stateStack; - public int actionCount; - public int totalCommits; - - public int[] parserLocationStack; - public int[] undoStack; - - // Error recovery - public int[] locationStack; - public int repair_token; - - /** - * The number of trial actions that have been executed since the last backtrackable point was encountered. - */ - public int trialActionCount; - - /** - * A stack that contains the number of trial actions that were executed at different backtrackable points. - */ - public LinkedList trialActionStack; - - /** - * Trial actions that have been executed but not yet committed. - */ - @SuppressWarnings("rawtypes") - public LinkedList pendingCommits; - - public ConfigurationStack configurationStack; - - public int act; - - public int curtok; - - public ParserState(int startState, TokenStream tokStream) { - reallocateStateStack(); - stateStackTop = 0; - stateStack[0] = startState; - - // - // The tuple tokens will eventually contain the sequence - // of tokens that resulted in a successful parse. We leave - // it up to the "Stream" implementer to define the predecessor - // of the first token as he sees fit. - // - tokStream.reset(); // Position at first token. - tokens = new IntTuple(tokStream.getStreamLength()); - tokens.add(tokStream.getPrevious(tokStream.peek())); - } - - public void allocateOtherStacks() { - locationStack = new int[stateStack.length]; - } - - public void reallocateStateStack() { - int old_stack_length = (stateStack == null ? 0 : stateStack.length), - stack_length = old_stack_length + STACK_INCREMENT; - if (stateStack == null) - stateStack = new int[stack_length]; - else - System.arraycopy(stateStack, 0, stateStack = new int[stack_length], 0, old_stack_length); - return; - } - - // - // Allocate or reallocate all the stacks. Their sizes should always be the - // same. - // - public void reallocateOtherStacks(int start_token_index) { - // assert(stateStack != null); - if (this.actionStack == null) { - this.actionStack = new int[stateStack.length]; - locationStack = new int[stateStack.length]; - - actionStack[0] = 0; - undoStack = new int[stateStack.length]; - - locationStack[0] = start_token_index; - - parserLocationStack = new int[stateStack.length]; - parserLocationStack[0] = start_token_index; - - } else if (this.actionStack.length < stateStack.length) { - int old_length = this.actionStack.length; - - System.arraycopy(this.actionStack, 0, this.actionStack = new int[stateStack.length], 0, old_length); - System.arraycopy(this.undoStack, 0, this.undoStack = new int[stateStack.length], 0, old_length); - System.arraycopy(locationStack, 0, locationStack = new int[stateStack.length], 0, old_length); - } - return; - } - - @SuppressWarnings("nls") - public void dumpState() { - System.out.print(curtok); - System.out.print("\t"); - System.out.print(act); - System.out.print("\t"); - dump(stateStack, stateStackTop); - System.out.print("\t"); - dump(parserLocationStack, stateStackTop); - System.out.println(); - } - - @SuppressWarnings("nls") - private void dump(int[] array, int limit) { - System.out.print("["); - for (int i = 0; i < limit; i++) { - if (i > 0) { - System.out.print(", "); - } - System.out.print(array[i]); - } - System.out.print("]"); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/Rule.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/Rule.java deleted file mode 100644 index 6089895b8d6..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/Rule.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *********************************************************************************/ - -package org.eclipse.cdt.core.dom.lrparser.lpgextensions; - -/** - * Provides information about a reduction rule that a parser has - * encountered. - */ -class Rule { - private int ruleNumber; - private int startTokenOffset; - private int endTokenOffset; - private RULE_DATA data; - - public Rule(int ruleNumber, int startTokenOffset, int endTokenOffset) { - this.ruleNumber = ruleNumber; - this.startTokenOffset = startTokenOffset; - this.endTokenOffset = endTokenOffset; - } - - public int getRuleNumber() { - return ruleNumber; - } - - public int getStartTokenOffset() { - return startTokenOffset; - } - - public int getEndTokenOffset() { - return endTokenOffset; - } - - @Override - public String toString() { - return String.valueOf(ruleNumber); - } - - public RULE_DATA getData() { - return data; - } - - public void setData(RULE_DATA data) { - this.data = data; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/TrialUndoParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/TrialUndoParser.java deleted file mode 100644 index 6181c7b67d4..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/TrialUndoParser.java +++ /dev/null @@ -1,671 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.lrparser.lpgextensions; - -import java.util.LinkedList; - -import lpg.lpgjavaruntime.BadParseException; -import lpg.lpgjavaruntime.BadParseSymFileException; -import lpg.lpgjavaruntime.ConfigurationElement; -import lpg.lpgjavaruntime.ConfigurationStack; -import lpg.lpgjavaruntime.Monitor; -import lpg.lpgjavaruntime.NotBacktrackParseTableException; -import lpg.lpgjavaruntime.ParseTable; -import lpg.lpgjavaruntime.TokenStream; - -public class TrialUndoParser { - private Monitor monitor = null; - private int START_STATE, NUM_RULES, LA_STATE_OFFSET, EOFT_SYMBOL, ERROR_SYMBOL, ACCEPT_ACTION, ERROR_ACTION; - - private TokenStream tokStream; - private ParseTable prs; - private ITrialUndoActionProvider actionProvider; - private boolean skipTokens = false; // true if error productions are used to - // skip tokens - - private ParserState state; - - /** - * Signals that a backtrack was requested by a trial action. - */ - private boolean backtrackRequested; - - // - // Override the getToken function in Stacks. - // - public final int getToken(int i) { - return state.tokens.get(state.parserLocationStack[state.stateStackTop + (i - 1)]); - } - - public int getTokenOffset() { - return state.parserLocationStack[state.stateStackTop]; - } - - public final int getCurrentRule() { - return state.currentAction; - } - - public final int getFirstToken() { - return tokStream.getFirstErrorToken(getToken(1)); - } - - public final int getFirstToken(int i) { - return tokStream.getFirstErrorToken(getToken(i)); - } - - public final int getLastToken() { - return tokStream.getLastErrorToken(state.lastToken); - } - - public final int getLastToken(int i) { - int l = (i >= prs.rhs(state.currentAction) ? state.lastToken - : state.tokens.get(state.locationStack[state.stateStackTop + i] - 1)); - return tokStream.getLastErrorToken(l); - } - - public TrialUndoParser(TokenStream tokStream, ParseTable prs, ITrialUndoActionProvider ra) - throws BadParseSymFileException, NotBacktrackParseTableException { - this.tokStream = tokStream; - this.prs = prs; - this.actionProvider = ra; - - START_STATE = prs.getStartState(); - NUM_RULES = prs.getNumRules(); - LA_STATE_OFFSET = prs.getLaStateOffset(); - EOFT_SYMBOL = prs.getEoftSymbol(); - ERROR_SYMBOL = prs.getErrorSymbol(); - ACCEPT_ACTION = prs.getAcceptAction(); - ERROR_ACTION = prs.getErrorAction(); - - if (!prs.isValidForParser()) - throw new BadParseSymFileException(); - if (!prs.getBacktrack()) - throw new NotBacktrackParseTableException(); - } - - public TrialUndoParser(Monitor monitor, TokenStream tokStream, ParseTable prs, ITrialUndoActionProvider ra) - throws BadParseSymFileException, NotBacktrackParseTableException { - this(tokStream, prs, ra); - this.monitor = monitor; - } - - // - // Parse without attempting any Error token recovery - // - public Object parse() throws BadParseException { - // without an argument parse() will ignore error productions - return parse(0); - } - - // - // Parse input allowing up to max_error_count Error token recoveries. - // When max_error_count is 0, no Error token recoveries occur. - // When max_error is > 0, it limits the number of Error token recoveries. - // When max_error is < 0, the number of error token recoveries is unlimited. - // Also, such recoveries only require one token to be parsed beyond the - // recovery point. - // (normally two tokens beyond the recovery point must be parsed) - // Thus, a negative max_error_count should be used when error productions - // are used to - // skip tokens. - // - public Object parse(int max_error_count) throws BadParseException { - state = new ParserState(START_STATE, tokStream); - skipTokens = max_error_count < 0; - - state.pendingCommits = new LinkedList(); - backtrackRequested = false; - state.trialActionCount = 0; - - // Next "start" token - state.repair_token = 0; - - int start_token_index = tokStream.peek(); - int start_action_index = 0; - - // Last commit point - int[] temp_stack = new int[1]; - temp_stack[0] = START_STATE; - - state.reallocateOtherStacks(start_token_index); - - int initial_error_token = backtrackParse(state.repair_token); - for (int error_token = initial_error_token, count = 0; error_token != 0; error_token = backtrackParse( - state.repair_token), count++) { - if (count == max_error_count) - throw new BadParseException(initial_error_token); - state.actionCount = start_action_index; - tokStream.reset(start_token_index); - state.stateStackTop = temp_stack.length - 1; - System.arraycopy(temp_stack, 0, state.stateStack, 0, temp_stack.length); - state.reallocateOtherStacks(start_token_index); - - backtrackParseUpToError(state.repair_token, error_token); - - for (state.stateStackTop = findRecoveryStateIndex( - state.stateStackTop); state.stateStackTop >= 0; state.stateStackTop = findRecoveryStateIndex( - state.stateStackTop - 1)) { - int recovery_token = state.tokens.get(state.locationStack[state.stateStackTop] - 1); - state.repair_token = errorRepair((recovery_token >= start_token_index ? recovery_token : error_token), - error_token); - if (state.repair_token != 0) - break; - } - - if (state.stateStackTop < 0) - throw new BadParseException(initial_error_token); - - temp_stack = new int[state.stateStackTop + 1]; - System.arraycopy(state.stateStack, 0, temp_stack, 0, temp_stack.length); - - start_action_index = state.actionCount; - start_token_index = tokStream.peek(); - } - - if (state.repair_token != 0) - state.tokens.add(state.repair_token); - int t; - for (t = start_token_index; tokStream.getKind(t) != EOFT_SYMBOL; t = tokStream.getNext(t)) - state.tokens.add(t); - state.tokens.add(t); - - return null; - } - - // - // Process reductions and continue... - // - private int process_backtrack_reductions(int act) { - do { - state.stateStackTop -= (prs.rhs(act) - 1); - trialAction(act); - if (backtrackRequested) { - backtrackRequested = false; - return ERROR_ACTION; - } - act = prs.ntAction(state.stateStack[state.stateStackTop], prs.lhs(act)); - } while (act <= NUM_RULES); - return act; - } - - // - // Process reductions and continue... - // - private int process_repair_reductions(int act) { - do { - System.out.println("process_repair_reductions: " + act); - state.stateStackTop -= (prs.rhs(act) - 1); - act = prs.ntAction(state.stateStack[state.stateStackTop], prs.lhs(act)); - } while (act <= NUM_RULES); - return act; - } - - // - // Parse the input until either the parse completes successfully or - // an error is encountered. This function returns an integer that - // represents the last action that was executed by the parser. If - // the parse was succesful, then the tuple "action" contains the - // successful sequence of actions that was executed. - // - private int backtrackParse(int initial_token) { - // - // Allocate configuration stack. - // - state.configurationStack = new ConfigurationStack(prs); - state.trialActionStack = new LinkedList<>(); - state.trialActionStack.add(Integer.valueOf(state.trialActionCount)); - - // - // Keep parsing until we successfully reach the end of file or - // an error is encountered. The list of actions executed will - // be stored in the "action" tuple. - // - int error_token = 0; - int maxStackTop = state.stateStackTop; - int start_token = tokStream.peek(); - state.curtok = (initial_token > 0 ? initial_token : tokStream.getToken()); - int current_kind = tokStream.getKind(state.curtok); - state.act = tAction(state.stateStack[state.stateStackTop], current_kind); - - // - // The main driver loop - // - for (;;) { - // - // if the parser needs to stop processing, - // it may do so here. - // - if (monitor != null && monitor.isCancelled()) - return 0; - - state.parserLocationStack[state.stateStackTop] = state.curtok; - - if (state.act <= NUM_RULES) { - state.actionCount++; - state.stateStackTop--; - state.act = process_backtrack_reductions(state.act); - } else if (state.act > ERROR_ACTION) { - state.actionCount++; - state.lastToken = state.curtok; - state.curtok = tokStream.getToken(); - current_kind = tokStream.getKind(state.curtok); - state.act = process_backtrack_reductions(state.act - ERROR_ACTION); - } else if (state.act < ACCEPT_ACTION) { - state.actionCount++; - state.lastToken = state.curtok; - state.curtok = tokStream.getToken(); - current_kind = tokStream.getKind(state.curtok); - } - - if (state.act == ERROR_ACTION) { - error_token = (error_token > state.curtok ? error_token : state.curtok); - - ConfigurationElement configuration = state.configurationStack.pop(); - if (configuration == null) - state.act = ERROR_ACTION; - else { - boolean shouldPop = prs.baseAction(configuration.conflict_index) == 0; - undoActions(shouldPop); - state.actionCount = configuration.action_length; - state.act = configuration.act; - state.curtok = configuration.curtok; - current_kind = tokStream.getKind(state.curtok); - tokStream.reset(state.curtok == initial_token ? start_token : tokStream.getNext(state.curtok)); - state.stateStackTop = configuration.stack_top; - configuration.retrieveStack(state.stateStack); - continue; - } - break; - } - if (state.act > ACCEPT_ACTION && state.act != ERROR_ACTION) { - if (state.configurationStack.findConfiguration(state.stateStack, state.stateStackTop, state.curtok)) - state.act = ERROR_ACTION; - else { - state.configurationStack.push(state.stateStack, state.stateStackTop, state.act + 1, state.curtok, - state.actionCount); - state.trialActionStack.add(Integer.valueOf(state.trialActionCount)); - state.act = prs.baseAction(state.act); - maxStackTop = state.stateStackTop > maxStackTop ? state.stateStackTop : maxStackTop; - } - continue; - } else if (state.act == ACCEPT_ACTION) { - break; - } - try { - state.stateStack[++state.stateStackTop] = state.act; - } catch (IndexOutOfBoundsException e) { - state.reallocateStateStack(); - state.stateStack[state.stateStackTop] = state.act; - } - - state.act = tAction(state.act, current_kind); - } - - // System.out.println("****Number of configurations: " + - // configuration_stack.configurationSize()); - // System.out.println("****Number of elements in stack tree: " + - // configuration_stack.numStateElements()); - // System.out.println("****Number of elements in stacks: " + - // configuration_stack.stacksSize()); - // System.out.println("****Number of actions: " + action.size()); - // System.out.println("****Max Stack Size = " + maxStackTop); - // System.out.flush(); - return (state.act == ERROR_ACTION ? error_token : 0); - } - - private void backtrackParseUpToError(int initial_token, int error_token) { - // - // Allocate configuration stack. - // - state.configurationStack = new ConfigurationStack(prs); - state.trialActionStack = new LinkedList<>(); - state.trialActionStack.add(Integer.valueOf(state.trialActionCount)); - - // - // Keep parsing until we successfully reach the end of file or - // an error is encountered. The list of actions executed will - // be stored in the "action" tuple. - // - - // tokStream.reset(initial_token); - int start_token = tokStream.peek(); - state.curtok = (initial_token > 0 ? initial_token : tokStream.getToken()); - int current_kind = tokStream.getKind(state.curtok); - state.act = tAction(state.stateStack[state.stateStackTop], current_kind); - - state.tokens.add(state.curtok); - state.locationStack[state.stateStackTop] = state.tokens.size(); - state.actionStack[state.stateStackTop] = state.actionCount; - state.undoStack[state.stateStackTop] = state.trialActionCount; - - for (;;) { - // - // if the parser needs to stop processing, - // it may do so here. - // - if (monitor != null && monitor.isCancelled()) - return; - - state.parserLocationStack[state.stateStackTop] = state.curtok; - - if (state.act <= NUM_RULES) { - state.actionCount++; - state.stateStackTop--; - state.act = process_backtrack_reductions(state.act); - } else if (state.act > ERROR_ACTION) { - state.actionCount++; - state.lastToken = state.curtok; - state.curtok = tokStream.getToken(); - current_kind = tokStream.getKind(state.curtok); - state.tokens.add(state.curtok); - state.act = process_backtrack_reductions(state.act - ERROR_ACTION); - } else if (state.act < ACCEPT_ACTION) { - state.actionCount++; - state.lastToken = state.curtok; - state.curtok = tokStream.getToken(); - current_kind = tokStream.getKind(state.curtok); - state.tokens.add(state.curtok); - } else if (state.act == ERROR_ACTION) { - if (state.curtok != error_token) { - ConfigurationElement configuration = state.configurationStack.pop(); - if (configuration == null) - state.act = ERROR_ACTION; - else { - boolean shouldPop = prs.baseAction(configuration.conflict_index) == 0; - undoActions(shouldPop); - state.actionCount = configuration.action_length; - state.act = configuration.act; - int next_token_index = configuration.curtok; - state.tokens.reset(next_token_index); - state.curtok = state.tokens.get(next_token_index - 1); - current_kind = tokStream.getKind(state.curtok); - tokStream.reset(state.curtok == initial_token ? start_token : tokStream.getNext(state.curtok)); - state.stateStackTop = configuration.stack_top; - configuration.retrieveStack(state.stateStack); - state.locationStack[state.stateStackTop] = state.tokens.size(); - state.actionStack[state.stateStackTop] = state.actionCount; - state.undoStack[state.stateStackTop] = state.trialActionCount; - continue; - } - } - break; - } else if (state.act > ACCEPT_ACTION) { - if (state.configurationStack.findConfiguration(state.stateStack, state.stateStackTop, - state.tokens.size())) - state.act = ERROR_ACTION; - else { - state.configurationStack.push(state.stateStack, state.stateStackTop, state.act + 1, - state.tokens.size(), state.actionCount); - state.trialActionStack.add(Integer.valueOf(state.trialActionCount)); - state.act = prs.baseAction(state.act); - } - continue; - } else - break; // assert(act == ACCEPT_ACTION); - - state.stateStack[++state.stateStackTop] = state.act; // no need - // to check - // if out of - // bounds - state.locationStack[state.stateStackTop] = state.tokens.size(); - state.actionStack[state.stateStackTop] = state.actionCount; - state.undoStack[state.stateStackTop] = state.trialActionCount; - state.act = tAction(state.act, current_kind); - } - - // assert(curtok == error_token); - - return; - } - - private boolean repairable(int error_token) { - // - // Allocate configuration stack. - // - ConfigurationStack configuration_stack = new ConfigurationStack(prs); - - // - // Keep parsing until we successfully reach the end of file or - // an error is encountered. The list of actions executed will - // be stored in the "action" tuple. - // - int start_token = tokStream.peek(); - int final_token = tokStream.getStreamLength(); // unreachable - int curtok = 0; - int current_kind = ERROR_SYMBOL; - int act = tAction(state.stateStack[state.stateStackTop], current_kind); - - for (;;) { - if (act <= NUM_RULES) { - state.stateStackTop--; - act = process_repair_reductions(act); - } else if (act > ERROR_ACTION) { - curtok = tokStream.getToken(); - if (curtok > final_token) - return true; - current_kind = tokStream.getKind(curtok); - act = process_repair_reductions(act - ERROR_ACTION); - } else if (act < ACCEPT_ACTION) { - curtok = tokStream.getToken(); - if (curtok > final_token) - return true; - current_kind = tokStream.getKind(curtok); - } else if (act == ERROR_ACTION) { - ConfigurationElement configuration = configuration_stack.pop(); - if (configuration == null) - act = ERROR_ACTION; - else { - state.stateStackTop = configuration.stack_top; - configuration.retrieveStack(state.stateStack); - act = configuration.act; - curtok = configuration.curtok; - if (curtok == 0) { - current_kind = ERROR_SYMBOL; - tokStream.reset(start_token); - } else { - current_kind = tokStream.getKind(curtok); - tokStream.reset(tokStream.getNext(curtok)); - } - continue; - } - break; - } else if (act > ACCEPT_ACTION) { - if (configuration_stack.findConfiguration(state.stateStack, state.stateStackTop, curtok)) - act = ERROR_ACTION; - else { - configuration_stack.push(state.stateStack, state.stateStackTop, act + 1, curtok, 0); - act = prs.baseAction(act); - } - continue; - } else - break; // assert(act == ACCEPT_ACTION); - try { - // - // We consider a configuration to be acceptable for recovery - // if we are able to consume enough symbols in the remaining - // tokens to reach another potential recovery point past the - // original error token. - // - if ((curtok > error_token) && (final_token == tokStream.getStreamLength())) { - // - // If the ERROR_SYMBOL is a valid Action Adjunct in the - // state - // "act" then we set the terminating token as the successor - // of - // the current token. I.e., we have to be able to parse at - // least - // two tokens past the re-synch point before we claim - // victory. - // - if (recoverableState(act)) - final_token = skipTokens ? curtok : tokStream.getNext(curtok); - } - - state.stateStack[++state.stateStackTop] = act; - } catch (IndexOutOfBoundsException e) { - state.reallocateStateStack(); - state.stateStack[state.stateStackTop] = act; - } - - act = tAction(act, current_kind); - } - - // - // If we can reach the end of the input successfully, we claim victory. - // - return (act == ACCEPT_ACTION); - } - - private boolean recoverableState(int state) { - for (int k = prs.asi(state); prs.asr(k) != 0; k++) { - if (prs.asr(k) == ERROR_SYMBOL) - return true; - } - return false; - } - - private int findRecoveryStateIndex(int start_index) { - int i; - for (i = start_index; i >= 0; i--) { - // - // If the ERROR_SYMBOL is an Action Adjunct in state stateStack[i] - // then chose i as the index of the state to recover on. - // - if (recoverableState(state.stateStack[i])) - break; - } - - if (i >= 0) // if a recoverable state, remove null reductions, if any. - { - int k; - for (k = i - 1; k >= 0; k--) { - if (state.locationStack[k] != state.locationStack[i]) - break; - } - i = k + 1; - } - - return i; - } - - private int errorRepair(int recovery_token, int error_token) { - int temp_stack[] = new int[state.stateStackTop + 1]; - System.arraycopy(state.stateStack, 0, temp_stack, 0, temp_stack.length); - for (; tokStream.getKind(recovery_token) != EOFT_SYMBOL; recovery_token = tokStream.getNext(recovery_token)) { - System.out.println("recovery token: " + tokStream.getKind(recovery_token)); //$NON-NLS-1$ - tokStream.reset(recovery_token); - if (repairable(error_token)) - break; - state.stateStackTop = temp_stack.length - 1; - System.arraycopy(temp_stack, 0, state.stateStack, 0, temp_stack.length); - } - - if (tokStream.getKind(recovery_token) == EOFT_SYMBOL) { - tokStream.reset(recovery_token); - if (!repairable(error_token)) { - state.stateStackTop = temp_stack.length - 1; - System.arraycopy(temp_stack, 0, state.stateStack, 0, temp_stack.length); - return 0; - } - } - - state.stateStackTop = temp_stack.length - 1; - System.arraycopy(temp_stack, 0, state.stateStack, 0, temp_stack.length); - - undoActions(state.undoStack[state.stateStackTop]); - tokStream.reset(recovery_token); - state.tokens.reset(state.locationStack[state.stateStackTop] - 1); - state.actionCount = state.actionStack[state.stateStackTop]; - state.trialActionCount = state.undoStack[state.stateStackTop]; - - return tokStream.makeErrorToken(state.tokens.get(state.locationStack[state.stateStackTop] - 1), - tokStream.getPrevious(recovery_token), error_token, ERROR_SYMBOL); - } - - private int tAction(int act, int sym) { - act = prs.tAction(act, sym); - if (act > LA_STATE_OFFSET) { - int next_token = tokStream.peek(); - act = prs.lookAhead(act - LA_STATE_OFFSET, tokStream.getKind(next_token)); - while (act > LA_STATE_OFFSET) { - next_token = tokStream.getNext(next_token); - act = prs.lookAhead(act - LA_STATE_OFFSET, tokStream.getKind(next_token)); - } - } - return act; - } - - private void trialAction(int action) { - int start = getTokenOffset(); - int end = getLastToken(); - Rule rule = new Rule(action, start, end); - - actionProvider.setActiveRule(rule); - boolean saveAction = actionProvider.trialAction(action); - if (backtrackRequested) { - return; - } - if (saveAction) { - state.trialActionCount++; - state.pendingCommits.add(rule); - } - } - - /** - * Performs the undo actions (in reverse order) for the corresponding trial - * actions that have been executed since the last backtrackable point. - */ - private void undoActions(boolean shouldPop) { - int oldTrialActionCount; - if (state.trialActionStack.size() == 0) { - oldTrialActionCount = 0; - } else { - oldTrialActionCount = state.trialActionStack.getLast(); - if (shouldPop) { - state.trialActionStack.removeLast(); - } - } - safeUndoActions(oldTrialActionCount); - - // needs to be a real checked exception if we ever decide to implement commits - //assert (state.trialActionCount == 0 && oldTrialActionCount == 0) || oldTrialActionCount != state.trialActionCount : "Went back in time too far"; - } - - private void safeUndoActions(int total) { - assert total >= 0 : "Tried to go back in time but the door was already shut."; //$NON-NLS-1$ - undoActions(total); - } - - private void undoActions(int total) { - while (state.trialActionCount > total) { - Rule action = ((Rule) state.pendingCommits.removeLast()); - actionProvider.setActiveRule(action); - actionProvider.undoAction(action.getRuleNumber()); - state.trialActionCount--; - } - } - - public void backtrack() { - backtrackRequested = true; - } - - public void commit() { - while (state.pendingCommits.size() > 0) { - Rule activeRule = (Rule) state.pendingCommits.removeFirst(); - actionProvider.setActiveRule(activeRule); - actionProvider.finalAction(activeRule.getRuleNumber()); - state.totalCommits++; - } - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/TrialUndoParserTemplate.g b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/TrialUndoParserTemplate.g deleted file mode 100644 index e323a8ee6fd..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/TrialUndoParserTemplate.g +++ /dev/null @@ -1,305 +0,0 @@ --------------------------------------------------------------------------------- --- Copyright (c) 2006, 2007 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation --------------------------------------------------------------------------------- - --- --- In a parser using this template, the following macro may be redefined: --- --- $additional_interfaces --- $ast_class --- --- B E G I N N I N G O F T E M P L A T E TrialUndoParserTemplate --- -%Options programming_language=java,margin=8,backtrack -%Options table,error_maps,scopes -%options prefix=TK_, -%options action=("*.java", "/.", "./") -%options headers=("*.java", "/:", ":/") -%options ParseTable=lpg.lpgjavaruntime.ParseTable - --- --- This template requires that the name of the EOF token be set --- to EOF_TOKEN to be consistent with LexerTemplateD and LexerTemplateE --- -$EOF - EOF_TOKEN -$End - -$ERROR - ERROR_TOKEN -$End - -$Define - $DefaultAllocation - /: - RULE_ACTIONS[$rule_number] = new Action$rule_number$();:/ - - $NoAllocation - /: - RULE_ACTIONS[$rule_number] = EMPTY_ACTION:/ - - $NullAllocation - /: - RULE_ACTIONS[$rule_number] = new NullAction();:/ - - $BadAllocation - /: - RULE_ACTIONS[$rule_number] = new BadAction();:/ - - $Header - /. - // - // Rule $rule_number: $rule_text - //./ - - $DefaultAction - /.$DefaultAllocation $Header - static final class Action$rule_number extends Action./ - - -- - -- This macro is used to initialize the ruleAction array - -- to the null_action function. - -- - $NullAction - /. $NullAllocation $Header - // - // final class NullAction extends Action - // - ./ - - -- - -- This macro is used to initialize the ruleAction array - -- to the no_action function. - -- - $NoAction - /. $NoAllocation $Header - // - // final class NullAction extends Action - // - ./ - - -- - -- This macro is used to initialize the ruleAction array - -- to the bad_action function. - -- - $BadAction - /. $BadAllocation $Header - // - // final class NullAction extends Action - // - ./ - - -- - -- This is the header for a ruleAction class - -- - $BeginAction - /.$DefaultAllocation $Header - static final class Action$rule_number extends DeclaredAction<$action_class, $data_class> { - ./ - - $EndAction - /. - }./ - - $BeginTrial - /. - public boolean doTrial(ITrialUndoActionProvider<$data_class> provider, $action_class action) {./ - - $EndTrial - /. - return hasUndo; - }./ - - $BeginUndo - /. - public Action$rule_number() { hasUndo = true; }; - public void doUndo(ITrialUndoActionProvider<$data_class> provider, $action_class action) {./ - - $EndUndo - /. - }./ - - $BeginFinal - /. - public void doFinal(ITrialUndoActionProvider<$data_class> provider, $action_class action) {./ - - $EndFinal - /. - }./ - - $BeginJava - /.$BeginAction - $symbol_declarations./ - - $EndJava /.$EndAction./ - - $SplitActions /../ - - -- - -- Macros that may be needed in a parser using this template - -- - $additional_interfaces /../ - $ast_class /.$ast_type./ - $action_class /.Object./ - - $Trial /.$BeginTrial./ - $Undo /.$BeginUndo./ - $Final /.$BeginFinal./ - $Action /.$BeginAction./ - -$End - -$Globals - /. -import lpg.lpgjavaruntime.*; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.ITrialUndoActionProvider; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.AbstractTrialUndoActionProvider; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.TrialUndoParser; -./ -$End - -$Headers - /. -public class $action_type extends AbstractTrialUndoActionProvider<$action_class, $data_class> implements IParserActionTokenProvider, IParser $additional_interfaces { - private static ParseTable prs = new $prs_type(); - protected static final Action<$action_class, $data_class>[] RULE_ACTIONS; - - { - ruleAction = RULE_ACTIONS; - } - - public $action_type(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), $prs_type.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(" " + $sym_type.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " + $sym_type.orderedTerminalSymbols[$prs_type.EOFT_SYMBOL])); - } - } - - - public $action_type() { // constructor - // this(new $lexer_class()); - } - - public String[] orderedTerminalSymbols() { - return $sym_type.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return $sym_type.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return $prs_type.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.getFirstRealToken(error_token), lasttok = super.getLastRealToken(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 $ast_class parser() { - return parser(null, 0); - } - - public $ast_class parser(Monitor monitor) { - return parser(monitor, 0); - } - - public $ast_class parser(int error_repair_count) { - return parser(null, error_repair_count); - } - - public $ast_class parser(Monitor monitor, int error_repair_count) { - try { - btParser = new TrialUndoParser((TokenStream) this, prs, (ITrialUndoActionProvider<$data_class>) this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException("Regenerate $prs_type.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- $sym_type.java")); - } - - try { - Object result = (Object) btParser.parse(error_repair_count); - btParser.commit(); - return result; - } catch (BadParseException e) { - reset(e.error_token); // point to error token - - //DiagnoseParser diagnoseParser = new DiagnoseParser((TokenStream) this, prs); - //diagnoseParser.diagnose(e.error_token); - } - - return null; - } - - ./ - - /: - - // - // Initialize ruleAction array. - // - static { - RULE_ACTIONS = new Action[$NUM_RULES + 1]; - RULE_ACTIONS[0] = null; - :/ -$End - -$Trailers - /. - } - ./ - - /: - - - // - // Make sure that all elements of ruleAction are properly initialized - // - for (int i = 0; i < RULE_ACTIONS.length; i++) { - if (RULE_ACTIONS[i] == null) { - RULE_ACTIONS[i] = emptyAction(); - } - } - } - :/ -$End --- --- E N D O F T E M P L A T E --- diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java deleted file mode 100644 index f8569f15064..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java +++ /dev/null @@ -1,1682 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.c99; - -import java.util.List; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.IASTCastExpression; -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction; -import org.eclipse.cdt.core.dom.lrparser.action.c99.C99SecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; - -import lpg.lpgjavaruntime.BadParseException; -import lpg.lpgjavaruntime.BadParseSymFileException; -import lpg.lpgjavaruntime.DiagnoseParser; -import lpg.lpgjavaruntime.ErrorToken; -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.LexStream; -import lpg.lpgjavaruntime.Monitor; -import lpg.lpgjavaruntime.NotBacktrackParseTableException; -import lpg.lpgjavaruntime.NullExportedSymbolsException; -import lpg.lpgjavaruntime.NullTerminalSymbolsException; -import lpg.lpgjavaruntime.ParseErrorCodes; -import lpg.lpgjavaruntime.ParseTable; -import lpg.lpgjavaruntime.PrsStream; -import lpg.lpgjavaruntime.RuleAction; -import lpg.lpgjavaruntime.Token; -import lpg.lpgjavaruntime.UndefinedEofSymbolException; -import lpg.lpgjavaruntime.UnimplementedTerminalsException; - -public class C99ExpressionParser extends PrsStream - implements RuleAction, ITokenStream, ITokenCollector, ISecondaryParser { - private static ParseTable prs = new C99ExpressionParserprs(); - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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 C99ExpressionParser(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), C99ExpressionParserprs.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(" " + C99ExpressionParsersym.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " - + C99ExpressionParsersym.orderedTerminalSymbols[C99ExpressionParserprs.EOFT_SYMBOL])); - } - } - - @Override - public String[] orderedTerminalSymbols() { - return C99ExpressionParsersym.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return C99ExpressionParsersym.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return C99ExpressionParserprs.EOFT_SYMBOL; - } - - public PrsStream getParseStream() { - return 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, this, prs, this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException( - "Regenerate C99ExpressionParserprs.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- C99ExpressionParsersym.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 C99BuildASTParserAction action; - private IASTCompletionNode compNode; - - public C99ExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, - IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new C99BuildASTParserAction(this, astStack, CNodeFactory.getDefault(), - C99SecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - public IASTExpression 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 (IASTExpression) action.getParseResult(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return C99ExpressionParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "C99ExpressionParser"; - } - - private ITokenMap tokenMap = null; - - @Override - public void setTokens(List tokens) { - resetTokenStream(); - addToken(new Token(null, 0, 0, 0)); // dummy token - for (IToken token : tokens) { - token.setKind(tokenMap.mapKind(token.getKind())); - addToken(token); - } - addToken(new Token(null, 0, 0, C99ExpressionParsersym.TK_EOF_TOKEN)); - } - - public C99ExpressionParser(ITokenStream stream, Map properties) { // constructor for creating secondary parser - initActions(properties); - tokenMap = new TokenMap(C99ExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols()); - } - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 ::= 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 ::= { 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 init_declarator_list ; - // - case 129: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 130: declaration_specifiers ::= simple_declaration_specifiers - // - case 130: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 131: declaration_specifiers ::= struct_or_union_declaration_specifiers - // - case 131: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 132: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 132: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 133: declaration_specifiers ::= enum_declaration_specifiers - // - case 133: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 134: declaration_specifiers ::= 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 { 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 { 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 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 { enumerator_list_opt comma_opt } - // - case 205: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { 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 ::= 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 ( 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 ::= pointer_seq function_direct_declarator - // - case 234: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) - // - case 235: { - action.consumeDirectDeclaratorFunctionDeclaratorKnR(); - break; - } - - // - // Rule 237: knr_function_declarator ::= 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 ::= [ 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 ::= [ 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 array_modifier_type_qualifiers assignment_expression ] - // - case 245: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); - break; - } - - // - // Rule 246: array_modifier ::= [ 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 ::= [ 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 type_qualifier_list - // - case 252: { - action.consumePointerTypeQualifierList(); - break; - } - - // - // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook 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 ::= pointer_seq - // - case 269: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 270: abstract_declarator ::= 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 ::= ( parameter_type_list ) - // - case 280: { - action.consumeDirectDeclaratorFunctionDeclarator(false, true); - break; - } - - // - // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( 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 { initializer_seq comma_opt } end_initializer_list - // - case 284: { - action.consumeInitializerList(); - break; - } - - // - // Rule 285: initializer_list ::= { } - // - 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 ::= 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 ::= function_declarator function_body - // - case 311: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 312: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement - // - case 312: { - action.consumeFunctionDefinitionKnR(); - break; - } - - // - // Rule 313: normal_function_definition ::= declaration_specifiers function_declarator function_body - // - case 313: { - action.consumeFunctionDefinition(true); - break; - } - - // - // Rule 314: function_body ::= { } - // - case 314: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 315: function_body ::= { block_item_list } - // - case 315: { - action.consumeStatementCompoundStatement(true); - break; - } - - // - // Rule 317: expression_parser_start ::= ERROR_TOKEN - // - case 317: { - action.consumeEmpty(); - break; - } - - default: - break; - } - return; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java deleted file mode 100644 index 4daf3f87b9c..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java +++ /dev/null @@ -1,706 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.c99; - -public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C99ExpressionParsersym { - - 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 }; - } - - 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, -37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -137, 0, 0, -4, -159, -118, 0, 0, 0, 0, 0, -74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -14, 0, -30, 0, -31, 0, 0, 0, 0, 0, -16, 0, -80, -119, 0, -120, 0, 0, 0, 0, 0, 0, 0, 0, - -141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -105, -124, 0, 0, -191, 0, -17, -131, -130, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, -121, 0, -122, 0, 0, - 0, 0, -177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -111, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -179, 0, -194, 0, -18, 0, -19, 0, -20, -21, -22, -192, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -134, 0, -38, 0, 0, 0, 0, 0, 0, 0, 0, 0, -39, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -23, -109, -24, 0, 0, 0, 0, 0, -71, -55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -25, 0, -107, -26, -88, -89, 0, 0, 0, 0, -90, 0, -91, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -34, 0, 0, 0, 0, 0, 0, 0, 0, 0, -57, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -35, 0, 0, 0, 0, 0, 0, 0, 0, 0, -59, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -68, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -62, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -70, 0, 0, 0, 0, 0, 0, 0, 0, 0, -65, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -115, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -123, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -132, 0, 0, 0, 0, 0, 0, 0, 0, 0, -144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -92, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, - 0, 0, 0, 0, -93, 0, -7, 0, 0, 0, 0, 0, 0, 0, -195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -94, 0, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0, -200, 0, - -9, 0, 0, 0, 0, 0, 0, 0, -209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -133, -47, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -76, 0, 0, 0, -95, -73, 0, -148, -78, -125, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -96, 0, 0, 0, 0, 0, -112, 0, 0, 0, -77, 0, 0, 0, 0, -149, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -117, -166, 0, -97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -157, 0, 0, -158, -98, 0, 0, - -82, 0, -56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -106, 0, 0, 0, 0, 0, -52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -183, - 0, 0, 0, 0, -87, 0, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -167, 0, 0, 0, 0, 0, -129, 0, 0, 0, 0, -1, -138, - 0, 0, 0, 0, 0, 0, 0, -99, -186, 0, 0, -181, -100, 0, 0, 0, 0, 0, -170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -50, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -196, 0, -51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -208, 0, 0, -127, -140, 0, 0, 0, -146, - 0, 0, 0, -101, -102, -103, 0, 0, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -104, 0, -108, 0, 0, 0, 0, 0, 0, - 0, 0, -10, 0, 0, 0, 0, 0, 0, 0, -110, -83, 0, -44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -45, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -72, 0, 0, 0, 0, 0, 0, 0, 0, 0, -46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -203, -171, -75, -11, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, -126, -135, 0, 0, 0, -143, -156, -160, -142, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -210, 0, -150, 0, 0, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, -147, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -36, -113, -139, 0, 0, 0, 0, 0, 0, 0, 0, 0, -169, 0, -40, 0, 0, 0, 0, 0, 0, 0, - -151, 0, 0, -154, 0, -41, 0, 0, 0, 0, 0, 0, 0, -42, 0, 0, 0, 0, 0, 0, 0, -116, 0, 0, 0, 0, -162, 0, - -165, -168, 0, -164, 0, -32, -173, 0, 0, -187, -174, 0, 0, -190, 0, -15, 0, -163, 0, -176, 0, -175, 0, - 0, 0, 0, 0, 0, -13, 0, 0, 0, 0, 0, 0, -28, 0, 0, -29, -178, 0, 0, -128, -155, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -202, 0, 0, 0, 0, 0, 0, 0, -79, -207, 0, 0, 0, 0, 0, 0, 0, 0, -172, 0, -81, 0, -85, 0, -84, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -86, -188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -197, - -184, -185, 0, 0, 0, 0, -136, -33, -54, 0, 0, 0, 0, -152, 0, 0, -204, 0, 0, 0, 0, 0, -199, -161, 0, 0, - 0, 0, -182, 0, -205, 0, -193, 0, 0, -206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -198, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0 }; - } - - public final static short baseCheck[] = BaseCheck.baseCheck; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[index]; - } - - public interface BaseAction { - public final static char baseAction[] = { 87, 11, 102, 24, 24, 21, 21, 40, 40, 70, 70, 1, 1, 2, 2, 2, 2, 3, 3, - 3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 60, 60, 71, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, - 10, 10, 10, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 103, 41, 32, 88, 88, 72, 72, 49, 104, 104, 104, 104, 104, 104, 104, - 105, 105, 105, 106, 106, 111, 111, 112, 112, 107, 107, 108, 108, 108, 114, 114, 109, 109, 109, 109, 109, - 110, 110, 110, 110, 110, 113, 113, 25, 25, 25, 25, 25, 28, 28, 28, 78, 78, 73, 73, 73, 73, 74, 74, 74, - 75, 75, 75, 76, 76, 76, 77, 77, 77, 115, 115, 116, 116, 117, 29, 31, 31, 31, 31, 31, 53, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 64, 61, 61, 89, 90, 66, 66, 62, 62, 62, 67, 79, 79, 80, 80, 68, 68, 68, - 43, 91, 91, 81, 82, 82, 82, 63, 63, 92, 83, 83, 84, 84, 69, 69, 22, 23, 23, 23, 30, 50, 50, 33, 33, 33, - 33, 36, 36, 38, 34, 34, 35, 39, 39, 118, 118, 37, 119, 119, 93, 93, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 85, 51, 51, 51, 51, 27, 56, 56, 55, 55, 55, 57, 57, 52, 52, 94, 94, 59, 59, 58, 58, 58, 44, 44, 44, 45, - 46, 46, 46, 47, 47, 47, 47, 65, 65, 42, 42, 48, 96, 95, 95, 95, 95, 86, 97, 98, 98, 99, 99, 100, 100, - 120, 120, 121, 121, 122, 122, 122, 122, 124, 124, 123, 123, 123, 125, 126, 126, 87, 87, 1, 627, 17, 21, - 18, 373, 626, 45, 449, 383, 542, 31, 540, 545, 544, 592, 546, 623, 594, 75, 92, 124, 136, 214, 670, 629, - 596, 339, 138, 135, 137, 161, 275, 20, 17, 21, 18, 373, 626, 45, 449, 383, 542, 1502, 540, 545, 544, - 592, 546, 623, 594, 75, 1146, 140, 167, 579, 240, 201, 31, 201, 31, 144, 147, 150, 153, 57, 385, 118, - 201, 188, 201, 187, 342, 1129, 1612, 1624, 1628, 1638, 1226, 434, 20, 17, 21, 18, 373, 626, 45, 449, - 383, 542, 343, 540, 545, 544, 592, 546, 623, 594, 75, 282, 482, 20, 17, 21, 18, 373, 626, 45, 449, 383, - 542, 1526, 540, 545, 544, 592, 546, 623, 594, 75, 92, 283, 1590, 1263, 294, 97, 518, 1366, 25, 158, 24, - 157, 695, 299, 20, 17, 21, 18, 373, 626, 45, 449, 383, 542, 288, 540, 545, 544, 592, 546, 623, 594, 75, - 1343, 256, 214, 344, 241, 506, 20, 17, 21, 18, 373, 41, 289, 285, 28, 662, 1503, 201, 189, 342, 1366, - 1187, 332, 20, 17, 21, 18, 373, 626, 45, 449, 383, 542, 343, 540, 545, 544, 592, 546, 623, 594, 75, 282, - 554, 20, 17, 21, 18, 373, 626, 45, 449, 383, 542, 1593, 540, 545, 544, 592, 546, 623, 594, 75, 1245, - 283, 201, 297, 201, 299, 6, 1366, 30, 284, 589, 200, 191, 458, 20, 17, 21, 18, 373, 626, 45, 449, 383, - 542, 290, 540, 545, 544, 592, 546, 623, 594, 75, 282, 189, 180, 482, 20, 17, 21, 18, 373, 43, 45, 628, - 291, 482, 20, 17, 21, 18, 373, 43, 45, 633, 283, 136, 214, 344, 242, 243, 1366, 138, 135, 137, 161, 104, - 482, 20, 17, 21, 18, 373, 43, 45, 449, 383, 542, 292, 540, 545, 544, 592, 546, 1349, 275, 1453, 140, - 167, 171, 22, 14, 547, 578, 194, 144, 147, 150, 153, 199, 385, 416, 444, 270, 1150, 1121, 273, 1129, - 1612, 1624, 1628, 1638, 1226, 482, 20, 17, 21, 18, 373, 626, 45, 449, 383, 542, 489, 540, 545, 544, 592, - 546, 623, 594, 75, 93, 482, 20, 17, 21, 18, 373, 626, 45, 449, 383, 542, 1408, 540, 545, 544, 592, 546, - 623, 594, 75, 86, 482, 20, 17, 21, 18, 373, 626, 45, 449, 383, 542, 489, 540, 545, 544, 592, 546, 623, - 594, 75, 85, 482, 20, 17, 21, 18, 373, 626, 45, 449, 383, 542, 19, 540, 545, 544, 592, 546, 623, 594, - 75, 84, 482, 20, 17, 21, 18, 373, 626, 45, 449, 383, 542, 489, 540, 545, 544, 592, 546, 623, 594, 75, - 83, 482, 20, 17, 21, 18, 373, 626, 45, 449, 383, 542, 443, 540, 545, 544, 592, 546, 623, 594, 75, 82, - 482, 20, 17, 21, 18, 373, 626, 45, 449, 383, 542, 489, 540, 545, 544, 592, 546, 623, 594, 75, 81, 482, - 20, 17, 21, 18, 373, 626, 45, 449, 383, 542, 1204, 540, 545, 544, 592, 546, 623, 594, 75, 80, 482, 20, - 17, 21, 18, 373, 626, 45, 449, 383, 542, 489, 540, 545, 544, 592, 546, 623, 594, 75, 79, 482, 20, 17, - 21, 18, 373, 626, 45, 449, 383, 542, 23, 540, 545, 544, 592, 546, 623, 594, 75, 78, 482, 20, 17, 21, 18, - 373, 626, 45, 449, 383, 542, 489, 540, 545, 544, 592, 546, 623, 594, 75, 77, 482, 20, 17, 21, 18, 373, - 626, 45, 449, 383, 542, 274, 540, 545, 544, 592, 546, 623, 594, 75, 76, 482, 20, 17, 21, 18, 373, 626, - 45, 449, 383, 542, 489, 540, 545, 544, 592, 546, 623, 594, 75, 74, 482, 20, 17, 21, 18, 373, 626, 45, - 449, 383, 542, 280, 540, 545, 544, 592, 546, 623, 594, 75, 1549, 482, 20, 17, 21, 18, 373, 626, 45, 449, - 383, 542, 489, 540, 545, 544, 592, 546, 623, 594, 75, 1568, 482, 20, 17, 21, 18, 373, 43, 45, 449, 383, - 542, 281, 540, 545, 544, 592, 546, 623, 594, 94, 482, 20, 17, 21, 18, 373, 43, 45, 449, 383, 542, 466, - 540, 545, 544, 592, 546, 623, 594, 94, 482, 20, 17, 21, 18, 373, 43, 40, 488, 1696, 482, 20, 17, 21, 18, - 373, 43, 39, 482, 20, 17, 21, 18, 373, 43, 45, 449, 383, 542, 213, 540, 545, 544, 592, 546, 623, 594, - 94, 482, 20, 17, 21, 18, 373, 43, 45, 449, 383, 542, 490, 540, 545, 544, 592, 546, 623, 594, 94, 482, - 20, 17, 21, 18, 373, 43, 38, 446, 1699, 482, 20, 17, 21, 18, 373, 43, 37, 482, 20, 17, 21, 18, 373, 43, - 45, 449, 383, 542, 203, 540, 545, 544, 592, 546, 623, 594, 94, 113, 482, 20, 17, 21, 18, 373, 43, 45, - 449, 1125, 1523, 482, 20, 17, 21, 18, 373, 43, 45, 449, 383, 542, 144, 540, 1171, 275, 241, 44, 204, - 207, 232, 14, 219, 1155, 222, 1474, 224, 225, 230, 195, 1551, 601, 397, 268, 1150, 1121, 273, 104, 276, - 264, 278, 327, 136, 214, 1383, 275, 499, 265, 143, 135, 137, 161, 219, 1155, 222, 1474, 224, 225, 230, - 679, 679, 242, 245, 268, 1150, 1121, 273, 277, 593, 1554, 1670, 1664, 229, 142, 167, 559, 1561, 868, - 712, 13, 279, 232, 387, 262, 482, 20, 17, 21, 18, 373, 43, 45, 449, 383, 542, 205, 540, 545, 544, 592, - 1364, 482, 20, 17, 21, 18, 373, 43, 45, 449, 383, 542, 710, 540, 545, 544, 1264, 189, 180, 482, 20, 17, - 21, 18, 373, 43, 45, 449, 383, 542, 151, 540, 545, 1347, 256, 214, 104, 28, 1570, 136, 214, 382, 14, - 1366, 210, 139, 135, 137, 161, 386, 50, 281, 418, 1594, 630, 637, 275, 1453, 1557, 1572, 244, 421, 1680, - 220, 1155, 222, 1474, 224, 225, 230, 141, 167, 1260, 88, 270, 1150, 1121, 273, 145, 148, 151, 154, 316, - 385, 219, 1155, 222, 1474, 224, 225, 230, 482, 20, 17, 21, 18, 373, 43, 45, 449, 1140, 1604, 482, 20, - 17, 21, 18, 373, 43, 45, 449, 383, 542, 719, 1188, 482, 20, 17, 21, 18, 373, 43, 45, 449, 383, 542, 281, - 1259, 329, 44, 14, 196, 199, 201, 104, 256, 214, 1680, 697, 305, 324, 1184, 1068, 482, 20, 17, 21, 18, - 373, 43, 45, 449, 383, 635, 295, 671, 1458, 615, 243, 219, 1155, 222, 1474, 224, 225, 230, 482, 20, 17, - 21, 18, 373, 43, 36, 676, 414, 1604, 482, 20, 17, 21, 18, 373, 43, 45, 449, 383, 993, 482, 20, 17, 21, - 18, 373, 43, 45, 449, 383, 1010, 409, 20, 17, 21, 18, 373, 43, 44, 200, 201, 482, 20, 17, 21, 18, 373, - 43, 45, 449, 383, 1051, 612, 95, 326, 482, 20, 17, 21, 18, 373, 43, 35, 1680, 568, 1544, 530, 20, 17, - 21, 18, 373, 34, 28, 388, 278, 733, 711, 198, 1366, 275, 698, 14, 707, 44, 219, 1155, 222, 1474, 224, - 225, 230, 1687, 1622, 1692, 728, 1270, 720, 268, 1150, 1121, 273, 1554, 358, 20, 17, 21, 18, 373, 43, - 36, 1460, 868, 358, 20, 17, 21, 18, 373, 43, 36, 194, 1453, 228, 160, 52, 664, 247, 220, 1155, 222, - 1474, 224, 225, 230, 1126, 518, 248, 482, 20, 17, 21, 18, 373, 43, 48, 44, 255, 214, 721, 275, 482, 20, - 17, 21, 18, 373, 43, 47, 482, 20, 17, 21, 18, 373, 43, 46, 567, 268, 1150, 1121, 273, 104, 1383, 567, - 14, 181, 489, 568, 465, 723, 450, 267, 723, 696, 568, 1665, 201, 1561, 14, 418, 104, 1098, 518, 1383, - 724, 245, 1239, 226, 1098, 318, 1383, 530, 20, 17, 21, 18, 373, 33, 14, 451, 90, 14, 738, 198, 246, 52, - 48, 593, 260, 318, 88, 910, 318, 1454, 1239, 260, 742, 568, 910, 700, 1454, 1501, 447, 198, 627, 287, - 198, 255, 214, 1639, 88, 198, 1694, 88, 559, 1561, 632, 658, 439, 700, 661, 1501, 700, 1769, 1501, 211, - 136, 214, 1769, 1270, 666, 518, 146, 135, 137, 161, 826, 742, 136, 214, 784, 450, 136, 214, 149, 135, - 137, 161, 152, 135, 137, 161, 136, 214, 193, 489, 587, 142, 155, 135, 137, 161, 116, 14, 14, 1513, 1430, - 568, 568, 357, 920, 205, 44, 568, 418, 418, 231, 1769, 518, 52, 568, 1098, 198, 210, 52, 488, 518, 1098, - 104, 1769, 1769, 104, 1769, 1769, 1098, 88, 88, 1560, 1572, 1383, 1270, 255, 214, 365, 600, 1348, 255, - 214, 260, 1769, 486, 1663, 296, 1454, 260, 298, 1769, 952, 182, 1454, 1769, 261, 1769, 1472, 235, 193, - 206, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1221, 1686, 1430, 1769, 1769, 1322, 1769, 1769, - 1769, 1769, 1769, 1769, 1769, 1769, 1711, 1769, 0, 20, 180, 0, 1, 1996, 0, 1, 2007, 0 }; - } - - public final static char baseAction[] = BaseAction.baseAction; - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - public final int lhs(int index) { - return lhs[index]; - } - - public interface TermCheck { - public final static byte termCheck[] = { 0, 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, 10, 11, 0, 0, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 0, 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 0, 44, 45, 46, - 0, 1, 0, 3, 0, 5, 6, 7, 8, 0, 6, 7, 8, 55, 56, 57, 58, 17, 9, 10, 55, 56, 57, 58, 24, 25, 26, 27, 28, - 47, 48, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 0, 1, 0, 3, 51, 5, 6, 7, 8, 0, - 55, 56, 57, 58, 5, 13, 80, 17, 0, 1, 2, 0, 4, 0, 24, 25, 26, 27, 28, 0, 12, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 0, 1, 0, 3, 51, 5, 6, 7, 8, 0, 1, 2, 50, 4, 12, 0, 0, 17, 0, 4, 2, - 12, 4, 49, 24, 25, 26, 27, 28, 0, 12, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 0, - 1, 0, 3, 51, 0, 6, 7, 8, 4, 0, 0, 0, 1, 4, 3, 0, 17, 0, 1, 2, 53, 54, 5, 24, 25, 26, 27, 28, 13, 12, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 0, 44, 45, 46, 65, 30, 6, 7, 8, 0, 0, 0, 2, 0, 4, 53, 54, - 17, 9, 10, 53, 54, 12, 64, 24, 25, 26, 27, 28, 61, 62, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 0, 1, 2, 3, 4, 5, 0, 1, 2, 9, 10, 11, 0, 1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 5, 0, - 61, 62, 9, 10, 11, 68, 69, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 50, 0, 0, 2, 2, 0, 5, 0, 1, 2, - 3, 4, 5, 12, 12, 59, 9, 10, 11, 0, 13, 14, 15, 16, 50, 18, 19, 20, 21, 22, 23, 30, 0, 0, 1, 2, 3, 4, 5, - 59, 0, 0, 9, 10, 11, 5, 0, 14, 15, 16, 43, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 0, 1, 65, 3, 9, 10, - 11, 29, 30, 14, 15, 16, 0, 18, 19, 20, 21, 22, 23, 49, 63, 50, 0, 1, 2, 3, 4, 0, 1, 0, 3, 9, 10, 11, 0, - 13, 14, 15, 16, 5, 18, 19, 20, 21, 22, 23, 51, 0, 1, 2, 3, 4, 0, 1, 0, 3, 9, 10, 11, 0, 13, 14, 15, 16, - 5, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 47, 48, 0, 0, 9, 10, 11, 5, 13, 14, 15, 16, 29, 18, 19, 20, - 21, 22, 23, 0, 1, 2, 3, 4, 66, 0, 0, 0, 9, 10, 11, 5, 30, 14, 15, 16, 0, 18, 19, 20, 21, 22, 23, 0, 1, - 2, 3, 4, 12, 66, 47, 48, 9, 10, 11, 0, 30, 14, 15, 16, 5, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 47, 48, - 47, 48, 9, 10, 11, 0, 0, 14, 15, 16, 0, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 0, 1, 43, 3, 9, 10, 11, - 0, 0, 14, 15, 16, 4, 18, 19, 20, 21, 22, 23, 0, 0, 2, 2, 4, 5, 6, 7, 8, 0, 1, 0, 12, 12, 0, 14, 15, 17, - 0, 1, 0, 3, 11, 0, 24, 25, 26, 27, 28, 60, 30, 13, 9, 10, 0, 1, 2, 0, 49, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 0, 13, 0, 0, 52, 0, 6, 7, 8, 49, 0, 6, 7, 8, 12, 12, 0, 17, 0, 67, 0, 1, 17, 3, 24, 25, 26, - 27, 28, 24, 25, 26, 27, 28, 0, 0, 1, 0, 3, 0, 6, 7, 8, 0, 0, 6, 7, 8, 13, 0, 13, 17, 0, 4, 52, 52, 17, - 5, 24, 25, 26, 27, 28, 24, 25, 26, 27, 28, 0, 0, 0, 0, 29, 63, 6, 7, 8, 6, 7, 8, 0, 11, 30, 0, 0, 0, 6, - 7, 8, 6, 7, 8, 0, 0, 0, 2, 0, 0, 6, 7, 8, 0, 1, 2, 0, 12, 0, 13, 64, 5, 4, 0, 0, 29, 29, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 29, 29, 0, 0, 60, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static byte termCheck[] = TermCheck.termCheck; - - @Override - public final int termCheck(int index) { - return termCheck[index]; - } - - public interface TermAction { - public final static char termAction[] = { 0, 1769, 1780, 1566, 1781, 1375, 60, 1984, 1985, 1986, 1070, 1060, - 1432, 62, 1, 1579, 1443, 476, 1933, 1782, 1783, 1784, 1785, 1012, 1002, 1934, 1932, 1987, 1935, 1931, - 55, 1769, 1938, 1943, 1942, 1940, 1941, 1939, 1944, 1945, 1937, 1946, 1947, 1948, 254, 1626, 1384, 1191, - 1769, 1, 61, 1, 1769, 192, 1, 1, 1, 52, 1984, 1985, 1986, 1418, 1397, 1386, 1352, 1, 580, 570, 1418, - 1397, 1386, 1352, 1, 1, 1, 1, 1, 1099, 1300, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 192, 1, 1, 1, 1769, 1, - 42, 1, 1966, 191, 1, 1, 1, 1769, 1418, 1397, 1386, 1352, 1773, 2817, 1759, 1, 263, 1996, 1128, 1, 1, - 183, 1, 1, 1, 1, 1, 184, 350, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 191, 1, 1, 1, 1769, 1, 272, 1, 1966, - 192, 1, 1, 1, 269, 1996, 1128, 1772, 254, 350, 49, 287, 1, 266, 1536, 1431, 350, 1, 2028, 1, 1, 1, 1, 1, - 71, 350, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 192, 1, 1, 1, 1769, 1780, 69, 1781, 1966, 51, 1984, 1985, - 1986, 1536, 50, 63, 1769, 1780, 1536, 1781, 1769, 1933, 1, 1763, 1128, 1528, 1515, 1775, 1934, 1932, - 1987, 1935, 1931, 2817, 350, 1938, 1943, 1942, 1940, 1941, 1939, 1944, 1945, 1937, 1946, 1947, 1948, - 130, 1626, 1384, 1191, 1193, 1774, 1984, 1985, 1986, 54, 269, 73, 1431, 64, 254, 1528, 1515, 1933, 580, - 570, 1528, 1515, 350, 1210, 1934, 1932, 1987, 1935, 1931, 1324, 1311, 1938, 1943, 1942, 1940, 1941, - 1939, 1944, 1945, 1937, 1946, 1947, 1948, 1, 1780, 1566, 1781, 1480, 1773, 1, 1996, 1429, 1070, 1060, - 1432, 1769, 2008, 1579, 1443, 476, 514, 1782, 1783, 1784, 1785, 1012, 1002, 1769, 1780, 1566, 1781, - 1490, 1773, 1769, 1324, 1311, 1070, 1060, 1432, 601, 1672, 1579, 1443, 476, 941, 1782, 1783, 1784, 1785, - 1012, 1002, 1769, 72, 1772, 1, 271, 1431, 1168, 1769, 1775, 1, 1780, 1566, 1781, 1375, 29, 350, 350, - 1040, 1070, 1060, 1432, 67, 2817, 1579, 1443, 476, 1772, 1782, 1783, 1784, 1785, 1012, 1002, 1774, 1, - 1769, 1780, 1566, 1781, 1375, 1773, 899, 1769, 1769, 1070, 1060, 1432, 1775, 1769, 1579, 1443, 476, 29, - 1782, 1783, 1784, 1785, 1012, 1002, 1769, 1, 1, 1, 1, 186, 2830, 1193, 2830, 1, 1, 1, 1613, 1774, 1, 1, - 1, 1769, 1, 1, 1, 1, 1, 1, 2027, 1228, 1772, 1769, 1780, 1566, 1781, 1375, 185, 2831, 59, 2831, 1070, - 1060, 1432, 1, 2817, 1579, 1443, 476, 1779, 1782, 1783, 1784, 1785, 1012, 1002, 2086, 1, 1780, 1566, - 1781, 1375, 207, 2832, 1769, 2832, 1070, 1060, 1432, 1769, 2817, 1579, 1443, 476, 1779, 1782, 1783, - 1784, 1785, 1012, 1002, 1769, 1780, 1566, 1781, 1375, 1099, 1300, 1, 58, 1070, 1060, 1432, 91, 2817, - 1579, 1443, 476, 1335, 1782, 1783, 1784, 1785, 1012, 1002, 1769, 1780, 1566, 1781, 1375, 1778, 57, 1769, - 56, 1070, 1060, 1432, 1775, 91, 1579, 1443, 476, 221, 1782, 1783, 1784, 1785, 1012, 1002, 1769, 1780, - 1586, 1781, 1375, 350, 1778, 1099, 1300, 1070, 1060, 1432, 1769, 1774, 1579, 1443, 476, 1777, 1782, - 1783, 1784, 1785, 1012, 1002, 1769, 1780, 1589, 1781, 1375, 1099, 1300, 1099, 1300, 1070, 1060, 1432, - 1769, 1769, 1579, 1443, 476, 43, 1782, 1783, 1784, 1785, 1012, 1002, 1, 1780, 1566, 1781, 1375, 209, - 1780, 1776, 1781, 1070, 1060, 1432, 1769, 1, 1579, 1443, 476, 254, 1782, 1783, 1784, 1785, 1012, 1002, - 20, 32, 1760, 1556, 1760, 1760, 180, 180, 180, 1, 1766, 65, 1760, 1671, 1769, 1795, 1796, 180, 1769, - 1780, 1769, 1781, 1110, 53, 180, 180, 180, 180, 180, 878, 1760, 1251, 580, 570, 1, 1996, 1429, 1769, - 2028, 857, 836, 815, 794, 773, 731, 752, 710, 689, 668, 131, 1130, 1769, 293, 377, 132, 1984, 1985, - 1986, 2028, 68, 1984, 1985, 1986, 962, 1020, 1769, 1933, 1769, 375, 208, 1564, 1933, 1564, 1934, 1932, - 1987, 1935, 1931, 1934, 1932, 1987, 1935, 1931, 133, 1769, 1780, 1769, 1781, 134, 1984, 1985, 1986, 89, - 70, 1984, 1985, 1986, 1339, 1769, 1459, 1933, 1, 1338, 536, 538, 1933, 1775, 1934, 1932, 1987, 1935, - 1931, 1934, 1932, 1987, 1935, 1931, 249, 212, 66, 250, 647, 1228, 1984, 1985, 1986, 1, 1, 1, 251, 1110, - 1774, 252, 257, 30, 1, 1, 1, 1984, 1985, 1986, 253, 223, 1769, 1169, 30, 208, 1984, 1985, 1986, 254, - 1996, 1429, 286, 350, 1769, 1552, 1210, 625, 1461, 1769, 1769, 1677, 493, 202, 1769, 190, 190, 190, - 1769, 1769, 1769, 1769, 1769, 1798, 2733, 1769, 1769, 982, 186, 185, 207, 1769, 1769, 1769, 1769, 1769, - 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 625, 1769, 1769, 1769, 1769, 1769, 1769, 1769, - 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 547, - 1769, 1769, 1078 }; - } - - public final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[index]; - } - - public interface Asb { - public final static char asb[] = { 0, 233, 1, 9, 64, 9, 9, 9, 9, 9, 9, 9, 9, 9, 26, 392, 46, 43, 50, 48, 56, 54, - 58, 57, 60, 59, 32, 9, 392, 392, 328, 328, 368, 9, 199, 199, 227, 392, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 199, 199, 199, 68, 115, 231, 3, 298, 197, 196, - 202, 214, 129, 214, 129, 129, 214, 129, 214, 406, 153, 43, 43, 48, 48, 48, 48, 46, 46, 54, 50, 50, 57, - 56, 337, 59, 58, 71, 131, 278, 131, 227, 231, 133, 68, 429, 7, 199, 339, 301, 129, 328, 328, 129, 328, - 9, 278, 113, 231, 222, 429, 68, 6, 3, 199, 225, 406, 198, 303, 131, 251, 131, 292, 113, 222, 222, 9, 9, - 68, 7, 298, 332, 331, 231, 303, 199, 131, 251, 292, 292, 294, 282, 222, 429, 68, 68, 199, 339, 301, 225, - 251, 278, 285, 251, 292, 294, 387, 294, 278, 111, 390, 328, 9, 281, 429, 222, 303, 251, 287, 294, 278, - 9, 328, 26, 115, 68, 328, 9, 222, 199, 198, 278, 107, 9, 106, 22, 231, 278, 68, 329, 287, 9, 22 }; - } - - public final static char asb[] = Asb.asb; - - @Override - public final int asb(int index) { - return asb[index]; - } - - public interface Asr { - public final static byte asr[] = { 0, 80, 0, 6, 7, 8, 17, 50, 5, 18, 19, 20, 21, 3, 14, 15, 11, 9, 10, 22, 23, - 16, 4, 2, 1, 0, 12, 2, 52, 67, 14, 15, 60, 70, 71, 72, 73, 74, 76, 75, 77, 78, 79, 4, 53, 54, 9, 10, 48, - 47, 55, 56, 57, 58, 61, 62, 11, 63, 64, 65, 43, 66, 68, 69, 59, 30, 80, 29, 50, 5, 0, 11, 4, 9, 10, 53, - 54, 47, 48, 55, 56, 57, 58, 61, 62, 63, 64, 65, 68, 69, 60, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 50, - 30, 43, 80, 13, 59, 66, 5, 29, 0, 5, 43, 12, 52, 14, 15, 11, 4, 9, 10, 22, 23, 16, 2, 18, 19, 20, 21, 1, - 3, 13, 0, 6, 7, 8, 2, 18, 19, 20, 21, 1, 3, 14, 15, 11, 4, 9, 10, 22, 23, 16, 0, 7, 17, 28, 8, 27, 26, - 25, 6, 24, 52, 67, 14, 15, 11, 9, 10, 53, 54, 47, 48, 55, 56, 57, 58, 61, 62, 63, 64, 65, 68, 69, 60, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 4, 2, 12, 29, 30, 5, 0, 39, 31, 36, 34, 35, 33, 32, 37, 38, 40, - 41, 42, 59, 66, 28, 25, 17, 24, 27, 26, 6, 7, 8, 29, 1, 5, 30, 2, 12, 4, 0, 16, 18, 19, 20, 21, 1, 3, 2, - 14, 15, 11, 4, 9, 10, 22, 23, 51, 0, 24, 31, 6, 32, 44, 25, 33, 26, 34, 35, 27, 7, 36, 37, 17, 45, 28, - 46, 38, 39, 8, 40, 41, 42, 1, 3, 51, 5, 43, 0, 60, 12, 52, 0, 66, 5, 4, 1, 2, 59, 0, 1, 3, 5, 43, 29, 0, - 4, 2, 12, 30, 5, 24, 31, 6, 32, 44, 25, 33, 26, 34, 35, 27, 7, 36, 37, 17, 45, 28, 46, 38, 39, 8, 40, - 41, 42, 49, 3, 1, 0, 2, 5, 29, 30, 66, 12, 59, 0, 4, 24, 31, 6, 32, 44, 25, 33, 26, 34, 35, 27, 7, 36, - 37, 17, 45, 28, 46, 38, 39, 8, 40, 41, 42, 1, 3, 49, 0, 5, 30, 16, 18, 19, 20, 21, 1, 3, 2, 14, 15, 11, - 4, 9, 10, 22, 23, 0, 5, 29, 43, 60, 0, 16, 18, 19, 20, 21, 2, 14, 15, 11, 4, 9, 10, 22, 23, 1, 3, 44, - 45, 46, 39, 31, 36, 34, 35, 33, 32, 37, 38, 40, 41, 42, 28, 25, 17, 24, 27, 26, 6, 7, 8, 0 }; - } - - public final static byte asr[] = Asr.asr; - - @Override - public final int asr(int index) { - return asr[index]; - } - - public interface Nasb { - public final static byte nasb[] = { 0, 78, 42, 30, 42, 30, 30, 30, 30, 30, 30, 30, 30, 30, 42, 109, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 30, 109, 109, 17, 17, 106, 110, 60, 60, 95, 1, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 110, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 60, 60, - 60, 15, 86, 49, 13, 94, 47, 47, 69, 70, 19, 70, 118, 118, 70, 117, 70, 64, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 87, 87, 57, 42, 43, 42, 32, 15, 99, 14, 60, 101, 59, 7, 7, 7, 7, - 7, 30, 21, 57, 42, 76, 99, 15, 14, 25, 60, 53, 35, 42, 103, 9, 57, 42, 57, 28, 76, 57, 30, 30, 15, 14, - 52, 47, 47, 49, 103, 60, 42, 113, 57, 7, 62, 11, 57, 99, 15, 15, 60, 101, 59, 72, 57, 21, 83, 90, 7, 62, - 42, 42, 21, 27, 42, 7, 30, 81, 99, 25, 120, 113, 55, 62, 21, 30, 7, 23, 29, 15, 7, 30, 25, 60, 60, 21, - 84, 30, 42, 55, 49, 21, 15, 42, 55, 30, 74 }; - } - - public final static byte nasb[] = Nasb.nasb; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - public interface Nasr { - public final static char nasr[] = { 0, 78, 76, 75, 66, 74, 73, 1, 0, 90, 0, 98, 0, 11, 5, 24, 0, 71, 0, 89, 0, - 40, 0, 96, 0, 22, 0, 86, 11, 48, 5, 0, 5, 11, 0, 78, 77, 76, 75, 66, 74, 73, 0, 46, 45, 27, 0, 26, 0, - 27, 51, 0, 21, 46, 45, 36, 34, 11, 0, 11, 21, 0, 60, 0, 66, 61, 62, 63, 64, 53, 28, 0, 46, 45, 36, 34, - 27, 0, 11, 87, 0, 100, 0, 11, 70, 0, 5, 48, 42, 0, 11, 43, 68, 0, 21, 45, 46, 11, 0, 56, 0, 27, 51, 11, - 25, 0, 11, 88, 0, 43, 11, 41, 0, 80, 11, 43, 0, 92, 67, 0, 93, 11, 25, 0 }; - } - - public final static char nasr[] = Nasr.nasr; - - @Override - public final int nasr(int index) { - return nasr[index]; - } - - public interface TerminalIndex { - public final static char terminalIndex[] = { 0, 85, 2, 86, 9, 87, 48, 64, 76, 10, 11, 8, 1, 3, 6, 7, 68, 69, 81, - 82, 83, 84, 12, 13, 44, 55, 60, 63, 72, 42, 90, 47, 52, 56, 61, 62, 66, 67, 74, 75, 78, 79, 80, 91, 54, - 70, 73, 16, 17, 30, 89, 93, 4, 14, 15, 18, 19, 20, 21, 29, 31, 22, 23, 24, 25, 26, 92, 5, 27, 28, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 94, 45, 46, 49, 50, 51, 53, 57, 58, 59, 65, 71, 77, 88 }; - } - - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - - @Override - public final int terminalIndex(int index) { - return terminalIndex[index]; - } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = { 0, 100, 0, 0, 0, 102, 106, 107, 108, 109, 110, 0, 111, 112, 113, - 114, 115, 116, 117, 0, 118, 97, 128, 0, 96, 121, 149, 0, 127, 0, 0, 0, 0, 145, 147, 0, 148, 0, 0, 0, 98, - 101, 105, 140, 158, 159, 160, 0, 0, 120, 136, 146, 155, 130, 0, 150, 153, 154, 157, 104, 0, 131, 132, - 133, 134, 135, 137, 0, 139, 144, 99, 103, 119, 122, 123, 124, 125, 126, 129, 0, 138, 142, 0, 0, 143, - 152, 162, 95, 0, 0, 0, 141, 0, 151, 156, 161, 0, 163, 164, 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - - @Override - public final int nonterminalIndex(int index) { - return nonterminalIndex[index]; - } - - public interface ScopePrefix { - public final static char scopePrefix[] = { 82, 113, 92, 35, 41, 121, 12, 136, 21, 51, 69, 28, 47, 103, 158, 165, - 169, 145, 1, 1, 32, 56, 79, 173, 6, 107, 152, 152, 127, 99, 59, 59, 59 }; - } - - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - - @Override - public final int scopePrefix(int index) { - return scopePrefix[index]; - } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { 90, 90, 90, 4, 4, 90, 18, 142, 26, 4, 26, 26, 4, 101, 26, 26, 4, 149, - 4, 4, 26, 4, 26, 26, 9, 110, 155, 162, 130, 101, 66, 61, 74 }; - } - - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - - @Override - public final int scopeSuffix(int index) { - return scopeSuffix[index]; - } - - public interface ScopeLhs { - public final static char scopeLhs[] = { 63, 61, 63, 26, 26, 61, 42, 108, 47, 26, 39, 47, 26, 68, 6, 5, 5, 19, - 100, 99, 45, 26, 36, 3, 86, 68, 7, 5, 109, 68, 39, 37, 39 }; - } - - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - - @Override - public final int scopeLhs(int index) { - return scopeLhs[index]; - } - - public interface ScopeLa { - public final static byte scopeLa[] = { 43, 43, 43, 50, 50, 43, 43, 86, 30, 50, 30, 30, 50, 66, 30, 30, 50, 59, - 50, 50, 30, 50, 30, 30, 60, 1, 30, 30, 92, 66, 2, 2, 2 }; - } - - public final static byte scopeLa[] = ScopeLa.scopeLa; - - @Override - public final int scopeLa(int index) { - return scopeLa[index]; - } - - public interface ScopeStateSet { - public final static byte scopeStateSet[] = { 24, 24, 24, 28, 28, 24, 17, -1, 32, 28, 9, 32, 28, 5, 39, 39, 39, - 69, 1, 3, 32, 28, 9, 39, 95, 5, 42, 39, -1, 5, 9, 9, 9 }; - } - - public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet; - - @Override - public final int scopeStateSet(int index) { - return scopeStateSet[index]; - } - - public interface ScopeRhs { - public final static char scopeRhs[] = { 0, 142, 12, 0, 96, 0, 190, 104, 0, 31, 135, 0, 153, 188, 104, 13, 141, - 0, 98, 0, 0, 148, 104, 2, 138, 0, 97, 0, 148, 104, 2, 0, 151, 2, 0, 113, 17, 178, 104, 12, 0, 113, 178, - 104, 17, 12, 0, 113, 17, 12, 0, 113, 178, 104, 12, 0, 113, 12, 0, 129, 0, 2, 0, 151, 97, 0, 2, 97, 0, - 148, 104, 2, 129, 0, 2, 0, 150, 97, 0, 143, 2, 0, 153, 176, 104, 13, 94, 185, 44, 0, 98, 0, 153, 176, - 104, 13, 185, 44, 0, 136, 0, 99, 0, 184, 104, 136, 0, 104, 136, 0, 141, 99, 0, 172, 104, 13, 183, 94, - 182, 159, 0, 172, 104, 13, 182, 159, 0, 197, 85, 0, 77, 2, 101, 97, 99, 0, 197, 114, 134, 2, 89, 0, 53, - 0, 0, 134, 69, 111, 0, 29, 118, 0, 152, 2, 0, 97, 107, 0, 152, 2, 16, 0, 97, 105, 0, 181, 2, 98, 0, 134, - 12, 98, 0, 134, 2, 0 }; - } - - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - - @Override - public final int scopeRhs(int index) { - return scopeRhs[index]; - } - - public interface ScopeState { - public final static char scopeState[] = { 0, 1263, 0, 343, 0, 1665, 1430, 1594, 0, 1472, 1335, 1429, 1260, 1239, - 1128, 1098, 0, 547, 493, 397, 1204, 443, 1408, 0, 568, 1226, 318, 0, 1474, 1155, 1150, 1121, 1239, 1128, - 1098, 593, 1431, 1501, 0, 1579, 1443, 476, 1490, 1480, 1408, 1193, 601, 1228, 1210, 1324, 1311, 1110, - 1300, 1099, 1418, 1397, 1386, 1352, 1536, 1528, 1515, 580, 570, 1432, 1375, 1070, 1060, 1012, 1002, - 1078, 1040, 1020, 547, 982, 962, 941, 920, 451, 899, 514, 350, 878, 857, 836, 815, 794, 773, 752, 731, - 710, 689, 668, 318, 647, 418, 493, 397, 0 }; - } - - public final static char scopeState[] = ScopeState.scopeState; - - @Override - public final int scopeState(int index) { - return scopeState[index]; - } - - public interface InSymb { - public final static char inSymb[] = { 0, 0, 180, 104, 165, 16, 23, 22, 10, 9, 4, 11, 15, 14, 98, 2, 102, 101, - 105, 103, 107, 106, 109, 108, 111, 110, 99, 29, 2, 2, 67, 52, 2, 12, 152, 134, 136, 104, 10, 9, 54, 53, - 4, 58, 57, 56, 55, 47, 48, 11, 62, 61, 64, 63, 69, 68, 65, 79, 78, 77, 75, 76, 74, 73, 72, 71, 70, 60, - 152, 152, 181, 134, 114, 104, 12, 2, 139, 138, 166, 167, 159, 168, 46, 45, 169, 44, 170, 171, 94, 101, - 101, 103, 103, 103, 103, 102, 102, 106, 105, 105, 108, 107, 134, 110, 109, 114, 114, 13, 141, 144, 120, - 17, 113, 104, 4, 151, 104, 2, 182, 160, 160, 185, 160, 59, 104, 13, 120, 4, 104, 113, 178, 149, 148, - 118, 104, 150, 104, 94, 13, 94, 13, 104, 4, 120, 178, 17, 113, 4, 2, 127, 129, 104, 29, 148, 183, 104, - 13, 104, 188, 104, 120, 104, 113, 113, 143, 104, 2, 144, 13, 172, 136, 173, 104, 176, 94, 177, 153, 29, - 190, 52, 12, 191, 104, 149, 104, 104, 104, 176, 153, 60, 29, 133, 60, 142, 52, 12, 149, 148, 186, 172, - 184, 59, 143, 2, 104, 153, 142, 29, 29, 59, 144 }; - } - - public final static char inSymb[] = InSymb.inSymb; - - @Override - 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", "ERROR_TOKEN", - "EOF_TOKEN", "expression_parser_start", "]", ")", "}", ";", "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_list_actual", "constant_expression", "declaration_specifiers", - "simple_declaration_specifiers", "struct_or_union_declaration_sp" + "ecifiers", - "elaborated_declaration_specifi" + "ers", "enum_declaration_specifiers", - "typdef_name_declaration_specif" + "iers", "no_type_declaration_specifier", "type_qualifier", - "no_type_declaration_specifiers", "simple_type_specifier", "struct_or_union_specifier", - "elaborated_specifier", "enum_specifier", "type_name_specifier", "initializer", "declarator", - "struct_or_union", "struct_declaration_list", "struct_declaration", "specifier_qualifier_list", - "struct_declarator_list", "complete_struct_declarator", "enumerator_list", "enumerator", - "direct_declarator", "pointer_seq", "array_direct_declarator", "basic_direct_declarator", - "array_modifier", "parameter_type_list", "identifier_list", "array_modifier_type_qualifiers", - "type_qualifier_list", "parameter_list", "parameter_declaration", "complete_parameter_declarator", - "abstract_declarator", "direct_abstract_declarator", "basic_direct_abstract_declarat" + "or", - "array_direct_abstract_declarat" + "or", "initializer_seq", "designated_initializer", "designation", - "designator_list", "designator" }; - } - - public final static String name[] = Name.name; - - @Override - public final String name(int index) { - return name[index]; - } - - public final static int ERROR_SYMBOL = 51, SCOPE_UBOUND = 32, SCOPE_SIZE = 33, MAX_NAME_LENGTH = 38; - - @Override - public final int getErrorSymbol() { - return ERROR_SYMBOL; - } - - @Override - public final int getScopeUbound() { - return SCOPE_UBOUND; - } - - @Override - public final int getScopeSize() { - return SCOPE_SIZE; - } - - @Override - public final int getMaxNameLength() { - return MAX_NAME_LENGTH; - } - - public final static int NUM_STATES = 210, NT_OFFSET = 93, LA_STATE_OFFSET = 2086, MAX_LA = 2, NUM_RULES = 317, - NUM_NONTERMINALS = 126, NUM_SYMBOLS = 219, SEGMENT_SIZE = 8192, START_STATE = 1250, IDENTIFIER_SYMBOL = 0, - EOFT_SYMBOL = 80, EOLT_SYMBOL = 80, ACCEPT_ACTION = 1759, ERROR_ACTION = 1769; - - public final static boolean BACKTRACK = true; - - @Override - public final int getNumStates() { - return NUM_STATES; - } - - @Override - public final int getNtOffset() { - return NT_OFFSET; - } - - @Override - public final int getLaStateOffset() { - return LA_STATE_OFFSET; - } - - @Override - public final int getMaxLa() { - return MAX_LA; - } - - @Override - public final int getNumRules() { - return NUM_RULES; - } - - @Override - public final int getNumNonterminals() { - return NUM_NONTERMINALS; - } - - @Override - public final int getNumSymbols() { - return NUM_SYMBOLS; - } - - @Override - public final int getSegmentSize() { - return SEGMENT_SIZE; - } - - @Override - public final int getStartState() { - return START_STATE; - } - - @Override - public final int getStartSymbol() { - return lhs[0]; - } - - public final int getIdentifierSymbol() { - return IDENTIFIER_SYMBOL; - } - - @Override - public final int getEoftSymbol() { - return EOFT_SYMBOL; - } - - @Override - public final int getEoltSymbol() { - return EOLT_SYMBOL; - } - - @Override - public final int getAcceptAction() { - return ACCEPT_ACTION; - } - - @Override - public final int getErrorAction() { - return ERROR_ACTION; - } - - @Override - public final boolean isValidForParser() { - return isValidForParser; - } - - @Override - public final boolean getBacktrack() { - return BACKTRACK; - } - - @Override - public final int originalState(int state) { - return -baseCheck[state]; - } - - @Override - public final int asi(int state) { - return asb[originalState(state)]; - } - - @Override - public final int nasi(int state) { - return nasb[originalState(state)]; - } - - @Override - public final int inSymbol(int state) { - return inSymb[originalState(state)]; - } - - @Override - public final int ntAction(int state, int sym) { - return baseAction[state + sym]; - } - - @Override - public final int tAction(int state, int sym) { - int i = baseAction[state], k = i + sym; - return termAction[termCheck[k] == sym ? k : i]; - } - - @Override - 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/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParsersym.java deleted file mode 100644 index 2ad3368675e..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParsersym.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2010 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.c99; - -public interface C99ExpressionParsersym { - public final static int TK_auto = 24, TK_break = 81, TK_case = 82, TK_char = 31, TK_const = 6, TK_continue = 83, - TK_default = 84, TK_do = 85, TK_double = 32, TK_else = 86, TK_enum = 44, TK_extern = 25, TK_float = 33, - TK_for = 87, TK_goto = 88, TK_if = 89, TK_inline = 26, TK_int = 34, TK_long = 35, TK_register = 27, - TK_restrict = 7, TK_return = 90, TK_short = 36, TK_signed = 37, TK_sizeof = 16, TK_static = 17, - TK_struct = 45, TK_switch = 91, TK_typedef = 28, TK_union = 46, TK_unsigned = 38, TK_void = 39, - TK_volatile = 8, TK_while = 92, TK__Bool = 40, TK__Complex = 41, TK__Imaginary = 42, TK_integer = 18, - TK_floating = 19, TK_charconst = 20, TK_stringlit = 21, TK_identifier = 1, TK_Completion = 3, - TK_EndOfCompletion = 5, TK_Invalid = 93, TK_LeftBracket = 12, TK_LeftParen = 2, TK_LeftBrace = 13, - TK_Dot = 52, TK_Arrow = 67, TK_PlusPlus = 14, TK_MinusMinus = 15, TK_And = 11, TK_Star = 4, TK_Plus = 9, - TK_Minus = 10, TK_Tilde = 22, TK_Bang = 23, TK_Slash = 53, TK_Percent = 54, TK_RightShift = 47, - TK_LeftShift = 48, TK_LT = 55, TK_GT = 56, TK_LE = 57, TK_GE = 58, TK_EQ = 61, TK_NE = 62, TK_Caret = 63, - TK_Or = 64, TK_AndAnd = 65, TK_OrOr = 68, TK_Question = 69, TK_Colon = 59, TK_DotDotDot = 49, - TK_Assign = 60, TK_StarAssign = 70, TK_SlashAssign = 71, TK_PercentAssign = 72, TK_PlusAssign = 73, - TK_MinusAssign = 74, TK_RightShiftAssign = 75, TK_LeftShiftAssign = 76, TK_AndAssign = 77, - TK_CaretAssign = 78, TK_OrAssign = 79, TK_Comma = 29, TK_RightBracket = 50, TK_RightParen = 30, - TK_RightBrace = 43, TK_SemiColon = 66, TK_ERROR_TOKEN = 51, TK_EOF_TOKEN = 80; - - public final static String orderedTerminalSymbols[] = { "", "identifier", "LeftParen", "Completion", "Star", - "EndOfCompletion", "const", "restrict", "volatile", "Plus", "Minus", "And", "LeftBracket", "LeftBrace", - "PlusPlus", "MinusMinus", "sizeof", "static", "integer", "floating", "charconst", "stringlit", "Tilde", - "Bang", "auto", "extern", "inline", "register", "typedef", "Comma", "RightParen", "char", "double", "float", - "int", "long", "short", "signed", "unsigned", "void", "_Bool", "_Complex", "_Imaginary", "RightBrace", - "enum", "struct", "union", "RightShift", "LeftShift", "DotDotDot", "RightBracket", "ERROR_TOKEN", "Dot", - "Slash", "Percent", "LT", "GT", "LE", "GE", "Colon", "Assign", "EQ", "NE", "Caret", "Or", "AndAnd", - "SemiColon", "Arrow", "OrOr", "Question", "StarAssign", "SlashAssign", "PercentAssign", "PlusAssign", - "MinusAssign", "RightShiftAssign", "LeftShiftAssign", "AndAssign", "CaretAssign", "OrAssign", "EOF_TOKEN", - "break", "case", "continue", "default", "do", "else", "for", "goto", "if", "return", "switch", "while", - "Invalid" }; - - public final static boolean isValidForParser = true; -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java deleted file mode 100644 index f176dd284b7..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java +++ /dev/null @@ -1,1675 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.c99; - -import java.util.List; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction; -import org.eclipse.cdt.core.dom.lrparser.action.c99.C99SecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; - -import lpg.lpgjavaruntime.BadParseException; -import lpg.lpgjavaruntime.BadParseSymFileException; -import lpg.lpgjavaruntime.DiagnoseParser; -import lpg.lpgjavaruntime.ErrorToken; -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.LexStream; -import lpg.lpgjavaruntime.Monitor; -import lpg.lpgjavaruntime.NotBacktrackParseTableException; -import lpg.lpgjavaruntime.NullExportedSymbolsException; -import lpg.lpgjavaruntime.NullTerminalSymbolsException; -import lpg.lpgjavaruntime.ParseErrorCodes; -import lpg.lpgjavaruntime.ParseTable; -import lpg.lpgjavaruntime.PrsStream; -import lpg.lpgjavaruntime.RuleAction; -import lpg.lpgjavaruntime.Token; -import lpg.lpgjavaruntime.UndefinedEofSymbolException; -import lpg.lpgjavaruntime.UnimplementedTerminalsException; - -public class C99NoCastExpressionParser extends PrsStream - implements RuleAction, ITokenStream, ITokenCollector, ISecondaryParser { - private static ParseTable prs = new C99NoCastExpressionParserprs(); - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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 C99NoCastExpressionParser(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), C99NoCastExpressionParserprs.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(" " + C99NoCastExpressionParsersym.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " - + C99NoCastExpressionParsersym.orderedTerminalSymbols[C99NoCastExpressionParserprs.EOFT_SYMBOL])); - } - } - - @Override - public String[] orderedTerminalSymbols() { - return C99NoCastExpressionParsersym.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return C99NoCastExpressionParsersym.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return C99NoCastExpressionParserprs.EOFT_SYMBOL; - } - - public PrsStream getParseStream() { - return 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, this, prs, this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException( - "Regenerate C99NoCastExpressionParserprs.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error( - new BadParseSymFileException("Bad Parser Symbol File -- C99NoCastExpressionParsersym.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 C99BuildASTParserAction action; - private IASTCompletionNode compNode; - - public C99NoCastExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, - IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new C99BuildASTParserAction(this, astStack, CNodeFactory.getDefault(), - C99SecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - public IASTExpression 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 (IASTExpression) action.getParseResult(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return C99NoCastExpressionParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "C99NoCastExpressionParser"; - } - - private ITokenMap tokenMap = null; - - @Override - public void setTokens(List tokens) { - resetTokenStream(); - addToken(new Token(null, 0, 0, 0)); // dummy token - for (IToken token : tokens) { - token.setKind(tokenMap.mapKind(token.getKind())); - addToken(token); - } - addToken(new Token(null, 0, 0, C99NoCastExpressionParsersym.TK_EOF_TOKEN)); - } - - public C99NoCastExpressionParser(ITokenStream stream, Map properties) { // constructor for creating secondary parser - initActions(properties); - tokenMap = new TokenMap(C99NoCastExpressionParsersym.orderedTerminalSymbols, - stream.getOrderedTerminalSymbols()); - } - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 45: multiplicative_expression ::= multiplicative_expression * cast_expression - // - case 45: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); - break; - } - - // - // Rule 46: multiplicative_expression ::= multiplicative_expression / cast_expression - // - case 46: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); - break; - } - - // - // Rule 47: multiplicative_expression ::= multiplicative_expression % cast_expression - // - case 47: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); - break; - } - - // - // Rule 49: additive_expression ::= additive_expression + multiplicative_expression - // - case 49: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); - break; - } - - // - // Rule 50: additive_expression ::= additive_expression - multiplicative_expression - // - case 50: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); - break; - } - - // - // Rule 52: shift_expression ::= shift_expression << additive_expression - // - case 52: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); - break; - } - - // - // Rule 53: shift_expression ::= shift_expression >> additive_expression - // - case 53: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); - break; - } - - // - // Rule 55: relational_expression ::= relational_expression < shift_expression - // - case 55: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); - break; - } - - // - // Rule 56: relational_expression ::= relational_expression > shift_expression - // - case 56: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); - break; - } - - // - // Rule 57: relational_expression ::= relational_expression <= shift_expression - // - case 57: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); - break; - } - - // - // Rule 58: relational_expression ::= relational_expression >= shift_expression - // - case 58: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); - break; - } - - // - // Rule 60: equality_expression ::= equality_expression == relational_expression - // - case 60: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); - break; - } - - // - // Rule 61: equality_expression ::= equality_expression != relational_expression - // - case 61: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); - break; - } - - // - // Rule 63: and_expression ::= and_expression & equality_expression - // - case 63: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); - break; - } - - // - // Rule 65: exclusive_or_expression ::= exclusive_or_expression ^ and_expression - // - case 65: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); - break; - } - - // - // Rule 67: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression - // - case 67: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); - break; - } - - // - // Rule 69: logical_and_expression ::= logical_and_expression && inclusive_or_expression - // - case 69: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); - break; - } - - // - // Rule 71: logical_or_expression ::= logical_or_expression || logical_and_expression - // - case 71: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); - break; - } - - // - // Rule 73: conditional_expression ::= logical_or_expression ? expression : assignment_expression - // - case 73: { - action.consumeExpressionConditional(); - break; - } - - // - // Rule 75: assignment_expression ::= unary_expression = assignment_expression - // - case 75: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); - break; - } - - // - // Rule 76: assignment_expression ::= unary_expression *= assignment_expression - // - case 76: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); - break; - } - - // - // Rule 77: assignment_expression ::= unary_expression /= assignment_expression - // - case 77: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); - break; - } - - // - // Rule 78: assignment_expression ::= unary_expression %= assignment_expression - // - case 78: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); - break; - } - - // - // Rule 79: assignment_expression ::= unary_expression += assignment_expression - // - case 79: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); - break; - } - - // - // Rule 80: assignment_expression ::= unary_expression -= assignment_expression - // - case 80: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); - break; - } - - // - // Rule 81: assignment_expression ::= unary_expression <<= assignment_expression - // - case 81: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); - break; - } - - // - // Rule 82: assignment_expression ::= unary_expression >>= assignment_expression - // - case 82: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); - break; - } - - // - // Rule 83: assignment_expression ::= unary_expression &= assignment_expression - // - case 83: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); - break; - } - - // - // Rule 84: assignment_expression ::= unary_expression ^= assignment_expression - // - case 84: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); - break; - } - - // - // Rule 85: assignment_expression ::= unary_expression |= assignment_expression - // - case 85: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); - break; - } - - // - // Rule 88: expression_list ::= expression_list_actual - // - case 88: { - action.consumeExpressionList(); - break; - } - - // - // Rule 90: expression_list_opt ::= $Empty - // - case 90: { - action.consumeEmpty(); - break; - } - - // - // Rule 100: statement ::= ERROR_TOKEN - // - case 100: { - action.consumeStatementProblem(); - break; - } - - // - // Rule 101: labeled_statement ::= identifier_token : statement - // - case 101: { - action.consumeStatementLabeled(); - break; - } - - // - // Rule 102: labeled_statement ::= case constant_expression : statement - // - case 102: { - action.consumeStatementCase(); - break; - } - - // - // Rule 103: labeled_statement ::= default : statement - // - case 103: { - action.consumeStatementDefault(); - break; - } - - // - // Rule 104: compound_statement ::= { } - // - case 104: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 105: compound_statement ::= { block_item_list } - // - case 105: { - action.consumeStatementCompoundStatement(true); - break; - } - - // - // Rule 109: block_item ::= declaration - // - case 109: { - action.consumeStatementDeclarationWithDisambiguation(); - break; - } - - // - // Rule 110: expression_statement ::= ; - // - case 110: { - action.consumeStatementNull(); - break; - } - - // - // Rule 111: expression_statement ::= expression_in_statement ; - // - case 111: { - action.consumeStatementExpression(); - break; - } - - // - // Rule 112: selection_statement ::= if ( expression ) statement - // - case 112: { - action.consumeStatementIf(false); - break; - } - - // - // Rule 113: selection_statement ::= if ( expression ) statement else statement - // - case 113: { - action.consumeStatementIf(true); - break; - } - - // - // Rule 114: selection_statement ::= switch ( expression ) statement - // - case 114: { - action.consumeStatementSwitch(); - break; - } - - // - // Rule 116: expression_opt ::= $Empty - // - case 116: { - action.consumeEmpty(); - break; - } - - // - // Rule 117: iteration_statement ::= do statement while ( expression ) ; - // - case 117: { - action.consumeStatementDoLoop(true); - break; - } - - // - // Rule 118: iteration_statement ::= do statement - // - case 118: { - action.consumeStatementDoLoop(false); - break; - } - - // - // Rule 119: iteration_statement ::= while ( expression ) statement - // - case 119: { - action.consumeStatementWhileLoop(); - break; - } - - // - // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement - // - case 120: { - action.consumeStatementForLoop(); - break; - } - - // - // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement - // - case 121: { - action.consumeStatementForLoop(); - break; - } - - // - // Rule 122: jump_statement ::= goto identifier_token ; - // - case 122: { - action.consumeStatementGoto(); - break; - } - - // - // Rule 123: jump_statement ::= continue ; - // - case 123: { - action.consumeStatementContinue(); - break; - } - - // - // Rule 124: jump_statement ::= break ; - // - case 124: { - action.consumeStatementBreak(); - break; - } - - // - // Rule 125: jump_statement ::= return ; - // - case 125: { - action.consumeStatementReturn(false); - break; - } - - // - // Rule 126: jump_statement ::= return expression ; - // - case 126: { - action.consumeStatementReturn(true); - break; - } - - // - // Rule 127: declaration ::= declaration_specifiers ; - // - case 127: { - action.consumeDeclarationSimple(false); - break; - } - - // - // Rule 128: declaration ::= declaration_specifiers init_declarator_list ; - // - case 128: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 129: declaration_specifiers ::= simple_declaration_specifiers - // - case 129: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 130: declaration_specifiers ::= struct_or_union_declaration_specifiers - // - case 130: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 131: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 131: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 132: declaration_specifiers ::= enum_declaration_specifiers - // - case 132: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 133: declaration_specifiers ::= typdef_name_declaration_specifiers - // - case 133: { - action.consumeDeclarationSpecifiersTypedefName(); - break; - } - - // - // Rule 158: init_declarator ::= complete_declarator = initializer - // - case 158: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 160: storage_class_specifier ::= storage_class_specifier_token - // - case 160: { - action.consumeToken(); - break; - } - - // - // Rule 166: simple_type_specifier ::= simple_type_specifier_token - // - case 166: { - action.consumeToken(); - break; - } - - // - // Rule 179: type_name_specifier ::= identifier_token - // - case 179: { - action.consumeToken(); - break; - } - - // - // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { struct_declaration_list_opt } - // - case 180: { - action.consumeTypeSpecifierComposite(false); - break; - } - - // - // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { struct_declaration_list_opt } - // - case 181: { - action.consumeTypeSpecifierComposite(true); - break; - } - - // - // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token - // - case 186: { - action.consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); - break; - } - - // - // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token - // - case 187: { - action.consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); - break; - } - - // - // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token - // - case 188: { - action.consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); - break; - } - - // - // Rule 194: struct_declaration ::= specifier_qualifier_list struct_declarator_list ; - // - case 194: { - action.consumeStructDeclaration(true); - break; - } - - // - // Rule 195: struct_declaration ::= specifier_qualifier_list ; - // - case 195: { - action.consumeStructDeclaration(false); - break; - } - - // - // Rule 196: struct_declaration ::= ERROR_TOKEN - // - case 196: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 202: struct_declarator ::= : constant_expression - // - case 202: { - action.consumeBitField(false); - break; - } - - // - // Rule 203: struct_declarator ::= declarator : constant_expression - // - case 203: { - action.consumeBitField(true); - break; - } - - // - // Rule 204: enum_specifier ::= enum enum_specifier_hook { enumerator_list_opt comma_opt } - // - case 204: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { enumerator_list_opt comma_opt } - // - case 205: { - action.consumeTypeSpecifierEnumeration(true); - break; - } - - // - // Rule 211: enumerator ::= identifier_token - // - case 211: { - action.consumeEnumerator(false); - break; - } - - // - // Rule 212: enumerator ::= identifier_token = constant_expression - // - case 212: { - action.consumeEnumerator(true); - break; - } - - // - // Rule 213: type_qualifier ::= type_qualifier_token - // - case 213: { - action.consumeToken(); - break; - } - - // - // Rule 217: function_specifier ::= inline - // - case 217: { - action.consumeToken(); - break; - } - - // - // Rule 219: declarator ::= pointer_seq direct_declarator - // - case 219: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 224: basic_direct_declarator ::= declarator_id_name - // - case 224: { - action.consumeDirectDeclaratorIdentifier(); - break; - } - - // - // Rule 225: basic_direct_declarator ::= ( declarator ) - // - case 225: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 226: declarator_id_name ::= identifier - // - case 226: { - action.consumeIdentifierName(); - break; - } - - // - // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier - // - case 227: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier - // - case 228: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( parameter_type_list ) - // - case 230: { - action.consumeDirectDeclaratorFunctionDeclarator(true, true); - break; - } - - // - // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) - // - case 231: { - action.consumeDirectDeclaratorFunctionDeclarator(true, false); - break; - } - - // - // Rule 233: function_declarator ::= pointer_seq function_direct_declarator - // - case 233: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) - // - case 234: { - action.consumeDirectDeclaratorFunctionDeclaratorKnR(); - break; - } - - // - // Rule 236: knr_function_declarator ::= pointer_seq knr_direct_declarator - // - case 236: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 237: identifier_list ::= identifier - // - case 237: { - action.consumeIdentifierKnR(); - break; - } - - // - // Rule 238: identifier_list ::= identifier_list , identifier - // - case 238: { - action.consumeIdentifierKnR(); - break; - } - - // - // Rule 239: array_modifier ::= [ ] - // - case 239: { - action.consumeDirectDeclaratorArrayModifier(false); - break; - } - - // - // Rule 240: array_modifier ::= [ array_modifier_type_qualifiers ] - // - case 240: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); - break; - } - - // - // Rule 241: array_modifier ::= [ assignment_expression ] - // - case 241: { - action.consumeDirectDeclaratorArrayModifier(true); - break; - } - - // - // Rule 242: array_modifier ::= [ array_modifier_type_qualifiers assignment_expression ] - // - case 242: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); - break; - } - - // - // Rule 243: array_modifier ::= [ static assignment_expression ] - // - case 243: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); - break; - } - - // - // Rule 244: array_modifier ::= [ static array_modifier_type_qualifiers assignment_expression ] - // - case 244: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); - break; - } - - // - // Rule 245: array_modifier ::= [ array_modifier_type_qualifiers static assignment_expression ] - // - case 245: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); - break; - } - - // - // Rule 246: array_modifier ::= [ * ] - // - case 246: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); - break; - } - - // - // Rule 247: array_modifier ::= [ array_modifier_type_qualifiers * ] - // - case 247: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); - break; - } - - // - // Rule 249: pointer_seq ::= pointer_hook * pointer_hook - // - case 249: { - action.consumePointer(); - break; - } - - // - // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook - // - case 250: { - action.consumePointer(); - break; - } - - // - // Rule 251: pointer_seq ::= pointer_hook * pointer_hook type_qualifier_list - // - case 251: { - action.consumePointerTypeQualifierList(); - break; - } - - // - // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook type_qualifier_list - // - case 252: { - action.consumePointerTypeQualifierList(); - break; - } - - // - // Rule 256: parameter_type_list ::= parameter_list - // - case 256: { - action.consumeEmpty(); - break; - } - - // - // Rule 257: parameter_type_list ::= parameter_list , ... - // - case 257: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 258: parameter_type_list ::= ... - // - case 258: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator - // - case 261: { - action.consumeParameterDeclaration(); - break; - } - - // - // Rule 262: parameter_declaration ::= declaration_specifiers - // - case 262: { - action.consumeParameterDeclarationWithoutDeclarator(); - break; - } - - // - // Rule 265: type_id ::= specifier_qualifier_list - // - case 265: { - action.consumeTypeId(false); - break; - } - - // - // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator - // - case 266: { - action.consumeTypeId(true); - break; - } - - // - // Rule 268: abstract_declarator ::= pointer_seq - // - case 268: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 269: abstract_declarator ::= pointer_seq direct_abstract_declarator - // - case 269: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) - // - case 273: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 274: array_direct_abstract_declarator ::= array_modifier - // - case 274: { - action.consumeDirectDeclaratorArrayDeclarator(false); - break; - } - - // - // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier - // - case 275: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier - // - case 276: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 277: function_direct_abstract_declarator ::= ( ) - // - case 277: { - action.consumeDirectDeclaratorFunctionDeclarator(false, false); - break; - } - - // - // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) - // - case 278: { - action.consumeDirectDeclaratorFunctionDeclarator(true, false); - break; - } - - // - // Rule 279: function_direct_abstract_declarator ::= ( parameter_type_list ) - // - case 279: { - action.consumeDirectDeclaratorFunctionDeclarator(false, true); - break; - } - - // - // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_type_list ) - // - case 280: { - action.consumeDirectDeclaratorFunctionDeclarator(true, true); - break; - } - - // - // Rule 281: initializer ::= assignment_expression - // - case 281: { - action.consumeInitializer(); - break; - } - - // - // Rule 282: initializer ::= initializer_list - // - case 282: { - action.consumeInitializer(); - break; - } - - // - // Rule 283: initializer_list ::= start_initializer_list { initializer_seq comma_opt } end_initializer_list - // - case 283: { - action.consumeInitializerList(); - break; - } - - // - // Rule 284: initializer_list ::= { } - // - case 284: { - action.consumeInitializerList(); - break; - } - - // - // Rule 285: start_initializer_list ::= $Empty - // - case 285: { - action.initializerListStart(); - break; - } - - // - // Rule 286: end_initializer_list ::= $Empty - // - case 286: { - action.initializerListEnd(); - break; - } - - // - // Rule 291: designated_initializer ::= designation = initializer - // - case 291: { - action.consumeInitializerDesignated(); - break; - } - - // - // Rule 295: designator_base ::= [ constant_expression ] - // - case 295: { - action.consumeDesignatorArray(); - break; - } - - // - // Rule 296: designator_base ::= . identifier_token - // - case 296: { - action.consumeDesignatorField(); - break; - } - - // - // Rule 297: designator ::= [ constant_expression ] - // - case 297: { - action.consumeDesignatorArray(); - break; - } - - // - // Rule 298: designator ::= . identifier_token - // - case 298: { - action.consumeDesignatorField(); - break; - } - - // - // Rule 299: translation_unit ::= external_declaration_list - // - case 299: { - action.consumeTranslationUnit(); - break; - } - - // - // Rule 300: translation_unit ::= $Empty - // - case 300: { - action.consumeTranslationUnit(); - break; - } - - // - // Rule 305: external_declaration ::= ; - // - case 305: { - action.consumeDeclarationEmpty(); - break; - } - - // - // Rule 306: external_declaration ::= ERROR_TOKEN - // - case 306: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 310: function_definition ::= function_declarator function_body - // - case 310: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 311: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement - // - case 311: { - action.consumeFunctionDefinitionKnR(); - break; - } - - // - // Rule 312: normal_function_definition ::= declaration_specifiers function_declarator function_body - // - case 312: { - action.consumeFunctionDefinition(true); - break; - } - - // - // Rule 313: function_body ::= { } - // - case 313: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 314: function_body ::= { block_item_list } - // - case 314: { - action.consumeStatementCompoundStatement(true); - break; - } - - // - // Rule 316: no_cast_start ::= ERROR_TOKEN - // - case 316: { - action.consumeEmpty(); - break; - } - - default: - break; - } - return; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java deleted file mode 100644 index b87d0ab173b..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java +++ /dev/null @@ -1,700 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.c99; - -public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C99NoCastExpressionParsersym { - - 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 }; - } - - 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, 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, -32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -4, -156, -115, 0, -15, 0, 0, 0, 0, -70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -167, 0, -33, 0, -104, 0, 0, 0, 0, -78, 0, 0, -116, 0, -16, 0, -17, 0, 0, 0, 0, 0, 0, 0, - -138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -178, 0, -128, -76, 0, 0, -48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -34, 0, 0, 0, -18, 0, -42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, - -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -117, 0, 0, -118, 0, -119, 0, 0, 0, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0, -127, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -79, 0, 0, 0, 0, 0, 0, 0, 0, 0, -131, 0, -158, 0, -55, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -122, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20, 0, -21, 0, 0, 0, 0, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23, 0, -188, 0, -24, 0, 0, 0, 0, -72, 0, -12, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -57, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, -58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -26, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -84, 0, 0, 0, 0, 0, 0, 0, 0, 0, -61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -87, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -88, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -89, 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -90, 0, 0, 0, 0, 0, 0, 0, 0, 0, -65, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -91, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -92, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -93, 0, 0, 0, 0, 0, 0, 0, 0, 0, -141, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -94, 0, 0, 0, 0, 0, 0, 0, 0, 0, -142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -95, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -134, 0, 0, 0, 0, 0, 0, 0, 0, -186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -96, 0, 0, 0, 0, 0, 0, 0, 0, -13, 0, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0, -192, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -135, 0, 0, - 0, 0, 0, 0, 0, 0, -155, -170, 0, -176, 0, 0, -97, 0, -8, 0, 0, 0, 0, 0, 0, 0, -206, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -130, 0, 0, 0, 0, 0, 0, -98, - -180, -191, 0, 0, 0, 0, -73, -99, 0, -37, 0, 0, 0, 0, 0, 0, 0, 0, 0, -100, -145, 0, 0, -110, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -200, -193, -124, 0, -187, 0, 0, 0, 0, 0, -101, 0, -102, 0, -146, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -35, 0, -105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -184, -107, -83, 0, -29, 0, - 0, -51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -121, 0, 0, 0, 0, 0, 0, 0, -69, 0, 0, 0, 0, 0, 0, 0, -52, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -164, 0, 0, 0, -137, -154, 0, -30, 0, -123, 0, 0, 0, -183, 0, 0, -67, 0, 0, 0, 0, - -132, 0, -136, 0, -81, 0, 0, 0, -140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -38, 0, 0, 0, 0, 0, 0, 0, 0, 0, -49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -50, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -205, 0, 0, 0, -153, 0, -157, -85, 0, 0, -151, 0, -171, -172, -175, 0, -199, 0, 0, -44, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, -166, 0, -45, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -46, 0, 0, 0, 0, 0, 0, 0, 0, 0, -47, 0, 0, 0, 0, 0, 0, 0, 0, 0, -71, 0, 0, -74, -86, -109, 0, - -112, -139, -165, -204, 0, -111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -207, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -147, 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, -173, - 0, 0, -10, 0, 0, 0, 0, 0, 0, 0, -11, 0, 0, 0, 0, 0, 0, 0, -31, -39, 0, 0, 0, 0, 0, 0, 0, 0, -113, 0, - -40, 0, 0, 0, 0, 0, 0, 0, 0, 0, -68, -126, -143, -162, 0, -41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14, -129, - -159, 0, 0, 0, 0, -28, -36, 0, 0, 0, 0, -179, 0, -160, -148, -190, 0, 0, 0, -185, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -196, 0, -75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -77, 0, 0, 0, -197, -80, 0, 0, 0, 0, 0, -106, - -169, 0, 0, 0, 0, 0, 0, -82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, 0, - 0, -152, -181, 0, 0, 0, 0, -182, 0, 0, 0, 0, 0, 0, -133, 0, 0, -168, 0, 0, 0, -203, -1, -114, -163, 0, - 0, 0, 0, 0, -53, 0, 0, 0, 0, 0, 0, -150, -149, 0, -202, 0, 0, 0, -103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -161, -194, -195, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static short baseCheck[] = BaseCheck.baseCheck; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[index]; - } - - public interface BaseAction { - public final static char baseAction[] = { 87, 11, 102, 24, 24, 23, 23, 39, 39, 69, 69, 1, 1, 2, 2, 2, 2, 3, 3, - 3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 59, 59, 70, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 8, 8, 8, 8, 9, 9, 9, 10, - 10, 10, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 103, 45, 40, 88, 88, 72, 72, 47, 104, 104, 104, 104, 104, 104, 104, 105, - 105, 105, 106, 106, 111, 111, 112, 112, 107, 107, 108, 108, 108, 114, 114, 109, 109, 109, 109, 109, 110, - 110, 110, 110, 110, 113, 113, 25, 25, 25, 25, 25, 28, 28, 28, 78, 78, 73, 73, 73, 73, 74, 74, 74, 75, - 75, 75, 76, 76, 76, 77, 77, 77, 115, 115, 116, 116, 117, 29, 31, 31, 31, 31, 31, 53, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 63, 60, 60, 89, 90, 65, 65, 61, 61, 61, 66, 79, 79, 80, 80, 67, 67, 67, 49, - 91, 91, 81, 82, 82, 82, 62, 62, 92, 83, 83, 84, 84, 68, 68, 21, 22, 22, 22, 30, 48, 48, 32, 32, 32, 32, - 35, 35, 37, 33, 33, 34, 38, 38, 118, 118, 36, 119, 119, 93, 93, 26, 26, 26, 26, 26, 26, 26, 26, 26, 85, - 50, 50, 50, 50, 27, 56, 56, 55, 55, 55, 57, 57, 51, 51, 94, 94, 71, 71, 58, 58, 58, 41, 41, 41, 42, 43, - 43, 43, 44, 44, 44, 44, 64, 64, 46, 46, 52, 96, 95, 95, 95, 95, 86, 97, 98, 98, 99, 99, 100, 100, 120, - 120, 121, 121, 122, 122, 122, 122, 124, 124, 123, 123, 123, 125, 126, 126, 87, 87, 1, 781, 17, 21, 18, - 344, 739, 44, 388, 386, 524, 293, 468, 634, 632, 662, 650, 718, 666, 74, 91, 135, 213, 431, 236, 108, - 991, 687, 137, 134, 136, 160, 275, 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, 1154, 468, 634, 632, - 662, 650, 718, 666, 74, 1427, 139, 166, 519, 239, 71, 31, 31, 143, 146, 149, 152, 199, 446, 1269, 71, - 187, 246, 1229, 69, 340, 1425, 1579, 1592, 1597, 1611, 1213, 424, 20, 17, 21, 18, 344, 739, 44, 388, - 386, 524, 341, 468, 634, 632, 662, 650, 718, 666, 74, 281, 335, 20, 17, 21, 18, 344, 739, 44, 388, 386, - 524, 341, 468, 634, 632, 662, 650, 718, 666, 74, 281, 1356, 443, 293, 195, 282, 583, 25, 210, 104, 384, - 1198, 482, 20, 17, 21, 18, 344, 43, 44, 388, 386, 524, 287, 468, 970, 282, 71, 31, 255, 213, 6, 1198, - 482, 20, 17, 21, 18, 344, 43, 44, 388, 386, 844, 289, 288, 482, 20, 17, 21, 18, 344, 43, 40, 1076, 453, - 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, 290, 468, 634, 632, 662, 650, 718, 666, 74, 281, 482, 20, - 17, 21, 18, 344, 739, 44, 388, 386, 524, 10, 468, 634, 632, 662, 650, 718, 666, 74, 91, 24, 342, 71, - 186, 282, 281, 1279, 71, 188, 294, 1198, 482, 20, 17, 21, 18, 344, 43, 44, 388, 386, 865, 291, 540, 20, - 17, 21, 18, 344, 739, 44, 388, 386, 524, 1634, 468, 634, 632, 662, 650, 718, 666, 74, 1531, 511, 20, 17, - 21, 18, 344, 41, 340, 305, 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, 429, 468, 634, 632, 662, 650, - 718, 666, 74, 1532, 189, 179, 163, 240, 482, 20, 17, 21, 18, 344, 43, 44, 388, 386, 524, 31, 468, 634, - 632, 662, 1180, 135, 213, 254, 213, 327, 396, 14, 137, 134, 136, 160, 482, 20, 17, 21, 18, 344, 739, 44, - 388, 386, 524, 516, 468, 634, 632, 662, 650, 718, 666, 74, 92, 139, 166, 156, 536, 124, 1131, 243, 143, - 146, 149, 152, 295, 446, 482, 20, 17, 21, 18, 344, 34, 1425, 1579, 1592, 1597, 1611, 1213, 482, 20, 17, - 21, 18, 344, 739, 44, 388, 386, 524, 275, 468, 634, 632, 662, 650, 718, 666, 74, 85, 482, 20, 17, 21, - 18, 344, 739, 44, 388, 386, 524, 172, 468, 634, 632, 662, 650, 718, 666, 74, 84, 482, 20, 17, 21, 18, - 344, 739, 44, 388, 386, 524, 530, 468, 634, 632, 662, 650, 718, 666, 74, 83, 482, 20, 17, 21, 18, 344, - 739, 44, 388, 386, 524, 283, 468, 634, 632, 662, 650, 718, 666, 74, 82, 482, 20, 17, 21, 18, 344, 739, - 44, 388, 386, 524, 569, 468, 634, 632, 662, 650, 718, 666, 74, 81, 482, 20, 17, 21, 18, 344, 739, 44, - 388, 386, 524, 151, 468, 634, 632, 662, 650, 718, 666, 74, 80, 482, 20, 17, 21, 18, 344, 739, 44, 388, - 386, 524, 194, 468, 634, 632, 662, 650, 718, 666, 74, 79, 482, 20, 17, 21, 18, 344, 739, 44, 388, 386, - 524, 30, 468, 634, 632, 662, 650, 718, 666, 74, 78, 482, 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, - 441, 468, 634, 632, 662, 650, 718, 666, 74, 77, 482, 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, 470, - 468, 634, 632, 662, 650, 718, 666, 74, 76, 482, 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, 500, 468, - 634, 632, 662, 650, 718, 666, 74, 75, 482, 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, 313, 468, 634, - 632, 662, 650, 718, 666, 74, 73, 482, 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, 343, 468, 634, 632, - 662, 650, 718, 666, 74, 1548, 482, 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, 44, 468, 634, 632, 662, - 650, 718, 666, 74, 1561, 482, 20, 17, 21, 18, 344, 43, 44, 388, 386, 524, 119, 468, 634, 632, 662, 650, - 718, 666, 93, 482, 20, 17, 21, 18, 344, 43, 44, 388, 386, 524, 110, 468, 634, 632, 662, 650, 718, 666, - 93, 482, 20, 17, 21, 18, 344, 33, 1563, 482, 20, 17, 21, 18, 344, 43, 39, 482, 20, 17, 21, 18, 344, 43, - 44, 388, 386, 524, 212, 468, 634, 632, 662, 650, 718, 666, 93, 482, 20, 17, 21, 18, 344, 43, 44, 388, - 386, 524, 31, 468, 634, 632, 662, 650, 718, 666, 93, 657, 683, 1637, 71, 296, 1352, 157, 1657, 482, 20, - 17, 21, 18, 344, 43, 38, 482, 20, 17, 21, 18, 344, 43, 44, 388, 386, 524, 202, 468, 634, 632, 662, 650, - 718, 666, 93, 482, 20, 17, 21, 18, 344, 43, 44, 388, 386, 524, 611, 468, 634, 632, 662, 650, 1178, 344, - 436, 71, 298, 1562, 1489, 1567, 50, 619, 203, 482, 20, 17, 21, 18, 344, 43, 44, 802, 274, 562, 699, 255, - 213, 163, 218, 1182, 221, 1462, 223, 224, 229, 1533, 276, 267, 1137, 671, 272, 557, 465, 97, 263, 71, - 1354, 277, 254, 213, 274, 487, 1691, 520, 264, 656, 218, 1182, 221, 1462, 223, 224, 229, 255, 213, 267, - 1137, 671, 272, 352, 1285, 641, 1712, 218, 1182, 221, 1462, 223, 224, 229, 513, 228, 1429, 445, 683, - 549, 189, 179, 292, 1712, 261, 482, 20, 17, 21, 18, 344, 43, 44, 388, 386, 524, 490, 468, 634, 632, - 1130, 135, 213, 89, 97, 1530, 586, 210, 138, 134, 136, 160, 482, 20, 17, 21, 18, 344, 43, 44, 388, 386, - 524, 705, 468, 634, 1138, 31, 501, 1354, 292, 1212, 640, 140, 166, 284, 259, 1676, 1261, 292, 144, 147, - 150, 153, 626, 446, 662, 1691, 458, 274, 1265, 1349, 377, 19, 1603, 219, 1182, 221, 1462, 223, 224, 229, - 1680, 609, 269, 1137, 671, 272, 218, 1182, 221, 1462, 223, 224, 229, 482, 20, 17, 21, 18, 344, 43, 44, - 823, 1358, 482, 20, 17, 21, 18, 344, 43, 44, 388, 386, 524, 209, 1011, 482, 20, 17, 21, 18, 344, 43, 44, - 388, 386, 524, 259, 1082, 1077, 1355, 31, 541, 394, 292, 198, 200, 684, 1691, 582, 688, 661, 1604, 623, - 1559, 1596, 482, 20, 17, 21, 18, 344, 43, 44, 388, 386, 886, 23, 539, 218, 1182, 221, 1462, 223, 224, - 229, 482, 20, 17, 21, 18, 344, 43, 37, 490, 1358, 482, 20, 17, 21, 18, 344, 43, 44, 388, 386, 907, 482, - 20, 17, 21, 18, 344, 43, 44, 388, 928, 482, 20, 17, 21, 18, 344, 43, 44, 388, 949, 253, 199, 200, 232, - 153, 153, 180, 292, 97, 31, 241, 1518, 365, 20, 17, 21, 18, 344, 43, 36, 1643, 1757, 1757, 277, 135, - 213, 274, 595, 22, 241, 273, 142, 134, 136, 160, 1348, 246, 1757, 1757, 1757, 570, 267, 1137, 671, 272, - 365, 20, 17, 21, 18, 344, 43, 36, 1757, 1265, 1757, 141, 166, 1429, 219, 1182, 221, 1462, 223, 224, 229, - 227, 490, 1757, 247, 482, 20, 17, 21, 18, 344, 43, 36, 482, 20, 17, 21, 18, 344, 43, 35, 116, 482, 20, - 17, 21, 18, 344, 43, 47, 1757, 413, 1237, 482, 20, 17, 21, 18, 344, 43, 46, 664, 607, 374, 153, 153, - 413, 274, 482, 20, 17, 21, 18, 344, 43, 45, 1123, 607, 1212, 31, 292, 153, 267, 1137, 671, 272, 31, 31, - 243, 242, 317, 1123, 163, 1212, 153, 97, 153, 317, 513, 266, 490, 1603, 259, 279, 197, 244, 1547, 1757, - 1277, 28, 490, 197, 610, 254, 213, 1198, 1256, 259, 245, 87, 295, 1547, 1212, 1277, 1263, 631, 87, 87, - 1508, 494, 652, 1263, 1426, 135, 213, 1508, 711, 501, 1354, 204, 145, 134, 136, 160, 673, 1256, 135, - 213, 1169, 181, 1215, 135, 213, 148, 134, 136, 160, 1272, 151, 134, 136, 160, 274, 1265, 1757, 135, 213, - 163, 1757, 1757, 48, 545, 154, 134, 136, 160, 142, 269, 1137, 671, 272, 607, 607, 614, 1757, 1757, 95, - 607, 254, 213, 153, 395, 403, 403, 607, 197, 1123, 607, 194, 31, 1757, 197, 513, 1650, 1638, 209, 292, - 645, 1123, 490, 513, 197, 1757, 634, 297, 278, 231, 1757, 607, 372, 1211, 1355, 259, 445, 97, 372, 1713, - 1757, 1277, 280, 1757, 87, 1123, 1757, 259, 372, 315, 192, 1673, 87, 1277, 1757, 1757, 192, 1150, 292, - 292, 342, 205, 1389, 1653, 1212, 938, 193, 1757, 1577, 1653, 1757, 260, 28, 1757, 1757, 1757, 1757, - 1714, 1198, 1757, 1757, 225, 230, 234, 1757, 1757, 1757, 1449, 1757, 1757, 1757, 328, 1757, 0, 20, 179, - 0, 1, 1983, 0, 1, 1994, 0 }; - } - - public final static char baseAction[] = BaseAction.baseAction; - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - public final int lhs(int index) { - return lhs[index]; - } - - public interface TermCheck { - public final static byte termCheck[] = { 0, 0, 1, 2, 3, 4, 0, 6, 7, 8, 0, 10, 11, 12, 0, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 0, 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 0, 44, 45, 46, - 0, 1, 0, 3, 2, 5, 6, 7, 8, 47, 48, 9, 12, 55, 56, 57, 58, 17, 18, 19, 20, 0, 22, 0, 1, 4, 3, 61, 62, 47, - 48, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 0, 1, 0, 3, 51, 5, 6, 7, 8, 0, 61, - 62, 12, 0, 1, 0, 3, 17, 18, 19, 20, 0, 22, 2, 0, 4, 13, 53, 54, 0, 9, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 0, 1, 0, 3, 51, 5, 6, 7, 8, 0, 0, 0, 12, 4, 0, 0, 5, 17, 18, 19, 20, 0, - 22, 55, 56, 57, 58, 6, 7, 8, 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 0, 1, 0, - 3, 51, 0, 6, 7, 8, 4, 0, 1, 12, 3, 50, 53, 54, 17, 18, 19, 20, 0, 22, 55, 56, 57, 58, 6, 7, 8, 63, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 0, 44, 45, 46, 0, 65, 6, 7, 8, 0, 1, 0, 12, 9, 0, 53, 54, - 17, 18, 19, 20, 0, 22, 2, 10, 11, 5, 0, 1, 2, 9, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 0, 1, - 2, 3, 4, 5, 0, 1, 30, 3, 10, 11, 12, 52, 14, 15, 16, 0, 0, 13, 0, 21, 5, 23, 24, 25, 26, 27, 28, 9, 0, - 1, 2, 3, 4, 5, 68, 69, 0, 0, 10, 11, 12, 59, 14, 15, 16, 30, 10, 11, 50, 21, 0, 23, 24, 25, 26, 27, 28, - 0, 0, 1, 2, 3, 4, 5, 14, 0, 0, 0, 10, 11, 5, 13, 14, 15, 16, 0, 10, 11, 50, 21, 5, 23, 24, 25, 26, 27, - 28, 0, 0, 1, 2, 3, 4, 5, 29, 30, 80, 0, 10, 11, 0, 43, 14, 15, 16, 30, 6, 7, 8, 21, 13, 23, 24, 25, 26, - 27, 28, 0, 0, 1, 2, 3, 4, 6, 7, 8, 0, 0, 10, 11, 63, 5, 14, 15, 16, 0, 0, 0, 50, 21, 4, 23, 24, 25, 26, - 27, 28, 0, 1, 2, 3, 4, 0, 1, 0, 3, 30, 10, 11, 0, 13, 14, 15, 16, 0, 6, 7, 8, 21, 51, 23, 24, 25, 26, - 27, 28, 0, 1, 2, 3, 4, 0, 1, 29, 3, 49, 10, 11, 0, 13, 14, 15, 16, 0, 6, 7, 8, 21, 0, 23, 24, 25, 26, - 27, 28, 0, 1, 2, 3, 4, 0, 47, 48, 0, 0, 10, 11, 0, 5, 14, 15, 16, 5, 0, 0, 1, 21, 3, 23, 24, 25, 26, 27, - 28, 0, 1, 2, 3, 4, 0, 47, 48, 0, 0, 10, 11, 29, 5, 14, 15, 16, 0, 1, 0, 3, 21, 43, 23, 24, 25, 26, 27, - 28, 0, 1, 2, 3, 4, 0, 1, 47, 48, 0, 10, 11, 65, 4, 14, 15, 16, 0, 1, 2, 66, 21, 0, 23, 24, 25, 26, 27, - 28, 0, 0, 2, 2, 4, 5, 6, 7, 8, 9, 9, 64, 12, 0, 0, 64, 66, 17, 18, 19, 20, 60, 22, 9, 0, 49, 0, 1, 2, 5, - 30, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 0, 0, 1, 2, 0, 4, 6, 7, 8, 0, 9, 59, 12, 0, 0, 0, 0, 17, 18, - 19, 20, 0, 22, 14, 0, 52, 43, 6, 7, 8, 0, 0, 60, 12, 4, 0, 0, 13, 17, 18, 19, 20, 0, 22, 13, 29, 0, 0, - 6, 7, 8, 0, 0, 49, 12, 9, 0, 0, 0, 17, 18, 19, 20, 0, 22, 13, 0, 0, 0, 6, 7, 8, 59, 0, 0, 12, 29, 0, 0, - 2, 17, 18, 19, 20, 49, 22, 9, 13, 0, 0, 1, 2, 15, 16, 5, 0, 1, 2, 9, 4, 0, 0, 29, 2, 9, 4, 0, 29, 0, 0, - 9, 60, 0, 13, 0, 0, 0, 0, 0, 30, 0, 13, 13, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 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; - - @Override - public final int termCheck(int index) { - return termCheck[index]; - } - - public interface TermAction { - public final static char termAction[] = { 0, 1757, 1768, 1546, 1769, 1492, 59, 1971, 1972, 1973, 54, 1381, 1084, - 1920, 62, 1500, 1020, 673, 1921, 1919, 1974, 1922, 578, 1918, 1770, 1771, 1772, 1773, 1028, 483, 58, 1, - 1925, 1930, 1929, 1927, 1928, 1926, 1931, 1932, 1924, 1933, 1934, 1935, 63, 1281, 597, 381, 1757, 1, - 270, 1, 1659, 191, 1, 1, 1, 1402, 1412, 349, 1, 1391, 1361, 545, 470, 1, 1, 1, 1, 48, 1, 1757, 1768, - 1535, 1769, 1331, 1318, 1402, 1412, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 191, 1, 1, 1, 1757, 1, 253, 1, - 1953, 190, 1, 1, 1, 182, 1331, 1318, 1, 1757, 1768, 61, 1769, 1, 1, 1, 1, 265, 1, 1422, 183, 1, 1067, - 1520, 1509, 286, 349, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 190, 1, 1, 1, 1757, 1, 1757, 1, 1953, 191, 1, - 1, 1, 50, 1757, 1757, 1, 1535, 66, 60, 1761, 1, 1, 1, 1, 1757, 1, 1391, 1361, 545, 470, 1971, 1972, - 1973, 70, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 191, 1, 1, 1, 1757, 1768, 1757, 1769, 1953, 49, 1971, - 1972, 1973, 1535, 185, 2783, 1920, 2783, 1760, 1520, 1509, 1921, 1919, 1974, 1922, 248, 1918, 1391, - 1361, 545, 470, 1971, 1972, 1973, 1245, 1925, 1930, 1929, 1927, 1928, 1926, 1931, 1932, 1924, 1933, - 1934, 1935, 129, 1281, 597, 381, 1757, 611, 1971, 1972, 1973, 1757, 1995, 72, 1920, 980, 51, 1520, 1509, - 1921, 1919, 1974, 1922, 1, 1918, 1422, 1308, 1140, 1763, 1, 1983, 1168, 349, 1925, 1930, 1929, 1927, - 1928, 1926, 1931, 1932, 1924, 1933, 1934, 1935, 1, 1768, 1546, 1769, 1434, 1761, 1757, 1768, 1762, 1769, - 1381, 1084, 557, 1079, 1500, 1020, 673, 1757, 1757, 1260, 271, 578, 1763, 1770, 1771, 1772, 1773, 1028, - 483, 349, 1757, 1768, 1546, 1769, 1467, 1761, 1112, 1666, 53, 1757, 1381, 1084, 959, 1056, 1500, 1020, - 673, 1762, 1308, 1140, 1760, 578, 64, 1770, 1771, 1772, 1773, 1028, 483, 1757, 1, 1768, 1546, 1769, - 1492, 29, 449, 1757, 52, 67, 1381, 1084, 1763, 2666, 1500, 1020, 673, 1, 1308, 1140, 1760, 578, 90, - 1770, 1771, 1772, 1773, 1028, 483, 1757, 1757, 1768, 1546, 1769, 1492, 1761, 1432, 1762, 1747, 1757, - 1381, 1084, 249, 29, 1500, 1020, 673, 90, 1, 1, 1, 578, 2666, 1770, 1771, 1772, 1773, 1028, 483, 250, - 1757, 1, 1, 1, 1, 1, 1, 1, 1, 1757, 1, 1, 1245, 1763, 1, 1, 1, 1757, 1, 1757, 1760, 1, 253, 1, 1, 1, 1, - 1, 1, 1, 1768, 1546, 1769, 1492, 184, 2791, 88, 2791, 1762, 1381, 1084, 251, 2666, 1500, 1020, 673, 57, - 1971, 1972, 1973, 578, 2073, 1770, 1771, 1772, 1773, 1028, 483, 1757, 1768, 1546, 1769, 1492, 206, 2792, - 639, 2792, 2015, 1381, 1084, 252, 2666, 1500, 1020, 673, 56, 1971, 1972, 1973, 578, 1757, 1770, 1771, - 1772, 1773, 1028, 483, 1757, 1768, 1546, 1769, 1492, 71, 1402, 1412, 1757, 1757, 1381, 1084, 1757, 1765, - 1500, 1020, 673, 1767, 55, 208, 1768, 578, 1769, 1770, 1771, 1772, 1773, 1028, 483, 1757, 1768, 1553, - 1769, 1492, 68, 1402, 1412, 1, 69, 1381, 1084, 1342, 1767, 1500, 1020, 673, 207, 1172, 43, 1172, 578, - 1764, 1770, 1771, 1772, 1773, 1028, 483, 1, 1768, 1546, 1769, 1492, 1, 1754, 1402, 1412, 1757, 1381, - 1084, 611, 1170, 1500, 1020, 673, 1, 1983, 1168, 1766, 578, 1757, 1770, 1771, 1772, 1773, 1028, 483, 20, - 222, 1748, 1660, 1748, 1748, 179, 179, 179, 1748, 349, 1218, 179, 211, 292, 1218, 1766, 179, 179, 179, - 179, 896, 179, 1036, 285, 2015, 253, 1983, 1168, 376, 1748, 875, 854, 833, 812, 791, 749, 770, 728, 707, - 686, 130, 262, 1983, 1151, 1, 1, 1971, 1972, 1973, 65, 349, 917, 1920, 201, 1757, 1757, 256, 1921, 1919, - 1974, 1922, 131, 1918, 449, 42, 1132, 376, 1971, 1972, 1973, 1757, 1757, 1000, 1920, 1430, 1, 1757, - 2666, 1921, 1919, 1974, 1922, 132, 1918, 622, 1674, 220, 30, 1971, 1972, 1973, 1757, 1757, 2015, 1920, - 349, 1757, 1757, 1757, 1921, 1919, 1974, 1922, 133, 1918, 1346, 1757, 1757, 1757, 1971, 1972, 1973, - 1092, 30, 1757, 1920, 417, 32, 207, 1196, 1921, 1919, 1974, 1922, 2014, 1918, 1554, 1431, 1757, 1, 1751, - 1151, 1783, 1784, 1763, 268, 1983, 1151, 349, 253, 189, 268, 1786, 1422, 349, 253, 1757, 2601, 189, 189, - 349, 492, 1757, 185, 1757, 1757, 1757, 1757, 1757, 1762, 1757, 184, 206, 1757, 1757, 1757, 1757, 1757, - 1757, 464, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 374 }; - } - - public final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[index]; - } - - public interface Asb { - public final static char asb[] = { 0, 375, 1, 54, 41, 54, 54, 54, 54, 54, 54, 54, 54, 54, 334, 3, 23, 20, 27, - 25, 33, 31, 35, 34, 37, 36, 9, 54, 334, 170, 170, 291, 334, 263, 263, 203, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 170, 98, - 295, 48, 233, 168, 167, 266, 278, 96, 278, 96, 96, 278, 96, 278, 348, 124, 170, 45, 20, 20, 25, 25, 25, - 25, 23, 23, 31, 27, 27, 34, 33, 303, 36, 35, 393, 200, 98, 291, 295, 104, 45, 371, 52, 170, 305, 236, - 96, 263, 263, 96, 263, 54, 200, 80, 295, 286, 371, 45, 51, 48, 170, 289, 348, 169, 238, 98, 173, 98, - 222, 80, 286, 286, 54, 54, 45, 52, 233, 298, 297, 295, 238, 170, 98, 173, 222, 222, 224, 101, 286, 371, - 45, 45, 170, 305, 236, 289, 173, 200, 71, 173, 222, 224, 228, 224, 200, 78, 231, 263, 54, 100, 371, 286, - 238, 173, 73, 224, 200, 54, 263, 3, 82, 45, 263, 54, 286, 170, 169, 200, 429, 54, 428, 67, 295, 200, 45, - 264, 73, 54, 67 }; - } - - public final static char asb[] = Asb.asb; - - @Override - public final int asb(int index) { - return asb[index]; - } - - public interface Asr { - public final static byte asr[] = { 0, 80, 0, 9, 2, 52, 67, 15, 16, 60, 70, 71, 72, 73, 74, 76, 75, 77, 78, 79, - 4, 53, 54, 10, 11, 48, 47, 55, 56, 57, 58, 61, 62, 14, 63, 64, 65, 43, 66, 68, 69, 59, 30, 80, 29, 50, - 5, 0, 6, 7, 8, 12, 50, 5, 23, 24, 25, 26, 3, 15, 16, 14, 10, 11, 27, 28, 21, 4, 2, 1, 0, 66, 5, 4, 1, 2, - 59, 0, 5, 43, 9, 52, 15, 16, 14, 4, 10, 11, 27, 28, 21, 2, 23, 24, 25, 26, 1, 3, 13, 0, 60, 9, 52, 0, 6, - 7, 8, 2, 23, 24, 25, 26, 1, 3, 15, 16, 14, 4, 10, 11, 27, 28, 21, 0, 7, 12, 22, 8, 20, 19, 18, 6, 17, - 52, 67, 15, 16, 14, 10, 11, 53, 54, 47, 48, 55, 56, 57, 58, 61, 62, 63, 64, 65, 68, 69, 60, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 4, 2, 9, 29, 30, 5, 0, 17, 31, 6, 32, 44, 18, 33, 19, 34, 35, 20, 7, 36, 37, - 12, 45, 22, 46, 38, 39, 8, 40, 41, 42, 1, 3, 51, 5, 43, 0, 5, 30, 21, 23, 24, 25, 26, 1, 3, 2, 15, 16, - 14, 4, 10, 11, 27, 28, 0, 1, 3, 5, 43, 29, 0, 5, 29, 43, 60, 0, 4, 2, 9, 30, 5, 17, 31, 6, 32, 44, 18, - 33, 19, 34, 35, 20, 7, 36, 37, 12, 45, 22, 46, 38, 39, 8, 40, 41, 42, 49, 3, 1, 0, 39, 31, 36, 34, 35, - 33, 32, 37, 38, 40, 41, 42, 59, 66, 22, 18, 12, 17, 20, 19, 6, 7, 8, 29, 1, 5, 30, 2, 9, 4, 0, 2, 5, 29, - 30, 66, 9, 59, 0, 4, 17, 31, 6, 32, 44, 18, 33, 19, 34, 35, 20, 7, 36, 37, 12, 45, 22, 46, 38, 39, 8, - 40, 41, 42, 1, 3, 49, 0, 21, 23, 24, 25, 26, 2, 15, 16, 14, 4, 10, 11, 27, 28, 1, 3, 44, 45, 46, 39, 31, - 36, 34, 35, 33, 32, 37, 38, 40, 41, 42, 22, 18, 12, 17, 20, 19, 6, 7, 8, 0, 21, 23, 24, 25, 26, 1, 3, 2, - 15, 16, 14, 4, 10, 11, 27, 28, 51, 0, 14, 4, 10, 11, 53, 54, 47, 48, 55, 56, 57, 58, 61, 62, 63, 64, 65, - 68, 69, 60, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 50, 30, 43, 80, 13, 59, 66, 5, 29, 0 }; - } - - public final static byte asr[] = Asr.asr; - - @Override - public final int asr(int index) { - return asr[index]; - } - - public interface Nasb { - public final static byte nasb[] = { 0, 117, 41, 23, 41, 23, 23, 23, 23, 23, 23, 23, 23, 23, 97, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 23, 97, 121, 121, 85, 1, 18, 18, 59, 98, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 98, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 121, 94, 72, 11, - 84, 44, 44, 67, 68, 29, 68, 82, 82, 68, 81, 68, 62, 41, 121, 13, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 94, 55, 41, 101, 41, 31, 13, 57, 12, 121, 89, 120, 7, 7, 7, 7, 7, 23, 70, 55, - 41, 79, 57, 13, 12, 27, 121, 51, 34, 41, 91, 46, 55, 41, 55, 21, 79, 55, 23, 23, 13, 12, 50, 44, 44, 72, - 91, 121, 41, 105, 55, 7, 48, 9, 55, 57, 13, 13, 121, 89, 120, 75, 55, 70, 15, 113, 7, 48, 41, 41, 70, - 20, 41, 7, 23, 25, 57, 27, 109, 105, 53, 48, 70, 23, 7, 42, 22, 13, 7, 23, 27, 121, 121, 70, 16, 23, 41, - 53, 72, 70, 13, 41, 53, 23, 77 }; - } - - public final static byte nasb[] = Nasb.nasb; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - public interface Nasr { - public final static char nasr[] = { 0, 78, 76, 75, 65, 74, 73, 1, 0, 98, 0, 11, 5, 24, 0, 11, 69, 0, 70, 0, 86, - 11, 52, 5, 0, 100, 0, 21, 0, 89, 0, 5, 11, 0, 78, 77, 76, 75, 65, 74, 73, 0, 96, 0, 26, 0, 90, 0, 59, 0, - 23, 43, 42, 35, 33, 11, 0, 56, 0, 11, 88, 0, 65, 60, 61, 62, 63, 53, 28, 0, 39, 0, 27, 50, 0, 43, 42, - 35, 33, 27, 0, 92, 66, 0, 23, 42, 43, 11, 0, 27, 50, 11, 25, 0, 52, 46, 0, 49, 11, 45, 0, 43, 42, 27, 0, - 80, 11, 49, 0, 93, 11, 25, 0, 11, 49, 67, 0, 11, 87, 0, 11, 23, 0 }; - } - - public final static char nasr[] = Nasr.nasr; - - @Override - public final int nasr(int index) { - return nasr[index]; - } - - public interface TerminalIndex { - public final static char terminalIndex[] = { 0, 85, 2, 86, 9, 87, 48, 64, 76, 1, 10, 11, 69, 3, 8, 6, 7, 44, 55, - 60, 63, 68, 72, 81, 82, 83, 84, 12, 13, 42, 90, 47, 52, 56, 61, 62, 66, 67, 74, 75, 78, 79, 80, 91, 54, - 70, 73, 16, 17, 30, 89, 93, 4, 14, 15, 18, 19, 20, 21, 29, 31, 22, 23, 24, 25, 26, 92, 5, 27, 28, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 94, 45, 46, 49, 50, 51, 53, 57, 58, 59, 65, 71, 77, 88 }; - } - - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - - @Override - public final int terminalIndex(int index) { - return terminalIndex[index]; - } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = { 0, 100, 0, 0, 0, 102, 106, 107, 108, 109, 110, 0, 111, 112, 113, - 114, 115, 116, 117, 0, 118, 128, 0, 97, 96, 121, 149, 0, 127, 0, 0, 0, 145, 147, 0, 148, 0, 0, 0, 98, 0, - 158, 159, 160, 0, 101, 105, 120, 136, 140, 146, 155, 0, 130, 0, 150, 153, 154, 157, 0, 131, 132, 133, - 134, 135, 137, 0, 139, 144, 99, 103, 104, 119, 122, 123, 124, 125, 126, 129, 0, 138, 142, 0, 0, 143, - 152, 162, 95, 0, 0, 0, 141, 0, 151, 156, 161, 0, 163, 164, 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - - @Override - public final int nonterminalIndex(int index) { - return nonterminalIndex[index]; - } - - public interface ScopePrefix { - public final static char scopePrefix[] = { 82, 113, 92, 35, 41, 121, 12, 136, 21, 51, 69, 28, 47, 103, 152, 162, - 166, 145, 1, 1, 32, 56, 79, 170, 6, 107, 156, 127, 99, 59, 59, 59 }; - } - - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - - @Override - public final int scopePrefix(int index) { - return scopePrefix[index]; - } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { 90, 90, 90, 4, 4, 90, 18, 142, 26, 4, 26, 26, 4, 101, 26, 26, 4, 149, - 4, 4, 26, 4, 26, 26, 9, 110, 159, 130, 101, 66, 61, 74 }; - } - - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - - @Override - public final int scopeSuffix(int index) { - return scopeSuffix[index]; - } - - public interface ScopeLhs { - public final static char scopeLhs[] = { 62, 60, 62, 26, 26, 60, 46, 108, 44, 26, 38, 44, 26, 67, 6, 5, 5, 19, - 100, 99, 42, 26, 35, 3, 86, 67, 5, 109, 67, 38, 36, 38 }; - } - - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - - @Override - public final int scopeLhs(int index) { - return scopeLhs[index]; - } - - public interface ScopeLa { - public final static byte scopeLa[] = { 43, 43, 43, 50, 50, 43, 43, 86, 30, 50, 30, 30, 50, 66, 30, 30, 50, 59, - 50, 50, 30, 50, 30, 30, 60, 1, 30, 92, 66, 2, 2, 2 }; - } - - public final static byte scopeLa[] = ScopeLa.scopeLa; - - @Override - public final int scopeLa(int index) { - return scopeLa[index]; - } - - public interface ScopeStateSet { - public final static byte scopeStateSet[] = { 23, 23, 23, 27, 27, 23, 17, -1, 31, 27, 9, 31, 27, 5, 38, 38, 38, - 67, 1, 3, 31, 27, 9, 38, 93, 5, 38, -1, 5, 9, 9, 9 }; - } - - public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet; - - @Override - public final int scopeStateSet(int index) { - return scopeStateSet[index]; - } - - public interface ScopeRhs { - public final static char scopeRhs[] = { 0, 140, 9, 0, 96, 0, 190, 104, 0, 31, 135, 0, 152, 188, 104, 13, 145, 0, - 98, 0, 0, 148, 104, 2, 135, 0, 97, 0, 148, 104, 2, 0, 151, 2, 0, 113, 12, 178, 104, 9, 0, 113, 178, 104, - 12, 9, 0, 113, 12, 9, 0, 113, 178, 104, 9, 0, 113, 9, 0, 128, 0, 2, 0, 151, 97, 0, 2, 97, 0, 148, 104, - 2, 128, 0, 2, 0, 150, 97, 0, 141, 2, 0, 152, 176, 104, 13, 94, 185, 44, 0, 98, 0, 152, 176, 104, 13, - 185, 44, 0, 142, 0, 99, 0, 184, 104, 142, 0, 104, 142, 0, 141, 99, 0, 172, 104, 13, 183, 94, 182, 158, - 0, 172, 104, 13, 182, 158, 0, 197, 85, 0, 77, 2, 101, 97, 99, 0, 197, 116, 138, 2, 89, 0, 53, 0, 0, 138, - 69, 111, 0, 29, 118, 0, 164, 2, 21, 0, 164, 2, 0, 97, 105, 0, 181, 2, 98, 0, 138, 9, 98, 0, 138, 2, 0 }; - } - - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - - @Override - public final int scopeRhs(int index) { - return scopeRhs[index]; - } - - public interface ScopeState { - public final static char scopeState[] = { 0, 443, 0, 341, 0, 1643, 1653, 1637, 0, 1449, 1342, 1168, 1269, 1256, - 1151, 1123, 0, 492, 417, 396, 1680, 1530, 0, 607, 1213, 317, 0, 1462, 1182, 1137, 671, 1256, 1151, 1123, - 1603, 1422, 1508, 0, 1467, 1434, 611, 1112, 1245, 1218, 1331, 1318, 449, 1412, 1402, 1391, 1361, 545, - 470, 1535, 1520, 1509, 1308, 1140, 1020, 673, 1500, 1492, 1381, 1084, 1028, 483, 578, 1092, 1056, 1036, - 492, 1000, 980, 959, 938, 586, 917, 557, 349, 896, 875, 854, 833, 812, 791, 770, 749, 728, 707, 686, - 317, 639, 513, 417, 396, 0 }; - } - - public final static char scopeState[] = ScopeState.scopeState; - - @Override - public final int scopeState(int index) { - return scopeState[index]; - } - - public interface InSymb { - public final static char inSymb[] = { 0, 0, 180, 104, 165, 21, 28, 27, 11, 10, 4, 14, 16, 15, 2, 98, 102, 101, - 105, 103, 107, 106, 109, 108, 111, 110, 99, 29, 2, 164, 138, 142, 104, 67, 52, 2, 9, 11, 10, 54, 53, 4, - 58, 57, 56, 55, 47, 48, 14, 62, 61, 64, 63, 69, 68, 65, 79, 78, 77, 75, 76, 74, 73, 72, 71, 70, 60, 164, - 116, 104, 9, 2, 136, 135, 166, 167, 158, 168, 46, 45, 169, 44, 170, 171, 94, 181, 138, 101, 101, 103, - 103, 103, 103, 102, 102, 106, 105, 105, 108, 107, 138, 110, 109, 116, 13, 145, 143, 120, 12, 113, 104, - 4, 151, 104, 2, 182, 159, 159, 185, 159, 59, 104, 13, 120, 4, 104, 113, 178, 149, 148, 118, 104, 150, - 104, 94, 13, 94, 13, 104, 4, 120, 178, 12, 113, 4, 2, 126, 128, 104, 29, 148, 183, 104, 13, 104, 188, - 104, 120, 104, 113, 113, 141, 104, 2, 143, 13, 172, 142, 173, 104, 176, 94, 177, 152, 29, 190, 52, 9, - 191, 104, 149, 104, 104, 104, 176, 152, 60, 29, 132, 60, 140, 52, 9, 149, 148, 186, 172, 184, 59, 141, - 2, 104, 152, 140, 29, 29, 59, 143 }; - } - - public final static char inSymb[] = InSymb.inSymb; - - @Override - 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", "ERROR_TOKEN", - "EOF_TOKEN", "no_cast_start", "]", ")", "}", ";", "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_list_actual", "constant_expression", "declaration_specifiers", - "simple_declaration_specifiers", "struct_or_union_declaration_sp" + "ecifiers", - "elaborated_declaration_specifi" + "ers", "enum_declaration_specifiers", - "typdef_name_declaration_specif" + "iers", "no_type_declaration_specifier", "type_qualifier", - "no_type_declaration_specifiers", "simple_type_specifier", "struct_or_union_specifier", - "elaborated_specifier", "enum_specifier", "type_name_specifier", "initializer", "declarator", - "struct_or_union", "struct_declaration_list", "struct_declaration", "specifier_qualifier_list", - "struct_declarator_list", "complete_struct_declarator", "enumerator_list", "enumerator", - "direct_declarator", "pointer_seq", "array_direct_declarator", "basic_direct_declarator", - "array_modifier", "parameter_type_list", "identifier_list", "array_modifier_type_qualifiers", - "type_qualifier_list", "parameter_list", "parameter_declaration", "complete_parameter_declarator", - "abstract_declarator", "direct_abstract_declarator", "basic_direct_abstract_declarat" + "or", - "array_direct_abstract_declarat" + "or", "initializer_seq", "designated_initializer", "designation", - "designator_list", "designator" }; - } - - public final static String name[] = Name.name; - - @Override - public final String name(int index) { - return name[index]; - } - - public final static int ERROR_SYMBOL = 51, SCOPE_UBOUND = 31, SCOPE_SIZE = 32, MAX_NAME_LENGTH = 38; - - @Override - public final int getErrorSymbol() { - return ERROR_SYMBOL; - } - - @Override - public final int getScopeUbound() { - return SCOPE_UBOUND; - } - - @Override - public final int getScopeSize() { - return SCOPE_SIZE; - } - - @Override - public final int getMaxNameLength() { - return MAX_NAME_LENGTH; - } - - public final static int NUM_STATES = 207, NT_OFFSET = 93, LA_STATE_OFFSET = 2073, MAX_LA = 2, NUM_RULES = 316, - NUM_NONTERMINALS = 126, NUM_SYMBOLS = 219, SEGMENT_SIZE = 8192, START_STATE = 1658, IDENTIFIER_SYMBOL = 0, - EOFT_SYMBOL = 80, EOLT_SYMBOL = 80, ACCEPT_ACTION = 1747, ERROR_ACTION = 1757; - - public final static boolean BACKTRACK = true; - - @Override - public final int getNumStates() { - return NUM_STATES; - } - - @Override - public final int getNtOffset() { - return NT_OFFSET; - } - - @Override - public final int getLaStateOffset() { - return LA_STATE_OFFSET; - } - - @Override - public final int getMaxLa() { - return MAX_LA; - } - - @Override - public final int getNumRules() { - return NUM_RULES; - } - - @Override - public final int getNumNonterminals() { - return NUM_NONTERMINALS; - } - - @Override - public final int getNumSymbols() { - return NUM_SYMBOLS; - } - - @Override - public final int getSegmentSize() { - return SEGMENT_SIZE; - } - - @Override - public final int getStartState() { - return START_STATE; - } - - @Override - public final int getStartSymbol() { - return lhs[0]; - } - - public final int getIdentifierSymbol() { - return IDENTIFIER_SYMBOL; - } - - @Override - public final int getEoftSymbol() { - return EOFT_SYMBOL; - } - - @Override - public final int getEoltSymbol() { - return EOLT_SYMBOL; - } - - @Override - public final int getAcceptAction() { - return ACCEPT_ACTION; - } - - @Override - public final int getErrorAction() { - return ERROR_ACTION; - } - - @Override - public final boolean isValidForParser() { - return isValidForParser; - } - - @Override - public final boolean getBacktrack() { - return BACKTRACK; - } - - @Override - public final int originalState(int state) { - return -baseCheck[state]; - } - - @Override - public final int asi(int state) { - return asb[originalState(state)]; - } - - @Override - public final int nasi(int state) { - return nasb[originalState(state)]; - } - - @Override - public final int inSymbol(int state) { - return inSymb[originalState(state)]; - } - - @Override - public final int ntAction(int state, int sym) { - return baseAction[state + sym]; - } - - @Override - public final int tAction(int state, int sym) { - int i = baseAction[state], k = i + sym; - return termAction[termCheck[k] == sym ? k : i]; - } - - @Override - 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/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java deleted file mode 100644 index 28afc2102e8..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2010 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.c99; - -public interface C99NoCastExpressionParsersym { - public final static int TK_auto = 17, TK_break = 81, TK_case = 82, TK_char = 31, TK_const = 6, TK_continue = 83, - TK_default = 84, TK_do = 85, TK_double = 32, TK_else = 86, TK_enum = 44, TK_extern = 18, TK_float = 33, - TK_for = 87, TK_goto = 88, TK_if = 89, TK_inline = 19, TK_int = 34, TK_long = 35, TK_register = 20, - TK_restrict = 7, TK_return = 90, TK_short = 36, TK_signed = 37, TK_sizeof = 21, TK_static = 12, - TK_struct = 45, TK_switch = 91, TK_typedef = 22, TK_union = 46, TK_unsigned = 38, TK_void = 39, - TK_volatile = 8, TK_while = 92, TK__Bool = 40, TK__Complex = 41, TK__Imaginary = 42, TK_integer = 23, - TK_floating = 24, TK_charconst = 25, TK_stringlit = 26, TK_identifier = 1, TK_Completion = 3, - TK_EndOfCompletion = 5, TK_Invalid = 93, TK_LeftBracket = 9, TK_LeftParen = 2, TK_LeftBrace = 13, - TK_Dot = 52, TK_Arrow = 67, TK_PlusPlus = 15, TK_MinusMinus = 16, TK_And = 14, TK_Star = 4, TK_Plus = 10, - TK_Minus = 11, TK_Tilde = 27, TK_Bang = 28, TK_Slash = 53, TK_Percent = 54, TK_RightShift = 47, - TK_LeftShift = 48, TK_LT = 55, TK_GT = 56, TK_LE = 57, TK_GE = 58, TK_EQ = 61, TK_NE = 62, TK_Caret = 63, - TK_Or = 64, TK_AndAnd = 65, TK_OrOr = 68, TK_Question = 69, TK_Colon = 59, TK_DotDotDot = 49, - TK_Assign = 60, TK_StarAssign = 70, TK_SlashAssign = 71, TK_PercentAssign = 72, TK_PlusAssign = 73, - TK_MinusAssign = 74, TK_RightShiftAssign = 75, TK_LeftShiftAssign = 76, TK_AndAssign = 77, - TK_CaretAssign = 78, TK_OrAssign = 79, TK_Comma = 29, TK_RightBracket = 50, TK_RightParen = 30, - TK_RightBrace = 43, TK_SemiColon = 66, TK_ERROR_TOKEN = 51, TK_EOF_TOKEN = 80; - - public final static String orderedTerminalSymbols[] = { "", "identifier", "LeftParen", "Completion", "Star", - "EndOfCompletion", "const", "restrict", "volatile", "LeftBracket", "Plus", "Minus", "static", "LeftBrace", - "And", "PlusPlus", "MinusMinus", "auto", "extern", "inline", "register", "sizeof", "typedef", "integer", - "floating", "charconst", "stringlit", "Tilde", "Bang", "Comma", "RightParen", "char", "double", "float", - "int", "long", "short", "signed", "unsigned", "void", "_Bool", "_Complex", "_Imaginary", "RightBrace", - "enum", "struct", "union", "RightShift", "LeftShift", "DotDotDot", "RightBracket", "ERROR_TOKEN", "Dot", - "Slash", "Percent", "LT", "GT", "LE", "GE", "Colon", "Assign", "EQ", "NE", "Caret", "Or", "AndAnd", - "SemiColon", "Arrow", "OrOr", "Question", "StarAssign", "SlashAssign", "PercentAssign", "PlusAssign", - "MinusAssign", "RightShiftAssign", "LeftShiftAssign", "AndAssign", "CaretAssign", "OrAssign", "EOF_TOKEN", - "break", "case", "continue", "default", "do", "else", "for", "goto", "if", "return", "switch", "while", - "Invalid" }; - - public final static boolean isValidForParser = true; -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java deleted file mode 100644 index 9732b5ac37a..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java +++ /dev/null @@ -1,1654 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.c99; - -import java.util.List; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.IASTCastExpression; -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.dom.lrparser.IParser; -import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction; -import org.eclipse.cdt.core.dom.lrparser.action.c99.C99SecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; - -import lpg.lpgjavaruntime.BadParseException; -import lpg.lpgjavaruntime.BadParseSymFileException; -import lpg.lpgjavaruntime.DiagnoseParser; -import lpg.lpgjavaruntime.ErrorToken; -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.LexStream; -import lpg.lpgjavaruntime.Monitor; -import lpg.lpgjavaruntime.NotBacktrackParseTableException; -import lpg.lpgjavaruntime.NullExportedSymbolsException; -import lpg.lpgjavaruntime.NullTerminalSymbolsException; -import lpg.lpgjavaruntime.ParseErrorCodes; -import lpg.lpgjavaruntime.ParseTable; -import lpg.lpgjavaruntime.PrsStream; -import lpg.lpgjavaruntime.RuleAction; -import lpg.lpgjavaruntime.UndefinedEofSymbolException; -import lpg.lpgjavaruntime.UnimplementedTerminalsException; - -public class C99Parser extends PrsStream - implements RuleAction, ITokenStream, ITokenCollector, IParser - -{ - private static ParseTable prs = new C99Parserprs(); - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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 C99Parser(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), C99Parserprs.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(" " + C99Parsersym.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " - + C99Parsersym.orderedTerminalSymbols[C99Parserprs.EOFT_SYMBOL])); - } - } - - @Override - public String[] orderedTerminalSymbols() { - return C99Parsersym.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return C99Parsersym.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return C99Parserprs.EOFT_SYMBOL; - } - - public PrsStream getParseStream() { - return 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, this, prs, this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException("Regenerate C99Parserprs.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- C99Parsersym.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 C99BuildASTParserAction action; - private IASTCompletionNode compNode; - - public C99Parser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, - IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new C99BuildASTParserAction(this, astStack, CNodeFactory.getDefault(), - C99SecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - 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(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return C99Parsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "C99Parser"; - } - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 ::= 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 ::= { 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 init_declarator_list ; - // - case 129: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 130: declaration_specifiers ::= simple_declaration_specifiers - // - case 130: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 131: declaration_specifiers ::= struct_or_union_declaration_specifiers - // - case 131: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 132: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 132: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 133: declaration_specifiers ::= enum_declaration_specifiers - // - case 133: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 134: declaration_specifiers ::= 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 { 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 { 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 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 { enumerator_list_opt comma_opt } - // - case 205: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { 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 ::= 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 ( 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 ::= pointer_seq function_direct_declarator - // - case 234: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) - // - case 235: { - action.consumeDirectDeclaratorFunctionDeclaratorKnR(); - break; - } - - // - // Rule 237: knr_function_declarator ::= 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 ::= [ 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 ::= [ 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 array_modifier_type_qualifiers assignment_expression ] - // - case 245: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); - break; - } - - // - // Rule 246: array_modifier ::= [ 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 ::= [ 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 type_qualifier_list - // - case 252: { - action.consumePointerTypeQualifierList(); - break; - } - - // - // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook 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 ::= pointer_seq - // - case 269: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 270: abstract_declarator ::= 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 ::= ( parameter_type_list ) - // - case 280: { - action.consumeDirectDeclaratorFunctionDeclarator(false, true); - break; - } - - // - // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( 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 { initializer_seq comma_opt } end_initializer_list - // - case 284: { - action.consumeInitializerList(); - break; - } - - // - // Rule 285: initializer_list ::= { } - // - 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 ::= 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 ::= function_declarator function_body - // - case 311: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 312: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement - // - case 312: { - action.consumeFunctionDefinitionKnR(); - break; - } - - // - // Rule 313: normal_function_definition ::= declaration_specifiers function_declarator function_body - // - case 313: { - action.consumeFunctionDefinition(true); - break; - } - - // - // Rule 314: function_body ::= { } - // - case 314: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 315: function_body ::= { block_item_list } - // - case 315: { - action.consumeStatementCompoundStatement(true); - break; - } - - default: - break; - } - return; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java deleted file mode 100644 index 9365f4802e6..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java +++ /dev/null @@ -1,843 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.c99; - -public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym { - - 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 }; - } - - 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, -106, 0, -161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -37, 0, - 0, 0, -18, 0, -61, -10, 0, 0, -159, 0, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -41, 0, 0, 0, 0, - 0, 0, 0, -9, 0, 0, 0, 0, 0, -236, 0, -4, 0, 0, 0, 0, 0, -23, 0, 0, 0, 0, 0, 0, -2, 0, 0, -242, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -32, 0, -65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -139, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13, 0, 0, 0, -33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -39, 0, 0, 0, -120, 0, -267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20, 0, 0, 0, - -21, 0, -7, -27, 0, 0, -271, 0, -156, 0, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -251, -31, 0, - 0, 0, -46, 0, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -24, 0, 0, -148, 0, -30, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -34, 0, 0, -137, 0, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25, 0, -280, 0, -279, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -58, 0, -102, -50, 0, 0, 0, 0, -26, 0, -38, 0, 0, 0, -51, -146, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -192, -53, 0, 0, 0, 0, 0, 0, - -150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -138, 0, 0, 0, 0, 0, 0, 0, 0, -35, 0, -36, 0, 0, 0, 0, 0, - 0, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -113, 0, -119, 0, -132, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -188, 0, 0, 0, 0, 0, -165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -118, 0, -104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -121, 0, -49, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -93, 0, -151, 0, -179, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, -122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -133, 0, 0, 0, - -160, 0, -123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, 0, -189, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -200, 0, 0, 0, 0, 0, -125, 0, -63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -201, 0, -126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -202, 0, 0, 0, 0, 0, - -127, 0, -224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -226, 0, -128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -227, 0, 0, 0, 0, 0, -129, 0, -240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -265, 0, -130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274, 0, 0, 0, 0, 0, -131, 0, - -278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -284, 0, -193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -290, 0, 0, 0, 0, 0, -194, 0, -74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -75, 0, -230, 0, -76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -77, 0, 0, 0, -78, 0, -235, 0, -54, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -79, 0, 0, 0, -249, 0, -80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -81, 0, -147, 0, -82, 0, 0, 0, 0, 0, 0, 0, -260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -83, 0, 0, 0, -270, 0, -84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -87, 0, 0, 0, -152, - 0, -89, 0, 0, 0, 0, 0, 0, 0, 0, 0, -277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -111, 0, 0, 0, - -283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -90, 0, 0, 0, -72, 0, -96, 0, 0, 0, 0, 0, -48, 0, - 0, 0, -149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -95, 0, -42, 0, 0, -238, 0, -62, -97, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -92, -45, 0, 0, -99, -91, 0, 0, 0, -100, -183, 0, 0, 0, 0, 0, -114, 0, 0, -269, 0, 0, 0, - -103, 0, -29, 0, 0, -52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -70, 0, -105, 0, 0, 0, 0, 0, 0, 0, -40, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -94, 0, -172, 0, 0, 0, -86, -107, 0, -47, 0, -101, 0, 0, 0, 0, 0, 0, 0, 0, - -190, -115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -59, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -163, 0, 0, 0, 0, 0, -164, 0, 0, 0, 0, -15, 0, -8, 0, -109, 0, 0, 0, -166, -228, 0, 0, 0, -169, - 0, 0, 0, 0, -223, -191, -6, -112, 0, 0, -234, 0, 0, 0, 0, 0, 0, 0, -162, 0, 0, 0, -174, 0, 0, 0, 0, 0, - 0, 0, 0, -17, 0, -116, -252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -176, 0, 0, 0, 0, 0, 0, 0, -195, 0, 0, 0, - 0, 0, -247, -197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -248, 0, 0, 0, 0, -73, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -177, 0, 0, 0, -184, 0, 0, 0, 0, 0, 0, -263, 0, 0, -98, 0, 0, -85, -185, 0, 0, 0, 0, 0, - -204, 0, 0, 0, -282, 0, -276, 0, 0, 0, -205, 0, 0, 0, 0, -206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -155, 0, - -207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -173, 0, 0, 0, 0, 0, -208, 0, 0, 0, 0, 0, -108, -57, 0, 0, -209, - 0, 0, 0, 0, 0, -175, 0, 0, -239, -258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -178, 0, 0, 0, -187, 0, -229, 0, - 0, -232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -110, 0, 0, 0, 0, 0, -210, 0, 0, 0, 0, 0, -211, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -254, 0, 0, -212, 0, 0, 0, -233, 0, 0, 0, 0, -186, -213, 0, -214, -250, 0, -215, 0, 0, 0, -256, - 0, 0, -216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -217, 0, -262, 0, -218, -68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -257, 0, 0, -266, -198, 0, 0, -196, 0, 0, 0, 0, 0, 0, 0, 0, -219, 0, 0, 0, 0, 0, -287, 0, - 0, 0, -220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -225, -261, 0, 0, -203, -243, 0, -289, 0, 0, 0, 0, -268, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -275, -181, 0, 0, -244, -281, 0, -291, 0, 0, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -288, 0, 0, 0, 0, - -1, 0, 0, 0, -259, -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19, -273, 0, 0, -144, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -140, 0, 0, 0, 0, 0, -55, 0, -71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -199, -286, 0, -145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, -88, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -141, 0, 0, 0, 0, 0, 0, 0, 0, 0, -241, 0, 0, -142, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -231, -246, 0, 0, -245, 0, 0, 0, 0, -143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11, 0, 0, 0, 0, - -14, -182, 0, 0, 0, 0, 0, 0, 0, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, -135, 0, 0, 0, 0, 0, 0, 0, -136, 0, 0, - 0, -167, 0, 0, 0, 0, -117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -56, 0, 0, 0, 0, 0, 0, 0, 0, 0, -264, 0, 0, 0, - 0, 0, -237, 0, 0, 0, 0, 0, 0, -222, 0, 0, 0, 0, 0, 0, 0, 0, 0, -253, 0, 0, 0, 0, -272, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -285, 0, 0, 0, 0, 0, 0, 0, 0, 0, -158, 0, 0, 0, 0, 0, 0, 0, 0, 0, -168, 0, 0, 0, 0, 0, - 0, 0, -170, 0, 0, 0, -171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static short baseCheck[] = BaseCheck.baseCheck; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[index]; - } - - public interface BaseAction { - public final static char baseAction[] = { 107, 2, 125, 40, 40, 23, 23, 45, 45, 17, 17, 1, 1, 3, 3, 3, 3, 4, 4, - 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 78, 78, 90, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 10, 10, 10, - 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, 16, 16, 18, 18, 19, 19, 20, 20, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 29, 27, 21, 108, 108, 91, 91, 56, 30, 30, 30, 30, 30, 30, 30, 31, - 31, 31, 28, 28, 92, 92, 68, 68, 32, 32, 33, 33, 33, 63, 63, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 47, - 47, 24, 24, 24, 24, 24, 48, 48, 48, 84, 84, 79, 79, 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, - 83, 93, 93, 85, 85, 86, 49, 51, 51, 51, 51, 51, 64, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 72, - 69, 69, 109, 110, 74, 74, 70, 70, 70, 87, 94, 94, 95, 95, 88, 88, 88, 57, 111, 111, 96, 97, 97, 97, 71, - 71, 112, 98, 98, 99, 99, 89, 89, 25, 26, 26, 26, 50, 52, 52, 41, 41, 41, 41, 37, 37, 38, 42, 42, 43, 39, - 39, 100, 100, 44, 114, 114, 113, 113, 46, 46, 46, 46, 46, 46, 46, 46, 46, 101, 54, 54, 54, 54, 36, 75, - 75, 66, 66, 66, 67, 67, 58, 58, 115, 115, 77, 77, 76, 76, 76, 59, 59, 59, 60, 61, 61, 61, 62, 62, 62, - 62, 73, 73, 53, 53, 55, 117, 116, 116, 116, 116, 102, 118, 119, 119, 120, 120, 121, 121, 107, 107, 122, - 122, 103, 103, 103, 103, 123, 123, 104, 104, 104, 105, 106, 106, 292, 1606, 998, 17, 21, 18, 1133, 949, - 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, 622, 1223, 1254, 75, 331, 92, 359, 176, 136, 214, - 1426, 20, 505, 17, 21, 18, 1133, 43, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, 908, 1824, - 2191, 285, 138, 135, 137, 161, 944, 703, 525, 225, 234, 668, 587, 1610, 1051, 180, 337, 242, 140, 167, - 358, 232, 1355, 144, 147, 150, 153, 754, 340, 333, 1115, 136, 214, 1501, 368, 2105, 2110, 2119, 1544, - 136, 214, 322, 835, 1407, 20, 1559, 17, 21, 18, 1133, 41, 525, 225, 233, 146, 135, 137, 161, 419, 1313, - 1519, 789, 138, 135, 137, 161, 703, 666, 225, 230, 443, 220, 610, 222, 224, 128, 275, 541, 140, 167, 90, - 587, 188, 144, 147, 150, 153, 403, 340, 270, 783, 926, 273, 1501, 368, 2105, 2110, 2119, 1544, 1426, 20, - 211, 17, 21, 18, 1133, 43, 45, 1152, 1171, 1156, 1194, 1175, 1765, 527, 1350, 20, 551, 17, 21, 18, 1133, - 949, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, 440, 1223, 1254, 75, 1124, 282, 1265, 20, 551, - 17, 21, 18, 1133, 949, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, 226, 1223, 1254, 75, 296, - 282, 256, 214, 314, 595, 324, 402, 987, 283, 1451, 1269, 1426, 20, 442, 17, 21, 18, 1133, 43, 45, 1152, - 1171, 1156, 1194, 1175, 1219, 1200, 1775, 288, 412, 833, 283, 1335, 1269, 1242, 20, 324, 17, 21, 18, - 1133, 949, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, 290, 1223, 1254, 75, 892, 282, 289, 1426, - 20, 501, 17, 21, 18, 1133, 43, 45, 1152, 1171, 1156, 1676, 1766, 129, 587, 187, 314, 587, 31, 1426, 20, - 291, 17, 21, 18, 1133, 43, 40, 283, 913, 1269, 1369, 20, 421, 17, 21, 18, 1133, 949, 45, 1152, 1171, - 1156, 1194, 1175, 1219, 1200, 1248, 159, 1223, 1254, 75, 311, 282, 1199, 20, 1360, 17, 21, 18, 1133, - 949, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, 295, 1223, 1254, 75, 229, 339, 1108, 180, 833, - 358, 1436, 1682, 313, 283, 1004, 1269, 829, 1857, 531, 294, 749, 1426, 20, 240, 17, 21, 18, 1133, 43, - 45, 1645, 136, 214, 292, 1426, 20, 25, 17, 21, 18, 1133, 43, 45, 1152, 1171, 1156, 1194, 1175, 1219, - 1786, 1466, 831, 658, 105, 138, 135, 137, 161, 1426, 20, 228, 17, 21, 18, 1133, 43, 45, 1152, 1171, - 1734, 140, 167, 587, 31, 1387, 144, 147, 150, 153, 284, 340, 326, 672, 587, 189, 1501, 368, 2105, 2110, - 2119, 1544, 1388, 20, 2180, 17, 21, 18, 1133, 949, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, - 261, 1223, 1254, 75, 440, 810, 1223, 20, 440, 17, 21, 18, 1133, 949, 45, 1152, 1171, 1156, 1194, 1175, - 1219, 1200, 1248, 1285, 1223, 1254, 75, 231, 1567, 1426, 20, 1574, 17, 21, 18, 1133, 949, 45, 1152, - 1171, 1156, 1194, 1175, 1219, 1200, 1248, 241, 1223, 1254, 75, 359, 92, 1426, 20, 24, 17, 21, 18, 1133, - 43, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, 277, 1223, 1254, 94, 1426, 20, 418, 17, 21, 18, - 1133, 949, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, 244, 1223, 1254, 75, 986, 86, 1426, 20, - 998, 17, 21, 18, 1133, 43, 45, 1152, 1171, 1740, 1535, 1426, 20, 125, 17, 21, 18, 1133, 43, 39, 1426, - 20, 1559, 17, 21, 18, 1133, 949, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, 440, 1223, 1254, - 75, 1126, 85, 1426, 20, 181, 17, 21, 18, 1133, 949, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, - 19, 1223, 1254, 75, 235, 84, 1426, 20, 1132, 17, 21, 18, 1133, 949, 45, 1152, 1171, 1156, 1194, 1175, - 1219, 1200, 1248, 440, 1223, 1254, 75, 1441, 83, 1426, 20, 384, 17, 21, 18, 1133, 949, 45, 1152, 1171, - 1156, 1194, 1175, 1219, 1200, 1248, 1573, 1223, 1254, 75, 440, 82, 1426, 20, 276, 17, 21, 18, 1133, 949, - 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, 440, 1223, 1254, 75, 1591, 81, 1426, 20, 440, 17, - 21, 18, 1133, 949, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, 23, 1223, 1254, 75, 440, 80, - 1426, 20, 1750, 17, 21, 18, 1133, 949, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, 440, 1223, - 1254, 75, 1772, 79, 1426, 20, 440, 17, 21, 18, 1133, 949, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, - 1248, 1808, 1223, 1254, 75, 440, 78, 1426, 20, 274, 17, 21, 18, 1133, 949, 45, 1152, 1171, 1156, 1194, - 1175, 1219, 1200, 1248, 440, 1223, 1254, 75, 280, 77, 1426, 20, 440, 17, 21, 18, 1133, 949, 45, 1152, - 1171, 1156, 1194, 1175, 1219, 1200, 1248, 1988, 1223, 1254, 75, 440, 76, 1426, 20, 281, 17, 21, 18, - 1133, 949, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, 440, 1223, 1254, 75, 1852, 1850, 1426, - 20, 1471, 17, 21, 18, 1133, 949, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, 1874, 1223, 1254, - 75, 1055, 1871, 1426, 20, 876, 17, 21, 18, 1133, 949, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, - 1248, 663, 1223, 1254, 75, 630, 93, 1426, 20, 331, 17, 21, 18, 1133, 43, 45, 1152, 1171, 1156, 1194, - 1175, 1219, 1200, 1248, 345, 1223, 1254, 94, 1426, 20, 796, 17, 21, 18, 1133, 949, 45, 1152, 1171, 1156, - 1194, 1175, 1219, 1200, 1248, 1520, 1223, 1254, 75, 931, 74, 1426, 20, 288, 17, 21, 18, 1133, 43, 45, - 1658, 1426, 20, 213, 17, 21, 18, 1133, 43, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, 751, - 1223, 1254, 94, 1426, 20, 550, 17, 21, 18, 1133, 43, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, - 1067, 1223, 1254, 94, 1426, 20, 1064, 17, 21, 18, 1133, 43, 45, 1152, 1171, 1753, 1426, 20, 203, 17, 21, - 18, 1133, 43, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, 331, 1223, 1254, 94, 1426, 20, 1872, - 17, 21, 18, 1133, 43, 45, 1152, 1171, 1156, 1194, 1175, 1219, 1200, 1248, 1069, 1223, 1254, 94, 1445, - 20, 589, 17, 21, 18, 1133, 34, 178, 1414, 316, 1762, 1426, 20, 204, 17, 21, 18, 1133, 43, 45, 1152, - 1171, 1156, 1686, 111, 587, 1507, 358, 87, 658, 1295, 1472, 890, 626, 1917, 96, 1445, 109, 95, 97, 98, - 99, 100, 419, 908, 789, 1623, 708, 1, 1414, 316, 1472, 793, 1464, 110, 256, 214, 255, 214, 946, 126, - 1518, 587, 297, 88, 111, 54, 232, 331, 87, 1494, 358, 1472, 1728, 308, 107, 96, 1445, 109, 95, 97, 98, - 99, 100, 1289, 20, 58, 17, 21, 18, 1133, 43, 36, 315, 331, 110, 666, 225, 230, 1376, 219, 610, 222, 224, - 668, 275, 986, 498, 235, 1414, 316, 264, 358, 1104, 318, 622, 108, 986, 268, 783, 926, 273, 1443, 124, - 247, 111, 941, 1205, 2071, 87, 668, 1523, 1472, 766, 112, 265, 96, 1445, 109, 95, 97, 98, 99, 100, 419, - 419, 1546, 1717, 1965, 278, 1683, 703, 666, 225, 1323, 110, 220, 610, 222, 1275, 60, 128, 196, 666, 225, - 230, 986, 219, 610, 222, 224, 582, 275, 1146, 262, 358, 107, 2111, 494, 986, 119, 1414, 316, 127, 905, - 268, 783, 926, 273, 986, 331, 355, 1119, 1396, 1712, 998, 123, 111, 136, 214, 1508, 87, 1041, 358, 1472, - 477, 2224, 172, 96, 1445, 109, 95, 97, 98, 99, 100, 1108, 180, 355, 986, 1422, 143, 135, 137, 161, 106, - 668, 110, 666, 225, 582, 1261, 219, 610, 222, 535, 2229, 142, 167, 359, 205, 136, 214, 160, 392, 1178, - 1319, 20, 108, 17, 21, 18, 1133, 43, 44, 666, 225, 230, 735, 219, 610, 222, 224, 1490, 139, 135, 137, - 161, 1445, 20, 160, 17, 21, 18, 1133, 33, 156, 528, 360, 243, 141, 167, 1118, 733, 577, 145, 148, 151, - 154, 1489, 340, 558, 480, 1414, 789, 1112, 1465, 658, 28, 28, 1269, 1269, 706, 156, 528, 382, 587, 299, - 868, 111, 1422, 577, 745, 87, 256, 214, 28, 1480, 1269, 1387, 96, 1445, 1512, 95, 97, 98, 99, 100, 1426, - 20, 1486, 17, 21, 18, 1133, 43, 45, 1152, 1171, 1156, 1194, 1768, 521, 1414, 789, 666, 225, 230, 367, - 219, 610, 222, 224, 260, 874, 786, 658, 658, 477, 111, 1846, 764, 1455, 87, 562, 1414, 789, 908, 998, - 2201, 96, 1445, 104, 95, 97, 98, 99, 100, 198, 1472, 358, 111, 2084, 312, 890, 87, 603, 1414, 789, 868, - 279, 1422, 96, 1445, 102, 95, 97, 98, 99, 100, 664, 1610, 309, 111, 200, 201, 1284, 87, 899, 255, 214, - 1473, 1286, 182, 96, 1445, 103, 95, 97, 98, 99, 100, 644, 1414, 789, 1430, 666, 225, 230, 1464, 219, - 610, 222, 224, 1161, 1432, 2207, 1220, 1500, 111, 672, 1846, 193, 87, 685, 1414, 789, 1141, 858, 1868, - 96, 1445, 120, 95, 97, 98, 99, 100, 1411, 1358, 998, 111, 1000, 1426, 20, 87, 17, 21, 18, 1133, 43, 38, - 96, 1445, 115, 95, 97, 98, 99, 100, 726, 1414, 789, 998, 331, 199, 201, 1289, 20, 210, 17, 21, 18, 1133, - 43, 36, 1467, 111, 1381, 1624, 1926, 87, 767, 1414, 789, 206, 711, 1788, 96, 1445, 1867, 95, 97, 98, 99, - 100, 1811, 904, 1499, 111, 668, 359, 359, 87, 808, 1414, 789, 248, 614, 1503, 96, 1445, 114, 95, 97, 98, - 99, 100, 2088, 1142, 933, 111, 658, 359, 359, 87, 849, 1414, 789, 355, 2340, 1422, 96, 1445, 122, 95, - 97, 98, 99, 100, 2340, 22, 245, 111, 198, 1426, 20, 87, 17, 21, 18, 1133, 43, 37, 96, 1445, 121, 95, 97, - 98, 99, 100, 2340, 246, 296, 2340, 666, 225, 230, 359, 219, 610, 222, 224, 349, 2340, 376, 1473, 1484, - 1426, 20, 160, 17, 21, 18, 1133, 43, 45, 1152, 1171, 1763, 306, 355, 986, 1422, 195, 1426, 20, 420, 17, - 21, 18, 1133, 43, 45, 1152, 1630, 2340, 194, 298, 2242, 358, 2340, 789, 157, 528, 2340, 622, 2340, 1426, - 20, 305, 17, 21, 18, 1133, 43, 35, 2340, 666, 225, 230, 88, 219, 610, 222, 224, 2340, 1849, 1005, 986, - 2085, 1426, 20, 494, 17, 21, 18, 1133, 43, 45, 1152, 1640, 703, 666, 225, 230, 118, 220, 610, 222, 224, - 278, 406, 2340, 376, 1426, 20, 2340, 17, 21, 18, 1133, 43, 36, 2340, 2340, 302, 304, 310, 306, 389, - 1061, 2340, 1812, 275, 2340, 420, 2340, 2340, 2340, 2340, 2340, 2340, 2340, 2340, 2011, 2340, 268, 783, - 926, 273, 2340, 2340, 2340, 2340, 2340, 2340, 2340, 2340, 305, 2340, 2340, 1426, 20, 1041, 17, 21, 18, - 1133, 43, 48, 2340, 950, 2340, 658, 1426, 20, 275, 17, 21, 18, 1133, 43, 47, 2340, 992, 950, 658, 658, - 1339, 268, 783, 926, 273, 1426, 20, 1387, 17, 21, 18, 1133, 43, 46, 2340, 2340, 2340, 1003, 267, 668, - 198, 1387, 1062, 664, 1610, 2340, 303, 304, 310, 2340, 2340, 1449, 2340, 668, 2340, 2340, 703, 392, - 2340, 2340, 2340, 260, 136, 214, 2340, 2340, 275, 136, 214, 1060, 1455, 2088, 2340, 1473, 2340, 260, - 136, 214, 2340, 270, 783, 926, 273, 1060, 1455, 149, 135, 137, 161, 2340, 152, 135, 137, 161, 358, 358, - 316, 316, 2340, 155, 135, 137, 161, 358, 193, 316, 2340, 1479, 2340, 316, 1696, 1868, 890, 2340, 2340, - 88, 88, 2340, 198, 198, 2340, 895, 895, 1084, 88, 658, 2340, 198, 88, 2340, 895, 1472, 210, 1084, 116, - 658, 2340, 255, 214, 890, 2340, 1757, 1624, 2340, 2340, 2340, 1479, 1387, 789, 2340, 2340, 2030, 2030, - 2340, 2214, 2340, 1479, 1387, 789, 2340, 2030, 1479, 2340, 789, 255, 214, 2340, 88, 2340, 2340, 1517, - 768, 941, 116, 1479, 2340, 789, 88, 2340, 2340, 968, 260, 88, 116, 358, 2340, 789, 498, 116, 764, 1455, - 260, 2340, 2340, 358, 88, 789, 2340, 2340, 1087, 1455, 116, 358, 2340, 789, 88, 358, 2340, 789, 1547, - 2340, 1790, 2340, 1108, 1617, 88, 2340, 2340, 358, 1941, 789, 995, 2340, 88, 1106, 2340, 2340, 88, 2340, - 1014, 2340, 2340, 2340, 1033, 2340, 2340, 2340, 1125, 2340, 88, 2340, 2340, 2340, 2340, 2340, 1079, - 2340, 0, 11, 227, 0, 2348, 1, 0, 1, 2578, 0, 8, 10, 0, 1845, 119, 0, 180, 20, 0, 1, 2567, 0, 113, 1830, - 0 }; - } - - public final static char baseAction[] = BaseAction.baseAction; - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - 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, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 0, 54, 55, 56, 0, 58, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 59, 54, 55, 56, 59, 58, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 54, 55, 56, 0, 58, 0, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 59, 54, 55, 56, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 54, - 55, 56, 0, 1, 2, 3, 0, 5, 2, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 23, 2, 25, 26, - 27, 28, 29, 0, 1, 0, 3, 0, 1, 6, 3, 6, 0, 6, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 54, 55, - 56, 0, 1, 2, 3, 4, 5, 0, 1, 2, 0, 0, 0, 1, 2, 4, 4, 5, 78, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 19, 20, 21, 22, 23, 0, 25, 26, 27, 28, 29, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 54, - 55, 56, 0, 1, 2, 3, 4, 5, 0, 53, 69, 70, 71, 72, 0, 0, 60, 0, 73, 4, 65, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 69, 70, 71, 72, 0, 22, 0, 0, 4, 61, 4, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, - 54, 55, 56, 61, 22, 53, 0, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 0, 66, 73, 0, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 57, 60, 0, 22, 61, 24, 0, 1, 6, 3, 0, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 0, 1, 22, 3, 24, - 69, 70, 71, 72, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 0, 0, 1, 22, 3, 24, 0, 1, 0, 3, 2, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 1, 2, 22, 0, 24, 2, 0, 0, 81, 82, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 0, 0, 1, 22, 3, 24, 0, 7, 8, 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 74, 75, 0, 22, 0, 24, 2, 0, 1, 7, 8, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 74, 75, 22, - 0, 24, 0, 7, 8, 0, 6, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 0, 0, 1, 22, 3, 24, 6, 0, 0, 2, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 73, 77, 0, 22, 0, 24, 0, 5, 0, 5, - 4, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 0, 1, 2, 22, 76, 24, 0, 1, 0, 3, 4, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 58, 0, 19, - 20, 21, 4, 23, 24, 25, 26, 27, 28, 29, 0, 0, 2, 0, 0, 19, 20, 21, 4, 0, 22, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 59, 54, 55, 56, 0, 58, 0, 1, 30, 3, 4, 62, 63, 9, 0, 1, 2, 0, 4, 0, 1, 2, 57, 0, 5, - 19, 20, 21, 5, 23, 24, 25, 26, 27, 28, 29, 19, 20, 21, 53, 23, 60, 25, 26, 27, 28, 29, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 0, 54, 55, 56, 4, 58, 0, 1, 53, 3, 4, 0, 0, 53, 0, 60, 4, 0, 0, 0, 2, 2, - 22, 4, 0, 19, 20, 21, 64, 23, 24, 25, 26, 27, 28, 29, 19, 20, 21, 0, 23, 0, 25, 26, 27, 28, 29, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 54, 55, 56, 0, 58, 0, 1, 2, 3, 0, 58, 53, 53, 59, 5, 0, 0, 2, - 0, 60, 5, 0, 4, 0, 19, 20, 21, 6, 23, 6, 25, 26, 27, 28, 29, 19, 20, 21, 0, 23, 22, 25, 26, 27, 28, 29, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 54, 55, 56, 0, 1, 6, 3, 0, 1, 53, 0, 1, 2, 0, 0, 5, - 57, 67, 68, 0, 61, 0, 19, 20, 21, 4, 23, 0, 25, 26, 27, 28, 29, 19, 20, 21, 0, 0, 19, 20, 21, 0, 0, 64, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 54, 55, 56, 19, 20, 21, 53, 23, 0, 25, 26, 27, 28, - 29, 64, 0, 0, 61, 19, 20, 21, 57, 6, 53, 60, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 3, - 4, 5, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 77, 0, 0, 79, 23, 0, 1, 2, 3, 4, 5, 9, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 1, 2, 3, 23, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 0, 57, 0, 65, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 0, 0, 2, 65, 0, 1, 2, - 3, 4, 5, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 19, 20, 21, 4, 57, 0, 1, 2, - 3, 58, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 53, 0, 0, 2, 0, 0, 5, 0, 62, 63, 62, 63, 0, 1, - 2, 3, 65, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 1, 2, 3, 60, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 0, 1, 2, 3, 53, 5, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 1, 2, 3, - 0, 5, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 1, 2, 3, 0, 5, 0, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 0, 1, 2, 3, 0, 5, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 0, 0, 0, 19, 20, - 21, 0, 23, 2, 25, 26, 27, 28, 29, 0, 0, 10, 11, 4, 0, 5, 0, 76, 4, 0, 0, 5, 62, 63, 62, 63, 6, 0, 0, 0, - 0, 22, 4, 0, 53, 0, 22, 0, 19, 20, 21, 6, 0, 6, 0, 0, 0, 66, 6, 0, 0, 57, 57, 0, 53, 0, 0, 0, 0, 0, 64, - 0, 0, 0, 0, 0, 0, 66, 0, 60, 0, 57, 0, 0, 0, 78, 0, 67, 68, 0, 0, 80, 0, 67, 68, 0, 58, 57, 59, 0, 0, 0, - 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 59, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static byte termCheck[] = TermCheck.termCheck; - - @Override - public final int termCheck(int index) { - return termCheck[index]; - } - - public interface TermAction { - public final static char termAction[] = { 0, 2340, 4170, 1, 4169, 1488, 1, 660, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2349, 1, 2441, 1, 1, 1, 1, 1, 1361, 854, 812, 1434, 1394, 1620, 1329, 1353, 1380, 1371, - 1375, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2340, 1, 1, 1, 2340, 2347, 8, 2325, 2325, 2325, 2325, 2325, - 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, - 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, - 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 1670, 2325, 2325, 2325, - 1692, 2325, 2340, 4170, 1, 4169, 1488, 1, 660, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2349, 1, - 2441, 1, 1, 1, 1, 1, 1361, 854, 812, 1434, 1394, 1620, 1329, 1353, 1380, 1371, 1375, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2340, 1, 1, 1, 183, 2347, 2340, 4170, 1, 4169, 2350, 1, 660, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2349, 1, 2441, 1, 1, 1, 1, 1, 1361, 854, 812, 1434, 1394, 1620, 1329, 1353, 1380, - 1371, 1375, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1714, 1, 1, 1, 2340, 4170, 1, 4169, 2350, 1, 660, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2349, 1, 2441, 1, 1, 1, 1, 1, 1361, 854, 812, 1434, 1394, 1620, - 1329, 1353, 1380, 1371, 1375, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 71, 1, 1, 1, 2340, 2351, 2162, 2352, - 11, 2014, 2316, 1893, 1791, 1967, 1596, 1327, 405, 2353, 2354, 2355, 2356, 869, 600, 2555, 2556, 2557, - 2340, 2504, 360, 2505, 2503, 2558, 2506, 2502, 2340, 2351, 2340, 2352, 2340, 2351, 661, 2352, 552, 254, - 1399, 2509, 2514, 2513, 2511, 2512, 2510, 2515, 2516, 2508, 2517, 2518, 2519, 60, 1499, 439, 345, 2340, - 1, 1, 1, 2350, 1, 1, 2567, 1940, 1, 2340, 20, 180, 2331, 2344, 2331, 2331, 533, 62, 1, 1, 1, 2349, 1, - 2647, 1, 1, 1, 1, 1, 180, 180, 180, 2331, 180, 43, 180, 180, 180, 180, 180, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 158, 1, 1, 1, 2340, 1, 1, 1, 2350, 1, 2340, 2331, 1927, 1273, 856, 710, 184, 1, 2331, 287, 301, - 2350, 2343, 1, 1, 1, 2349, 1, 2647, 1, 1, 1, 1, 1, 1927, 1273, 856, 710, 2340, 2349, 236, 2340, 2346, - 1085, 224, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2340, 1, 1, 1, 556, 224, 1252, 2340, 1062, 1039, 1016, - 993, 970, 924, 947, 901, 878, 833, 61, 1390, 300, 2340, 4170, 1, 4169, 2350, 1, 660, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 224, 2345, 230, 2349, 224, 2441, 186, 4160, 233, 4160, 2340, 1361, 854, 812, 1434, - 1394, 1620, 1329, 1353, 1380, 1371, 1375, 2340, 4170, 1, 4169, 2350, 1, 660, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2340, 185, 4162, 2349, 4162, 2441, 1927, 1273, 856, 710, 73, 1361, 854, 812, 1434, 1394, 1620, - 1329, 1353, 1380, 1371, 1375, 2340, 4170, 1, 4169, 2350, 1, 660, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2340, 207, 4167, 2349, 4167, 2441, 2340, 2351, 2340, 2352, 2175, 1361, 854, 812, 1434, 1394, 1620, 1329, - 1353, 1380, 1371, 1375, 2340, 4170, 1, 4169, 2350, 1, 660, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 254, - 2567, 1940, 2349, 2340, 2441, 2262, 2340, 63, 343, 2252, 1361, 854, 812, 1434, 1394, 1620, 1329, 1353, - 1380, 1371, 1375, 2340, 4170, 1, 4169, 2350, 1, 660, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 52, 209, 2351, - 2349, 2352, 2441, 2340, 1221, 673, 64, 2340, 1361, 854, 812, 1434, 1394, 1620, 1329, 1353, 1380, 1371, - 1375, 2340, 4170, 1, 4169, 2350, 1, 660, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1339, 580, 54, 2349, 2340, - 2441, 2270, 2340, 2579, 1221, 673, 1361, 854, 812, 1434, 1394, 1620, 1329, 1353, 1380, 1371, 1375, 2340, - 4170, 1, 4169, 2350, 1, 660, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 53, 1339, 580, 2349, 2340, 2441, 69, - 1221, 673, 2340, 1503, 1361, 854, 812, 1434, 1394, 1620, 1329, 1353, 1380, 1371, 1375, 2340, 4170, 1, - 4169, 2350, 1, 660, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 208, 374, 2349, 374, 2441, 660, 2340, 2340, - 2274, 67, 1361, 854, 812, 1434, 1394, 1620, 1329, 1353, 1380, 1371, 1375, 2340, 4170, 1, 4169, 2350, 1, - 660, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2315, 686, 2340, 2349, 2340, 2441, 1, 1179, 2340, 1302, 2319, - 1361, 854, 812, 1434, 1394, 1620, 1329, 1353, 1380, 1371, 1375, 2340, 4170, 1, 4169, 2350, 1, 660, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2567, 1940, 2349, 461, 2441, 2340, 1, 55, 1, 192, 1361, 854, 812, 1434, - 1394, 1620, 1329, 1353, 1380, 1371, 1375, 2340, 2347, 2340, 1, 1, 1, 2350, 1, 2537, 1, 1, 1, 1, 1, 2340, - 119, 2286, 2340, 1, 2555, 2556, 2557, 2346, 221, 2349, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1231, 1, 1, - 1, 65, 192, 2340, 1, 2328, 1, 191, 1944, 1990, 1656, 1, 2334, 1454, 131, 2346, 263, 2567, 1454, 1877, 1, - 1, 1, 1, 1, 254, 1, 2537, 1, 1, 1, 1, 1, 2555, 2556, 2557, 635, 2504, 2345, 2505, 2503, 2558, 2506, - 2502, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2340, 1, 1, 1, 2350, 191, 2340, 1, 635, 1, 192, 2340, 2340, - 635, 2340, 2345, 2348, 132, 223, 1, 1372, 1987, 2349, 2346, 2340, 1, 1, 1, 2599, 1, 2537, 1, 1, 1, 1, 1, - 2555, 2556, 2557, 2340, 2504, 2340, 2505, 2503, 2558, 2506, 2502, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2340, 1, 1, 1, 2340, 192, 1, 521, 1940, 2352, 49, 2347, 635, 635, 1198, 2093, 266, 133, 1987, 237, 2345, - 1, 2340, 224, 230, 2555, 2556, 2557, 1531, 2504, 234, 2505, 2503, 2558, 2506, 2502, 2555, 2556, 2557, 1, - 2504, 224, 2505, 2503, 2558, 2506, 2502, 2509, 2514, 2513, 2511, 2512, 2510, 2515, 2516, 2508, 2517, - 2518, 2519, 2340, 1499, 439, 345, 2340, 2351, 1708, 2352, 1, 2322, 635, 269, 2567, 1454, 212, 250, 254, - 224, 2074, 2061, 249, 224, 2340, 2555, 2556, 2557, 2346, 2504, 272, 2505, 2503, 2558, 2506, 2502, 1, 1, - 1, 70, 113, 2555, 2556, 2557, 130, 2340, 2599, 2509, 2514, 2513, 2511, 2512, 2510, 2515, 2516, 2508, - 2517, 2518, 2519, 251, 1499, 439, 345, 2555, 2556, 2557, 635, 2504, 2340, 2505, 2503, 2558, 2506, 2502, - 2599, 2340, 42, 1177, 1, 1, 1, 1834, 4153, 635, 2345, 2509, 2514, 2513, 2511, 2512, 2510, 2515, 2516, - 2508, 2517, 2518, 2519, 1, 2351, 2162, 2352, 2344, 1412, 257, 1893, 1791, 1967, 1596, 1327, 405, 2353, - 2354, 2355, 2356, 869, 600, 686, 2340, 66, 2337, 743, 2340, 2351, 2162, 2352, 2344, 1815, 1656, 1893, - 1791, 1967, 1596, 1327, 405, 2353, 2354, 2355, 2356, 869, 600, 2340, 2351, 2162, 2352, 1131, 2014, 4153, - 1893, 1791, 1967, 1596, 1327, 405, 2353, 2354, 2355, 2356, 869, 600, 89, 702, 2340, 2343, 1, 2351, 2162, - 2352, 29, 2014, 4153, 1893, 1791, 1967, 1596, 1327, 405, 2353, 2354, 2355, 2356, 869, 600, 59, 271, 58, - 1695, 2343, 2340, 2351, 2162, 2352, 2344, 2014, 252, 1893, 1791, 1967, 1596, 1327, 405, 2353, 2354, - 2355, 2356, 869, 600, 2340, 2340, 2340, 2340, 2340, 1, 2555, 2556, 2557, 91, 1154, 2340, 2351, 2162, - 2352, 29, 2014, 4153, 1893, 1791, 1967, 1596, 1327, 405, 2353, 2354, 2355, 2356, 869, 600, 635, 269, - 2340, 1987, 2340, 2340, 254, 2340, 1944, 1990, 1944, 1990, 1, 2351, 2162, 2352, 2343, 2014, 4153, 1893, - 1791, 1967, 1596, 1327, 405, 2353, 2354, 2355, 2356, 869, 600, 2340, 2351, 2162, 2352, 91, 2014, 4153, - 1893, 1791, 1967, 1596, 1327, 405, 2353, 2354, 2355, 2356, 869, 600, 1, 2351, 2162, 2352, 635, 2014, - 2340, 1893, 1791, 1967, 1596, 1327, 405, 2353, 2354, 2355, 2356, 869, 600, 2340, 2351, 2163, 2352, 68, - 2014, 2340, 1893, 1791, 1967, 1596, 1327, 405, 2353, 2354, 2355, 2356, 869, 600, 2340, 2351, 2162, 2352, - 57, 2014, 56, 1893, 1791, 1967, 1596, 1327, 405, 2353, 2354, 2355, 2356, 869, 600, 2340, 2351, 2171, - 2352, 134, 2014, 293, 1893, 1791, 1967, 1596, 1327, 405, 2353, 2354, 2355, 2356, 869, 600, 30, 208, 1, - 72, 2555, 2556, 2557, 32, 2504, 421, 2505, 2503, 2558, 2506, 2502, 1, 51, 2366, 2367, 117, 2340, 2093, - 50, 461, 2350, 253, 2340, 2093, 1944, 1990, 1944, 1990, 4153, 2340, 286, 202, 30, 117, 1440, 2340, 1306, - 190, 2349, 190, 2555, 2556, 2557, 186, 190, 185, 1, 1, 2340, 1634, 207, 2340, 2340, 2369, 3442, 2340, - 1959, 2340, 2340, 2340, 2340, 2340, 2598, 2340, 2340, 2340, 2340, 2340, 2340, 724, 2340, 117, 2340, - 1636, 2340, 2340, 2340, 533, 2340, 2074, 2061, 2340, 2340, 598, 2340, 2074, 2061, 2340, 1440, 500, 1285, - 2340, 2340, 2340, 2340, 2340, 612, 2340, 2340, 2340, 2340, 2340, 2340, 2340, 2340, 2352, 2351 }; - } - - public final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[index]; - } - - public interface Asb { - public final static char asb[] = { 0, 496, 1, 425, 281, 496, 427, 494, 310, 322, 492, 322, 492, 492, 322, 492, - 322, 283, 466, 427, 416, 527, 494, 283, 201, 133, 132, 375, 48, 466, 374, 253, 492, 241, 241, 492, 241, - 427, 466, 338, 466, 214, 283, 427, 79, 214, 26, 427, 254, 494, 102, 494, 205, 466, 330, 427, 216, 468, - 283, 425, 141, 99, 306, 167, 269, 451, 451, 451, 451, 451, 83, 451, 451, 451, 161, 178, 183, 181, 189, - 185, 192, 191, 194, 193, 195, 216, 129, 494, 451, 48, 374, 253, 449, 202, 202, 241, 527, 527, 436, 527, - 527, 202, 253, 139, 451, 139, 269, 494, 102, 205, 205, 330, 330, 338, 333, 337, 427, 306, 99, 82, 79, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 338, 338, 529, 269, 269, 241, 241, 3, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 337, 129, 24, - 251, 202, 451, 202, 267, 451, 252, 451, 451, 254, 436, 139, 436, 198, 380, 102, 129, 244, 102, 205, 207, - 431, 207, 330, 306, 335, 336, 211, 466, 216, 451, 451, 99, 83, 26, 466, 211, 338, 338, 338, 99, 181, - 181, 178, 178, 185, 185, 183, 183, 183, 183, 191, 189, 193, 192, 139, 194, 429, 24, 449, 202, 338, 527, - 338, 338, 253, 436, 451, 102, 246, 207, 129, 451, 241, 306, 330, 214, 338, 535, 333, 99, 99, 529, 535, - 341, 494, 451, 207, 45, 202, 449, 436, 451, 436, 436, 129, 201, 451, 200, 129, 330, 216, 338, 129, 22, - 378, 241, 451, 44, 3, 202, 338, 252, 246, 451, 338, 161, 26, 99, 241, 451, 338, 3, 202, 436, 99, 436, - 338, 436 }; - } - - public final static char asb[] = Asb.asb; - - @Override - public final int asb(int index) { - return asb[index]; - } - - public interface Asr { - public final static byte asr[] = { 0, 73, 0, 4, 60, 12, 13, 14, 15, 16, 1, 3, 2, 10, 11, 9, 5, 7, 8, 17, 18, 0, - 4, 58, 53, 66, 2, 13, 14, 15, 16, 1, 3, 10, 11, 9, 5, 7, 8, 17, 18, 12, 6, 0, 61, 53, 66, 0, 25, 41, 19, - 42, 54, 26, 43, 27, 44, 45, 28, 20, 46, 47, 23, 55, 29, 56, 48, 49, 21, 50, 51, 52, 1, 3, 4, 61, 57, 22, - 0, 19, 20, 21, 23, 10, 11, 9, 5, 7, 8, 17, 18, 12, 2, 1, 3, 13, 14, 15, 16, 65, 4, 0, 25, 41, 19, 42, - 54, 26, 43, 27, 44, 45, 28, 20, 46, 47, 23, 55, 29, 56, 48, 49, 21, 50, 51, 52, 1, 3, 24, 4, 58, 0, 2, - 4, 61, 57, 60, 22, 53, 59, 0, 19, 20, 21, 10, 11, 9, 5, 7, 8, 17, 18, 12, 2, 1, 3, 13, 14, 15, 16, 0, - 53, 2, 66, 80, 10, 11, 61, 83, 84, 85, 86, 87, 89, 88, 90, 91, 92, 5, 67, 68, 7, 8, 63, 62, 69, 70, 71, - 72, 74, 75, 9, 76, 77, 78, 58, 81, 82, 65, 60, 59, 57, 22, 4, 0, 1, 3, 4, 58, 57, 0, 5, 2, 53, 60, 4, - 25, 41, 19, 42, 54, 26, 43, 27, 44, 45, 28, 20, 46, 47, 23, 55, 29, 56, 48, 49, 21, 50, 51, 52, 64, 1, - 3, 0, 22, 4, 5, 1, 2, 59, 0, 73, 79, 58, 32, 34, 6, 38, 40, 35, 30, 36, 37, 33, 31, 39, 24, 4, 22, 12, - 13, 14, 15, 16, 10, 11, 9, 7, 8, 17, 18, 5, 2, 1, 3, 54, 55, 56, 49, 41, 46, 44, 45, 43, 42, 47, 48, 50, - 51, 52, 29, 26, 23, 25, 28, 27, 19, 20, 21, 0, 49, 41, 46, 44, 45, 43, 42, 47, 48, 50, 51, 52, 59, 22, - 29, 26, 23, 25, 28, 27, 19, 20, 21, 5, 1, 2, 53, 57, 60, 4, 0, 9, 5, 7, 8, 67, 68, 62, 63, 69, 70, 71, - 72, 74, 75, 76, 77, 78, 81, 82, 59, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 65, 60, 58, 6, 4, 57, 22, - 61, 0, 66, 80, 10, 11, 9, 7, 8, 67, 68, 62, 63, 69, 70, 71, 72, 74, 75, 76, 77, 78, 81, 82, 61, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 57, 53, 60, 25, 19, 26, 27, 28, 20, 23, 29, 21, 22, 4, 5, 2, 1, 0, 4, - 57, 58, 61, 0, 32, 34, 6, 38, 40, 35, 30, 36, 37, 33, 31, 39, 24, 22, 4, 2, 13, 14, 15, 16, 1, 3, 10, - 11, 9, 7, 8, 17, 18, 12, 5, 0, 25, 41, 19, 42, 54, 26, 43, 27, 44, 45, 28, 20, 46, 47, 23, 55, 29, 56, - 48, 49, 21, 50, 51, 52, 1, 3, 6, 0, 73, 25, 41, 19, 42, 54, 26, 43, 27, 44, 45, 28, 20, 46, 47, 23, 55, - 29, 56, 48, 49, 21, 50, 51, 52, 1, 3, 5, 22, 4, 24, 2, 0, 4, 60, 5, 2, 53, 0, 5, 25, 41, 19, 42, 54, 26, - 43, 27, 44, 45, 28, 20, 46, 47, 23, 55, 29, 56, 48, 49, 21, 50, 51, 52, 1, 3, 64, 0 }; - } - - public final static byte asr[] = Asr.asr; - - @Override - public final int asr(int index) { - return asr[index]; - } - - public interface Nasb { - public final static char nasb[] = { 0, 150, 25, 32, 15, 159, 110, 45, 121, 122, 13, 122, 108, 108, 122, 107, - 122, 116, 165, 112, 25, 25, 45, 105, 33, 59, 59, 25, 25, 165, 25, 51, 7, 7, 7, 7, 7, 9, 25, 157, 165, - 156, 75, 112, 63, 156, 54, 94, 69, 67, 105, 25, 105, 25, 30, 96, 89, 141, 18, 32, 42, 65, 79, 25, 168, - 43, 43, 43, 43, 43, 64, 43, 43, 43, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 133, 105, 25, 43, 25, - 25, 85, 81, 33, 33, 7, 25, 25, 128, 25, 25, 33, 51, 25, 43, 25, 1, 25, 137, 105, 7, 30, 105, 157, 101, - 25, 112, 79, 65, 64, 38, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 157, 157, 103, 168, 168, 57, 57, - 35, 82, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 82, 43, 157, 52, 105, 25, - 33, 43, 33, 172, 82, 25, 82, 82, 69, 128, 25, 128, 25, 25, 105, 52, 32, 146, 7, 92, 25, 25, 105, 79, 59, - 59, 100, 165, 89, 43, 43, 65, 64, 124, 165, 154, 157, 157, 157, 65, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 41, 174, 33, 157, 25, 157, 157, 85, 128, 43, 137, 112, 92, 52, 43, 7, - 79, 38, 156, 157, 163, 26, 65, 65, 28, 163, 125, 125, 43, 92, 49, 33, 174, 128, 82, 128, 128, 52, 33, - 43, 25, 52, 38, 89, 157, 52, 40, 25, 7, 43, 47, 174, 33, 157, 25, 112, 43, 157, 61, 54, 65, 7, 43, 157, - 174, 33, 128, 65, 128, 157, 128 }; - } - - public final static char nasb[] = Nasb.nasb; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - public interface Nasr { - public final static char nasr[] = { 0, 84, 82, 81, 74, 80, 79, 1, 0, 37, 39, 36, 0, 109, 0, 37, 2, 100, 84, 83, - 82, 81, 74, 80, 79, 0, 37, 42, 61, 60, 36, 0, 2, 17, 0, 2, 108, 0, 25, 0, 102, 55, 2, 6, 0, 106, 0, 121, - 0, 119, 0, 2, 45, 0, 6, 55, 0, 90, 0, 46, 0, 117, 0, 2, 6, 40, 0, 110, 0, 2, 24, 1, 29, 92, 0, 24, 2, - 123, 0, 75, 0, 17, 2, 27, 0, 29, 1, 68, 45, 2, 24, 0, 78, 0, 39, 44, 37, 42, 36, 0, 23, 37, 42, 60, 61, - 2, 0, 112, 87, 0, 39, 44, 42, 37, 2, 0, 74, 69, 70, 71, 72, 64, 48, 0, 6, 55, 53, 0, 1, 29, 2, 30, 0, - 113, 2, 24, 0, 95, 2, 57, 0, 2, 24, 47, 28, 0, 2, 57, 88, 0, 122, 2, 24, 0, 60, 61, 2, 23, 0, 2, 24, - 103, 0, 2, 24, 36, 54, 0, 2, 57, 27, 0, 24, 47, 2, 63, 0 }; - } - - public final static char nasr[] = Nasr.nasr; - - @Override - public final int nasr(int index) { - return nasr[index]; - } - - public interface TerminalIndex { - public final static char terminalIndex[] = { 0, 85, 2, 86, 87, 9, 3, 10, 11, 8, 6, 7, 68, 81, 82, 83, 84, 12, - 13, 48, 64, 76, 92, 69, 93, 44, 55, 60, 63, 72, 77, 45, 46, 49, 50, 51, 57, 58, 59, 65, 71, 47, 52, 56, - 61, 62, 66, 67, 74, 75, 78, 79, 80, 1, 54, 70, 73, 42, 91, 29, 90, 31, 16, 17, 30, 89, 4, 14, 15, 18, - 19, 20, 21, 94, 22, 23, 24, 25, 26, 53, 5, 27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 88 }; - } - - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - - @Override - public final int terminalIndex(int index) { - return terminalIndex[index]; - } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = { 0, 99, 0, 0, 0, 0, 101, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 98, 115, 116, 0, 0, 117, 96, 126, 134, 0, 100, 122, 118, 121, 0, 0, 0, 0, 0, 0, 156, 0, 159, - 95, 153, 155, 0, 157, 97, 158, 125, 133, 0, 0, 0, 144, 104, 154, 0, 120, 148, 167, 170, 171, 172, 0, 0, - 136, 0, 160, 166, 124, 137, 138, 139, 140, 143, 145, 165, 169, 103, 0, 128, 129, 130, 131, 132, 135, - 141, 142, 0, 147, 152, 102, 119, 123, 127, 0, 146, 150, 0, 0, 151, 161, 164, 174, 179, 0, 0, 181, 0, 0, - 0, 0, 149, 0, 162, 163, 168, 173, 0, 175, 176, 0, 177, 178, 180, 0, 0 }; - } - - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - - @Override - public final int nonterminalIndex(int index) { - return nonterminalIndex[index]; - } - - public interface ScopePrefix { - public final static char scopePrefix[] = { 82, 113, 92, 35, 41, 121, 12, 136, 21, 51, 69, 28, 47, 103, 145, 162, - 169, 173, 149, 1, 1, 32, 56, 79, 177, 6, 107, 156, 156, 127, 99, 59, 59, 59 }; - } - - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - - @Override - public final int scopePrefix(int index) { - return scopePrefix[index]; - } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { 90, 90, 90, 4, 4, 90, 18, 142, 26, 4, 26, 26, 4, 101, 90, 26, 26, 4, - 153, 4, 4, 26, 4, 26, 26, 9, 110, 159, 166, 130, 101, 66, 61, 74 }; - } - - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - - @Override - public final int scopeSuffix(int index) { - return scopeSuffix[index]; - } - - public interface ScopeLhs { - public final static char scopeLhs[] = { 71, 69, 71, 46, 46, 69, 53, 33, 62, 46, 39, 62, 46, 88, 28, 7, 6, 6, 20, - 121, 120, 60, 46, 37, 4, 102, 88, 8, 6, 34, 88, 39, 44, 39 }; - } - - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - - @Override - public final int scopeLhs(int index) { - return scopeLhs[index]; - } - - public interface ScopeLa { - public final static byte scopeLa[] = { 58, 58, 58, 65, 65, 58, 58, 79, 60, 65, 60, 60, 65, 22, 58, 60, 60, 65, - 59, 65, 65, 60, 65, 60, 60, 61, 1, 60, 60, 30, 22, 2, 2, 2 }; - } - - public final static byte scopeLa[] = ScopeLa.scopeLa; - - @Override - public final int scopeLa(int index) { - return scopeLa[index]; - } - - public interface ScopeStateSet { - public final static byte scopeStateSet[] = { 119, 119, 119, 94, 94, 119, 25, 10, 98, 94, 105, 98, 94, 5, 9, 33, - 33, 33, 63, 1, 3, 98, 94, 105, 33, 91, 5, 36, 33, 10, 5, 105, 107, 105 }; - } - - public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet; - - @Override - public final int scopeStateSet(int index) { - return scopeStateSet[index]; - } - - public interface ScopeRhs { - public final static char scopeRhs[] = { 0, 149, 53, 0, 95, 0, 211, 95, 0, 31, 143, 0, 171, 209, 95, 6, 148, 0, - 97, 0, 0, 159, 95, 2, 153, 0, 96, 0, 159, 95, 2, 0, 169, 2, 0, 115, 23, 194, 95, 53, 0, 115, 194, 95, - 23, 53, 0, 115, 23, 53, 0, 115, 194, 95, 53, 0, 115, 53, 0, 130, 0, 2, 0, 162, 96, 0, 2, 96, 0, 159, 95, - 2, 130, 0, 2, 0, 160, 96, 0, 145, 2, 0, 171, 191, 95, 6, 94, 205, 54, 0, 97, 0, 171, 191, 95, 6, 205, - 54, 0, 150, 0, 98, 0, 204, 95, 150, 0, 95, 150, 0, 149, 98, 0, 187, 95, 6, 203, 94, 202, 167, 0, 187, - 95, 6, 202, 167, 0, 123, 35, 0, 77, 2, 100, 96, 98, 0, 123, 116, 120, 2, 38, 0, 53, 121, 0, 185, 95, 6, - 0, 120, 82, 112, 0, 29, 117, 0, 170, 2, 0, 96, 106, 0, 170, 2, 12, 0, 96, 104, 0, 201, 2, 99, 0, 120, - 53, 99, 0, 120, 2, 0 }; - } - - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - - @Override - public final int scopeRhs(int index) { - return scopeRhs[index]; - } - - public interface ScopeState { - public final static char scopeState[] = { 0, 531, 0, 551, 0, 2084, 1868, 1682, 0, 1683, 1874, 1852, 1830, 1808, - 1772, 1750, 1714, 1508, 1692, 1670, 1436, 1620, 1376, 1335, 0, 612, 500, 1591, 1573, 477, 1574, 556, 0, - 1596, 1327, 405, 1574, 1815, 343, 686, 533, 1656, 461, 1927, 1273, 856, 710, 1339, 580, 1221, 673, 1990, - 1944, 2093, 2074, 2061, 2014, 1967, 1412, 1893, 1791, 869, 600, 1306, 612, 1285, 1252, 1231, 1198, 1177, - 1154, 1131, 1108, 789, 1085, 1062, 1039, 1016, 993, 970, 947, 924, 901, 878, 833, 766, 316, 812, 743, - 556, 635, 500, 477, 0, 926, 783, 666, 610, 2088, 392, 1987, 1454, 2030, 1387, 0, 333, 376, 1636, 392, - 1717, 1454, 1546, 1387, 1965, 1443, 1877, 1940, 1519, 0, 316, 658, 1544, 376, 0 }; - } - - public final static char scopeState[] = ScopeState.scopeState; - - @Override - public final int scopeState(int index) { - return scopeState[index]; - } - - public interface InSymb { - public final static char inSymb[] = { 0, 0, 200, 117, 95, 215, 95, 193, 172, 173, 167, 174, 56, 55, 175, 54, - 176, 177, 95, 2, 1, 130, 193, 207, 186, 135, 130, 179, 137, 95, 132, 6, 202, 180, 180, 205, 180, 147, - 129, 145, 95, 2, 95, 57, 53, 2, 61, 147, 95, 94, 6, 94, 6, 129, 5, 147, 95, 216, 95, 117, 23, 115, 95, - 100, 2, 12, 18, 17, 8, 7, 5, 9, 11, 10, 99, 102, 104, 103, 106, 105, 108, 107, 111, 109, 112, 95, 6, - 148, 5, 137, 132, 185, 39, 31, 33, 37, 36, 30, 35, 40, 38, 122, 6, 34, 32, 94, 95, 203, 95, 6, 95, 5, - 129, 159, 117, 160, 95, 95, 115, 194, 168, 92, 91, 90, 88, 89, 87, 86, 85, 84, 83, 61, 170, 120, 150, 2, - 2, 80, 66, 2, 53, 68, 67, 5, 62, 63, 8, 7, 75, 74, 72, 71, 70, 69, 76, 9, 78, 77, 82, 81, 206, 95, 6, 4, - 120, 95, 94, 2, 2, 123, 2, 2, 95, 59, 149, 59, 184, 94, 6, 187, 150, 188, 95, 191, 94, 192, 129, 95, - 153, 154, 2, 95, 57, 194, 23, 115, 5, 116, 95, 2, 170, 170, 201, 120, 103, 103, 102, 102, 105, 105, 104, - 104, 104, 104, 107, 106, 109, 108, 120, 111, 57, 95, 140, 156, 120, 30, 120, 120, 185, 59, 57, 95, 95, - 191, 171, 61, 57, 95, 168, 2, 169, 95, 147, 115, 115, 147, 95, 116, 116, 59, 209, 95, 156, 110, 116, 2, - 116, 116, 187, 204, 59, 145, 171, 168, 95, 159, 171, 57, 211, 66, 53, 212, 110, 156, 120, 123, 57, 59, - 159, 138, 61, 149, 66, 53, 156, 110, 116, 79, 149, 116, 156, 116 }; - } - - public final static char inSymb[] = InSymb.inSymb; - - @Override - 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", "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", "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" }; - } - - public final static String name[] = Name.name; - - @Override - public final String name(int index) { - return name[index]; - } - - public final static int ERROR_SYMBOL = 24, SCOPE_UBOUND = 33, SCOPE_SIZE = 34, MAX_NAME_LENGTH = 38; - - @Override - public final int getErrorSymbol() { - return ERROR_SYMBOL; - } - - @Override - public final int getScopeUbound() { - return SCOPE_UBOUND; - } - - @Override - public final int getScopeSize() { - return SCOPE_SIZE; - } - - @Override - public final int getMaxNameLength() { - return MAX_NAME_LENGTH; - } - - public final static int NUM_STATES = 291, NT_OFFSET = 93, LA_STATE_OFFSET = 2655, MAX_LA = 2147483647, - NUM_RULES = 315, NUM_NONTERMINALS = 125, NUM_SYMBOLS = 218, SEGMENT_SIZE = 8192, START_STATE = 1922, - IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 73, EOLT_SYMBOL = 73, ACCEPT_ACTION = 2315, ERROR_ACTION = 2340; - - public final static boolean BACKTRACK = true; - - @Override - public final int getNumStates() { - return NUM_STATES; - } - - @Override - public final int getNtOffset() { - return NT_OFFSET; - } - - @Override - public final int getLaStateOffset() { - return LA_STATE_OFFSET; - } - - @Override - public final int getMaxLa() { - return MAX_LA; - } - - @Override - public final int getNumRules() { - return NUM_RULES; - } - - @Override - public final int getNumNonterminals() { - return NUM_NONTERMINALS; - } - - @Override - public final int getNumSymbols() { - return NUM_SYMBOLS; - } - - @Override - public final int getSegmentSize() { - return SEGMENT_SIZE; - } - - @Override - public final int getStartState() { - return START_STATE; - } - - @Override - public final int getStartSymbol() { - return lhs[0]; - } - - public final int getIdentifierSymbol() { - return IDENTIFIER_SYMBOL; - } - - @Override - public final int getEoftSymbol() { - return EOFT_SYMBOL; - } - - @Override - public final int getEoltSymbol() { - return EOLT_SYMBOL; - } - - @Override - public final int getAcceptAction() { - return ACCEPT_ACTION; - } - - @Override - public final int getErrorAction() { - return ERROR_ACTION; - } - - @Override - public final boolean isValidForParser() { - return isValidForParser; - } - - @Override - public final boolean getBacktrack() { - return BACKTRACK; - } - - @Override - public final int originalState(int state) { - return -baseCheck[state]; - } - - @Override - public final int asi(int state) { - return asb[originalState(state)]; - } - - @Override - public final int nasi(int state) { - return nasb[originalState(state)]; - } - - @Override - public final int inSymbol(int state) { - return inSymb[originalState(state)]; - } - - @Override - public final int ntAction(int state, int sym) { - return baseAction[state + sym]; - } - - @Override - public final int tAction(int state, int sym) { - int i = baseAction[state], k = i + sym; - return termAction[termCheck[k] == sym ? k : i]; - } - - @Override - 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/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java deleted file mode 100644 index e445938ec66..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2010 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.c99; - -public interface C99Parsersym { - public final static int TK_auto = 25, TK_break = 31, TK_case = 32, TK_char = 41, TK_const = 19, TK_continue = 33, - TK_default = 34, TK_do = 35, TK_double = 42, TK_else = 79, TK_enum = 54, TK_extern = 26, TK_float = 43, - TK_for = 36, TK_goto = 37, TK_if = 38, TK_inline = 27, TK_int = 44, TK_long = 45, TK_register = 28, - TK_restrict = 20, TK_return = 39, TK_short = 46, TK_signed = 47, TK_sizeof = 12, TK_static = 23, - TK_struct = 55, TK_switch = 40, TK_typedef = 29, TK_union = 56, TK_unsigned = 48, TK_void = 49, - TK_volatile = 21, TK_while = 30, TK__Bool = 50, TK__Complex = 51, TK__Imaginary = 52, TK_integer = 13, - TK_floating = 14, TK_charconst = 15, TK_stringlit = 16, TK_identifier = 1, TK_Completion = 3, - TK_EndOfCompletion = 4, TK_Invalid = 93, TK_LeftBracket = 53, TK_LeftParen = 2, TK_LeftBrace = 6, - TK_Dot = 66, TK_Arrow = 80, TK_PlusPlus = 10, TK_MinusMinus = 11, TK_And = 9, TK_Star = 5, TK_Plus = 7, - TK_Minus = 8, TK_Tilde = 17, TK_Bang = 18, TK_Slash = 67, TK_Percent = 68, TK_RightShift = 62, - TK_LeftShift = 63, TK_LT = 69, TK_GT = 70, TK_LE = 71, TK_GE = 72, TK_EQ = 74, TK_NE = 75, TK_Caret = 76, - TK_Or = 77, TK_AndAnd = 78, TK_OrOr = 81, TK_Question = 82, TK_Colon = 59, TK_DotDotDot = 64, - TK_Assign = 61, TK_StarAssign = 83, TK_SlashAssign = 84, TK_PercentAssign = 85, TK_PlusAssign = 86, - TK_MinusAssign = 87, TK_RightShiftAssign = 88, TK_LeftShiftAssign = 89, TK_AndAssign = 90, - TK_CaretAssign = 91, TK_OrAssign = 92, TK_Comma = 57, TK_RightBracket = 65, TK_RightParen = 60, - TK_RightBrace = 58, TK_SemiColon = 22, TK_ERROR_TOKEN = 24, TK_EOF_TOKEN = 73; - - public final static String orderedTerminalSymbols[] = { "", "identifier", "LeftParen", "Completion", - "EndOfCompletion", "Star", "LeftBrace", "Plus", "Minus", "And", "PlusPlus", "MinusMinus", "sizeof", - "integer", "floating", "charconst", "stringlit", "Tilde", "Bang", "const", "restrict", "volatile", - "SemiColon", "static", "ERROR_TOKEN", "auto", "extern", "inline", "register", "typedef", "while", "break", - "case", "continue", "default", "do", "for", "goto", "if", "return", "switch", "char", "double", "float", - "int", "long", "short", "signed", "unsigned", "void", "_Bool", "_Complex", "_Imaginary", "LeftBracket", - "enum", "struct", "union", "Comma", "RightBrace", "Colon", "RightParen", "Assign", "RightShift", - "LeftShift", "DotDotDot", "RightBracket", "Dot", "Slash", "Percent", "LT", "GT", "LE", "GE", "EOF_TOKEN", - "EQ", "NE", "Caret", "Or", "AndAnd", "else", "Arrow", "OrOr", "Question", "StarAssign", "SlashAssign", - "PercentAssign", "PlusAssign", "MinusAssign", "RightShiftAssign", "LeftShiftAssign", "AndAssign", - "CaretAssign", "OrAssign", "Invalid" }; - - public final static boolean isValidForParser = true; -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java deleted file mode 100644 index 8882a88ace7..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java +++ /dev/null @@ -1,1675 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.c99; - -import java.util.List; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.IASTCastExpression; -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction; -import org.eclipse.cdt.core.dom.lrparser.action.c99.C99SecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; - -import lpg.lpgjavaruntime.BadParseException; -import lpg.lpgjavaruntime.BadParseSymFileException; -import lpg.lpgjavaruntime.DiagnoseParser; -import lpg.lpgjavaruntime.ErrorToken; -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.LexStream; -import lpg.lpgjavaruntime.Monitor; -import lpg.lpgjavaruntime.NotBacktrackParseTableException; -import lpg.lpgjavaruntime.NullExportedSymbolsException; -import lpg.lpgjavaruntime.NullTerminalSymbolsException; -import lpg.lpgjavaruntime.ParseErrorCodes; -import lpg.lpgjavaruntime.ParseTable; -import lpg.lpgjavaruntime.PrsStream; -import lpg.lpgjavaruntime.RuleAction; -import lpg.lpgjavaruntime.Token; -import lpg.lpgjavaruntime.UndefinedEofSymbolException; -import lpg.lpgjavaruntime.UnimplementedTerminalsException; - -public class C99SizeofExpressionParser extends PrsStream - implements RuleAction, ITokenStream, ITokenCollector, ISecondaryParser { - private static ParseTable prs = new C99SizeofExpressionParserprs(); - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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 C99SizeofExpressionParser(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), C99SizeofExpressionParserprs.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(" " + C99SizeofExpressionParsersym.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " - + C99SizeofExpressionParsersym.orderedTerminalSymbols[C99SizeofExpressionParserprs.EOFT_SYMBOL])); - } - } - - @Override - public String[] orderedTerminalSymbols() { - return C99SizeofExpressionParsersym.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return C99SizeofExpressionParsersym.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return C99SizeofExpressionParserprs.EOFT_SYMBOL; - } - - public PrsStream getParseStream() { - return 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, this, prs, this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException( - "Regenerate C99SizeofExpressionParserprs.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error( - new BadParseSymFileException("Bad Parser Symbol File -- C99SizeofExpressionParsersym.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 C99BuildASTParserAction action; - private IASTCompletionNode compNode; - - public C99SizeofExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, - IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new C99BuildASTParserAction(this, astStack, CNodeFactory.getDefault(), - C99SecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - public IASTExpression 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 (IASTExpression) action.getParseResult(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return C99SizeofExpressionParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "C99SizeofExpressionParser"; - } - - private ITokenMap tokenMap = null; - - @Override - public void setTokens(List tokens) { - resetTokenStream(); - addToken(new Token(null, 0, 0, 0)); // dummy token - for (IToken token : tokens) { - token.setKind(tokenMap.mapKind(token.getKind())); - addToken(token); - } - addToken(new Token(null, 0, 0, C99SizeofExpressionParsersym.TK_EOF_TOKEN)); - } - - public C99SizeofExpressionParser(ITokenStream stream, Map properties) { // constructor for creating secondary parser - initActions(properties); - tokenMap = new TokenMap(C99SizeofExpressionParsersym.orderedTerminalSymbols, - stream.getOrderedTerminalSymbols()); - } - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 43: cast_expression ::= ( type_id ) cast_expression - // - case 43: { - action.consumeExpressionCast(IASTCastExpression.op_cast); - break; - } - - // - // Rule 45: multiplicative_expression ::= multiplicative_expression * cast_expression - // - case 45: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); - break; - } - - // - // Rule 46: multiplicative_expression ::= multiplicative_expression / cast_expression - // - case 46: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); - break; - } - - // - // Rule 47: multiplicative_expression ::= multiplicative_expression % cast_expression - // - case 47: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); - break; - } - - // - // Rule 49: additive_expression ::= additive_expression + multiplicative_expression - // - case 49: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); - break; - } - - // - // Rule 50: additive_expression ::= additive_expression - multiplicative_expression - // - case 50: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); - break; - } - - // - // Rule 52: shift_expression ::= shift_expression << additive_expression - // - case 52: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); - break; - } - - // - // Rule 53: shift_expression ::= shift_expression >> additive_expression - // - case 53: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); - break; - } - - // - // Rule 55: relational_expression ::= relational_expression < shift_expression - // - case 55: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); - break; - } - - // - // Rule 56: relational_expression ::= relational_expression > shift_expression - // - case 56: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); - break; - } - - // - // Rule 57: relational_expression ::= relational_expression <= shift_expression - // - case 57: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); - break; - } - - // - // Rule 58: relational_expression ::= relational_expression >= shift_expression - // - case 58: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); - break; - } - - // - // Rule 60: equality_expression ::= equality_expression == relational_expression - // - case 60: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); - break; - } - - // - // Rule 61: equality_expression ::= equality_expression != relational_expression - // - case 61: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); - break; - } - - // - // Rule 63: and_expression ::= and_expression & equality_expression - // - case 63: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); - break; - } - - // - // Rule 65: exclusive_or_expression ::= exclusive_or_expression ^ and_expression - // - case 65: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); - break; - } - - // - // Rule 67: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression - // - case 67: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); - break; - } - - // - // Rule 69: logical_and_expression ::= logical_and_expression && inclusive_or_expression - // - case 69: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); - break; - } - - // - // Rule 71: logical_or_expression ::= logical_or_expression || logical_and_expression - // - case 71: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); - break; - } - - // - // Rule 73: conditional_expression ::= logical_or_expression ? expression : assignment_expression - // - case 73: { - action.consumeExpressionConditional(); - break; - } - - // - // Rule 75: assignment_expression ::= unary_expression = assignment_expression - // - case 75: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); - break; - } - - // - // Rule 76: assignment_expression ::= unary_expression *= assignment_expression - // - case 76: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); - break; - } - - // - // Rule 77: assignment_expression ::= unary_expression /= assignment_expression - // - case 77: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); - break; - } - - // - // Rule 78: assignment_expression ::= unary_expression %= assignment_expression - // - case 78: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); - break; - } - - // - // Rule 79: assignment_expression ::= unary_expression += assignment_expression - // - case 79: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); - break; - } - - // - // Rule 80: assignment_expression ::= unary_expression -= assignment_expression - // - case 80: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); - break; - } - - // - // Rule 81: assignment_expression ::= unary_expression <<= assignment_expression - // - case 81: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); - break; - } - - // - // Rule 82: assignment_expression ::= unary_expression >>= assignment_expression - // - case 82: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); - break; - } - - // - // Rule 83: assignment_expression ::= unary_expression &= assignment_expression - // - case 83: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); - break; - } - - // - // Rule 84: assignment_expression ::= unary_expression ^= assignment_expression - // - case 84: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); - break; - } - - // - // Rule 85: assignment_expression ::= unary_expression |= assignment_expression - // - case 85: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); - break; - } - - // - // Rule 88: expression_list ::= expression_list_actual - // - case 88: { - action.consumeExpressionList(); - break; - } - - // - // Rule 90: expression_list_opt ::= $Empty - // - case 90: { - action.consumeEmpty(); - break; - } - - // - // Rule 100: statement ::= ERROR_TOKEN - // - case 100: { - action.consumeStatementProblem(); - break; - } - - // - // Rule 101: labeled_statement ::= identifier_token : statement - // - case 101: { - action.consumeStatementLabeled(); - break; - } - - // - // Rule 102: labeled_statement ::= case constant_expression : statement - // - case 102: { - action.consumeStatementCase(); - break; - } - - // - // Rule 103: labeled_statement ::= default : statement - // - case 103: { - action.consumeStatementDefault(); - break; - } - - // - // Rule 104: compound_statement ::= { } - // - case 104: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 105: compound_statement ::= { block_item_list } - // - case 105: { - action.consumeStatementCompoundStatement(true); - break; - } - - // - // Rule 109: block_item ::= declaration - // - case 109: { - action.consumeStatementDeclarationWithDisambiguation(); - break; - } - - // - // Rule 110: expression_statement ::= ; - // - case 110: { - action.consumeStatementNull(); - break; - } - - // - // Rule 111: expression_statement ::= expression_in_statement ; - // - case 111: { - action.consumeStatementExpression(); - break; - } - - // - // Rule 112: selection_statement ::= if ( expression ) statement - // - case 112: { - action.consumeStatementIf(false); - break; - } - - // - // Rule 113: selection_statement ::= if ( expression ) statement else statement - // - case 113: { - action.consumeStatementIf(true); - break; - } - - // - // Rule 114: selection_statement ::= switch ( expression ) statement - // - case 114: { - action.consumeStatementSwitch(); - break; - } - - // - // Rule 116: expression_opt ::= $Empty - // - case 116: { - action.consumeEmpty(); - break; - } - - // - // Rule 117: iteration_statement ::= do statement while ( expression ) ; - // - case 117: { - action.consumeStatementDoLoop(true); - break; - } - - // - // Rule 118: iteration_statement ::= do statement - // - case 118: { - action.consumeStatementDoLoop(false); - break; - } - - // - // Rule 119: iteration_statement ::= while ( expression ) statement - // - case 119: { - action.consumeStatementWhileLoop(); - break; - } - - // - // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement - // - case 120: { - action.consumeStatementForLoop(); - break; - } - - // - // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement - // - case 121: { - action.consumeStatementForLoop(); - break; - } - - // - // Rule 122: jump_statement ::= goto identifier_token ; - // - case 122: { - action.consumeStatementGoto(); - break; - } - - // - // Rule 123: jump_statement ::= continue ; - // - case 123: { - action.consumeStatementContinue(); - break; - } - - // - // Rule 124: jump_statement ::= break ; - // - case 124: { - action.consumeStatementBreak(); - break; - } - - // - // Rule 125: jump_statement ::= return ; - // - case 125: { - action.consumeStatementReturn(false); - break; - } - - // - // Rule 126: jump_statement ::= return expression ; - // - case 126: { - action.consumeStatementReturn(true); - break; - } - - // - // Rule 127: declaration ::= declaration_specifiers ; - // - case 127: { - action.consumeDeclarationSimple(false); - break; - } - - // - // Rule 128: declaration ::= declaration_specifiers init_declarator_list ; - // - case 128: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 129: declaration_specifiers ::= simple_declaration_specifiers - // - case 129: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 130: declaration_specifiers ::= struct_or_union_declaration_specifiers - // - case 130: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 131: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 131: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 132: declaration_specifiers ::= enum_declaration_specifiers - // - case 132: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 133: declaration_specifiers ::= typdef_name_declaration_specifiers - // - case 133: { - action.consumeDeclarationSpecifiersTypedefName(); - break; - } - - // - // Rule 158: init_declarator ::= complete_declarator = initializer - // - case 158: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 160: storage_class_specifier ::= storage_class_specifier_token - // - case 160: { - action.consumeToken(); - break; - } - - // - // Rule 166: simple_type_specifier ::= simple_type_specifier_token - // - case 166: { - action.consumeToken(); - break; - } - - // - // Rule 179: type_name_specifier ::= identifier_token - // - case 179: { - action.consumeToken(); - break; - } - - // - // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { struct_declaration_list_opt } - // - case 180: { - action.consumeTypeSpecifierComposite(false); - break; - } - - // - // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { struct_declaration_list_opt } - // - case 181: { - action.consumeTypeSpecifierComposite(true); - break; - } - - // - // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token - // - case 186: { - action.consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); - break; - } - - // - // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token - // - case 187: { - action.consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); - break; - } - - // - // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token - // - case 188: { - action.consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); - break; - } - - // - // Rule 194: struct_declaration ::= specifier_qualifier_list struct_declarator_list ; - // - case 194: { - action.consumeStructDeclaration(true); - break; - } - - // - // Rule 195: struct_declaration ::= specifier_qualifier_list ; - // - case 195: { - action.consumeStructDeclaration(false); - break; - } - - // - // Rule 196: struct_declaration ::= ERROR_TOKEN - // - case 196: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 202: struct_declarator ::= : constant_expression - // - case 202: { - action.consumeBitField(false); - break; - } - - // - // Rule 203: struct_declarator ::= declarator : constant_expression - // - case 203: { - action.consumeBitField(true); - break; - } - - // - // Rule 204: enum_specifier ::= enum enum_specifier_hook { enumerator_list_opt comma_opt } - // - case 204: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { enumerator_list_opt comma_opt } - // - case 205: { - action.consumeTypeSpecifierEnumeration(true); - break; - } - - // - // Rule 211: enumerator ::= identifier_token - // - case 211: { - action.consumeEnumerator(false); - break; - } - - // - // Rule 212: enumerator ::= identifier_token = constant_expression - // - case 212: { - action.consumeEnumerator(true); - break; - } - - // - // Rule 213: type_qualifier ::= type_qualifier_token - // - case 213: { - action.consumeToken(); - break; - } - - // - // Rule 217: function_specifier ::= inline - // - case 217: { - action.consumeToken(); - break; - } - - // - // Rule 219: declarator ::= pointer_seq direct_declarator - // - case 219: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 224: basic_direct_declarator ::= declarator_id_name - // - case 224: { - action.consumeDirectDeclaratorIdentifier(); - break; - } - - // - // Rule 225: basic_direct_declarator ::= ( declarator ) - // - case 225: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 226: declarator_id_name ::= identifier - // - case 226: { - action.consumeIdentifierName(); - break; - } - - // - // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier - // - case 227: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier - // - case 228: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( parameter_type_list ) - // - case 230: { - action.consumeDirectDeclaratorFunctionDeclarator(true, true); - break; - } - - // - // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) - // - case 231: { - action.consumeDirectDeclaratorFunctionDeclarator(true, false); - break; - } - - // - // Rule 233: function_declarator ::= pointer_seq function_direct_declarator - // - case 233: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) - // - case 234: { - action.consumeDirectDeclaratorFunctionDeclaratorKnR(); - break; - } - - // - // Rule 236: knr_function_declarator ::= pointer_seq knr_direct_declarator - // - case 236: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 237: identifier_list ::= identifier - // - case 237: { - action.consumeIdentifierKnR(); - break; - } - - // - // Rule 238: identifier_list ::= identifier_list , identifier - // - case 238: { - action.consumeIdentifierKnR(); - break; - } - - // - // Rule 239: array_modifier ::= [ ] - // - case 239: { - action.consumeDirectDeclaratorArrayModifier(false); - break; - } - - // - // Rule 240: array_modifier ::= [ array_modifier_type_qualifiers ] - // - case 240: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); - break; - } - - // - // Rule 241: array_modifier ::= [ assignment_expression ] - // - case 241: { - action.consumeDirectDeclaratorArrayModifier(true); - break; - } - - // - // Rule 242: array_modifier ::= [ array_modifier_type_qualifiers assignment_expression ] - // - case 242: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); - break; - } - - // - // Rule 243: array_modifier ::= [ static assignment_expression ] - // - case 243: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); - break; - } - - // - // Rule 244: array_modifier ::= [ static array_modifier_type_qualifiers assignment_expression ] - // - case 244: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); - break; - } - - // - // Rule 245: array_modifier ::= [ array_modifier_type_qualifiers static assignment_expression ] - // - case 245: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); - break; - } - - // - // Rule 246: array_modifier ::= [ * ] - // - case 246: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); - break; - } - - // - // Rule 247: array_modifier ::= [ array_modifier_type_qualifiers * ] - // - case 247: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); - break; - } - - // - // Rule 249: pointer_seq ::= pointer_hook * pointer_hook - // - case 249: { - action.consumePointer(); - break; - } - - // - // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook - // - case 250: { - action.consumePointer(); - break; - } - - // - // Rule 251: pointer_seq ::= pointer_hook * pointer_hook type_qualifier_list - // - case 251: { - action.consumePointerTypeQualifierList(); - break; - } - - // - // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook type_qualifier_list - // - case 252: { - action.consumePointerTypeQualifierList(); - break; - } - - // - // Rule 256: parameter_type_list ::= parameter_list - // - case 256: { - action.consumeEmpty(); - break; - } - - // - // Rule 257: parameter_type_list ::= parameter_list , ... - // - case 257: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 258: parameter_type_list ::= ... - // - case 258: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator - // - case 261: { - action.consumeParameterDeclaration(); - break; - } - - // - // Rule 262: parameter_declaration ::= declaration_specifiers - // - case 262: { - action.consumeParameterDeclarationWithoutDeclarator(); - break; - } - - // - // Rule 265: type_id ::= specifier_qualifier_list - // - case 265: { - action.consumeTypeId(false); - break; - } - - // - // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator - // - case 266: { - action.consumeTypeId(true); - break; - } - - // - // Rule 268: abstract_declarator ::= pointer_seq - // - case 268: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 269: abstract_declarator ::= pointer_seq direct_abstract_declarator - // - case 269: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) - // - case 273: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 274: array_direct_abstract_declarator ::= array_modifier - // - case 274: { - action.consumeDirectDeclaratorArrayDeclarator(false); - break; - } - - // - // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier - // - case 275: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier - // - case 276: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 277: function_direct_abstract_declarator ::= ( ) - // - case 277: { - action.consumeDirectDeclaratorFunctionDeclarator(false, false); - break; - } - - // - // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) - // - case 278: { - action.consumeDirectDeclaratorFunctionDeclarator(true, false); - break; - } - - // - // Rule 279: function_direct_abstract_declarator ::= ( parameter_type_list ) - // - case 279: { - action.consumeDirectDeclaratorFunctionDeclarator(false, true); - break; - } - - // - // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_type_list ) - // - case 280: { - action.consumeDirectDeclaratorFunctionDeclarator(true, true); - break; - } - - // - // Rule 281: initializer ::= assignment_expression - // - case 281: { - action.consumeInitializer(); - break; - } - - // - // Rule 282: initializer ::= initializer_list - // - case 282: { - action.consumeInitializer(); - break; - } - - // - // Rule 283: initializer_list ::= start_initializer_list { initializer_seq comma_opt } end_initializer_list - // - case 283: { - action.consumeInitializerList(); - break; - } - - // - // Rule 284: initializer_list ::= { } - // - case 284: { - action.consumeInitializerList(); - break; - } - - // - // Rule 285: start_initializer_list ::= $Empty - // - case 285: { - action.initializerListStart(); - break; - } - - // - // Rule 286: end_initializer_list ::= $Empty - // - case 286: { - action.initializerListEnd(); - break; - } - - // - // Rule 291: designated_initializer ::= designation = initializer - // - case 291: { - action.consumeInitializerDesignated(); - break; - } - - // - // Rule 295: designator_base ::= [ constant_expression ] - // - case 295: { - action.consumeDesignatorArray(); - break; - } - - // - // Rule 296: designator_base ::= . identifier_token - // - case 296: { - action.consumeDesignatorField(); - break; - } - - // - // Rule 297: designator ::= [ constant_expression ] - // - case 297: { - action.consumeDesignatorArray(); - break; - } - - // - // Rule 298: designator ::= . identifier_token - // - case 298: { - action.consumeDesignatorField(); - break; - } - - // - // Rule 299: translation_unit ::= external_declaration_list - // - case 299: { - action.consumeTranslationUnit(); - break; - } - - // - // Rule 300: translation_unit ::= $Empty - // - case 300: { - action.consumeTranslationUnit(); - break; - } - - // - // Rule 305: external_declaration ::= ; - // - case 305: { - action.consumeDeclarationEmpty(); - break; - } - - // - // Rule 306: external_declaration ::= ERROR_TOKEN - // - case 306: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 310: function_definition ::= function_declarator function_body - // - case 310: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 311: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement - // - case 311: { - action.consumeFunctionDefinitionKnR(); - break; - } - - // - // Rule 312: normal_function_definition ::= declaration_specifiers function_declarator function_body - // - case 312: { - action.consumeFunctionDefinition(true); - break; - } - - // - // Rule 313: function_body ::= { } - // - case 313: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 314: function_body ::= { block_item_list } - // - case 314: { - action.consumeStatementCompoundStatement(true); - break; - } - - // - // Rule 316: no_sizeof_type_id_start ::= ERROR_TOKEN - // - case 316: { - action.consumeEmpty(); - break; - } - - default: - break; - } - return; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java deleted file mode 100644 index 87a196a6cab..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java +++ /dev/null @@ -1,702 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.c99; - -public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C99SizeofExpressionParsersym { - - 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 }; - } - - 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, 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, -36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -4, -156, -115, 0, -14, 0, 0, 0, 0, -72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -167, 0, -29, 0, -104, 0, 0, 0, 0, -80, 0, 0, -116, 0, -16, 0, -17, 0, 0, 0, 0, 0, 0, 0, - -138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -178, 0, -128, -78, 0, 0, -48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -30, 0, 0, 0, -18, 0, -42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, - -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -117, 0, 0, -118, 0, -119, 0, 0, 0, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0, -127, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -81, 0, 0, 0, 0, 0, 0, 0, 0, 0, -131, 0, -158, 0, -55, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -122, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20, 0, -21, 0, 0, 0, 0, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23, 0, -188, 0, -24, 0, 0, 0, 0, -74, 0, -12, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -57, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, -58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -26, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -86, 0, 0, 0, 0, 0, 0, 0, 0, 0, -61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -87, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -88, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -89, 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -90, 0, 0, 0, 0, 0, 0, 0, 0, 0, -65, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -91, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -92, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -93, 0, 0, 0, 0, 0, 0, 0, 0, 0, -141, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -94, 0, 0, 0, 0, 0, 0, 0, 0, 0, -142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -95, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -134, 0, 0, 0, 0, 0, 0, 0, 0, -186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -197, 0, 0, 0, 0, 0, 0, 0, 0, -13, 0, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0, -192, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -135, 0, 0, - 0, 0, 0, 0, 0, 0, -155, -96, 0, -170, 0, 0, -97, 0, -70, 0, 0, 0, 0, 0, 0, 0, -206, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -130, 0, 0, 0, 0, 0, 0, 0, -180, - -176, 0, 0, 0, 0, -75, 0, 0, -37, 0, 0, 0, 0, 0, 0, 0, 0, 0, -98, -145, 0, 0, -110, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -200, -193, -124, 0, -187, 0, 0, 0, 0, 0, -99, 0, -100, 0, -146, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -31, 0, -101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -184, -102, -85, 0, -33, 0, 0, -51, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -121, 0, 0, 0, 0, 0, 0, 0, -71, 0, 0, 0, 0, 0, 0, 0, -52, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -164, 0, 0, 0, -137, -154, 0, -34, 0, -105, 0, 0, 0, -183, 0, 0, -67, 0, 0, 0, 0, -107, - 0, -123, 0, -83, 0, 0, 0, -140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -38, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -205, 0, 0, 0, -153, 0, -157, -68, 0, 0, -132, 0, -191, 0, -136, 0, -151, 0, 0, -44, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0, -166, 0, -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -46, 0, 0, 0, 0, 0, 0, 0, 0, 0, -47, 0, 0, 0, 0, 0, 0, 0, 0, 0, -73, 0, 0, -76, -69, -109, 0, -112, - -139, -165, -171, 0, -111, 0, 0, 0, 0, 0, 0, 0, 0, -172, -175, 0, 0, 0, 0, -207, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -199, -204, 0, -147, 0, 0, 0, 0, -144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, -10, 0, 0, 0, 0, 0, 0, 0, -11, 0, 0, 0, 0, 0, 0, 0, -35, -39, 0, 0, 0, - 0, 0, 0, 0, 0, -113, 0, -40, 0, 0, 0, 0, 0, 0, 0, -173, 0, -103, -126, -143, -162, 0, -41, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -15, -129, -159, 0, 0, 0, 0, -28, -32, 0, 0, 0, 0, -179, 0, -160, -148, -190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -185, 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -79, 0, 0, 0, -196, -82, - 0, 0, 0, 0, 0, -106, -169, 0, 0, 0, 0, 0, 0, -84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -125, 0, 0, -152, -181, 0, 0, 0, 0, -182, 0, 0, 0, 0, 0, 0, -133, 0, 0, -168, 0, 0, 0, -150, - -1, -114, -163, 0, 0, 0, 0, 0, -53, 0, 0, 0, 0, 0, 0, -161, -149, 0, -202, 0, 0, 0, 0, 0, 0, 0, -203, 0, - 0, 0, 0, 0, 0, -201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -194, 0, 0, -195, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 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; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[index]; - } - - public interface BaseAction { - public final static char baseAction[] = { 87, 11, 102, 24, 24, 23, 23, 39, 39, 69, 69, 1, 1, 2, 2, 2, 2, 3, 3, - 3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 59, 59, 70, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 10, - 10, 10, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 103, 45, 40, 88, 88, 72, 72, 47, 104, 104, 104, 104, 104, 104, 104, 105, - 105, 105, 106, 106, 111, 111, 112, 112, 107, 107, 108, 108, 108, 114, 114, 109, 109, 109, 109, 109, 110, - 110, 110, 110, 110, 113, 113, 25, 25, 25, 25, 25, 28, 28, 28, 78, 78, 73, 73, 73, 73, 74, 74, 74, 75, - 75, 75, 76, 76, 76, 77, 77, 77, 115, 115, 116, 116, 117, 29, 31, 31, 31, 31, 31, 53, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 63, 60, 60, 89, 90, 65, 65, 61, 61, 61, 66, 79, 79, 80, 80, 67, 67, 67, 49, - 91, 91, 81, 82, 82, 82, 62, 62, 92, 83, 83, 84, 84, 68, 68, 21, 22, 22, 22, 30, 48, 48, 32, 32, 32, 32, - 35, 35, 37, 33, 33, 34, 38, 38, 118, 118, 36, 119, 119, 93, 93, 26, 26, 26, 26, 26, 26, 26, 26, 26, 85, - 50, 50, 50, 50, 27, 56, 56, 55, 55, 55, 57, 57, 51, 51, 94, 94, 71, 71, 58, 58, 58, 41, 41, 41, 42, 43, - 43, 43, 44, 44, 44, 44, 64, 64, 46, 46, 52, 96, 95, 95, 95, 95, 86, 97, 98, 98, 99, 99, 100, 100, 120, - 120, 121, 121, 122, 122, 122, 122, 124, 124, 123, 123, 123, 125, 126, 126, 87, 87, 1, 781, 17, 21, 18, - 344, 739, 44, 388, 386, 524, 31, 468, 634, 632, 662, 650, 718, 666, 74, 91, 135, 213, 15, 668, 329, 991, - 607, 137, 134, 136, 160, 275, 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, 1154, 468, 634, 632, 662, - 650, 718, 666, 74, 1427, 139, 166, 692, 239, 360, 31, 50, 143, 146, 149, 152, 421, 446, 1269, 360, 187, - 241, 1229, 194, 340, 1425, 1587, 1600, 1605, 1619, 1213, 441, 20, 17, 21, 18, 344, 739, 44, 388, 386, - 524, 341, 468, 634, 632, 662, 650, 718, 666, 74, 281, 336, 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, - 341, 468, 634, 632, 662, 650, 718, 666, 74, 281, 1444, 443, 293, 195, 282, 693, 25, 575, 97, 384, 1265, - 489, 20, 17, 21, 18, 344, 42, 44, 388, 386, 524, 287, 468, 970, 282, 360, 31, 255, 213, 12, 1265, 489, - 20, 17, 21, 18, 344, 42, 44, 388, 386, 844, 289, 288, 489, 20, 17, 21, 18, 344, 42, 40, 1076, 465, 20, - 17, 21, 18, 344, 739, 44, 388, 386, 524, 290, 468, 634, 632, 662, 650, 718, 666, 74, 281, 489, 20, 17, - 21, 18, 344, 739, 44, 388, 386, 524, 30, 468, 634, 632, 662, 650, 718, 666, 74, 91, 24, 342, 360, 186, - 282, 576, 1356, 360, 188, 294, 1265, 489, 20, 17, 21, 18, 344, 42, 44, 388, 386, 865, 291, 537, 20, 17, - 21, 18, 344, 739, 44, 388, 386, 524, 1642, 468, 634, 632, 662, 650, 718, 666, 74, 1539, 513, 20, 17, 21, - 18, 344, 41, 340, 299, 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, 446, 468, 634, 632, 662, 650, 718, - 666, 74, 1540, 189, 179, 236, 240, 489, 20, 17, 21, 18, 344, 42, 44, 388, 386, 524, 50, 468, 634, 632, - 662, 1212, 135, 213, 254, 213, 580, 396, 63, 137, 134, 136, 160, 489, 20, 17, 21, 18, 344, 739, 44, 388, - 386, 524, 219, 468, 634, 632, 662, 650, 718, 666, 74, 92, 139, 166, 313, 536, 282, 1131, 327, 143, 146, - 149, 152, 323, 446, 513, 20, 17, 21, 18, 344, 34, 1425, 1587, 1600, 1605, 1619, 1213, 489, 20, 17, 21, - 18, 344, 739, 44, 388, 386, 524, 275, 468, 634, 632, 662, 650, 718, 666, 74, 85, 489, 20, 17, 21, 18, - 344, 739, 44, 388, 386, 524, 413, 468, 634, 632, 662, 650, 718, 666, 74, 84, 489, 20, 17, 21, 18, 344, - 739, 44, 388, 386, 524, 524, 468, 634, 632, 662, 650, 718, 666, 74, 83, 489, 20, 17, 21, 18, 344, 739, - 44, 388, 386, 524, 283, 468, 634, 632, 662, 650, 718, 666, 74, 82, 489, 20, 17, 21, 18, 344, 739, 44, - 388, 386, 524, 561, 468, 634, 632, 662, 650, 718, 666, 74, 81, 489, 20, 17, 21, 18, 344, 739, 44, 388, - 386, 524, 199, 468, 634, 632, 662, 650, 718, 666, 74, 80, 489, 20, 17, 21, 18, 344, 739, 44, 388, 386, - 524, 201, 468, 634, 632, 662, 650, 718, 666, 74, 79, 489, 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, - 110, 468, 634, 632, 662, 650, 718, 666, 74, 78, 489, 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, 117, - 468, 634, 632, 662, 650, 718, 666, 74, 77, 489, 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, 448, 468, - 634, 632, 662, 650, 718, 666, 74, 76, 489, 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, 472, 468, 634, - 632, 662, 650, 718, 666, 74, 75, 489, 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, 657, 468, 634, 632, - 662, 650, 718, 666, 74, 73, 489, 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, 678, 468, 634, 632, 662, - 650, 718, 666, 74, 1556, 489, 20, 17, 21, 18, 344, 739, 44, 388, 386, 524, 200, 468, 634, 632, 662, 650, - 718, 666, 74, 1569, 489, 20, 17, 21, 18, 344, 42, 44, 388, 386, 524, 191, 468, 634, 632, 662, 650, 718, - 666, 93, 489, 20, 17, 21, 18, 344, 42, 44, 388, 386, 524, 685, 468, 634, 632, 662, 650, 718, 666, 93, - 513, 20, 17, 21, 18, 344, 33, 1571, 489, 20, 17, 21, 18, 344, 42, 39, 489, 20, 17, 21, 18, 344, 42, 44, - 388, 386, 524, 212, 468, 634, 632, 662, 650, 718, 666, 93, 489, 20, 17, 21, 18, 344, 42, 44, 388, 386, - 524, 50, 468, 634, 632, 662, 650, 718, 666, 93, 394, 57, 1645, 696, 194, 1358, 104, 1692, 416, 20, 17, - 21, 18, 344, 42, 43, 489, 20, 17, 21, 18, 344, 42, 44, 388, 386, 524, 202, 468, 634, 632, 662, 650, 718, - 666, 93, 489, 20, 17, 21, 18, 344, 42, 44, 388, 386, 524, 105, 468, 634, 632, 662, 650, 1198, 28, 648, - 360, 296, 1570, 1536, 1265, 562, 1585, 203, 489, 20, 17, 21, 18, 344, 42, 44, 802, 274, 650, 207, 255, - 213, 236, 218, 1182, 221, 1462, 223, 224, 229, 1541, 276, 267, 1137, 671, 272, 701, 676, 59, 263, 360, - 1432, 277, 254, 213, 274, 711, 1699, 6, 264, 718, 218, 1182, 221, 1462, 223, 224, 229, 255, 213, 267, - 1137, 671, 272, 373, 1285, 429, 1681, 218, 1182, 221, 1462, 223, 224, 229, 513, 228, 1429, 445, 696, - 246, 189, 179, 397, 1681, 261, 489, 20, 17, 21, 18, 344, 42, 44, 388, 386, 524, 206, 468, 634, 632, - 1150, 135, 213, 89, 59, 1084, 586, 210, 138, 134, 136, 160, 489, 20, 17, 21, 18, 344, 42, 44, 388, 386, - 524, 152, 468, 634, 1178, 50, 542, 1432, 397, 1277, 400, 140, 166, 284, 305, 1684, 1261, 397, 144, 147, - 150, 153, 715, 446, 717, 1699, 470, 274, 1279, 1349, 608, 19, 1611, 219, 1182, 221, 1462, 223, 224, 229, - 1538, 609, 269, 1137, 671, 272, 218, 1182, 221, 1462, 223, 224, 229, 489, 20, 17, 21, 18, 344, 42, 44, - 823, 1459, 489, 20, 17, 21, 18, 344, 42, 44, 388, 386, 524, 209, 1077, 489, 20, 17, 21, 18, 344, 42, 44, - 388, 386, 524, 305, 1082, 1079, 1443, 50, 541, 627, 397, 198, 200, 333, 1699, 360, 298, 716, 1612, 722, - 1567, 1011, 489, 20, 17, 21, 18, 344, 42, 44, 388, 386, 886, 23, 539, 218, 1182, 221, 1462, 223, 224, - 229, 489, 20, 17, 21, 18, 344, 42, 38, 206, 1459, 489, 20, 17, 21, 18, 344, 42, 44, 388, 386, 907, 489, - 20, 17, 21, 18, 344, 42, 44, 388, 928, 489, 20, 17, 21, 18, 344, 42, 44, 388, 949, 675, 199, 200, 232, - 281, 281, 180, 397, 59, 50, 58, 1526, 365, 20, 17, 21, 18, 344, 42, 36, 1651, 698, 144, 277, 135, 213, - 274, 706, 22, 241, 273, 142, 134, 136, 160, 1348, 246, 151, 171, 1765, 689, 267, 1137, 671, 272, 365, - 20, 17, 21, 18, 344, 42, 36, 1765, 1279, 1765, 141, 166, 1429, 219, 1182, 221, 1462, 223, 224, 229, 227, - 1765, 1765, 247, 489, 20, 17, 21, 18, 344, 42, 37, 489, 20, 17, 21, 18, 344, 42, 36, 489, 20, 17, 21, - 18, 344, 42, 35, 60, 489, 20, 17, 21, 18, 344, 42, 47, 1765, 544, 1237, 489, 20, 17, 21, 18, 344, 42, - 46, 206, 607, 52, 281, 281, 544, 274, 489, 20, 17, 21, 18, 344, 42, 45, 1123, 607, 1277, 50, 397, 281, - 267, 1137, 671, 272, 50, 50, 243, 242, 317, 1123, 236, 1277, 281, 59, 281, 317, 513, 266, 664, 1611, - 259, 279, 197, 244, 1555, 1765, 1352, 28, 206, 197, 604, 254, 213, 1265, 1256, 259, 245, 87, 295, 1555, - 1277, 1352, 1263, 613, 87, 87, 1516, 206, 636, 1263, 1426, 135, 213, 1516, 324, 542, 1432, 1765, 145, - 134, 136, 160, 645, 1256, 135, 213, 1169, 204, 1215, 135, 213, 148, 134, 136, 160, 1272, 151, 134, 136, - 160, 274, 1279, 1765, 135, 213, 236, 181, 1765, 48, 646, 154, 134, 136, 160, 142, 269, 1137, 671, 272, - 607, 607, 454, 1765, 1765, 95, 607, 254, 213, 397, 389, 497, 497, 607, 197, 1123, 607, 1765, 50, 1765, - 197, 513, 1658, 1646, 209, 397, 521, 1123, 206, 513, 197, 1765, 280, 1765, 278, 231, 281, 607, 372, - 1211, 1443, 259, 445, 59, 372, 1717, 1765, 1352, 225, 1765, 87, 1123, 1765, 259, 372, 315, 192, 1665, - 87, 1352, 297, 397, 192, 1180, 342, 1765, 1765, 205, 1389, 1661, 1277, 938, 193, 1765, 1604, 1661, 1765, - 260, 1765, 1765, 1765, 1765, 1765, 1720, 230, 1765, 1765, 234, 1765, 1765, 1765, 1765, 1765, 1449, 1765, - 1765, 1765, 328, 1765, 0, 20, 179, 0, 1, 1991, 0, 1, 2002, 0 }; - } - - public final static char baseAction[] = BaseAction.baseAction; - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - public final int lhs(int index) { - return lhs[index]; - } - - public interface TermCheck { - public final static byte termCheck[] = { 0, 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, 10, 0, 12, 13, 0, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 0, 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 29, 44, 45, - 46, 0, 1, 0, 3, 0, 5, 6, 7, 8, 0, 0, 0, 0, 13, 2, 0, 4, 59, 14, 55, 56, 57, 58, 11, 24, 25, 26, 27, 28, - 47, 48, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 0, 1, 0, 3, 51, 5, 6, 7, 8, 0, - 0, 1, 2, 13, 4, 0, 80, 55, 56, 57, 58, 11, 0, 60, 24, 25, 26, 27, 28, 61, 62, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 0, 1, 0, 3, 51, 5, 6, 7, 8, 0, 0, 1, 2, 13, 4, 47, 48, 55, 56, - 57, 58, 11, 47, 48, 24, 25, 26, 27, 28, 0, 1, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 0, 1, 0, 3, 51, 0, 6, 7, 8, 4, 0, 0, 0, 13, 4, 60, 4, 0, 0, 1, 2, 59, 5, 5, 24, 25, 26, 27, 28, - 11, 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 0, 44, 45, 46, 0, 30, 6, 7, 8, 0, 6, 7, 8, 13, 0, - 53, 54, 43, 9, 10, 53, 54, 53, 54, 24, 25, 26, 27, 28, 61, 62, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 0, 1, 2, 3, 4, 5, 0, 0, 64, 9, 10, 5, 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, - 4, 5, 0, 1, 2, 9, 10, 64, 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 50, 2, 0, 4, 0, 1, 50, 3, - 0, 11, 11, 0, 1, 2, 3, 4, 5, 0, 14, 0, 9, 10, 5, 12, 50, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, - 29, 3, 59, 0, 1, 2, 3, 4, 5, 29, 30, 0, 9, 10, 63, 12, 5, 43, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, - 2, 3, 4, 0, 68, 69, 0, 9, 10, 0, 12, 5, 30, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 14, 50, 0, 1, 2, 3, - 4, 0, 1, 29, 3, 9, 10, 30, 12, 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 51, 0, 1, 2, 3, 4, 0, 1, 0, 3, - 9, 10, 0, 12, 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 0, 1, 0, 3, 9, 10, 0, 12, 65, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 65, 47, 48, 0, 9, 10, 0, 12, 5, 49, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 0, 47, 48, 0, 9, 10, 0, 12, 0, 30, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 0, 1, 2, 3, 4, 0, 1, 0, 3, 9, 10, 4, 12, 0, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 2, 2, - 4, 5, 6, 7, 8, 49, 0, 11, 11, 13, 0, 0, 1, 0, 3, 0, 6, 7, 8, 60, 24, 25, 26, 27, 28, 14, 30, 12, 49, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 0, 0, 0, 0, 0, 2, 6, 7, 8, 0, 6, 7, 8, 13, 11, 6, 7, 8, 15, 16, 0, - 0, 13, 0, 24, 25, 26, 27, 28, 6, 7, 8, 0, 24, 25, 26, 27, 28, 6, 7, 8, 0, 0, 1, 0, 13, 0, 6, 7, 8, 6, 7, - 8, 0, 13, 52, 24, 25, 26, 27, 28, 0, 9, 10, 0, 24, 25, 26, 27, 28, 67, 0, 0, 2, 0, 11, 5, 0, 6, 7, 8, 0, - 11, 9, 10, 0, 5, 2, 0, 0, 0, 49, 0, 5, 0, 5, 11, 0, 1, 2, 11, 30, 0, 1, 2, 0, 1, 0, 3, 63, 29, 0, 0, 0, - 0, 4, 52, 4, 0, 12, 0, 29, 0, 29, 0, 11, 14, 0, 0, 0, 0, 0, 14, 43, 14, 0, 14, 0, 14, 0, 0, 52, 0, 0, 0, - 0, 0, 66, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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; - - @Override - public final int termCheck(int index) { - return termCheck[index]; - } - - public interface TermAction { - public final static char termAction[] = { 0, 1765, 1776, 1554, 1777, 1500, 1765, 1979, 1980, 1981, 1492, 1381, - 59, 1508, 1928, 88, 1020, 673, 578, 1778, 1779, 1780, 1781, 1028, 483, 1929, 1927, 1982, 1930, 1926, 54, - 1765, 1933, 1938, 1937, 1935, 1936, 1934, 1939, 1940, 1932, 1941, 1942, 1943, 639, 1281, 597, 381, 1765, - 1, 1, 1, 1765, 191, 1, 1, 1, 61, 211, 253, 265, 1, 1422, 62, 1, 917, 2775, 1391, 1361, 545, 470, 349, 1, - 1, 1, 1, 1, 1402, 1412, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 191, 1, 1, 1, 1765, 1, 182, 1, 1961, 190, 1, - 1, 1, 60, 262, 1991, 1151, 1, 1, 58, 1755, 1391, 1361, 545, 470, 349, 57, 1000, 1, 1, 1, 1, 1, 1331, - 1318, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 190, 1, 1, 1, 1765, 1, 1765, 1, 1961, 191, 1, 1, 1, 201, 268, - 1991, 1151, 1, 253, 1402, 1412, 1391, 1361, 545, 470, 349, 1402, 1412, 1, 1, 1, 1, 1, 1765, 2003, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 191, 1, 1, 1, 1765, 1776, 183, 1777, 1961, 48, 1979, 1980, 1981, 1543, 50, - 63, 49, 1928, 1543, 492, 1543, 1765, 1, 1759, 1151, 1092, 1773, 1771, 1929, 1927, 1982, 1930, 1926, 349, - 68, 1933, 1938, 1937, 1935, 1936, 1934, 1939, 1940, 1932, 1941, 1942, 1943, 129, 1281, 597, 381, 1765, - 1770, 1979, 1980, 1981, 51, 1979, 1980, 1981, 1928, 69, 1528, 1517, 1772, 1308, 1140, 1528, 1517, 1528, - 1517, 1929, 1927, 1982, 1930, 1926, 1331, 1318, 1933, 1938, 1937, 1935, 1936, 1934, 1939, 1940, 1932, - 1941, 1942, 1943, 1, 1776, 1554, 1777, 1434, 1769, 1765, 286, 1218, 1492, 1381, 1769, 1508, 557, 1765, - 1020, 673, 578, 1778, 1779, 1780, 1781, 1028, 483, 1765, 1776, 1554, 1777, 1467, 1769, 1, 1991, 1168, - 1492, 1381, 1218, 1508, 959, 66, 1020, 673, 578, 1778, 1779, 1780, 1781, 1028, 483, 271, 268, 1768, - 1422, 72, 253, 1765, 1776, 1768, 1777, 256, 349, 349, 1, 1776, 1554, 1777, 1500, 29, 1765, 1067, 1765, - 1492, 1381, 1771, 1508, 1768, 2775, 1020, 673, 578, 1778, 1779, 1780, 1781, 1028, 483, 1765, 1776, 1682, - 1777, 1056, 1765, 1776, 1554, 1777, 1500, 1769, 1460, 1770, 1, 1492, 1381, 1245, 1508, 90, 29, 1020, - 673, 578, 1778, 1779, 1780, 1781, 1028, 483, 1765, 1, 1, 1, 1, 30, 1112, 1674, 1765, 1, 1, 1765, 1, - 1771, 90, 1, 1, 1, 1, 1, 1, 1, 1, 1, 70, 622, 1768, 1765, 1776, 1554, 1777, 1500, 185, 2805, 417, 2805, - 1492, 1381, 1770, 1508, 71, 2775, 1020, 673, 578, 1778, 1779, 1780, 1781, 1028, 483, 2081, 1, 1776, - 1554, 1777, 1500, 184, 2807, 56, 2807, 1492, 1381, 1765, 1508, 1, 2775, 1020, 673, 578, 1778, 1779, - 1780, 1781, 1028, 483, 1765, 1776, 1554, 1777, 1500, 206, 2809, 55, 2809, 1492, 1381, 1765, 1508, 611, - 2775, 1020, 673, 578, 1778, 1779, 1780, 1781, 1028, 483, 1765, 1776, 1554, 1777, 1500, 611, 1402, 1412, - 1, 1492, 1381, 1765, 1508, 1771, 2023, 1020, 673, 578, 1778, 1779, 1780, 1781, 1028, 483, 1765, 1776, - 1561, 1777, 1500, 1765, 1402, 1412, 1, 1492, 1381, 42, 1508, 1765, 1770, 1020, 673, 578, 1778, 1779, - 1780, 1781, 1028, 483, 1, 1776, 1554, 1777, 1500, 208, 1776, 1, 1777, 1492, 1381, 253, 1508, 1765, 1765, - 1020, 673, 578, 1778, 1779, 1780, 1781, 1028, 483, 20, 270, 1756, 1667, 1756, 1756, 179, 179, 179, 2022, - 1765, 1756, 349, 179, 248, 1765, 1776, 1765, 1777, 64, 1979, 1980, 1981, 896, 179, 179, 179, 179, 179, - 1260, 1756, 449, 2023, 875, 854, 833, 812, 791, 749, 770, 728, 707, 686, 130, 1765, 1765, 32, 249, 1196, - 1979, 1980, 1981, 131, 1, 1, 1, 1928, 1562, 1979, 1980, 1981, 1791, 1792, 1765, 1765, 1928, 250, 1929, - 1927, 1982, 1930, 1926, 1, 1, 1, 132, 1929, 1927, 1982, 1930, 1926, 1979, 1980, 1981, 133, 1, 1762, 251, - 1928, 67, 1979, 1980, 1981, 1979, 1980, 1981, 53, 1928, 464, 1929, 1927, 1982, 1930, 1926, 1765, 1308, - 1140, 1765, 1929, 1927, 1982, 1930, 1926, 374, 1, 252, 1422, 52, 980, 1771, 1765, 1979, 1980, 1981, - 1765, 349, 1308, 1140, 222, 1775, 1668, 1, 292, 285, 2023, 30, 1775, 207, 376, 349, 1, 1991, 1168, 1036, - 1770, 253, 1991, 1168, 207, 1172, 65, 1172, 1245, 1342, 1765, 1765, 1765, 220, 1170, 1132, 1430, 1765, - 449, 189, 1794, 189, 2790, 189, 349, 1346, 1765, 1765, 1765, 1765, 1765, 1431, 376, 185, 1765, 184, - 1765, 206, 1765, 1765, 1354, 1765, 1765, 1765, 1765, 1765, 1774, 1765, 1765, 1765, 1765, 1765, 1765, - 1774 }; - } - - public final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[index]; - } - - public interface Asb { - public final static char asb[] = { 0, 375, 1, 54, 41, 54, 54, 54, 54, 54, 54, 54, 54, 54, 3, 334, 23, 20, 27, - 25, 33, 31, 35, 34, 37, 36, 9, 54, 334, 258, 258, 203, 54, 170, 170, 286, 334, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 170, - 170, 45, 82, 290, 48, 228, 168, 167, 261, 273, 96, 273, 96, 96, 273, 96, 273, 348, 124, 20, 20, 25, 25, - 25, 25, 23, 23, 31, 27, 27, 34, 33, 76, 36, 35, 98, 200, 98, 286, 290, 104, 45, 371, 52, 170, 305, 231, - 96, 258, 258, 96, 258, 54, 200, 80, 290, 281, 371, 45, 51, 48, 170, 284, 348, 169, 233, 98, 173, 98, - 222, 80, 281, 281, 54, 54, 45, 52, 228, 298, 297, 290, 233, 170, 98, 173, 222, 222, 224, 101, 281, 371, - 45, 45, 170, 305, 231, 284, 173, 200, 71, 173, 222, 224, 292, 224, 200, 78, 295, 258, 54, 100, 371, 281, - 233, 173, 73, 224, 200, 54, 258, 3, 82, 45, 258, 54, 281, 170, 169, 200, 301, 54, 300, 67, 290, 200, 45, - 259, 73, 54, 67 }; - } - - public final static char asb[] = Asb.asb; - - @Override - public final int asb(int index) { - return asb[index]; - } - - public interface Asr { - public final static byte asr[] = { 0, 80, 0, 11, 2, 52, 67, 15, 16, 60, 70, 71, 72, 73, 74, 76, 75, 77, 78, 79, - 4, 53, 54, 9, 10, 48, 47, 55, 56, 57, 58, 61, 62, 12, 63, 64, 65, 43, 66, 68, 69, 59, 30, 80, 29, 50, 5, - 0, 6, 7, 8, 13, 50, 5, 18, 19, 20, 21, 3, 15, 16, 12, 9, 10, 22, 23, 17, 4, 2, 1, 0, 66, 5, 4, 1, 2, 59, - 0, 5, 43, 11, 52, 15, 16, 12, 4, 9, 10, 22, 23, 17, 2, 18, 19, 20, 21, 1, 3, 14, 0, 60, 11, 52, 0, 6, 7, - 8, 2, 18, 19, 20, 21, 1, 3, 15, 16, 12, 4, 9, 10, 22, 23, 17, 0, 7, 13, 28, 8, 27, 26, 25, 6, 24, 52, - 67, 15, 16, 12, 9, 10, 53, 54, 47, 48, 55, 56, 57, 58, 61, 62, 63, 64, 65, 68, 69, 60, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 4, 2, 11, 29, 30, 5, 0, 24, 31, 6, 32, 44, 25, 33, 26, 34, 35, 27, 7, 36, 37, - 13, 45, 28, 46, 38, 39, 8, 40, 41, 42, 1, 3, 51, 5, 43, 0, 5, 30, 17, 18, 19, 20, 21, 1, 3, 2, 15, 16, - 12, 4, 9, 10, 22, 23, 0, 1, 3, 5, 43, 29, 0, 4, 2, 11, 30, 5, 24, 31, 6, 32, 44, 25, 33, 26, 34, 35, 27, - 7, 36, 37, 13, 45, 28, 46, 38, 39, 8, 40, 41, 42, 49, 3, 1, 0, 39, 31, 36, 34, 35, 33, 32, 37, 38, 40, - 41, 42, 59, 66, 28, 25, 13, 24, 27, 26, 6, 7, 8, 29, 1, 5, 30, 2, 11, 4, 0, 5, 29, 43, 60, 0, 2, 30, 11, - 59, 66, 5, 29, 0, 4, 24, 31, 6, 32, 44, 25, 33, 26, 34, 35, 27, 7, 36, 37, 13, 45, 28, 46, 38, 39, 8, - 40, 41, 42, 1, 3, 49, 0, 17, 18, 19, 20, 21, 2, 15, 16, 12, 4, 9, 10, 22, 23, 1, 3, 44, 45, 46, 39, 31, - 36, 34, 35, 33, 32, 37, 38, 40, 41, 42, 28, 25, 13, 24, 27, 26, 6, 7, 8, 0, 17, 18, 19, 20, 21, 1, 3, 2, - 15, 16, 12, 4, 9, 10, 22, 23, 51, 0 }; - } - - public final static byte asr[] = Asr.asr; - - @Override - public final int asr(int index) { - return asr[index]; - } - - public interface Nasb { - public final static byte nasb[] = { 0, 118, 41, 23, 41, 23, 23, 23, 23, 23, 23, 23, 23, 23, 41, 98, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 23, 98, 18, 18, 63, 99, 122, 122, 89, 1, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 99, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 122, 122, 13, - 50, 76, 11, 88, 44, 44, 71, 72, 29, 72, 86, 86, 72, 85, 72, 66, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 51, 59, 41, 102, 41, 31, 13, 61, 12, 122, 93, 121, 7, 7, 7, 7, 7, 23, 74, - 59, 41, 83, 61, 13, 12, 27, 122, 55, 34, 41, 95, 46, 59, 41, 59, 21, 83, 59, 23, 23, 13, 12, 54, 44, 44, - 76, 95, 122, 41, 106, 59, 7, 48, 9, 59, 61, 13, 13, 122, 93, 121, 79, 59, 74, 15, 114, 7, 48, 41, 41, - 74, 20, 41, 7, 23, 25, 61, 27, 110, 106, 57, 48, 74, 23, 7, 42, 22, 13, 7, 23, 27, 122, 122, 74, 16, 23, - 41, 57, 76, 74, 13, 41, 57, 23, 81 }; - } - - public final static byte nasb[] = Nasb.nasb; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - public interface Nasr { - public final static char nasr[] = { 0, 78, 76, 75, 65, 74, 73, 1, 0, 98, 0, 11, 5, 24, 0, 11, 69, 0, 70, 0, 86, - 11, 52, 5, 0, 100, 0, 21, 0, 89, 0, 5, 11, 0, 78, 77, 76, 75, 65, 74, 73, 0, 96, 0, 26, 0, 90, 0, 59, 0, - 5, 52, 46, 0, 23, 43, 42, 35, 33, 11, 0, 56, 0, 11, 88, 0, 65, 60, 61, 62, 63, 53, 28, 0, 39, 0, 27, 50, - 0, 43, 42, 35, 33, 27, 0, 92, 66, 0, 23, 42, 43, 11, 0, 27, 50, 11, 25, 0, 49, 11, 45, 0, 43, 42, 27, 0, - 80, 11, 49, 0, 93, 11, 25, 0, 11, 49, 67, 0, 11, 87, 0, 11, 23, 0 }; - } - - public final static char nasr[] = Nasr.nasr; - - @Override - public final int nasr(int index) { - return nasr[index]; - } - - public interface TerminalIndex { - public final static char terminalIndex[] = { 0, 85, 2, 86, 9, 87, 48, 64, 76, 10, 11, 1, 8, 69, 3, 6, 7, 68, 81, - 82, 83, 84, 12, 13, 44, 55, 60, 63, 72, 42, 90, 47, 52, 56, 61, 62, 66, 67, 74, 75, 78, 79, 80, 91, 54, - 70, 73, 16, 17, 30, 89, 93, 4, 14, 15, 18, 19, 20, 21, 29, 31, 22, 23, 24, 25, 26, 92, 5, 27, 28, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 94, 45, 46, 49, 50, 51, 53, 57, 58, 59, 65, 71, 77, 88 }; - } - - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - - @Override - public final int terminalIndex(int index) { - return terminalIndex[index]; - } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = { 0, 100, 0, 0, 0, 102, 106, 107, 108, 109, 110, 0, 111, 112, 113, - 114, 115, 116, 117, 0, 118, 128, 0, 97, 96, 121, 149, 0, 127, 0, 0, 0, 145, 147, 0, 148, 0, 0, 0, 98, 0, - 158, 159, 160, 0, 101, 105, 120, 136, 140, 146, 155, 0, 130, 0, 150, 153, 154, 157, 0, 131, 132, 133, - 134, 135, 137, 0, 139, 144, 99, 103, 104, 119, 122, 123, 124, 125, 126, 129, 0, 138, 142, 0, 0, 143, - 152, 162, 95, 0, 0, 0, 141, 0, 151, 156, 161, 0, 163, 164, 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - - @Override - public final int nonterminalIndex(int index) { - return nonterminalIndex[index]; - } - - public interface ScopePrefix { - public final static char scopePrefix[] = { 82, 113, 92, 35, 41, 121, 12, 136, 21, 51, 69, 28, 47, 103, 161, 165, - 145, 1, 1, 32, 56, 79, 169, 6, 107, 152, 152, 127, 99, 59, 59, 59 }; - } - - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - - @Override - public final int scopePrefix(int index) { - return scopePrefix[index]; - } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { 90, 90, 90, 4, 4, 90, 18, 142, 26, 4, 26, 26, 4, 101, 26, 4, 149, 4, - 4, 26, 4, 26, 26, 9, 110, 155, 158, 130, 101, 66, 61, 74 }; - } - - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - - @Override - public final int scopeSuffix(int index) { - return scopeSuffix[index]; - } - - public interface ScopeLhs { - public final static char scopeLhs[] = { 62, 60, 62, 26, 26, 60, 46, 108, 44, 26, 38, 44, 26, 67, 5, 5, 19, 100, - 99, 42, 26, 35, 3, 86, 67, 7, 5, 109, 67, 38, 36, 38 }; - } - - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - - @Override - public final int scopeLhs(int index) { - return scopeLhs[index]; - } - - public interface ScopeLa { - public final static byte scopeLa[] = { 43, 43, 43, 50, 50, 43, 43, 86, 30, 50, 30, 30, 50, 66, 30, 50, 59, 50, - 50, 30, 50, 30, 30, 60, 1, 30, 30, 92, 66, 2, 2, 2 }; - } - - public final static byte scopeLa[] = ScopeLa.scopeLa; - - @Override - public final int scopeLa(int index) { - return scopeLa[index]; - } - - public interface ScopeStateSet { - public final static byte scopeStateSet[] = { 23, 23, 23, 27, 27, 23, 17, -1, 31, 27, 9, 31, 27, 5, 38, 38, 68, - 1, 3, 31, 27, 9, 38, 94, 5, 41, 38, -1, 5, 9, 9, 9 }; - } - - public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet; - - @Override - public final int scopeStateSet(int index) { - return scopeStateSet[index]; - } - - public interface ScopeRhs { - public final static char scopeRhs[] = { 0, 140, 11, 0, 96, 0, 190, 104, 0, 31, 135, 0, 152, 188, 104, 14, 145, - 0, 98, 0, 0, 148, 104, 2, 135, 0, 97, 0, 148, 104, 2, 0, 151, 2, 0, 113, 13, 178, 104, 11, 0, 113, 178, - 104, 13, 11, 0, 113, 13, 11, 0, 113, 178, 104, 11, 0, 113, 11, 0, 128, 0, 2, 0, 151, 97, 0, 2, 97, 0, - 148, 104, 2, 128, 0, 2, 0, 150, 97, 0, 141, 2, 0, 152, 176, 104, 14, 94, 185, 44, 0, 98, 0, 152, 176, - 104, 14, 185, 44, 0, 142, 0, 99, 0, 184, 104, 142, 0, 104, 142, 0, 141, 99, 0, 172, 104, 14, 183, 94, - 182, 158, 0, 172, 104, 14, 182, 158, 0, 197, 85, 0, 77, 2, 101, 97, 99, 0, 197, 116, 138, 2, 89, 0, 53, - 0, 0, 138, 69, 111, 0, 29, 118, 0, 164, 2, 0, 97, 107, 0, 97, 105, 0, 181, 2, 98, 0, 138, 11, 98, 0, - 138, 2, 0 }; - } - - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - - @Override - public final int scopeRhs(int index) { - return scopeRhs[index]; - } - - public interface ScopeState { - public final static char scopeState[] = { 0, 443, 0, 341, 0, 1651, 1661, 1645, 0, 1449, 1342, 1168, 1269, 1256, - 1151, 1123, 0, 492, 417, 396, 1538, 1084, 0, 607, 1213, 317, 0, 1462, 1182, 1137, 671, 1256, 1151, 1123, - 1611, 1422, 1516, 0, 1020, 673, 578, 1467, 1434, 1084, 611, 1112, 1245, 1218, 1331, 1318, 449, 1412, - 1402, 1391, 1361, 545, 470, 1543, 1528, 1517, 1308, 1140, 1508, 1500, 1492, 1381, 1028, 483, 1092, 1056, - 1036, 492, 1000, 980, 959, 938, 586, 917, 557, 349, 896, 875, 854, 833, 812, 791, 770, 749, 728, 707, - 686, 317, 639, 513, 417, 396, 0 }; - } - - public final static char scopeState[] = ScopeState.scopeState; - - @Override - public final int scopeState(int index) { - return scopeState[index]; - } - - public interface InSymb { - public final static char inSymb[] = { 0, 0, 180, 104, 165, 17, 23, 22, 10, 9, 4, 12, 16, 15, 98, 2, 102, 101, - 105, 103, 107, 106, 109, 108, 111, 110, 99, 29, 2, 67, 52, 2, 11, 164, 138, 142, 104, 10, 9, 54, 53, 4, - 58, 57, 56, 55, 47, 48, 12, 62, 61, 64, 63, 69, 68, 65, 79, 78, 77, 75, 76, 74, 73, 72, 71, 70, 60, 164, - 181, 138, 116, 104, 11, 2, 136, 135, 166, 167, 158, 168, 46, 45, 169, 44, 170, 171, 94, 101, 101, 103, - 103, 103, 103, 102, 102, 106, 105, 105, 108, 107, 138, 110, 109, 116, 14, 145, 143, 120, 13, 113, 104, - 4, 151, 104, 2, 182, 159, 159, 185, 159, 59, 104, 14, 120, 4, 104, 113, 178, 149, 148, 118, 104, 150, - 104, 94, 14, 94, 14, 104, 4, 120, 178, 13, 113, 4, 2, 126, 128, 104, 29, 148, 183, 104, 14, 104, 188, - 104, 120, 104, 113, 113, 141, 104, 2, 143, 14, 172, 142, 173, 104, 176, 94, 177, 152, 29, 190, 52, 11, - 191, 104, 149, 104, 104, 104, 176, 152, 60, 29, 132, 60, 140, 52, 11, 149, 148, 186, 172, 184, 59, 141, - 2, 104, 152, 140, 29, 29, 59, 143 }; - } - - public final static char inSymb[] = InSymb.inSymb; - - @Override - 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", "ERROR_TOKEN", - "EOF_TOKEN", "no_sizeof_type_id_start", "]", ")", "}", ";", "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_list_actual", "constant_expression", "declaration_specifiers", - "simple_declaration_specifiers", "struct_or_union_declaration_sp" + "ecifiers", - "elaborated_declaration_specifi" + "ers", "enum_declaration_specifiers", - "typdef_name_declaration_specif" + "iers", "no_type_declaration_specifier", "type_qualifier", - "no_type_declaration_specifiers", "simple_type_specifier", "struct_or_union_specifier", - "elaborated_specifier", "enum_specifier", "type_name_specifier", "initializer", "declarator", - "struct_or_union", "struct_declaration_list", "struct_declaration", "specifier_qualifier_list", - "struct_declarator_list", "complete_struct_declarator", "enumerator_list", "enumerator", - "direct_declarator", "pointer_seq", "array_direct_declarator", "basic_direct_declarator", - "array_modifier", "parameter_type_list", "identifier_list", "array_modifier_type_qualifiers", - "type_qualifier_list", "parameter_list", "parameter_declaration", "complete_parameter_declarator", - "abstract_declarator", "direct_abstract_declarator", "basic_direct_abstract_declarat" + "or", - "array_direct_abstract_declarat" + "or", "initializer_seq", "designated_initializer", "designation", - "designator_list", "designator" }; - } - - public final static String name[] = Name.name; - - @Override - public final String name(int index) { - return name[index]; - } - - public final static int ERROR_SYMBOL = 51, SCOPE_UBOUND = 31, SCOPE_SIZE = 32, MAX_NAME_LENGTH = 38; - - @Override - public final int getErrorSymbol() { - return ERROR_SYMBOL; - } - - @Override - public final int getScopeUbound() { - return SCOPE_UBOUND; - } - - @Override - public final int getScopeSize() { - return SCOPE_SIZE; - } - - @Override - public final int getMaxNameLength() { - return MAX_NAME_LENGTH; - } - - public final static int NUM_STATES = 207, NT_OFFSET = 93, LA_STATE_OFFSET = 2081, MAX_LA = 2, NUM_RULES = 316, - NUM_NONTERMINALS = 126, NUM_SYMBOLS = 219, SEGMENT_SIZE = 8192, START_STATE = 1666, IDENTIFIER_SYMBOL = 0, - EOFT_SYMBOL = 80, EOLT_SYMBOL = 80, ACCEPT_ACTION = 1755, ERROR_ACTION = 1765; - - public final static boolean BACKTRACK = true; - - @Override - public final int getNumStates() { - return NUM_STATES; - } - - @Override - public final int getNtOffset() { - return NT_OFFSET; - } - - @Override - public final int getLaStateOffset() { - return LA_STATE_OFFSET; - } - - @Override - public final int getMaxLa() { - return MAX_LA; - } - - @Override - public final int getNumRules() { - return NUM_RULES; - } - - @Override - public final int getNumNonterminals() { - return NUM_NONTERMINALS; - } - - @Override - public final int getNumSymbols() { - return NUM_SYMBOLS; - } - - @Override - public final int getSegmentSize() { - return SEGMENT_SIZE; - } - - @Override - public final int getStartState() { - return START_STATE; - } - - @Override - public final int getStartSymbol() { - return lhs[0]; - } - - public final int getIdentifierSymbol() { - return IDENTIFIER_SYMBOL; - } - - @Override - public final int getEoftSymbol() { - return EOFT_SYMBOL; - } - - @Override - public final int getEoltSymbol() { - return EOLT_SYMBOL; - } - - @Override - public final int getAcceptAction() { - return ACCEPT_ACTION; - } - - @Override - public final int getErrorAction() { - return ERROR_ACTION; - } - - @Override - public final boolean isValidForParser() { - return isValidForParser; - } - - @Override - public final boolean getBacktrack() { - return BACKTRACK; - } - - @Override - public final int originalState(int state) { - return -baseCheck[state]; - } - - @Override - public final int asi(int state) { - return asb[originalState(state)]; - } - - @Override - public final int nasi(int state) { - return nasb[originalState(state)]; - } - - @Override - public final int inSymbol(int state) { - return inSymb[originalState(state)]; - } - - @Override - public final int ntAction(int state, int sym) { - return baseAction[state + sym]; - } - - @Override - public final int tAction(int state, int sym) { - int i = baseAction[state], k = i + sym; - return termAction[termCheck[k] == sym ? k : i]; - } - - @Override - 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/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java deleted file mode 100644 index 85210188c3d..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2010 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.c99; - -public interface C99SizeofExpressionParsersym { - public final static int TK_auto = 24, TK_break = 81, TK_case = 82, TK_char = 31, TK_const = 6, TK_continue = 83, - TK_default = 84, TK_do = 85, TK_double = 32, TK_else = 86, TK_enum = 44, TK_extern = 25, TK_float = 33, - TK_for = 87, TK_goto = 88, TK_if = 89, TK_inline = 26, TK_int = 34, TK_long = 35, TK_register = 27, - TK_restrict = 7, TK_return = 90, TK_short = 36, TK_signed = 37, TK_sizeof = 17, TK_static = 13, - TK_struct = 45, TK_switch = 91, TK_typedef = 28, TK_union = 46, TK_unsigned = 38, TK_void = 39, - TK_volatile = 8, TK_while = 92, TK__Bool = 40, TK__Complex = 41, TK__Imaginary = 42, TK_integer = 18, - TK_floating = 19, TK_charconst = 20, TK_stringlit = 21, TK_identifier = 1, TK_Completion = 3, - TK_EndOfCompletion = 5, TK_Invalid = 93, TK_LeftBracket = 11, TK_LeftParen = 2, TK_LeftBrace = 14, - TK_Dot = 52, TK_Arrow = 67, TK_PlusPlus = 15, TK_MinusMinus = 16, TK_And = 12, TK_Star = 4, TK_Plus = 9, - TK_Minus = 10, TK_Tilde = 22, TK_Bang = 23, TK_Slash = 53, TK_Percent = 54, TK_RightShift = 47, - TK_LeftShift = 48, TK_LT = 55, TK_GT = 56, TK_LE = 57, TK_GE = 58, TK_EQ = 61, TK_NE = 62, TK_Caret = 63, - TK_Or = 64, TK_AndAnd = 65, TK_OrOr = 68, TK_Question = 69, TK_Colon = 59, TK_DotDotDot = 49, - TK_Assign = 60, TK_StarAssign = 70, TK_SlashAssign = 71, TK_PercentAssign = 72, TK_PlusAssign = 73, - TK_MinusAssign = 74, TK_RightShiftAssign = 75, TK_LeftShiftAssign = 76, TK_AndAssign = 77, - TK_CaretAssign = 78, TK_OrAssign = 79, TK_Comma = 29, TK_RightBracket = 50, TK_RightParen = 30, - TK_RightBrace = 43, TK_SemiColon = 66, TK_ERROR_TOKEN = 51, TK_EOF_TOKEN = 80; - - public final static String orderedTerminalSymbols[] = { "", "identifier", "LeftParen", "Completion", "Star", - "EndOfCompletion", "const", "restrict", "volatile", "Plus", "Minus", "LeftBracket", "And", "static", - "LeftBrace", "PlusPlus", "MinusMinus", "sizeof", "integer", "floating", "charconst", "stringlit", "Tilde", - "Bang", "auto", "extern", "inline", "register", "typedef", "Comma", "RightParen", "char", "double", "float", - "int", "long", "short", "signed", "unsigned", "void", "_Bool", "_Complex", "_Imaginary", "RightBrace", - "enum", "struct", "union", "RightShift", "LeftShift", "DotDotDot", "RightBracket", "ERROR_TOKEN", "Dot", - "Slash", "Percent", "LT", "GT", "LE", "GE", "Colon", "Assign", "EQ", "NE", "Caret", "Or", "AndAnd", - "SemiColon", "Arrow", "OrOr", "Question", "StarAssign", "SlashAssign", "PercentAssign", "PlusAssign", - "MinusAssign", "RightShiftAssign", "LeftShiftAssign", "AndAssign", "CaretAssign", "OrAssign", "EOF_TOKEN", - "break", "case", "continue", "default", "do", "else", "for", "goto", "if", "return", "switch", "while", - "Invalid" }; - - public final static boolean isValidForParser = true; -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java deleted file mode 100644 index 6999cbeb8df..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java +++ /dev/null @@ -1,2864 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -import java.util.List; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCastExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTypeIdExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUnaryExpression; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction; -import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory; - -import lpg.lpgjavaruntime.BadParseException; -import lpg.lpgjavaruntime.BadParseSymFileException; -import lpg.lpgjavaruntime.DiagnoseParser; -import lpg.lpgjavaruntime.ErrorToken; -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.LexStream; -import lpg.lpgjavaruntime.Monitor; -import lpg.lpgjavaruntime.NotBacktrackParseTableException; -import lpg.lpgjavaruntime.NullExportedSymbolsException; -import lpg.lpgjavaruntime.NullTerminalSymbolsException; -import lpg.lpgjavaruntime.ParseErrorCodes; -import lpg.lpgjavaruntime.ParseTable; -import lpg.lpgjavaruntime.PrsStream; -import lpg.lpgjavaruntime.RuleAction; -import lpg.lpgjavaruntime.Token; -import lpg.lpgjavaruntime.UndefinedEofSymbolException; -import lpg.lpgjavaruntime.UnimplementedTerminalsException; - -public class CPPExpressionParser extends PrsStream - implements RuleAction, ITokenStream, ITokenCollector, ISecondaryParser { - private static ParseTable prs = new CPPExpressionParserprs(); - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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 CPPExpressionParser(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), CPPExpressionParserprs.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(" " + CPPExpressionParsersym.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " - + CPPExpressionParsersym.orderedTerminalSymbols[CPPExpressionParserprs.EOFT_SYMBOL])); - } - } - - @Override - public String[] orderedTerminalSymbols() { - return CPPExpressionParsersym.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return CPPExpressionParsersym.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return CPPExpressionParserprs.EOFT_SYMBOL; - } - - public PrsStream getParseStream() { - return 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, this, prs, this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException( - "Regenerate CPPExpressionParserprs.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- CPPExpressionParsersym.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 CPPBuildASTParserAction action; - private IASTCompletionNode compNode; - - public CPPExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, - IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new CPPBuildASTParserAction(this, astStack, CPPNodeFactory.getDefault(), - CPPSecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - public IASTExpression 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 (IASTExpression) action.getParseResult(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return CPPExpressionParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "CPPExpressionParser"; - } - - private ITokenMap tokenMap = null; - - @Override - public void setTokens(List tokens) { - resetTokenStream(); - addToken(new Token(null, 0, 0, 0)); // dummy token - for (IToken token : tokens) { - token.setKind(tokenMap.mapKind(token.getKind())); - addToken(token); - } - addToken(new Token(null, 0, 0, CPPExpressionParsersym.TK_EOF_TOKEN)); - } - - public CPPExpressionParser(ITokenStream stream, Map properties) { // constructor for creating secondary parser - initActions(properties); - tokenMap = new TokenMap(CPPExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols()); - } - - public CPPExpressionParser(ITokenStream stream, IScanner scanner, IBuiltinBindingsProvider builtinBindingsProvider, - IIndex index, Map properties) { // constructor for creating secondary parser - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - tokenMap = new TokenMap(CPPExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols()); - } - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 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 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 ) 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 ::= 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 ::= 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 ::= { 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 init_declarator_list_opt ; - // - case 255: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 256: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; - // - case 256: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 257: declaration_specifiers ::= simple_declaration_specifiers - // - case 257: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 258: declaration_specifiers ::= class_declaration_specifiers - // - case 258: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 259: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 259: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 260: declaration_specifiers ::= enum_declaration_specifiers - // - case 260: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 261: declaration_specifiers ::= 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 { enumerator_list_opt comma_opt } - // - case 321: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 322: enum_specifier ::= enum enum_specifier_hook identifier_token { 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 { declaration_seq_opt } - // - case 331: { - action.consumeNamespaceDefinition(true); - break; - } - - // - // Rule 332: namespace_definition ::= namespace namespace_definition_hook { 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: asm_definition ::= asm ( stringlit ) ; - // - case 339: { - action.consumeDeclarationASM(); - break; - } - - // - // Rule 340: linkage_specification ::= extern stringlit { declaration_seq_opt } - // - case 340: { - action.consumeLinkageSpecification(); - break; - } - - // - // Rule 341: linkage_specification ::= extern stringlit declaration - // - case 341: { - action.consumeLinkageSpecification(); - break; - } - - // - // Rule 346: init_declarator_complete ::= init_declarator - // - case 346: { - action.consumeInitDeclaratorComplete(); - break; - } - - // - // Rule 348: init_declarator ::= complete_declarator initializer - // - case 348: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 351: declarator ::= ptr_operator_seq direct_declarator - // - case 351: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 353: function_declarator ::= ptr_operator_seq direct_declarator - // - case 353: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 357: basic_direct_declarator ::= declarator_id_name - // - case 357: { - action.consumeDirectDeclaratorIdentifier(); - break; - } - - // - // Rule 358: basic_direct_declarator ::= ( declarator ) - // - case 358: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 359: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 359: { - action.consumeDirectDeclaratorFunctionDeclarator(true); - break; - } - - // - // Rule 360: array_direct_declarator ::= array_direct_declarator array_modifier - // - case 360: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 361: array_direct_declarator ::= basic_direct_declarator array_modifier - // - case 361: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 362: array_modifier ::= [ constant_expression ] - // - case 362: { - action.consumeDirectDeclaratorArrayModifier(true); - break; - } - - // - // Rule 363: array_modifier ::= [ ] - // - case 363: { - action.consumeDirectDeclaratorArrayModifier(false); - break; - } - - // - // Rule 364: ptr_operator ::= pointer_hook * pointer_hook cv_qualifier_seq_opt - // - case 364: { - action.consumePointer(); - break; - } - - // - // Rule 365: ptr_operator ::= pointer_hook & pointer_hook - // - case 365: { - action.consumeReferenceOperator(); - break; - } - - // - // Rule 366: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook cv_qualifier_seq_opt - // - case 366: { - action.consumePointerToMember(); - break; - } - - // - // Rule 373: cv_qualifier ::= const - // - case 373: { - action.consumeToken(); - break; - } - - // - // Rule 374: cv_qualifier ::= volatile - // - case 374: { - action.consumeToken(); - break; - } - - // - // Rule 376: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name - // - case 376: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 377: type_id ::= type_specifier_seq - // - case 377: { - action.consumeTypeId(false); - break; - } - - // - // Rule 378: type_id ::= type_specifier_seq abstract_declarator - // - case 378: { - action.consumeTypeId(true); - break; - } - - // - // Rule 381: abstract_declarator ::= ptr_operator_seq - // - case 381: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 382: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator - // - case 382: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 386: basic_direct_abstract_declarator ::= ( abstract_declarator ) - // - case 386: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 387: basic_direct_abstract_declarator ::= ( ) - // - case 387: { - action.consumeAbstractDeclaratorEmpty(); - break; - } - - // - // Rule 388: array_direct_abstract_declarator ::= array_modifier - // - case 388: { - action.consumeDirectDeclaratorArrayDeclarator(false); - break; - } - - // - // Rule 389: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier - // - case 389: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 390: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier - // - case 390: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 391: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 391: { - action.consumeDirectDeclaratorFunctionDeclarator(true); - break; - } - - // - // Rule 392: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 392: { - action.consumeDirectDeclaratorFunctionDeclarator(false); - break; - } - - // - // Rule 393: parameter_declaration_clause ::= parameter_declaration_list_opt ... - // - case 393: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 394: parameter_declaration_clause ::= parameter_declaration_list_opt - // - case 394: { - action.consumeEmpty(); - break; - } - - // - // Rule 395: parameter_declaration_clause ::= parameter_declaration_list , ... - // - case 395: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 401: abstract_declarator_opt ::= $Empty - // - case 401: { - action.consumeEmpty(); - break; - } - - // - // Rule 402: parameter_declaration ::= declaration_specifiers parameter_init_declarator - // - case 402: { - action.consumeParameterDeclaration(); - break; - } - - // - // Rule 403: parameter_declaration ::= declaration_specifiers - // - case 403: { - action.consumeParameterDeclarationWithoutDeclarator(); - break; - } - - // - // Rule 405: parameter_init_declarator ::= declarator = parameter_initializer - // - case 405: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 407: parameter_init_declarator ::= abstract_declarator = parameter_initializer - // - case 407: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 408: parameter_init_declarator ::= = parameter_initializer - // - case 408: { - action.consumeDeclaratorWithInitializer(false); - break; - } - - // - // Rule 409: parameter_initializer ::= assignment_expression - // - case 409: { - action.consumeInitializer(); - break; - } - - // - // Rule 410: function_definition ::= declaration_specifiers_opt function_declarator ctor_initializer_list_opt function_body - // - case 410: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 411: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body handler_seq - // - case 411: { - action.consumeFunctionDefinition(true); - break; - } - - // - // Rule 414: initializer ::= ( expression_list ) - // - case 414: { - action.consumeInitializerConstructor(); - break; - } - - // - // Rule 415: initializer_clause ::= assignment_expression - // - case 415: { - action.consumeInitializer(); - break; - } - - // - // Rule 416: initializer_clause ::= initializer_list - // - case 416: { - action.consumeInitializer(); - break; - } - - // - // Rule 417: initializer_list ::= start_initializer_list { initializer_seq , } end_initializer_list - // - case 417: { - action.consumeInitializerList(); - break; - } - - // - // Rule 418: initializer_list ::= start_initializer_list { initializer_seq } end_initializer_list - // - case 418: { - action.consumeInitializerList(); - break; - } - - // - // Rule 419: initializer_list ::= { } - // - case 419: { - action.consumeInitializerList(); - break; - } - - // - // Rule 420: start_initializer_list ::= $Empty - // - case 420: { - action.initializerListStart(); - break; - } - - // - // Rule 421: end_initializer_list ::= $Empty - // - case 421: { - action.initializerListEnd(); - break; - } - - // - // Rule 426: class_specifier ::= class_head { member_declaration_list_opt } - // - case 426: { - action.consumeClassSpecifier(); - break; - } - - // - // Rule 427: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook base_clause_opt - // - case 427: { - action.consumeClassHead(false); - break; - } - - // - // Rule 428: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook base_clause_opt - // - case 428: { - action.consumeClassHead(false); - break; - } - - // - // Rule 429: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook base_clause_opt - // - case 429: { - action.consumeClassHead(true); - break; - } - - // - // Rule 430: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook base_clause_opt - // - case 430: { - action.consumeClassHead(true); - break; - } - - // - // Rule 434: identifier_name_opt ::= $Empty - // - case 434: { - action.consumeEmpty(); - break; - } - - // - // Rule 438: visibility_label ::= access_specifier_keyword : - // - case 438: { - action.consumeVisibilityLabel(); - break; - } - - // - // Rule 439: member_declaration ::= declaration_specifiers_opt member_declarator_list ; - // - case 439: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 440: member_declaration ::= declaration_specifiers_opt ; - // - case 440: { - action.consumeDeclarationSimple(false); - break; - } - - // - // Rule 443: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; - // - case 443: { - action.consumeMemberDeclarationQualifiedId(); - break; - } - - // - // Rule 449: member_declaration ::= ERROR_TOKEN - // - case 449: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 458: member_declarator ::= declarator constant_initializer - // - case 458: { - action.consumeMemberDeclaratorWithInitializer(); - break; - } - - // - // Rule 459: member_declarator ::= bit_field_declarator : constant_expression - // - case 459: { - action.consumeBitField(true); - break; - } - - // - // Rule 460: member_declarator ::= : constant_expression - // - case 460: { - action.consumeBitField(false); - break; - } - - // - // Rule 461: bit_field_declarator ::= identifier_name - // - case 461: { - action.consumeDirectDeclaratorIdentifier(); - break; - } - - // - // Rule 462: constant_initializer ::= = constant_expression - // - case 462: { - action.consumeInitializer(); - break; - } - - // - // Rule 468: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name - // - case 468: { - action.consumeBaseSpecifier(false, false); - break; - } - - // - // Rule 469: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name - // - case 469: { - action.consumeBaseSpecifier(true, true); - break; - } - - // - // Rule 470: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name - // - case 470: { - action.consumeBaseSpecifier(true, true); - break; - } - - // - // Rule 471: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name - // - case 471: { - action.consumeBaseSpecifier(true, false); - break; - } - - // - // Rule 472: access_specifier_keyword ::= private - // - case 472: { - action.consumeToken(); - break; - } - - // - // Rule 473: access_specifier_keyword ::= protected - // - case 473: { - action.consumeToken(); - break; - } - - // - // Rule 474: access_specifier_keyword ::= public - // - case 474: { - action.consumeToken(); - break; - } - - // - // Rule 476: access_specifier_keyword_opt ::= $Empty - // - case 476: { - action.consumeEmpty(); - break; - } - - // - // Rule 478: conversion_function_id_name ::= conversion_function_id < template_argument_list_opt > - // - case 478: { - action.consumeTemplateId(); - break; - } - - // - // Rule 479: conversion_function_id ::= operator conversion_type_id - // - case 479: { - action.consumeConversionName(); - break; - } - - // - // Rule 480: conversion_type_id ::= type_specifier_seq conversion_declarator - // - case 480: { - action.consumeTypeId(true); - break; - } - - // - // Rule 481: conversion_type_id ::= type_specifier_seq - // - case 481: { - action.consumeTypeId(false); - break; - } - - // - // Rule 482: conversion_declarator ::= ptr_operator_seq - // - case 482: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 488: mem_initializer ::= mem_initializer_name ( expression_list_opt ) - // - case 488: { - action.consumeConstructorChainInitializer(); - break; - } - - // - // Rule 489: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name - // - case 489: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 492: operator_function_id_name ::= operator_id_name < template_argument_list_opt > - // - case 492: { - action.consumeTemplateId(); - break; - } - - // - // Rule 493: operator_id_name ::= operator overloadable_operator - // - case 493: { - action.consumeOperatorName(); - break; - } - - // - // Rule 536: template_declaration ::= export_opt template < template_parameter_list > declaration - // - case 536: { - action.consumeTemplateDeclaration(); - break; - } - - // - // Rule 537: export_opt ::= export - // - case 537: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 538: export_opt ::= $Empty - // - case 538: { - action.consumeEmpty(); - break; - } - - // - // Rule 542: template_parameter ::= parameter_declaration - // - case 542: { - action.consumeTemplateParamterDeclaration(); - break; - } - - // - // Rule 543: type_parameter ::= class identifier_name_opt - // - case 543: { - action.consumeSimpleTypeTemplateParameter(false); - break; - } - - // - // Rule 544: type_parameter ::= class identifier_name_opt = type_id - // - case 544: { - action.consumeSimpleTypeTemplateParameter(true); - break; - } - - // - // Rule 545: type_parameter ::= typename identifier_name_opt - // - case 545: { - action.consumeSimpleTypeTemplateParameter(false); - break; - } - - // - // Rule 546: type_parameter ::= typename identifier_name_opt = type_id - // - case 546: { - action.consumeSimpleTypeTemplateParameter(true); - break; - } - - // - // Rule 547: type_parameter ::= template < template_parameter_list > class identifier_name_opt - // - case 547: { - action.consumeTemplatedTypeTemplateParameter(false); - break; - } - - // - // Rule 548: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression - // - case 548: { - action.consumeTemplatedTypeTemplateParameter(true); - break; - } - - // - // Rule 549: template_id_name ::= identifier_name < template_argument_list_opt > - // - case 549: { - action.consumeTemplateId(); - break; - } - - // - // Rule 556: nested_name_specifier_inTemplate ::= class_or_namespace_name_inTemplate :: nested_name_specifier_with_template_inTemplate - // - case 556: { - action.consumeNestedNameSpecifier(true); - break; - } - - // - // Rule 557: nested_name_specifier_inTemplate ::= class_or_namespace_name_inTemplate :: - // - case 557: { - action.consumeNestedNameSpecifier(false); - break; - } - - // - // Rule 558: nested_name_specifier_with_template_inTemplate ::= class_or_namespace_name_with_template_inTemplate :: nested_name_specifier_with_template_inTemplate - // - case 558: { - action.consumeNestedNameSpecifier(true); - break; - } - - // - // Rule 559: nested_name_specifier_with_template_inTemplate ::= class_or_namespace_name_with_template_inTemplate :: - // - case 559: { - action.consumeNestedNameSpecifier(false); - break; - } - - // - // Rule 560: class_or_namespace_name_with_template_inTemplate ::= template_opt class_or_namespace_name_inTemplate - // - case 560: { - action.consumeNameWithTemplateKeyword(); - break; - } - - // - // Rule 562: nested_name_specifier_opt_inTemplate ::= $Empty - // - case 562: { - action.consumeNestedNameSpecifierEmpty(); - break; - } - - // - // Rule 565: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier identifier_name - // - case 565: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 566: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier template_opt template_id_name - // - case 566: { - action.consumeQualifiedId(true); - break; - } - - // - // Rule 571: declaration_specifiers_inTemplate ::= simple_declaration_specifiers - // - case 571: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 572: declaration_specifiers_inTemplate ::= class_declaration_specifiers - // - case 572: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 573: declaration_specifiers_inTemplate ::= elaborated_declaration_specifiers - // - case 573: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 574: declaration_specifiers_inTemplate ::= enum_declaration_specifiers - // - case 574: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 575: declaration_specifiers_inTemplate ::= type_name_declaration_specifiers_inTemplate - // - case 575: { - action.consumeDeclarationSpecifiersTypeName(); - break; - } - - // - // Rule 577: type_id_inTemplate ::= type_specifier_seq_inTemplate - // - case 577: { - action.consumeTypeId(false); - break; - } - - // - // Rule 578: type_id_inTemplate ::= type_specifier_seq_inTemplate abstract_declarator - // - case 578: { - action.consumeTypeId(true); - break; - } - - // - // Rule 579: template_argument ::= assignment_expression_inTemplate - // - case 579: { - action.consumeTemplateArgumentExpression(); - break; - } - - // - // Rule 580: template_argument ::= type_id_inTemplate - // - case 580: { - action.consumeTemplateArgumentTypeId(); - break; - } - - // - // Rule 581: explicit_instantiation ::= template declaration - // - case 581: { - action.consumeTemplateExplicitInstantiation(); - break; - } - - // - // Rule 582: explicit_specialization ::= template < > declaration - // - case 582: { - action.consumeTemplateExplicitSpecialization(); - break; - } - - // - // Rule 583: try_block ::= try compound_statement handler_seq - // - case 583: { - action.consumeStatementTryBlock(true); - break; - } - - // - // Rule 584: try_block ::= try compound_statement - // - case 584: { - action.consumeStatementTryBlock(false); - break; - } - - // - // Rule 587: handler ::= catch ( exception_declaration ) compound_statement - // - case 587: { - action.consumeStatementCatchHandler(false); - break; - } - - // - // Rule 588: handler ::= catch ( ... ) compound_statement - // - case 588: { - action.consumeStatementCatchHandler(true); - break; - } - - // - // Rule 589: exception_declaration ::= type_specifier_seq declarator - // - case 589: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 590: exception_declaration ::= type_specifier_seq abstract_declarator - // - case 590: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 591: exception_declaration ::= type_specifier_seq - // - case 591: { - action.consumeDeclarationSimple(false); - break; - } - - // - // Rule 593: exception_specification ::= throw ( ) - // - case 593: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 599: expression_parser_start ::= ERROR_TOKEN - // - case 599: { - action.consumeEmpty(); - break; - } - - default: - break; - } - return; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java deleted file mode 100644 index 6cc83c0b10b..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java +++ /dev/null @@ -1,1555 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CPPExpressionParsersym { - - 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 }; - } - - 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, 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, 5, 6, 4, 1, 3, 1, 0, 1, 1, 2, 1, 1, 3, 1, 3, 1, 1, 1, 1, 3, 9, 2, 2, 3, 2, 5, 3, 7, 0, 1, 2, 2, 1, 0, - 1, 1, 1, 3, 1, 2, 1, 1, 2, 3, 1, 1, 1, 3, 2, 1, 2, 2, 9, 8, 2, 1, 3, 1, 3, 1, 0, 1, 0, 2, 1, 1, 3, 1, 3, - 2, 1, 5, 8, 1, 2, 3, 1, 1, 7, 6, 3, 0, 0, 1, 3, 1, 1, 5, 6, 6, 7, 7, 0, 0, 1, 0, 1, 1, 1, 2, 4, 2, 2, 1, - 5, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, 1, 3, 1, 1, 2, 3, 2, 1, 2, 2, 1, 0, 1, 3, 3, 5, 5, 4, 1, 1, 1, 1, 0, 1, - 5, 2, 2, 1, 2, 2, 1, 0, 1, 3, 4, 3, 1, 1, 5, 2, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 7, 1, 0, 1, 3, 1, 1, 2, 4, 2, 4, 7, - 9, 5, 1, 3, 1, 0, 1, 1, 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, -62, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -122, -65, 0, -4, 0, 0, 0, 0, 0, -54, 0, 0, -48, 0, 0, -5, -10, 0, -6, 0, - 0, -117, -137, -119, 0, 0, -365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -313, 0, 0, 0, -183, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -73, -120, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -59, 0, 0, -470, 0, 0, 0, 0, -217, 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, -267, -430, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -262, 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, -53, 0, -439, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -285, 0, -129, 0, 0, -281, 0, 0, 0, 0, -455, 0, 0, 0, 0, 0, -373, 0, 0, 0, 0, 0, 0, 0, - -116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -369, 0, 0, 0, -508, - 0, 0, 0, 0, 0, 0, -311, 0, 0, -539, 0, 0, 0, 0, -130, 0, -127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -343, 0, 0, 0, 0, -462, 0, 0, 0, 0, 0, 0, -131, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -213, 0, -463, 0, 0, 0, 0, - 0, 0, -58, 0, 0, 0, -417, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, -8, 0, -529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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, -144, 0, 0, - -150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9, -421, 0, 0, 0, -474, 0, 0, 0, 0, 0, -138, 0, -407, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -71, 0, 0, 0, 0, -154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -106, 0, 0, 0, 0, - -268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -315, 0, 0, 0, -64, 0, 0, 0, 0, - 0, 0, -347, 0, 0, 0, 0, -573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -49, -11, 0, -12, 0, 0, 0, 0, 0, 0, 0, 0, -13, 0, 0, 0, -179, 0, 0, 0, -597, 0, 0, 0, 0, -334, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, 0, 0, 0, -284, 0, 0, 0, 0, 0, 0, -51, - 0, 0, 0, -50, 0, -15, 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, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -142, 0, 0, 0, 0, -200, 0, 0, 0, 0, -29, - -3, 0, 0, 0, 0, -321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -57, -30, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -387, 0, 0, -271, 0, 0, 0, 0, -148, -135, 0, 0, 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, -121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -331, 0, 0, 0, 0, -207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -60, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -263, 0, 0, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -222, 0, 0, 0, - -377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -146, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -31, 0, 0, 0, -328, 0, 0, -378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -524, 0, 0, -390, 0, 0, 0, 0, 0, -359, 0, 0, -32, 0, 0, -266, 0, 0, - 0, 0, -39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -145, -318, 0, - 0, 0, 0, 0, 0, 0, -33, 0, 0, -34, 0, 0, -264, -237, 0, 0, 0, 0, 0, -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, -503, 0, 0, 0, 0, 0, 0, 0, 0, -588, 0, 0, -423, 0, 0, -275, - 0, 0, 0, 0, 0, -35, 0, -94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -449, 0, 0, 0, 0, -199, 0, 0, 0, 0, 0, 0, -36, 0, 0, -495, 0, 0, 0, 0, -95, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -201, 0, -37, 0, 0, 0, 0, 0, 0, 0, 0, -38, 0, - 0, -282, 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, 0, 0, 0, 0, - 0, -362, 0, -40, 0, 0, 0, 0, 0, -404, 0, 0, -55, 0, 0, -497, 0, 0, 0, 0, -97, 0, 0, 0, 0, -56, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -355, 0, 0, 0, -425, 0, 0, 0, 0, 0, - -531, 0, 0, 0, 0, -98, 0, 0, 0, 0, -415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -66, 0, -445, 0, 0, 0, 0, 0, 0, 0, 0, 0, -532, 0, 0, 0, 0, -99, 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, -459, 0, -67, 0, 0, 0, 0, 0, -464, 0, 0, 0, 0, 0, - -288, 0, 0, 0, 0, -100, 0, 0, 0, 0, -452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -477, 0, 0, -69, 0, -472, 0, 0, 0, 0, 0, 0, 0, 0, 0, -289, 0, 0, 0, 0, -101, 0, 0, 0, 0, -478, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -558, -473, 0, -70, 0, 0, 0, 0, 0, -481, 0, 0, 0, - 0, 0, -329, 0, 0, 0, 0, -102, 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, -197, 0, 0, -110, 0, 0, 0, 0, 0, -506, 0, 0, 0, 0, 0, -341, 0, 0, 0, 0, -103, 0, 0, 0, 0, -111, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -211, 0, 0, 0, 0, 0, 0, 0, 0, -112, 0, 0, 0, - 0, 0, -371, 0, 0, 0, 0, -104, 0, 0, 0, 0, -132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -370, -485, 0, 0, 0, 0, 0, 0, 0, -517, 0, 0, 0, 0, 0, -203, 0, 0, 0, 0, -224, 0, 0, 0, 0, -139, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -113, 0, -322, 0, 0, 0, -526, 0, 0, - -402, 0, 0, -380, 0, 0, 0, 0, -248, 0, 0, 0, 0, -140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -141, -505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14, 0, -118, 0, -155, 0, -432, 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, -286, -107, 0, 0, 0, -156, -433, -335, 0, -411, 0, 0, 0, -157, 0, 0, 0, -194, 0, - -231, 0, 0, 0, 0, 0, -437, 0, 0, 0, -482, -412, 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, -108, 0, 0, -114, 0, 0, 0, -158, 0, 0, -274, 0, 0, 0, - 0, 0, 0, -159, 0, 0, 0, 0, 0, 0, 0, 0, 0, -589, 0, -160, 0, 0, -356, 0, 0, 0, 0, 0, 0, -251, 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, -566, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -161, 0, 0, 0, -162, 0, -163, 0, -164, 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, -165, 0, 0, -392, 0, 0, 0, 0, - 0, -216, 0, 0, 0, -166, 0, 0, 0, -43, 0, -167, 0, -442, 0, -325, 0, 0, 0, 0, 0, -494, 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, -168, -149, - 0, 0, -72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -446, 0, 0, 0, -352, 0, 0, -465, -169, 0, 0, 0, 0, 0, 0, - 0, -170, 0, 0, 0, 0, 0, -254, 0, 0, 0, 0, -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -209, 0, -152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -466, -272, 0, -171, 0, 0, 0, -596, 0, -358, - 0, -310, 0, -172, 0, 0, 0, -173, 0, 0, 0, 0, 0, -255, 0, 0, 0, 0, -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, -147, 0, 0, 0, -223, 0, 0, 0, 0, 0, 0, -276, 0, 0, 0, 0, -174, 0, - -357, -323, -175, -512, -324, 0, 0, 0, 0, 0, 0, -376, -391, 0, 0, 0, 0, 0, -256, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -176, 0, -395, 0, 0, 0, -528, 0, 0, 0, 0, 0, 0, - -283, -177, 0, 0, 0, -180, 0, -413, -574, 0, 0, 0, 0, -184, 0, 0, 0, -394, -572, -185, 0, 0, 0, 0, 0, - -257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -290, 0, 0, -435, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -326, -381, 0, -44, 0, 0, 0, 0, 0, -186, -330, -187, 0, -123, 0, 0, 0, -420, - 0, -188, 0, 0, 0, 0, 0, -258, 0, 0, 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, -294, 0, 0, -342, -363, 0, 0, 0, 0, 0, -414, 0, -45, 0, -125, 0, -190, 0, -191, 0, - -192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -291, -292, 0, 0, 0, 0, 0, 0, -193, 0, -535, -367, -196, -346, -204, -134, 0, 0, - 0, 0, 0, -205, 0, 0, 0, -208, 0, 0, 0, -542, 0, 0, 0, -397, 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, -368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -219, 0, 0, - 0, -229, 0, -293, 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, 0, -230, 0, 0, -527, 0, 0, 0, -238, 0, 0, -340, 0, 0, -405, 0, 0, 0, 0, -559, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -269, 0, 0, 0, -277, 0, 0, 0, -424, 0, 0, -379, 0, 0, -501, - -385, 0, 0, -61, -393, 0, -279, -586, 0, 0, -220, 0, 0, 0, -416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -440, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -327, 0, -602, 0, 0, 0, 0, 0, -287, - 0, 0, -298, 0, 0, -299, -300, 0, 0, 0, 0, 0, 0, 0, 0, -301, -302, -540, -350, 0, -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, -232, 0, -538, -303, 0, -585, 0, 0, 0, 0, 0, - 0, -351, 0, 0, -515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -304, 0, -305, 0, -306, 0, 0, 0, 0, 0, 0, -399, 0, 0, -233, -401, 0, -418, -427, -451, 0, -307, 0, 0, 0, - -308, 0, 0, 0, -309, -18, 0, 0, 0, 0, -260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -476, -353, 0, -280, -1, 0, 0, 0, 0, 0, 0, 0, -314, 0, -316, -317, 0, 0, -480, 0, - 0, 0, 0, 0, -489, 0, -553, 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, 0, 0, 0, 0, -492, -332, -554, 0, 0, 0, 0, 0, 0, -382, 0, -247, 0, 0, 0, 0, -422, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -434, 0, -534, 0, -537, 0, 0, 0, 0, 0, -556, - -560, -333, -344, -569, 0, 0, -561, 0, 0, 0, 0, 0, 0, -348, -349, 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, -360, -361, -366, 0, -374, 0, 0, 0, -245, 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, -375, -386, -406, 0, -577, - -372, 0, -339, 0, 0, -408, 0, 0, -428, -431, -444, -457, -581, 0, -458, 0, -460, -461, -467, -469, -475, - 0, -484, 0, -92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -530, 0, 0, -246, 0, 0, 0, 0, -533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -483, -490, -491, 0, -514, -516, -518, 0, -594, -601, -519, -520, -521, -523, -541, -543, -544, 0, 0, - 0, -88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -546, -551, - 0, 0, 0, -242, 0, 0, 0, 0, -536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -555, -562, -570, -579, -587, -592, 0, -603, 0, 0, 0, 0, 0, 0, 0, 0, 0, -565, 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, -567, -571, 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, -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, -456, 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, -575, 0, 0, 0, 0, -136, 0, 0, - -525, -576, 0, -182, -74, 0, 0, -105, 0, 0, 0, 0, 0, 0, -595, 0, 0, 0, 0, -338, 0, -234, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -235, 0, 0, 0, 0, 0, 0, -82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -83, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -239, 0, 0, 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, -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, -278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -297, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -337, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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, 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, -198, 0, 0, 0, 0, 0, -295, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -206, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -388, -47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -593, 0, -265, -225, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, -128, 0, 0, 0, 0, 0, 0, -143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -568, 0, 0, 0, 0, 0, 0, 0, 0, 0, -151, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -513, 0, - -500, 0, 0, 0, 0, 0, 0, 0, 0, 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, -227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -590, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -496, 0, 0, 0, 0, 0, -509, 0, 0, - 0, 0, 0, 0, 0, -384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -79, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -522, -270, 0, 0, 0, 0, 0, -410, 0, 0, -228, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -545, 0, -550, 0, 0, 0, 0, 0, -273, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -547, 0, 0, 0, 0, 0, 0, 0, -336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -409, 0, 0, 0, 0, 0, -345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -563, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -419, 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, -17, 0, 0, 0, 0, 0, -46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -468, 0, 0, 0, 0, 0, -584, - -195, 0, 0, 0, 0, 0, 0, -471, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -599, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -604, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -202, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -181, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -498, 0, 0, 0, 0, 0, 0, -20, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -21, 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, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -24, 0, 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, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, -63, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -133, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -426, -499, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -215, -454, 0, 0, 0, 0, 0, 0, 0, 0, -507, 0, 0, 0, -502, 0, 0, 0, 0, 0, 0, - 0, 0, -212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -510, 0, 0, 0, 0, 0, 0, 0, 0, 0, -126, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -42, 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, -443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -236, 0, 0, 0, 0, 0, -398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -429, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -479, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -488, 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, -549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -312, 0, 0, 0, 0, 0, 0, - -511, 0, 0, 0, 0, 0, 0, -557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -552, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[index]; - } - - public interface BaseAction { - public final static char baseAction[] = { 191, 5, 154, 94, 94, 30, 30, 81, 81, 39, 39, 42, 42, 218, 1, 1, 16, - 16, 16, 16, 16, 16, 16, 17, 17, 17, 15, 11, 11, 6, 6, 6, 6, 6, 6, 2, 75, 75, 4, 4, 12, 12, 44, 44, 155, - 155, 156, 67, 67, 43, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 157, 157, 157, 131, 131, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 192, 192, 193, 193, - 194, 160, 160, 161, 161, 158, 158, 162, 159, 159, 21, 21, 22, 22, 23, 23, 23, 24, 24, 24, 24, 25, 25, - 25, 26, 26, 26, 31, 31, 31, 31, 31, 33, 33, 33, 34, 34, 35, 35, 37, 37, 38, 38, 40, 40, 41, 41, 45, 45, - 45, 45, 45, 47, 47, 47, 53, 53, 55, 55, 61, 61, 62, 62, 63, 63, 64, 64, 65, 65, 65, 65, 65, 65, 65, 65, - 65, 65, 65, 65, 65, 29, 29, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 36, 28, 163, 163, 105, - 105, 195, 195, 104, 219, 219, 82, 82, 82, 82, 82, 82, 82, 82, 82, 83, 83, 83, 79, 79, 66, 66, 196, 196, - 84, 84, 84, 116, 116, 197, 197, 85, 85, 85, 85, 198, 198, 86, 86, 86, 86, 86, 87, 87, 95, 95, 95, 95, - 95, 95, 95, 95, 56, 56, 56, 56, 56, 132, 132, 130, 130, 57, 199, 27, 27, 27, 27, 27, 50, 50, 69, 69, 69, - 69, 69, 137, 137, 133, 133, 133, 133, 133, 134, 134, 134, 135, 135, 135, 136, 136, 136, 165, 165, 165, - 70, 70, 70, 70, 70, 71, 71, 71, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 106, 138, 138, 138, 138, - 138, 138, 111, 111, 111, 166, 167, 167, 112, 112, 200, 169, 169, 168, 168, 139, 139, 117, 92, 92, 140, - 59, 49, 170, 170, 60, 58, 97, 97, 171, 171, 164, 164, 141, 142, 142, 143, 89, 89, 172, 172, 77, 77, 77, - 73, 73, 72, 78, 78, 80, 80, 68, 68, 68, 54, 98, 98, 108, 107, 107, 51, 51, 74, 74, 76, 76, 52, 109, 109, - 109, 99, 99, 99, 100, 100, 101, 101, 101, 102, 102, 118, 118, 118, 120, 120, 119, 119, 220, 220, 103, - 103, 202, 202, 202, 202, 202, 145, 48, 48, 174, 201, 201, 146, 146, 147, 147, 147, 148, 176, 203, 203, - 32, 32, 110, 114, 114, 114, 114, 205, 122, 121, 121, 113, 113, 113, 177, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 207, 207, 204, 204, 206, 206, 179, 180, 180, 180, 180, 181, 208, 124, 123, 123, - 209, 209, 182, 182, 182, 182, 115, 115, 115, 210, 210, 8, 8, 9, 211, 211, 212, 183, 173, 173, 184, 184, - 185, 186, 186, 7, 7, 10, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 90, 93, 93, 187, 187, 150, 150, 151, 151, 151, 151, 151, 151, 3, 152, 152, 149, - 149, 188, 221, 222, 222, 223, 223, 224, 225, 225, 189, 190, 190, 190, 190, 214, 214, 214, 126, 126, 126, - 126, 126, 127, 128, 128, 125, 125, 96, 91, 88, 88, 175, 175, 129, 129, 215, 215, 215, 153, 153, 144, - 144, 216, 216, 191, 191, 1119, 35, 2221, 2196, 4455, 1355, 27, 30, 31, 1162, 1215, 26, 28, 2149, 296, - 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 1938, 1335, 177, 332, 1520, 308, 1625, 1567, - 1704, 2277, 1666, 1713, 2276, 1751, 176, 413, 147, 1273, 1510, 191, 4350, 1508, 1941, 1350, 266, 5173, - 1243, 35, 1153, 32, 4862, 4737, 27, 30, 31, 1162, 1215, 375, 28, 534, 193, 1088, 269, 264, 265, 2905, - 35, 1153, 32, 3328, 600, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, - 1272, 1474, 1301, 2779, 379, 189, 266, 2956, 2683, 2276, 1488, 309, 441, 1396, 1273, 276, 279, 282, 627, - 705, 2277, 368, 3066, 1734, 278, 264, 265, 5007, 1824, 3118, 355, 2291, 357, 810, 389, 350, 1175, 193, - 2237, 650, 1353, 2839, 5932, 285, 1537, 35, 490, 3432, 5166, 2353, 5739, 2301, 2030, 715, 159, 1638, 35, - 1153, 32, 4862, 3838, 27, 30, 31, 1162, 1215, 375, 28, 630, 69, 2897, 2360, 35, 1153, 32, 3328, 5363, - 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, - 1659, 1818, 162, 1492, 35, 3563, 32, 4862, 4737, 27, 30, 31, 1162, 1215, 375, 28, 2592, 1508, 2773, - 1818, 2837, 5173, 2555, 35, 312, 3327, 2835, 2593, 2878, 352, 3520, 357, 6140, 2929, 2845, 2899, 2901, - 161, 579, 4270, 1847, 2360, 35, 1153, 32, 3328, 5363, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, - 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 2634, 3379, 162, 2956, 71, 35, 330, 355, 2291, 357, - 2702, 2489, 350, 1175, 71, 35, 330, 2957, 2773, 1818, 2837, 1537, 35, 314, 1050, 5330, 2835, 535, 2878, - 2045, 550, 576, 3889, 580, 2845, 2899, 2901, 161, 579, 467, 1912, 35, 1153, 32, 6094, 497, 27, 30, 31, - 1162, 1215, 26, 28, 2627, 2765, 548, 93, 2903, 759, 35, 433, 2887, 483, 3576, 3577, 2360, 35, 1153, 32, - 3328, 5363, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, - 1301, 2779, 426, 2413, 162, 759, 35, 433, 550, 576, 3889, 580, 71, 1939, 2102, 34, 71, 3522, 1166, 94, - 2773, 2046, 2837, 496, 455, 456, 3555, 2224, 2835, 1488, 2878, 3225, 2952, 427, 464, 2903, 2845, 2899, - 2901, 161, 579, 3478, 1820, 2570, 35, 1153, 32, 3328, 5363, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, - 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 1818, 2630, 162, 1729, 35, 1153, 32, 6094, - 2683, 27, 30, 31, 1162, 1215, 59, 28, 2369, 2627, 2773, 3646, 2837, 71, 35, 1892, 425, 3471, 2835, 2532, - 2878, 2702, 550, 576, 3889, 580, 2845, 2899, 2901, 161, 579, 1543, 35, 1153, 32, 4476, 1818, 27, 30, 31, - 1162, 1215, 57, 28, 88, 468, 2965, 102, 3647, 2903, 3327, 35, 1153, 32, 3328, 843, 27, 30, 31, 1162, - 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 325, 1229, 35, 330, - 1520, 1520, 1625, 1567, 1704, 5762, 1666, 2647, 1365, 551, 576, 3889, 580, 2708, 35, 1153, 32, 3328, - 390, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, - 1564, 56, 1400, 177, 2736, 1520, 766, 1625, 1567, 1704, 51, 1666, 1713, 2738, 1751, 176, 3465, 71, 35, - 3059, 415, 2428, 35, 1153, 32, 3328, 2670, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, - 106, 76, 77, 108, 1272, 1474, 1301, 1564, 89, 1213, 177, 102, 1520, 2600, 1625, 1567, 1704, 2705, 1666, - 1713, 1647, 1751, 176, 3465, 56, 648, 2765, 415, 61, 834, 2638, 35, 1153, 32, 3328, 1517, 27, 30, 31, - 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 3735, 2639, - 177, 70, 1520, 3201, 1625, 1567, 1704, 360, 1666, 1713, 458, 1751, 176, 3465, 1537, 35, 314, 415, 5842, - 1405, 1315, 422, 416, 3257, 1239, 2973, 35, 1153, 32, 3328, 159, 27, 30, 31, 1162, 1215, 26, 28, 1151, - 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 56, 1449, 177, 1555, 1520, 926, 1625, - 1567, 1704, 2631, 1666, 1713, 2600, 1751, 176, 1488, 423, 416, 3257, 191, 1595, 2852, 35, 1153, 32, - 3328, 3122, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, - 1301, 1564, 71, 35, 2102, 3026, 1520, 1655, 1625, 1567, 1704, 2826, 1666, 1713, 914, 2969, 197, 3474, - 1702, 413, 416, 3257, 2973, 35, 1153, 32, 3328, 1818, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, - 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 3125, 2277, 177, 1267, 1520, 2955, 1625, 1567, 1704, - 266, 1666, 1713, 69, 1751, 176, 1559, 35, 1153, 32, 409, 363, 41, 30, 31, 1162, 1215, 480, 281, 264, - 265, 1373, 24, 2003, 35, 1892, 425, 2973, 35, 1153, 32, 3328, 630, 27, 30, 31, 1162, 1215, 26, 28, 1151, - 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 56, 308, 177, 365, 1520, 1273, 1625, - 1567, 1704, 362, 1666, 1713, 1038, 1751, 176, 3474, 1233, 42, 3022, 409, 71, 35, 317, 2973, 35, 1153, - 32, 3328, 2658, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, - 1474, 1301, 1564, 71, 3387, 177, 1818, 1520, 408, 1625, 1567, 1704, 241, 1666, 1713, 1338, 1751, 176, - 71, 35, 2176, 1278, 409, 2502, 35, 1153, 32, 3328, 3207, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, - 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 2095, 1501, 177, 72, 1520, 4250, 1625, 1567, - 1704, 55, 1666, 1713, 1662, 1751, 176, 69, 1537, 35, 567, 175, 6161, 407, 2973, 35, 1153, 32, 3328, 379, - 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, - 56, 97, 177, 723, 1520, 1273, 1625, 1567, 1704, 1488, 1666, 1713, 1818, 1751, 176, 71, 35, 2102, 311, - 192, 2641, 65, 405, 2973, 35, 1153, 32, 3328, 3704, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, - 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 1499, 2630, 177, 2977, 1520, 147, 1625, 1567, 1704, - 4731, 1666, 1713, 228, 1751, 176, 71, 35, 1892, 425, 188, 2973, 35, 1153, 32, 3328, 588, 27, 30, 31, - 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 489, 147, - 177, 61, 1520, 4800, 1625, 1567, 1704, 98, 1666, 1713, 1007, 1751, 176, 931, 35, 2102, 311, 187, 2973, - 35, 1153, 32, 3328, 1749, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, - 1272, 1474, 1301, 1564, 2491, 147, 177, 1334, 1520, 4883, 1625, 1567, 1704, 2491, 1666, 1713, 1348, - 1751, 176, 71, 35, 1892, 425, 186, 2973, 35, 1153, 32, 3328, 1847, 27, 30, 31, 1162, 1215, 26, 28, 1151, - 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 471, 439, 177, 392, 1520, 69, 1625, - 1567, 1704, 2178, 1666, 1713, 594, 1751, 176, 71, 35, 1892, 425, 185, 2973, 35, 1153, 32, 3328, 2489, - 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, - 470, 443, 177, 233, 1520, 1915, 1625, 1567, 1704, 5180, 1666, 1713, 3119, 1751, 176, 71, 35, 1892, 425, - 184, 2973, 35, 1153, 32, 3328, 2489, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, - 76, 77, 108, 1272, 1474, 1301, 1564, 469, 147, 177, 2795, 1520, 5312, 1625, 1567, 1704, 2178, 1666, - 1713, 321, 1751, 176, 71, 3485, 2102, 74, 183, 2973, 35, 1153, 32, 3328, 2489, 27, 30, 31, 1162, 1215, - 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 1499, 335, 177, 1361, - 1520, 147, 1625, 1567, 1704, 5428, 1666, 1713, 322, 1751, 176, 931, 35, 2102, 3486, 182, 2973, 35, 1153, - 32, 3328, 2489, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, - 1474, 1301, 1564, 1499, 147, 177, 1482, 1520, 5808, 1625, 1567, 1704, 2178, 1666, 1713, 332, 1751, 176, - 71, 35, 2102, 313, 181, 2973, 35, 1153, 32, 3328, 1413, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, - 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 56, 255, 177, 1934, 1520, 4369, 1625, 1567, - 1704, 2178, 1666, 1713, 331, 1751, 176, 71, 35, 2102, 3554, 180, 2973, 35, 1153, 32, 3328, 2112, 27, 30, - 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 56, 339, - 177, 391, 1520, 3364, 1625, 1567, 1704, 2132, 1666, 1713, 594, 1751, 176, 71, 35, 2102, 316, 179, 2973, - 35, 1153, 32, 3328, 2831, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, - 1272, 1474, 1301, 1564, 2634, 147, 177, 359, 1520, 5829, 1625, 1567, 1704, 2178, 1666, 1713, 594, 1751, - 176, 71, 35, 1892, 425, 178, 2973, 35, 1153, 32, 3328, 1832, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, - 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 308, 212, 177, 1104, 1520, 3002, 1625, 1567, - 1704, 2178, 1666, 1713, 2934, 1751, 176, 71, 35, 1892, 425, 140, 3094, 35, 1153, 32, 3328, 3785, 27, 30, - 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 308, 232, - 162, 3724, 1243, 35, 1153, 32, 4862, 4737, 27, 30, 31, 1162, 1215, 375, 28, 2734, 2773, 1257, 2837, - 2008, 4250, 1229, 3572, 330, 2835, 310, 2878, 428, 464, 1348, 273, 296, 2845, 2899, 2901, 161, 173, - 3094, 35, 1153, 32, 3328, 379, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, - 108, 1272, 1474, 1301, 2779, 2623, 2277, 162, 1209, 266, 2084, 2789, 2701, 376, 2634, 355, 2291, 357, - 1423, 3010, 350, 1175, 1815, 2773, 3847, 2837, 5173, 274, 264, 265, 1488, 2835, 349, 2878, 2322, 2634, - 69, 273, 296, 2845, 2899, 2901, 161, 172, 3094, 35, 1153, 32, 3328, 1166, 27, 30, 31, 1162, 1215, 26, - 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 2277, 2630, 162, 2277, 266, - 2956, 2309, 1645, 1517, 3125, 2456, 35, 312, 343, 346, 2313, 484, 1653, 2773, 369, 2837, 361, 274, 264, - 265, 412, 2835, 1488, 2878, 227, 68, 2639, 2007, 53, 2845, 2899, 2901, 161, 171, 3094, 35, 1153, 32, - 3328, 2934, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, - 1301, 2779, 430, 464, 162, 2630, 1243, 35, 1153, 32, 4862, 4737, 27, 30, 31, 1162, 1215, 375, 28, 2777, - 2773, 1998, 2837, 429, 464, 44, 3022, 399, 2835, 587, 2878, 415, 479, 417, 493, 2417, 2845, 2899, 2901, - 161, 170, 3094, 35, 1153, 32, 3328, 1749, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, - 106, 76, 77, 108, 1272, 1474, 1301, 2779, 2420, 410, 162, 71, 35, 2102, 566, 364, 371, 56, 355, 2291, - 357, 495, 1202, 350, 1175, 56, 2773, 2874, 2837, 2345, 4250, 2693, 35, 315, 2835, 3731, 2878, 2171, 35, - 490, 348, 5166, 2845, 2899, 2901, 161, 169, 3094, 35, 1153, 32, 3328, 379, 27, 30, 31, 1162, 1215, 26, - 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 3001, 2277, 162, 3118, 2215, - 35, 1153, 32, 4476, 3327, 27, 30, 31, 1162, 1215, 56, 28, 1556, 2773, 2572, 2837, 2731, 35, 565, 1488, - 405, 2835, 2008, 2878, 484, 2683, 87, 2092, 1917, 2845, 2899, 2901, 161, 168, 3094, 35, 1153, 32, 3328, - 2277, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, - 2779, 2630, 2277, 162, 1729, 35, 1153, 32, 6094, 52, 27, 30, 31, 1162, 1215, 58, 28, 2626, 56, 2773, - 572, 2837, 4447, 3199, 319, 412, 1488, 2835, 56, 2878, 1752, 2485, 386, 2382, 1929, 2845, 2899, 2901, - 161, 167, 3094, 35, 1153, 32, 3328, 2277, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, - 106, 76, 77, 108, 1272, 1474, 1301, 2779, 475, 3156, 162, 1994, 35, 1153, 32, 2524, 90, 40, 30, 31, - 1162, 1215, 2277, 487, 3576, 3577, 2773, 2185, 2837, 1335, 56, 2353, 1728, 56, 2835, 861, 2878, 60, - 2124, 215, 2007, 1365, 2845, 2899, 2901, 161, 166, 3094, 35, 1153, 32, 3328, 2836, 27, 30, 31, 1162, - 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 3423, 2418, 162, - 1994, 35, 1153, 32, 71, 3728, 1804, 30, 31, 1162, 1215, 2277, 2450, 2683, 2777, 2773, 2496, 2837, 1734, - 759, 35, 433, 5007, 2835, 1867, 2878, 1984, 2749, 2007, 1728, 571, 2845, 2899, 2901, 161, 165, 3094, 35, - 1153, 32, 3328, 2886, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, - 1272, 1474, 1301, 2779, 2277, 418, 162, 1994, 35, 1153, 32, 3315, 371, 1898, 30, 31, 1162, 1215, 56, - 2762, 2777, 56, 2773, 3558, 2837, 585, 4250, 2268, 56, 581, 2835, 1833, 2878, 2712, 67, 2007, 71, 753, - 2845, 2899, 2901, 161, 164, 3094, 35, 1153, 32, 3328, 379, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, - 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 491, 2973, 162, 3118, 1847, 2276, 370, 371, - 56, 2661, 1273, 3732, 266, 1312, 2183, 2929, 2777, 56, 2773, 1922, 2837, 2006, 4250, 1657, 2683, 1019, - 2835, 2033, 2878, 585, 284, 264, 265, 193, 2845, 2899, 2901, 161, 163, 3154, 35, 1153, 32, 3328, 379, - 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, - 2277, 2277, 162, 3118, 266, 466, 3317, 371, 2533, 3260, 2489, 56, 1248, 1904, 2914, 1508, 2293, 5173, - 2773, 5173, 2837, 2534, 287, 264, 265, 744, 2835, 2055, 2878, 2280, 66, 65, 3568, 1488, 2845, 2899, - 2901, 161, 160, 3214, 35, 1153, 32, 3328, 3226, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, - 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 56, 2956, 177, 2956, 1520, 2314, 1625, 1567, 1704, 3316, - 1666, 1713, 835, 1751, 176, 2957, 2492, 368, 2277, 222, 3327, 35, 1153, 32, 3328, 340, 27, 30, 31, 1162, - 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 4312, 64, 2564, - 1867, 1520, 2178, 1625, 1567, 1704, 3062, 1666, 1713, 2277, 2969, 197, 3327, 35, 1153, 32, 3328, 2489, - 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, - 3115, 1486, 231, 586, 1520, 2290, 1625, 1567, 1704, 2007, 1666, 1713, 56, 2969, 197, 2007, 56, 4991, 96, - 3766, 56, 2843, 2018, 2490, 2959, 3108, 71, 35, 1892, 425, 3327, 35, 1153, 32, 3328, 1616, 27, 30, 31, - 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 56, 49, 419, - 2777, 1520, 5807, 1625, 1567, 1704, 2777, 1666, 1713, 46, 2969, 197, 3327, 35, 1153, 32, 3328, 460, 27, - 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 388, - 1851, 3522, 319, 1520, 2637, 1625, 1567, 1704, 1011, 1666, 1713, 589, 2969, 197, 743, 915, 366, 371, - 380, 1048, 649, 385, 3463, 371, 925, 2045, 2178, 2277, 378, 3327, 35, 1153, 32, 3328, 329, 27, 30, 31, - 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 2011, 55, - 1488, 2542, 1520, 2818, 1625, 1567, 1704, 338, 1666, 1713, 2277, 2969, 197, 3486, 35, 1153, 32, 3328, - 459, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, - 1564, 54, 577, 3472, 2486, 1520, 2179, 1625, 1567, 1704, 266, 1666, 1713, 56, 2969, 197, 2092, 56, 3461, - 56, 56, 56, 2394, 2494, 1654, 5820, 1936, 2389, 278, 264, 265, 757, 1673, 35, 1892, 425, 462, 3433, 35, - 1153, 32, 3328, 324, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, - 1272, 1474, 1301, 2779, 49, 56, 2010, 266, 2594, 2292, 3114, 826, 3553, 4250, 1273, 1845, 628, 2528, - 3694, 2878, 2945, 417, 2773, 56, 2837, 281, 264, 265, 5833, 56, 2835, 2178, 2878, 586, 4674, 4166, 143, - 189, 2845, 3323, 3327, 35, 1153, 32, 3328, 598, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, - 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 56, 2595, 2178, 235, 1520, 2704, 1625, 1567, 1704, 2277, - 2633, 3380, 35, 1153, 32, 3328, 2277, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, - 76, 77, 108, 1272, 1474, 1301, 2779, 2822, 358, 56, 233, 56, 4250, 396, 1983, 101, 3077, 2669, 56, 2601, - 2706, 56, 2778, 1123, 2178, 2773, 5129, 2837, 3069, 3104, 3121, 3003, 1663, 2835, 4166, 2878, 3327, 35, - 1153, 32, 3328, 3302, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, - 1272, 1474, 1301, 1564, 334, 2628, 3004, 2664, 1520, 2633, 1625, 1567, 2573, 3380, 35, 1153, 32, 3328, - 2277, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, - 2779, 2960, 2778, 2995, 605, 2927, 1851, 3522, 2566, 3361, 4598, 2959, 542, 4250, 1216, 2793, 2961, - 1218, 2178, 2773, 3064, 2837, 1292, 3006, 3059, 2881, 2962, 2835, 2277, 3298, 3327, 35, 1153, 32, 3328, - 4166, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, - 1564, 4367, 2039, 539, 541, 1520, 2277, 1625, 2581, 3380, 35, 1153, 32, 3328, 2416, 27, 30, 31, 1162, - 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 488, 3117, 3124, - 3176, 3574, 3092, 3183, 87, 592, 2178, 2178, 3086, 3118, 3119, 3120, 1362, 3147, 173, 2773, 397, 2837, - 3327, 35, 1153, 32, 3328, 3300, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, - 77, 108, 1272, 1474, 1301, 1564, 256, 226, 3212, 2998, 1520, 324, 2495, 3380, 35, 1153, 32, 3328, 2277, - 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, - 2893, 3553, 3177, 1637, 3178, 3236, 3237, 2966, 414, 2958, 6862, 6862, 6862, 6862, 6862, 6862, 6862, - 6862, 2773, 2277, 3223, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, - 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 6862, 4978, 2277, 2277, 2501, 3327, 35, 1153, - 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, - 1474, 1301, 1564, 5040, 5172, 6862, 6862, 2548, 3380, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, - 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 1258, 35, 1153, 32, 4945, - 4737, 27, 30, 31, 1162, 1215, 375, 28, 3380, 35, 1153, 32, 3328, 3224, 27, 30, 31, 1162, 1215, 26, 28, - 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 2277, 6862, 6862, 6862, 6862, - 2776, 6862, 6862, 2180, 2277, 6187, 2023, 56, 1273, 2956, 56, 2959, 1273, 3258, 6862, 1273, 6862, 2277, - 6862, 6862, 6862, 6862, 1508, 368, 2181, 1613, 5173, 355, 2291, 357, 387, 189, 350, 1175, 2377, 189, - 6862, 6862, 189, 3425, 6862, 2783, 234, 1065, 349, 6862, 2643, 3654, 3327, 35, 1153, 32, 3328, 5415, 27, - 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2379, 266, - 2956, 6862, 6862, 6862, 388, 6862, 6862, 2277, 6862, 6862, 388, 6862, 6862, 6862, 368, 6862, 266, 284, - 264, 265, 342, 346, 2313, 380, 1048, 649, 385, 6862, 6862, 380, 1048, 649, 385, 2615, 570, 264, 265, - 5301, 6862, 578, 6862, 6862, 6862, 1992, 4682, 3327, 35, 1153, 32, 3328, 3645, 27, 30, 31, 1162, 1215, - 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2441, 3327, 35, 1153, 32, 3328, - 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, - 2445, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, - 76, 77, 108, 1272, 1474, 1301, 2447, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, - 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 3210, 3327, 35, 1153, 32, 3328, 6862, - 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 3213, - 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, - 77, 108, 1272, 1474, 1301, 3214, 1339, 35, 1153, 32, 4862, 3905, 27, 30, 31, 1162, 1215, 375, 28, 3327, - 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, - 1272, 1474, 1301, 3362, 3759, 35, 1153, 32, 4862, 6219, 27, 30, 31, 1162, 1215, 375, 28, 6862, 1220, 35, - 3563, 32, 4945, 4737, 27, 30, 31, 1162, 1215, 375, 28, 6862, 6862, 6862, 387, 6862, 355, 2291, 357, - 6862, 6862, 350, 1175, 6862, 388, 6862, 6862, 6862, 3539, 35, 1892, 425, 4448, 3473, 6862, 6862, 6862, - 6862, 6862, 6862, 6862, 271, 296, 380, 1048, 649, 385, 6862, 759, 35, 3100, 1084, 2956, 3424, 2276, - 6862, 355, 2291, 357, 1273, 308, 350, 1175, 6862, 388, 6862, 368, 6862, 6862, 6862, 355, 2291, 357, - 3432, 6862, 350, 1175, 6862, 6862, 266, 49, 6862, 193, 380, 1048, 649, 385, 1050, 6862, 6862, 2126, - 1845, 1523, 2615, 5173, 6862, 5415, 269, 264, 265, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, - 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 2449, 6862, 2276, 71, 35, 1892, - 425, 1273, 6862, 309, 6862, 6862, 6862, 276, 279, 282, 627, 705, 6862, 2956, 3508, 402, 1179, 56, 6862, - 1273, 6267, 4250, 1273, 6862, 193, 6862, 6862, 369, 3267, 49, 2237, 650, 1353, 2839, 5932, 285, 6862, - 6862, 749, 388, 1845, 2174, 189, 262, 6862, 189, 454, 456, 3555, 6862, 195, 6862, 6862, 2812, 6862, - 6862, 6862, 6862, 382, 1048, 649, 385, 2897, 6862, 668, 444, 6008, 6862, 3327, 35, 1153, 32, 3328, 1757, - 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 2482, 259, - 243, 35, 1892, 425, 600, 6862, 3439, 2027, 35, 1892, 425, 445, 446, 447, 3376, 6862, 6862, 6862, 2182, - 6862, 6862, 6862, 6862, 600, 6862, 6862, 262, 189, 329, 35, 1892, 425, 49, 6862, 6862, 2133, 3373, 6862, - 213, 49, 6862, 2630, 6862, 1845, 2958, 379, 189, 237, 249, 750, 1845, 954, 6862, 6862, 221, 236, 246, - 247, 248, 250, 49, 1, 6862, 2775, 6862, 202, 600, 2139, 4250, 6862, 2420, 1845, 2687, 6862, 2139, 6862, - 6862, 6862, 201, 6862, 6862, 216, 200, 203, 204, 205, 206, 207, 262, 189, 379, 6862, 6862, 593, 6862, - 1427, 56, 2133, 448, 450, 213, 1273, 56, 2630, 6862, 6862, 6862, 1273, 6862, 237, 249, 750, 6862, 6862, - 3966, 3118, 6862, 236, 246, 247, 248, 250, 6862, 6862, 189, 872, 6862, 202, 5192, 6862, 189, 6862, 2944, - 6862, 223, 6862, 6862, 6862, 2945, 596, 201, 6862, 214, 217, 200, 203, 204, 205, 206, 207, 1416, 35, - 1153, 32, 4862, 3905, 27, 30, 31, 1162, 1215, 375, 28, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, - 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 2239, 6862, 6862, 3327, 35, 1153, 32, - 3328, 4509, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 2289, - 3570, 6862, 6862, 6862, 6862, 2276, 6862, 355, 2291, 357, 1273, 2882, 350, 1175, 6862, 388, 4250, 6862, - 6862, 1770, 35, 1153, 32, 4945, 589, 27, 30, 31, 1162, 1215, 375, 28, 6862, 193, 380, 1048, 649, 385, - 4166, 3327, 35, 1153, 32, 3328, 590, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, - 76, 77, 108, 2297, 6862, 3622, 6862, 6862, 345, 329, 35, 1892, 425, 600, 2956, 1508, 6862, 6862, 56, - 5173, 6862, 6862, 6862, 1273, 6862, 6862, 6862, 6862, 369, 6862, 6862, 6862, 355, 2291, 357, 262, 189, - 351, 1175, 6862, 388, 49, 6862, 6862, 2133, 6862, 189, 213, 6862, 6862, 2630, 3614, 1845, 47, 3028, 542, - 237, 249, 750, 382, 1048, 649, 385, 6862, 236, 246, 247, 248, 250, 2956, 431, 6862, 2180, 6862, 202, - 600, 2505, 600, 243, 35, 1892, 425, 6862, 368, 6862, 6862, 6862, 201, 6862, 6862, 3695, 200, 203, 204, - 205, 206, 207, 262, 189, 3475, 189, 6862, 539, 541, 6862, 6862, 2133, 6862, 2133, 213, 49, 213, 2630, - 5985, 6862, 6862, 6862, 6862, 237, 249, 750, 1845, 47, 6862, 6862, 6862, 236, 246, 247, 248, 250, 6862, - 517, 6862, 6862, 6862, 202, 600, 6862, 3659, 243, 35, 1892, 425, 6862, 1478, 6862, 6862, 6862, 201, - 6862, 229, 211, 200, 203, 204, 205, 206, 207, 262, 189, 329, 35, 1892, 425, 6862, 6862, 6862, 2133, - 6862, 6862, 213, 49, 56, 2630, 6862, 6862, 6862, 1273, 6862, 237, 249, 750, 1845, 2827, 6862, 6862, - 6862, 236, 246, 247, 248, 250, 49, 603, 6862, 6862, 6862, 202, 600, 6862, 189, 6862, 6862, 1845, 47, - 6862, 2186, 2822, 3319, 6862, 201, 6862, 4250, 209, 200, 203, 204, 205, 206, 207, 262, 189, 243, 35, - 1892, 425, 6862, 2815, 56, 2133, 6862, 6862, 213, 1273, 4166, 2630, 6862, 6862, 6862, 6862, 2700, 237, - 249, 750, 6862, 4250, 6862, 6862, 6862, 236, 246, 247, 248, 250, 49, 689, 189, 6862, 6862, 202, 600, - 6862, 6862, 6862, 1511, 1845, 2503, 379, 2594, 4466, 230, 6862, 201, 4250, 6862, 210, 200, 203, 204, - 205, 206, 207, 262, 189, 243, 35, 1892, 425, 6862, 2186, 6862, 2133, 3557, 6862, 213, 4166, 56, 2630, - 6862, 6862, 6862, 600, 56, 237, 249, 750, 6862, 4250, 6862, 6862, 542, 236, 246, 247, 248, 250, 49, 775, - 6862, 6862, 6862, 202, 600, 379, 189, 6862, 6862, 1845, 47, 379, 6862, 6862, 1396, 6862, 201, 6862, - 6862, 220, 200, 203, 204, 205, 206, 207, 262, 189, 6862, 6862, 3118, 6862, 6862, 1042, 6862, 2133, 3118, - 6862, 213, 540, 541, 2630, 6862, 6862, 6862, 6862, 6862, 237, 249, 750, 6862, 6862, 6862, 396, 715, 236, - 246, 247, 248, 250, 2086, 6862, 6862, 6862, 6862, 202, 6862, 6862, 3531, 3104, 3121, 6862, 6862, 6862, - 6862, 6862, 6862, 6862, 201, 6862, 6862, 3733, 200, 203, 204, 205, 206, 207, 2382, 35, 1153, 32, 4862, - 4737, 27, 30, 31, 1162, 1215, 375, 28, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, - 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 2357, 243, 35, 1892, 425, 6862, 6862, 861, 71, 35, 1892, - 425, 600, 3887, 6862, 243, 35, 1892, 425, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 1296, 6862, - 6862, 6862, 6267, 4250, 49, 262, 189, 355, 2291, 357, 6862, 49, 350, 1175, 2133, 1845, 47, 213, 49, - 6862, 2630, 6862, 1845, 764, 349, 262, 237, 249, 750, 1845, 47, 6862, 6862, 6862, 236, 246, 247, 248, - 250, 1669, 6862, 6862, 6862, 6862, 202, 947, 668, 444, 6008, 6862, 600, 6862, 6862, 1763, 6862, 6862, - 6862, 201, 6862, 6862, 225, 200, 203, 204, 205, 206, 207, 6862, 6862, 6862, 6862, 6862, 262, 189, 6862, - 6862, 342, 346, 2313, 6862, 56, 2133, 6862, 6862, 213, 1273, 6862, 2630, 445, 446, 447, 3376, 6862, 237, - 249, 750, 6862, 6862, 6862, 3653, 6862, 236, 246, 247, 248, 250, 3645, 1033, 189, 6862, 6862, 202, 600, - 3373, 6862, 6862, 3900, 6862, 2271, 35, 1892, 425, 6862, 6862, 201, 6862, 6862, 219, 200, 203, 204, 205, - 206, 207, 262, 189, 71, 35, 1892, 425, 6862, 6862, 6862, 2133, 6862, 6862, 213, 6862, 6862, 2630, 49, - 6862, 6862, 6862, 6862, 237, 249, 750, 6862, 6862, 6862, 1845, 47, 236, 246, 247, 248, 250, 49, 3638, - 35, 554, 6862, 202, 6862, 448, 451, 6862, 6862, 1845, 2360, 6862, 271, 296, 6862, 865, 201, 6862, 6862, - 228, 200, 203, 204, 205, 206, 207, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, - 296, 25, 23, 50, 1246, 106, 76, 77, 108, 2367, 266, 1385, 35, 1153, 32, 4945, 6862, 27, 30, 31, 1162, - 1215, 375, 28, 243, 35, 1892, 425, 269, 264, 265, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, - 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 85, 6862, 6862, 49, 6862, 6862, 6862, 6862, - 6862, 6862, 6862, 6862, 2956, 6862, 1845, 47, 276, 279, 282, 627, 705, 6862, 6862, 6862, 6862, 6862, - 369, 6862, 6862, 6862, 355, 2291, 357, 6862, 6862, 353, 1175, 6862, 1810, 2303, 3255, 3312, 3907, 6021, - 3327, 1939, 1153, 1986, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, - 76, 77, 84, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, - 106, 76, 77, 83, 6862, 6862, 6862, 6862, 563, 564, 568, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, - 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 82, 3924, 3327, 35, 1153, 32, 3328, 6862, - 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 81, 3327, 35, 1153, 32, 3328, - 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 80, 3327, 35, 1153, 32, - 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 79, 3327, 35, - 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 78, - 3033, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, - 77, 104, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, - 106, 76, 77, 110, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, - 1246, 106, 76, 77, 109, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, - 23, 50, 1246, 106, 76, 77, 107, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, - 296, 25, 23, 50, 1246, 106, 76, 77, 105, 3274, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, - 1151, 296, 25, 23, 50, 1246, 86, 76, 77, 1603, 243, 35, 1892, 425, 4250, 6862, 6862, 6862, 6862, 6862, - 6862, 56, 1870, 6862, 6862, 6862, 4250, 4250, 6862, 6862, 6862, 2459, 35, 1892, 425, 1959, 262, 6862, - 6862, 6862, 4250, 6862, 49, 6862, 71, 35, 1892, 425, 379, 262, 6862, 6862, 6862, 1845, 47, 6862, 6862, - 239, 249, 750, 6862, 6862, 262, 49, 6862, 238, 246, 247, 248, 250, 239, 249, 750, 3118, 1845, 47, 49, - 1857, 238, 246, 247, 248, 250, 239, 249, 750, 6862, 1845, 815, 6862, 6862, 238, 246, 247, 248, 250, - 6862, 2760, 875, 240, 242, 244, 3376, 6862, 251, 241, 243, 6862, 6862, 6862, 6862, 6862, 240, 242, 244, - 3376, 6862, 251, 241, 243, 6862, 6862, 6862, 6862, 56, 240, 242, 244, 3376, 4250, 251, 241, 243, 6862, - 3589, 35, 1892, 425, 4448, 1914, 6862, 6125, 6862, 6862, 6862, 6862, 6862, 272, 296, 6862, 56, 379, - 1961, 6862, 6125, 600, 56, 6862, 6862, 6862, 6862, 600, 6862, 6862, 6862, 2954, 308, 6125, 6862, 6862, - 6862, 6862, 6862, 6862, 6862, 6862, 3118, 379, 189, 6862, 6862, 6862, 6862, 379, 189, 266, 2350, 1385, - 35, 1153, 32, 4945, 1396, 27, 30, 31, 1162, 1215, 375, 28, 546, 6862, 3118, 270, 264, 265, 6862, 6862, - 3118, 6862, 2315, 35, 1153, 32, 4862, 4220, 27, 30, 31, 1162, 1215, 375, 28, 3687, 35, 554, 2285, 6862, - 6862, 2048, 6862, 6862, 2549, 6862, 4250, 6862, 272, 296, 6862, 6862, 309, 2956, 6862, 6862, 277, 280, - 283, 627, 705, 440, 6862, 6862, 6862, 1692, 6862, 369, 262, 6862, 4250, 355, 2291, 357, 6862, 6862, 351, - 1175, 6862, 6862, 6862, 6862, 6862, 6862, 286, 6862, 266, 6862, 6862, 239, 249, 750, 262, 6862, 352, - 3520, 357, 238, 246, 247, 248, 250, 6862, 6862, 270, 264, 265, 6862, 71, 35, 1892, 425, 6862, 239, 249, - 750, 6862, 6862, 6862, 6862, 6862, 238, 246, 247, 248, 250, 6862, 6862, 6862, 6862, 6862, 240, 242, 244, - 3376, 6862, 582, 241, 243, 1781, 49, 6862, 6862, 6862, 4250, 277, 280, 283, 627, 705, 6862, 1845, 628, - 6862, 2137, 240, 242, 244, 3376, 4250, 581, 241, 243, 6862, 56, 6862, 262, 6862, 6862, 600, 6862, 6862, - 6862, 6862, 6862, 71, 35, 1892, 425, 6862, 6862, 262, 6862, 6862, 6862, 6862, 6862, 239, 249, 750, 6862, - 379, 189, 6862, 2887, 238, 246, 247, 248, 250, 221, 2260, 239, 249, 750, 5173, 4250, 49, 6862, 6862, - 238, 246, 247, 248, 250, 2226, 2420, 6862, 1845, 2569, 4250, 6862, 6862, 563, 564, 569, 6862, 6862, - 4166, 240, 242, 244, 3376, 2260, 252, 241, 243, 5173, 4250, 6862, 6862, 6862, 262, 6862, 240, 242, 244, - 3376, 6862, 341, 241, 243, 6862, 6862, 6862, 2956, 6862, 6862, 6862, 6862, 4166, 6862, 56, 239, 249, - 750, 6862, 600, 6862, 368, 6862, 238, 246, 247, 248, 250, 6862, 6862, 6862, 6862, 3745, 71, 35, 1892, - 425, 6862, 6862, 2956, 56, 379, 189, 6862, 6862, 4250, 6862, 56, 6862, 6862, 221, 4312, 4250, 368, 6862, - 6862, 396, 240, 242, 244, 3376, 6862, 536, 241, 243, 49, 2420, 379, 6862, 6862, 56, 2694, 3104, 3121, - 379, 600, 1845, 2701, 6862, 6862, 6862, 6862, 6862, 4682, 6862, 6862, 6862, 6862, 396, 6862, 6862, 6862, - 3118, 6862, 6862, 6862, 6862, 379, 189, 3118, 6862, 6862, 6862, 2694, 3104, 3121, 221, 6862, 6862, 6862, - 6862, 6862, 6862, 6862, 6862, 6862, 544, 6862, 6862, 6862, 6862, 6862, 2420, 597, 6862, 6862, 6862, - 6862, 6862, 6862, 3776, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, - 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, - 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, - 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 3777, 6862, 0, 39, 6877, 0, 39, 6876, 0, 1150, 29, 0, - 477, 1213, 0, 491, 1300, 0, 38, 963, 0, 38, 6877, 0, 38, 6876, 0, 4031, 126, 0, 1, 481, 0, 495, 812, 0, - 494, 880, 0, 1458, 91, 0, 1150, 424, 0, 35, 33, 0, 32, 34, 0, 39, 963, 0, 1, 643, 0, 1, 7169, 0, 1, - 7168, 0, 1, 7167, 0, 1, 7166, 0, 1, 7165, 0, 1, 7164, 0, 1, 7163, 0, 1, 7162, 0, 1, 7161, 0, 1, 7160, 0, - 1, 7159, 0, 39, 1, 6877, 0, 39, 1, 6876, 0, 318, 431, 0, 318, 323, 0, 7130, 275, 0, 7129, 275, 0, 7236, - 275, 0, 7235, 275, 0, 7157, 275, 0, 7156, 275, 0, 7155, 275, 0, 7154, 275, 0, 7153, 275, 0, 7152, 275, - 0, 7151, 275, 0, 7150, 275, 0, 7169, 275, 0, 7168, 275, 0, 7167, 275, 0, 7166, 275, 0, 7165, 275, 0, - 7164, 275, 0, 7163, 275, 0, 7162, 275, 0, 7161, 275, 0, 7160, 275, 0, 7159, 275, 0, 39, 6877, 275, 0, - 39, 6876, 275, 0, 6900, 275, 0, 6877, 48, 0, 6876, 48, 0, 6868, 1, 0, 6867, 1, 0, 639, 271, 0, 32, 425, - 0, 29, 424, 0, 43, 6898, 0, 43, 37, 0, 4031, 128, 0, 4031, 127, 0, 1, 5785, 0, 1, 5435, 0, 1, 5524, 0, - 1, 5554, 0, 1, 5578, 0, 1, 5601, 0, 1, 5624, 0, 1, 5647, 0, 1410, 1, 0, 1, 2235, 0, 1, 5501, 0, 1, 6884, - 0, 1, 6883, 0, 1, 6882, 0, 1, 6881, 0, 1, 6880, 0, 1, 6879, 0, 1, 6878, 0, 1, 642, 0, 1, 645, 0, 1, 972, - 0, 1, 978, 0, 1, 1037, 0, 1, 672, 0, 39, 1, 0, 367, 482, 0, 6900, 1, 0, 47, 37, 0, 1, 92, 0, 6877, 275, - 0, 6876, 275, 0, 538, 3375, 0, 6900, 1, 263, 0, 39, 1, 263, 0, 263, 453, 0, 6877, 37, 0, 6876, 37, 0, - 6877, 2, 37, 0, 6876, 2, 37, 0, 6877, 36, 0, 6876, 36, 0, 6898, 45, 0, 37, 45, 0, 6872, 442, 0, 6871, - 442, 0, 1, 653, 0, 1, 963, 0, 263, 452, 0, 3111, 354, 0, 367, 95, 0, 35, 73, 0, 1, 367, 0, 2883, 313, 0, - 538, 6051, 0, 1, 263, 0, 263, 254, 0, 1, 919, 0, 1, 956, 0, 263, 253, 0, 6874, 1, 0, 6870, 1, 0, 1, 263, - 3650, 0, 6871, 263, 0, 3651, 263, 0, 6874, 420, 0, 6873, 420, 0, 3661, 263, 0, 10, 12, 0, 8, 10, 12, 0, - 3730, 227, 0, 218, 5239, 0, 3735, 420, 0, 8, 12, 0 }; - } - - public final static char baseAction[] = BaseAction.baseAction; - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - 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, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 0, 69, 0, 1, 2, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 4, 65, 66, - 67, 94, 69, 92, 93, 0, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 0, 61, 62, - 63, 4, 65, 66, 67, 0, 69, 0, 1, 2, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 86, 87, 56, 57, 58, - 59, 0, 61, 62, 63, 95, 65, 66, 67, 0, 69, 0, 1, 2, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, - 68, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 0, 69, 0, 3, 0, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 94, 69, 86, 87, 86, 87, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 94, 69, 92, 93, - 0, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 95, 65, 66, - 67, 94, 69, 92, 93, 86, 87, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 0, 61, - 62, 63, 0, 65, 66, 67, 0, 69, 0, 1, 2, 5, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 86, 87, 56, 57, - 58, 59, 0, 61, 62, 63, 4, 65, 66, 67, 0, 69, 101, 102, 4, 95, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 0, 0, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 0, 69, 0, 1, 2, 0, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 4, 69, 92, 93, 0, 0, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 68, 0, 56, 57, 58, 59, 0, 61, 62, 63, 9, 65, 66, 67, 0, 69, - 96, 0, 1, 2, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 40, 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, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 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, - 0, 1, 2, 0, 4, 0, 40, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 53, 0, 55, 56, 57, 58, 5, 0, 61, 62, 63, 0, 1, - 2, 3, 4, 0, 6, 71, 8, 73, 5, 38, 7, 38, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 88, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 71, 0, 114, 115, 116, 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, 91, 0, 99, 100, 0, 0, 40, 98, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 53, 0, 55, 56, 57, 58, 0, 64, 61, 62, - 63, 68, 0, 0, 0, 3, 0, 5, 71, 7, 73, 9, 6, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 88, 0, 1, 2, - 3, 4, 55, 6, 54, 8, 0, 34, 35, 36, 37, 60, 0, 40, 64, 3, 70, 0, 1, 2, 60, 70, 114, 115, 116, 0, 9, 54, - 0, 1, 2, 3, 4, 60, 6, 0, 8, 64, 64, 89, 90, 68, 68, 70, 71, 72, 73, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 86, 87, 0, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 69, 120, 60, 64, 117, 118, 119, 120, 0, 34, 35, 3, 0, 5, 0, 7, - 4, 9, 0, 1, 2, 3, 4, 9, 6, 0, 8, 0, 0, 1, 2, 3, 4, 5, 0, 7, 0, 10, 4, 5, 91, 7, 34, 35, 36, 37, 0, 98, - 40, 3, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 54, 0, 1, 2, 54, 4, 60, 0, 1, 2, 64, 4, 0, 6, 68, - 8, 70, 71, 72, 73, 0, 69, 59, 0, 1, 2, 60, 71, 54, 6, 64, 8, 86, 87, 68, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 0, 1, 2, 55, 117, 118, 119, - 120, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 0, 0, 1, 2, 3, 4, 40, 6, 0, 8, 0, 1, 2, 55, 4, 5, 0, 7, 0, 53, 0, 55, 56, - 57, 58, 0, 0, 61, 62, 63, 4, 65, 7, 114, 115, 116, 0, 1, 2, 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 0, 53, 88, 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, 0, 70, 0, 0, 1, 2, 40, 4, 0, 6, 91, 8, 4, 66, 67, 0, 0, 98, 91, - 53, 54, 55, 56, 57, 58, 98, 0, 61, 62, 63, 22, 65, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 0, 1, 2, 3, 4, 5, 6, 7, 8, 38, 88, 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, 0, 1, 2, 0, 4, 5, 40, 7, 71, 0, 1, - 2, 9, 4, 5, 60, 7, 0, 0, 53, 3, 55, 56, 57, 58, 0, 113, 61, 62, 63, 0, 65, 0, 114, 115, 116, 0, 1, 2, - 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 88, 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, 0, 1, 2, 60, 4, 5, - 40, 7, 0, 1, 2, 0, 4, 0, 6, 4, 8, 54, 0, 53, 7, 55, 56, 57, 58, 0, 0, 61, 62, 63, 0, 65, 118, 22, 0, 1, - 2, 0, 4, 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 89, 90, 88, 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, 55, 0, - 1, 2, 0, 64, 40, 6, 60, 8, 0, 1, 2, 0, 0, 0, 6, 0, 0, 53, 5, 55, 56, 57, 58, 0, 9, 61, 62, 63, 0, 65, - 96, 3, 0, 1, 2, 23, 24, 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 88, 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, 72, 60, 0, 0, 68, 64, 40, 5, 0, 68, 0, 66, 67, 0, 86, 87, 3, 54, 54, 53, 96, 55, 56, 57, 58, 99, - 100, 61, 62, 63, 0, 65, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1, 2, 3, 4, 5, 0, 7, 89, 90, - 88, 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, 0, 1, 2, 0, 4, 64, 40, 0, 0, 0, 0, 0, 99, 100, 0, 60, 9, 3, 9, 53, 9, 55, - 56, 57, 58, 64, 0, 61, 62, 63, 0, 65, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1, 2, 40, 4, - 40, 6, 40, 8, 0, 88, 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, 0, 1, 2, 0, 4, 5, 40, 7, 0, 9, 55, 0, 1, 2, 95, 7, 0, 0, 54, - 53, 0, 55, 56, 57, 58, 9, 9, 61, 62, 63, 0, 65, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 88, 0, 1, 2, 3, 4, 0, 6, 0, 8, 9, 3, 34, 35, 36, 37, 38, 39, 72, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 72, 72, 5, 59, 0, 0, 62, 40, 3, 97, 66, 67, 0, 1, 2, 3, 4, 5, - 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 1, 2, 3, 4, 97, 6, 0, 8, 9, 70, 113, 34, - 35, 36, 37, 38, 39, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 0, 0, 0, 59, 0, 3, 40, - 54, 64, 9, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 34, - 35, 3, 34, 35, 0, 1, 2, 0, 1, 2, 34, 35, 36, 37, 38, 39, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 0, 1, 2, 68, 96, 0, 59, 72, 0, 0, 0, 0, 7, 0, 3, 0, 69, 9, 9, 9, 73, 0, 1, 2, 3, 4, 5, 6, 7, 8, 55, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 1, 2, 0, 0, 0, 6, 40, 0, 0, 0, 3, 34, 35, 36, 37, 38, - 39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 68, 68, 64, 59, 73, 73, 0, 71, 0, 3, 66, - 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 55, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 60, 0, 0, 0, 54, 64, - 64, 71, 0, 0, 9, 9, 34, 35, 36, 37, 38, 39, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, - 0, 0, 0, 59, 3, 89, 90, 0, 0, 9, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 60, 0, 69, 97, 0, 70, 72, 3, 0, 0, 0, 70, 34, 35, 36, 37, 38, 39, 55, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 97, 64, 0, 1, 2, 0, 59, 0, 73, 0, 0, 0, 70, 3, 71, 0, 69, 0, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 60, 0, 1, 2, 0, 74, 0, 3, 0, 5, 6, 7, 34, - 35, 36, 37, 38, 39, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 60, 0, 1, 2, 0, 60, 59, 34, 35, - 36, 37, 70, 39, 0, 0, 0, 69, 0, 3, 0, 3, 113, 0, 9, 9, 55, 0, 54, 0, 54, 0, 54, 0, 60, 0, 3, 97, 64, 10, - 66, 67, 68, 0, 70, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 55, 0, 54, 86, 87, 0, 89, 90, 91, 92, - 93, 94, 95, 96, 0, 10, 99, 100, 101, 60, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 72, 72, 54, - 61, 117, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 53, 0, 55, 0, - 0, 4, 0, 0, 4, 3, 54, 34, 35, 36, 37, 38, 39, 10, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, - 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 54, 0, 54, 113, 54, 54, 0, - 53, 9, 55, 64, 34, 35, 36, 37, 38, 39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 0, 0, - 89, 90, 3, 0, 9, 0, 55, 118, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 0, 0, 68, 0, 72, 55, 0, 0, 0, 0, 71, 0, 34, 35, 36, 37, 38, 39, 54, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 0, 0, 68, 68, 71, 73, 59, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 54, 54, 54, 54, 0, 54, 0, 0, 0, 0, 64, 71, 34, 35, 36, 37, 38, 39, 75, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 121, 0, 3, 89, 90, 0, 60, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 54, 0, 0, 0, 0, 3, 3, 3, 0, 0, 64, 68, 34, 35, 36, 37, 38, - 39, 70, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 3, 89, 90, 59, 0, 1, 2, 3, 4, 5, 6, 7, - 8, 71, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 54, 0, 3, 0, 0, 0, 68, 0, 0, 34, 35, 36, - 37, 38, 39, 70, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 0, 0, 0, 59, 0, 1, 2, 3, 4, 5, - 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 34, - 35, 36, 37, 38, 39, 71, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 0, 0, 0, 59, 0, 1, 2, - 3, 4, 5, 6, 7, 8, 71, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, - 70, 34, 35, 36, 37, 38, 39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 3, 4, 5, 6, 7, - 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, - 37, 38, 39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 39, 0, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 39, 0, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 34, 35, 36, 37, 38, 39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 0, 1, 2, 0, 4, 0, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 53, 4, 0, - 56, 57, 58, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 53, 0, 0, 56, 57, 58, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 53, 0, 0, 56, 57, 58, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 3, 0, - 53, 0, 0, 56, 57, 58, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 1, 2, 3, 4, 40, 6, 0, 8, 9, - 3, 0, 36, 37, 0, 0, 9, 0, 0, 54, 0, 0, 0, 0, 0, 60, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 60, 72, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 60, 0, 0, 0, 0, 0, 40, 60, 0, 0, 0, 64, - 72, 0, 0, 68, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 117, 0, 119, 0, 0, 72, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1, 2, 3, 4, 5, 0, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 64, 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, 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; - - @Override - public final int termCheck(int index) { - return termCheck[index]; - } - - public interface TermAction { - public final static char termAction[] = { 0, 6862, 6824, 6803, 6803, 6803, 6803, 6803, 6803, 6803, 6840, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6828, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 121, 1, 1, 1, 1, 1, 133, 2753, 7070, 2290, 129, 3567, 1, 1, 367, 6873, 6862, - 6876, 6877, 6869, 980, 3658, 3062, 3270, 2180, 3649, 4730, 3657, 1508, 3656, 3886, 3655, 10, 6843, 6843, - 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, - 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, - 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, - 4322, 4421, 6843, 6843, 6843, 6843, 39, 6843, 6843, 6843, 6900, 6843, 6843, 6843, 3582, 6843, 3779, - 3747, 432, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 8, 6846, 6846, - 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, - 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, - 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, - 125, 135, 6846, 6846, 6846, 6846, 6862, 6846, 6846, 6846, 1320, 6846, 6846, 6846, 333, 6846, 6862, 6607, - 6604, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6862, 6824, 6803, - 6803, 6803, 6803, 6803, 6803, 6803, 6831, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 6828, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4322, 4421, 1, 1, 1, 1, 421, - 2753, 7070, 2290, 3490, 3567, 1, 1, 6862, 6873, 48, 6607, 6604, 190, 980, 3658, 3062, 3270, 2180, 3649, - 4730, 3657, 1508, 3656, 3886, 3655, 6862, 6824, 6803, 6803, 6803, 6803, 6803, 6803, 6803, 6831, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6828, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 124, 1577, 1, 1, 1, 1, 134, 2753, 7070, 2290, 6862, 3567, 1, 1, 6862, 6873, 123, - 5948, 122, 6862, 980, 3658, 3062, 3270, 2180, 3649, 4730, 3657, 1508, 3656, 3886, 3655, 6862, 6824, - 6803, 6803, 6803, 6803, 6803, 6803, 6803, 6831, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6828, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4322, 4421, 1, 1, 1, 1, - 153, 2753, 7070, 2290, 130, 3567, 1, 1, 3582, 6873, 4322, 4421, 4322, 4421, 980, 3658, 3062, 3270, 2180, - 3649, 4730, 3657, 1508, 3656, 3886, 3655, 6862, 6824, 6803, 6803, 6803, 6803, 6803, 6803, 6803, 6831, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6828, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 141, 136, 1, 1, 1, 1, 154, 2753, 7070, 2290, 149, 3567, 1, 1, 3617, 6873, - 3779, 3747, 145, 6862, 980, 3658, 3062, 3270, 2180, 3649, 4730, 3657, 1508, 3656, 3886, 3655, 6862, - 6824, 6803, 6803, 6803, 6803, 6803, 6803, 6803, 6831, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6828, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4322, 4421, 1, 1, 1, - 1, 6862, 2753, 7070, 2290, 3490, 3567, 1, 1, 3617, 6873, 3851, 3811, 4322, 4421, 980, 3658, 3062, 3270, - 2180, 3649, 4730, 3657, 1508, 3656, 3886, 3655, 6862, 6824, 6803, 6803, 6803, 6803, 6803, 6803, 6803, - 6831, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6828, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 144, 139, 1, 1, 1, 1, 6862, 2753, 7070, 2290, 155, 3567, 1, 1, 6862, - 6873, 434, 6876, 6877, 1800, 980, 3658, 3062, 3270, 2180, 3649, 4730, 3657, 1508, 3656, 3886, 3655, - 6862, 6824, 6803, 6803, 6803, 6803, 6803, 6803, 6803, 6831, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6828, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4322, 4421, 1, - 1, 1, 1, 6862, 2753, 7070, 2290, 2284, 3567, 1, 1, 432, 6873, 1079, 3893, 425, 3526, 980, 3658, 3062, - 3270, 2180, 3649, 4730, 3657, 1508, 3656, 3886, 3655, 6862, 6824, 6803, 6803, 6803, 6803, 6803, 6803, - 6803, 6831, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 6828, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 142, 6862, 1, 1, 1, 1, 6862, 2753, 7070, 2290, 150, 3567, - 1, 1, 6862, 6873, 36, 6761, 6758, 6862, 980, 3658, 3062, 3270, 2180, 3649, 4730, 3657, 1508, 3656, 3886, - 3655, 6862, 6824, 6803, 6803, 6803, 6803, 6803, 6803, 6803, 6831, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6828, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4322, - 4421, 1, 1, 1, 1, 137, 2753, 7070, 2290, 6862, 3567, 1, 1, 1118, 6873, 3851, 3811, 552, 6862, 980, 3658, - 3062, 3270, 2180, 3649, 4730, 3657, 1508, 3656, 3886, 3655, 6862, 3650, 1, 1, 1, 1, 1, 1, 1, 3651, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6871, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 994, 442, 1, 1, 1, 1, 6862, 2753, 7070, 2290, 6770, 3567, 1, 1, 6862, 6873, - 3396, 6862, 10586, 10586, 980, 3658, 3062, 3270, 2180, 3649, 4730, 3657, 1508, 3656, 3886, 3655, 39, - 6426, 6423, 5019, 1410, 5578, 5501, 5601, 2235, 6773, 1262, 7161, 7159, 7168, 7167, 7163, 7164, 7162, - 7165, 7166, 7169, 7160, 7156, 7235, 7236, 7150, 7157, 7153, 7129, 7155, 7154, 7151, 7152, 7130, 5554, - 5524, 5647, 5624, 6881, 5435, 6898, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, - 7297, 6862, 6862, 1198, 7298, 7299, 1528, 6862, 6737, 6737, 263, 6733, 263, 263, 263, 263, 6741, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 323, 6521, 6521, 6862, 318, 6862, 263, - 6862, 6514, 6510, 653, 6661, 6794, 963, 6794, 2235, 333, 6876, 6877, 1, 115, 6730, 1, 1, 1, 5390, 111, - 1107, 7311, 1556, 1, 6514, 6510, 653, 6661, 6862, 963, 263, 2235, 453, 1570, 820, 1407, 3580, 257, 345, - 6514, 6510, 653, 6661, 6794, 963, 6794, 2235, 7399, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, - 7166, 7169, 7160, 7156, 7235, 7236, 7150, 7157, 7153, 7129, 7155, 7154, 7151, 7152, 7130, 3072, 6862, - 7334, 7335, 7336, 6862, 6737, 6737, 263, 6733, 263, 263, 263, 263, 6782, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5693, 6862, 5142, 4702, 139, 37, 263, 5716, 126, 403, 6514, - 6510, 4206, 6661, 1, 963, 1, 2235, 495, 1, 258, 6730, 1, 1, 1, 6862, 6201, 1107, 7311, 1556, 4930, 33, - 6862, 6862, 6465, 6862, 6465, 263, 6465, 452, 6465, 1904, 7156, 7235, 7236, 7150, 7157, 7153, 7129, - 7155, 7154, 7151, 7152, 7130, 7399, 367, 6426, 6423, 653, 1410, 6898, 963, 4058, 2235, 6862, 6465, 6465, - 6465, 6465, 1321, 6862, 6465, 6447, 639, 2097, 6862, 6876, 6877, 6453, 1368, 7334, 7335, 7336, 6862, - 6874, 6465, 1, 6514, 6510, 4206, 6661, 6465, 963, 114, 2235, 6465, 3729, 4004, 3931, 6465, 4930, 6465, - 6465, 6465, 6465, 1079, 3893, 2050, 2003, 1956, 1909, 1862, 1815, 1768, 1721, 1674, 1627, 6465, 6465, - 118, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, - 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6873, 6422, 1321, 2699, 6465, 6465, 6465, 6465, 6862, - 4638, 4611, 6468, 433, 6468, 6862, 6468, 424, 6468, 1, 6514, 6510, 653, 6661, 6874, 963, 595, 2235, 337, - 37, 6877, 6877, 6877, 6877, 6877, 39, 6877, 6862, 7198, 6900, 367, 5693, 367, 6468, 6468, 6468, 6468, - 91, 5716, 6468, 6459, 6877, 6877, 6877, 6877, 6877, 6877, 6877, 6877, 6877, 6877, 6877, 6877, 6468, - 6862, 6426, 6423, 1150, 6900, 6468, 6862, 6426, 6423, 6468, 1410, 6862, 6471, 6468, 2235, 6468, 6468, - 6468, 6468, 476, 6873, 3578, 38, 6444, 6441, 6877, 3072, 2499, 6438, 6877, 2235, 6468, 6468, 6877, 6468, - 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, - 6468, 6468, 6468, 6468, 6468, 6468, 43, 6628, 6628, 1024, 6468, 6468, 6468, 6468, 6862, 6803, 6803, 263, - 6803, 263, 263, 263, 263, 6806, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9202, 1, 1, 1, 1, 1, - 1, 6862, 1, 6514, 6510, 6776, 6661, 263, 6779, 113, 6664, 481, 1, 1, 6625, 1, 6450, 112, 6450, 259, 1, - 159, 6800, 1, 1, 1, 131, 6862, 2241, 7107, 2290, 2713, 3567, 3665, 7334, 7335, 7336, 6862, 6876, 6877, - 254, 7156, 7235, 7236, 7150, 7157, 7153, 7129, 7155, 7154, 7151, 7152, 7130, 6862, 2768, 7399, 6862, - 6803, 6803, 263, 6803, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9202, - 1, 1, 1, 1, 1, 1, 6862, 2851, 6862, 6862, 6426, 6423, 263, 1410, 39, 963, 5693, 2235, 6900, 5670, 1111, - 1, 6862, 5716, 5693, 1, 3518, 6800, 1, 1, 1, 5716, 6862, 2241, 7107, 2290, 2565, 3567, 3333, 4895, 2785, - 2719, 2653, 2587, 2521, 2455, 2389, 2323, 2257, 2191, 381, 6426, 6423, 4206, 1410, 367, 963, 367, 2235, - 3566, 7399, 6862, 6803, 6803, 263, 6803, 263, 263, 263, 263, 6815, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 9202, 1, 1, 1, 1, 1, 1, 482, 39, 39, 6862, 6900, 6712, 263, 6712, 2144, 92, 1, 1, 6866, - 1, 6721, 1321, 6721, 271, 260, 1, 6616, 6800, 1, 1, 1, 6862, 3660, 2241, 7107, 2290, 6862, 3567, 494, - 7334, 7335, 7336, 327, 6876, 6877, 253, 7156, 7235, 7236, 7150, 7157, 7153, 7129, 7155, 7154, 7151, - 7152, 7130, 146, 6862, 7399, 6862, 6803, 6803, 263, 6803, 263, 263, 263, 263, 6806, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9202, 1, 1, 1, 1, 1, 1, 95, 39, 39, 6456, 6900, 6788, 263, 6788, 6862, - 6426, 6423, 39, 1410, 132, 963, 6900, 2235, 4139, 261, 1, 3665, 6800, 1, 1, 1, 138, 6862, 2241, 7107, - 2290, 6862, 3567, 6865, 1941, 431, 6518, 6518, 384, 318, 254, 7156, 7235, 7236, 7150, 7157, 7153, 7129, - 7155, 7154, 7151, 7152, 7130, 4112, 4085, 7399, 6862, 6803, 6803, 263, 6803, 263, 263, 263, 263, 6806, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9202, 1, 1, 1, 1, 1, 1, 318, 6862, 6876, 6877, 6862, - 2703, 263, 963, 1321, 2235, 6862, 6876, 6877, 157, 372, 117, 1904, 6862, 572, 1, 5390, 6800, 1, 1, 1, - 398, 6868, 2241, 7107, 2290, 1, 3567, 3396, 3883, 6862, 6607, 6604, 7235, 7236, 254, 7156, 7235, 7236, - 7150, 7157, 7153, 7129, 7155, 7154, 7151, 7152, 7130, 148, 6862, 7399, 6862, 6803, 6803, 263, 6803, 263, - 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9202, 1, 1, 1, 1, 1, 1, 6867, - 1321, 116, 6862, 3560, 577, 263, 5390, 6862, 577, 573, 5670, 1111, 1, 4322, 4421, 5819, 4139, 2829, 1, - 3434, 6800, 1, 1, 1, 5142, 4702, 2241, 7107, 2290, 6862, 3567, 7156, 7235, 7236, 7150, 7157, 7153, 7129, - 7155, 7154, 7151, 7152, 7130, 381, 39, 39, 3883, 6900, 367, 6862, 367, 4112, 4085, 7399, 6862, 6803, - 6803, 263, 6803, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9202, 1, 1, - 1, 1, 1, 1, 6862, 6426, 6423, 6862, 6900, 2747, 263, 6862, 156, 1, 574, 1, 5142, 4702, 6862, 1321, 6872, - 4370, 6872, 1, 224, 6800, 1, 1, 1, 2761, 6862, 2241, 7107, 2290, 6862, 3567, 7156, 7235, 7236, 7150, - 7157, 7153, 7129, 7155, 7154, 7151, 7152, 7130, 6862, 6426, 6423, 6871, 1410, 6871, 6471, 224, 2235, - 6862, 7399, 6862, 6803, 6803, 263, 6803, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 9202, 1, 1, 1, 1, 1, 1, 1, 6709, 6709, 6862, 6715, 367, 263, 367, 151, 399, 2617, 6862, - 10340, 10337, 3526, 3699, 1, 6862, 2895, 1, 411, 6800, 1, 1, 1, 194, 6868, 2241, 7107, 2290, 394, 3567, - 6862, 1, 1, 1, 1, 1, 1, 1, 1, 6862, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7399, 1, 6514, 6510, 6776, 6661, - 6862, 6779, 347, 6664, 6872, 1604, 1, 1, 1, 1, 1, 1, 399, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 37, 6718, - 6718, 194, 6867, 367, 1, 6862, 6862, 7461, 6871, 4544, 399, 1, 1, 1, 6514, 6510, 672, 1410, 5578, 5501, - 5601, 2235, 6862, 6474, 6501, 6507, 6480, 6483, 6495, 6492, 6498, 6489, 6486, 6477, 6504, 1, 6514, 6510, - 653, 6661, 7255, 963, 158, 2235, 345, 1219, 3660, 5554, 5524, 5647, 5624, 6881, 5435, 6898, 645, 1037, - 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 37, 6718, 6718, 6862, 120, 6862, 1528, 119, - 4550, 345, 5025, 553, 6868, 39, 39, 39, 6426, 6423, 5019, 1410, 5578, 5501, 5601, 2235, 6856, 643, 7161, - 7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, 7169, 7160, 6862, 4638, 4611, 4740, 4638, 4611, 6862, - 6747, 6744, 6862, 10340, 10337, 5554, 5524, 5647, 5624, 6881, 5435, 1716, 645, 1037, 6883, 972, 5785, - 978, 6884, 6882, 642, 6878, 6879, 6880, 326, 967, 967, 6281, 3434, 152, 1528, 6867, 6862, 6862, 6862, - 6862, 3699, 6862, 2883, 6862, 6837, 6870, 6870, 6872, 6869, 174, 6426, 6423, 5019, 1410, 5578, 5501, - 5601, 2235, 6898, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, 7169, 7160, 37, 6718, 6718, - 6862, 6862, 6862, 6718, 6871, 383, 6862, 6862, 2077, 5554, 5524, 5647, 5624, 6881, 5435, 147, 645, 1037, - 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 6862, 6754, 6750, 1170, 796, 7411, 1528, 6869, - 6869, 6862, 2917, 1, 4276, 39, 39, 1, 6514, 6510, 672, 1410, 5578, 5501, 5601, 2235, 1951, 6474, 6501, - 6507, 6480, 6483, 6495, 6492, 6498, 6489, 6486, 6477, 6504, 1321, 1, 1, 406, 4139, 7340, 7354, 7300, - 100, 404, 6818, 399, 5554, 5524, 5647, 5624, 6881, 5435, 6898, 645, 1037, 6883, 972, 5785, 978, 6884, - 6882, 642, 6878, 6879, 6880, 45, 6767, 6767, 1, 103, 6862, 1528, 4349, 4112, 4085, 328, 465, 6821, 39, - 39, 39, 6426, 6423, 5019, 1410, 5578, 5501, 5601, 2235, 6834, 643, 7161, 7159, 7168, 7167, 7163, 7164, - 7162, 7165, 7166, 7169, 7160, 4951, 1, 6873, 7257, 6862, 1431, 399, 3111, 6862, 584, 356, 1481, 5554, - 5524, 5647, 5624, 6881, 5435, 6764, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, - 399, 6027, 6862, 6747, 6744, 6862, 1528, 6862, 6869, 1, 354, 457, 3129, 6785, 2767, 99, 6837, 39, 6426, - 6423, 5019, 1410, 5578, 5501, 5601, 2235, 6834, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, - 7166, 7169, 7160, 1321, 6862, 11342, 8963, 1, 3313, 29, 636, 477, 7362, 7368, 7366, 5554, 5524, 5647, - 5624, 6881, 5435, 6898, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 1321, 37, - 6718, 6718, 491, 3030, 1528, 7360, 7361, 7391, 7392, 3228, 7369, 6862, 1, 1, 6837, 313, 3883, 6862, - 6797, 1, 575, 6868, 6610, 6898, 6862, 7371, 337, 6429, 6862, 6432, 6862, 794, 424, 3569, 3878, 7372, - 7198, 1760, 1773, 7393, 6862, 7370, 7156, 7235, 7236, 7150, 7157, 7153, 7129, 7155, 7154, 7151, 7152, - 7130, 6898, 583, 6435, 7382, 7381, 1, 7387, 7388, 7394, 7385, 7386, 7365, 7367, 7389, 6862, 6809, 7363, - 7364, 7390, 1321, 7375, 7376, 7377, 7373, 7374, 7383, 7384, 7379, 7378, 7380, 6867, 6613, 6462, 1890, - 7395, 39, 6426, 6423, 5019, 1410, 5578, 5501, 5601, 2235, 6866, 643, 7161, 7159, 7168, 7167, 7163, 7164, - 7162, 7165, 7166, 7169, 7160, 128, 6812, 48, 3575, 6862, 48, 6877, 6862, 1, 6876, 4668, 1150, 5554, - 5524, 5647, 5624, 6881, 5435, 6809, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, - 1, 6514, 6510, 6706, 6661, 6649, 6667, 6652, 6664, 47, 6474, 6501, 6507, 6480, 6483, 6495, 6492, 6498, - 6489, 6486, 6477, 6504, 1, 4058, 320, 6877, 3660, 3518, 6876, 485, 6812, 591, 3575, 6631, 6646, 6643, - 6658, 6655, 6679, 6640, 6862, 6694, 6703, 6673, 6697, 6637, 6700, 6670, 6676, 6691, 6688, 6685, 6682, 8, - 29, 326, 463, 6862, 4004, 3931, 4511, 218, 6859, 6862, 1619, 6865, 6709, 6709, 39, 6426, 6423, 5019, - 1410, 5578, 5501, 5601, 2235, 6862, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, 7169, - 7160, 6862, 6862, 7181, 227, 591, 3519, 127, 432, 73, 6862, 739, 6862, 5554, 5524, 5647, 5624, 6881, - 5435, 1150, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 6862, 6862, 9942, 718, - 461, 6859, 1528, 39, 6426, 6423, 5019, 1410, 5578, 5501, 5601, 2235, 6862, 643, 7161, 7159, 7168, 7167, - 7163, 7164, 7162, 7165, 7166, 7169, 7160, 4058, 1150, 6791, 3309, 486, 3385, 6862, 6862, 6862, 35, 6634, - 3171, 5554, 5524, 5647, 5624, 6881, 5435, 6850, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, - 6879, 6880, 6862, 6853, 6862, 6150, 4004, 3931, 6862, 1021, 39, 6426, 6423, 672, 1410, 5578, 5501, 5601, - 2235, 6862, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, 7169, 7160, 4139, 344, 6862, - 6862, 6862, 6248, 4794, 6304, 545, 2, 4179, 2511, 5554, 5524, 5647, 5624, 6881, 5435, 2125, 645, 1037, - 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 6862, 6862, 6862, 4963, 4112, 4085, 1528, 39, - 6426, 6423, 672, 1410, 5578, 5501, 5601, 2235, 4792, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162, - 7165, 7166, 7169, 7160, 543, 6862, 6862, 37, 6862, 5274, 6862, 6862, 6862, 2222, 6862, 6862, 5554, 5524, - 5647, 5624, 6881, 5435, 5922, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 6862, - 6862, 6862, 6862, 6862, 6862, 1528, 39, 6426, 6423, 5019, 1410, 5578, 5501, 5601, 2235, 6862, 643, 7161, - 7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, 7169, 7160, 6862, 547, 6862, 6862, 6862, 6862, 6862, - 6862, 6862, 6862, 6274, 2125, 5554, 5524, 5647, 5624, 6881, 5435, 4854, 645, 1037, 6883, 972, 5785, 978, - 6884, 6882, 642, 6878, 6879, 6880, 6862, 6862, 6862, 6862, 6862, 6862, 1528, 39, 6426, 6423, 5954, 1410, - 5578, 5501, 5601, 2235, 4916, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, 7169, 7160, - 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 2983, 901, 5554, 5524, 5647, 5624, 6881, - 5435, 6862, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 39, 6426, 6423, 5019, - 1410, 5578, 5501, 5601, 2235, 6862, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, 7169, - 7160, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 5554, 5524, 5647, 5624, - 6881, 5435, 6862, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 39, 6426, 6423, - 672, 1410, 5578, 5501, 5601, 2235, 6862, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, - 7169, 7160, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 5554, 5524, 5647, - 5624, 6881, 5435, 6862, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 39, 6426, - 6423, 672, 1410, 5578, 5501, 5601, 2235, 6862, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, - 7166, 7169, 7160, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 5554, 5524, - 5647, 5624, 6881, 5435, 6862, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 39, - 6426, 6423, 5019, 1410, 5578, 5501, 5601, 2235, 6862, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162, - 7165, 7166, 7169, 7160, 1, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 196, 6862, 6862, 5554, 5524, - 5647, 5624, 6881, 5435, 6862, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 6862, - 6426, 6423, 6862, 6900, 6862, 6862, 6862, 6862, 6862, 882, 7161, 7159, 7168, 7167, 7163, 7164, 7162, - 7165, 7166, 7169, 7160, 7156, 7235, 7236, 7150, 7157, 7153, 7129, 7155, 7154, 7151, 7152, 7130, 6862, - 6862, 6862, 6862, 6862, 6862, 6862, 196, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 275, 6597, - 6593, 7297, 6601, 6862, 1198, 7298, 7299, 6862, 882, 6584, 6590, 6563, 6566, 6578, 6575, 6581, 6572, - 6569, 6560, 6587, 6539, 6533, 6530, 6557, 6536, 6548, 6527, 6542, 6545, 6554, 6551, 6524, 6862, 6862, - 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6876, 6877, 6862, - 7297, 6862, 6862, 1198, 7298, 7299, 1571, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, 7169, - 7160, 7156, 7235, 7236, 7150, 7157, 7153, 7129, 7155, 7154, 7151, 7152, 7130, 6862, 6862, 6862, 6862, - 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 275, 6727, 6724, 6862, 7297, 6862, - 6862, 1198, 7298, 7299, 1571, 6584, 6590, 6563, 6566, 6578, 6575, 6581, 6572, 6569, 6560, 6587, 6539, - 6533, 6530, 6557, 6536, 6548, 6527, 6542, 6545, 6554, 6551, 6524, 6862, 6862, 6862, 29, 424, 424, 6622, - 424, 6622, 424, 6622, 424, 6622, 6862, 75, 6862, 6862, 704, 6862, 7297, 6862, 6862, 1198, 7298, 7299, - 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 6862, 1, 6514, 6510, 4206, 6661, 6622, 963, - 1, 2235, 6610, 3883, 6862, 6924, 6925, 6862, 6862, 377, 6862, 6862, 6429, 6862, 6862, 6862, 6862, 6862, - 6622, 32, 425, 425, 6619, 425, 6619, 425, 6619, 425, 6619, 3890, 6622, 6862, 6862, 6862, 6862, 6862, - 6862, 6862, 6862, 6862, 6862, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 1321, 6862, - 6862, 6862, 6862, 6862, 6619, 1321, 6862, 6862, 6862, 377, 6613, 6862, 6862, 377, 6862, 6862, 6862, 377, - 6862, 6862, 6862, 6862, 6862, 6862, 6619, 6862, 571, 6862, 6862, 6862, 6862, 1060, 6862, 2552, 6862, - 6862, 6619, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, 7169, 7160, 7156, 7235, 7236, 7150, - 7157, 7153, 7129, 7155, 7154, 7151, 7152, 7130, 37, 6876, 6876, 6876, 6876, 6876, 6862, 6876, 6862, - 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6876, 6876, 6876, 6876, - 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, - 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, - 6876, 6862, 6862, 6862, 6876, 6862, 6862, 6862, 6876 }; - } - - public final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[index]; - } - - public interface Asb { - public final static char asb[] = { 0, 790, 15, 671, 9, 831, 880, 880, 880, 880, 536, 831, 562, 562, 468, 562, - 262, 655, 264, 672, 672, 672, 672, 672, 672, 672, 672, 672, 564, 570, 575, 572, 579, 577, 584, 582, 586, - 585, 587, 331, 588, 671, 655, 192, 192, 192, 192, 710, 17, 165, 165, 559, 192, 328, 105, 562, 562, 165, - 710, 105, 105, 96, 655, 947, 191, 1124, 538, 1005, 655, 562, 564, 763, 763, 17, 671, 672, 672, 672, 672, - 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 671, 671, 671, 671, 671, 671, - 671, 671, 671, 671, 671, 671, 672, 105, 105, 1070, 1070, 1070, 1070, 1126, 105, 165, 165, 534, 994, - 1005, 6, 1005, 1, 1005, 282, 1005, 989, 536, 710, 328, 328, 165, 880, 672, 534, 288, 908, 898, 897, 432, - 1012, 1012, 536, 264, 328, 191, 671, 708, 1123, 105, 707, 709, 707, 105, 328, 572, 572, 570, 570, 570, - 577, 577, 577, 577, 575, 575, 582, 579, 579, 585, 584, 586, 1082, 587, 831, 831, 831, 831, 710, 710, - 1070, 193, 530, 655, 1047, 1045, 1052, 1050, 1054, 1053, 1055, 1056, 1069, 1070, 559, 710, 380, 383, 3, - 765, 4, 536, 710, 710, 1126, 1070, 96, 328, 603, 105, 910, 912, 710, 1124, 672, 192, 568, 61, 105, 538, - 710, 710, 709, 1124, 671, 671, 671, 671, 671, 831, 831, 507, 518, 518, 518, 518, 502, 536, 713, 672, - 672, 672, 672, 672, 672, 672, 672, 672, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 672, - 655, 381, 557, 555, 383, 710, 720, 160, 718, 1126, 6, 540, 710, 1126, 710, 105, 902, 890, 901, 912, - 1126, 708, 105, 568, 534, 1123, 538, 710, 708, 105, 105, 105, 105, 17, 17, 710, 672, 1045, 1045, 1045, - 1050, 1047, 1047, 1053, 1052, 1054, 1082, 1055, 381, 555, 543, 710, 383, 1082, 4, 880, 1128, 147, 1072, - 383, 720, 719, 720, 720, 1126, 540, 540, 710, 710, 612, 671, 899, 899, 269, 269, 710, 906, 534, 840, - 105, 710, 568, 569, 568, 671, 61, 152, 564, 538, 105, 105, 1126, 785, 671, 555, 555, 1124, 6, 6, 1070, - 880, 707, 622, 1074, 704, 831, 720, 720, 720, 720, 710, 540, 542, 835, 542, 612, 671, 671, 912, 710, - 1124, 105, 910, 890, 612, 443, 568, 17, 672, 328, 152, 710, 555, 554, 708, 724, 6, 109, 399, 708, 720, - 720, 704, 608, 672, 1082, 277, 873, 710, 534, 720, 720, 546, 542, 543, 672, 710, 777, 912, 612, 569, - 105, 328, 555, 609, 724, 724, 59, 1084, 372, 831, 4, 146, 399, 708, 720, 6, 536, 1074, 672, 672, 1123, - 704, 882, 427, 547, 710, 543, 777, 105, 777, 543, 724, 724, 108, 372, 59, 886, 536, 1069, 880, 154, 154, - 609, 6, 635, 882, 710, 831, 546, 710, 536, 536, 710, 831, 770, 777, 543, 109, 724, 609, 276, 608, 105, - 536, 710, 399, 109, 399, 1068, 1068, 833, 636, 536, 710, 17, 710, 710, 710, 913, 770, 724, 671, 225, - 704, 609, 710, 710, 399, 192, 192, 833, 635, 1082, 672, 1082, 609, 634, 831, 831, 831, 636, 831, 710, - 339, 609, 609, 710, 6, 105, 710, 710, 104, 772, 543, 105, 543, 6, 710, 609, 1069, 627, 831, 627, 636, - 1082, 636, 655, 655, 653, 634, 655, 609, 609, 783, 633, 192, 772, 543, 225, 609, 222, 840, 636, 105, - 704, 105, 653, 372, 831, 105, 833, 225, 154, 105, 105, 456, 636, 783, 636, 609, 372, 671, 636, 633, 542, - 1068, 6, 6, 979, 671, 634, 17, 609, 105, 607, 224, 707, 636, 105, 609, 607, 607, 636 }; - } - - public final static char asb[] = Asb.asb; - - @Override - public final int asb(int index) { - return asb[index]; - } - - public interface Asr { - public final static byte asr[] = { 0, 55, 4, 71, 1, 2, 69, 9, 0, 9, 71, 118, 72, 40, 68, 120, 0, 9, 72, 11, 12, - 41, 66, 13, 42, 43, 14, 15, 16, 67, 8, 44, 17, 18, 45, 46, 47, 59, 48, 49, 10, 19, 20, 21, 50, 51, 52, - 1, 2, 3, 36, 37, 7, 5, 34, 35, 6, 39, 4, 38, 0, 98, 91, 34, 35, 99, 100, 86, 87, 54, 89, 90, 92, 93, 94, - 95, 96, 101, 102, 71, 97, 70, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 118, 73, 40, 120, 64, 1, - 2, 7, 5, 4, 3, 60, 68, 72, 9, 0, 69, 53, 23, 13, 56, 26, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 57, 33, - 58, 19, 22, 20, 24, 21, 12, 11, 25, 9, 3, 7, 5, 40, 63, 65, 88, 27, 62, 55, 61, 8, 1, 2, 4, 10, 6, 0, - 64, 70, 68, 1, 2, 0, 4, 9, 71, 69, 0, 41, 66, 42, 43, 67, 8, 44, 45, 46, 47, 59, 48, 49, 50, 51, 52, 38, - 36, 37, 7, 5, 34, 35, 6, 39, 64, 3, 4, 10, 1, 2, 56, 57, 58, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, - 25, 31, 32, 27, 30, 29, 22, 26, 23, 24, 28, 33, 53, 0, 73, 59, 36, 37, 7, 5, 34, 35, 39, 45, 3, 4, 50, - 51, 52, 38, 48, 43, 47, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 10, 42, 46, 44, 41, 49, 69, 9, 8, 6, - 1, 2, 67, 66, 0, 74, 64, 71, 97, 72, 69, 60, 3, 9, 68, 40, 70, 0, 4, 9, 69, 1, 2, 0, 66, 67, 3, 10, 42, - 46, 44, 41, 49, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 50, 51, 52, 38, 48, 43, 47, 6, 8, 4, 36, 37, - 7, 5, 34, 35, 39, 45, 1, 2, 118, 9, 0, 64, 71, 97, 68, 118, 72, 73, 120, 11, 12, 41, 66, 13, 42, 43, 14, - 15, 16, 67, 44, 17, 18, 45, 46, 47, 59, 48, 49, 10, 19, 20, 21, 50, 51, 52, 38, 36, 37, 34, 35, 39, 9, - 40, 6, 8, 1, 2, 4, 3, 7, 5, 0, 88, 61, 8, 114, 115, 116, 63, 9, 3, 7, 5, 6, 71, 73, 40, 62, 25, 11, 12, - 53, 23, 13, 56, 26, 27, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 57, 55, 33, 10, 58, 19, 20, 24, 21, 1, - 2, 4, 22, 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 25, 23, 26, 27, 28, 29, 30, 31, 32, 33, 22, 24, - 40, 9, 72, 8, 1, 2, 60, 3, 7, 5, 6, 4, 0, 67, 66, 34, 35, 99, 100, 94, 95, 6, 39, 70, 54, 106, 107, 103, - 104, 105, 111, 110, 112, 87, 86, 108, 109, 92, 93, 89, 90, 96, 101, 36, 37, 91, 117, 10, 56, 53, 57, 58, - 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 25, 31, 32, 27, 30, 29, 22, 26, 23, 24, 28, 33, 64, 68, 3, - 60, 7, 5, 1, 2, 4, 0, 1, 2, 68, 73, 9, 0, 22, 1, 2, 4, 114, 115, 116, 0, 59, 23, 24, 8, 6, 1, 2, 4, 74, - 69, 119, 117, 36, 37, 60, 3, 98, 91, 5, 99, 100, 34, 35, 87, 86, 54, 89, 90, 92, 93, 7, 94, 95, 96, 64, - 97, 72, 120, 70, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 71, 118, 101, 102, 73, 68, 40, 9, 0, - 23, 59, 24, 9, 64, 97, 70, 68, 72, 0, 9, 71, 69, 74, 0, 88, 114, 115, 116, 55, 71, 113, 121, 73, 62, 74, - 63, 61, 65, 76, 78, 84, 82, 75, 80, 81, 83, 85, 69, 77, 79, 40, 9, 25, 53, 23, 56, 26, 27, 28, 29, 30, - 31, 32, 57, 33, 58, 22, 24, 59, 66, 67, 10, 42, 46, 44, 41, 49, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, - 20, 50, 51, 52, 38, 48, 43, 47, 36, 37, 34, 35, 39, 45, 7, 5, 3, 4, 8, 6, 1, 2, 0, 54, 64, 89, 90, 0, 4, - 54, 9, 71, 69, 0, 65, 25, 11, 12, 53, 23, 13, 56, 26, 88, 27, 14, 28, 29, 15, 16, 30, 61, 31, 17, 18, - 32, 57, 33, 10, 58, 19, 63, 22, 20, 24, 21, 9, 3, 7, 5, 73, 40, 62, 8, 6, 55, 1, 2, 4, 0, 23, 24, 74, 3, - 71, 40, 69, 59, 9, 64, 97, 68, 72, 70, 0, 72, 9, 87, 86, 0, 11, 12, 41, 66, 13, 42, 43, 14, 15, 16, 67, - 8, 44, 17, 18, 45, 46, 47, 59, 48, 49, 10, 19, 20, 21, 50, 51, 52, 38, 1, 2, 36, 37, 7, 5, 34, 35, 6, - 39, 4, 62, 3, 0, 113, 0, 9, 68, 73, 70, 0, 25, 11, 12, 53, 23, 13, 56, 26, 27, 14, 28, 29, 15, 16, 30, - 31, 17, 18, 32, 57, 33, 10, 58, 19, 22, 20, 24, 21, 1, 2, 4, 97, 0, 71, 9, 60, 3, 70, 68, 40, 54, 0, 9, - 69, 68, 0, 9, 69, 70, 0, 7, 5, 8, 6, 4, 1, 2, 3, 60, 64, 70, 68, 9, 72, 97, 0, 6, 8, 3, 60, 5, 7, 97, - 25, 11, 12, 53, 23, 13, 56, 26, 27, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 57, 33, 10, 58, 19, 22, 20, - 24, 21, 1, 2, 4, 72, 9, 0, 66, 67, 36, 37, 34, 35, 39, 45, 50, 51, 52, 38, 48, 43, 47, 12, 21, 11, 17, - 15, 16, 18, 19, 14, 13, 20, 10, 42, 46, 44, 41, 49, 7, 5, 3, 60, 8, 6, 4, 1, 2, 0, 10, 56, 53, 57, 58, - 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 74, 71, 97, 118, 73, 69, 120, 8, 31, 32, 33, 22, 24, 1, 2, - 30, 29, 28, 27, 26, 6, 4, 23, 25, 119, 98, 117, 91, 36, 37, 34, 35, 99, 100, 9, 60, 3, 5, 72, 40, 87, - 86, 54, 89, 90, 92, 93, 7, 94, 95, 96, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 70, - 68, 64, 0, 40, 9, 3, 8, 6, 7, 5, 4, 1, 2, 71, 0, 53, 23, 13, 56, 26, 14, 28, 29, 15, 16, 30, 31, 17, 18, - 32, 57, 33, 10, 58, 19, 22, 20, 24, 21, 12, 11, 25, 9, 3, 7, 40, 63, 61, 65, 88, 27, 62, 54, 4, 5, 8, 6, - 1, 2, 55, 0 }; - } - - public final static byte asr[] = Asr.asr; - - @Override - public final int asr(int index) { - return asr[index]; - } - - public interface Nasb { - public final static char nasb[] = { 0, 160, 12, 82, 12, 12, 12, 12, 12, 12, 86, 12, 12, 12, 125, 12, 238, 26, - 157, 82, 82, 257, 82, 82, 82, 82, 82, 82, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 82, 12, 82, 26, - 218, 218, 218, 218, 157, 16, 180, 180, 93, 5, 108, 230, 12, 12, 180, 261, 230, 230, 164, 1, 82, 77, 53, - 12, 12, 26, 12, 12, 68, 68, 16, 27, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 27, 82, 230, 230, 12, 12, 12, 12, 120, 230, 43, 43, - 187, 275, 276, 226, 276, 13, 276, 88, 276, 269, 10, 157, 108, 108, 43, 12, 82, 187, 103, 163, 19, 19, - 12, 12, 12, 10, 157, 108, 218, 113, 238, 99, 230, 237, 157, 237, 230, 108, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 192, 11, 12, 250, 164, 21, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 197, 157, 12, 180, 191, 86, 96, 86, 157, 11, 12, 12, 195, 108, 12, 230, 303, - 180, 157, 53, 82, 218, 180, 34, 230, 12, 11, 157, 110, 53, 82, 27, 27, 27, 27, 12, 12, 275, 276, 276, - 276, 276, 286, 10, 12, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 27, 82, 43, 189, 189, 189, 204, 192, 41, 41, 12, 242, 226, 180, 242, 52, 192, 230, 12, 173, 12, 306, 51, - 192, 230, 91, 197, 99, 12, 261, 192, 230, 230, 230, 230, 16, 16, 157, 82, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 180, 145, 157, 170, 12, 74, 12, 12, 116, 278, 204, 41, 41, 180, 180, 52, 180, 262, - 11, 192, 180, 82, 12, 12, 19, 19, 157, 172, 187, 306, 230, 192, 180, 59, 12, 27, 197, 111, 12, 12, 230, - 230, 52, 230, 82, 189, 137, 53, 226, 130, 12, 12, 86, 180, 182, 175, 12, 180, 180, 57, 57, 192, 262, 55, - 12, 12, 137, 82, 82, 180, 11, 53, 230, 303, 232, 180, 12, 91, 16, 82, 108, 111, 192, 180, 137, 238, 180, - 226, 294, 180, 242, 180, 123, 234, 170, 82, 12, 66, 12, 157, 187, 57, 57, 151, 55, 145, 82, 262, 180, - 306, 137, 59, 230, 108, 137, 170, 264, 180, 12, 294, 279, 12, 129, 116, 306, 238, 123, 132, 37, 175, 82, - 82, 139, 234, 12, 86, 142, 242, 145, 118, 230, 180, 145, 294, 264, 225, 182, 12, 12, 86, 12, 12, 61, 61, - 170, 132, 144, 12, 242, 12, 30, 242, 86, 86, 11, 12, 180, 118, 145, 294, 180, 170, 135, 12, 230, 86, - 242, 306, 294, 180, 12, 12, 180, 211, 37, 11, 16, 11, 242, 242, 228, 137, 264, 113, 80, 175, 170, 242, - 75, 306, 218, 218, 149, 221, 12, 82, 12, 170, 12, 12, 12, 12, 222, 12, 262, 168, 170, 170, 262, 63, 230, - 11, 11, 230, 180, 145, 230, 180, 226, 75, 170, 12, 155, 12, 12, 222, 12, 222, 299, 299, 245, 12, 299, - 170, 170, 12, 180, 218, 118, 145, 180, 170, 12, 218, 222, 230, 175, 230, 217, 180, 12, 230, 149, 80, 61, - 230, 230, 180, 222, 12, 222, 170, 175, 27, 222, 155, 145, 12, 63, 63, 173, 82, 12, 201, 170, 230, 147, - 79, 237, 222, 230, 170, 147, 12, 222 }; - } - - public final static char nasb[] = Nasb.nasb; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - public interface Nasr { - public final static char nasr[] = { 0, 3, 13, 10, 9, 137, 136, 113, 135, 134, 4, 2, 0, 166, 205, 0, 5, 105, 0, - 80, 0, 13, 2, 9, 10, 4, 52, 5, 36, 0, 4, 115, 182, 0, 5, 194, 0, 186, 4, 185, 0, 122, 0, 4, 10, 9, 2, - 13, 127, 5, 0, 154, 2, 75, 0, 167, 0, 123, 0, 159, 0, 121, 0, 42, 66, 0, 208, 0, 4, 2, 9, 10, 157, 0, - 140, 117, 0, 192, 0, 81, 148, 42, 10, 9, 2, 13, 4, 0, 166, 200, 0, 161, 0, 5, 212, 0, 42, 1, 0, 75, 156, - 155, 0, 13, 2, 9, 10, 4, 94, 0, 2, 131, 0, 5, 28, 0, 170, 0, 144, 0, 154, 75, 0, 173, 0, 5, 52, 213, 0, - 1, 140, 0, 42, 174, 0, 201, 0, 51, 0, 75, 54, 0, 210, 0, 5, 81, 0, 176, 0, 175, 0, 4, 115, 209, 0, 129, - 0, 2, 44, 0, 5, 191, 0, 30, 100, 101, 5, 0, 5, 36, 39, 0, 30, 101, 100, 78, 4, 2, 9, 10, 5, 0, 5, 10, 9, - 2, 78, 4, 98, 54, 0, 44, 2, 3, 0, 101, 100, 54, 4, 68, 0, 5, 195, 0, 5, 50, 93, 115, 48, 4, 0, 5, 50, - 42, 36, 196, 0, 197, 5, 52, 0, 81, 36, 50, 82, 5, 42, 0, 52, 5, 30, 0, 101, 100, 54, 78, 68, 4, 10, 9, - 2, 0, 2, 67, 0, 36, 5, 27, 198, 0, 137, 214, 136, 113, 135, 134, 0, 4, 10, 9, 13, 3, 1, 0, 132, 5, 50, - 93, 0, 2, 4, 113, 110, 111, 112, 13, 69, 0, 39, 4, 2, 9, 10, 5, 172, 0, 113, 69, 13, 110, 111, 112, 190, - 0, 5, 50, 93, 95, 0, 5, 52, 116, 0, 54, 4, 98, 27, 5, 0 }; - } - - public final static char nasr[] = Nasr.nasr; - - @Override - public final int nasr(int index) { - return nasr[index]; - } - - public interface TerminalIndex { - public final static char terminalIndex[] = { 0, 113, 114, 2, 31, 10, 13, 9, 79, 115, 100, 48, 52, 60, 68, 74, - 75, 86, 87, 102, 105, 107, 104, 54, 106, 47, 64, 66, 70, 73, 76, 83, 89, 98, 11, 12, 7, 8, 112, 14, 120, - 55, 61, 67, 84, 88, 90, 94, 97, 99, 109, 110, 111, 53, 19, 93, 63, 91, 101, 95, 1, 77, 122, 103, 20, 46, - 58, 78, 44, 121, 33, 30, 118, 119, 96, 108, 49, 50, 56, 57, 59, 69, 71, 72, 85, 92, 17, 18, 65, 21, 22, - 6, 23, 24, 25, 26, 27, 32, 4, 15, 16, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 51, 80, 81, 82, 5, - 117, 3, 123, 62, 116 }; - } - - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - - @Override - public final int terminalIndex(int index) { - return terminalIndex[index]; - } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = { 0, 130, 135, 136, 0, 0, 134, 0, 0, 237, 243, 133, 0, 143, 0, - 132, 0, 0, 142, 148, 0, 0, 149, 158, 159, 160, 161, 188, 151, 0, 126, 162, 141, 163, 164, 165, 131, 166, - 167, 128, 168, 0, 129, 138, 137, 170, 169, 171, 185, 0, 0, 195, 152, 172, 0, 173, 0, 0, 0, 0, 0, 174, - 175, 176, 0, 177, 180, 0, 155, 194, 0, 0, 0, 212, 0, 0, 145, 209, 213, 0, 214, 127, 179, 0, 0, 0, 0, 0, - 0, 183, 0, 0, 0, 0, 125, 186, 0, 0, 210, 216, 217, 218, 0, 220, 157, 0, 146, 0, 0, 215, 197, 198, 199, - 201, 227, 228, 182, 204, 0, 0, 219, 0, 0, 0, 0, 248, 0, 251, 0, 252, 0, 147, 187, 189, 190, 191, 192, - 196, 200, 203, 0, 206, 0, 207, 0, 222, 225, 0, 0, 0, 246, 0, 247, 0, 0, 139, 140, 144, 0, 0, 154, 156, - 0, 178, 0, 193, 0, 0, 0, 202, 0, 205, 211, 0, 223, 224, 0, 0, 229, 232, 0, 234, 236, 0, 240, 241, 242, - 245, 0, 0, 249, 124, 0, 150, 153, 0, 181, 0, 184, 0, 0, 208, 221, 226, 0, 0, 230, 231, 233, 235, 0, 238, - 239, 244, 250, 253, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - - @Override - public final int nonterminalIndex(int index) { - return nonterminalIndex[index]; - } - - public interface ScopePrefix { - public final static char scopePrefix[] = { 172, 324, 608, 627, 317, 332, 559, 575, 586, 597, 372, 280, 294, 311, - 344, 55, 305, 392, 430, 180, 616, 502, 20, 33, 64, 84, 93, 98, 103, 143, 208, 339, 350, 20, 467, 157, - 286, 300, 530, 40, 157, 382, 20, 635, 40, 230, 259, 1, 14, 27, 74, 89, 119, 27, 361, 365, 448, 495, 524, - 551, 555, 645, 649, 653, 110, 7, 110, 410, 426, 439, 460, 479, 543, 129, 129, 245, 439, 566, 582, 593, - 604, 220, 513, 69, 69, 169, 235, 238, 69, 254, 275, 238, 238, 69, 369, 492, 499, 169, 69, 668, 123, 355, - 414, 454, 486, 472, 69, 355, 401, 190, 117, 452, 657, 664, 657, 664, 78, 420, 150, 117, 117, 264 }; - } - - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - - @Override - public final int scopePrefix(int index) { - return scopePrefix[index]; - } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { 18, 148, 5, 5, 148, 148, 5, 5, 5, 5, 379, 148, 108, 148, 25, 61, 291, - 398, 436, 186, 80, 508, 25, 38, 38, 38, 72, 72, 108, 148, 213, 31, 31, 25, 5, 162, 291, 114, 535, 51, - 165, 387, 622, 640, 45, 224, 224, 5, 18, 31, 5, 72, 108, 31, 108, 108, 148, 257, 5, 5, 5, 5, 5, 257, - 666, 11, 114, 379, 379, 379, 464, 483, 535, 133, 138, 249, 443, 570, 570, 570, 570, 224, 517, 72, 72, 5, - 5, 241, 243, 257, 5, 278, 278, 243, 108, 5, 257, 5, 528, 5, 126, 358, 417, 457, 489, 475, 547, 538, 404, - 193, 108, 108, 659, 659, 661, 661, 80, 422, 152, 215, 200, 266 }; - } - - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - - @Override - public final int scopeSuffix(int index) { - return scopeSuffix[index]; - } - - public interface ScopeLhs { - public final static char scopeLhs[] = { 48, 112, 18, 18, 92, 112, 18, 18, 18, 18, 85, 97, 49, 92, 111, 90, 59, - 85, 84, 48, 18, 20, 190, 3, 7, 8, 182, 182, 178, 110, 48, 111, 111, 138, 45, 147, 60, 49, 157, 151, 147, - 85, 18, 18, 151, 102, 72, 153, 88, 190, 185, 182, 178, 138, 199, 57, 66, 161, 19, 18, 18, 18, 18, 18, - 12, 129, 178, 85, 84, 84, 64, 41, 157, 114, 114, 68, 84, 18, 18, 18, 18, 102, 20, 186, 182, 201, 100, - 109, 74, 80, 73, 172, 89, 138, 86, 162, 161, 192, 157, 17, 178, 138, 116, 83, 22, 45, 157, 157, 85, 48, - 178, 79, 155, 44, 155, 44, 185, 116, 110, 48, 48, 72 }; - } - - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - - @Override - public final int scopeLhs(int index) { - return scopeLhs[index]; - } - - public interface ScopeLa { - public final static byte scopeLa[] = { 113, 73, 72, 72, 73, 73, 72, 72, 72, 72, 72, 73, 40, 73, 1, 64, 1, 72, - 121, 69, 3, 72, 1, 64, 64, 64, 1, 1, 40, 73, 69, 1, 1, 1, 72, 73, 1, 1, 4, 64, 68, 40, 1, 1, 64, 72, 72, - 72, 113, 1, 72, 1, 40, 1, 40, 40, 73, 118, 72, 72, 72, 72, 72, 118, 1, 72, 1, 72, 72, 72, 71, 71, 4, 1, - 1, 5, 72, 64, 64, 64, 64, 72, 3, 1, 1, 72, 72, 3, 1, 118, 72, 1, 1, 1, 40, 72, 118, 72, 6, 72, 1, 55, - 70, 71, 72, 64, 1, 55, 75, 74, 40, 40, 4, 4, 4, 4, 3, 1, 69, 1, 1, 3 }; - } - - public final static byte scopeLa[] = ScopeLa.scopeLa; - - @Override - public final int scopeLa(int index) { - return scopeLa[index]; - } - - public interface ScopeStateSet { - public final static char scopeStateSet[] = { 85, 183, 284, 284, 107, 183, 284, 284, 284, 284, 95, 109, 85, 107, - 183, 107, 87, 95, 95, 85, 284, 284, 118, 214, 260, 260, 54, 54, 82, 183, 85, 183, 183, 185, 140, 371, - 87, 85, 165, 50, 371, 95, 284, 284, 50, 174, 66, 26, 95, 118, 30, 54, 82, 185, 22, 87, 33, 63, 284, 284, - 284, 284, 284, 284, 264, 6, 82, 95, 95, 95, 148, 344, 165, 183, 183, 124, 95, 284, 284, 284, 284, 174, - 284, 30, 54, 24, 174, 176, 66, 170, 66, 60, 71, 185, 95, 57, 63, 168, 165, 284, 82, 185, 1, 95, 285, - 140, 165, 165, 95, 85, 82, 11, 121, 189, 121, 189, 30, 1, 183, 85, 85, 66 }; - } - - public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; - - @Override - public final int scopeStateSet(int index) { - return scopeStateSet[index]; - } - - public interface ScopeRhs { - public final static char scopeRhs[] = { 0, 338, 3, 59, 0, 126, 0, 337, 3, 113, 0, 126, 180, 0, 127, 188, 74, 0, - 224, 0, 197, 166, 126, 10, 0, 136, 0, 166, 126, 10, 0, 135, 0, 271, 127, 54, 124, 0, 20, 0, 309, 127, - 54, 55, 0, 20, 53, 0, 33, 132, 0, 20, 53, 0, 0, 309, 127, 54, 55, 215, 0, 20, 186, 0, 271, 127, 54, 132, - 0, 189, 126, 0, 141, 0, 227, 3, 308, 0, 308, 0, 2, 0, 126, 0, 271, 127, 54, 131, 0, 189, 126, 237, 0, - 189, 126, 22, 237, 0, 189, 126, 332, 22, 0, 128, 197, 166, 126, 0, 128, 0, 197, 166, 126, 0, 134, 128, - 0, 172, 0, 328, 127, 172, 0, 127, 172, 0, 230, 128, 0, 166, 327, 235, 0, 136, 0, 0, 0, 0, 135, 0, 0, 0, - 0, 326, 127, 164, 236, 0, 127, 0, 236, 0, 129, 0, 0, 127, 0, 325, 127, 164, 270, 0, 127, 0, 0, 44, 127, - 0, 0, 150, 3, 0, 127, 296, 295, 127, 74, 294, 172, 0, 295, 127, 74, 294, 172, 0, 223, 0, 224, 0, 294, - 172, 0, 96, 0, 0, 223, 0, 224, 0, 211, 96, 0, 0, 223, 0, 224, 0, 295, 127, 294, 172, 0, 223, 0, 211, 0, - 0, 223, 0, 240, 127, 3, 0, 126, 0, 0, 0, 0, 0, 240, 127, 3, 222, 0, 231, 3, 0, 220, 127, 0, 216, 0, 146, - 0, 176, 166, 126, 0, 10, 0, 0, 0, 0, 226, 60, 0, 125, 0, 240, 127, 3, 195, 0, 195, 0, 2, 0, 0, 126, 0, - 0, 0, 0, 0, 211, 3, 0, 209, 0, 252, 127, 164, 38, 27, 0, 189, 126, 61, 63, 0, 204, 128, 0, 128, 189, - 126, 292, 63, 0, 189, 126, 292, 63, 0, 189, 126, 70, 123, 61, 0, 252, 127, 164, 262, 61, 0, 252, 127, - 164, 262, 239, 61, 0, 289, 290, 127, 164, 123, 322, 56, 0, 289, 290, 127, 164, 322, 56, 0, 189, 126, - 288, 56, 0, 197, 189, 126, 288, 235, 0, 189, 126, 288, 235, 0, 166, 126, 0, 93, 136, 0, 286, 127, 149, - 0, 286, 127, 172, 0, 158, 84, 0, 317, 161, 319, 320, 3, 81, 0, 126, 179, 0, 319, 320, 3, 81, 0, 128, 0, - 126, 179, 0, 158, 3, 75, 204, 80, 0, 126, 128, 0, 204, 80, 0, 108, 2, 131, 126, 128, 0, 238, 3, 75, 0, - 211, 174, 0, 33, 169, 0, 174, 0, 183, 33, 169, 0, 238, 3, 85, 0, 204, 152, 238, 3, 83, 0, 62, 179, 0, - 238, 3, 83, 0, 126, 179, 62, 179, 0, 318, 127, 164, 0, 158, 0, 226, 77, 0, 30, 179, 0, 158, 102, 185, 0, - 30, 177, 0, 148, 64, 167, 3, 0, 167, 3, 0, 20, 161, 126, 0, 158, 102, 162, 0, 30, 169, 0, 198, 3, 0, - 126, 149, 0, 227, 3, 0, 226, 60, 283, 0, 158, 60, 0, 198, 3, 314, 67, 126, 0, 126, 0, 0, 0, 0, 314, 67, - 126, 0, 2, 145, 126, 0, 0, 0, 0, 198, 3, 45, 0, 147, 0, 125, 55, 166, 126, 0, 31, 147, 0, 93, 136, 31, - 147, 0, 228, 189, 126, 0, 146, 31, 147, 0, 198, 3, 49, 0, 158, 3, 49, 0, 158, 3, 64, 198, 54, 41, 0, - 198, 54, 41, 0, 20, 2, 131, 126, 0, 158, 3, 64, 198, 54, 44, 0, 198, 54, 44, 0, 158, 3, 64, 198, 54, 46, - 0, 198, 54, 46, 0, 158, 3, 64, 198, 54, 42, 0, 198, 54, 42, 0, 227, 3, 125, 197, 166, 126, 10, 0, 125, - 197, 166, 126, 10, 0, 136, 2, 0, 126, 0, 227, 3, 124, 276, 166, 126, 10, 0, 276, 166, 126, 10, 0, 135, - 2, 0, 126, 0, 227, 3, 135, 0, 227, 3, 140, 0, 158, 60, 140, 0, 278, 0, 31, 0, 31, 139, 0, 165, 0, 134, - 0, 158, 3, 0 }; - } - - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - - @Override - public final int scopeRhs(int index) { - return scopeRhs[index]; - } - - public interface ScopeState { - public final static char scopeState[] = { 0, 4466, 6304, 6248, 6150, 0, 3260, 2778, 2973, 2704, 0, 5301, 5239, - 5172, 5040, 4978, 4916, 4854, 4792, 4730, 4509, 4447, 4794, 0, 2313, 0, 1983, 1936, 1654, 0, 2511, 739, - 0, 5301, 5239, 2377, 1613, 5172, 5040, 4978, 4916, 4854, 4792, 980, 4730, 4509, 4447, 2572, 2309, 0, - 4674, 4930, 3461, 0, 718, 2767, 0, 1038, 914, 0, 750, 6008, 0, 1312, 1202, 0, 5985, 750, 5415, 4682, - 6008, 4598, 5129, 2420, 2222, 3838, 796, 653, 4220, 4206, 4166, 0, 5192, 4369, 0, 5192, 4369, 5833, - 6201, 6140, 5820, 6125, 6051, 5807, 6027, 5301, 5239, 5172, 5040, 4978, 4916, 4854, 4792, 4730, 4509, - 4447, 0, 5192, 4369, 5833, 6201, 6140, 5820, 6125, 6051, 5807, 6027, 0, 6021, 5363, 0, 2284, 1320, 0, - 3838, 5985, 4737, 5415, 4682, 6219, 4220, 2957, 3905, 810, 6187, 4312, 2301, 2959, 648, 0, 3333, 3434, - 3617, 3526, 3851, 3811, 3699, 672, 2917, 994, 2851, 2785, 2719, 2653, 2587, 2521, 2455, 2389, 2323, - 2257, 2191, 926, 834, 766, 0, 2552, 1060, 0, 1111, 0, 2291, 1175, 1048, 649, 4682, 4312, 4598, 4206, - 4166, 3889, 3883, 3118, 0, 6021, 5363, 5932, 600, 4250, 0, 5829, 5808, 5428, 5312, 5180, 5166, 5007, - 4945, 4883, 4862, 6267, 6161, 4800, 4731, 6094, 5842, 5330, 4270, 5173, 4476, 4455, 4448, 4350, 3328, 0, - 1857, 1810, 5829, 5808, 5428, 1763, 1669, 5312, 1042, 5180, 5166, 5007, 4945, 4883, 2485, 2186, 2092, - 2045, 4862, 1998, 6267, 6161, 1951, 1904, 1716, 1619, 4800, 4731, 1523, 1427, 6094, 3125, 5842, 2139, - 5330, 4270, 5173, 1348, 4476, 4455, 4448, 5932, 963, 4250, 4350, 3328, 2815, 2749, 2683, 1410, 901, - 4598, 5129, 2420, 2222, 3838, 5985, 796, 750, 5415, 4682, 653, 4220, 4206, 6008, 4166, 2617, 1024, 2552, - 1060, 5785, 2917, 4179, 994, 3333, 2851, 2785, 2719, 2653, 2587, 2521, 2455, 2389, 2323, 2257, 2191, - 3434, 3617, 3526, 3851, 3811, 3699, 4139, 4112, 4085, 5762, 672, 5739, 926, 834, 766, 1079, 3396, 3582, - 3490, 3779, 3747, 3665, 4421, 4322, 4058, 4031, 4004, 3931, 5390, 5142, 4702, 4638, 4611, 5716, 5693, - 5670, 5647, 5624, 5601, 5578, 5554, 5524, 5501, 5435, 2983, 3270, 3228, 3171, 3129, 3072, 3030, 1481, - 1431, 1368, 2144, 1321, 2097, 2050, 2003, 1956, 1909, 1862, 1815, 1768, 1721, 1674, 1627, 600, 1577, - 1528, 1273, 1170, 1123, 1219, 0 }; - } - - public final static char scopeState[] = ScopeState.scopeState; - - @Override - public final int scopeState(int index) { - return scopeState[index]; - } - - public interface InSymb { - public final static char inSymb[] = { 0, 0, 313, 127, 285, 49, 41, 44, 46, 42, 10, 135, 124, 131, 8, 132, 4, 3, - 126, 45, 39, 6, 35, 34, 5, 7, 37, 36, 140, 145, 147, 146, 153, 148, 156, 155, 159, 157, 160, 59, 162, - 68, 3, 54, 54, 54, 54, 126, 3, 54, 54, 174, 127, 60, 3, 66, 67, 54, 6, 198, 158, 174, 127, 66, 67, 166, - 165, 124, 3, 123, 125, 117, 119, 3, 60, 91, 98, 35, 34, 100, 99, 5, 90, 89, 64, 54, 86, 87, 7, 93, 92, - 95, 94, 96, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 70, 102, 101, 198, 158, 198, 198, 198, - 198, 166, 227, 127, 127, 127, 255, 256, 236, 257, 235, 258, 56, 287, 259, 10, 126, 60, 60, 127, 124, - 152, 127, 60, 3, 223, 222, 135, 125, 124, 10, 126, 60, 314, 3, 197, 4, 198, 55, 126, 55, 227, 158, 146, - 146, 145, 145, 145, 148, 148, 148, 148, 147, 147, 155, 153, 153, 157, 156, 159, 158, 160, 64, 64, 64, - 64, 197, 276, 271, 127, 249, 3, 167, 148, 175, 169, 183, 177, 184, 185, 274, 271, 220, 126, 176, 164, - 327, 288, 322, 288, 126, 189, 166, 271, 220, 226, 162, 231, 127, 3, 126, 166, 216, 3, 315, 174, 150, - 278, 197, 126, 189, 166, 71, 3, 3, 3, 3, 125, 124, 255, 256, 257, 258, 336, 259, 10, 167, 90, 89, 54, 7, - 93, 92, 95, 94, 96, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 70, 102, 101, 68, 166, 7, 5, 127, - 166, 243, 125, 124, 126, 123, 164, 126, 166, 55, 240, 241, 149, 242, 127, 166, 55, 198, 127, 127, 4, - 228, 6, 55, 158, 158, 158, 158, 3, 3, 126, 64, 148, 148, 148, 169, 167, 167, 177, 175, 183, 158, 184, - 176, 176, 326, 126, 170, 237, 61, 55, 215, 63, 172, 329, 125, 124, 244, 244, 189, 164, 127, 189, 197, - 152, 70, 231, 211, 200, 195, 126, 3, 127, 68, 240, 197, 152, 280, 283, 60, 190, 4, 123, 125, 227, 227, - 166, 148, 71, 5, 127, 166, 262, 239, 54, 55, 292, 294, 127, 3, 195, 244, 244, 127, 127, 197, 127, 290, - 123, 291, 127, 70, 70, 3, 189, 166, 211, 127, 220, 152, 125, 127, 3, 60, 158, 4, 197, 176, 173, 197, - 164, 262, 64, 54, 126, 74, 127, 220, 328, 71, 303, 211, 124, 126, 127, 127, 127, 71, 290, 289, 70, 68, - 229, 127, 127, 280, 227, 226, 127, 128, 127, 164, 27, 55, 172, 65, 61, 63, 127, 189, 127, 295, 71, 68, - 71, 70, 166, 220, 331, 237, 22, 126, 289, 127, 240, 229, 252, 254, 127, 38, 127, 3, 123, 61, 309, 55, - 10, 53, 128, 295, 164, 307, 126, 308, 68, 126, 22, 332, 189, 59, 152, 127, 252, 127, 164, 286, 265, 293, - 38, 70, 126, 68, 64, 54, 243, 243, 296, 127, 68, 189, 3, 189, 126, 126, 3, 127, 127, 3, 70, 68, 152, - 126, 189, 127, 70, 70, 127, 318, 79, 77, 1, 158, 9, 85, 83, 81, 80, 75, 82, 84, 78, 76, 61, 74, 227, - 189, 189, 338, 229, 252, 150, 164, 270, 189, 239, 309, 297, 113, 9, 71, 226, 71, 3, 3, 3, 204, 3, 123, - 158, 123, 188, 68, 127, 127, 164, 239, 64, 3, 71, 238, 174, 238, 320, 149, 75, 238, 127, 127, 53, 97, - 337, 174, 152, 211, 152, 319, 127, 3, 152, 297, 325, 243, 152, 152, 127, 70, 204, 161, 286, 158, 203, - 68, 70, 121, 317, 152, 203, 9, 152 }; - } - - public final static char inSymb[] = InSymb.inSymb; - - @Override - public final int inSymb(int index) { - return inSymb[index]; - } - - public interface Name { - public final static String name[] = { "", "[", "(", ".", ".*", "->", "->*", "++", "--", "&", "*", "+", "-", "~", - "!", "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "::", - "...", "=", "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", "$empty", "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", - "ERROR_TOKEN", "EOF_TOKEN", "expression_parser_start", "]", ")", "}", ";", "{", "identifier_token", - "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_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" }; - } - - public final static String name[] = Name.name; - - @Override - public final String name(int index) { - return name[index]; - } - - public final static int ERROR_SYMBOL = 62, SCOPE_UBOUND = 121, SCOPE_SIZE = 122, MAX_NAME_LENGTH = 43; - - @Override - public final int getErrorSymbol() { - return ERROR_SYMBOL; - } - - @Override - public final int getScopeUbound() { - return SCOPE_UBOUND; - } - - @Override - public final int getScopeSize() { - return SCOPE_SIZE; - } - - @Override - public final int getMaxNameLength() { - return MAX_NAME_LENGTH; - } - - public final static int NUM_STATES = 604, NT_OFFSET = 122, LA_STATE_OFFSET = 7461, MAX_LA = 2147483647, - NUM_RULES = 599, NUM_NONTERMINALS = 225, NUM_SYMBOLS = 347, SEGMENT_SIZE = 8192, START_STATE = 3365, - IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, ACCEPT_ACTION = 6422, ERROR_ACTION = 6862; - - public final static boolean BACKTRACK = true; - - @Override - public final int getNumStates() { - return NUM_STATES; - } - - @Override - public final int getNtOffset() { - return NT_OFFSET; - } - - @Override - public final int getLaStateOffset() { - return LA_STATE_OFFSET; - } - - @Override - public final int getMaxLa() { - return MAX_LA; - } - - @Override - public final int getNumRules() { - return NUM_RULES; - } - - @Override - public final int getNumNonterminals() { - return NUM_NONTERMINALS; - } - - @Override - public final int getNumSymbols() { - return NUM_SYMBOLS; - } - - @Override - public final int getSegmentSize() { - return SEGMENT_SIZE; - } - - @Override - public final int getStartState() { - return START_STATE; - } - - @Override - public final int getStartSymbol() { - return lhs[0]; - } - - public final int getIdentifierSymbol() { - return IDENTIFIER_SYMBOL; - } - - @Override - public final int getEoftSymbol() { - return EOFT_SYMBOL; - } - - @Override - public final int getEoltSymbol() { - return EOLT_SYMBOL; - } - - @Override - public final int getAcceptAction() { - return ACCEPT_ACTION; - } - - @Override - public final int getErrorAction() { - return ERROR_ACTION; - } - - @Override - public final boolean isValidForParser() { - return isValidForParser; - } - - @Override - public final boolean getBacktrack() { - return BACKTRACK; - } - - @Override - public final int originalState(int state) { - return -baseCheck[state]; - } - - @Override - public final int asi(int state) { - return asb[originalState(state)]; - } - - @Override - public final int nasi(int state) { - return nasb[originalState(state)]; - } - - @Override - public final int inSymbol(int state) { - return inSymb[originalState(state)]; - } - - @Override - public final int ntAction(int state, int sym) { - return baseAction[state + sym]; - } - - @Override - public final int tAction(int state, int sym) { - int i = baseAction[state], k = i + sym; - return termAction[termCheck[k] == sym ? k : i]; - } - - @Override - 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/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java deleted file mode 100644 index 2346aa34461..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2010 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -public interface CPPExpressionParsersym { - public final static int TK_asm = 65, TK_auto = 25, TK_bool = 11, TK_break = 76, TK_case = 77, TK_catch = 113, - TK_char = 12, TK_class = 53, TK_const = 23, TK_const_cast = 41, TK_continue = 78, TK_default = 79, - TK_delete = 66, TK_do = 80, TK_double = 13, TK_dynamic_cast = 42, TK_else = 121, TK_enum = 56, - TK_explicit = 26, TK_export = 88, TK_extern = 27, TK_false = 43, TK_float = 14, TK_for = 81, TK_friend = 28, - TK_goto = 82, TK_if = 83, TK_inline = 29, TK_int = 15, TK_long = 16, TK_mutable = 30, TK_namespace = 61, - TK_new = 67, TK_operator = 8, TK_private = 114, TK_protected = 115, TK_public = 116, TK_register = 31, - TK_reinterpret_cast = 44, TK_return = 84, TK_short = 17, TK_signed = 18, TK_sizeof = 45, TK_static = 32, - TK_static_cast = 46, TK_struct = 57, TK_switch = 85, TK_template = 55, TK_this = 47, TK_throw = 59, - TK_try = 74, TK_true = 48, TK_typedef = 33, TK_typeid = 49, TK_typename = 10, TK_union = 58, - TK_unsigned = 19, TK_using = 63, TK_virtual = 22, TK_void = 20, TK_volatile = 24, TK_wchar_t = 21, - TK_while = 75, TK_integer = 50, TK_floating = 51, TK_charconst = 52, TK_stringlit = 38, TK_identifier = 1, - TK_Completion = 2, TK_EndOfCompletion = 9, TK_Invalid = 122, TK_LeftBracket = 60, TK_LeftParen = 3, - TK_Dot = 119, TK_DotStar = 98, TK_Arrow = 117, TK_ArrowStar = 91, TK_PlusPlus = 36, TK_MinusMinus = 37, - TK_And = 7, TK_Star = 5, TK_Plus = 34, TK_Minus = 35, TK_Tilde = 6, TK_Bang = 39, TK_Slash = 99, - TK_Percent = 100, TK_RightShift = 86, TK_LeftShift = 87, TK_LT = 54, TK_GT = 64, TK_LE = 89, TK_GE = 90, - TK_EQ = 92, TK_NE = 93, TK_Caret = 94, TK_Or = 95, TK_AndAnd = 96, TK_OrOr = 101, TK_Question = 102, - TK_Colon = 71, TK_ColonColon = 4, TK_DotDotDot = 97, TK_Assign = 70, TK_StarAssign = 103, - TK_SlashAssign = 104, TK_PercentAssign = 105, TK_PlusAssign = 106, TK_MinusAssign = 107, - TK_RightShiftAssign = 108, TK_LeftShiftAssign = 109, TK_AndAssign = 110, TK_CaretAssign = 111, - TK_OrAssign = 112, TK_Comma = 68, TK_RightBracket = 118, TK_RightParen = 72, TK_RightBrace = 73, - TK_SemiColon = 40, TK_LeftBrace = 69, TK_ERROR_TOKEN = 62, TK_EOF_TOKEN = 120; - - public final static String orderedTerminalSymbols[] = { "", "identifier", "Completion", "LeftParen", "ColonColon", - "Star", "Tilde", "And", "operator", "EndOfCompletion", "typename", "bool", "char", "double", "float", "int", - "long", "short", "signed", "unsigned", "void", "wchar_t", "virtual", "const", "volatile", "auto", - "explicit", "extern", "friend", "inline", "mutable", "register", "static", "typedef", "Plus", "Minus", - "PlusPlus", "MinusMinus", "stringlit", "Bang", "SemiColon", "const_cast", "dynamic_cast", "false", - "reinterpret_cast", "sizeof", "static_cast", "this", "true", "typeid", "integer", "floating", "charconst", - "class", "LT", "template", "enum", "struct", "union", "throw", "LeftBracket", "namespace", "ERROR_TOKEN", - "using", "GT", "asm", "delete", "new", "Comma", "LeftBrace", "Assign", "Colon", "RightParen", "RightBrace", - "try", "while", "break", "case", "continue", "default", "do", "for", "goto", "if", "return", "switch", - "RightShift", "LeftShift", "export", "LE", "GE", "ArrowStar", "EQ", "NE", "Caret", "Or", "AndAnd", - "DotDotDot", "DotStar", "Slash", "Percent", "OrOr", "Question", "StarAssign", "SlashAssign", - "PercentAssign", "PlusAssign", "MinusAssign", "RightShiftAssign", "LeftShiftAssign", "AndAssign", - "CaretAssign", "OrAssign", "catch", "private", "protected", "public", "Arrow", "RightBracket", "Dot", - "EOF_TOKEN", "else", "Invalid" }; - - public final static boolean isValidForParser = true; -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java deleted file mode 100644 index 2e64b13e11d..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java +++ /dev/null @@ -1,2859 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -import java.util.List; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCastExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTypeIdExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUnaryExpression; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction; -import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory; - -import lpg.lpgjavaruntime.BadParseException; -import lpg.lpgjavaruntime.BadParseSymFileException; -import lpg.lpgjavaruntime.DiagnoseParser; -import lpg.lpgjavaruntime.ErrorToken; -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.LexStream; -import lpg.lpgjavaruntime.Monitor; -import lpg.lpgjavaruntime.NotBacktrackParseTableException; -import lpg.lpgjavaruntime.NullExportedSymbolsException; -import lpg.lpgjavaruntime.NullTerminalSymbolsException; -import lpg.lpgjavaruntime.ParseErrorCodes; -import lpg.lpgjavaruntime.ParseTable; -import lpg.lpgjavaruntime.PrsStream; -import lpg.lpgjavaruntime.RuleAction; -import lpg.lpgjavaruntime.Token; -import lpg.lpgjavaruntime.UndefinedEofSymbolException; -import lpg.lpgjavaruntime.UnimplementedTerminalsException; - -public class CPPNoCastExpressionParser extends PrsStream - implements RuleAction, ITokenStream, ITokenCollector, ISecondaryParser { - private static ParseTable prs = new CPPNoCastExpressionParserprs(); - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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 CPPNoCastExpressionParser(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), CPPNoCastExpressionParserprs.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(" " + CPPNoCastExpressionParsersym.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " - + CPPNoCastExpressionParsersym.orderedTerminalSymbols[CPPNoCastExpressionParserprs.EOFT_SYMBOL])); - } - } - - @Override - public String[] orderedTerminalSymbols() { - return CPPNoCastExpressionParsersym.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return CPPNoCastExpressionParsersym.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return CPPNoCastExpressionParserprs.EOFT_SYMBOL; - } - - public PrsStream getParseStream() { - return 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, this, prs, this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException( - "Regenerate CPPNoCastExpressionParserprs.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error( - new BadParseSymFileException("Bad Parser Symbol File -- CPPNoCastExpressionParsersym.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 CPPBuildASTParserAction action; - private IASTCompletionNode compNode; - - public CPPNoCastExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, - IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new CPPBuildASTParserAction(this, astStack, CPPNodeFactory.getDefault(), - CPPSecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - public IASTExpression 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 (IASTExpression) action.getParseResult(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return CPPNoCastExpressionParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "CPPNoCastExpressionParser"; - } - - private ITokenMap tokenMap = null; - - @Override - public void setTokens(List tokens) { - resetTokenStream(); - addToken(new Token(null, 0, 0, 0)); // dummy token - for (IToken token : tokens) { - token.setKind(tokenMap.mapKind(token.getKind())); - addToken(token); - } - addToken(new Token(null, 0, 0, CPPNoCastExpressionParsersym.TK_EOF_TOKEN)); - } - - public CPPNoCastExpressionParser(ITokenStream stream, Map properties) { // constructor for creating secondary parser - initActions(properties); - tokenMap = new TokenMap(CPPNoCastExpressionParsersym.orderedTerminalSymbols, - stream.getOrderedTerminalSymbols()); - } - - public CPPNoCastExpressionParser(ITokenStream stream, IScanner scanner, - IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { // constructor for creating secondary parser - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - tokenMap = new TokenMap(CPPNoCastExpressionParsersym.orderedTerminalSymbols, - stream.getOrderedTerminalSymbols()); - } - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 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 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 ) 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 ::= 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 108: pm_expression ::= pm_expression .* cast_expression - // - case 108: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); - break; - } - - // - // Rule 109: pm_expression ::= pm_expression ->* cast_expression - // - case 109: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); - break; - } - - // - // Rule 111: multiplicative_expression ::= multiplicative_expression * pm_expression - // - case 111: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); - break; - } - - // - // Rule 112: multiplicative_expression ::= multiplicative_expression / pm_expression - // - case 112: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); - break; - } - - // - // Rule 113: multiplicative_expression ::= multiplicative_expression % pm_expression - // - case 113: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); - break; - } - - // - // Rule 115: additive_expression ::= additive_expression + multiplicative_expression - // - case 115: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); - break; - } - - // - // Rule 116: additive_expression ::= additive_expression - multiplicative_expression - // - case 116: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); - break; - } - - // - // Rule 118: shift_expression ::= shift_expression << additive_expression - // - case 118: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); - break; - } - - // - // Rule 119: shift_expression ::= shift_expression >> additive_expression - // - case 119: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); - break; - } - - // - // Rule 121: relational_expression ::= relational_expression < shift_expression - // - case 121: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); - break; - } - - // - // Rule 122: relational_expression ::= relational_expression > shift_expression - // - case 122: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); - break; - } - - // - // Rule 123: relational_expression ::= relational_expression <= shift_expression - // - case 123: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); - break; - } - - // - // Rule 124: relational_expression ::= relational_expression >= shift_expression - // - case 124: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); - break; - } - - // - // Rule 126: equality_expression ::= equality_expression == relational_expression - // - case 126: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); - break; - } - - // - // Rule 127: equality_expression ::= equality_expression != relational_expression - // - case 127: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); - break; - } - - // - // Rule 129: and_expression ::= and_expression & equality_expression - // - case 129: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); - break; - } - - // - // Rule 131: exclusive_or_expression ::= exclusive_or_expression ^ and_expression - // - case 131: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); - break; - } - - // - // Rule 133: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression - // - case 133: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); - break; - } - - // - // Rule 135: logical_and_expression ::= logical_and_expression && inclusive_or_expression - // - case 135: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); - break; - } - - // - // Rule 137: logical_or_expression ::= logical_or_expression || logical_and_expression - // - case 137: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); - break; - } - - // - // Rule 139: conditional_expression ::= logical_or_expression ? expression : assignment_expression - // - case 139: { - action.consumeExpressionConditional(); - break; - } - - // - // Rule 141: relational_expression_inTemplate ::= relational_expression_inTemplate < shift_expression - // - case 141: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); - break; - } - - // - // Rule 142: relational_expression_inTemplate ::= ( relational_expression_inTemplate > shift_expression ) - // - case 142: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); - break; - } - - // - // Rule 143: relational_expression_inTemplate ::= relational_expression_inTemplate <= shift_expression - // - case 143: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); - break; - } - - // - // Rule 144: relational_expression_inTemplate ::= relational_expression_inTemplate >= shift_expression - // - case 144: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); - break; - } - - // - // Rule 146: equality_expression_inTemplate ::= equality_expression_inTemplate == relational_expression_inTemplate - // - case 146: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); - break; - } - - // - // Rule 147: equality_expression_inTemplate ::= equality_expression_inTemplate != relational_expression_inTemplate - // - case 147: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); - break; - } - - // - // Rule 149: and_expression_inTemplate ::= and_expression_inTemplate & equality_expression_inTemplate - // - case 149: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); - break; - } - - // - // Rule 151: exclusive_or_expression_inTemplate ::= exclusive_or_expression_inTemplate ^ and_expression_inTemplate - // - case 151: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); - break; - } - - // - // Rule 153: inclusive_or_expression_inTemplate ::= inclusive_or_expression_inTemplate | exclusive_or_expression_inTemplate - // - case 153: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); - break; - } - - // - // Rule 155: logical_and_expression_inTemplate ::= logical_and_expression_inTemplate && inclusive_or_expression_inTemplate - // - case 155: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); - break; - } - - // - // Rule 157: logical_or_expression_inTemplate ::= logical_or_expression_inTemplate || logical_and_expression_inTemplate - // - case 157: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); - break; - } - - // - // Rule 159: conditional_expression_inTemplate ::= logical_or_expression_inTemplate ? expression : assignment_expression_inTemplate - // - case 159: { - action.consumeExpressionConditional(); - break; - } - - // - // Rule 162: assignment_expression_inTemplate ::= logical_or_expression_inTemplate = assignment_expression_inTemplate - // - case 162: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); - break; - } - - // - // Rule 163: assignment_expression_inTemplate ::= logical_or_expression_inTemplate *= assignment_expression_inTemplate - // - case 163: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); - break; - } - - // - // Rule 164: assignment_expression_inTemplate ::= logical_or_expression_inTemplate /= assignment_expression_inTemplate - // - case 164: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); - break; - } - - // - // Rule 165: assignment_expression_inTemplate ::= logical_or_expression_inTemplate %= assignment_expression_inTemplate - // - case 165: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); - break; - } - - // - // Rule 166: assignment_expression_inTemplate ::= logical_or_expression_inTemplate += assignment_expression_inTemplate - // - case 166: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); - break; - } - - // - // Rule 167: assignment_expression_inTemplate ::= logical_or_expression_inTemplate -= assignment_expression_inTemplate - // - case 167: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); - break; - } - - // - // Rule 168: assignment_expression_inTemplate ::= logical_or_expression_inTemplate >>= assignment_expression_inTemplate - // - case 168: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); - break; - } - - // - // Rule 169: assignment_expression_inTemplate ::= logical_or_expression_inTemplate <<= assignment_expression_inTemplate - // - case 169: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); - break; - } - - // - // Rule 170: assignment_expression_inTemplate ::= logical_or_expression_inTemplate &= assignment_expression_inTemplate - // - case 170: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); - break; - } - - // - // Rule 171: assignment_expression_inTemplate ::= logical_or_expression_inTemplate ^= assignment_expression_inTemplate - // - case 171: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); - break; - } - - // - // Rule 172: assignment_expression_inTemplate ::= logical_or_expression_inTemplate |= assignment_expression_inTemplate - // - case 172: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); - break; - } - - // - // Rule 173: throw_expression ::= throw - // - case 173: { - action.consumeExpressionThrow(false); - break; - } - - // - // Rule 174: throw_expression ::= throw assignment_expression - // - case 174: { - action.consumeExpressionThrow(true); - break; - } - - // - // Rule 177: assignment_expression ::= logical_or_expression = assignment_expression - // - case 177: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); - break; - } - - // - // Rule 178: assignment_expression ::= logical_or_expression *= assignment_expression - // - case 178: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); - break; - } - - // - // Rule 179: assignment_expression ::= logical_or_expression /= assignment_expression - // - case 179: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); - break; - } - - // - // Rule 180: assignment_expression ::= logical_or_expression %= assignment_expression - // - case 180: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); - break; - } - - // - // Rule 181: assignment_expression ::= logical_or_expression += assignment_expression - // - case 181: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); - break; - } - - // - // Rule 182: assignment_expression ::= logical_or_expression -= assignment_expression - // - case 182: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); - break; - } - - // - // Rule 183: assignment_expression ::= logical_or_expression >>= assignment_expression - // - case 183: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); - break; - } - - // - // Rule 184: assignment_expression ::= logical_or_expression <<= assignment_expression - // - case 184: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); - break; - } - - // - // Rule 185: assignment_expression ::= logical_or_expression &= assignment_expression - // - case 185: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); - break; - } - - // - // Rule 186: assignment_expression ::= logical_or_expression ^= assignment_expression - // - case 186: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); - break; - } - - // - // Rule 187: assignment_expression ::= logical_or_expression |= assignment_expression - // - case 187: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); - break; - } - - // - // Rule 189: expression_list ::= expression_list_actual - // - case 189: { - action.consumeExpressionList(); - break; - } - - // - // Rule 193: expression_list_opt ::= $Empty - // - case 193: { - action.consumeEmpty(); - break; - } - - // - // Rule 195: expression_opt ::= $Empty - // - case 195: { - action.consumeEmpty(); - break; - } - - // - // Rule 198: constant_expression_opt ::= $Empty - // - case 198: { - action.consumeEmpty(); - break; - } - - // - // Rule 207: statement ::= ERROR_TOKEN - // - case 207: { - action.consumeStatementProblem(); - break; - } - - // - // Rule 208: labeled_statement ::= identifier : statement - // - case 208: { - action.consumeStatementLabeled(); - break; - } - - // - // Rule 209: labeled_statement ::= case constant_expression : statement - // - case 209: { - action.consumeStatementCase(); - break; - } - - // - // Rule 210: labeled_statement ::= default : statement - // - case 210: { - action.consumeStatementDefault(); - break; - } - - // - // Rule 211: expression_statement ::= expression ; - // - case 211: { - action.consumeStatementExpression(); - break; - } - - // - // Rule 212: expression_statement ::= ; - // - case 212: { - action.consumeStatementNull(); - break; - } - - // - // Rule 213: compound_statement ::= { statement_seq } - // - case 213: { - action.consumeStatementCompoundStatement(true); - break; - } - - // - // Rule 214: compound_statement ::= { } - // - case 214: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 217: selection_statement ::= if ( condition ) statement - // - case 217: { - action.consumeStatementIf(false); - break; - } - - // - // Rule 218: selection_statement ::= if ( condition ) statement else statement - // - case 218: { - action.consumeStatementIf(true); - break; - } - - // - // Rule 219: selection_statement ::= switch ( condition ) statement - // - case 219: { - action.consumeStatementSwitch(); - break; - } - - // - // Rule 221: condition ::= type_specifier_seq declarator = assignment_expression - // - case 221: { - action.consumeConditionDeclaration(); - break; - } - - // - // Rule 223: condition_opt ::= $Empty - // - case 223: { - action.consumeEmpty(); - break; - } - - // - // Rule 224: iteration_statement ::= while ( condition ) statement - // - case 224: { - action.consumeStatementWhileLoop(); - break; - } - - // - // Rule 225: iteration_statement ::= do statement while ( expression ) ; - // - case 225: { - action.consumeStatementDoLoop(true); - break; - } - - // - // Rule 226: iteration_statement ::= do statement - // - case 226: { - action.consumeStatementDoLoop(false); - break; - } - - // - // Rule 227: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement - // - case 227: { - action.consumeStatementForLoop(); - break; - } - - // - // Rule 229: for_init_statement ::= simple_declaration_with_declspec - // - case 229: { - action.consumeStatementDeclaration(); - break; - } - - // - // Rule 230: jump_statement ::= break ; - // - case 230: { - action.consumeStatementBreak(); - break; - } - - // - // Rule 231: jump_statement ::= continue ; - // - case 231: { - action.consumeStatementContinue(); - break; - } - - // - // Rule 232: jump_statement ::= return expression ; - // - case 232: { - action.consumeStatementReturn(true); - break; - } - - // - // Rule 233: jump_statement ::= return ; - // - case 233: { - action.consumeStatementReturn(false); - break; - } - - // - // Rule 234: jump_statement ::= goto identifier_token ; - // - case 234: { - action.consumeStatementGoto(); - break; - } - - // - // Rule 235: declaration_statement ::= block_declaration - // - case 235: { - action.consumeStatementDeclarationWithDisambiguation(); - break; - } - - // - // Rule 236: declaration_statement ::= function_definition - // - case 236: { - action.consumeStatementDeclaration(); - break; - } - - // - // Rule 244: declaration ::= ERROR_TOKEN - // - case 244: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 254: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; - // - case 254: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 255: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; - // - case 255: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 256: declaration_specifiers ::= simple_declaration_specifiers - // - case 256: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 257: declaration_specifiers ::= class_declaration_specifiers - // - case 257: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 258: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 258: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 259: declaration_specifiers ::= enum_declaration_specifiers - // - case 259: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 260: declaration_specifiers ::= type_name_declaration_specifiers - // - case 260: { - action.consumeDeclarationSpecifiersTypeName(); - break; - } - - // - // Rule 262: declaration_specifiers_opt ::= $Empty - // - case 262: { - action.consumeEmpty(); - break; - } - - // - // Rule 266: no_type_declaration_specifier ::= friend - // - case 266: { - action.consumeToken(); - break; - } - - // - // Rule 267: no_type_declaration_specifier ::= typedef - // - case 267: { - action.consumeToken(); - break; - } - - // - // Rule 287: storage_class_specifier ::= auto - // - case 287: { - action.consumeToken(); - break; - } - - // - // Rule 288: storage_class_specifier ::= register - // - case 288: { - action.consumeToken(); - break; - } - - // - // Rule 289: storage_class_specifier ::= static - // - case 289: { - action.consumeToken(); - break; - } - - // - // Rule 290: storage_class_specifier ::= extern - // - case 290: { - action.consumeToken(); - break; - } - - // - // Rule 291: storage_class_specifier ::= mutable - // - case 291: { - action.consumeToken(); - break; - } - - // - // Rule 292: function_specifier ::= inline - // - case 292: { - action.consumeToken(); - break; - } - - // - // Rule 293: function_specifier ::= virtual - // - case 293: { - action.consumeToken(); - break; - } - - // - // Rule 294: function_specifier ::= explicit - // - case 294: { - action.consumeToken(); - break; - } - - // - // Rule 295: simple_type_specifier ::= simple_type_specifier_token - // - case 295: { - action.consumeToken(); - break; - } - - // - // Rule 309: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name - // - case 309: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 310: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name - // - case 310: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 311: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name - // - case 311: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 312: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name - // - case 312: { - action.consumeQualifiedId(true); - break; - } - - // - // Rule 314: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name - // - case 314: { - action.consumeTypeSpecifierElaborated(false); - break; - } - - // - // Rule 315: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name - // - case 315: { - action.consumeTypeSpecifierElaborated(true); - break; - } - - // - // Rule 316: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name - // - case 316: { - action.consumeTypeSpecifierElaborated(false); - break; - } - - // - // Rule 320: enum_specifier ::= enum enum_specifier_hook { enumerator_list_opt comma_opt } - // - case 320: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 321: enum_specifier ::= enum enum_specifier_hook identifier_token { enumerator_list_opt comma_opt } - // - case 321: { - action.consumeTypeSpecifierEnumeration(true); - break; - } - - // - // Rule 327: enumerator_definition ::= identifier_token - // - case 327: { - action.consumeEnumerator(false); - break; - } - - // - // Rule 328: enumerator_definition ::= identifier_token = constant_expression - // - case 328: { - action.consumeEnumerator(true); - break; - } - - // - // Rule 330: namespace_definition ::= namespace namespace_name namespace_definition_hook { declaration_seq_opt } - // - case 330: { - action.consumeNamespaceDefinition(true); - break; - } - - // - // Rule 331: namespace_definition ::= namespace namespace_definition_hook { declaration_seq_opt } - // - case 331: { - action.consumeNamespaceDefinition(false); - break; - } - - // - // Rule 333: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; - // - case 333: { - action.consumeNamespaceAliasDefinition(); - break; - } - - // - // Rule 334: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; - // - case 334: { - action.consumeUsingDeclaration(); - break; - } - - // - // Rule 335: typename_opt ::= typename - // - case 335: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 336: typename_opt ::= $Empty - // - case 336: { - action.consumeEmpty(); - break; - } - - // - // Rule 337: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; - // - case 337: { - action.consumeUsingDirective(); - break; - } - - // - // Rule 338: asm_definition ::= asm ( stringlit ) ; - // - case 338: { - action.consumeDeclarationASM(); - break; - } - - // - // Rule 339: linkage_specification ::= extern stringlit { declaration_seq_opt } - // - case 339: { - action.consumeLinkageSpecification(); - break; - } - - // - // Rule 340: linkage_specification ::= extern stringlit 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 ::= ptr_operator_seq direct_declarator - // - case 350: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 352: function_declarator ::= 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 ( parameter_declaration_clause ) cv_qualifier_seq_opt 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 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 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 ::= ptr_operator_seq - // - case 380: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 381: abstract_declarator ::= 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 ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 390: { - action.consumeDirectDeclaratorFunctionDeclarator(true); - break; - } - - // - // Rule 391: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt 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 ctor_initializer_list_opt function_body - // - case 409: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 410: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body 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 { initializer_seq , } end_initializer_list - // - case 416: { - action.consumeInitializerList(); - break; - } - - // - // Rule 417: initializer_list ::= start_initializer_list { initializer_seq } end_initializer_list - // - case 417: { - action.consumeInitializerList(); - break; - } - - // - // Rule 418: initializer_list ::= { } - // - 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 { 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 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 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 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 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 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 < 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 ::= 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 < 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 < 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 < template_parameter_list > class identifier_name_opt - // - case 546: { - action.consumeTemplatedTypeTemplateParameter(false); - break; - } - - // - // Rule 547: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression - // - case 547: { - action.consumeTemplatedTypeTemplateParameter(true); - break; - } - - // - // Rule 548: template_id_name ::= identifier_name < 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 ::= simple_declaration_specifiers - // - case 570: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 571: declaration_specifiers_inTemplate ::= class_declaration_specifiers - // - case 571: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 572: declaration_specifiers_inTemplate ::= elaborated_declaration_specifiers - // - case 572: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 573: declaration_specifiers_inTemplate ::= enum_declaration_specifiers - // - case 573: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 574: declaration_specifiers_inTemplate ::= 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 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 declarator - // - case 588: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 589: exception_declaration ::= type_specifier_seq 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 598: no_cast_start ::= ERROR_TOKEN - // - case 598: { - action.consumeEmpty(); - break; - } - - default: - break; - } - return; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java deleted file mode 100644 index 1695588244e..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java +++ /dev/null @@ -1,1551 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CPPNoCastExpressionParsersym { - - 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 }; - } - - 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, 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, 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, - 5, 6, 4, 1, 3, 1, 0, 1, 1, 2, 1, 1, 3, 1, 3, 1, 1, 1, 1, 3, 9, 2, 2, 3, 2, 5, 3, 7, 0, 1, 2, 2, 1, 0, 1, - 1, 1, 3, 1, 2, 1, 1, 2, 3, 1, 1, 1, 3, 2, 1, 2, 2, 9, 8, 2, 1, 3, 1, 3, 1, 0, 1, 0, 2, 1, 1, 3, 1, 3, 2, - 1, 5, 8, 1, 2, 3, 1, 1, 7, 6, 3, 0, 0, 1, 3, 1, 1, 5, 6, 6, 7, 7, 0, 0, 1, 0, 1, 1, 1, 2, 4, 2, 2, 1, 5, - 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, 1, 3, 1, 1, 2, 3, 2, 1, 2, 2, 1, 0, 1, 3, 3, 5, 5, 4, 1, 1, 1, 1, 0, 1, 5, - 2, 2, 1, 2, 2, 1, 0, 1, 3, 4, 3, 1, 1, 5, 2, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 7, 1, 0, 1, 3, 1, 1, 2, 4, 2, 4, 7, 9, - 5, 1, 3, 1, 0, 1, 1, 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, -107, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4, -309, 0, 0, -207, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, -6, -286, 0, 0, 0, - -58, 0, 0, 0, 0, -165, -7, -428, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -198, 0, 0, 0, 0, -51, -18, 0, 0, - 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -8, 0, 0, 0, -106, -506, 0, 0, 0, 0, 0, 0, 0, 0, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -460, 0, 0, -68, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, -126, 0, 0, 0, 0, 0, -176, 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, -272, 0, 0, 0, 0, 0, - 0, -522, 0, -561, -264, 0, 0, 0, 0, 0, -136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -311, 0, 0, 0, 0, 0, 0, - 0, 0, -130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -265, 0, 0, - 0, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -472, 0, 0, 0, 0, 0, 0, -415, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -596, 0, 0, 0, 0, -117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -192, 0, 0, 0, 0, -196, 0, 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, -134, 0, 0, -62, 0, 0, 0, - 0, 0, 0, -325, 0, 0, 0, 0, 0, -501, 0, 0, -11, 0, 0, 0, 0, 0, 0, -444, 0, 0, -119, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -571, 0, 0, 0, 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, -177, 0, 0, 0, -16, 0, 0, 0, 0, -61, 0, 0, 0, 0, 0, -266, 0, 0, 0, - 0, -595, 0, 0, 0, 0, -54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -197, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -323, 0, 0, 0, 0, -89, 0, 0, 0, 0, -367, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -502, 0, 0, 0, 0, -12, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -112, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -170, 0, 0, 0, 0, 0, -135, 0, 0, 0, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, -121, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -493, 0, 0, 0, 0, -88, 0, 0, 0, 0, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -260, -29, 0, -526, 0, 0, 0, 0, 0, 0, 0, -337, 0, 0, 0, 0, -213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -123, -30, 0, 0, -50, 0, 0, 0, 0, 0, 0, 0, -31, 0, 0, 0, -235, 0, 0, 0, 0, - -166, -380, 0, 0, 0, 0, -368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -57, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -128, 0, 0, -495, 0, 0, 0, 0, -381, 0, 0, 0, 0, -59, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32, 0, 0, 0, 0, 0, 0, -33, 0, 0, -273, 0, 0, 0, - 0, -104, -340, 0, -39, 0, 0, 0, 0, -409, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129, 0, 0, -279, 0, 0, 0, 0, 0, 0, -440, -41, 0, 0, 0, 0, -105, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -132, 0, 0, 0, -142, 0, 0, 0, 0, 0, 0, - -216, 0, 0, -326, 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, -377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -402, 0, 0, -529, 0, 0, 0, 0, -92, 0, 0, 0, 0, -113, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -530, 0, 0, 0, 0, -93, 0, 0, 0, 0, -137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -418, -357, 0, 0, 0, 0, 0, 0, -423, 0, 0, -280, 0, 0, 0, 0, -94, 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, -195, -35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -540, 0, - 0, -287, 0, 0, 0, 0, -95, 0, 0, 0, 0, -208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -206, -36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -480, 0, 0, -327, 0, 0, 0, 0, -96, 0, 0, 0, 0, -218, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -220, -37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -38, - 0, 0, -347, 0, 0, 0, 0, -97, 0, 0, 0, 0, -371, 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, -270, -269, 0, 0, 0, 0, 0, 0, -462, 0, 0, -369, 0, 0, 0, 0, -98, 0, 0, 0, 0, -274, - 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, 0, 0, 0, 0, 0, 0, 0, 0, - -261, 0, 0, -390, 0, 0, 0, 0, -99, 0, 0, 0, 0, -281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -308, -55, 0, 0, -56, 0, 0, 0, 0, 0, 0, 0, -262, 0, 0, -400, -288, -356, 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, 0, 0, 0, 0, 0, -447, 0, 0, 0, -63, 0, 0, 0, - -475, 0, 0, 0, 0, 0, -461, 0, 0, 0, 0, -101, 0, 0, 0, 0, -289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -321, -64, 0, 0, -66, 0, 0, 0, 0, 0, 0, 0, -67, 0, 0, -350, 0, 0, -222, 0, -163, 0, - 0, 0, 0, -319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -411, -116, -108, 0, 0, 0, - 0, 0, 0, -329, 0, 0, -333, 0, 0, -214, 0, 0, 0, 0, -354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -436, 0, 0, -379, 0, 0, 0, - 0, -109, 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, - -503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -229, 0, -322, -313, 0, 0, 0, 0, 0, 0, 0, -110, -320, - 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, - -277, -111, 0, 0, 0, -413, 0, 0, 0, 0, 0, 0, -446, 0, 0, -341, -324, 0, 0, -118, 0, 0, 0, 0, 0, 0, 0, 0, - -131, -492, 0, 0, -435, 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, -443, 0, -416, 0, 0, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -316, 0, -392, 0, 0, 0, 0, 0, 0, 0, -249, 0, 0, 0, 0, -143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -290, 0, -363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -468, 0, -120, 0, - 0, -457, 0, 0, 0, 0, 0, -328, -463, -450, -410, 0, 0, 0, 0, 0, 0, 0, -250, 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, -556, -291, 0, -374, 0, 0, 0, 0, 0, 0, 0, 0, -405, 0, - 0, 0, 0, 0, 0, -145, 0, -146, 0, 0, 0, 0, 0, 0, -147, 0, 0, -421, 0, 0, 0, 0, 0, 0, 0, -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, 0, 0, 0, -564, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -353, 0, 0, 0, 0, 0, 0, -510, 0, -148, 0, -572, 0, 0, -537, 0, 0, 0, 0, 0, 0, 0, -252, 0, - 0, 0, 0, -149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -346, 0, 0, -336, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -430, 0, 0, 0, -464, 0, 0, -583, -361, 0, 0, 0, 0, 0, 0, -476, 0, 0, -150, 0, 0, - 0, 0, 0, -253, 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, -348, - -151, 0, -138, 0, 0, 0, 0, -152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -355, 0, 0, 0, -365, -570, 0, -470, 0, 0, - -378, 0, 0, -422, 0, 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, -140, 0, 0, 0, 0, -153, 0, 0, 0, 0, 0, 0, 0, -366, 0, 0, 0, 0, 0, -384, 0, -453, - 0, -382, 0, 0, 0, -533, 0, -499, -154, 0, 0, 0, 0, 0, -255, 0, 0, 0, 0, -155, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -349, 0, -393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -388, -156, 0, 0, 0, - 0, 0, 0, -471, -594, -527, 0, 0, 0, 0, -483, -157, 0, 0, 0, 0, 0, 0, 0, 0, -256, 0, 0, 0, 0, 0, 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, -412, - -158, -391, -43, 0, -122, 0, 0, 0, -394, 0, 0, -159, 0, 0, -586, -587, -395, -160, -536, 0, 0, 0, 0, 0, - -352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -351, -557, 0, -397, - 0, 0, 0, 0, 0, 0, -161, 0, -201, 0, 0, 0, -399, -167, 0, -168, 0, 0, 0, 0, 0, 0, -169, 0, -419, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -425, 0, 0, 0, -449, 0, 0, 0, 0, 0, 0, 0, -479, 0, 0, 0, -385, -417, -172, 0, -376, 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, 0, 0, 0, 0, 0, 0, 0, -482, 0, - 0, -403, 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, -285, 0, -174, - 0, -474, 0, 0, 0, 0, 0, 0, 0, -478, 0, 0, -487, -490, 0, -504, -515, 0, 0, -524, -525, -532, -175, -600, - 0, -528, 0, -414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -531, 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, -535, 0, -182, 0, 0, 0, 0, 0, 0, -183, 0, 0, -554, 0, 0, -184, -185, 0, -186, 0, 0, - 0, -538, -551, -187, -188, -210, 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, -124, 0, -189, 0, 0, 0, 0, 0, 0, -190, 0, 0, 0, 0, 0, -513, 0, 0, 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, -191, -194, 0, 0, 0, 0, 0, 0, 0, 0, 0, -567, - 0, 0, -575, -202, 0, -552, -559, 0, -180, -579, -584, -203, -209, 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, 0, 0, 0, 0, 0, 0, 0, -217, 0, 0, -227, 0, 0, 0, -592, 0, 0, - -599, -228, -534, -258, 0, 0, 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, -48, 0, 0, -420, 0, 0, -267, 0, 0, -162, -278, -282, -345, 0, -284, -296, 0, 0, 0, 0, 0, 0, 0, - 0, -297, 0, -298, -299, 0, 0, 0, -300, 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, -301, 0, -302, 0, -303, -304, 0, 0, 0, -563, 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, -70, -305, 0, -306, -307, 0, 0, 0, 0, -312, -314, - -315, -330, -334, -335, -338, 0, -339, 0, -358, 0, -359, 0, 0, 0, 0, -364, 0, 0, -372, -47, 0, 0, 0, 0, - -181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -373, -389, - -404, -406, -426, -429, -442, 0, -565, 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, -455, 0, -456, 0, -458, -459, -485, -230, -465, -467, -473, 0, -481, -488, -489, - -512, -514, -516, 0, -517, 0, -518, -370, 0, -569, 0, -573, 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, 0, -519, 0, 0, -521, -539, -541, -542, -544, -549, -553, -560, - -568, -577, -585, -590, -601, 0, 0, 0, 0, 0, 0, 0, -574, 0, -85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -593, -598, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -86, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -241, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -454, 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, -193, - 0, 0, 0, -164, -200, 0, 0, 0, 0, 0, -17, -292, 0, -293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -231, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -232, 0, 0, -233, 0, 0, 0, 0, 0, 0, 0, 0, -79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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, 0, -80, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 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, - -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, -239, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -343, 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, 0, 0, 0, 0, -102, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -375, -494, 0, 0, 0, 0, 0, 0, 0, -276, -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, -1, 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, 0, 0, 0, -76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -83, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 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, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -491, -127, 0, 0, 0, 0, 0, 0, -344, 0, 0, - -219, 0, 0, 0, 0, 0, 0, -223, -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, -511, 0, 0, 0, 0, 0, 0, -523, 0, -408, -133, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -588, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -139, 0, 0, 0, 0, 0, 0, -171, 0, 0, 0, 0, 0, -212, 0, 0, 0, 0, 0, 0, -520, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -224, 0, -44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -543, -225, - 0, 0, 0, 0, 0, 0, 0, -268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -545, 0, -548, 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, -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, 0, 0, 0, -562, 0, 0, 0, 0, 0, 0, -226, -342, 0, - 0, 0, 0, 0, -498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -407, 0, 0, 0, 0, 0, -257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -445, 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, -582, 0, 0, 0, 0, 0, 0, -581, 0, 0, 0, 0, 0, 0, -46, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -466, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -221, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -21, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -25, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, -60, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -204, 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, -19, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -424, 0, 0, -508, -42, 0, 0, 0, 0, 0, - -234, 0, 0, 0, 0, 0, 0, -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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -318, 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, -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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -396, -509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -427, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -496, 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, -451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -477, 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, -215, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -486, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -497, 0, 0, 0, 0, 0, 0, 0, 0, 0, -263, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -505, 0, 0, 0, 0, 0, 0, 0, 0, -65, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -546, 0, -547, 0, -550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 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; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[index]; - } - - public interface BaseAction { - public final static char baseAction[] = { 191, 5, 154, 94, 94, 31, 31, 80, 80, 39, 39, 42, 42, 218, 1, 1, 16, - 16, 16, 16, 16, 16, 16, 17, 17, 17, 15, 11, 11, 6, 6, 6, 6, 6, 6, 2, 75, 75, 4, 4, 12, 12, 44, 44, 155, - 155, 156, 67, 67, 43, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 157, 157, 157, 131, 131, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 192, 192, 193, 193, - 194, 160, 160, 161, 161, 158, 158, 162, 159, 159, 21, 21, 22, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, - 26, 26, 26, 30, 30, 30, 30, 30, 33, 33, 33, 34, 34, 35, 35, 37, 37, 38, 38, 40, 40, 41, 41, 45, 45, 45, - 45, 45, 47, 47, 47, 52, 52, 54, 54, 61, 61, 62, 62, 63, 63, 64, 64, 65, 65, 65, 65, 65, 65, 65, 65, 65, - 65, 65, 65, 65, 29, 29, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 36, 28, 163, 163, 105, 105, - 195, 195, 104, 219, 219, 82, 82, 82, 82, 82, 82, 82, 82, 82, 83, 83, 83, 78, 78, 66, 66, 196, 196, 84, - 84, 84, 116, 116, 197, 197, 85, 85, 85, 85, 198, 198, 86, 86, 86, 86, 86, 87, 87, 95, 95, 95, 95, 95, - 95, 95, 95, 55, 55, 55, 55, 55, 132, 132, 130, 130, 56, 199, 27, 27, 27, 27, 27, 50, 50, 69, 69, 69, 69, - 69, 137, 137, 133, 133, 133, 133, 133, 134, 134, 134, 135, 135, 135, 136, 136, 136, 165, 165, 165, 70, - 70, 70, 70, 70, 71, 71, 71, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 106, 138, 138, 138, 138, - 138, 138, 111, 111, 111, 166, 167, 167, 112, 112, 200, 169, 169, 168, 168, 139, 139, 117, 92, 92, 140, - 58, 49, 170, 170, 59, 57, 97, 97, 171, 171, 164, 164, 141, 142, 142, 143, 89, 89, 172, 172, 76, 76, 76, - 73, 73, 72, 77, 77, 79, 79, 68, 68, 68, 53, 98, 98, 108, 107, 107, 51, 51, 74, 74, 81, 81, 60, 109, 109, - 109, 99, 99, 99, 100, 100, 101, 101, 101, 102, 102, 118, 118, 118, 120, 120, 119, 119, 220, 220, 103, - 103, 202, 202, 202, 202, 202, 145, 48, 48, 174, 201, 201, 146, 146, 147, 147, 147, 148, 176, 203, 203, - 32, 32, 110, 114, 114, 114, 114, 205, 122, 121, 121, 113, 113, 113, 177, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 207, 207, 204, 204, 206, 206, 179, 180, 180, 180, 180, 181, 208, 124, 123, 123, - 209, 209, 182, 182, 182, 182, 115, 115, 115, 210, 210, 8, 8, 9, 211, 211, 212, 183, 173, 173, 184, 184, - 185, 186, 186, 7, 7, 10, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 90, 93, 93, 187, 187, 150, 150, 151, 151, 151, 151, 151, 151, 3, 152, 152, 149, - 149, 188, 221, 222, 222, 223, 223, 224, 225, 225, 189, 190, 190, 190, 190, 214, 214, 214, 126, 126, 126, - 126, 126, 127, 128, 128, 125, 125, 96, 91, 88, 88, 175, 175, 129, 129, 215, 215, 215, 153, 153, 144, - 144, 216, 216, 191, 191, 1119, 35, 2931, 2924, 4701, 1355, 27, 30, 31, 1172, 1197, 26, 28, 2922, 295, - 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 1428, 332, 2489, 176, 1421, 1824, 307, 1705, 1466, - 1799, 4231, 1752, 1810, 413, 1846, 175, 1510, 2623, 35, 311, 190, 71, 2037, 2273, 34, 265, 2025, 2046, - 1638, 35, 1149, 32, 4910, 3812, 27, 30, 31, 1172, 1197, 374, 28, 1405, 1850, 268, 263, 264, 1647, 1673, - 35, 2034, 424, 2081, 2360, 35, 1149, 32, 672, 5349, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, - 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 3168, 49, 308, 161, 425, 1849, 275, 278, 281, 1212, 985, - 2224, 1991, 959, 1813, 3766, 71, 35, 329, 3161, 3368, 3175, 351, 3484, 356, 1818, 3174, 388, 3183, 909, - 2264, 2396, 2858, 5887, 284, 3177, 3184, 3218, 160, 578, 759, 35, 432, 1543, 35, 1149, 32, 4694, 2369, - 27, 30, 31, 1172, 1197, 57, 28, 1537, 35, 313, 626, 3860, 3216, 71, 35, 2273, 3320, 2360, 35, 1149, 32, - 672, 5349, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, - 1321, 3168, 1038, 387, 161, 2456, 35, 311, 549, 575, 3279, 579, 71, 3182, 2700, 71, 35, 2210, 2058, - 4274, 3161, 1595, 3175, 379, 1341, 651, 384, 3174, 534, 3183, 93, 2598, 3126, 377, 1088, 3225, 3177, - 3184, 3218, 160, 578, 378, 3181, 2360, 35, 1149, 32, 672, 5349, 27, 30, 31, 1172, 1197, 26, 28, 975, - 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 3168, 3573, 159, 161, 440, 3273, 2215, 35, - 1149, 32, 4694, 1766, 27, 30, 31, 1172, 1197, 56, 28, 3161, 479, 3175, 71, 35, 2034, 424, 3174, 3185, - 3183, 71, 3487, 549, 575, 3279, 579, 3177, 3184, 3218, 160, 578, 61, 1912, 35, 1149, 32, 4531, 1257, 27, - 30, 31, 1172, 1197, 26, 28, 467, 3259, 547, 1815, 3225, 272, 295, 3855, 759, 35, 3365, 1053, 2570, 35, - 1149, 32, 672, 5349, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, - 1332, 1321, 3168, 56, 49, 161, 1335, 265, 1207, 549, 575, 3279, 579, 1851, 3487, 1991, 809, 42, 3283, - 56, 3260, 3161, 1400, 3175, 1207, 273, 263, 264, 3174, 1556, 3183, 1729, 1488, 3282, 2033, 368, 3225, - 3177, 3184, 3218, 160, 578, 2708, 35, 1149, 32, 672, 3329, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, - 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 1428, 2600, 3639, 176, 1421, 60, 1704, 1705, 1466, - 1799, 324, 1752, 1810, 1193, 1846, 175, 3159, 71, 35, 3328, 414, 1559, 35, 1149, 32, 865, 1520, 41, 30, - 31, 1172, 1197, 843, 550, 575, 3279, 579, 2428, 35, 1149, 32, 672, 2277, 27, 30, 31, 1172, 1197, 26, 28, - 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 1428, 147, 147, 176, 1421, 3488, 4787, - 1705, 1466, 1799, 533, 1752, 1810, 474, 1846, 175, 3159, 2693, 35, 314, 414, 323, 3327, 35, 1149, 32, - 672, 2634, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, - 1321, 1428, 147, 1823, 3522, 1421, 4848, 3086, 1705, 2854, 421, 415, 2872, 2638, 35, 1149, 32, 672, - 2736, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, - 1428, 1104, 2738, 176, 1421, 2200, 1860, 1705, 1466, 1799, 2089, 1752, 1810, 3470, 1846, 175, 3159, - 1537, 35, 313, 414, 5241, 2795, 1994, 35, 1149, 32, 2765, 3281, 40, 30, 31, 1172, 1197, 422, 415, 2872, - 2973, 35, 1149, 32, 672, 1938, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, - 107, 1283, 1332, 1321, 1428, 426, 463, 176, 1421, 56, 4512, 1705, 1466, 1799, 677, 1752, 1810, 765, - 1846, 175, 71, 35, 2034, 424, 190, 3327, 35, 1149, 32, 672, 3735, 27, 30, 31, 1172, 1197, 26, 28, 975, - 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 1428, 488, 69, 1239, 1421, 71, 3625, 1705, - 1466, 2803, 412, 415, 2872, 2973, 35, 1149, 32, 672, 2524, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, - 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 1428, 1213, 1449, 176, 1421, 56, 1038, 1705, 1466, - 1799, 769, 1752, 1810, 1233, 1846, 175, 3462, 1537, 35, 566, 408, 5853, 2532, 2973, 35, 1149, 32, 672, - 2634, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, - 1428, 56, 626, 176, 1421, 1193, 837, 1705, 1466, 1799, 1086, 1752, 1810, 1818, 1846, 175, 71, 35, 2034, - 424, 408, 2973, 35, 1149, 32, 672, 2277, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, - 106, 76, 77, 107, 1283, 1332, 1321, 1428, 470, 925, 176, 1421, 389, 1338, 1705, 1466, 1799, 24, 1752, - 1810, 55, 1846, 175, 71, 35, 2273, 310, 408, 2277, 2670, 407, 2502, 35, 1149, 32, 672, 2634, 27, 30, 31, - 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 1428, 1662, 69, 176, - 1421, 427, 463, 1705, 1466, 1799, 496, 1752, 1810, 1818, 1846, 175, 71, 3471, 2273, 74, 174, 1133, 406, - 2345, 2973, 35, 1149, 32, 672, 2277, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, - 76, 77, 107, 1283, 1332, 1321, 1428, 359, 1818, 176, 1421, 666, 1818, 1705, 1466, 1799, 68, 1752, 1810, - 1818, 1846, 175, 71, 35, 316, 404, 191, 2973, 35, 1149, 32, 672, 3462, 27, 30, 31, 1172, 1197, 26, 28, - 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 1428, 1193, 1818, 176, 1421, 429, 463, - 1705, 1466, 1799, 495, 1752, 1810, 2491, 1846, 175, 71, 35, 2034, 424, 187, 2973, 35, 1149, 32, 672, - 2277, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, - 1428, 469, 5679, 176, 1421, 438, 51, 1705, 1466, 1799, 53, 1752, 1810, 361, 1846, 175, 71, 35, 2034, - 424, 186, 2973, 35, 1149, 32, 672, 2277, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, - 106, 76, 77, 107, 1283, 1332, 1321, 1428, 468, 97, 176, 1421, 1818, 241, 1705, 1466, 1799, 87, 1752, - 1810, 2178, 1846, 175, 931, 35, 2273, 3472, 185, 2973, 35, 1149, 32, 672, 2277, 27, 30, 31, 1172, 1197, - 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 1428, 56, 65, 176, 1421, 442, - 6191, 1705, 1466, 1799, 52, 1752, 1810, 2280, 1846, 175, 931, 35, 2273, 310, 184, 2973, 35, 1149, 32, - 672, 2277, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, - 1321, 1428, 56, 228, 176, 1421, 98, 1022, 1705, 1466, 1799, 90, 1752, 1810, 2322, 1846, 175, 71, 35, - 2273, 312, 183, 2973, 35, 1149, 32, 672, 2277, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, - 1259, 106, 76, 77, 107, 1283, 1332, 1321, 1428, 56, 61, 176, 1421, 2870, 3060, 1705, 1466, 1799, 385, - 1752, 1810, 1007, 1846, 175, 71, 35, 2273, 3523, 182, 2973, 35, 1149, 32, 672, 2018, 27, 30, 31, 1172, - 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 1428, 585, 1334, 176, - 1421, 56, 1488, 1705, 1466, 1799, 966, 1752, 1810, 2178, 1846, 175, 71, 35, 2273, 315, 181, 2973, 35, - 1149, 32, 672, 2277, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, - 1332, 1321, 1428, 2261, 147, 176, 1421, 334, 4931, 1705, 1466, 1799, 2405, 1752, 1810, 69, 1846, 175, - 71, 35, 2273, 565, 180, 2973, 35, 1149, 32, 672, 2277, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, - 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 1428, 56, 1348, 176, 1421, 1847, 2100, 1705, 1466, 1799, - 2578, 1752, 1810, 69, 1846, 175, 2934, 2277, 1488, 364, 179, 2973, 35, 1149, 32, 672, 347, 27, 30, 31, - 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 1428, 67, 1499, 176, - 1421, 2250, 233, 1705, 1466, 1799, 1499, 1752, 1810, 2862, 1846, 175, 759, 35, 432, 1939, 178, 2973, 35, - 1149, 32, 672, 2277, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, - 1332, 1321, 1428, 56, 2795, 176, 1421, 1361, 1111, 1705, 1466, 1799, 66, 1752, 1810, 1482, 1846, 175, - 2731, 35, 564, 2413, 177, 2852, 35, 1149, 32, 672, 159, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, - 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 1428, 1734, 1508, 1413, 1421, 5055, 3855, 1705, 1466, - 1799, 2627, 1752, 1810, 1365, 3317, 196, 2973, 35, 1149, 32, 672, 2007, 27, 30, 31, 1172, 1197, 26, 28, - 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 1428, 3574, 1907, 176, 1421, 1193, 2277, - 1705, 1466, 1799, 391, 1752, 1810, 3260, 1846, 175, 483, 2934, 390, 593, 139, 1537, 35, 489, 2007, 5117, - 362, 593, 367, 1934, 2342, 3094, 35, 1149, 32, 672, 1528, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, - 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 3168, 920, 2664, 161, 1243, 35, 1149, 32, 4910, 4511, - 27, 30, 31, 1172, 1197, 374, 28, 2312, 2342, 3161, 3847, 3175, 56, 1229, 35, 329, 3174, 1347, 3183, 363, - 370, 2112, 3002, 272, 295, 3177, 3184, 3218, 160, 172, 3094, 35, 1149, 32, 672, 70, 27, 30, 31, 1172, - 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 3168, 2555, 2132, 161, 88, - 265, 2489, 102, 2933, 370, 354, 2260, 356, 2489, 349, 1437, 2701, 56, 465, 3161, 1350, 3175, 3582, 273, - 263, 264, 3174, 348, 3183, 2831, 2171, 35, 489, 1488, 5117, 3177, 3184, 3218, 160, 171, 3094, 35, 1149, - 32, 672, 3528, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, - 1321, 3168, 2406, 1915, 161, 2627, 265, 5179, 2734, 1662, 2594, 3185, 483, 4274, 342, 345, 1763, 482, - 3568, 3569, 3161, 320, 3175, 2723, 277, 263, 264, 3174, 321, 3183, 360, 1501, 1956, 2007, 411, 378, - 3177, 3184, 3218, 160, 170, 3094, 35, 1149, 32, 672, 2008, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, - 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 3168, 671, 2277, 161, 1243, 35, 1149, 32, 4910, 4511, - 27, 30, 31, 1172, 1197, 374, 28, 2342, 1734, 3161, 1655, 3175, 5055, 147, 44, 3283, 3174, 5836, 3183, - 56, 1488, 2489, 2634, 65, 2446, 3177, 3184, 3218, 160, 169, 3094, 35, 1149, 32, 672, 2084, 27, 30, 31, - 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 3168, 1499, 2277, - 161, 2600, 265, 2594, 369, 370, 409, 354, 2260, 356, 2696, 349, 1437, 486, 3568, 3569, 3161, 1423, 3175, - 1645, 280, 263, 264, 3174, 2987, 3183, 1653, 411, 89, 2007, 64, 102, 3177, 3184, 3218, 160, 168, 3094, - 35, 1149, 32, 672, 331, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, - 1283, 1332, 1321, 3168, 2312, 1893, 161, 1243, 35, 1149, 32, 4910, 4511, 27, 30, 31, 1172, 1197, 374, - 28, 2342, 69, 3161, 478, 3175, 492, 428, 463, 1728, 3174, 227, 3183, 759, 35, 432, 71, 35, 329, 3177, - 3184, 3218, 160, 167, 3094, 35, 1149, 32, 672, 399, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, - 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 3168, 2277, 466, 161, 56, 2855, 3076, 2975, 370, 2145, - 354, 2260, 356, 358, 349, 1437, 1229, 3562, 329, 3161, 2626, 3175, 593, 2818, 2698, 4440, 3174, 3628, - 3183, 1954, 2314, 2489, 2787, 3470, 415, 3177, 3184, 3218, 160, 166, 3094, 35, 1149, 32, 672, 2789, 27, - 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 3168, 2277, - 417, 161, 1729, 35, 1149, 32, 4531, 2417, 27, 30, 31, 1172, 1197, 59, 28, 3277, 3629, 3161, 1335, 3175, - 584, 457, 56, 1728, 3174, 147, 3183, 1444, 1365, 6056, 55, 2007, 214, 3177, 3184, 3218, 160, 165, 3094, - 35, 1149, 32, 672, 330, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, - 1283, 1332, 1321, 3168, 1662, 1716, 161, 1729, 35, 1149, 32, 4531, 2420, 27, 30, 31, 1172, 1197, 58, 28, - 56, 2342, 3161, 585, 3175, 2408, 2762, 1956, 2593, 3174, 56, 3183, 2776, 6111, 2489, 3362, 2007, 495, - 3177, 3184, 3218, 160, 164, 3094, 35, 1149, 32, 672, 2874, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, - 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 3168, 3072, 2277, 161, 1994, 35, 1149, 32, 365, 370, - 1669, 30, 31, 1172, 1197, 56, 3001, 1893, 2342, 3161, 2474, 3175, 584, 147, 319, 1488, 3174, 6181, 3183, - 71, 147, 405, 1193, 54, 6233, 3177, 3184, 3218, 160, 163, 3094, 35, 1149, 32, 672, 339, 27, 30, 31, - 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 3168, 2594, 2597, - 161, 1994, 35, 1149, 32, 3084, 370, 1857, 30, 31, 1172, 1197, 2018, 1917, 56, 56, 3161, 1833, 3175, - 2673, 4274, 56, 3171, 3174, 572, 3183, 5737, 1488, 1488, 1488, 1752, 1488, 3177, 3184, 3218, 160, 162, - 3154, 35, 1149, 32, 672, 378, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, - 107, 1283, 1332, 1321, 3168, 2010, 2489, 161, 56, 265, 2594, 2594, 2971, 6135, 3258, 1845, 718, 71, 35, - 2034, 424, 56, 2095, 3161, 3785, 3175, 2138, 283, 263, 264, 3174, 3724, 3183, 56, 587, 586, 142, 2082, - 1987, 3177, 3184, 3218, 160, 159, 3214, 35, 1149, 32, 672, 307, 27, 30, 31, 1172, 1197, 26, 28, 975, - 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 1428, 56, 417, 176, 1421, 56, 5754, 1705, - 1466, 1799, 1995, 1752, 1810, 2178, 1846, 175, 418, 2277, 2277, 2185, 221, 3327, 35, 1149, 32, 672, - 2277, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, - 1428, 357, 101, 2257, 1421, 254, 309, 1705, 1466, 1799, 3064, 1752, 1810, 2277, 3317, 196, 3327, 35, - 1149, 32, 672, 2353, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, - 1332, 1321, 1428, 2594, 3078, 2418, 1421, 56, 4274, 1705, 1466, 1799, 2739, 1752, 1810, 56, 3317, 196, - 56, 56, 5815, 2178, 2178, 6205, 2533, 2178, 2178, 56, 2450, 319, 4140, 2277, 2443, 3327, 35, 1149, 32, - 672, 1661, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, - 1321, 1428, 338, 211, 487, 1421, 231, 230, 1705, 1466, 1799, 2496, 1752, 1810, 2416, 3317, 196, 3327, - 35, 1149, 32, 672, 459, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, - 1283, 1332, 1321, 1428, 56, 591, 1867, 1421, 395, 2906, 1705, 1466, 1799, 571, 1752, 1810, 2669, 3317, - 196, 2268, 581, 2665, 753, 2575, 3370, 3373, 2178, 2178, 491, 2006, 71, 35, 2034, 424, 3327, 35, 1149, - 32, 672, 328, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, - 1321, 1428, 1922, 49, 1657, 1421, 337, 234, 1705, 1466, 1799, 1019, 1752, 1810, 46, 3317, 196, 3486, 35, - 1149, 32, 672, 458, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, - 1332, 1321, 1428, 56, 2533, 1248, 1421, 416, 995, 1705, 1466, 1799, 265, 1752, 1810, 56, 3317, 196, - 2927, 2914, 4329, 2178, 2178, 4591, 2023, 2178, 2490, 2534, 835, 3368, 286, 263, 264, 3327, 35, 1149, - 32, 672, 461, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, - 1321, 1428, 232, 333, 744, 1421, 4872, 2492, 1705, 1466, 1799, 2178, 1752, 2915, 2178, 2564, 2277, 3433, - 35, 1149, 32, 672, 3623, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, - 1283, 1332, 1321, 3168, 3062, 387, 2276, 413, 2796, 2594, 255, 1207, 1486, 225, 4274, 1508, 1011, 2290, - 2566, 3855, 1929, 589, 3161, 4274, 3175, 379, 1341, 651, 384, 3174, 743, 3183, 915, 925, 192, 577, 4140, - 2045, 3177, 3461, 3327, 35, 1149, 32, 672, 4140, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, - 1259, 106, 76, 77, 107, 1283, 1332, 1321, 1428, 2542, 3260, 577, 1421, 2486, 2179, 1705, 1466, 1799, - 2277, 2865, 3380, 35, 1149, 32, 672, 367, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, - 106, 76, 77, 107, 1283, 1332, 1321, 3168, 2276, 1930, 4964, 2389, 757, 1207, 1588, 395, 6144, 2494, - 2878, 2945, 2601, 3003, 1663, 2529, 396, 2595, 3161, 2628, 3175, 3004, 2996, 3370, 3373, 3174, 2664, - 3183, 192, 2633, 71, 35, 2034, 424, 3425, 2905, 35, 1149, 32, 672, 1207, 27, 30, 31, 1172, 1197, 26, 28, - 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 3168, 49, 188, 2706, 2668, 2995, 2959, - 1216, 2778, 2735, 1394, 2277, 1991, 1171, 3380, 35, 1149, 32, 672, 3357, 27, 30, 31, 1172, 1197, 26, 28, - 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 3168, 1218, 5026, 3064, 1682, 1292, - 3006, 2822, 2011, 2929, 2793, 2881, 4274, 2960, 3117, 3124, 3092, 3176, 87, 3161, 2962, 3175, 3026, - 1851, 3487, 2277, 3174, 2277, 3422, 3380, 35, 1149, 32, 672, 4140, 27, 30, 31, 1172, 1197, 26, 28, 975, - 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 3168, 5088, 3086, 2868, 265, 3118, 1362, - 3119, 173, 3183, 2998, 3236, 1637, 3120, 3237, 3244, 2966, 2958, 6850, 3161, 6850, 3175, 277, 263, 264, - 2277, 3424, 3327, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, - 106, 76, 77, 107, 1283, 1332, 1321, 1428, 6850, 541, 2869, 1421, 2277, 2277, 2740, 3380, 35, 1149, 32, - 672, 6850, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, - 1321, 3168, 6850, 3327, 5212, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 539, - 540, 6850, 6850, 3161, 323, 3386, 3327, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, 28, 975, - 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 1428, 2853, 3522, 6850, 2751, 3327, 35, 1149, - 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, - 1321, 1428, 6850, 6850, 6850, 2788, 3380, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, 28, 975, - 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 3168, 1258, 35, 1149, 32, 4993, 4511, 27, 30, - 31, 1172, 1197, 374, 28, 3380, 35, 1149, 32, 672, 3390, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, - 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 3168, 6850, 6850, 6850, 71, 35, 2034, 424, 2776, 71, - 35, 2034, 424, 4451, 3260, 56, 2276, 6850, 2276, 3420, 1207, 1207, 6850, 1207, 6850, 6850, 6850, 6850, - 6850, 367, 2092, 6850, 6850, 354, 2260, 356, 49, 349, 1437, 386, 6850, 49, 2181, 188, 192, 2783, 192, - 1991, 1282, 6850, 348, 1394, 1991, 799, 3327, 35, 1149, 32, 672, 5914, 27, 30, 31, 1172, 1197, 26, 28, - 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 2535, 265, 6850, 6850, 6850, 6850, 6850, - 387, 6850, 6850, 56, 6850, 6850, 265, 6850, 1207, 265, 6850, 6850, 280, 263, 264, 341, 345, 1763, 6850, - 6850, 379, 1341, 651, 384, 283, 263, 264, 569, 263, 264, 1776, 188, 6850, 6850, 2641, 6850, 2774, 6850, - 2983, 1521, 3327, 35, 1149, 32, 672, 3572, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, - 106, 76, 77, 107, 1283, 1332, 1321, 2553, 3327, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, 28, - 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 2608, 3327, 35, 1149, 32, 672, 6850, 27, - 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 2642, 3327, - 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, - 1283, 1332, 1321, 3374, 3327, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, - 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 3383, 3327, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, - 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 3385, 1339, 35, 1149, 32, - 4910, 4448, 27, 30, 31, 1172, 1197, 374, 28, 3327, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, - 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 1321, 2905, 3759, 35, 1149, 32, 4910, - 4755, 27, 30, 31, 1172, 1197, 374, 28, 6850, 1220, 35, 3525, 32, 4993, 4511, 27, 30, 31, 1172, 1197, - 374, 28, 6850, 6850, 6850, 56, 386, 354, 2260, 356, 1207, 349, 1437, 6850, 387, 6850, 6850, 2276, 2276, - 6850, 6850, 6850, 1207, 1207, 3475, 6850, 1508, 1904, 6850, 6850, 3855, 3855, 6850, 188, 379, 1341, 651, - 384, 6850, 6850, 6850, 2871, 3260, 6850, 3473, 192, 192, 354, 2260, 356, 6850, 349, 1437, 2292, 387, - 6850, 6850, 367, 1207, 6850, 6850, 354, 2260, 356, 2987, 349, 1437, 6850, 6850, 3539, 35, 2034, 424, - 4441, 379, 1341, 651, 384, 2455, 3260, 3260, 188, 270, 295, 1776, 6850, 6850, 5914, 6850, 597, 6850, - 6850, 6850, 6850, 4232, 4232, 3327, 35, 1149, 32, 672, 307, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, - 25, 23, 50, 1259, 106, 76, 77, 107, 2462, 265, 6850, 2988, 3088, 2382, 35, 1149, 32, 4910, 4511, 27, 30, - 31, 1172, 1197, 374, 28, 401, 268, 263, 264, 3327, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, - 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 1332, 2649, 6850, 453, 455, 3524, 6850, 6850, - 6850, 6850, 308, 6850, 6850, 6850, 275, 278, 281, 1212, 985, 6850, 6850, 94, 96, 6850, 6850, 6850, 6850, - 6850, 6850, 6850, 1575, 354, 2260, 356, 6850, 349, 1437, 909, 2264, 2396, 2858, 5887, 284, 3327, 35, - 1149, 32, 672, 348, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, - 1332, 2715, 3216, 259, 243, 35, 2034, 424, 599, 6850, 6850, 1508, 604, 6850, 2260, 3855, 6850, 6850, - 3855, 4274, 6850, 56, 71, 35, 2034, 424, 1207, 6850, 6850, 6850, 261, 188, 6850, 341, 345, 1763, 49, - 6850, 6850, 3079, 6850, 4140, 212, 6850, 6850, 2594, 6850, 1991, 3274, 188, 6850, 236, 248, 653, 307, - 6850, 3324, 1955, 235, 245, 246, 247, 249, 3572, 3260, 1, 6850, 3260, 6850, 201, 599, 2917, 2180, 6850, - 1508, 1832, 6850, 1207, 3855, 367, 4274, 200, 367, 6850, 6850, 215, 199, 202, 203, 204, 205, 206, 261, - 188, 71, 35, 2034, 424, 6850, 6850, 188, 3079, 378, 6850, 212, 6850, 6850, 2594, 3276, 4675, 6850, 233, - 6144, 236, 248, 653, 6850, 395, 6850, 6850, 235, 245, 246, 247, 249, 6850, 49, 3260, 375, 6850, 6850, - 201, 1917, 3370, 3373, 630, 6850, 1991, 959, 6850, 6850, 6850, 367, 200, 6850, 213, 6850, 216, 199, 202, - 203, 204, 205, 206, 1416, 35, 1149, 32, 4910, 4448, 27, 30, 31, 1172, 1197, 374, 28, 3327, 35, 1149, 32, - 672, 5962, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 1283, 2355, - 6850, 6850, 3327, 35, 1149, 32, 672, 4502, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, - 106, 76, 77, 107, 1283, 2421, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 354, 2260, 356, 6850, 349, 1437, - 6850, 387, 6850, 6850, 6850, 6850, 1770, 35, 1149, 32, 4993, 588, 27, 30, 31, 1172, 1197, 374, 28, 6850, - 6850, 379, 1341, 651, 384, 329, 35, 2034, 424, 6850, 6850, 589, 2027, 35, 2034, 424, 1751, 6850, 2003, - 35, 2034, 424, 6850, 6850, 6850, 345, 6850, 6850, 6850, 6850, 599, 6850, 6850, 6850, 6850, 6850, 6850, - 49, 6850, 3260, 56, 6850, 56, 6850, 49, 1207, 6850, 4274, 1991, 1298, 307, 6850, 261, 188, 368, 1991, - 2051, 6850, 354, 2260, 356, 3079, 350, 1437, 212, 387, 2260, 2594, 188, 378, 3855, 4274, 4707, 236, 248, - 653, 2011, 6850, 6850, 2917, 235, 245, 246, 247, 249, 381, 1341, 651, 384, 431, 56, 201, 6850, 4140, - 599, 1207, 6850, 6850, 329, 35, 2034, 424, 718, 200, 6850, 6850, 6850, 3624, 199, 202, 203, 204, 205, - 206, 6850, 6850, 261, 188, 188, 3260, 6850, 6850, 6850, 2150, 3369, 3079, 2378, 6850, 212, 6850, 49, - 2594, 6850, 6850, 367, 6850, 6850, 236, 248, 653, 6850, 1991, 47, 6850, 235, 245, 246, 247, 249, 72, - 6850, 517, 6850, 2180, 6850, 201, 599, 6850, 599, 243, 35, 2034, 424, 6850, 4675, 1101, 6850, 200, 6850, - 395, 6850, 210, 199, 202, 203, 204, 205, 206, 261, 188, 3270, 188, 6850, 3508, 1917, 3370, 3373, 3079, - 1207, 3079, 212, 49, 212, 2594, 6850, 6850, 6850, 6850, 6850, 236, 248, 653, 1991, 47, 6850, 6850, 235, - 245, 246, 247, 249, 188, 6850, 603, 6850, 6850, 6850, 201, 599, 194, 56, 243, 35, 2034, 424, 1207, 1531, - 2775, 6850, 200, 6850, 228, 4274, 208, 199, 202, 203, 204, 205, 206, 261, 188, 329, 35, 2034, 424, 6850, - 6850, 188, 3079, 6850, 6850, 212, 49, 378, 2594, 2444, 6850, 592, 6850, 6850, 236, 248, 653, 1991, 2729, - 6850, 6850, 235, 245, 246, 247, 249, 6850, 49, 689, 6850, 6850, 6850, 201, 599, 6850, 6850, 6850, 6850, - 1991, 47, 718, 4459, 56, 6850, 200, 6850, 6850, 4274, 209, 199, 202, 203, 204, 205, 206, 261, 188, 243, - 35, 2034, 424, 595, 2842, 56, 3079, 6850, 6850, 212, 1207, 378, 2594, 6850, 6850, 6850, 6850, 6850, 236, - 248, 653, 6850, 6850, 6850, 6850, 235, 245, 246, 247, 249, 6850, 49, 775, 188, 6850, 6850, 201, 599, - 6850, 6850, 6850, 3459, 1991, 1488, 718, 6850, 6062, 229, 200, 6850, 6850, 6850, 219, 199, 202, 203, - 204, 205, 206, 261, 188, 243, 35, 2034, 424, 2209, 4459, 56, 3079, 6850, 6850, 212, 1207, 3673, 2594, - 6850, 6850, 6850, 6850, 6850, 236, 248, 653, 6850, 6850, 6850, 6850, 235, 245, 246, 247, 249, 6850, 49, - 861, 188, 6850, 6850, 201, 599, 6850, 56, 6850, 1564, 1991, 47, 1207, 6850, 56, 6850, 200, 6850, 6850, - 4274, 3630, 199, 202, 203, 204, 205, 206, 261, 188, 243, 35, 2034, 424, 6850, 885, 188, 3079, 6850, - 6850, 212, 6850, 378, 2594, 3672, 3129, 6850, 6850, 6850, 236, 248, 653, 6850, 6850, 6850, 6850, 235, - 245, 246, 247, 249, 6850, 49, 947, 6850, 6850, 6850, 201, 599, 6850, 6850, 6850, 6850, 1991, 47, 718, - 6850, 56, 6850, 200, 6850, 6850, 4274, 224, 199, 202, 203, 204, 205, 206, 261, 188, 243, 35, 2034, 424, - 2246, 1249, 6850, 3079, 6850, 6850, 212, 6850, 378, 2594, 6850, 6850, 6850, 6850, 6850, 236, 248, 653, - 6850, 6850, 6850, 6850, 235, 245, 246, 247, 249, 6850, 49, 1033, 6850, 6850, 6850, 201, 599, 6850, 6850, - 6850, 6850, 1991, 47, 718, 6850, 6850, 6850, 200, 6850, 6850, 6850, 218, 199, 202, 203, 204, 205, 206, - 261, 188, 71, 35, 2034, 424, 1870, 1384, 6850, 3079, 6850, 6850, 212, 6850, 6850, 2594, 6850, 6850, - 6850, 6850, 6850, 236, 248, 653, 6850, 6850, 6850, 6850, 235, 245, 246, 247, 249, 6850, 49, 6850, 6850, - 6850, 6850, 201, 6850, 6850, 6850, 6850, 6850, 1991, 642, 6850, 6850, 6850, 6850, 200, 6850, 6850, 6850, - 227, 199, 202, 203, 204, 205, 206, 3327, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, 28, 975, - 295, 25, 23, 50, 1259, 106, 76, 77, 107, 2464, 3327, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, - 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 107, 2471, 3638, 35, 553, 6850, 6850, 6850, 6850, 6850, - 6850, 6850, 6850, 6850, 6850, 270, 295, 3327, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, 28, - 975, 295, 25, 23, 50, 1259, 106, 76, 77, 85, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 3327, 2037, - 1149, 2045, 672, 265, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 84, 268, - 263, 264, 3327, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, - 106, 76, 77, 83, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, - 6850, 275, 278, 281, 1212, 985, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, - 6850, 6850, 6850, 6850, 6850, 6850, 2198, 3567, 3881, 3893, 5747, 3327, 35, 1149, 32, 672, 6850, 27, 30, - 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 82, 3327, 35, 1149, 32, 672, 6850, 27, - 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 81, 6850, 6850, 6850, 6850, 562, - 563, 567, 3327, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, 1259, - 106, 76, 77, 80, 3896, 3327, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, - 50, 1259, 106, 76, 77, 79, 3327, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, - 23, 50, 1259, 106, 76, 77, 78, 3033, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, - 25, 23, 50, 1259, 106, 76, 77, 104, 3327, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, 28, 975, - 295, 25, 23, 50, 1259, 106, 76, 77, 109, 3327, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, 28, - 975, 295, 25, 23, 50, 1259, 106, 76, 77, 108, 3327, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, - 28, 975, 295, 25, 23, 50, 1259, 106, 76, 77, 105, 1492, 35, 3525, 32, 4910, 4511, 27, 30, 31, 1172, - 1197, 374, 28, 3274, 35, 1149, 32, 672, 6850, 27, 30, 31, 1172, 1197, 26, 28, 975, 295, 25, 23, 50, - 1259, 86, 76, 77, 1603, 6850, 6850, 56, 56, 4274, 6850, 6850, 4274, 599, 3687, 35, 553, 6850, 6850, - 6850, 6850, 1870, 6850, 6850, 6850, 6850, 4274, 271, 295, 6850, 6850, 261, 6850, 6850, 378, 378, 188, - 6850, 6850, 6850, 6850, 354, 2260, 356, 1494, 349, 1437, 6850, 261, 6850, 6850, 6850, 238, 248, 653, - 6850, 6850, 6850, 2455, 237, 245, 246, 247, 249, 6850, 265, 6850, 718, 718, 238, 248, 653, 6850, 6850, - 6850, 6850, 237, 245, 246, 247, 249, 6850, 1959, 269, 263, 264, 6850, 4274, 545, 1436, 6850, 6850, 6850, - 6850, 239, 241, 243, 3469, 6850, 250, 240, 242, 6850, 2271, 35, 2034, 424, 6850, 6850, 261, 6850, 239, - 241, 243, 3469, 6850, 250, 240, 242, 6850, 71, 35, 2034, 424, 276, 279, 282, 1212, 985, 6850, 238, 248, - 653, 6850, 2407, 49, 6097, 237, 245, 246, 247, 249, 6850, 6850, 6850, 6850, 1991, 47, 454, 455, 3524, - 2605, 49, 6097, 3589, 35, 2034, 424, 4441, 6850, 6850, 6850, 6850, 1991, 2048, 6850, 6850, 271, 295, - 6850, 719, 6850, 239, 241, 243, 3469, 6850, 250, 240, 242, 6850, 1385, 35, 1149, 32, 4993, 307, 27, 30, - 31, 1172, 1197, 374, 28, 6850, 1296, 6850, 6850, 6850, 5951, 4274, 6850, 562, 563, 568, 265, 6850, 6850, - 6850, 6850, 6850, 6850, 2737, 6850, 6097, 6850, 6850, 6850, 71, 35, 2034, 424, 261, 269, 263, 264, 6850, - 6850, 6850, 1385, 35, 1149, 32, 4993, 3260, 27, 30, 31, 1172, 1197, 374, 28, 6850, 828, 443, 6002, 6850, - 6850, 6850, 368, 49, 6850, 6850, 354, 2260, 356, 6850, 352, 1437, 6850, 308, 1991, 2660, 6850, 276, 279, - 282, 1212, 985, 2315, 35, 1149, 32, 4910, 4194, 27, 30, 31, 1172, 1197, 374, 28, 3260, 6850, 6850, 444, - 445, 446, 3469, 2048, 56, 6850, 285, 6850, 4274, 4274, 6850, 368, 6850, 6850, 6850, 354, 2260, 356, - 1692, 350, 1437, 6850, 439, 4274, 3467, 6850, 6850, 6850, 6850, 6850, 261, 378, 6850, 6850, 6850, 6850, - 6850, 243, 35, 2034, 424, 6850, 6850, 2182, 6850, 261, 6850, 6850, 599, 6850, 6850, 238, 248, 653, 6850, - 351, 3484, 356, 237, 245, 246, 247, 249, 6850, 718, 6850, 238, 248, 653, 49, 378, 188, 6850, 237, 245, - 246, 247, 249, 1781, 220, 1991, 47, 6850, 4274, 6850, 543, 447, 450, 6850, 6850, 6850, 6850, 2137, 239, - 241, 243, 3469, 4274, 581, 240, 242, 6850, 6850, 2512, 1578, 261, 6850, 6850, 239, 241, 243, 3469, 6850, - 580, 240, 242, 2822, 6850, 6850, 261, 6850, 4274, 6850, 6850, 6850, 2126, 238, 248, 653, 3855, 6850, - 6850, 6850, 237, 245, 246, 247, 249, 6850, 6850, 238, 248, 653, 4140, 6850, 6850, 6850, 237, 245, 246, - 247, 249, 2226, 6850, 6850, 2598, 6850, 4274, 6850, 222, 6850, 6850, 243, 35, 2034, 424, 6850, 6850, - 239, 241, 243, 3469, 1179, 251, 240, 242, 5951, 4274, 3260, 261, 6850, 6850, 239, 241, 243, 3469, 2882, - 340, 240, 242, 6850, 4274, 6850, 368, 49, 6850, 6850, 6850, 6850, 261, 238, 248, 653, 6850, 387, 1991, - 47, 237, 245, 246, 247, 249, 6850, 4140, 2459, 35, 2034, 424, 6850, 541, 828, 443, 6002, 56, 381, 1341, - 651, 384, 599, 1625, 6850, 6850, 6850, 56, 6850, 6850, 6850, 6850, 4274, 6850, 3280, 6850, 239, 241, - 243, 3469, 49, 535, 240, 242, 378, 188, 6850, 6850, 6850, 6850, 6850, 1991, 47, 1394, 378, 6850, 444, - 445, 446, 3469, 538, 540, 6850, 56, 6850, 56, 6850, 56, 599, 6850, 599, 6850, 599, 6850, 6850, 2540, - 6850, 718, 6850, 6850, 6850, 3467, 6850, 541, 6850, 6850, 6850, 718, 6850, 6850, 378, 188, 378, 188, - 378, 188, 6850, 3564, 1635, 220, 6850, 220, 6850, 220, 6850, 6850, 6850, 6850, 596, 6850, 6850, 6850, - 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 2512, 6850, 2512, 6850, 2512, 6850, - 6850, 538, 540, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 447, 449, 6850, 6850, - 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, - 6850, 6850, 6850, 3620, 6850, 6850, 627, 6850, 6850, 5928, 6850, 6850, 6850, 6850, 6850, 3429, 6850, - 3530, 6850, 3584, 6850, 0, 39, 6865, 0, 39, 6864, 0, 1238, 29, 0, 476, 1324, 0, 490, 1369, 0, 38, 646, - 0, 38, 6865, 0, 38, 6864, 0, 4005, 125, 0, 1, 480, 0, 494, 1381, 0, 493, 1478, 0, 956, 91, 0, 1238, 423, - 0, 35, 33, 0, 32, 34, 0, 39, 646, 0, 1, 1085, 0, 1, 7156, 0, 1, 7155, 0, 1, 7154, 0, 1, 7153, 0, 1, - 7152, 0, 1, 7151, 0, 1, 7150, 0, 1, 7149, 0, 1, 7148, 0, 1, 7147, 0, 1, 7146, 0, 39, 1, 6865, 0, 39, 1, - 6864, 0, 317, 430, 0, 317, 322, 0, 7117, 274, 0, 7116, 274, 0, 7223, 274, 0, 7222, 274, 0, 7144, 274, 0, - 7143, 274, 0, 7142, 274, 0, 7141, 274, 0, 7140, 274, 0, 7139, 274, 0, 7138, 274, 0, 7137, 274, 0, 7156, - 274, 0, 7155, 274, 0, 7154, 274, 0, 7153, 274, 0, 7152, 274, 0, 7151, 274, 0, 7150, 274, 0, 7149, 274, - 0, 7148, 274, 0, 7147, 274, 0, 7146, 274, 0, 39, 6865, 274, 0, 39, 6864, 274, 0, 6888, 274, 0, 6865, 48, - 0, 6864, 48, 0, 43, 6886, 0, 43, 37, 0, 4005, 127, 0, 4005, 126, 0, 6856, 1, 0, 6855, 1, 0, 3359, 270, - 0, 32, 424, 0, 29, 423, 0, 1, 5715, 0, 1, 5364, 0, 1, 5421, 0, 1, 5487, 0, 1, 5510, 0, 1, 5540, 0, 1, - 5564, 0, 1, 5587, 0, 1, 3493, 0, 1042, 1, 0, 1, 2317, 0, 1, 5395, 0, 1, 6872, 0, 1, 6871, 0, 1, 6870, 0, - 1, 6869, 0, 1, 6868, 0, 1, 6867, 0, 1, 6866, 0, 1, 638, 0, 1, 641, 0, 1, 652, 0, 1, 714, 0, 1, 751, 0, - 39, 1, 0, 366, 481, 0, 1, 92, 0, 47, 37, 0, 6888, 1, 0, 6865, 274, 0, 6864, 274, 0, 537, 3468, 0, 6888, - 1, 262, 0, 39, 1, 262, 0, 262, 452, 0, 6865, 37, 0, 6864, 37, 0, 6886, 45, 0, 37, 45, 0, 6865, 36, 0, - 6864, 36, 0, 6865, 2, 37, 0, 6864, 2, 37, 0, 6860, 441, 0, 6859, 441, 0, 1, 2380, 0, 1, 646, 0, 262, - 451, 0, 366, 95, 0, 35, 73, 0, 2733, 353, 0, 1, 366, 0, 3867, 312, 0, 537, 6037, 0, 1, 262, 0, 262, 253, - 0, 1, 743, 0, 1, 2001, 0, 262, 252, 0, 6862, 1, 0, 6858, 1, 0, 1, 262, 3576, 0, 6859, 262, 0, 3577, 262, - 0, 6862, 419, 0, 6861, 419, 0, 3622, 262, 0, 10, 12, 0, 8, 10, 12, 0, 3627, 226, 0, 217, 5150, 0, 3631, - 419, 0, 8, 12, 0 }; - } - - public final static char baseAction[] = BaseAction.baseAction; - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - 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, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 0, 69, 0, 1, 2, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 4, 65, 66, - 67, 94, 69, 92, 93, 0, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 0, 61, 62, - 63, 4, 65, 66, 67, 0, 69, 0, 1, 2, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 86, 87, 56, 57, 58, - 59, 0, 61, 62, 63, 95, 65, 66, 67, 0, 69, 0, 1, 2, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, - 68, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 0, 69, 0, 3, 0, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 94, 69, 86, 87, 86, 87, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 94, 69, 92, 93, - 0, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 95, 65, 66, - 67, 94, 69, 92, 93, 86, 87, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 0, 61, - 62, 63, 0, 65, 66, 67, 0, 69, 0, 1, 2, 5, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 86, 87, 56, 57, - 58, 59, 0, 61, 62, 63, 4, 65, 66, 67, 0, 69, 101, 102, 4, 95, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 0, 0, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 0, 69, 0, 1, 2, 0, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 4, 69, 92, 93, 0, 0, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 68, 0, 56, 57, 58, 59, 0, 61, 62, 63, 9, 65, 66, 67, 0, 69, - 96, 0, 1, 2, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 40, 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, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 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, - 0, 1, 2, 0, 4, 0, 40, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 53, 0, 55, 56, 57, 58, 5, 0, 61, 62, 63, 0, 1, - 2, 3, 4, 0, 6, 71, 8, 73, 5, 38, 7, 38, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 88, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 71, 0, 114, 115, 116, 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, 91, 0, 99, 100, 0, 0, 40, 98, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 53, 0, 55, 56, 57, 58, 0, 64, 61, 62, - 63, 68, 0, 0, 0, 3, 0, 5, 71, 7, 73, 9, 6, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 88, 0, 1, 2, - 3, 4, 55, 6, 54, 8, 0, 34, 35, 36, 37, 60, 0, 40, 64, 3, 70, 0, 1, 2, 60, 70, 114, 115, 116, 0, 9, 54, - 0, 1, 2, 3, 4, 60, 6, 0, 8, 64, 64, 89, 90, 68, 68, 70, 71, 72, 73, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 86, 87, 0, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 69, 120, 60, 64, 117, 118, 119, 120, 0, 34, 35, 3, 0, 5, 0, 7, - 4, 9, 0, 1, 2, 3, 4, 9, 6, 0, 8, 0, 0, 1, 2, 3, 4, 5, 0, 7, 0, 10, 4, 5, 91, 7, 34, 35, 36, 37, 0, 98, - 40, 3, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 54, 0, 1, 2, 54, 4, 60, 0, 1, 2, 64, 4, 0, 6, 68, - 8, 70, 71, 72, 73, 0, 69, 59, 0, 1, 2, 60, 71, 54, 6, 64, 8, 86, 87, 68, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 0, 1, 2, 55, 117, 118, 119, - 120, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 0, 0, 1, 2, 3, 4, 40, 6, 0, 8, 0, 1, 2, 55, 4, 5, 0, 7, 0, 53, 0, 55, 56, - 57, 58, 0, 0, 61, 62, 63, 4, 65, 7, 114, 115, 116, 0, 1, 2, 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 0, 53, 88, 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, 0, 70, 0, 0, 1, 2, 40, 4, 0, 6, 91, 8, 4, 66, 67, 0, 0, 98, 91, - 53, 54, 55, 56, 57, 58, 98, 0, 61, 62, 63, 22, 65, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 0, 1, 2, 3, 4, 5, 6, 7, 8, 38, 88, 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, 0, 1, 2, 0, 4, 5, 40, 7, 71, 0, 1, - 2, 9, 4, 5, 60, 7, 0, 0, 53, 3, 55, 56, 57, 58, 0, 113, 61, 62, 63, 0, 65, 0, 114, 115, 116, 0, 1, 2, - 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 88, 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, 0, 1, 2, 60, 4, 5, - 40, 7, 0, 1, 2, 0, 4, 0, 6, 4, 8, 54, 0, 53, 7, 55, 56, 57, 58, 0, 0, 61, 62, 63, 0, 65, 118, 22, 0, 1, - 2, 96, 4, 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 89, 90, 88, 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, 55, 0, - 1, 2, 68, 64, 40, 6, 71, 8, 0, 1, 2, 0, 0, 0, 6, 0, 0, 53, 5, 55, 56, 57, 58, 0, 9, 61, 62, 63, 0, 65, - 0, 3, 0, 1, 2, 23, 24, 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 88, 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, 72, 60, 0, 60, 68, 64, 40, 5, 0, 68, 0, 66, 67, 0, 86, 87, 3, 54, 54, 53, 96, 55, 56, 57, 58, 99, - 100, 61, 62, 63, 0, 65, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1, 2, 3, 4, 5, 0, 7, 89, 90, - 88, 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, 0, 1, 2, 0, 4, 64, 40, 0, 0, 0, 0, 0, 99, 100, 0, 60, 9, 3, 9, 53, 9, 55, - 56, 57, 58, 64, 0, 61, 62, 63, 0, 65, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1, 2, 40, 4, - 40, 6, 40, 8, 0, 88, 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, 0, 1, 2, 0, 4, 5, 40, 7, 0, 9, 55, 0, 1, 2, 95, 7, 0, 0, 54, - 53, 0, 55, 56, 57, 58, 9, 9, 61, 62, 63, 0, 65, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 88, 0, 1, 2, 3, 4, 0, 6, 0, 8, 9, 3, 34, 35, 36, 37, 38, 39, 72, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 72, 72, 5, 59, 0, 0, 62, 40, 3, 97, 66, 67, 0, 1, 2, 3, 4, 5, - 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 1, 2, 3, 4, 97, 6, 0, 8, 9, 70, 113, 34, - 35, 36, 37, 38, 39, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 0, 0, 0, 59, 0, 3, 40, - 54, 64, 9, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 34, - 35, 3, 34, 35, 0, 1, 2, 0, 1, 2, 34, 35, 36, 37, 38, 39, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 0, 1, 2, 68, 96, 0, 59, 72, 0, 0, 0, 0, 7, 0, 3, 0, 69, 9, 9, 9, 73, 0, 1, 2, 3, 4, 5, 6, 7, 8, 55, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 1, 2, 0, 0, 0, 6, 40, 0, 0, 0, 3, 34, 35, 36, 37, 38, - 39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 68, 68, 64, 59, 73, 73, 0, 71, 0, 3, 66, - 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 55, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 60, 0, 0, 0, 54, 64, - 64, 70, 0, 0, 9, 9, 34, 35, 36, 37, 38, 39, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, - 0, 0, 0, 59, 3, 89, 90, 0, 0, 9, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 60, 60, 69, 97, 0, 70, 72, 3, 0, 0, 0, 3, 34, 35, 36, 37, 38, 39, 55, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 97, 64, 0, 1, 2, 0, 59, 0, 73, 0, 0, 0, 70, 3, 71, 0, 69, 0, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 60, 0, 1, 2, 0, 0, 0, 3, 0, 5, 6, 7, 34, - 35, 36, 37, 38, 39, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 60, 0, 1, 2, 0, 70, 59, 34, 35, - 36, 37, 74, 39, 68, 0, 0, 69, 0, 3, 0, 3, 113, 0, 9, 9, 55, 0, 54, 0, 54, 0, 54, 0, 60, 0, 3, 97, 64, - 10, 66, 67, 68, 68, 70, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 55, 0, 54, 86, 87, 0, 89, 90, - 91, 92, 93, 94, 95, 96, 0, 10, 99, 100, 101, 60, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 72, - 72, 54, 61, 117, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 53, 0, - 55, 0, 0, 4, 0, 0, 4, 3, 54, 34, 35, 36, 37, 38, 39, 10, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 54, 0, 54, 113, 54, 54, - 0, 53, 9, 55, 64, 34, 35, 36, 37, 38, 39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 0, - 0, 89, 90, 3, 0, 9, 0, 55, 118, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 0, 0, 68, 0, 72, 55, 0, 0, 0, 0, 71, 0, 34, 35, 36, 37, 38, 39, 54, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 0, 0, 68, 3, 71, 73, 59, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 54, 54, 54, 54, 0, 54, 0, 0, 0, 0, 64, 71, 34, 35, 36, 37, 38, 39, 75, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 121, 0, 3, 89, 90, 0, 60, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 54, 0, 0, 0, 0, 3, 3, 3, 0, 0, 64, 0, 34, 35, 36, 37, - 38, 39, 70, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 0, 89, 90, 59, 0, 1, 2, 3, 4, 5, 6, - 7, 8, 71, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 70, 34, 35, - 36, 37, 38, 39, 70, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 0, 0, 0, 59, 0, 1, 2, 3, 4, - 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 34, - 35, 36, 37, 38, 39, 71, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 0, 0, 0, 59, 0, 1, 2, - 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, - 70, 34, 35, 36, 37, 38, 39, 70, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 3, 4, 5, 6, 7, - 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, - 37, 38, 39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 39, 0, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 39, 0, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 34, 35, 36, 37, 38, 39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 0, 1, 2, 0, 4, 0, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 53, 4, 0, - 56, 57, 58, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 53, 0, 0, 56, 57, 58, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 53, 0, 0, 56, 57, 58, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 3, 0, - 53, 0, 0, 56, 57, 58, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 1, 2, 3, 4, 40, 6, 0, 8, 9, - 3, 0, 36, 37, 0, 0, 9, 0, 0, 54, 0, 0, 0, 0, 0, 60, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 60, 72, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 60, 0, 0, 0, 0, 0, 40, 60, 0, 0, 0, 64, - 72, 0, 0, 68, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 117, 0, 119, 0, 0, 72, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1, 2, 3, 4, 5, 0, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 64, 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, 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; - - @Override - public final int termCheck(int index) { - return termCheck[index]; - } - - public interface TermAction { - public final static char termAction[] = { 0, 6850, 6812, 6791, 6791, 6791, 6791, 6791, 6791, 6791, 6828, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6816, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 120, 1, 1, 1, 1, 1, 132, 1285, 7057, 2619, 128, 3527, 1, 1, 366, 6861, 6850, - 6864, 6865, 6857, 2797, 3619, 3083, 3231, 3082, 3575, 4714, 3616, 806, 3581, 4509, 3579, 10, 6831, 6831, - 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, - 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, - 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, - 4346, 4413, 6831, 6831, 6831, 6831, 39, 6831, 6831, 6831, 6888, 6831, 6831, 6831, 1106, 6831, 3754, - 3723, 431, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 6831, 8, 6834, 6834, - 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, - 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, - 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, - 124, 134, 6834, 6834, 6834, 6834, 6850, 6834, 6834, 6834, 815, 6834, 6834, 6834, 332, 6834, 6850, 6595, - 6592, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6834, 6850, 6812, 6791, - 6791, 6791, 6791, 6791, 6791, 6791, 6819, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 6816, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4346, 4413, 1, 1, 1, 1, 420, - 1285, 7057, 2619, 1254, 3527, 1, 1, 6850, 6861, 48, 6595, 6592, 189, 2797, 3619, 3083, 3231, 3082, 3575, - 4714, 3616, 806, 3581, 4509, 3579, 6850, 6812, 6791, 6791, 6791, 6791, 6791, 6791, 6791, 6819, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6816, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 123, 1489, 1, 1, 1, 1, 133, 1285, 7057, 2619, 6850, 3527, 1, 1, 6850, 6861, 122, - 5741, 121, 6850, 2797, 3619, 3083, 3231, 3082, 3575, 4714, 3616, 806, 3581, 4509, 3579, 6850, 6812, - 6791, 6791, 6791, 6791, 6791, 6791, 6791, 6819, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6816, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4346, 4413, 1, 1, 1, 1, - 152, 1285, 7057, 2619, 129, 3527, 1, 1, 1106, 6861, 4346, 4413, 4346, 4413, 2797, 3619, 3083, 3231, - 3082, 3575, 4714, 3616, 806, 3581, 4509, 3579, 6850, 6812, 6791, 6791, 6791, 6791, 6791, 6791, 6791, - 6819, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6816, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 140, 135, 1, 1, 1, 1, 153, 1285, 7057, 2619, 148, 3527, 1, 1, 3588, - 6861, 3754, 3723, 144, 6850, 2797, 3619, 3083, 3231, 3082, 3575, 4714, 3616, 806, 3581, 4509, 3579, - 6850, 6812, 6791, 6791, 6791, 6791, 6791, 6791, 6791, 6819, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6816, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4346, 4413, 1, - 1, 1, 1, 6850, 1285, 7057, 2619, 1254, 3527, 1, 1, 3588, 6861, 3825, 3785, 4346, 4413, 2797, 3619, 3083, - 3231, 3082, 3575, 4714, 3616, 806, 3581, 4509, 3579, 6850, 6812, 6791, 6791, 6791, 6791, 6791, 6791, - 6791, 6819, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 6816, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 143, 138, 1, 1, 1, 1, 6850, 1285, 7057, 2619, 154, 3527, 1, - 1, 6850, 6861, 433, 6864, 6865, 2526, 2797, 3619, 3083, 3231, 3082, 3575, 4714, 3616, 806, 3581, 4509, - 3579, 6850, 6812, 6791, 6791, 6791, 6791, 6791, 6791, 6791, 6819, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6816, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4346, - 4413, 1, 1, 1, 1, 6850, 1285, 7057, 2619, 2245, 3527, 1, 1, 431, 6861, 3288, 4210, 424, 3533, 2797, - 3619, 3083, 3231, 3082, 3575, 4714, 3616, 806, 3581, 4509, 3579, 6850, 6812, 6791, 6791, 6791, 6791, - 6791, 6791, 6791, 6819, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 6816, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 141, 6850, 1, 1, 1, 1, 6850, 1285, 7057, 2619, - 149, 3527, 1, 1, 6850, 6861, 36, 6747, 6744, 6850, 2797, 3619, 3083, 3231, 3082, 3575, 4714, 3616, 806, - 3581, 4509, 3579, 6850, 6812, 6791, 6791, 6791, 6791, 6791, 6791, 6791, 6819, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6816, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 4346, 4413, 1, 1, 1, 1, 136, 1285, 7057, 2619, 6850, 3527, 1, 1, 2092, 6861, 3825, 3785, 551, 6850, - 2797, 3619, 3083, 3231, 3082, 3575, 4714, 3616, 806, 3581, 4509, 3579, 6850, 3576, 1, 1, 1, 1, 1, 1, 1, - 3577, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6859, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 929, 441, 1, 1, 1, 1, 6850, 1285, 7057, 2619, 6758, 3527, 1, 1, - 6850, 6861, 3393, 6850, 10573, 10573, 2797, 3619, 3083, 3231, 3082, 3575, 4714, 3616, 806, 3581, 4509, - 3579, 39, 6414, 6411, 3866, 1042, 5510, 5395, 5540, 2317, 6761, 1187, 7148, 7146, 7155, 7154, 7150, - 7151, 7149, 7152, 7153, 7156, 7147, 7143, 7222, 7223, 7137, 7144, 7140, 7116, 7142, 7141, 7138, 7139, - 7117, 5487, 5421, 5587, 5564, 6869, 5364, 6886, 641, 751, 6871, 652, 5715, 714, 6872, 6870, 638, 6866, - 6867, 6868, 7284, 6850, 6850, 1320, 7285, 7286, 1439, 6850, 6725, 6725, 262, 6721, 262, 262, 262, 262, - 6729, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 322, 6509, 6509, 6850, - 317, 6850, 262, 6850, 6502, 6498, 2380, 6652, 6782, 646, 6782, 2317, 332, 6864, 6865, 1, 114, 6718, 1, - 1, 1, 5325, 110, 2201, 7298, 2340, 1, 6502, 6498, 2380, 6652, 6850, 646, 262, 2317, 452, 1951, 2731, - 1904, 3030, 256, 344, 6502, 6498, 2380, 6652, 6782, 646, 6782, 2317, 7386, 7148, 7146, 7155, 7154, 7150, - 7151, 7149, 7152, 7153, 7156, 7147, 7143, 7222, 7223, 7137, 7144, 7140, 7116, 7142, 7141, 7138, 7139, - 7117, 3033, 6850, 7321, 7322, 7323, 6850, 6725, 6725, 262, 6721, 262, 262, 262, 262, 6770, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5633, 6850, 5301, 4301, 138, 37, 262, 5656, - 125, 402, 6502, 6498, 4180, 6652, 1, 646, 1, 2317, 494, 1, 257, 6718, 1, 1, 1, 6850, 6171, 2201, 7298, - 2340, 3566, 33, 6850, 6850, 6453, 6850, 6453, 262, 6453, 451, 6453, 1481, 7143, 7222, 7223, 7137, 7144, - 7140, 7116, 7142, 7141, 7138, 7139, 7117, 7386, 366, 6414, 6411, 2380, 1042, 6886, 646, 4032, 2317, - 6850, 6453, 6453, 6453, 6453, 2053, 6850, 6453, 6435, 3359, 2006, 6850, 6864, 6865, 6441, 1293, 7321, - 7322, 7323, 6850, 6862, 6453, 1, 6502, 6498, 4180, 6652, 6453, 646, 113, 2317, 6453, 3626, 3978, 3905, - 6453, 3566, 6453, 6453, 6453, 6453, 3288, 4210, 1959, 1912, 1865, 1818, 1771, 1724, 1677, 1630, 1583, - 1536, 6453, 6453, 117, 6453, 6453, 6453, 6453, 6453, 6453, 6453, 6453, 6453, 6453, 6453, 6453, 6453, - 6453, 6453, 6453, 6453, 6453, 6453, 6453, 6453, 6453, 6453, 6453, 6861, 6410, 2053, 2989, 6453, 6453, - 6453, 6453, 6850, 4631, 4604, 6456, 432, 6456, 6850, 6456, 423, 6456, 1, 6502, 6498, 2380, 6652, 6862, - 646, 594, 2317, 336, 37, 6865, 6865, 6865, 6865, 6865, 39, 6865, 6850, 7185, 6888, 366, 5633, 366, 6456, - 6456, 6456, 6456, 91, 5656, 6456, 6447, 6865, 6865, 6865, 6865, 6865, 6865, 6865, 6865, 6865, 6865, - 6865, 6865, 6456, 6850, 6414, 6411, 1238, 6888, 6456, 6850, 6414, 6411, 6456, 1042, 6850, 6459, 6456, - 2317, 6456, 6456, 6456, 6456, 475, 6861, 3570, 38, 6432, 6429, 6865, 3033, 2856, 6426, 6865, 2317, 6456, - 6456, 6865, 6456, 6456, 6456, 6456, 6456, 6456, 6456, 6456, 6456, 6456, 6456, 6456, 6456, 6456, 6456, - 6456, 6456, 6456, 6456, 6456, 6456, 6456, 6456, 6456, 43, 6601, 6601, 2644, 6456, 6456, 6456, 6456, - 6850, 6791, 6791, 262, 6791, 262, 262, 262, 262, 6794, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 9189, 1, 1, 1, 1, 1, 1, 6850, 1, 6502, 6498, 6764, 6652, 262, 6767, 112, 6655, 480, 1, 1, 6598, 1, - 6438, 111, 6438, 258, 1, 158, 6788, 1, 1, 1, 130, 6850, 2590, 7094, 2619, 2670, 3527, 3641, 7321, 7322, - 7323, 6850, 6864, 6865, 253, 7143, 7222, 7223, 7137, 7144, 7140, 7116, 7142, 7141, 7138, 7139, 7117, - 6850, 2537, 7386, 6850, 6791, 6791, 262, 6791, 262, 262, 262, 262, 262, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 9189, 1, 1, 1, 1, 1, 1, 6850, 2812, 6850, 6850, 6414, 6411, 262, 1042, 39, 646, 5633, - 2317, 6888, 5610, 1047, 1, 6850, 5656, 5633, 1, 3477, 6788, 1, 1, 1, 5656, 6850, 2590, 7094, 2619, 982, - 3527, 3330, 4999, 2746, 2680, 2614, 2548, 2482, 2416, 2350, 2284, 2218, 2152, 380, 6414, 6411, 4180, - 1042, 366, 646, 366, 2317, 3526, 7386, 6850, 6791, 6791, 262, 6791, 262, 262, 262, 262, 6803, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9189, 1, 1, 1, 1, 1, 1, 481, 39, 39, 6850, 6888, 6700, 262, - 6700, 2095, 92, 1, 1, 6854, 1, 6703, 2053, 6703, 1, 259, 1, 5164, 6788, 1, 1, 1, 6850, 3621, 2590, 7094, - 2619, 137, 3527, 493, 7321, 7322, 7323, 326, 6864, 6865, 252, 7143, 7222, 7223, 7137, 7144, 7140, 7116, - 7142, 7141, 7138, 7139, 7117, 145, 6850, 7386, 6850, 6791, 6791, 262, 6791, 262, 262, 262, 262, 6794, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9189, 1, 1, 1, 1, 1, 1, 95, 39, 39, 6444, 6888, 6773, - 262, 6773, 6850, 6414, 6411, 39, 1042, 131, 646, 6888, 2317, 4113, 260, 1, 3641, 6788, 1, 1, 1, 397, - 6850, 2590, 7094, 2619, 6850, 3527, 6853, 2667, 430, 6506, 6506, 3393, 317, 253, 7143, 7222, 7223, 7137, - 7144, 7140, 7116, 7142, 7141, 7138, 7139, 7117, 4086, 4059, 7386, 6850, 6791, 6791, 262, 6791, 262, 262, - 262, 262, 6794, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9189, 1, 1, 1, 1, 1, 1, 317, 6850, - 6864, 6865, 3371, 3038, 262, 646, 2878, 2317, 6850, 6864, 6865, 156, 371, 116, 1481, 6850, 571, 1, 5325, - 6788, 1, 1, 1, 319, 6856, 2590, 7094, 2619, 1, 3527, 383, 3859, 6850, 6595, 6592, 7222, 7223, 253, 7143, - 7222, 7223, 7137, 7144, 7140, 7116, 7142, 7141, 7138, 7139, 7117, 147, 6850, 7386, 6850, 6791, 6791, - 262, 6791, 262, 262, 262, 262, 262, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9189, 1, 1, 1, 1, - 1, 1, 6855, 2053, 115, 2053, 7168, 576, 262, 5325, 6850, 576, 572, 5610, 1047, 270, 4346, 4413, 6616, - 4113, 4731, 1, 3431, 6788, 1, 1, 1, 5301, 4301, 2590, 7094, 2619, 6850, 3527, 7143, 7222, 7223, 7137, - 7144, 7140, 7116, 7142, 7141, 7138, 7139, 7117, 380, 39, 39, 3859, 6888, 366, 6850, 366, 4086, 4059, - 7386, 6850, 6791, 6791, 262, 6791, 262, 262, 262, 262, 262, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 9189, 1, 1, 1, 1, 1, 1, 6850, 6414, 6411, 6850, 6888, 3062, 262, 6850, 155, 1, 573, 1, 5301, 4301, - 6850, 2053, 6860, 4458, 6860, 1, 223, 6788, 1, 1, 1, 3085, 6850, 2590, 7094, 2619, 6850, 3527, 7143, - 7222, 7223, 7137, 7144, 7140, 7116, 7142, 7141, 7138, 7139, 7117, 6850, 6414, 6411, 6859, 1042, 6859, - 6459, 223, 2317, 6850, 7386, 6850, 6791, 6791, 262, 6791, 262, 262, 262, 262, 262, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9189, 1, 1, 1, 1, 1, 1, 1, 6697, 6697, 6850, 6709, 366, 262, 366, 150, - 398, 2710, 6850, 10327, 10324, 3533, 3675, 1, 6850, 4978, 1, 410, 6788, 1, 1, 1, 193, 6856, 2590, 7094, - 2619, 393, 3527, 6850, 1, 1, 1, 1, 1, 1, 1, 1, 6850, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7386, 1, 6502, - 6498, 6764, 6652, 6850, 6767, 346, 6655, 6860, 972, 1, 1, 1, 1, 1, 1, 398, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 37, 6706, 6706, 193, 6855, 366, 1, 6850, 6850, 7448, 6859, 4729, 398, 1, 1, 1, 6502, 6498, 3493, - 1042, 5510, 5395, 5540, 2317, 6850, 6462, 6489, 6495, 6468, 6471, 6483, 6480, 6486, 6477, 6474, 6465, - 6492, 1, 6502, 6498, 2380, 6652, 7242, 646, 157, 2317, 344, 1144, 3621, 5487, 5421, 5587, 5564, 6869, - 5364, 6886, 641, 751, 6871, 652, 5715, 714, 6872, 6870, 638, 6866, 6867, 6868, 37, 6706, 6706, 6850, - 119, 6850, 1439, 118, 4779, 344, 5102, 552, 6856, 39, 39, 39, 6414, 6411, 3866, 1042, 5510, 5395, 5540, - 2317, 6844, 1085, 7148, 7146, 7155, 7154, 7150, 7151, 7149, 7152, 7153, 7156, 7147, 6850, 4631, 4604, - 4909, 4631, 4604, 6850, 6735, 6732, 6850, 10327, 10324, 5487, 5421, 5587, 5564, 6869, 5364, 1719, 641, - 751, 6871, 652, 5715, 714, 6872, 6870, 638, 6866, 6867, 6868, 325, 892, 892, 6252, 3431, 151, 1439, - 6855, 6850, 6850, 6850, 6850, 3675, 6850, 3867, 6850, 6825, 6858, 6858, 6860, 6857, 173, 6414, 6411, - 3866, 1042, 5510, 5395, 5540, 2317, 6886, 1085, 7148, 7146, 7155, 7154, 7150, 7151, 7149, 7152, 7153, - 7156, 7147, 37, 6706, 6706, 6850, 6850, 405, 6706, 6859, 382, 6850, 6850, 1798, 5487, 5421, 5587, 5564, - 6869, 5364, 146, 641, 751, 6871, 652, 5715, 714, 6872, 6870, 638, 6866, 6867, 6868, 45, 6741, 6741, - 1058, 5702, 7398, 1439, 6857, 6857, 6850, 7287, 1, 3869, 39, 39, 1, 6502, 6498, 3493, 1042, 5510, 5395, - 5540, 2317, 1672, 6462, 6489, 6495, 6468, 6471, 6483, 6480, 6486, 6477, 6474, 6465, 6492, 2053, 1, 1, - 403, 4113, 7327, 7341, 1342, 100, 99, 6806, 398, 5487, 5421, 5587, 5564, 6869, 5364, 6738, 641, 751, - 6871, 652, 5715, 714, 6872, 6870, 638, 6866, 6867, 6868, 6850, 6754, 6750, 1, 103, 6850, 1439, 4222, - 4086, 4059, 327, 464, 6809, 39, 39, 39, 6414, 6411, 3866, 1042, 5510, 5395, 5540, 2317, 6822, 1085, - 7148, 7146, 7155, 7154, 7150, 7151, 7149, 7152, 7153, 7156, 7147, 5061, 2991, 6861, 7244, 6850, 1389, - 398, 2733, 312, 583, 355, 6785, 5487, 5421, 5587, 5564, 6869, 5364, 6886, 641, 751, 6871, 652, 5715, - 714, 6872, 6870, 638, 6866, 6867, 6868, 398, 6022, 6850, 6735, 6732, 456, 1439, 1, 6857, 1, 353, 6850, - 3090, 6779, 2080, 325, 6825, 39, 6414, 6411, 3866, 1042, 5510, 5395, 5540, 2317, 6822, 1085, 7148, 7146, - 7155, 7154, 7150, 7151, 7149, 7152, 7153, 7156, 7147, 2053, 6850, 11329, 8950, 1, 462, 29, 1063, 476, - 7349, 7355, 7353, 5487, 5421, 5587, 5564, 6869, 5364, 6886, 641, 751, 6871, 652, 5715, 714, 6872, 6870, - 638, 6866, 6867, 6868, 2053, 37, 6706, 6706, 490, 3189, 1439, 7347, 7348, 7378, 7379, 2921, 7356, 9929, - 1, 1, 6825, 6850, 3859, 6850, 3560, 1, 574, 6856, 6610, 6886, 6850, 7358, 336, 6417, 6850, 6420, 6850, - 728, 423, 4223, 3586, 7359, 7185, 1940, 1943, 7380, 2394, 7357, 7143, 7222, 7223, 7137, 7144, 7140, - 7116, 7142, 7141, 7138, 7139, 7117, 6886, 582, 6423, 7369, 7368, 1, 7374, 7375, 7381, 7372, 7373, 7352, - 7354, 7376, 6850, 6797, 7350, 7351, 7377, 2053, 7362, 7363, 7364, 7360, 7361, 7370, 7371, 7366, 7365, - 7367, 6855, 6613, 6450, 2399, 7382, 39, 6414, 6411, 3866, 1042, 5510, 5395, 5540, 2317, 6854, 1085, - 7148, 7146, 7155, 7154, 7150, 7151, 7149, 7152, 7153, 7156, 7147, 127, 6800, 48, 3565, 6850, 48, 6865, - 6850, 1, 6864, 4916, 1238, 5487, 5421, 5587, 5564, 6869, 5364, 6797, 641, 751, 6871, 652, 5715, 714, - 6872, 6870, 638, 6866, 6867, 6868, 1, 6502, 6498, 6649, 6652, 6637, 6658, 6640, 6655, 47, 6462, 6489, - 6495, 6468, 6471, 6483, 6480, 6486, 6477, 6474, 6465, 6492, 1, 4032, 485, 6865, 3621, 3477, 6864, 484, - 6800, 590, 3565, 6604, 6634, 6631, 6646, 6643, 6670, 6628, 6850, 6685, 6694, 6664, 6688, 6625, 6691, - 6661, 6667, 6682, 6679, 6676, 6673, 8, 29, 343, 6850, 6850, 3978, 3905, 6288, 217, 6847, 6850, 1431, - 6853, 6697, 6697, 39, 6414, 6411, 3866, 1042, 5510, 5395, 5540, 2317, 6850, 1085, 7148, 7146, 7155, - 7154, 7150, 7151, 7149, 7152, 7153, 7156, 7147, 6850, 6850, 2274, 226, 590, 3479, 126, 431, 73, 6850, - 2142, 6850, 5487, 5421, 5587, 5564, 6869, 5364, 1238, 641, 751, 6871, 652, 5715, 714, 6872, 6870, 638, - 6866, 6867, 6868, 6850, 6850, 2182, 6290, 460, 6847, 1439, 39, 6414, 6411, 3866, 1042, 5510, 5395, 5540, - 2317, 6850, 1085, 7148, 7146, 7155, 7154, 7150, 7151, 7149, 7152, 7153, 7156, 7147, 4032, 1238, 6776, - 2908, 6850, 3075, 6850, 6850, 6850, 35, 6607, 3132, 5487, 5421, 5587, 5564, 6869, 5364, 6838, 641, 751, - 6871, 652, 5715, 714, 6872, 6870, 638, 6866, 6867, 6868, 6850, 6841, 6850, 4842, 3978, 3905, 6850, 1517, - 39, 6414, 6411, 3493, 1042, 5510, 5395, 5540, 2317, 6850, 1085, 7148, 7146, 7155, 7154, 7150, 7151, - 7149, 7152, 7153, 7156, 7147, 4113, 544, 6850, 6850, 6850, 6292, 808, 5095, 542, 2, 4153, 6850, 5487, - 5421, 5587, 5564, 6869, 5364, 2802, 641, 751, 6871, 652, 5715, 714, 6872, 6870, 638, 6866, 6867, 6868, - 6850, 6850, 6850, 6850, 4086, 4059, 1439, 39, 6414, 6411, 3493, 1042, 5510, 5395, 5540, 2317, 4778, - 1085, 7148, 7146, 7155, 7154, 7150, 7151, 7149, 7152, 7153, 7156, 7147, 6850, 6850, 6850, 37, 6850, - 6850, 6850, 6850, 6850, 6850, 6850, 5740, 5487, 5421, 5587, 5564, 6869, 5364, 6023, 641, 751, 6871, 652, - 5715, 714, 6872, 6870, 638, 6866, 6867, 6868, 6850, 6850, 6850, 6850, 6850, 6850, 1439, 39, 6414, 6411, - 3866, 1042, 5510, 5395, 5540, 2317, 6850, 1085, 7148, 7146, 7155, 7154, 7150, 7151, 7149, 7152, 7153, - 7156, 7147, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 546, 6850, 6850, 4840, 5487, 5421, 5587, - 5564, 6869, 5364, 4902, 641, 751, 6871, 652, 5715, 714, 6872, 6870, 638, 6866, 6867, 6868, 6850, 6850, - 6850, 6850, 6850, 6850, 1439, 39, 6414, 6411, 6242, 1042, 5510, 5395, 5540, 2317, 6850, 1085, 7148, - 7146, 7155, 7154, 7150, 7151, 7149, 7152, 7153, 7156, 7147, 6850, 6850, 6850, 6850, 6850, 6850, 6850, - 6850, 6850, 6850, 2802, 2944, 5487, 5421, 5587, 5564, 6869, 5364, 904, 641, 751, 6871, 652, 5715, 714, - 6872, 6870, 638, 6866, 6867, 6868, 39, 6414, 6411, 3866, 1042, 5510, 5395, 5540, 2317, 6850, 1085, 7148, - 7146, 7155, 7154, 7150, 7151, 7149, 7152, 7153, 7156, 7147, 6850, 6850, 6850, 6850, 6850, 6850, 6850, - 6850, 6850, 6850, 6850, 6850, 5487, 5421, 5587, 5564, 6869, 5364, 6850, 641, 751, 6871, 652, 5715, 714, - 6872, 6870, 638, 6866, 6867, 6868, 39, 6414, 6411, 3493, 1042, 5510, 5395, 5540, 2317, 6850, 1085, 7148, - 7146, 7155, 7154, 7150, 7151, 7149, 7152, 7153, 7156, 7147, 6850, 6850, 6850, 6850, 6850, 6850, 6850, - 6850, 6850, 6850, 6850, 6850, 5487, 5421, 5587, 5564, 6869, 5364, 6850, 641, 751, 6871, 652, 5715, 714, - 6872, 6870, 638, 6866, 6867, 6868, 39, 6414, 6411, 3493, 1042, 5510, 5395, 5540, 2317, 6850, 1085, 7148, - 7146, 7155, 7154, 7150, 7151, 7149, 7152, 7153, 7156, 7147, 6850, 6850, 6850, 6850, 6850, 6850, 6850, - 6850, 6850, 6850, 6850, 6850, 5487, 5421, 5587, 5564, 6869, 5364, 6850, 641, 751, 6871, 652, 5715, 714, - 6872, 6870, 638, 6866, 6867, 6868, 39, 6414, 6411, 3866, 1042, 5510, 5395, 5540, 2317, 6850, 1085, 7148, - 7146, 7155, 7154, 7150, 7151, 7149, 7152, 7153, 7156, 7147, 1, 6850, 6850, 6850, 6850, 6850, 6850, 6850, - 6850, 195, 6850, 6850, 5487, 5421, 5587, 5564, 6869, 5364, 6850, 641, 751, 6871, 652, 5715, 714, 6872, - 6870, 638, 6866, 6867, 6868, 6850, 6414, 6411, 6850, 6888, 6850, 6850, 6850, 6850, 6850, 759, 7148, - 7146, 7155, 7154, 7150, 7151, 7149, 7152, 7153, 7156, 7147, 7143, 7222, 7223, 7137, 7144, 7140, 7116, - 7142, 7141, 7138, 7139, 7117, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 195, 6850, 6850, 6850, 6850, - 6850, 6850, 6850, 6850, 274, 6585, 6581, 7284, 6589, 6850, 1320, 7285, 7286, 6850, 759, 6572, 6578, - 6551, 6554, 6566, 6563, 6569, 6560, 6557, 6548, 6575, 6527, 6521, 6518, 6545, 6524, 6536, 6515, 6530, - 6533, 6542, 6539, 6512, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, - 6850, 6850, 6850, 6864, 6865, 6850, 7284, 6850, 6850, 1320, 7285, 7286, 1336, 7148, 7146, 7155, 7154, - 7150, 7151, 7149, 7152, 7153, 7156, 7147, 7143, 7222, 7223, 7137, 7144, 7140, 7116, 7142, 7141, 7138, - 7139, 7117, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, - 274, 6715, 6712, 6850, 7284, 6850, 6850, 1320, 7285, 7286, 1336, 6572, 6578, 6551, 6554, 6566, 6563, - 6569, 6560, 6557, 6548, 6575, 6527, 6521, 6518, 6545, 6524, 6536, 6515, 6530, 6533, 6542, 6539, 6512, - 6850, 6850, 6850, 29, 423, 423, 6622, 423, 6622, 423, 6622, 423, 6622, 6850, 75, 6850, 6850, 3458, 6850, - 7284, 6850, 6850, 1320, 7285, 7286, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 6850, 1, - 6502, 6498, 4180, 6652, 6622, 646, 1, 2317, 6610, 3859, 6850, 6912, 6913, 6850, 6850, 376, 6850, 6850, - 6417, 6850, 6850, 6850, 6850, 6850, 6622, 32, 424, 424, 6619, 424, 6619, 424, 6619, 424, 6619, 3941, - 6622, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 424, 424, 424, 424, 424, 424, 424, - 424, 424, 424, 424, 424, 2053, 6850, 6850, 6850, 6850, 6850, 6619, 2053, 6850, 6850, 6850, 376, 6613, - 6850, 6850, 376, 6850, 6850, 6850, 376, 6850, 6850, 6850, 6850, 6850, 6850, 6619, 6850, 570, 6850, 6850, - 6850, 6850, 746, 6850, 869, 6850, 6850, 6619, 7148, 7146, 7155, 7154, 7150, 7151, 7149, 7152, 7153, - 7156, 7147, 7143, 7222, 7223, 7137, 7144, 7140, 7116, 7142, 7141, 7138, 7139, 7117, 37, 6864, 6864, - 6864, 6864, 6864, 6850, 6864, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, - 6850, 6850, 6864, 6864, 6864, 6864, 6864, 6864, 6864, 6864, 6864, 6864, 6864, 6864, 6850, 6850, 6850, - 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, - 6850, 6850, 6850, 6850, 6850, 6850, 6864, 6850, 6850, 6850, 6864, 6850, 6850, 6850, 6864 }; - } - - public final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[index]; - } - - public interface Asb { - public final static char asb[] = { 0, 904, 7, 343, 1, 945, 837, 837, 837, 837, 510, 945, 522, 522, 442, 522, - 105, 343, 107, 344, 344, 344, 344, 344, 344, 344, 344, 344, 524, 530, 535, 532, 539, 537, 544, 542, 546, - 545, 547, 198, 548, 343, 327, 147, 147, 147, 147, 382, 742, 120, 120, 519, 147, 431, 53, 522, 522, 120, - 382, 53, 947, 146, 1124, 512, 1005, 327, 522, 524, 672, 672, 742, 343, 344, 344, 344, 344, 344, 344, - 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 343, 343, 343, 343, 343, 343, 343, 343, - 343, 343, 343, 343, 344, 53, 53, 44, 327, 1070, 1070, 1070, 1070, 1126, 53, 120, 120, 508, 994, 1005, - 117, 1005, 112, 1005, 179, 1005, 989, 510, 382, 431, 431, 120, 837, 431, 146, 343, 380, 1123, 53, 379, - 381, 379, 53, 431, 532, 532, 530, 530, 530, 537, 537, 537, 537, 535, 535, 542, 539, 539, 545, 544, 546, - 1082, 547, 508, 391, 865, 855, 854, 684, 1012, 1012, 510, 107, 945, 945, 945, 945, 382, 382, 1070, 148, - 504, 343, 1047, 1045, 1052, 1050, 1054, 1053, 1055, 1056, 1069, 1070, 519, 382, 247, 250, 114, 674, 115, - 510, 382, 382, 1126, 1070, 344, 147, 528, 9, 53, 512, 382, 382, 381, 1124, 343, 44, 431, 563, 53, 867, - 869, 382, 1124, 343, 343, 343, 343, 945, 945, 481, 492, 492, 492, 492, 476, 510, 737, 344, 344, 344, - 344, 344, 344, 344, 344, 344, 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 344, 327, 248, - 517, 515, 250, 382, 788, 62, 786, 1126, 117, 385, 382, 1126, 382, 53, 528, 508, 1123, 512, 382, 380, 53, - 859, 847, 858, 869, 1126, 380, 53, 53, 53, 53, 742, 742, 382, 344, 1045, 1045, 1045, 1050, 1047, 1047, - 1053, 1052, 1054, 1082, 1055, 248, 515, 388, 382, 250, 1082, 115, 837, 1128, 626, 1072, 250, 788, 787, - 788, 788, 1126, 385, 385, 382, 382, 528, 529, 528, 343, 9, 631, 524, 512, 572, 343, 856, 856, 185, 185, - 382, 863, 508, 792, 53, 382, 53, 53, 1126, 679, 343, 515, 515, 1124, 117, 117, 1070, 837, 379, 582, - 1074, 376, 945, 788, 788, 788, 788, 382, 385, 387, 825, 387, 528, 742, 344, 431, 631, 572, 343, 343, - 869, 382, 1124, 53, 867, 847, 572, 695, 382, 515, 514, 380, 633, 117, 588, 266, 380, 788, 788, 376, 568, - 344, 1082, 193, 830, 382, 508, 788, 788, 434, 387, 388, 344, 382, 529, 53, 431, 727, 869, 572, 515, 569, - 633, 633, 784, 1084, 239, 945, 115, 625, 266, 380, 788, 117, 510, 1074, 344, 344, 1123, 376, 839, 294, - 435, 382, 388, 727, 53, 727, 388, 633, 633, 587, 239, 784, 843, 510, 1069, 837, 56, 56, 569, 117, 307, - 839, 382, 945, 434, 382, 510, 510, 382, 945, 720, 727, 388, 588, 633, 569, 192, 568, 53, 510, 382, 266, - 588, 266, 1068, 1068, 735, 308, 510, 382, 742, 382, 382, 382, 870, 720, 633, 343, 68, 376, 569, 382, - 382, 266, 147, 147, 735, 307, 1082, 344, 1082, 569, 306, 945, 945, 945, 308, 945, 382, 206, 569, 569, - 382, 117, 53, 382, 382, 52, 722, 388, 53, 388, 117, 382, 569, 1069, 299, 945, 299, 308, 1082, 308, 327, - 327, 325, 306, 327, 569, 569, 733, 305, 147, 722, 388, 68, 569, 177, 792, 308, 53, 376, 53, 325, 239, - 945, 53, 735, 68, 56, 53, 53, 708, 308, 733, 308, 569, 239, 343, 308, 305, 387, 1068, 117, 117, 979, - 343, 306, 742, 569, 53, 567, 67, 379, 308, 53, 569, 567, 567, 308 }; - } - - public final static char asb[] = Asb.asb; - - @Override - public final int asb(int index) { - return asb[index]; - } - - public interface Asr { - public final static byte asr[] = { 0, 9, 71, 118, 72, 40, 68, 120, 0, 98, 91, 34, 35, 99, 100, 86, 87, 54, 89, - 90, 92, 93, 94, 95, 96, 101, 102, 71, 97, 70, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 118, 73, - 40, 120, 64, 1, 2, 7, 5, 4, 3, 60, 68, 72, 9, 0, 64, 70, 68, 1, 2, 0, 4, 9, 71, 69, 0, 73, 59, 36, 37, - 7, 5, 34, 35, 39, 45, 3, 4, 50, 51, 52, 38, 48, 43, 47, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 10, - 42, 46, 44, 41, 49, 69, 9, 8, 6, 1, 2, 67, 66, 0, 55, 4, 71, 1, 2, 69, 9, 0, 41, 66, 42, 43, 67, 8, 44, - 45, 46, 47, 59, 48, 49, 50, 51, 52, 38, 36, 37, 7, 5, 34, 35, 6, 39, 64, 3, 4, 10, 1, 2, 56, 57, 58, 12, - 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 25, 31, 32, 27, 30, 29, 22, 26, 23, 24, 28, 33, 53, 0, 4, 9, 69, - 1, 2, 0, 74, 64, 71, 97, 72, 69, 60, 3, 9, 68, 40, 70, 0, 64, 71, 97, 68, 118, 72, 73, 120, 11, 12, 41, - 66, 13, 42, 43, 14, 15, 16, 67, 44, 17, 18, 45, 46, 47, 59, 48, 49, 10, 19, 20, 21, 50, 51, 52, 38, 36, - 37, 34, 35, 39, 9, 40, 6, 8, 1, 2, 4, 3, 7, 5, 0, 88, 61, 8, 114, 115, 116, 63, 9, 3, 7, 5, 6, 71, 73, - 40, 62, 25, 11, 12, 53, 23, 13, 56, 26, 27, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 57, 55, 33, 10, 58, - 19, 20, 24, 21, 1, 2, 4, 22, 0, 88, 114, 115, 116, 55, 71, 113, 121, 73, 62, 74, 63, 61, 65, 76, 78, 84, - 82, 75, 80, 81, 83, 85, 69, 77, 79, 40, 9, 25, 53, 23, 56, 26, 27, 28, 29, 30, 31, 32, 57, 33, 58, 22, - 24, 59, 66, 67, 10, 42, 46, 44, 41, 49, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 50, 51, 52, 38, 48, - 43, 47, 36, 37, 34, 35, 39, 45, 7, 5, 3, 4, 8, 6, 1, 2, 0, 1, 2, 68, 73, 9, 0, 66, 67, 10, 42, 46, 44, - 41, 49, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 50, 51, 52, 38, 48, 43, 47, 6, 8, 4, 3, 36, 37, 7, - 5, 34, 35, 39, 45, 1, 2, 118, 9, 0, 22, 1, 2, 4, 114, 115, 116, 0, 67, 66, 34, 35, 99, 100, 94, 95, 6, - 39, 70, 54, 106, 107, 103, 104, 105, 111, 110, 112, 87, 86, 108, 109, 92, 93, 89, 90, 96, 101, 36, 37, - 91, 117, 10, 56, 53, 57, 58, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 25, 31, 32, 27, 30, 29, 22, 26, - 23, 24, 28, 33, 64, 68, 3, 60, 7, 5, 1, 2, 4, 0, 59, 23, 24, 8, 6, 1, 2, 4, 74, 69, 119, 117, 36, 37, - 60, 3, 98, 91, 5, 99, 100, 34, 35, 87, 86, 54, 89, 90, 92, 93, 7, 94, 95, 96, 64, 97, 72, 120, 70, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 71, 118, 101, 102, 73, 68, 40, 9, 0, 23, 59, 24, 9, 64, 97, - 70, 68, 72, 0, 9, 71, 69, 74, 0, 69, 53, 23, 13, 56, 26, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 57, 33, - 58, 19, 22, 20, 24, 21, 12, 11, 25, 9, 3, 7, 5, 40, 63, 65, 88, 27, 62, 55, 61, 8, 1, 2, 4, 10, 6, 0, - 65, 25, 11, 12, 53, 23, 13, 56, 26, 88, 27, 14, 28, 29, 15, 16, 30, 61, 31, 17, 18, 32, 57, 33, 10, 58, - 19, 63, 22, 20, 24, 21, 9, 3, 7, 5, 73, 40, 62, 8, 6, 55, 1, 2, 4, 0, 72, 9, 87, 86, 0, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 25, 23, 26, 27, 28, 29, 30, 31, 32, 33, 22, 24, 40, 9, 72, 8, 1, 2, 60, 3, - 7, 5, 6, 4, 0, 23, 24, 74, 3, 71, 40, 69, 59, 9, 64, 97, 68, 72, 70, 0, 113, 0, 54, 64, 89, 90, 0, 9, - 72, 11, 12, 41, 66, 13, 42, 43, 14, 15, 16, 67, 8, 44, 17, 18, 45, 46, 47, 59, 48, 49, 10, 19, 20, 21, - 50, 51, 52, 1, 2, 3, 36, 37, 7, 5, 34, 35, 6, 39, 4, 38, 0, 4, 54, 9, 71, 69, 0, 25, 11, 12, 53, 23, 13, - 56, 26, 27, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 57, 33, 10, 58, 19, 22, 20, 24, 21, 1, 2, 4, 97, 0, - 9, 68, 73, 70, 0, 71, 9, 60, 3, 70, 68, 40, 54, 0, 9, 69, 68, 0, 9, 69, 70, 0, 7, 5, 8, 6, 4, 1, 2, 3, - 60, 64, 70, 68, 9, 72, 97, 0, 6, 8, 3, 60, 5, 7, 97, 25, 11, 12, 53, 23, 13, 56, 26, 27, 14, 28, 29, 15, - 16, 30, 31, 17, 18, 32, 57, 33, 10, 58, 19, 22, 20, 24, 21, 1, 2, 4, 72, 9, 0, 11, 12, 41, 66, 13, 42, - 43, 14, 15, 16, 67, 8, 44, 17, 18, 45, 46, 47, 59, 48, 49, 10, 19, 20, 21, 50, 51, 52, 38, 1, 2, 36, 37, - 7, 5, 34, 35, 6, 39, 4, 62, 3, 0, 66, 67, 36, 37, 34, 35, 39, 45, 50, 51, 52, 38, 48, 43, 47, 12, 21, - 11, 17, 15, 16, 18, 19, 14, 13, 20, 10, 42, 46, 44, 41, 49, 7, 5, 3, 60, 8, 6, 4, 1, 2, 0, 10, 56, 53, - 57, 58, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 74, 71, 97, 118, 73, 69, 120, 8, 31, 32, 33, 22, 24, - 1, 2, 30, 29, 28, 27, 26, 6, 4, 23, 25, 119, 98, 117, 91, 36, 37, 34, 35, 99, 100, 9, 60, 3, 5, 72, 40, - 87, 86, 54, 89, 90, 92, 93, 7, 94, 95, 96, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 70, 68, 64, 0, 40, 9, 3, 8, 6, 7, 5, 4, 1, 2, 71, 0, 53, 23, 13, 56, 26, 14, 28, 29, 15, 16, 30, 31, 17, - 18, 32, 57, 33, 10, 58, 19, 22, 20, 24, 21, 12, 11, 25, 9, 3, 7, 40, 63, 61, 65, 88, 27, 62, 54, 4, 5, - 8, 6, 1, 2, 55, 0 }; - } - - public final static byte asr[] = Asr.asr; - - @Override - public final int asr(int index) { - return asr[index]; - } - - public interface Nasb { - public final static char nasb[] = { 0, 184, 12, 69, 12, 12, 12, 12, 12, 12, 73, 12, 12, 12, 124, 12, 216, 157, - 28, 69, 69, 245, 69, 69, 69, 69, 69, 69, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 69, 12, 69, 257, - 292, 292, 292, 292, 28, 149, 173, 173, 25, 5, 104, 236, 12, 12, 173, 249, 236, 69, 64, 18, 12, 12, 257, - 12, 12, 41, 41, 149, 157, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, - 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 157, 69, 236, 236, 161, 1, 12, 12, 12, 12, 77, 236, 31, 31, - 180, 275, 276, 204, 276, 80, 276, 83, 276, 269, 10, 28, 104, 104, 31, 12, 104, 292, 57, 216, 47, 236, - 215, 28, 215, 236, 104, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 180, - 99, 160, 20, 20, 12, 12, 12, 10, 28, 12, 12, 12, 12, 54, 11, 12, 238, 161, 152, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 297, 28, 12, 173, 53, 73, 22, 73, 28, 11, 12, 12, 69, 292, 173, 13, 236, 12, 11, 28, - 220, 18, 69, 295, 104, 12, 236, 193, 173, 28, 18, 157, 157, 157, 157, 12, 12, 275, 276, 276, 276, 276, - 261, 10, 12, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 157, 69, - 31, 182, 182, 182, 301, 54, 51, 51, 12, 223, 204, 173, 223, 17, 54, 236, 62, 297, 47, 12, 249, 54, 236, - 12, 166, 12, 196, 16, 54, 236, 236, 236, 236, 149, 149, 28, 69, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 173, 142, 28, 208, 12, 118, 12, 12, 128, 278, 301, 51, 51, 173, 173, 17, 173, 250, 11, 54, 173, - 110, 12, 157, 297, 221, 12, 12, 173, 69, 12, 12, 20, 20, 28, 165, 180, 196, 236, 54, 236, 236, 17, 236, - 69, 182, 112, 18, 204, 139, 12, 12, 73, 173, 175, 168, 12, 173, 173, 75, 75, 54, 250, 93, 12, 12, 62, - 149, 69, 104, 221, 112, 69, 69, 173, 11, 18, 236, 193, 210, 173, 12, 54, 173, 112, 216, 173, 204, 286, - 173, 223, 173, 95, 212, 208, 69, 12, 134, 12, 28, 180, 75, 75, 106, 93, 142, 69, 250, 110, 236, 104, - 173, 196, 112, 112, 208, 252, 173, 12, 286, 279, 12, 138, 128, 196, 216, 95, 121, 114, 168, 69, 69, 86, - 212, 12, 73, 60, 223, 142, 97, 236, 173, 142, 286, 252, 203, 175, 12, 12, 73, 12, 12, 39, 39, 208, 121, - 141, 12, 223, 12, 130, 223, 73, 73, 11, 12, 173, 97, 142, 286, 173, 208, 91, 12, 236, 73, 223, 196, 286, - 173, 12, 12, 173, 187, 114, 11, 149, 11, 223, 223, 234, 112, 252, 57, 67, 168, 208, 223, 119, 196, 292, - 292, 136, 199, 12, 69, 12, 208, 12, 12, 12, 12, 200, 12, 250, 206, 208, 208, 250, 146, 236, 11, 11, 236, - 173, 142, 236, 173, 204, 119, 208, 12, 89, 12, 12, 200, 12, 200, 308, 308, 226, 12, 308, 208, 208, 12, - 173, 292, 97, 142, 173, 208, 12, 292, 200, 236, 168, 236, 291, 173, 12, 236, 136, 67, 39, 236, 236, 173, - 200, 12, 200, 208, 168, 157, 200, 89, 142, 12, 146, 146, 166, 69, 12, 231, 208, 236, 144, 66, 215, 200, - 236, 208, 144, 12, 200 }; - } - - public final static char nasb[] = Nasb.nasb; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - public interface Nasr { - public final static char nasr[] = { 0, 3, 13, 10, 9, 137, 136, 113, 135, 134, 4, 2, 0, 5, 194, 0, 154, 2, 75, 0, - 79, 0, 42, 1, 0, 5, 212, 0, 2, 44, 0, 4, 10, 9, 2, 13, 127, 5, 0, 121, 0, 4, 2, 9, 10, 157, 0, 75, 156, - 155, 0, 122, 0, 44, 2, 3, 0, 5, 28, 0, 210, 0, 161, 0, 192, 0, 80, 148, 42, 10, 9, 2, 13, 4, 0, 123, 0, - 154, 75, 0, 166, 205, 0, 166, 200, 0, 75, 53, 0, 129, 0, 201, 0, 167, 0, 173, 0, 144, 0, 13, 2, 9, 10, - 4, 94, 0, 4, 115, 209, 0, 159, 0, 51, 0, 186, 4, 185, 0, 140, 117, 0, 42, 174, 0, 5, 60, 213, 0, 170, 0, - 4, 115, 182, 0, 208, 0, 175, 0, 1, 140, 0, 5, 80, 0, 176, 0, 42, 66, 0, 5, 105, 0, 13, 2, 9, 10, 4, 5, - 36, 0, 31, 100, 101, 5, 0, 31, 101, 100, 77, 4, 2, 9, 10, 5, 0, 5, 10, 9, 2, 77, 4, 98, 53, 0, 5, 191, - 0, 5, 50, 42, 36, 196, 0, 53, 4, 98, 27, 5, 0, 80, 36, 50, 82, 5, 42, 0, 5, 36, 39, 0, 101, 100, 53, 77, - 68, 4, 10, 9, 2, 0, 2, 131, 0, 2, 67, 0, 36, 5, 27, 198, 0, 5, 195, 0, 60, 5, 31, 0, 137, 214, 136, 113, - 135, 134, 0, 4, 10, 9, 13, 3, 1, 0, 132, 5, 50, 93, 0, 5, 60, 36, 0, 113, 69, 13, 110, 111, 112, 190, 0, - 2, 4, 113, 110, 111, 112, 13, 69, 0, 39, 4, 2, 9, 10, 5, 172, 0, 5, 50, 93, 95, 0, 197, 5, 60, 0, 101, - 100, 53, 4, 68, 0, 5, 50, 93, 115, 48, 4, 0, 5, 60, 116, 0 }; - } - - public final static char nasr[] = Nasr.nasr; - - @Override - public final int nasr(int index) { - return nasr[index]; - } - - public interface TerminalIndex { - public final static char terminalIndex[] = { 0, 113, 114, 2, 31, 10, 13, 9, 79, 115, 100, 48, 52, 60, 68, 74, - 75, 86, 87, 102, 105, 107, 104, 54, 106, 47, 64, 66, 70, 73, 76, 83, 89, 98, 11, 12, 7, 8, 112, 14, 120, - 55, 61, 67, 84, 88, 90, 94, 97, 99, 109, 110, 111, 53, 19, 93, 63, 91, 101, 95, 1, 77, 122, 103, 20, 46, - 58, 78, 44, 121, 33, 30, 118, 119, 96, 108, 49, 50, 56, 57, 59, 69, 71, 72, 85, 92, 17, 18, 65, 21, 22, - 6, 23, 24, 25, 26, 27, 32, 4, 15, 16, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 51, 80, 81, 82, 5, - 117, 3, 123, 62, 116 }; - } - - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - - @Override - public final int terminalIndex(int index) { - return terminalIndex[index]; - } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = { 0, 130, 135, 136, 0, 0, 134, 0, 0, 237, 243, 133, 0, 143, 0, - 132, 0, 0, 142, 148, 0, 0, 149, 158, 159, 160, 161, 188, 151, 0, 162, 126, 141, 163, 164, 165, 131, 166, - 167, 128, 168, 0, 129, 138, 137, 170, 169, 171, 185, 0, 0, 195, 172, 0, 173, 0, 0, 0, 0, 0, 152, 174, - 175, 176, 0, 177, 180, 0, 155, 194, 0, 0, 0, 212, 0, 0, 209, 213, 0, 214, 127, 145, 179, 0, 0, 0, 0, 0, - 0, 183, 0, 0, 0, 0, 125, 186, 0, 0, 210, 216, 217, 218, 0, 220, 157, 0, 146, 0, 0, 215, 197, 198, 199, - 201, 227, 228, 182, 204, 0, 0, 219, 0, 0, 0, 0, 248, 0, 251, 0, 252, 0, 147, 187, 189, 190, 191, 192, - 196, 200, 203, 0, 206, 0, 207, 0, 222, 225, 0, 0, 0, 246, 0, 247, 0, 0, 139, 140, 144, 0, 0, 154, 156, - 0, 178, 0, 193, 0, 0, 0, 202, 0, 205, 211, 0, 223, 224, 0, 0, 229, 232, 0, 234, 236, 0, 240, 241, 242, - 245, 0, 0, 249, 124, 0, 150, 153, 0, 181, 0, 184, 0, 0, 208, 221, 226, 0, 0, 230, 231, 233, 235, 0, 238, - 239, 244, 250, 253, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - - @Override - public final int nonterminalIndex(int index) { - return nonterminalIndex[index]; - } - - public interface ScopePrefix { - public final static char scopePrefix[] = { 172, 324, 602, 621, 317, 332, 553, 569, 580, 591, 372, 280, 294, 311, - 344, 55, 305, 392, 430, 180, 610, 496, 20, 33, 64, 84, 93, 98, 103, 143, 208, 339, 350, 20, 467, 157, - 286, 300, 524, 40, 157, 382, 20, 629, 40, 230, 259, 1, 14, 27, 74, 89, 119, 27, 361, 365, 448, 489, 518, - 545, 549, 639, 643, 647, 110, 7, 110, 410, 426, 439, 460, 479, 537, 129, 129, 245, 439, 560, 576, 587, - 598, 220, 507, 69, 69, 169, 235, 238, 69, 254, 275, 238, 238, 69, 369, 486, 493, 169, 69, 662, 123, 355, - 414, 454, 472, 69, 355, 401, 190, 117, 452, 651, 658, 651, 658, 78, 420, 150, 117, 117, 264 }; - } - - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - - @Override - public final int scopePrefix(int index) { - return scopePrefix[index]; - } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { 18, 148, 5, 5, 148, 148, 5, 5, 5, 5, 379, 148, 108, 148, 25, 61, 291, - 398, 436, 186, 80, 502, 25, 38, 38, 38, 72, 72, 108, 148, 213, 31, 31, 25, 5, 162, 291, 114, 529, 51, - 165, 387, 616, 634, 45, 224, 224, 5, 18, 31, 5, 72, 108, 31, 108, 108, 148, 257, 5, 5, 5, 5, 5, 257, - 660, 11, 114, 379, 379, 379, 464, 483, 529, 133, 138, 249, 443, 564, 564, 564, 564, 224, 511, 72, 72, 5, - 5, 241, 243, 257, 5, 278, 278, 243, 108, 5, 257, 5, 522, 5, 126, 358, 417, 457, 475, 541, 532, 404, 193, - 108, 108, 653, 653, 655, 655, 80, 422, 152, 215, 200, 266 }; - } - - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - - @Override - public final int scopeSuffix(int index) { - return scopeSuffix[index]; - } - - public interface ScopeLhs { - public final static char scopeLhs[] = { 48, 112, 18, 18, 92, 112, 18, 18, 18, 18, 85, 97, 49, 92, 111, 90, 58, - 85, 84, 48, 18, 20, 190, 3, 7, 8, 182, 182, 178, 110, 48, 111, 111, 138, 45, 147, 59, 49, 157, 151, 147, - 85, 18, 18, 151, 102, 72, 153, 88, 190, 185, 182, 178, 138, 199, 56, 66, 161, 19, 18, 18, 18, 18, 18, - 12, 129, 178, 85, 84, 84, 64, 41, 157, 114, 114, 68, 84, 18, 18, 18, 18, 102, 20, 186, 182, 201, 100, - 109, 74, 79, 73, 172, 89, 138, 86, 162, 161, 192, 157, 17, 178, 138, 116, 83, 45, 157, 157, 85, 48, 178, - 78, 155, 44, 155, 44, 185, 116, 110, 48, 48, 72 }; - } - - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - - @Override - public final int scopeLhs(int index) { - return scopeLhs[index]; - } - - public interface ScopeLa { - public final static byte scopeLa[] = { 113, 73, 72, 72, 73, 73, 72, 72, 72, 72, 72, 73, 40, 73, 1, 64, 1, 72, - 121, 69, 3, 72, 1, 64, 64, 64, 1, 1, 40, 73, 69, 1, 1, 1, 72, 73, 1, 1, 4, 64, 68, 40, 1, 1, 64, 72, 72, - 72, 113, 1, 72, 1, 40, 1, 40, 40, 73, 118, 72, 72, 72, 72, 72, 118, 1, 72, 1, 72, 72, 72, 71, 71, 4, 1, - 1, 5, 72, 64, 64, 64, 64, 72, 3, 1, 1, 72, 72, 3, 1, 118, 72, 1, 1, 1, 40, 72, 118, 72, 6, 72, 1, 55, - 70, 71, 64, 1, 55, 75, 74, 40, 40, 4, 4, 4, 4, 3, 1, 69, 1, 1, 3 }; - } - - public final static byte scopeLa[] = ScopeLa.scopeLa; - - @Override - public final int scopeLa(int index) { - return scopeLa[index]; - } - - public interface ScopeStateSet { - public final static char scopeStateSet[] = { 85, 183, 284, 284, 107, 183, 284, 284, 284, 284, 95, 109, 85, 107, - 183, 107, 87, 95, 95, 85, 284, 284, 118, 214, 260, 260, 54, 54, 82, 183, 85, 183, 183, 185, 140, 370, - 87, 85, 178, 50, 370, 95, 284, 284, 50, 169, 63, 26, 95, 118, 30, 54, 82, 185, 22, 87, 33, 79, 284, 284, - 284, 284, 284, 284, 264, 6, 82, 95, 95, 95, 148, 343, 178, 183, 183, 124, 95, 284, 284, 284, 284, 169, - 284, 30, 54, 24, 169, 171, 63, 165, 63, 60, 68, 185, 95, 57, 79, 181, 178, 284, 82, 185, 1, 95, 140, - 178, 178, 95, 85, 82, 11, 121, 189, 121, 189, 30, 1, 183, 85, 85, 63 }; - } - - public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; - - @Override - public final int scopeStateSet(int index) { - return scopeStateSet[index]; - } - - public interface ScopeRhs { - public final static char scopeRhs[] = { 0, 338, 3, 59, 0, 126, 0, 337, 3, 113, 0, 126, 180, 0, 127, 188, 74, 0, - 224, 0, 197, 166, 126, 10, 0, 136, 0, 166, 126, 10, 0, 135, 0, 271, 127, 54, 124, 0, 20, 0, 309, 127, - 54, 55, 0, 20, 53, 0, 33, 132, 0, 20, 53, 0, 0, 309, 127, 54, 55, 215, 0, 20, 186, 0, 271, 127, 54, 132, - 0, 189, 126, 0, 141, 0, 227, 3, 308, 0, 308, 0, 2, 0, 126, 0, 271, 127, 54, 131, 0, 189, 126, 237, 0, - 189, 126, 22, 237, 0, 189, 126, 332, 22, 0, 128, 197, 166, 126, 0, 128, 0, 197, 166, 126, 0, 134, 128, - 0, 172, 0, 328, 127, 172, 0, 127, 172, 0, 230, 128, 0, 166, 327, 235, 0, 136, 0, 0, 0, 0, 135, 0, 0, 0, - 0, 326, 127, 164, 236, 0, 127, 0, 236, 0, 129, 0, 0, 127, 0, 325, 127, 164, 270, 0, 127, 0, 0, 44, 127, - 0, 0, 150, 3, 0, 127, 296, 295, 127, 74, 294, 172, 0, 295, 127, 74, 294, 172, 0, 223, 0, 224, 0, 294, - 172, 0, 96, 0, 0, 223, 0, 224, 0, 211, 96, 0, 0, 223, 0, 224, 0, 295, 127, 294, 172, 0, 223, 0, 211, 0, - 0, 223, 0, 240, 127, 3, 0, 126, 0, 0, 0, 0, 0, 240, 127, 3, 222, 0, 231, 3, 0, 220, 127, 0, 216, 0, 146, - 0, 175, 166, 126, 0, 10, 0, 0, 0, 0, 226, 60, 0, 125, 0, 240, 127, 3, 195, 0, 195, 0, 2, 0, 0, 126, 0, - 0, 0, 0, 0, 211, 3, 0, 209, 0, 252, 127, 164, 38, 27, 0, 189, 126, 61, 63, 0, 204, 128, 0, 128, 189, - 126, 292, 63, 0, 189, 126, 292, 63, 0, 189, 126, 70, 123, 61, 0, 252, 127, 164, 262, 61, 0, 252, 127, - 164, 262, 239, 61, 0, 289, 290, 127, 164, 123, 322, 56, 0, 289, 290, 127, 164, 322, 56, 0, 189, 126, - 288, 56, 0, 197, 189, 126, 288, 235, 0, 189, 126, 288, 235, 0, 166, 126, 0, 93, 136, 0, 286, 127, 149, - 0, 286, 127, 172, 0, 158, 84, 0, 317, 161, 319, 320, 3, 81, 0, 126, 179, 0, 319, 320, 3, 81, 0, 128, 0, - 126, 179, 0, 158, 3, 75, 204, 80, 0, 126, 128, 0, 204, 80, 0, 108, 2, 131, 126, 128, 0, 238, 3, 75, 0, - 211, 182, 0, 33, 169, 0, 182, 0, 183, 33, 169, 0, 238, 3, 85, 0, 204, 153, 238, 3, 83, 0, 62, 179, 0, - 238, 3, 83, 0, 126, 179, 62, 179, 0, 318, 127, 164, 0, 158, 0, 226, 77, 0, 30, 179, 0, 158, 102, 185, 0, - 30, 177, 0, 148, 64, 167, 3, 0, 167, 3, 0, 20, 161, 126, 0, 158, 102, 162, 0, 30, 169, 0, 227, 3, 0, - 226, 60, 283, 0, 158, 60, 0, 203, 3, 314, 67, 126, 0, 126, 0, 0, 0, 0, 314, 67, 126, 0, 2, 145, 126, 0, - 0, 0, 0, 203, 3, 45, 0, 147, 0, 125, 55, 166, 126, 0, 31, 147, 0, 93, 136, 31, 147, 0, 228, 189, 126, 0, - 146, 31, 147, 0, 203, 3, 49, 0, 158, 3, 49, 0, 158, 3, 64, 203, 54, 41, 0, 203, 54, 41, 0, 20, 2, 131, - 126, 0, 158, 3, 64, 203, 54, 44, 0, 203, 54, 44, 0, 158, 3, 64, 203, 54, 46, 0, 203, 54, 46, 0, 158, 3, - 64, 203, 54, 42, 0, 203, 54, 42, 0, 227, 3, 125, 197, 166, 126, 10, 0, 125, 197, 166, 126, 10, 0, 136, - 2, 0, 126, 0, 227, 3, 124, 276, 166, 126, 10, 0, 276, 166, 126, 10, 0, 135, 2, 0, 126, 0, 227, 3, 135, - 0, 227, 3, 140, 0, 158, 60, 140, 0, 278, 0, 31, 0, 31, 139, 0, 165, 0, 134, 0, 158, 3, 0 }; - } - - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - - @Override - public final int scopeRhs(int index) { - return scopeRhs[index]; - } - - public interface ScopeState { - public final static char scopeState[] = { 0, 6062, 6292, 6290, 6288, 0, 2597, 2665, 1716, 2533, 0, 5212, 5150, - 5088, 5026, 4964, 4902, 4840, 4778, 4714, 4502, 4440, 4842, 0, 1763, 0, 2443, 1995, 1987, 0, 2274, 2142, - 0, 5212, 5150, 2869, 2868, 5088, 5026, 4964, 4902, 4840, 4778, 2797, 4714, 4502, 4440, 2406, 2277, 0, - 6205, 3566, 6135, 0, 2394, 2080, 0, 2314, 2089, 0, 653, 6002, 0, 5962, 653, 5914, 4675, 6002, 4591, - 4329, 2512, 2182, 3812, 5702, 2380, 4194, 4180, 4140, 0, 2446, 1022, 0, 5928, 6191, 0, 5928, 6191, 5815, - 6171, 6111, 5754, 6097, 6037, 5737, 6022, 5212, 5150, 5088, 5026, 4964, 4902, 4840, 4778, 4714, 4502, - 4440, 0, 5928, 6191, 5815, 6171, 6111, 5754, 6097, 6037, 5737, 6022, 0, 5747, 5349, 0, 2245, 815, 0, - 3812, 5962, 4511, 5914, 4675, 4755, 4194, 4448, 4232, 4231, 4451, 6144, 920, 3368, 2081, 0, 3330, 3431, - 3588, 3533, 3825, 3785, 3675, 3493, 2878, 929, 2812, 2746, 2680, 2614, 2548, 2482, 2416, 2350, 2284, - 2218, 2152, 837, 769, 677, 0, 2260, 1437, 1341, 651, 4675, 6144, 4591, 4180, 4140, 3279, 3859, 718, 0, - 869, 746, 0, 1047, 0, 5747, 5349, 5887, 599, 4274, 0, 6233, 6181, 6056, 5836, 5179, 5117, 5055, 4993, - 4931, 4910, 5951, 5853, 4848, 4787, 5241, 4531, 3860, 925, 3855, 4701, 4694, 4441, 3488, 672, 0, 1625, - 1578, 6233, 6181, 6056, 1384, 1249, 5836, 885, 5179, 5117, 5055, 4993, 4931, 1907, 4459, 1860, 1813, - 4910, 1766, 5951, 5853, 1719, 1672, 1481, 1431, 4848, 4787, 809, 5241, 4707, 4531, 3185, 2917, 3860, - 925, 3855, 765, 4701, 4694, 4441, 5887, 646, 4274, 3488, 672, 2842, 2776, 1193, 1042, 904, 4591, 4329, - 2512, 2182, 3812, 5962, 5702, 653, 5914, 4675, 2380, 4194, 4180, 6002, 4140, 2710, 2644, 869, 746, 2878, - 4153, 929, 3330, 2812, 2746, 2680, 2614, 2548, 2482, 2416, 2350, 2284, 2218, 2152, 3431, 3588, 3533, - 3825, 3785, 3675, 4113, 4086, 4059, 5679, 3493, 837, 769, 677, 3288, 3393, 1106, 1254, 3754, 3723, 3641, - 4413, 4346, 4032, 4005, 3978, 3905, 5325, 5301, 4301, 4631, 4604, 5656, 5633, 5610, 5587, 5564, 5540, - 5510, 5487, 5421, 5395, 5364, 5715, 2944, 3231, 3189, 3132, 3090, 3033, 1389, 1342, 2991, 1293, 2095, - 2053, 599, 2006, 1959, 1912, 1865, 1818, 1771, 1724, 1677, 1630, 1583, 1536, 1489, 1439, 1207, 1058, - 995, 1144, 0 }; - } - - public final static char scopeState[] = ScopeState.scopeState; - - @Override - public final int scopeState(int index) { - return scopeState[index]; - } - - public interface InSymb { - public final static char inSymb[] = { 0, 0, 313, 127, 285, 49, 41, 44, 46, 42, 10, 135, 124, 131, 8, 132, 4, 3, - 126, 45, 39, 6, 35, 34, 5, 7, 37, 36, 140, 145, 147, 146, 152, 148, 156, 155, 159, 157, 160, 59, 162, - 68, 3, 54, 54, 54, 54, 126, 3, 54, 54, 182, 127, 60, 3, 66, 67, 54, 6, 158, 66, 67, 166, 165, 124, 3, - 123, 125, 117, 119, 3, 60, 91, 98, 35, 34, 100, 99, 5, 90, 89, 64, 54, 86, 87, 7, 93, 92, 95, 94, 96, - 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 70, 102, 101, 203, 158, 182, 127, 203, 203, 203, 203, - 166, 227, 127, 127, 127, 255, 256, 236, 257, 235, 258, 56, 287, 259, 10, 126, 60, 60, 127, 124, 60, 314, - 3, 197, 4, 203, 55, 126, 55, 227, 158, 146, 146, 145, 145, 145, 148, 148, 148, 148, 147, 147, 155, 152, - 152, 157, 156, 159, 158, 160, 127, 60, 3, 223, 222, 135, 125, 124, 10, 126, 64, 64, 64, 64, 197, 276, - 271, 127, 249, 3, 167, 148, 174, 169, 183, 176, 184, 185, 274, 271, 220, 126, 175, 164, 327, 288, 322, - 288, 126, 189, 166, 271, 216, 3, 315, 182, 150, 278, 197, 126, 189, 166, 71, 220, 226, 162, 231, 127, 3, - 126, 166, 3, 3, 3, 3, 125, 124, 255, 256, 257, 258, 336, 259, 10, 167, 90, 89, 54, 7, 93, 92, 95, 94, - 96, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 70, 102, 101, 68, 166, 7, 5, 127, 166, 243, 125, - 124, 126, 123, 164, 126, 166, 55, 203, 127, 127, 4, 228, 6, 55, 240, 241, 149, 242, 127, 166, 55, 158, - 158, 158, 158, 3, 3, 126, 64, 148, 148, 148, 169, 167, 167, 176, 174, 183, 158, 184, 175, 175, 326, 126, - 170, 237, 61, 55, 215, 63, 172, 329, 125, 124, 244, 244, 189, 164, 127, 189, 197, 153, 280, 283, 60, - 190, 4, 123, 125, 153, 70, 231, 211, 199, 195, 126, 3, 127, 68, 240, 197, 227, 227, 166, 148, 71, 5, - 127, 166, 262, 239, 54, 55, 292, 294, 127, 3, 195, 244, 244, 127, 127, 197, 127, 290, 123, 291, 127, 3, - 60, 158, 4, 127, 70, 70, 3, 189, 166, 211, 127, 220, 153, 125, 197, 175, 173, 197, 164, 262, 64, 54, - 126, 74, 127, 220, 328, 71, 303, 211, 124, 126, 127, 127, 127, 71, 290, 289, 70, 68, 280, 227, 226, 229, - 127, 127, 127, 128, 127, 164, 27, 55, 172, 65, 61, 63, 127, 189, 127, 295, 71, 68, 71, 70, 166, 220, - 331, 237, 22, 126, 289, 127, 240, 229, 252, 254, 127, 38, 127, 3, 123, 61, 309, 55, 10, 53, 128, 295, - 164, 307, 126, 308, 68, 126, 22, 332, 189, 59, 153, 127, 252, 127, 164, 286, 265, 293, 38, 70, 126, 68, - 64, 54, 243, 243, 296, 127, 68, 189, 3, 189, 126, 126, 3, 127, 127, 3, 70, 68, 153, 126, 189, 127, 70, - 70, 127, 318, 79, 77, 1, 158, 9, 85, 83, 81, 80, 75, 82, 84, 78, 76, 61, 74, 227, 189, 189, 338, 229, - 252, 150, 164, 270, 189, 239, 309, 297, 113, 9, 71, 226, 71, 3, 3, 3, 204, 3, 123, 158, 123, 188, 68, - 127, 127, 164, 239, 64, 3, 71, 238, 182, 238, 320, 149, 75, 238, 127, 127, 53, 97, 337, 182, 153, 211, - 153, 319, 127, 3, 153, 297, 325, 243, 153, 153, 127, 70, 204, 161, 286, 158, 202, 68, 70, 121, 317, 153, - 202, 9, 153 }; - } - - public final static char inSymb[] = InSymb.inSymb; - - @Override - public final int inSymb(int index) { - return inSymb[index]; - } - - public interface Name { - public final static String name[] = { "", "[", "(", ".", ".*", "->", "->*", "++", "--", "&", "*", "+", "-", "~", - "!", "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "::", - "...", "=", "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", "$empty", "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", - "ERROR_TOKEN", "EOF_TOKEN", "no_cast_start", "]", ")", "}", ";", "{", "identifier_token", "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_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" }; - } - - public final static String name[] = Name.name; - - @Override - public final String name(int index) { - return name[index]; - } - - public final static int ERROR_SYMBOL = 62, SCOPE_UBOUND = 120, SCOPE_SIZE = 121, MAX_NAME_LENGTH = 43; - - @Override - public final int getErrorSymbol() { - return ERROR_SYMBOL; - } - - @Override - public final int getScopeUbound() { - return SCOPE_UBOUND; - } - - @Override - public final int getScopeSize() { - return SCOPE_SIZE; - } - - @Override - public final int getMaxNameLength() { - return MAX_NAME_LENGTH; - } - - public final static int NUM_STATES = 602, NT_OFFSET = 122, LA_STATE_OFFSET = 7448, MAX_LA = 2147483647, - NUM_RULES = 598, NUM_NONTERMINALS = 225, NUM_SYMBOLS = 347, SEGMENT_SIZE = 8192, START_STATE = 4258, - IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, ACCEPT_ACTION = 6410, ERROR_ACTION = 6850; - - public final static boolean BACKTRACK = true; - - @Override - public final int getNumStates() { - return NUM_STATES; - } - - @Override - public final int getNtOffset() { - return NT_OFFSET; - } - - @Override - public final int getLaStateOffset() { - return LA_STATE_OFFSET; - } - - @Override - public final int getMaxLa() { - return MAX_LA; - } - - @Override - public final int getNumRules() { - return NUM_RULES; - } - - @Override - public final int getNumNonterminals() { - return NUM_NONTERMINALS; - } - - @Override - public final int getNumSymbols() { - return NUM_SYMBOLS; - } - - @Override - public final int getSegmentSize() { - return SEGMENT_SIZE; - } - - @Override - public final int getStartState() { - return START_STATE; - } - - @Override - public final int getStartSymbol() { - return lhs[0]; - } - - public final int getIdentifierSymbol() { - return IDENTIFIER_SYMBOL; - } - - @Override - public final int getEoftSymbol() { - return EOFT_SYMBOL; - } - - @Override - public final int getEoltSymbol() { - return EOLT_SYMBOL; - } - - @Override - public final int getAcceptAction() { - return ACCEPT_ACTION; - } - - @Override - public final int getErrorAction() { - return ERROR_ACTION; - } - - @Override - public final boolean isValidForParser() { - return isValidForParser; - } - - @Override - public final boolean getBacktrack() { - return BACKTRACK; - } - - @Override - public final int originalState(int state) { - return -baseCheck[state]; - } - - @Override - public final int asi(int state) { - return asb[originalState(state)]; - } - - @Override - public final int nasi(int state) { - return nasb[originalState(state)]; - } - - @Override - public final int inSymbol(int state) { - return inSymb[originalState(state)]; - } - - @Override - public final int ntAction(int state, int sym) { - return baseAction[state + sym]; - } - - @Override - public final int tAction(int state, int sym) { - int i = baseAction[state], k = i + sym; - return termAction[termCheck[k] == sym ? k : i]; - } - - @Override - 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/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java deleted file mode 100644 index e53e86fb6f4..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2010 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -public interface CPPNoCastExpressionParsersym { - public final static int TK_asm = 65, TK_auto = 25, TK_bool = 11, TK_break = 76, TK_case = 77, TK_catch = 113, - TK_char = 12, TK_class = 53, TK_const = 23, TK_const_cast = 41, TK_continue = 78, TK_default = 79, - TK_delete = 66, TK_do = 80, TK_double = 13, TK_dynamic_cast = 42, TK_else = 121, TK_enum = 56, - TK_explicit = 26, TK_export = 88, TK_extern = 27, TK_false = 43, TK_float = 14, TK_for = 81, TK_friend = 28, - TK_goto = 82, TK_if = 83, TK_inline = 29, TK_int = 15, TK_long = 16, TK_mutable = 30, TK_namespace = 61, - TK_new = 67, TK_operator = 8, TK_private = 114, TK_protected = 115, TK_public = 116, TK_register = 31, - TK_reinterpret_cast = 44, TK_return = 84, TK_short = 17, TK_signed = 18, TK_sizeof = 45, TK_static = 32, - TK_static_cast = 46, TK_struct = 57, TK_switch = 85, TK_template = 55, TK_this = 47, TK_throw = 59, - TK_try = 74, TK_true = 48, TK_typedef = 33, TK_typeid = 49, TK_typename = 10, TK_union = 58, - TK_unsigned = 19, TK_using = 63, TK_virtual = 22, TK_void = 20, TK_volatile = 24, TK_wchar_t = 21, - TK_while = 75, TK_integer = 50, TK_floating = 51, TK_charconst = 52, TK_stringlit = 38, TK_identifier = 1, - TK_Completion = 2, TK_EndOfCompletion = 9, TK_Invalid = 122, TK_LeftBracket = 60, TK_LeftParen = 3, - TK_Dot = 119, TK_DotStar = 98, TK_Arrow = 117, TK_ArrowStar = 91, TK_PlusPlus = 36, TK_MinusMinus = 37, - TK_And = 7, TK_Star = 5, TK_Plus = 34, TK_Minus = 35, TK_Tilde = 6, TK_Bang = 39, TK_Slash = 99, - TK_Percent = 100, TK_RightShift = 86, TK_LeftShift = 87, TK_LT = 54, TK_GT = 64, TK_LE = 89, TK_GE = 90, - TK_EQ = 92, TK_NE = 93, TK_Caret = 94, TK_Or = 95, TK_AndAnd = 96, TK_OrOr = 101, TK_Question = 102, - TK_Colon = 71, TK_ColonColon = 4, TK_DotDotDot = 97, TK_Assign = 70, TK_StarAssign = 103, - TK_SlashAssign = 104, TK_PercentAssign = 105, TK_PlusAssign = 106, TK_MinusAssign = 107, - TK_RightShiftAssign = 108, TK_LeftShiftAssign = 109, TK_AndAssign = 110, TK_CaretAssign = 111, - TK_OrAssign = 112, TK_Comma = 68, TK_RightBracket = 118, TK_RightParen = 72, TK_RightBrace = 73, - TK_SemiColon = 40, TK_LeftBrace = 69, TK_ERROR_TOKEN = 62, TK_EOF_TOKEN = 120; - - public final static String orderedTerminalSymbols[] = { "", "identifier", "Completion", "LeftParen", "ColonColon", - "Star", "Tilde", "And", "operator", "EndOfCompletion", "typename", "bool", "char", "double", "float", "int", - "long", "short", "signed", "unsigned", "void", "wchar_t", "virtual", "const", "volatile", "auto", - "explicit", "extern", "friend", "inline", "mutable", "register", "static", "typedef", "Plus", "Minus", - "PlusPlus", "MinusMinus", "stringlit", "Bang", "SemiColon", "const_cast", "dynamic_cast", "false", - "reinterpret_cast", "sizeof", "static_cast", "this", "true", "typeid", "integer", "floating", "charconst", - "class", "LT", "template", "enum", "struct", "union", "throw", "LeftBracket", "namespace", "ERROR_TOKEN", - "using", "GT", "asm", "delete", "new", "Comma", "LeftBrace", "Assign", "Colon", "RightParen", "RightBrace", - "try", "while", "break", "case", "continue", "default", "do", "for", "goto", "if", "return", "switch", - "RightShift", "LeftShift", "export", "LE", "GE", "ArrowStar", "EQ", "NE", "Caret", "Or", "AndAnd", - "DotDotDot", "DotStar", "Slash", "Percent", "OrOr", "Question", "StarAssign", "SlashAssign", - "PercentAssign", "PlusAssign", "MinusAssign", "RightShiftAssign", "LeftShiftAssign", "AndAssign", - "CaretAssign", "OrAssign", "catch", "private", "protected", "public", "Arrow", "RightBracket", "Dot", - "EOF_TOKEN", "else", "Invalid" }; - - public final static boolean isValidForParser = true; -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java deleted file mode 100644 index 7639017cc08..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java +++ /dev/null @@ -1,2859 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -import java.util.List; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTDeclarator; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCastExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTypeIdExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUnaryExpression; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction; -import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory; - -import lpg.lpgjavaruntime.BadParseException; -import lpg.lpgjavaruntime.BadParseSymFileException; -import lpg.lpgjavaruntime.DiagnoseParser; -import lpg.lpgjavaruntime.ErrorToken; -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.LexStream; -import lpg.lpgjavaruntime.Monitor; -import lpg.lpgjavaruntime.NotBacktrackParseTableException; -import lpg.lpgjavaruntime.NullExportedSymbolsException; -import lpg.lpgjavaruntime.NullTerminalSymbolsException; -import lpg.lpgjavaruntime.ParseErrorCodes; -import lpg.lpgjavaruntime.ParseTable; -import lpg.lpgjavaruntime.PrsStream; -import lpg.lpgjavaruntime.RuleAction; -import lpg.lpgjavaruntime.Token; -import lpg.lpgjavaruntime.UndefinedEofSymbolException; -import lpg.lpgjavaruntime.UnimplementedTerminalsException; - -public class CPPNoFunctionDeclaratorParser extends PrsStream - implements RuleAction, ITokenStream, ITokenCollector, ISecondaryParser { - private static ParseTable prs = new CPPNoFunctionDeclaratorParserprs(); - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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 CPPNoFunctionDeclaratorParser(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), CPPNoFunctionDeclaratorParserprs.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(" " + CPPNoFunctionDeclaratorParsersym.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " - + CPPNoFunctionDeclaratorParsersym.orderedTerminalSymbols[CPPNoFunctionDeclaratorParserprs.EOFT_SYMBOL])); - } - } - - @Override - public String[] orderedTerminalSymbols() { - return CPPNoFunctionDeclaratorParsersym.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return CPPNoFunctionDeclaratorParsersym.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return CPPNoFunctionDeclaratorParserprs.EOFT_SYMBOL; - } - - public PrsStream getParseStream() { - return 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, this, prs, this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException( - "Regenerate CPPNoFunctionDeclaratorParserprs.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error( - new BadParseSymFileException("Bad Parser Symbol File -- CPPNoFunctionDeclaratorParsersym.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 CPPBuildASTParserAction action; - private IASTCompletionNode compNode; - - public CPPNoFunctionDeclaratorParser(IScanner scanner, IDOMTokenMap tokenMap, - IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new CPPBuildASTParserAction(this, astStack, CPPNodeFactory.getDefault(), - CPPSecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - public IASTDeclarator 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 (IASTDeclarator) action.getParseResult(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return CPPNoFunctionDeclaratorParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "CPPNoFunctionDeclaratorParser"; - } - - private ITokenMap tokenMap = null; - - @Override - public void setTokens(List tokens) { - resetTokenStream(); - addToken(new Token(null, 0, 0, 0)); // dummy token - for (IToken token : tokens) { - token.setKind(tokenMap.mapKind(token.getKind())); - addToken(token); - } - addToken(new Token(null, 0, 0, CPPNoFunctionDeclaratorParsersym.TK_EOF_TOKEN)); - } - - public CPPNoFunctionDeclaratorParser(ITokenStream stream, Map properties) { // constructor for creating secondary parser - initActions(properties); - tokenMap = new TokenMap(CPPNoFunctionDeclaratorParsersym.orderedTerminalSymbols, - stream.getOrderedTerminalSymbols()); - } - - public CPPNoFunctionDeclaratorParser(ITokenStream stream, IScanner scanner, - IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { // constructor for creating secondary parser - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - tokenMap = new TokenMap(CPPNoFunctionDeclaratorParsersym.orderedTerminalSymbols, - stream.getOrderedTerminalSymbols()); - } - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 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 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 ) 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 ::= 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 ::= 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 ::= { 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 init_declarator_list_opt ; - // - case 255: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 256: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; - // - case 256: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 257: declaration_specifiers ::= simple_declaration_specifiers - // - case 257: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 258: declaration_specifiers ::= class_declaration_specifiers - // - case 258: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 259: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 259: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 260: declaration_specifiers ::= enum_declaration_specifiers - // - case 260: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 261: declaration_specifiers ::= 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 { enumerator_list_opt comma_opt } - // - case 321: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 322: enum_specifier ::= enum enum_specifier_hook identifier_token { 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 { declaration_seq_opt } - // - case 331: { - action.consumeNamespaceDefinition(true); - break; - } - - // - // Rule 332: namespace_definition ::= namespace namespace_definition_hook { 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: asm_definition ::= asm ( stringlit ) ; - // - case 339: { - action.consumeDeclarationASM(); - break; - } - - // - // Rule 340: linkage_specification ::= extern stringlit { declaration_seq_opt } - // - case 340: { - action.consumeLinkageSpecification(); - break; - } - - // - // Rule 341: linkage_specification ::= extern stringlit declaration - // - case 341: { - action.consumeLinkageSpecification(); - break; - } - - // - // Rule 347: init_declarator ::= complete_declarator initializer - // - case 347: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 350: declarator ::= ptr_operator_seq direct_declarator - // - case 350: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 352: function_declarator ::= ptr_operator_seq direct_declarator - // - case 352: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 355: basic_direct_declarator ::= declarator_id_name - // - case 355: { - action.consumeDirectDeclaratorIdentifier(); - break; - } - - // - // Rule 356: basic_direct_declarator ::= ( declarator ) - // - case 356: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 357: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 357: { - action.consumeDirectDeclaratorFunctionDeclarator(true); - break; - } - - // - // Rule 358: array_direct_declarator ::= array_direct_declarator array_modifier - // - case 358: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 359: array_direct_declarator ::= basic_direct_declarator array_modifier - // - case 359: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 360: array_modifier ::= [ constant_expression ] - // - case 360: { - action.consumeDirectDeclaratorArrayModifier(true); - break; - } - - // - // Rule 361: array_modifier ::= [ ] - // - case 361: { - action.consumeDirectDeclaratorArrayModifier(false); - break; - } - - // - // Rule 362: ptr_operator ::= pointer_hook * pointer_hook cv_qualifier_seq_opt - // - case 362: { - action.consumePointer(); - break; - } - - // - // Rule 363: ptr_operator ::= pointer_hook & pointer_hook - // - case 363: { - action.consumeReferenceOperator(); - break; - } - - // - // Rule 364: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook cv_qualifier_seq_opt - // - case 364: { - action.consumePointerToMember(); - break; - } - - // - // Rule 371: cv_qualifier ::= const - // - case 371: { - action.consumeToken(); - break; - } - - // - // Rule 372: cv_qualifier ::= volatile - // - case 372: { - action.consumeToken(); - break; - } - - // - // Rule 374: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name - // - case 374: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 375: type_id ::= type_specifier_seq - // - case 375: { - action.consumeTypeId(false); - break; - } - - // - // Rule 376: type_id ::= type_specifier_seq abstract_declarator - // - case 376: { - action.consumeTypeId(true); - break; - } - - // - // Rule 379: abstract_declarator ::= ptr_operator_seq - // - case 379: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 380: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator - // - case 380: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 384: basic_direct_abstract_declarator ::= ( abstract_declarator ) - // - case 384: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 385: basic_direct_abstract_declarator ::= ( ) - // - case 385: { - action.consumeAbstractDeclaratorEmpty(); - break; - } - - // - // Rule 386: array_direct_abstract_declarator ::= array_modifier - // - case 386: { - action.consumeDirectDeclaratorArrayDeclarator(false); - break; - } - - // - // Rule 387: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier - // - case 387: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 388: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier - // - case 388: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 389: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 389: { - action.consumeDirectDeclaratorFunctionDeclarator(true); - break; - } - - // - // Rule 390: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 390: { - action.consumeDirectDeclaratorFunctionDeclarator(false); - break; - } - - // - // Rule 391: parameter_declaration_clause ::= parameter_declaration_list_opt ... - // - case 391: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 392: parameter_declaration_clause ::= parameter_declaration_list_opt - // - case 392: { - action.consumeEmpty(); - break; - } - - // - // Rule 393: parameter_declaration_clause ::= parameter_declaration_list , ... - // - case 393: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 399: abstract_declarator_opt ::= $Empty - // - case 399: { - action.consumeEmpty(); - break; - } - - // - // Rule 400: parameter_declaration ::= declaration_specifiers parameter_init_declarator - // - case 400: { - action.consumeParameterDeclaration(); - break; - } - - // - // Rule 401: parameter_declaration ::= declaration_specifiers - // - case 401: { - action.consumeParameterDeclarationWithoutDeclarator(); - break; - } - - // - // Rule 403: parameter_init_declarator ::= declarator = parameter_initializer - // - case 403: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 405: parameter_init_declarator ::= abstract_declarator = parameter_initializer - // - case 405: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 406: parameter_init_declarator ::= = parameter_initializer - // - case 406: { - action.consumeDeclaratorWithInitializer(false); - break; - } - - // - // Rule 407: parameter_initializer ::= assignment_expression - // - case 407: { - action.consumeInitializer(); - break; - } - - // - // Rule 408: function_definition ::= declaration_specifiers_opt function_declarator ctor_initializer_list_opt function_body - // - case 408: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 409: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body handler_seq - // - case 409: { - action.consumeFunctionDefinition(true); - break; - } - - // - // Rule 412: initializer ::= ( expression_list ) - // - case 412: { - action.consumeInitializerConstructor(); - break; - } - - // - // Rule 413: initializer_clause ::= assignment_expression - // - case 413: { - action.consumeInitializer(); - break; - } - - // - // Rule 414: initializer_clause ::= initializer_list - // - case 414: { - action.consumeInitializer(); - break; - } - - // - // Rule 415: initializer_list ::= start_initializer_list { initializer_seq , } end_initializer_list - // - case 415: { - action.consumeInitializerList(); - break; - } - - // - // Rule 416: initializer_list ::= start_initializer_list { initializer_seq } end_initializer_list - // - case 416: { - action.consumeInitializerList(); - break; - } - - // - // Rule 417: initializer_list ::= { } - // - case 417: { - action.consumeInitializerList(); - break; - } - - // - // Rule 418: start_initializer_list ::= $Empty - // - case 418: { - action.initializerListStart(); - break; - } - - // - // Rule 419: end_initializer_list ::= $Empty - // - case 419: { - action.initializerListEnd(); - break; - } - - // - // Rule 424: class_specifier ::= class_head { member_declaration_list_opt } - // - case 424: { - action.consumeClassSpecifier(); - break; - } - - // - // Rule 425: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook base_clause_opt - // - case 425: { - action.consumeClassHead(false); - break; - } - - // - // Rule 426: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook base_clause_opt - // - case 426: { - action.consumeClassHead(false); - break; - } - - // - // Rule 427: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook base_clause_opt - // - case 427: { - action.consumeClassHead(true); - break; - } - - // - // Rule 428: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook base_clause_opt - // - case 428: { - action.consumeClassHead(true); - break; - } - - // - // Rule 432: identifier_name_opt ::= $Empty - // - case 432: { - action.consumeEmpty(); - break; - } - - // - // Rule 436: visibility_label ::= access_specifier_keyword : - // - case 436: { - action.consumeVisibilityLabel(); - break; - } - - // - // Rule 437: member_declaration ::= declaration_specifiers_opt member_declarator_list ; - // - case 437: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 438: member_declaration ::= declaration_specifiers_opt ; - // - case 438: { - action.consumeDeclarationSimple(false); - break; - } - - // - // Rule 441: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; - // - case 441: { - action.consumeMemberDeclarationQualifiedId(); - break; - } - - // - // Rule 447: member_declaration ::= ERROR_TOKEN - // - case 447: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 456: member_declarator ::= declarator constant_initializer - // - case 456: { - action.consumeMemberDeclaratorWithInitializer(); - break; - } - - // - // Rule 457: member_declarator ::= bit_field_declarator : constant_expression - // - case 457: { - action.consumeBitField(true); - break; - } - - // - // Rule 458: member_declarator ::= : constant_expression - // - case 458: { - action.consumeBitField(false); - break; - } - - // - // Rule 459: bit_field_declarator ::= identifier_name - // - case 459: { - action.consumeDirectDeclaratorIdentifier(); - break; - } - - // - // Rule 460: constant_initializer ::= = constant_expression - // - case 460: { - action.consumeInitializer(); - break; - } - - // - // Rule 466: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name - // - case 466: { - action.consumeBaseSpecifier(false, false); - break; - } - - // - // Rule 467: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name - // - case 467: { - action.consumeBaseSpecifier(true, true); - break; - } - - // - // Rule 468: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name - // - case 468: { - action.consumeBaseSpecifier(true, true); - break; - } - - // - // Rule 469: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name - // - case 469: { - action.consumeBaseSpecifier(true, false); - break; - } - - // - // Rule 470: access_specifier_keyword ::= private - // - case 470: { - action.consumeToken(); - break; - } - - // - // Rule 471: access_specifier_keyword ::= protected - // - case 471: { - action.consumeToken(); - break; - } - - // - // Rule 472: access_specifier_keyword ::= public - // - case 472: { - action.consumeToken(); - break; - } - - // - // Rule 474: access_specifier_keyword_opt ::= $Empty - // - case 474: { - action.consumeEmpty(); - break; - } - - // - // Rule 476: conversion_function_id_name ::= conversion_function_id < template_argument_list_opt > - // - case 476: { - action.consumeTemplateId(); - break; - } - - // - // Rule 477: conversion_function_id ::= operator conversion_type_id - // - case 477: { - action.consumeConversionName(); - break; - } - - // - // Rule 478: conversion_type_id ::= type_specifier_seq conversion_declarator - // - case 478: { - action.consumeTypeId(true); - break; - } - - // - // Rule 479: conversion_type_id ::= type_specifier_seq - // - case 479: { - action.consumeTypeId(false); - break; - } - - // - // Rule 480: conversion_declarator ::= ptr_operator_seq - // - case 480: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 486: mem_initializer ::= mem_initializer_name ( expression_list_opt ) - // - case 486: { - action.consumeConstructorChainInitializer(); - break; - } - - // - // Rule 487: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name - // - case 487: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 490: operator_function_id_name ::= operator_id_name < template_argument_list_opt > - // - case 490: { - action.consumeTemplateId(); - break; - } - - // - // Rule 491: operator_id_name ::= operator overloadable_operator - // - case 491: { - action.consumeOperatorName(); - break; - } - - // - // Rule 534: template_declaration ::= export_opt template < template_parameter_list > declaration - // - case 534: { - action.consumeTemplateDeclaration(); - break; - } - - // - // Rule 535: export_opt ::= export - // - case 535: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 536: export_opt ::= $Empty - // - case 536: { - action.consumeEmpty(); - break; - } - - // - // Rule 540: template_parameter ::= parameter_declaration - // - case 540: { - action.consumeTemplateParamterDeclaration(); - break; - } - - // - // Rule 541: type_parameter ::= class identifier_name_opt - // - case 541: { - action.consumeSimpleTypeTemplateParameter(false); - break; - } - - // - // Rule 542: type_parameter ::= class identifier_name_opt = type_id - // - case 542: { - action.consumeSimpleTypeTemplateParameter(true); - break; - } - - // - // Rule 543: type_parameter ::= typename identifier_name_opt - // - case 543: { - action.consumeSimpleTypeTemplateParameter(false); - break; - } - - // - // Rule 544: type_parameter ::= typename identifier_name_opt = type_id - // - case 544: { - action.consumeSimpleTypeTemplateParameter(true); - break; - } - - // - // Rule 545: type_parameter ::= template < template_parameter_list > class identifier_name_opt - // - case 545: { - action.consumeTemplatedTypeTemplateParameter(false); - break; - } - - // - // Rule 546: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression - // - case 546: { - action.consumeTemplatedTypeTemplateParameter(true); - break; - } - - // - // Rule 547: template_id_name ::= identifier_name < template_argument_list_opt > - // - case 547: { - action.consumeTemplateId(); - break; - } - - // - // Rule 554: nested_name_specifier_inTemplate ::= class_or_namespace_name_inTemplate :: nested_name_specifier_with_template_inTemplate - // - case 554: { - action.consumeNestedNameSpecifier(true); - break; - } - - // - // Rule 555: nested_name_specifier_inTemplate ::= class_or_namespace_name_inTemplate :: - // - case 555: { - action.consumeNestedNameSpecifier(false); - break; - } - - // - // Rule 556: nested_name_specifier_with_template_inTemplate ::= class_or_namespace_name_with_template_inTemplate :: nested_name_specifier_with_template_inTemplate - // - case 556: { - action.consumeNestedNameSpecifier(true); - break; - } - - // - // Rule 557: nested_name_specifier_with_template_inTemplate ::= class_or_namespace_name_with_template_inTemplate :: - // - case 557: { - action.consumeNestedNameSpecifier(false); - break; - } - - // - // Rule 558: class_or_namespace_name_with_template_inTemplate ::= template_opt class_or_namespace_name_inTemplate - // - case 558: { - action.consumeNameWithTemplateKeyword(); - break; - } - - // - // Rule 560: nested_name_specifier_opt_inTemplate ::= $Empty - // - case 560: { - action.consumeNestedNameSpecifierEmpty(); - break; - } - - // - // Rule 563: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier identifier_name - // - case 563: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 564: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier template_opt template_id_name - // - case 564: { - action.consumeQualifiedId(true); - break; - } - - // - // Rule 569: declaration_specifiers_inTemplate ::= simple_declaration_specifiers - // - case 569: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 570: declaration_specifiers_inTemplate ::= class_declaration_specifiers - // - case 570: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 571: declaration_specifiers_inTemplate ::= elaborated_declaration_specifiers - // - case 571: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 572: declaration_specifiers_inTemplate ::= enum_declaration_specifiers - // - case 572: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 573: declaration_specifiers_inTemplate ::= type_name_declaration_specifiers_inTemplate - // - case 573: { - action.consumeDeclarationSpecifiersTypeName(); - break; - } - - // - // Rule 575: type_id_inTemplate ::= type_specifier_seq_inTemplate - // - case 575: { - action.consumeTypeId(false); - break; - } - - // - // Rule 576: type_id_inTemplate ::= type_specifier_seq_inTemplate abstract_declarator - // - case 576: { - action.consumeTypeId(true); - break; - } - - // - // Rule 577: template_argument ::= assignment_expression_inTemplate - // - case 577: { - action.consumeTemplateArgumentExpression(); - break; - } - - // - // Rule 578: template_argument ::= type_id_inTemplate - // - case 578: { - action.consumeTemplateArgumentTypeId(); - break; - } - - // - // Rule 579: explicit_instantiation ::= template declaration - // - case 579: { - action.consumeTemplateExplicitInstantiation(); - break; - } - - // - // Rule 580: explicit_specialization ::= template < > declaration - // - case 580: { - action.consumeTemplateExplicitSpecialization(); - break; - } - - // - // Rule 581: try_block ::= try compound_statement handler_seq - // - case 581: { - action.consumeStatementTryBlock(true); - break; - } - - // - // Rule 582: try_block ::= try compound_statement - // - case 582: { - action.consumeStatementTryBlock(false); - break; - } - - // - // Rule 585: handler ::= catch ( exception_declaration ) compound_statement - // - case 585: { - action.consumeStatementCatchHandler(false); - break; - } - - // - // Rule 586: handler ::= catch ( ... ) compound_statement - // - case 586: { - action.consumeStatementCatchHandler(true); - break; - } - - // - // Rule 587: exception_declaration ::= type_specifier_seq declarator - // - case 587: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 588: exception_declaration ::= type_specifier_seq abstract_declarator - // - case 588: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 589: exception_declaration ::= type_specifier_seq - // - case 589: { - action.consumeDeclarationSimple(false); - break; - } - - // - // Rule 591: exception_specification ::= throw ( ) - // - case 591: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 597: no_function_declarator_start ::= ERROR_TOKEN - // - case 597: { - action.consumeEmpty(); - break; - } - - default: - break; - } - return; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java deleted file mode 100644 index 1346a3e3760..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java +++ /dev/null @@ -1,1546 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -public class CPPNoFunctionDeclaratorParserprs - implements lpg.lpgjavaruntime.ParseTable, CPPNoFunctionDeclaratorParsersym { - - 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 }; - } - - 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, 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, 5, 6, 4, 1, 3, 1, 0, 1, 2, 1, 1, 3, 1, 3, 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, -110, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7, -13, 0, -8, 0, 0, 0, 0, 0, 0, -11, 0, -19, 0, 0, -10, 0, 0, 0, 0, -14, - -448, 0, 0, 0, 0, -280, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -93, -27, 0, 0, 0, -245, 0, 0, 0, - 0, -487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28, -88, 0, 0, 0, 0, 0, -29, 0, - 0, 0, 0, 0, -30, -106, -271, 0, 0, 0, 0, 0, -112, 0, 0, -33, 0, 0, -34, 0, 0, 0, -343, 0, 0, 0, 0, 0, 0, - 0, 0, -533, 0, 0, 0, 0, -440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -199, 0, 0, 0, 0, 0, -76, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25, 0, -449, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -41, 0, -35, 0, 0, 0, -325, 0, 0, 0, 0, 0, -3, 0, 0, 0, -98, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -20, -237, 0, 0, 0, 0, 0, 0, -15, 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, -169, 0, 0, 0, 0, -21, -486, 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, 0, 0, 0, 0, 0, -318, 0, -118, -263, 0, 0, 0, 0, 0, - 0, 0, 0, -328, 0, 0, 0, -346, 0, -23, 0, 0, 0, 0, 0, -40, 0, -42, 0, -90, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -182, 0, 0, 0, 0, -194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -521, 0, 0, 0, 0, - -203, 0, 0, 0, 0, 0, 0, -46, 0, 0, 0, 0, -327, 0, 0, -319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -315, 0, 0, 0, -17, 0, 0, 0, 0, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, -44, -600, 0, 0, 0, 0, 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, 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, -189, 0, 0, -26, 0, 0, 0, 0, 0, 0, -37, 0, - 0, 0, 0, 0, -352, 0, 0, 0, -22, -31, 0, 0, -152, 0, 0, 0, -473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -39, -32, 0, 0, 0, 0, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -290, 0, 0, 0, 0, 0, 0, -172, 0, 0, 0, 0, 0, -395, 0, -51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -38, 0, 0, 0, 0, -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -47, 0, 0, 0, 0, 0, 0, 0, 0, -59, 0, -60, 0, 0, -272, 0, 0, 0, 0, -122, 0, - 0, 0, 0, -83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -382, 0, 0, 0, 0, -61, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -537, 0, 0, 0, 0, -512, 0, 0, 0, 0, -313, - 0, -91, 0, 0, -279, 0, 0, 0, 0, -366, -424, 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, -85, 0, 0, 0, 0, -73, 0, 0, 0, 0, -81, 0, 0, 0, 0, -505, 0, 0, 0, 0, -425, 0, 0, 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, -230, 0, -63, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -329, 0, 0, 0, 0, 0, -64, 0, -36, 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, -577, 0, 0, 0, 0, 0, 0, 0, 0, 0, -70, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -379, -411, 0, -74, 0, 0, 0, 0, 0, 0, 0, 0, -75, - 0, 0, 0, 0, -173, 0, 0, -344, 0, 0, 0, 0, 0, 0, -229, 0, -139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, -508, 0, 0, 0, 0, - -140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -99, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -541, 0, 0, 0, 0, -141, 0, 0, 0, 0, -370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -67, 0, -68, 0, -154, 0, 0, 0, 0, 0, 0, -69, 0, 0, -542, 0, 0, 0, 0, -142, - 0, 0, 0, 0, -417, 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, -170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -349, 0, 0, 0, 0, -143, 0, 0, 0, 0, -195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -420, 0, 0, -96, 0, -466, 0, 0, 0, 0, 0, 0, -97, 0, 0, -350, 0, 0, 0, 0, - -144, 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, -174, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -153, 0, 0, -368, 0, 0, 0, 0, -145, 0, 0, 0, 0, -576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -269, -95, 0, 0, 0, 0, 0, 0, 0, 0, -268, 0, -155, 0, 0, -389, 0, 0, 0, - 0, -146, 0, 0, 0, 0, -159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -160, 0, - -161, 0, 0, 0, 0, 0, 0, -162, 0, -163, 0, 0, -398, 0, 0, 0, 0, -147, 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, -165, 0, -166, 0, -455, 0, 0, 0, 0, -167, 0, -360, 0, 0, - 0, 0, -107, -108, 0, -148, 0, 0, 0, 0, -548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -430, 0, -284, 0, 0, 0, 0, 0, 0, 0, 0, 0, -356, -367, -183, -273, 0, -149, 0, 0, 0, 0, -168, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -177, 0, -265, 0, -391, 0, 0, 0, 0, 0, - 0, -297, 0, 0, -474, 0, 0, -184, 0, -181, 0, 0, 0, 0, 0, 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, -289, 0, 0, 0, 0, 0, 0, -179, 0, 0, 0, 0, -414, -185, 0, -248, 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, -570, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -79, -113, 0, 0, 0, -187, 0, -286, 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, -201, 0, 0, 0, 0, 0, 0, - -399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -311, 0, 0, 0, 0, -447, 0, 0, 0, 0, 0, 0, -415, -476, 0, 0, 0, 0, - 0, 0, -250, 0, 0, 0, 0, -406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -190, 0, - -116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -231, -209, 0, -454, 0, -188, -294, 0, 0, -321, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -251, 0, 0, 0, 0, -204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -196, 0, 0, -117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -80, -418, 0, -197, 0, 0, 0, 0, 0, 0, 0, - -322, 0, -504, 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, 0, 0, 0, -205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -82, 0, 0, 0, 0, 0, 0, 0, -538, - -446, 0, 0, 0, 0, -434, 0, -198, -330, 0, 0, 0, 0, 0, -253, 0, 0, 0, 0, -208, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -84, -355, 0, 0, - 0, 0, 0, 0, 0, -210, 0, 0, 0, -351, -517, 0, 0, -211, 0, 0, 0, 0, 0, -254, 0, 0, 0, 0, -282, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -212, 0, 0, -445, 0, 0, 0, -457, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -213, 0, 0, 0, 0, -86, -214, 0, 0, 0, -482, -423, 0, -592, 0, 0, 0, 0, 0, 0, -255, 0, 0, 0, - 0, -460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -477, 0, 0, 0, -463, 0, -296, - 0, 0, 0, 0, 0, -489, 0, 0, -232, -9, 0, -470, 0, 0, 0, 0, -233, -215, 0, -408, 0, 0, 0, 0, 0, -435, 0, - 0, 0, 0, 0, -256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -323, -544, 0, -216, 0, 0, -4, -291, 0, -217, 0, 0, 0, 0, 0, 0, 0, -234, -373, 0, 0, 0, 0, - 0, 0, -593, -218, 0, 0, 0, 0, 0, -257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -324, 0, 0, -338, 0, 0, -326, 0, 0, 0, -361, 0, -219, 0, -364, 0, -235, 0, 0, 0, 0, -347, 0, - -394, -401, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -258, 0, 0, 0, 0, 0, 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, -442, 0, 0, -220, -221, 0, -222, 0, -293, 0, 0, 0, -459, - -223, 0, -365, 0, 0, 0, 0, 0, 0, 0, 0, 0, -224, 0, -225, 0, 0, 0, 0, 0, 0, 0, -295, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -381, 0, 0, 0, 0, 0, 0, 0, 0, 0, -226, 0, -227, - 0, 0, -171, 0, 0, 0, 0, -354, 0, 0, 0, 0, -353, 0, 0, 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, -443, 0, 0, 0, 0, 0, 0, -238, -375, -266, -390, -400, 0, -403, 0, 0, 0, -433, - 0, -405, 0, -484, 0, -275, 0, 0, 0, 0, 0, 0, 0, 0, 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, -413, -540, 0, -276, 0, 0, 0, 0, 0, 0, -428, 0, -462, 0, 0, 0, -590, - -376, -377, 0, -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, 0, 0, - -277, 0, 0, 0, 0, 0, 0, 0, -278, 0, -300, 0, 0, -419, 0, 0, 0, 0, -301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -545, 0, 0, -302, 0, -437, 0, 0, 0, 0, 0, 0, -458, 0, 0, -303, 0, 0, 0, 0, - 0, -304, -475, -305, -306, -180, 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, -307, 0, 0, -308, 0, 0, 0, 0, 0, 0, -309, 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, -579, 0, 0, -310, 0, -488, 0, 0, 0, 0, 0, 0, -485, - 0, 0, -491, 0, -492, 0, -109, 0, -314, -316, -317, 0, -176, 0, 0, 0, -451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -336, -337, 0, -499, 0, 0, 0, 0, 0, 0, -339, 0, 0, - -524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -378, -341, -348, - 0, -380, 0, 0, 0, 0, 0, 0, -495, 0, 0, -358, 0, -359, -502, 0, 0, 0, 0, 0, -363, 0, -515, -371, -526, 0, - -372, 0, 0, 0, 0, -158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -507, 0, -416, 0, -562, 0, 0, -535, 0, 0, -563, -536, 0, -374, -383, 0, 0, -388, -151, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -421, 0, - -260, 0, 0, 0, 0, -546, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -387, 0, -342, - -431, -573, 0, -582, 0, 0, 0, -384, 0, -392, -396, -567, -397, -410, 0, 0, 0, 0, -412, -429, -438, -441, - -453, 0, 0, 0, 0, -468, 0, 0, -422, 0, 0, -138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -369, 0, 0, 0, -469, 0, 0, 0, 0, -247, 0, 0, 0, 0, -461, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -471, 0, -472, 0, -478, -480, 0, 0, -493, -500, -501, -511, - -523, -525, -527, -528, -559, 0, -560, 0, -529, 0, 0, 0, -530, 0, 0, 0, -136, 0, 0, 0, 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, -547, 0, -549, 0, 0, 0, -137, 0, 0, 0, 0, - -550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -552, -557, -565, -586, 0, -481, 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, -561, 0, -566, - 0, 0, 0, 0, -574, -598, -584, -603, -591, -596, 0, 0, 0, 0, 0, -494, 0, -133, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -539, 0, -242, 0, 0, 0, 0, -564, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -569, 0, -134, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18, 0, - 0, 0, 0, -243, 0, 0, 0, 0, -571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -575, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -130, 0, 0, - 0, 0, 0, 0, 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, 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, -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, -299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -467, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -580, -24, 0, 0, 0, 0, 0, -554, -534, 0, -581, -119, 0, 0, 0, - 0, 0, -340, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -599, 0, 0, 0, 0, 0, 0, -320, 0, 0, -202, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -506, 0, 0, 0, 0, 0, 0, -597, 0, -602, 0, 0, 0, 0, 0, -556, 0, 0, 0, 0, 0, - -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, -385, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -72, 0, 0, 0, -193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -48, 0, 0, 0, 0, 0, - -281, 0, 0, 0, 0, 0, 0, 0, -259, 0, -497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -503, -332, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -543, -522, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -531, -89, 0, 0, 0, 0, 0, 0, -200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -87, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -551, - -333, 0, 0, 0, 0, 0, -334, 0, -78, -192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -553, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -206, 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, 0, 0, 0, -568, 0, 0, 0, 0, 0, 0, -335, - 0, -386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -393, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -585, 0, 0, 0, 0, 0, 0, -588, 0, 0, 0, 0, 0, -452, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -589, 0, -101, -100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -479, 0, 0, 0, 0, 0, -483, 0, 0, 0, 0, 0, 0, 0, -601, 0, 0, 0, 0, 0, 0, 0, -496, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -604, 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, -175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -126, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -427, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -285, 0, 0, 0, - 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -102, 0, 0, 0, 0, 0, -283, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -510, 0, 0, 0, 0, 0, 0, 0, -516, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -56, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -111, 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, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -514, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -436, -292, 0, 0, 0, 0, 0, 0, -298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -465, - -312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -513, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -444, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -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, -464, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -490, 0, 0, -520, -518, 0, 0, 0, 0, 0, 0, 0, 0, - -498, 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, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -572, 0, 0, - 0, 0, 0, 0, 0, -555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[index]; - } - - public interface BaseAction { - public final static char baseAction[] = { 191, 5, 153, 93, 93, 30, 30, 80, 80, 39, 39, 42, 42, 218, 1, 1, 16, - 16, 16, 16, 16, 16, 16, 17, 17, 17, 15, 11, 11, 6, 6, 6, 6, 6, 6, 2, 76, 76, 4, 4, 12, 12, 44, 44, 154, - 154, 155, 69, 69, 43, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 156, 156, 156, 133, 133, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 192, 192, 193, 193, - 194, 159, 159, 160, 160, 157, 157, 161, 158, 158, 21, 21, 22, 22, 23, 23, 23, 24, 24, 24, 24, 25, 25, - 25, 26, 26, 26, 31, 31, 31, 31, 31, 33, 33, 33, 34, 34, 35, 35, 36, 36, 38, 38, 40, 40, 41, 41, 45, 45, - 45, 45, 45, 47, 47, 47, 53, 53, 55, 55, 61, 61, 62, 62, 63, 63, 64, 64, 65, 65, 65, 65, 65, 65, 65, 65, - 65, 65, 65, 65, 65, 29, 29, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 37, 28, 162, 162, 104, - 104, 195, 195, 103, 219, 219, 81, 81, 81, 81, 81, 81, 81, 81, 81, 82, 82, 82, 78, 78, 66, 66, 196, 196, - 83, 83, 83, 115, 115, 197, 197, 84, 84, 84, 84, 198, 198, 85, 85, 85, 85, 85, 86, 86, 94, 94, 94, 94, - 94, 94, 94, 94, 56, 56, 56, 56, 56, 134, 134, 132, 132, 57, 199, 27, 27, 27, 27, 27, 50, 50, 71, 71, 71, - 71, 71, 139, 139, 135, 135, 135, 135, 135, 136, 136, 136, 137, 137, 137, 138, 138, 138, 164, 164, 164, - 72, 72, 72, 72, 72, 73, 73, 73, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 105, 140, 140, 140, 140, - 140, 140, 110, 110, 110, 165, 166, 166, 111, 111, 200, 168, 168, 167, 167, 141, 141, 116, 91, 91, 142, - 59, 49, 169, 169, 60, 58, 96, 96, 170, 170, 163, 163, 118, 118, 119, 88, 88, 171, 171, 74, 74, 67, 67, - 172, 75, 75, 79, 79, 70, 70, 70, 54, 97, 97, 107, 106, 106, 51, 51, 68, 68, 77, 77, 52, 108, 108, 108, - 98, 98, 98, 99, 99, 100, 100, 100, 101, 101, 120, 120, 120, 122, 122, 121, 121, 220, 220, 102, 102, 202, - 202, 202, 202, 202, 144, 48, 48, 174, 201, 201, 145, 145, 146, 146, 146, 147, 176, 203, 203, 32, 32, - 109, 113, 113, 113, 113, 205, 124, 123, 123, 112, 112, 112, 177, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 207, 207, 204, 204, 206, 206, 179, 180, 180, 180, 180, 181, 208, 126, 125, 125, 209, 209, - 182, 182, 182, 182, 114, 114, 114, 210, 210, 8, 8, 9, 211, 211, 212, 183, 173, 173, 184, 184, 185, 186, - 186, 7, 7, 10, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 89, 92, 92, 187, 187, 149, 149, 150, 150, 150, 150, 150, 150, 3, 151, 151, 148, 148, 188, - 221, 222, 222, 223, 223, 224, 225, 225, 189, 190, 190, 190, 190, 214, 214, 214, 128, 128, 128, 128, 128, - 129, 130, 130, 127, 127, 95, 90, 87, 87, 175, 175, 131, 131, 215, 215, 215, 152, 152, 143, 143, 216, - 216, 191, 191, 117, 1119, 35, 2497, 2418, 4666, 1254, 27, 30, 31, 629, 626, 26, 28, 2399, 296, 25, 23, - 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 1238, 1342, 177, 1405, 1492, 308, 1649, 1517, 1734, - 1732, 1754, 1743, 1248, 1781, 176, 71, 713, 707, 34, 191, 1513, 1229, 35, 488, 266, 5158, 71, 35, 3286, - 1243, 35, 636, 32, 4256, 2742, 27, 30, 31, 629, 626, 373, 28, 2405, 1648, 269, 264, 265, 3298, 35, 636, - 32, 4575, 2916, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, - 1372, 1967, 1911, 1229, 35, 314, 309, 5263, 358, 2199, 276, 279, 282, 1344, 1452, 1336, 1638, 2465, 35, - 312, 1944, 1292, 1976, 402, 646, 355, 61, 359, 1969, 2629, 3153, 349, 627, 2568, 35, 312, 2217, 2415, - 2481, 2547, 4680, 285, 71, 3590, 193, 875, 3154, 1532, 35, 636, 32, 4256, 4163, 27, 30, 31, 629, 626, - 373, 28, 1229, 35, 314, 1837, 5414, 2621, 2267, 35, 636, 32, 4575, 5370, 27, 30, 31, 629, 626, 26, 28, - 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1967, 1504, 1452, 162, 1468, 35, 3494, - 32, 4256, 2742, 27, 30, 31, 629, 626, 373, 28, 1934, 55, 1944, 2391, 1976, 3349, 355, 2465, 35, 315, - 1969, 2334, 1991, 329, 390, 42, 2166, 2252, 1978, 2014, 2016, 161, 577, 592, 481, 3578, 3579, 2267, 35, - 636, 32, 4575, 5370, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, - 1420, 1372, 1967, 646, 355, 162, 1332, 35, 636, 32, 349, 627, 41, 30, 31, 629, 626, 1377, 1229, 35, 565, - 1944, 5904, 1976, 1582, 69, 652, 533, 900, 1969, 1292, 1991, 1887, 548, 574, 4491, 578, 1978, 2014, - 2016, 161, 577, 1968, 35, 636, 32, 417, 356, 40, 30, 31, 629, 626, 1181, 1931, 4221, 1622, 2023, 2805, - 351, 3862, 69, 71, 35, 727, 423, 764, 2267, 35, 636, 32, 4575, 5370, 27, 30, 31, 629, 626, 26, 28, 1320, - 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1967, 466, 1355, 162, 1638, 71, 35, 2426, - 2358, 1292, 548, 574, 4491, 578, 71, 35, 317, 638, 2463, 1944, 1614, 1976, 453, 454, 3489, 4729, 1389, - 1969, 2922, 1991, 1452, 2085, 193, 367, 2023, 1978, 2014, 2016, 161, 577, 2537, 35, 636, 32, 4575, 2176, - 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, - 1613, 1689, 177, 347, 1492, 69, 1649, 1517, 1734, 1732, 1292, 1743, 147, 1781, 176, 1213, 5062, 2431, - 3352, 413, 2290, 35, 636, 32, 4256, 4400, 27, 30, 31, 629, 626, 373, 28, 2743, 548, 574, 4491, 578, - 2152, 35, 330, 2509, 1360, 35, 636, 32, 4429, 2923, 27, 30, 31, 629, 626, 373, 28, 2157, 495, 387, 2023, - 438, 2597, 35, 636, 32, 4575, 5370, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, - 77, 108, 1331, 1420, 1372, 1967, 3349, 355, 162, 2981, 1879, 35, 636, 32, 5897, 638, 27, 30, 31, 629, - 626, 26, 28, 2025, 1944, 546, 1976, 2112, 646, 355, 3485, 367, 1969, 1993, 1991, 350, 627, 420, 414, - 977, 1978, 2014, 2016, 161, 577, 2335, 35, 636, 32, 4575, 583, 27, 30, 31, 629, 626, 26, 28, 1320, 296, - 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 2438, 1637, 177, 1377, 1492, 324, 1649, - 1517, 1734, 1732, 1377, 1743, 478, 1781, 176, 1213, 2666, 35, 563, 413, 69, 69, 2038, 1132, 1485, 834, - 925, 2075, 502, 35, 431, 1709, 3355, 532, 549, 574, 4491, 578, 2805, 351, 412, 2498, 69, 71, 35, 727, - 423, 824, 2409, 35, 636, 32, 4575, 2754, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, - 76, 77, 108, 1331, 1420, 1372, 1510, 308, 1409, 177, 1884, 1492, 1712, 1649, 1517, 1734, 1732, 2816, - 1743, 147, 1781, 176, 1213, 4815, 1981, 657, 413, 3245, 35, 636, 32, 4575, 900, 27, 30, 31, 629, 626, - 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 85, 421, 414, 977, 2891, 35, 636, 32, 4575, 2984, 27, - 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 374, - 141, 177, 3583, 1492, 652, 1649, 1517, 1734, 1732, 2590, 1743, 1239, 1781, 176, 71, 35, 707, 311, 191, - 3245, 35, 636, 32, 4575, 1346, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, - 108, 1331, 2556, 411, 414, 977, 2891, 35, 636, 32, 4575, 1463, 27, 30, 31, 629, 626, 26, 28, 1320, 296, - 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 71, 3701, 177, 70, 1492, 2916, 1649, 1517, - 1734, 1732, 2323, 1743, 1452, 1781, 176, 71, 35, 707, 3285, 407, 2853, 2891, 35, 636, 32, 4575, 1975, - 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, - 1213, 439, 177, 93, 1492, 155, 1649, 1517, 1734, 1732, 1389, 1743, 1837, 1781, 176, 71, 35, 727, 423, - 407, 2891, 35, 636, 32, 4575, 227, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, - 77, 108, 1331, 1420, 1372, 1510, 487, 1465, 177, 2437, 1492, 1783, 1649, 1517, 1734, 1732, 494, 1743, - 1884, 1781, 176, 71, 35, 707, 313, 407, 1258, 244, 406, 2770, 35, 636, 32, 4575, 230, 27, 30, 31, 629, - 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 425, 462, 2119, 389, - 1492, 2916, 1649, 1517, 1734, 1732, 2942, 1743, 592, 1828, 197, 2469, 35, 636, 32, 4575, 405, 27, 30, - 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 1638, 3214, - 177, 155, 1492, 1292, 1649, 1517, 1734, 1732, 2736, 1743, 155, 1781, 176, 362, 369, 2237, 1929, 175, - 2492, 35, 707, 311, 361, 403, 1873, 155, 193, 2891, 35, 636, 32, 4575, 1920, 27, 30, 31, 629, 626, 26, - 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 499, 363, 177, 1919, 1492, - 1598, 1649, 1517, 1734, 1732, 1736, 1743, 323, 1781, 176, 71, 35, 727, 423, 188, 2891, 35, 636, 32, - 4575, 2670, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, - 1372, 1510, 469, 3444, 177, 357, 1492, 69, 1649, 1517, 1734, 1732, 991, 1743, 592, 1781, 176, 71, 35, - 727, 423, 187, 2891, 35, 636, 32, 4575, 2327, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, - 106, 76, 77, 108, 1331, 1420, 1372, 1510, 468, 495, 177, 233, 1492, 69, 1649, 1517, 1734, 1732, 1490, - 1743, 313, 1781, 176, 71, 35, 727, 423, 186, 2891, 35, 636, 32, 4575, 2327, 27, 30, 31, 629, 626, 26, - 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 467, 2819, 177, 1632, 1492, - 69, 1649, 1517, 1734, 1732, 6299, 1743, 456, 1781, 176, 71, 3486, 707, 74, 185, 2891, 35, 636, 32, 4575, - 2499, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, - 1510, 71, 3352, 177, 316, 1492, 2525, 1649, 1517, 1734, 1732, 6206, 1743, 1090, 1781, 176, 2492, 35, - 707, 3488, 184, 2891, 35, 636, 32, 4575, 1457, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, - 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 3242, 147, 177, 2416, 1492, 4873, 1649, 1517, 1734, - 1732, 388, 1743, 757, 1781, 176, 71, 35, 707, 316, 183, 2891, 35, 636, 32, 4575, 1613, 27, 30, 31, 629, - 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 69, 1452, 177, 2604, - 1492, 1035, 1649, 1517, 1734, 1732, 1389, 1743, 1467, 1781, 176, 71, 35, 707, 3495, 182, 2891, 35, 636, - 32, 4575, 1931, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, - 1372, 1510, 325, 501, 177, 660, 1492, 2801, 1649, 1517, 1734, 1732, 581, 1743, 753, 1781, 176, 71, 35, - 707, 564, 181, 2891, 35, 636, 32, 4575, 319, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, - 106, 76, 77, 108, 1331, 1420, 1372, 1510, 360, 743, 177, 1731, 1492, 2320, 1649, 1517, 1734, 1732, 1356, - 1743, 147, 1781, 176, 583, 4935, 1377, 1377, 180, 2891, 35, 636, 32, 4575, 2328, 27, 30, 31, 629, 626, - 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 5815, 24, 177, 2463, - 1492, 69, 1649, 1517, 1734, 1732, 3475, 1743, 3056, 1781, 176, 1389, 2853, 1377, 2562, 179, 2891, 35, - 636, 32, 4575, 2324, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, - 1420, 1372, 1510, 69, 1344, 177, 1093, 1492, 1625, 1649, 1517, 1734, 1732, 2991, 1743, 1465, 1781, 176, - 502, 35, 431, 1377, 178, 2891, 35, 636, 32, 4575, 473, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, - 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 3154, 68, 177, 2400, 1492, 69, 1649, 1517, 1734, - 1732, 969, 1743, 241, 1781, 176, 584, 2119, 2853, 2497, 192, 3012, 35, 636, 32, 4575, 2651, 27, 30, 31, - 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1967, 426, 462, 162, - 1243, 35, 636, 32, 4256, 2742, 27, 30, 31, 629, 626, 373, 28, 1257, 1331, 1944, 2641, 1976, 2653, 3485, - 2565, 368, 369, 1969, 3239, 1991, 273, 296, 44, 2166, 2795, 1978, 2014, 2016, 161, 173, 3012, 35, 636, - 32, 4575, 3584, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, - 1372, 1967, 1452, 266, 162, 88, 646, 355, 102, 1968, 35, 636, 32, 349, 627, 2696, 30, 31, 629, 626, - 1944, 2252, 1976, 274, 264, 265, 1389, 3710, 1969, 900, 1991, 428, 462, 2853, 1389, 900, 1978, 2014, - 2016, 161, 172, 3012, 35, 636, 32, 4575, 3130, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, - 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1967, 2664, 1377, 162, 1514, 35, 636, 32, 4811, 2664, 27, 30, - 31, 629, 626, 57, 28, 3765, 1452, 1944, 2065, 1976, 2768, 1644, 5164, 410, 227, 1969, 5838, 1991, 273, - 296, 53, 410, 424, 1978, 2014, 2016, 161, 171, 3012, 35, 636, 32, 4575, 1377, 27, 30, 31, 629, 626, 26, - 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1967, 485, 266, 162, 2243, 35, 636, - 32, 4811, 87, 27, 30, 31, 629, 626, 56, 28, 1630, 2252, 1944, 3703, 1976, 274, 264, 265, 427, 462, 1969, - 3101, 1991, 2146, 35, 488, 900, 5158, 1978, 2014, 2016, 161, 170, 3012, 35, 636, 32, 4575, 51, 27, 30, - 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1967, 408, 266, - 162, 1703, 35, 636, 32, 5897, 3343, 27, 30, 31, 629, 626, 59, 28, 1897, 2809, 1944, 2291, 1976, 278, - 264, 265, 1389, 3130, 1969, 61, 1991, 482, 657, 321, 3642, 243, 1978, 2014, 2016, 161, 169, 3012, 35, - 636, 32, 4575, 1377, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, - 1420, 1372, 1967, 2664, 266, 162, 1703, 35, 636, 32, 5897, 52, 27, 30, 31, 629, 626, 58, 28, 1986, 1331, - 1944, 2880, 1976, 281, 264, 265, 3393, 1983, 1969, 60, 1991, 1465, 71, 35, 330, 2058, 1978, 2014, 2016, - 161, 168, 3012, 35, 636, 32, 4575, 1377, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, - 76, 77, 108, 1331, 1420, 1372, 1967, 1886, 266, 162, 1968, 35, 636, 32, 2252, 384, 3151, 30, 31, 629, - 626, 2119, 485, 3578, 3579, 1944, 2073, 1976, 284, 264, 265, 2067, 2276, 1969, 2274, 1991, 1798, 1465, - 71, 1389, 4997, 1978, 2014, 2016, 161, 167, 3012, 35, 636, 32, 4575, 1625, 27, 30, 31, 629, 626, 26, 28, - 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1967, 2299, 2847, 162, 364, 369, 2252, - 4480, 69, 2664, 266, 482, 416, 2560, 2252, 3451, 2119, 2156, 2652, 1944, 147, 1976, 322, 4181, 5180, - 2854, 589, 1969, 2669, 1991, 287, 264, 265, 586, 2682, 1978, 2014, 2016, 161, 166, 3012, 35, 636, 32, - 4575, 377, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, - 1372, 1967, 437, 266, 162, 971, 3141, 369, 441, 69, 2252, 266, 845, 2352, 1414, 1519, 1377, 215, 847, - 3862, 1944, 332, 1976, 278, 264, 265, 3662, 243, 1969, 331, 1991, 281, 264, 265, 1389, 1017, 1978, 2014, - 2016, 161, 165, 3012, 35, 636, 32, 4575, 90, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, - 106, 76, 77, 108, 1331, 1420, 1372, 1967, 69, 638, 162, 1377, 89, 2076, 69, 102, 2664, 266, 2248, 3537, - 2364, 465, 69, 2311, 3721, 366, 1944, 2171, 1976, 1519, 340, 1792, 1389, 3862, 1969, 3862, 1991, 284, - 264, 265, 585, 2927, 1978, 2014, 2016, 161, 164, 3012, 35, 636, 32, 4575, 1060, 27, 30, 31, 629, 626, - 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1967, 3134, 266, 162, 1377, - 2152, 3541, 330, 2368, 1572, 638, 2660, 638, 1889, 35, 727, 423, 1465, 2919, 1944, 69, 1976, 568, 264, - 265, 2298, 2818, 1969, 2818, 1991, 491, 477, 918, 491, 2990, 1978, 2014, 2016, 161, 163, 2891, 35, 636, - 32, 4575, 308, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, - 1372, 1510, 69, 2119, 177, 415, 1492, 2627, 1649, 1517, 1734, 1732, 1620, 1743, 2001, 1781, 176, 502, - 35, 2989, 2110, 140, 3072, 35, 636, 32, 4575, 1718, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, - 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1967, 49, 94, 162, 96, 3328, 915, 2852, 1637, 143, 3232, 369, - 724, 956, 2980, 1377, 2680, 69, 69, 1944, 69, 1976, 2063, 5896, 1452, 5989, 69, 1969, 147, 1991, 746, - 2490, 5242, 72, 2075, 1978, 2014, 2016, 161, 160, 3132, 35, 636, 32, 4575, 67, 27, 30, 31, 629, 626, 26, - 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 69, 1465, 177, 829, 1492, - 4981, 1649, 1517, 1734, 1732, 69, 1743, 1452, 1781, 176, 2877, 3160, 1377, 1377, 222, 3245, 35, 636, 32, - 4575, 1467, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, - 1372, 1510, 66, 65, 843, 97, 1492, 2119, 1649, 1517, 1734, 1732, 1001, 1743, 1019, 1828, 197, 3245, 35, - 636, 32, 4575, 1806, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, - 1420, 1372, 1510, 71, 35, 330, 2155, 1492, 69, 1649, 1517, 1734, 1732, 5916, 1743, 69, 1828, 197, 2297, - 98, 678, 3399, 369, 2025, 2442, 2682, 2636, 577, 71, 35, 727, 423, 3245, 35, 636, 32, 4575, 458, 27, 30, - 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 1642, 49, - 584, 1810, 1492, 335, 1649, 1517, 1734, 1732, 2330, 1743, 46, 1828, 197, 3245, 35, 636, 32, 4575, 329, - 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, - 502, 35, 431, 1800, 1492, 69, 1649, 1517, 1734, 1732, 1399, 1743, 147, 1828, 197, 69, 5492, 2682, 3667, - 3434, 5977, 2524, 3043, 2198, 4730, 71, 35, 727, 423, 3245, 35, 636, 32, 4575, 3052, 27, 30, 31, 629, - 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 255, 308, 1015, - 1173, 1492, 69, 1649, 1517, 1734, 1732, 6210, 1743, 1791, 1828, 197, 3404, 35, 636, 32, 4575, 457, 27, - 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 386, - 1377, 1904, 1994, 1492, 1638, 1649, 1517, 1734, 1732, 1292, 1743, 147, 1828, 197, 2851, 5500, 3102, 69, - 378, 1803, 996, 383, 1018, 1216, 3712, 2682, 1909, 2682, 376, 2508, 64, 310, 193, 460, 2823, 35, 636, - 32, 4575, 599, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, - 1372, 1967, 377, 189, 69, 339, 1798, 212, 3158, 3041, 4997, 2682, 2031, 1897, 69, 2682, 3665, 2662, - 2848, 1544, 2987, 1377, 3245, 35, 636, 32, 4575, 3246, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, - 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 3506, 232, 3050, 2030, 1492, 231, 1649, 1517, 1734, - 1732, 1377, 2979, 3351, 35, 636, 32, 4575, 2682, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, - 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1967, 3006, 55, 2163, 1638, 69, 4181, 3492, 4181, 1292, 5400, - 3161, 5118, 2500, 3105, 3126, 2162, 3254, 338, 1944, 4181, 1976, 3040, 2530, 3125, 2620, 3096, 1969, - 4197, 1991, 4197, 3127, 193, 2352, 1377, 1978, 3230, 3245, 35, 636, 32, 4575, 377, 27, 30, 31, 629, 626, - 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 54, 2431, 3352, 3479, - 1492, 3267, 1649, 1517, 1734, 2937, 3298, 35, 636, 32, 4575, 1377, 27, 30, 31, 629, 626, 26, 28, 1320, - 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1967, 464, 2730, 395, 3162, 394, 3157, 2710, - 3551, 101, 3307, 3320, 3360, 2728, 3426, 3429, 87, 2944, 2682, 1944, 2682, 1976, 2945, 3406, 3295, 3327, - 2946, 1969, 3498, 1991, 3245, 35, 636, 32, 4575, 3188, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, - 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 235, 3004, 233, 2914, 1492, 3036, 1649, 1517, 2890, - 3245, 35, 636, 32, 4575, 173, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, - 108, 1331, 1420, 1372, 1510, 3432, 2990, 2682, 2682, 1492, 1377, 1649, 2892, 3298, 35, 636, 32, 4575, - 324, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, - 1967, 3389, 3435, 4190, 2057, 1756, 3355, 334, 4242, 3185, 2682, 3491, 2682, 3608, 1007, 6952, 6952, - 6952, 6952, 1944, 1377, 1976, 3245, 35, 636, 32, 4575, 3185, 27, 30, 31, 629, 626, 26, 28, 1320, 296, - 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 256, 3351, 226, 6952, 1492, 1377, 2869, - 3298, 35, 636, 32, 4575, 2661, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, - 108, 1331, 1420, 1372, 1967, 6952, 486, 6952, 6952, 6952, 6952, 6952, 6952, 590, 6952, 6952, 6952, 6952, - 6952, 6952, 6952, 6952, 6952, 1944, 1377, 3144, 3245, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, - 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1510, 6952, 4906, 6952, 6952, 2871, - 3245, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, - 108, 1331, 1420, 1372, 1510, 71, 35, 727, 423, 2878, 3298, 35, 636, 32, 4575, 1377, 27, 30, 31, 629, - 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1967, 49, 6952, 6952, - 6952, 6952, 6952, 6952, 6952, 4968, 6952, 1377, 724, 1447, 3298, 35, 636, 32, 4575, 3150, 27, 30, 31, - 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 1967, 5030, 6952, - 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 3245, 35, 636, 32, 4575, 3152, 27, 30, - 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 2688, 3245, 35, - 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, - 1420, 1372, 2739, 3245, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, - 1329, 106, 76, 77, 108, 1331, 1420, 1372, 2745, 3245, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, - 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 2762, 3245, 35, 636, 32, 4575, - 6952, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, - 3099, 3245, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, - 77, 108, 1331, 1420, 1372, 3107, 3245, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, 296, - 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 3132, 3245, 35, 636, 32, 4575, 6952, 27, 30, 31, - 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 1372, 2952, 1258, 35, 636, - 32, 4429, 2742, 27, 30, 31, 629, 626, 373, 28, 6952, 6952, 6952, 6952, 1377, 3457, 35, 727, 423, 4659, - 6952, 69, 2921, 6952, 1377, 69, 599, 1292, 271, 296, 1292, 1413, 35, 636, 32, 4256, 4853, 27, 30, 31, - 629, 626, 373, 28, 2629, 1377, 6952, 308, 377, 189, 189, 638, 1296, 189, 2761, 571, 5917, 4181, 221, - 3592, 4181, 234, 2350, 6952, 646, 355, 266, 366, 6952, 1638, 6952, 349, 627, 2204, 1292, 3711, 3541, - 6952, 1377, 262, 6952, 1292, 377, 6952, 2921, 348, 269, 264, 265, 599, 157, 35, 727, 423, 6051, 6952, - 6952, 193, 646, 355, 1404, 442, 1038, 6952, 189, 349, 627, 1251, 5234, 6952, 386, 3477, 189, 195, 342, - 598, 820, 6952, 6952, 3483, 309, 3353, 49, 213, 276, 279, 282, 1344, 1452, 378, 1803, 996, 383, 724, - 810, 69, 3801, 6952, 6952, 3403, 1292, 443, 444, 445, 3250, 6952, 6952, 6952, 6952, 6952, 2217, 2415, - 2481, 2547, 4680, 285, 6952, 6952, 6952, 1214, 3244, 6952, 229, 189, 6952, 6952, 3248, 3582, 6952, 6952, - 6952, 6952, 2939, 3753, 3245, 35, 636, 32, 4575, 2621, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, - 50, 1329, 106, 76, 77, 108, 1331, 1420, 2807, 3245, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, - 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 1420, 2868, 6952, 6952, 6952, 446, 449, 6952, - 6952, 400, 1220, 35, 3494, 32, 4429, 2742, 27, 30, 31, 629, 626, 373, 28, 6952, 2159, 1822, 35, 636, 32, - 4256, 6253, 27, 30, 31, 629, 626, 373, 28, 6952, 157, 35, 727, 423, 2621, 6952, 6952, 6952, 4244, 5445, - 6952, 6952, 6952, 6952, 6952, 6952, 385, 6952, 6952, 6316, 230, 69, 6952, 6952, 6952, 638, 599, 2190, - 6952, 6952, 6952, 3862, 49, 6952, 385, 69, 6952, 2792, 646, 355, 1292, 366, 4181, 724, 1195, 349, 627, - 6952, 377, 189, 6952, 259, 69, 646, 355, 6952, 599, 1292, 2031, 1582, 349, 627, 2000, 189, 4197, 386, - 6952, 4730, 6051, 1214, 6952, 6952, 3195, 3246, 875, 6952, 6952, 6952, 262, 189, 189, 638, 6952, 386, - 378, 1803, 996, 383, 3353, 2988, 213, 6952, 6952, 2664, 2575, 6952, 6952, 367, 2030, 237, 249, 745, 378, - 1803, 996, 383, 386, 236, 246, 247, 248, 250, 2575, 6952, 6952, 3427, 1, 202, 6952, 6952, 4181, 599, - 6952, 6952, 6952, 380, 1803, 996, 383, 201, 6952, 6952, 216, 200, 203, 204, 205, 206, 207, 540, 6952, - 386, 377, 262, 189, 591, 1915, 35, 727, 423, 452, 454, 3489, 3353, 6952, 213, 6952, 6952, 2664, 6952, - 378, 1803, 996, 383, 237, 249, 745, 3246, 6952, 6952, 576, 6952, 236, 246, 247, 248, 250, 2690, 49, - 6952, 6952, 6952, 202, 6952, 6952, 6952, 538, 539, 6952, 724, 2218, 6952, 594, 6952, 201, 6952, 214, - 217, 200, 203, 204, 205, 206, 207, 3245, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, - 296, 25, 23, 50, 1329, 106, 76, 77, 108, 1331, 2564, 345, 157, 35, 727, 423, 599, 6952, 6952, 2004, 35, - 727, 423, 6952, 6952, 6952, 6952, 6952, 6952, 4545, 6952, 6952, 6952, 3507, 35, 727, 423, 4659, 262, - 189, 6952, 6952, 6952, 6952, 49, 6952, 272, 296, 3353, 6952, 213, 49, 6952, 2664, 6952, 724, 2108, 6952, - 6952, 237, 249, 745, 724, 2224, 6952, 308, 6952, 236, 246, 247, 248, 250, 6952, 431, 69, 6952, 6952, - 202, 599, 1292, 69, 3252, 1519, 1519, 266, 1292, 3862, 3862, 3252, 201, 6952, 6952, 3666, 200, 203, 204, - 205, 206, 207, 6952, 262, 189, 189, 6952, 270, 264, 265, 6952, 189, 6952, 3353, 3057, 213, 3760, 6952, - 2664, 6952, 3058, 6952, 6952, 6952, 237, 249, 745, 6952, 6952, 6952, 6952, 6952, 236, 246, 247, 248, - 250, 6952, 517, 638, 638, 309, 202, 599, 6952, 277, 280, 283, 1344, 1452, 6952, 6952, 6952, 6952, 201, - 366, 366, 211, 200, 203, 204, 205, 206, 207, 6952, 262, 189, 759, 35, 727, 423, 759, 35, 727, 423, 3353, - 286, 213, 6952, 6952, 2664, 6952, 914, 4456, 6952, 6952, 237, 249, 745, 6952, 6952, 6952, 6952, 6952, - 236, 246, 247, 248, 250, 49, 603, 6952, 6952, 49, 202, 599, 6952, 69, 6952, 1519, 724, 2355, 1292, 3862, - 724, 47, 201, 6952, 6952, 209, 200, 203, 204, 205, 206, 207, 6952, 262, 189, 157, 35, 727, 423, 6952, - 6952, 189, 2873, 3353, 6952, 213, 814, 6952, 2664, 6952, 3326, 6952, 6952, 6952, 237, 249, 745, 6952, - 6952, 6952, 6952, 6952, 236, 246, 247, 248, 250, 49, 689, 638, 6952, 6952, 202, 599, 6952, 6952, 6952, - 6952, 724, 47, 6952, 6952, 6952, 6952, 201, 366, 6952, 210, 200, 203, 204, 205, 206, 207, 6952, 262, - 189, 759, 35, 727, 423, 6952, 6952, 6952, 965, 3353, 6952, 213, 69, 6952, 2664, 6952, 5386, 1292, 6952, - 6952, 237, 249, 745, 6952, 6952, 6952, 6952, 6952, 236, 246, 247, 248, 250, 49, 775, 6952, 6952, 6952, - 202, 599, 189, 69, 6952, 6952, 724, 47, 1292, 2163, 6952, 2997, 201, 6952, 4181, 220, 200, 203, 204, - 205, 206, 207, 6952, 262, 189, 157, 35, 727, 423, 6952, 6952, 189, 2600, 3353, 6952, 213, 4197, 6952, - 2664, 6952, 4211, 6952, 6952, 6952, 237, 249, 745, 6952, 6952, 6952, 6952, 6952, 236, 246, 247, 248, - 250, 49, 861, 6952, 69, 69, 202, 599, 6952, 4181, 599, 6952, 724, 47, 6952, 6952, 6952, 6952, 201, 6952, - 6952, 3713, 200, 203, 204, 205, 206, 207, 6952, 262, 189, 377, 377, 189, 71, 35, 727, 423, 920, 3353, - 6952, 213, 2125, 6952, 2664, 6952, 6952, 6952, 6952, 6952, 237, 249, 745, 6952, 6952, 394, 3246, 3246, - 236, 246, 247, 248, 250, 6952, 6952, 6952, 49, 6952, 202, 6952, 6952, 6952, 6952, 3670, 3295, 3327, - 6952, 724, 1171, 6952, 201, 2172, 2077, 225, 200, 203, 204, 205, 206, 207, 1391, 35, 636, 32, 4256, - 4853, 27, 30, 31, 629, 626, 373, 28, 3245, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, - 296, 25, 23, 50, 1329, 106, 76, 77, 108, 2597, 6952, 6952, 6952, 157, 35, 727, 423, 6952, 6952, 157, 35, - 727, 423, 6952, 6952, 6952, 6952, 947, 6952, 6952, 6952, 6952, 599, 6952, 6952, 2765, 35, 727, 423, - 6952, 646, 355, 6952, 6952, 6952, 49, 6952, 349, 627, 6952, 6952, 49, 386, 6952, 262, 189, 724, 47, - 6952, 6952, 6952, 587, 724, 47, 3353, 6952, 213, 49, 6952, 2664, 6952, 378, 1803, 996, 383, 237, 249, - 745, 724, 47, 6952, 588, 1457, 236, 246, 247, 248, 250, 1652, 1033, 6952, 6952, 6952, 202, 599, 6952, - 6952, 157, 35, 727, 423, 6952, 6952, 6952, 2561, 201, 6952, 6952, 219, 200, 203, 204, 205, 206, 207, - 6952, 262, 189, 71, 35, 727, 423, 6952, 6952, 6952, 6952, 3353, 6952, 213, 49, 6952, 2664, 6952, 6952, - 6952, 6952, 6952, 237, 249, 745, 724, 47, 6952, 6952, 6952, 236, 246, 247, 248, 250, 49, 6952, 6952, - 6952, 6952, 202, 6952, 6952, 6952, 6952, 6952, 724, 715, 6952, 6952, 6952, 1699, 201, 6952, 6952, 228, - 200, 203, 204, 205, 206, 207, 3245, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, 296, - 25, 23, 50, 1329, 106, 76, 77, 108, 2616, 3245, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, - 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 108, 2622, 3556, 35, 552, 6952, 6952, 6952, 6952, 6952, 6952, - 6952, 6952, 6952, 6952, 271, 296, 6952, 2101, 35, 636, 32, 4429, 6952, 27, 30, 31, 629, 626, 373, 28, - 6952, 2357, 35, 636, 32, 4256, 2742, 27, 30, 31, 629, 626, 373, 28, 6952, 71, 35, 727, 423, 6952, 6952, - 6952, 266, 1745, 35, 636, 32, 4256, 2742, 27, 30, 31, 629, 626, 373, 28, 6952, 6952, 6952, 6952, 69, - 638, 269, 264, 265, 4181, 1378, 49, 6952, 6952, 3862, 4181, 6952, 6952, 646, 355, 6952, 367, 724, 731, - 6952, 350, 627, 6952, 6952, 6952, 386, 377, 646, 355, 6952, 6952, 69, 4197, 6952, 349, 627, 4181, 6952, - 6952, 276, 279, 282, 1344, 1452, 380, 1803, 996, 383, 348, 646, 355, 3246, 157, 35, 727, 423, 349, 627, - 377, 638, 2795, 35, 727, 423, 6952, 2349, 2679, 2687, 2753, 6221, 348, 6952, 6952, 6952, 6952, 366, - 2179, 342, 598, 820, 6952, 6952, 6952, 3246, 49, 69, 6952, 6952, 6952, 6952, 599, 6952, 49, 6952, 6952, - 724, 47, 6952, 6952, 596, 598, 820, 4456, 724, 47, 6952, 6952, 394, 2222, 6952, 6952, 6952, 377, 189, - 6952, 6952, 6952, 6952, 561, 562, 566, 1746, 2031, 3709, 6952, 2798, 3295, 3327, 6952, 3129, 3582, 6952, - 6952, 6952, 6952, 6952, 6952, 3246, 6952, 3245, 713, 636, 1850, 4575, 2811, 27, 30, 31, 629, 626, 26, - 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 84, 2377, 6952, 6952, 6952, 6952, 6952, 3245, 35, 636, 32, - 4575, 604, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 83, 3245, 35, 636, - 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 82, 3245, 35, - 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 81, 3245, - 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, 80, - 3245, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, 77, - 79, 3245, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, 76, - 77, 78, 2951, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, 106, - 76, 77, 104, 3245, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, 1329, - 106, 76, 77, 110, 3245, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, 50, - 1329, 106, 76, 77, 109, 3245, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, 23, - 50, 1329, 106, 76, 77, 107, 3245, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, 296, 25, - 23, 50, 1329, 106, 76, 77, 105, 3192, 35, 636, 32, 4575, 6952, 27, 30, 31, 629, 626, 26, 28, 1320, 296, - 25, 23, 50, 1329, 86, 76, 77, 1243, 35, 636, 32, 4256, 2742, 27, 30, 31, 629, 626, 373, 28, 1578, 71, - 35, 727, 423, 4181, 6952, 6952, 71, 35, 727, 423, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 1845, - 71, 35, 727, 423, 4181, 6952, 262, 6952, 6952, 6952, 6952, 6952, 49, 6952, 6952, 69, 6952, 6952, 6952, - 49, 4181, 6952, 6952, 724, 2218, 6952, 262, 239, 249, 745, 724, 1187, 49, 646, 355, 238, 246, 247, 248, - 250, 349, 627, 377, 724, 2548, 6952, 6952, 239, 249, 745, 6952, 6952, 6952, 6952, 348, 238, 246, 247, - 248, 250, 1934, 6952, 6952, 6952, 6952, 4181, 6952, 3246, 240, 242, 244, 3250, 2792, 251, 241, 243, 69, - 4181, 6952, 6952, 6952, 4181, 6952, 343, 598, 820, 6952, 262, 240, 242, 244, 3250, 2354, 251, 241, 243, - 6952, 6952, 6952, 4197, 6952, 6952, 6952, 377, 6952, 6952, 6952, 6952, 239, 249, 745, 2668, 6952, 6136, - 6952, 6952, 238, 246, 247, 248, 250, 2023, 6952, 6952, 6952, 6952, 4181, 6952, 3246, 6952, 6952, 2676, - 6952, 6136, 1360, 35, 636, 32, 4429, 6952, 27, 30, 31, 629, 626, 373, 28, 6952, 262, 240, 242, 244, - 3250, 2864, 251, 241, 243, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 69, 239, - 249, 745, 6952, 4181, 540, 6952, 6952, 238, 246, 247, 248, 250, 6952, 6952, 6952, 6952, 6952, 6952, 638, - 6952, 6952, 1667, 2737, 6952, 6136, 377, 4181, 6952, 6952, 6952, 6952, 646, 355, 6952, 367, 6952, 6952, - 6952, 352, 627, 240, 242, 244, 3250, 6952, 580, 241, 243, 262, 1756, 3246, 537, 539, 6952, 4181, 6952, - 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 239, 249, 745, 6952, 6952, - 6952, 544, 262, 238, 246, 247, 248, 250, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 3574, 6952, 6952, - 6952, 6952, 6952, 6952, 6952, 239, 249, 745, 6952, 6952, 6952, 6952, 6952, 238, 246, 247, 248, 250, 240, - 242, 244, 3250, 6952, 579, 241, 243, 6952, 2112, 6952, 6952, 69, 2793, 4181, 6952, 6952, 4181, 4181, - 6952, 6952, 6952, 2201, 6952, 3605, 35, 552, 4181, 240, 242, 244, 3250, 6952, 252, 241, 243, 262, 272, - 296, 377, 4197, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 262, 6952, 6952, 6952, 6952, 6952, 6952, - 1378, 239, 249, 745, 3862, 4181, 6952, 6952, 3246, 238, 246, 247, 248, 250, 239, 249, 745, 6952, 6952, - 266, 6952, 6952, 238, 246, 247, 248, 250, 4197, 6952, 6952, 6952, 6952, 6952, 542, 6952, 6952, 6952, - 6952, 6952, 270, 264, 265, 240, 242, 244, 3250, 1179, 341, 241, 243, 5917, 4181, 6952, 6952, 638, 240, - 242, 244, 3250, 540, 534, 241, 243, 3042, 6952, 6952, 6952, 6952, 599, 6952, 366, 69, 6952, 262, 6952, - 6952, 599, 277, 280, 283, 1344, 1452, 69, 6952, 6952, 6952, 6952, 599, 6952, 6952, 377, 189, 6952, 6952, - 1404, 442, 1038, 5386, 377, 189, 221, 6952, 394, 6952, 6952, 6952, 537, 539, 221, 377, 189, 6952, 69, - 6952, 6952, 2204, 6952, 4181, 6952, 221, 2798, 3295, 3327, 2204, 6952, 6952, 6952, 6952, 6952, 6952, - 6952, 6952, 6952, 6952, 2204, 443, 444, 445, 3250, 377, 6952, 6952, 6952, 6952, 3632, 6952, 6952, 6952, - 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 561, 562, 567, 6952, 3248, 6952, 6952, 6952, 3246, 6952, - 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 223, 6952, 6952, 6952, 6952, - 6952, 6952, 6952, 3872, 6952, 6952, 595, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 3904, 6952, 6952, - 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, - 6952, 6952, 6952, 6952, 6952, 6952, 446, 448, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, - 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 2286, - 6952, 6952, 4218, 6952, 6952, 6952, 6952, 6952, 6952, 3668, 6952, 0, 864, 1, 0, 39, 6967, 1, 0, 39, - 6966, 1, 0, 38, 641, 0, 38, 6967, 0, 38, 6966, 0, 489, 919, 0, 475, 1191, 0, 1192, 29, 0, 6967, 48, 0, - 6966, 48, 0, 6964, 418, 0, 6963, 418, 0, 39, 6967, 0, 39, 6966, 0, 1, 479, 0, 493, 981, 0, 492, 1406, 0, - 35, 33, 0, 1192, 422, 0, 47, 37, 0, 4001, 126, 0, 1, 1030, 0, 1, 7259, 0, 1, 7258, 0, 1, 7257, 0, 1, - 7256, 0, 1, 7255, 0, 1, 7254, 0, 1, 7253, 0, 1, 7252, 0, 1, 7251, 0, 1, 7250, 0, 1, 7249, 0, 318, 429, - 0, 318, 323, 0, 7220, 275, 0, 7219, 275, 0, 7324, 275, 0, 7323, 275, 0, 7247, 275, 0, 7246, 275, 0, - 7245, 275, 0, 7244, 275, 0, 7243, 275, 0, 7242, 275, 0, 7241, 275, 0, 7240, 275, 0, 7259, 275, 0, 7258, - 275, 0, 7257, 275, 0, 7256, 275, 0, 7255, 275, 0, 7254, 275, 0, 7253, 275, 0, 7252, 275, 0, 7251, 275, - 0, 7250, 275, 0, 7249, 275, 0, 39, 6967, 275, 0, 39, 6966, 275, 0, 6990, 275, 0, 43, 6988, 0, 43, 37, 0, - 1023, 91, 0, 32, 34, 0, 39, 641, 0, 1, 5861, 0, 1, 1266, 0, 1, 5608, 0, 1, 5631, 0, 1, 5654, 0, 1, 5677, - 0, 1, 5700, 0, 1, 5723, 0, 2680, 1, 0, 5579, 1, 0, 1, 6974, 0, 1, 6973, 0, 1, 6972, 0, 1, 6971, 0, 1, - 6970, 0, 1, 6969, 0, 1, 6968, 0, 1, 808, 0, 1, 979, 0, 1, 1065, 0, 1, 1108, 0, 1, 1297, 0, 1, 3360, 0, - 39, 1, 0, 365, 480, 0, 6958, 1, 0, 6957, 1, 0, 271, 714, 0, 32, 423, 0, 29, 422, 0, 4001, 128, 0, 4001, - 127, 0, 6967, 275, 0, 6966, 275, 0, 536, 3249, 0, 6990, 1, 263, 0, 39, 1, 263, 0, 263, 451, 0, 6967, 37, - 0, 6966, 37, 0, 6988, 45, 0, 37, 45, 0, 6990, 1, 0, 1, 92, 0, 6962, 440, 0, 6961, 440, 0, 655, 1, 0, - 641, 1, 0, 263, 450, 0, 3402, 418, 0, 6967, 2, 37, 0, 6966, 2, 37, 0, 6967, 36, 0, 6966, 36, 0, 1, 365, - 0, 8, 12, 0, 365, 95, 0, 35, 73, 0, 536, 6108, 0, 1, 263, 0, 313, 1581, 0, 263, 254, 0, 1, 1199, 0, 1, - 2122, 0, 263, 253, 0, 6964, 1, 0, 6960, 1, 0, 1, 263, 3587, 0, 6961, 263, 0, 3588, 263, 0, 3643, 263, 0, - 10, 12, 0, 8, 10, 12, 0, 3708, 227, 0, 218, 5172, 0 }; - } - - public final static char baseAction[] = BaseAction.baseAction; - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - 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, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 3, 58, 59, 0, 61, 62, 63, 4, 65, 66, 67, 0, 69, 0, 1, 2, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 3, 58, 59, 0, 61, 62, 63, 4, 65, 66, 67, - 0, 69, 0, 1, 2, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 0, 58, 59, 0, 61, 62, 63, - 7, 65, 66, 67, 0, 69, 0, 0, 4, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 0, 58, 59, 0, - 61, 62, 63, 0, 65, 66, 67, 94, 69, 0, 86, 87, 3, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 70, 55, - 56, 0, 58, 59, 3, 61, 62, 63, 96, 65, 66, 67, 94, 69, 92, 93, 101, 102, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 0, 55, 56, 3, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 0, 69, 0, 0, 1, 2, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 3, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 94, 69, 86, 87, 0, - 95, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 0, 58, 59, 6, 61, 62, 63, 7, 65, 66, 67, - 94, 69, 92, 93, 86, 87, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 0, 58, 59, 3, 61, 62, - 63, 0, 65, 66, 67, 0, 69, 0, 1, 2, 5, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 3, 58, - 59, 0, 61, 62, 63, 96, 65, 66, 67, 0, 69, 0, 3, 0, 95, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 0, 55, 56, 0, 58, 59, 0, 61, 62, 63, 7, 65, 66, 67, 0, 69, 86, 87, 86, 87, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 0, 55, 56, 3, 58, 59, 0, 61, 62, 63, 96, 65, 66, 67, 0, 69, 0, 3, 0, 0, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 0, 58, 59, 0, 61, 62, 63, 4, 65, 66, 67, 0, 69, 86, 87, - 86, 87, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 121, 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, 68, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 3, 58, 59, 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, 0, 1, - 2, 0, 4, 39, 3, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 53, 4, 55, 56, 57, 58, 0, 0, 61, 62, 63, 0, 1, 2, 3, - 4, 0, 6, 71, 8, 73, 5, 0, 7, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 88, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 71, 54, 114, 115, 116, 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, - 91, 0, 0, 1, 2, 39, 0, 98, 6, 3, 8, 5, 0, 7, 0, 9, 0, 1, 2, 53, 4, 55, 56, 57, 58, 0, 0, 61, 62, 63, 0, - 1, 2, 3, 4, 10, 6, 71, 8, 73, 34, 35, 36, 37, 120, 39, 0, 0, 0, 1, 2, 0, 4, 5, 88, 7, 9, 9, 57, 0, 54, - 0, 1, 2, 3, 4, 60, 6, 9, 8, 64, 57, 60, 57, 68, 0, 70, 71, 72, 73, 114, 115, 116, 0, 1, 2, 3, 4, 5, 6, - 7, 8, 86, 87, 68, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 72, 72, 60, 0, 117, 118, 119, 120, 0, 69, 54, 3, 9, 5, 0, 7, 0, 9, 0, 0, 1, 2, - 3, 4, 60, 6, 97, 8, 0, 1, 2, 3, 4, 5, 70, 7, 0, 1, 2, 23, 24, 5, 34, 35, 36, 37, 0, 39, 34, 35, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 54, 0, 0, 0, 1, 2, 60, 4, 0, 6, 64, 8, 4, 5, 68, 7, 70, 71, 72, - 73, 64, 0, 1, 2, 3, 4, 60, 6, 71, 8, 64, 57, 86, 87, 68, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 118, 57, 0, 60, 117, 118, 119, 120, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 0, 0, 0, 1, 2, 39, 4, 5, 0, 7, 0, 1, 2, 0, 4, 5, 3, 7, 0, 53, 0, 55, 56, 57, 58, 0, - 0, 61, 62, 63, 0, 65, 0, 1, 2, 9, 0, 7, 6, 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 92, 93, - 88, 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, 57, 70, 0, 1, 2, 39, 4, 60, 6, 72, 8, 0, 1, 2, 95, 4, 5, 0, 7, 53, 54, 55, - 56, 57, 58, 113, 9, 61, 62, 63, 0, 65, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 0, 1, - 2, 3, 4, 5, 6, 7, 8, 0, 88, 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, 72, 0, 0, 1, 2, 39, 4, 5, 0, 7, 0, 70, 4, 0, 86, 87, - 0, 62, 54, 53, 0, 55, 56, 57, 58, 0, 0, 61, 62, 63, 22, 65, 0, 1, 2, 3, 4, 0, 6, 73, 8, 9, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 88, 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, 0, 1, 2, 60, 4, 39, 6, 0, 8, - 97, 0, 1, 2, 86, 87, 72, 6, 96, 0, 53, 0, 55, 56, 57, 58, 0, 95, 61, 62, 63, 0, 65, 0, 114, 115, 116, 0, - 1, 2, 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 88, 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, 0, 1, 2, 60, - 68, 39, 6, 0, 8, 91, 0, 70, 5, 66, 67, 0, 98, 54, 0, 53, 5, 55, 56, 57, 58, 0, 0, 61, 62, 63, 4, 65, 0, - 0, 9, 3, 0, 1, 2, 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 89, 90, 88, 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, - 0, 0, 0, 60, 68, 39, 5, 64, 0, 73, 0, 68, 4, 66, 67, 71, 0, 99, 100, 53, 0, 55, 56, 57, 58, 99, 100, 61, - 62, 63, 22, 65, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1, 2, 3, 4, 5, 6, 7, 8, 53, 88, 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, 0, 1, 2, 0, 4, 39, 0, 1, 2, 0, 0, 99, 100, 0, 0, 60, 0, 0, 91, 53, 4, 55, 56, 57, 58, - 98, 9, 61, 62, 63, 0, 65, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1, 2, 3, 4, 5, 0, 7, 0, 0, - 88, 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, 72, 60, 0, 1, 2, 39, 86, 87, 0, 1, 2, 9, 4, 0, 6, 60, 8, 0, 54, 53, 57, 55, - 56, 57, 58, 97, 9, 61, 62, 63, 0, 65, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 88, 0, 1, 2, 3, 4, 0, 6, 0, 8, 9, 57, 34, 35, 36, 37, 38, 69, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 0, 0, 74, 0, 0, 73, 59, 0, 0, 39, 0, 64, 9, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 1, 2, 3, 4, 39, 6, 0, 8, 9, 91, 0, 34, 35, 36, 37, - 38, 98, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 64, 92, 93, 0, 1, 2, 59, 68, 39, 0, 34, 35, - 0, 71, 34, 35, 69, 0, 1, 2, 73, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 0, 1, 2, 114, 115, 116, 0, 0, 1, 2, 113, 0, 34, 35, 36, 37, 38, 57, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 57, 0, 64, 0, 1, 2, 59, 0, 1, 2, 3, 4, 5, 6, 7, 8, 69, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 54, 0, 1, 2, 57, 54, 0, 0, 0, 0, 64, 3, 34, 35, 36, 37, 38, 0, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 57, 60, 0, 0, 89, 90, 59, 0, 0, 89, 90, 3, 9, 66, 67, 0, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 60, 60, 64, 0, 1, 2, 0, 1, 2, 0, 1, 2, - 34, 35, 36, 37, 38, 68, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 3, 69, 71, 59, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 69, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 57, 0, 0, 57, 3, 3, 57, 36, - 37, 0, 0, 9, 34, 35, 36, 37, 38, 0, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 60, 0, 0, 0, 0, - 3, 59, 5, 6, 7, 0, 0, 0, 66, 67, 0, 0, 1, 2, 0, 9, 9, 0, 1, 2, 3, 4, 5, 9, 7, 0, 60, 0, 54, 4, 0, 34, - 35, 36, 37, 54, 9, 40, 72, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 54, 117, 39, 119, 0, 0, 60, - 3, 54, 64, 64, 64, 66, 67, 68, 39, 70, 57, 64, 89, 90, 0, 0, 68, 0, 3, 60, 72, 54, 73, 64, 68, 86, 87, - 68, 89, 90, 91, 92, 93, 94, 95, 96, 89, 90, 99, 100, 101, 0, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 0, 1, 2, 0, 117, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 0, 0, 64, 0, 1, 2, 68, 0, 1, 2, 10, 10, 34, 35, 36, 37, 38, 0, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 0, 1, 2, 3, 4, 5, 6, 7, 8, 64, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 53, 53, 0, 0, - 57, 57, 0, 0, 0, 0, 0, 9, 34, 35, 36, 37, 38, 10, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 118, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 61, 0, 64, 0, 0, 70, 0, 73, 0, 0, 0, 71, 34, 35, 36, 37, 38, 9, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 3, 3, 3, 59, 0, 1, 2, 3, 4, 5, 6, 7, 8, 39, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 54, 0, 59, 54, 54, 64, 0, 0, 0, 68, 64, 0, 34, 35, 36, 37, - 38, 0, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 3, 89, 90, 0, 60, 0, 1, 2, 3, 4, 5, - 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 54, 54, 0, 0, 54, 3, 0, 0, 0, 0, 64, 4, 34, - 35, 36, 37, 38, 9, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 75, 0, 0, 0, 89, 90, 59, 0, 1, 2, - 3, 4, 5, 6, 7, 8, 39, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 54, 54, 0, 54, 0, 0, 0, 0, 0, 97, - 4, 0, 34, 35, 36, 37, 38, 71, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 0, 0, 0, 59, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 54, 54, 54, 0, 0, 54, 0, - 0, 0, 38, 68, 38, 34, 35, 36, 37, 38, 0, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 3, - 0, 0, 59, 0, 1, 2, 3, 4, 5, 6, 7, 8, 71, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 54, 0, 0, - 0, 0, 0, 0, 97, 38, 68, 34, 35, 36, 37, 38, 70, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 54, 0, 113, 0, 113, 0, - 0, 0, 0, 0, 34, 35, 36, 37, 38, 70, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 3, 4, - 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 34, - 35, 36, 37, 38, 70, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, - 70, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 9, 3, 34, 35, 36, 37, 38, 9, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 0, 4, 0, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 60, 0, 0, 71, 64, 72, 71, 9, - 68, 71, 0, 70, 72, 0, 1, 2, 53, 4, 55, 56, 0, 58, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 1, 2, 0, 53, - 70, 55, 56, 72, 58, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 53, 0, 55, 56, 72, 58, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 1, 2, 3, - 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 53, 0, 55, 56, 0, 58, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 0, 0, 70, 0, 0, 39, 0, 0, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 54, 0, 0, 0, 0, 0, 60, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 0, 0, 0, 0, 0, 39, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 0, 60, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 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; - - @Override - public final int termCheck(int index) { - return termCheck[index]; - } - - public interface TermAction { - public final static char termAction[] = { 0, 6952, 6926, 6902, 6902, 6902, 6902, 6902, 6902, 6902, 6936, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6930, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 6952, 1, 1, 5033, 1, 1, 6952, 1394, 7160, 2980, 668, 3497, 1, 1, 1, 6963, 6952, - 6966, 6967, 6959, 2489, 3630, 3400, 3298, 3396, 3586, 4658, 3598, 740, 3594, 4188, 3589, 10, 6939, 6939, - 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, - 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, - 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, - 6952, 6939, 6939, 714, 6939, 6939, 39, 6939, 6939, 6939, 6990, 6939, 6939, 6939, 365, 6939, 6952, 6548, - 6545, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 6939, 8, 6942, 6942, 6942, - 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, - 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, - 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 430, - 6942, 6942, 131, 6942, 6942, 133, 6942, 6942, 6942, 3721, 6942, 6942, 6942, 6952, 6942, 419, 121, 2078, - 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6942, 6952, 6926, 6902, 6902, - 6902, 6902, 6902, 6902, 6902, 6933, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 6930, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 137, 1, 1, 139, 1, 1, 153, 1394, 7160, - 2980, 129, 3497, 1, 1, 3638, 6963, 346, 4340, 4366, 883, 2489, 3630, 3400, 3298, 3396, 3586, 4658, 3598, - 740, 3594, 4188, 3589, 6952, 6926, 6902, 6902, 6902, 6902, 6902, 6902, 6902, 6933, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6930, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1219, 1, 1, 91, 1, 1, 6712, 1394, 7160, 2980, 3509, 3497, 1, 1, 3673, 6963, 3835, 3803, 3407, - 4301, 2489, 3630, 3400, 3298, 3396, 3586, 4658, 3598, 740, 3594, 4188, 3589, 6952, 6926, 6902, 6902, - 6902, 6902, 6902, 6902, 6902, 6933, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 6930, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 271, 1, 1, 6802, 1, 1, 134, 1394, - 7160, 2980, 135, 3497, 1, 1, 333, 6963, 141, 432, 6966, 6967, 2489, 3630, 3400, 3298, 3396, 3586, 4658, - 3598, 740, 3594, 4188, 3589, 6952, 6926, 6902, 6902, 6902, 6902, 6902, 6902, 6902, 6933, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6930, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 5993, 1, 1, 154, 1394, 7160, 2980, 149, 3497, 1, 1, 3638, 6963, 4340, 4366, 125, - 3602, 2489, 3630, 3400, 3298, 3396, 3586, 4658, 3598, 740, 3594, 4188, 3589, 6952, 6926, 6902, 6902, - 6902, 6902, 6902, 6902, 6902, 6933, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 6930, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6952, 1, 1, 151, 1, 1, 1793, 1394, - 7160, 2980, 3755, 3497, 1, 1, 3673, 6963, 3907, 3867, 4340, 4366, 2489, 3630, 3400, 3298, 3396, 3586, - 4658, 3598, 740, 3594, 4188, 3589, 6952, 6926, 6902, 6902, 6902, 6902, 6902, 6902, 6902, 6933, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6930, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 157, 1, 1, 6952, 1, 1, 4481, 1394, 7160, 2980, 155, 3497, 1, 1, 6952, 6963, 48, - 6548, 6545, 1608, 2489, 3630, 3400, 3298, 3396, 3586, 4658, 3598, 740, 3594, 4188, 3589, 6952, 6926, - 6902, 6902, 6902, 6902, 6902, 6902, 6902, 6933, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6930, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6952, 1, 1, 4721, 1, 1, - 6952, 1394, 7160, 2980, 3546, 3497, 1, 1, 6952, 6963, 124, 4727, 123, 673, 2489, 3630, 3400, 3298, 3396, - 3586, 4658, 3598, 740, 3594, 4188, 3589, 6952, 6926, 6902, 6902, 6902, 6902, 6902, 6902, 6902, 6933, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6930, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 138, 1, 1, 132, 1, 1, 6952, 1394, 7160, 2980, 3721, 3497, 1, 1, 6952, 6963, - 4340, 4366, 4340, 4366, 2489, 3630, 3400, 3298, 3396, 3586, 4658, 3598, 740, 3594, 4188, 3589, 6952, - 6926, 6902, 6902, 6902, 6902, 6902, 6902, 6902, 6933, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6930, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6952, 1, 1, 4851, 1, - 1, 218, 1394, 7160, 2980, 3509, 3497, 1, 1, 6952, 6963, 122, 1581, 145, 6952, 2489, 3630, 3400, 3298, - 3396, 3586, 4658, 3598, 740, 3594, 4188, 3589, 6952, 3587, 1, 1, 1, 1, 1, 1, 1, 3588, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6961, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 6952, 1, 1, 190, 1, 1, 430, 1394, 7160, 2980, 423, 3497, 1, 1, 6952, 6963, 4340, 4366, 4340, - 4366, 2489, 3630, 3400, 3298, 3396, 3586, 4658, 3598, 740, 3594, 4188, 3589, 39, 6560, 6557, 4450, 864, - 5654, 5579, 5677, 2680, 6949, 758, 7251, 7249, 7258, 7257, 7253, 7254, 7252, 7255, 7256, 7259, 7250, - 7246, 7323, 7324, 7240, 7247, 7243, 7219, 7245, 7244, 7241, 7242, 7220, 5631, 5608, 5723, 5700, 6971, - 2127, 1266, 979, 1297, 6973, 1065, 5861, 1108, 6974, 6972, 808, 6968, 6969, 6970, 7385, 6952, 1442, - 7386, 3330, 7387, 1554, 6952, 6830, 6830, 263, 6826, 263, 263, 263, 263, 6834, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 323, 6623, 6623, 6952, 318, 263, 3040, 6952, 6523, 6519, - 655, 6516, 6887, 641, 6887, 2680, 6952, 6560, 6557, 1, 6990, 1, 1, 6823, 1, 489, 111, 1056, 7399, 953, - 1, 6523, 6519, 655, 6516, 6952, 641, 263, 2680, 451, 1593, 6952, 1584, 6952, 257, 345, 6523, 6519, 655, - 6516, 6887, 641, 6887, 2680, 7487, 7251, 7249, 7258, 7257, 7253, 7254, 7252, 7255, 7256, 7259, 7250, - 7246, 7323, 7324, 7240, 7247, 7243, 7219, 7245, 7244, 7241, 7242, 7220, 3060, 6536, 7422, 7423, 7424, - 6952, 6830, 6830, 263, 6826, 263, 263, 263, 263, 6867, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 5769, 37, 38, 6533, 6530, 263, 33, 5792, 6527, 6572, 2680, 6572, 354, 6572, 47, - 6572, 429, 6620, 6620, 1, 318, 1, 1, 6823, 1, 337, 550, 1056, 7399, 953, 365, 6560, 6557, 655, 864, - 7288, 641, 263, 2680, 450, 6572, 6572, 6572, 6572, 6515, 6572, 6952, 6952, 1, 6790, 6790, 6952, 6849, - 365, 7487, 365, 6958, 397, 6988, 6952, 6572, 1, 6523, 6519, 4415, 6516, 6572, 641, 6964, 2680, 6572, - 1334, 1512, 318, 6572, 475, 6572, 6572, 6572, 6572, 7422, 7423, 7424, 401, 6523, 6519, 4415, 6516, 1, - 641, 1, 2680, 6572, 6572, 1078, 6572, 6572, 6572, 6572, 6572, 6572, 6572, 6572, 6572, 6572, 6572, 6572, - 6572, 6572, 6572, 6572, 6572, 6572, 6572, 6572, 6572, 6572, 6572, 6572, 6957, 397, 1512, 6952, 6572, - 6572, 6572, 6572, 6952, 6963, 6539, 6715, 6956, 6715, 118, 6715, 370, 6715, 6952, 1, 6523, 6519, 655, - 6516, 1512, 641, 397, 2680, 37, 6967, 6967, 6967, 6967, 6967, 1367, 6967, 37, 6578, 6578, 7323, 7324, - 365, 6715, 6715, 6715, 6715, 6952, 6715, 4633, 1339, 6967, 6967, 6967, 6967, 6967, 6967, 6967, 6967, - 6967, 6967, 6967, 6967, 6715, 6952, 353, 6952, 6560, 6557, 6715, 864, 39, 6718, 6715, 2680, 6990, 365, - 6715, 365, 6715, 6715, 6715, 6715, 7442, 1, 6523, 6519, 6861, 6516, 6967, 6864, 3060, 6745, 6967, 6988, - 6715, 6715, 6967, 6715, 6715, 6715, 6715, 6715, 6715, 6715, 6715, 6715, 6715, 6715, 6715, 6715, 6715, - 6715, 6715, 6715, 6715, 6715, 6715, 6715, 6715, 6715, 6715, 6955, 2468, 130, 1512, 6715, 6715, 6715, - 6715, 6952, 6902, 6902, 263, 6902, 263, 263, 263, 263, 6908, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 10736, 1, 1, 1, 1, 1, 1, 6952, 6952, 479, 1, 1, 263, 1, 6563, 136, 6563, 480, 39, 39, 103, - 6990, 6793, 3476, 6793, 258, 1, 139, 1, 1, 6899, 1, 6952, 1, 2865, 7197, 2980, 152, 3497, 37, 6578, - 6578, 194, 493, 3755, 6578, 254, 7246, 7323, 7324, 7240, 7247, 7243, 7219, 7245, 7244, 7241, 7242, 7220, - 3835, 3803, 7487, 6952, 6902, 6902, 263, 6902, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 10736, 1, 1, 1, 1, 1, 1, 1840, 2080, 6952, 6560, 6557, 263, 864, 6566, 641, 194, 2680, - 92, 1, 1, 3602, 1, 6852, 6952, 6852, 1, 3340, 1, 1, 6899, 1, 3634, 6958, 2865, 7197, 2980, 159, 3497, - 3407, 4301, 2033, 1986, 1939, 1892, 1845, 1798, 1751, 1704, 1657, 1610, 6952, 6523, 6519, 655, 6516, 1, - 641, 1, 2680, 29, 7487, 6952, 6902, 6902, 263, 6902, 263, 263, 263, 263, 6917, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 10736, 1, 1, 1, 1, 1, 1, 6957, 392, 95, 39, 39, 263, 6990, 6893, 39, 6893, - 158, 2834, 6990, 6952, 4340, 4366, 144, 7549, 6542, 1, 156, 1, 1, 6899, 1, 6952, 6952, 2865, 7197, 2980, - 2018, 3497, 1, 6523, 6519, 4415, 6516, 6952, 641, 253, 2680, 6796, 3446, 4464, 2768, 2702, 2636, 2570, - 2504, 2438, 2372, 2306, 2240, 2174, 7487, 6952, 6902, 6902, 263, 6902, 263, 263, 263, 263, 6908, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10736, 1, 1, 1, 1, 1, 1, 6952, 6560, 6557, 1512, 864, 263, - 641, 114, 2680, 7343, 6952, 6966, 6967, 4340, 4366, 6799, 1793, 3546, 259, 1, 6952, 1, 1, 6899, 1, 396, - 673, 2865, 7197, 2980, 328, 3497, 492, 7422, 7423, 7424, 6952, 6966, 6967, 254, 7246, 7323, 7324, 7240, - 7247, 7243, 7219, 7245, 7244, 7241, 7242, 7220, 146, 6952, 7487, 6952, 6902, 6902, 263, 6902, 263, 263, - 263, 263, 6908, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10736, 1, 1, 1, 1, 1, 1, 6952, 6966, - 6967, 6569, 3473, 263, 641, 115, 2680, 5769, 6952, 3102, 5346, 5746, 721, 117, 5792, 4109, 260, 1, 5346, - 1, 1, 6899, 1, 6952, 6952, 2865, 7197, 2980, 1264, 3497, 1, 6952, 6960, 4433, 6952, 6548, 6545, 254, - 7246, 7323, 7324, 7240, 7247, 7243, 7219, 7245, 7244, 7241, 7242, 7220, 4082, 4055, 7487, 6952, 6902, - 6902, 263, 6902, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10736, 1, - 1, 1, 1, 1, 1, 6952, 116, 6952, 1512, 1144, 263, 5346, 575, 39, 6959, 261, 575, 6990, 5746, 721, 2900, - 113, 5322, 5131, 1, 6952, 1, 1, 6899, 1, 5322, 5131, 2865, 7197, 2980, 3001, 3497, 7246, 7323, 7324, - 7240, 7247, 7243, 7219, 7245, 7244, 7241, 7242, 7220, 379, 6560, 6557, 4415, 864, 365, 641, 365, 2680, - 3227, 7487, 6952, 6902, 6902, 263, 6902, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 10736, 1, 1, 1, 1, 1, 1, 6952, 6560, 6557, 6952, 6990, 263, 333, 6966, 6967, 142, 570, 5322, - 5131, 6952, 6952, 1512, 6952, 1, 5769, 1, 2495, 1, 1, 6899, 1, 5792, 397, 2865, 7197, 2980, 382, 3497, - 7246, 7323, 7324, 7240, 7247, 7243, 7219, 7245, 7244, 7241, 7242, 7220, 379, 39, 39, 4433, 6990, 365, - 6952, 365, 6952, 6952, 7487, 6952, 6902, 6902, 263, 6902, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10736, 1, 1, 1, 1, 1, 1, 397, 1512, 6952, 6966, 6967, 263, 4340, 4366, - 6952, 6560, 6557, 6964, 864, 1, 6718, 1512, 2680, 6952, 1192, 1, 3342, 1, 1, 6899, 1, 397, 6960, 2865, - 7197, 2980, 6952, 3497, 1, 6523, 6519, 3360, 864, 5654, 5579, 5677, 2680, 112, 6584, 6611, 6617, 6590, - 6593, 6605, 6602, 6608, 6599, 6596, 6587, 6614, 7487, 1, 6523, 6519, 6861, 6516, 6952, 6864, 150, 6745, - 6962, 2534, 5631, 5608, 5723, 5700, 6971, 6963, 1266, 979, 1297, 6973, 1065, 5861, 1108, 6974, 6972, - 808, 6968, 6969, 6970, 474, 6952, 2999, 440, 6952, 6959, 1554, 320, 409, 6961, 6952, 551, 6855, 39, 39, - 39, 6560, 6557, 4450, 864, 5654, 5579, 5677, 2680, 6870, 1030, 7251, 7249, 7258, 7257, 7253, 7254, 7252, - 7255, 7256, 7259, 7250, 1, 6523, 6519, 655, 6516, 6858, 641, 120, 2680, 345, 5769, 119, 5631, 5608, - 5723, 5700, 6971, 5792, 1266, 979, 1297, 6973, 1065, 5861, 1108, 6974, 6972, 808, 6968, 6969, 6970, - 7428, 3907, 3867, 37, 6578, 6578, 1554, 7271, 345, 6952, 4633, 1339, 6952, 2947, 4633, 1339, 6554, 43, - 6709, 6709, 6959, 39, 6560, 6557, 4450, 864, 5654, 5579, 5677, 2680, 6551, 1030, 7251, 7249, 7258, 7257, - 7253, 7254, 7252, 7255, 7256, 7259, 7250, 327, 6966, 6967, 7422, 7423, 7424, 126, 6952, 10765, 10765, - 3634, 148, 5631, 5608, 5723, 5700, 6971, 6988, 1266, 979, 1297, 6973, 1065, 5861, 1108, 6974, 6972, 808, - 6968, 6969, 6970, 6706, 100, 7499, 6952, 6840, 6837, 1554, 174, 6560, 6557, 4450, 864, 5654, 5579, 5677, - 2680, 6554, 1030, 7251, 7249, 7258, 7257, 7253, 7254, 7252, 7255, 7256, 7259, 7250, 4028, 36, 6884, - 6881, 6988, 4109, 6952, 6952, 381, 99, 6581, 2065, 5631, 5608, 5723, 5700, 6971, 326, 1266, 979, 1297, - 6973, 1065, 5861, 1108, 6974, 6972, 808, 6968, 6969, 6970, 6988, 4946, 6952, 1, 3974, 3947, 1554, 6952, - 313, 4082, 4055, 6905, 6920, 39, 39, 39, 6560, 6557, 4450, 864, 5654, 5579, 5677, 2680, 6551, 1030, - 7251, 7249, 7258, 7257, 7253, 7254, 7252, 7255, 7256, 7259, 7250, 1512, 3158, 3003, 45, 6846, 6846, 37, - 6578, 6578, 6952, 6877, 6873, 5631, 5608, 5723, 5700, 6971, 10349, 1266, 979, 1297, 6973, 1065, 5861, - 1108, 6974, 6972, 808, 6968, 6969, 6970, 75, 6952, 6952, 955, 6963, 7388, 1554, 1, 6523, 6519, 3360, - 864, 5654, 5579, 5677, 2680, 6554, 6584, 6611, 6617, 6590, 6593, 6605, 6602, 6608, 6599, 6596, 6587, - 6614, 6843, 6952, 1, 1601, 3503, 4433, 6988, 7014, 7015, 6952, 422, 6796, 5631, 5608, 5723, 5700, 6971, - 147, 1266, 979, 1297, 6973, 1065, 5861, 1108, 6974, 6972, 808, 6968, 6969, 6970, 4191, 6952, 1, 6952, - 6952, 1174, 1554, 7450, 7456, 7454, 128, 6952, 8, 39, 39, 6952, 6952, 10222, 9027, 6952, 6958, 6890, 37, - 6966, 6966, 6966, 6966, 6966, 6962, 6966, 431, 1512, 6952, 6575, 422, 6952, 7448, 7449, 7479, 7480, - 4109, 6962, 7457, 6799, 6966, 6966, 6966, 6966, 6966, 6966, 6966, 6966, 6966, 6966, 6966, 6966, 7459, - 2336, 6961, 2402, 6952, 6952, 792, 4235, 4028, 3043, 7460, 3089, 669, 700, 7481, 6961, 7458, 6988, 6811, - 4082, 4055, 6952, 6952, 6365, 6952, 4544, 6966, 6957, 1192, 6890, 6966, 794, 7470, 7469, 6966, 7475, - 7476, 7482, 7473, 7474, 7453, 7455, 7477, 3974, 3947, 7451, 7452, 7478, 6952, 7463, 7464, 7465, 7461, - 7462, 7471, 7472, 7467, 7466, 7468, 6952, 10650, 10591, 6952, 7483, 39, 6560, 6557, 4450, 864, 5654, - 5579, 5677, 2680, 6956, 1030, 7251, 7249, 7258, 7257, 7253, 7254, 7252, 7255, 7256, 7259, 7250, 1, 1, - 6219, 6952, 10650, 10591, 4466, 326, 1825, 1825, 6911, 6911, 5631, 5608, 5723, 5700, 6971, 6952, 1266, - 979, 1297, 6973, 1065, 5861, 1108, 6974, 6972, 808, 6968, 6969, 6970, 1, 6523, 6519, 6787, 6516, 6733, - 6748, 6736, 6745, 3097, 6584, 6611, 6617, 6590, 6593, 6605, 6602, 6608, 6599, 6596, 6587, 6614, 6914, - 6914, 1, 404, 3576, 3576, 6952, 337, 463, 571, 6952, 6923, 6730, 6727, 6742, 6739, 6760, 7288, 6724, - 6775, 6784, 6754, 6778, 6721, 6781, 6751, 6757, 6772, 6769, 6766, 6763, 7246, 7323, 7324, 7240, 7247, - 7243, 7219, 7245, 7244, 7241, 7242, 7220, 6955, 6790, 6790, 39, 6560, 6557, 4450, 864, 5654, 5579, 5677, - 2680, 6952, 1030, 7251, 7249, 7258, 7257, 7253, 7254, 7252, 7255, 7256, 7259, 7250, 2682, 6952, 6038, - 593, 6952, 1415, 127, 6959, 1, 6952, 6952, 3391, 5631, 5608, 5723, 5700, 6971, 6962, 1266, 979, 1297, - 6973, 1065, 5861, 1108, 6974, 6972, 808, 6968, 6969, 6970, 6952, 6952, 6952, 4187, 6324, 4250, 1554, 39, - 6560, 6557, 4450, 864, 5654, 5579, 5677, 2680, 6961, 1030, 7251, 7249, 7258, 7257, 7253, 7254, 7252, - 7255, 7256, 7259, 7250, 4028, 6952, 3585, 5032, 5439, 3703, 6952, 6952, 6952, 4466, 6814, 6952, 5631, - 5608, 5723, 5700, 6971, 227, 1266, 979, 1297, 6973, 1065, 5861, 1108, 6974, 6972, 808, 6968, 6969, 6970, - 6952, 6952, 1, 6335, 3974, 3947, 6952, 2267, 39, 6560, 6557, 3360, 864, 5654, 5579, 5677, 2680, 6952, - 1030, 7251, 7249, 7258, 7257, 7253, 7254, 7252, 7255, 7256, 7259, 7250, 4109, 5471, 6952, 6952, 5932, - 3487, 29, 48, 1, 6952, 4136, 6967, 5631, 5608, 5723, 5700, 6971, 224, 1266, 979, 1297, 6973, 1065, 5861, - 1108, 6974, 6972, 808, 6968, 6969, 6970, 6946, 6952, 6952, 6952, 4082, 4055, 1554, 39, 6560, 6557, 3360, - 864, 5654, 5579, 5677, 2680, 224, 1030, 7251, 7249, 7258, 7257, 7253, 7254, 7252, 7255, 7256, 7259, - 7250, 1192, 6967, 461, 3340, 6952, 6952, 48, 430, 6952, 7345, 6966, 73, 5631, 5608, 5723, 5700, 6971, - 459, 1266, 979, 1297, 6973, 1065, 5861, 1108, 6974, 6972, 808, 6968, 6969, 6970, 6952, 1, 6952, 6952, - 6952, 483, 1554, 39, 6560, 6557, 4450, 864, 5654, 5579, 5677, 2680, 6952, 1030, 7251, 7249, 7258, 7257, - 7253, 7254, 7252, 7255, 7256, 7259, 7250, 6966, 1192, 2993, 484, 582, 6896, 581, 402, 6952, 1830, 2626, - 3719, 5631, 5608, 5723, 5700, 6971, 6952, 1266, 979, 1297, 6973, 1065, 5861, 1108, 6974, 6972, 808, - 6968, 6969, 6970, 6952, 1, 6952, 4975, 6952, 6952, 1554, 39, 6560, 6557, 5525, 864, 5654, 5579, 5677, - 2680, 647, 1030, 7251, 7249, 7258, 7257, 7253, 7254, 7252, 7255, 7256, 7259, 7250, 455, 2, 3288, 6952, - 6952, 6952, 6952, 6952, 6952, 4180, 3496, 2428, 5631, 5608, 5723, 5700, 6971, 1462, 1266, 979, 1297, - 6973, 1065, 5861, 1108, 6974, 6972, 808, 6968, 6969, 6970, 39, 6560, 6557, 4450, 864, 5654, 5579, 5677, - 2680, 6952, 1030, 7251, 7249, 7258, 7257, 7253, 7254, 7252, 7255, 7256, 7259, 7250, 35, 6952, 37, 6952, - 1, 6952, 3634, 6952, 6952, 6952, 6952, 6952, 5631, 5608, 5723, 5700, 6971, 3256, 1266, 979, 1297, 6973, - 1065, 5861, 1108, 6974, 6972, 808, 6968, 6969, 6970, 39, 6560, 6557, 3360, 864, 5654, 5579, 5677, 2680, - 344, 1030, 7251, 7249, 7258, 7257, 7253, 7254, 7252, 7255, 7256, 7259, 7250, 543, 6952, 6952, 6952, - 6952, 3200, 6952, 6952, 6952, 6952, 6952, 6952, 5631, 5608, 5723, 5700, 6971, 3337, 1266, 979, 1297, - 6973, 1065, 5861, 1108, 6974, 6972, 808, 6968, 6969, 6970, 39, 6560, 6557, 3360, 864, 5654, 5579, 5677, - 2680, 541, 1030, 7251, 7249, 7258, 7257, 7253, 7254, 7252, 7255, 7256, 7259, 7250, 6952, 6952, 5883, - 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 5631, 5608, 5723, 5700, 6971, 6085, 1266, 979, - 1297, 6973, 1065, 5861, 1108, 6974, 6972, 808, 6968, 6969, 6970, 39, 6560, 6557, 4450, 864, 5654, 5579, - 5677, 2680, 6952, 1030, 7251, 7249, 7258, 7257, 7253, 7254, 7252, 7255, 7256, 7259, 7250, 6952, 1, 6952, - 6952, 6209, 6952, 6952, 6952, 1, 6952, 6958, 4433, 5631, 5608, 5723, 5700, 6971, 375, 1266, 979, 1297, - 6973, 1065, 5861, 1108, 6974, 6972, 808, 6968, 6969, 6970, 6952, 6560, 6557, 6952, 6990, 6952, 6952, - 6952, 6952, 6952, 701, 7251, 7249, 7258, 7257, 7253, 7254, 7252, 7255, 7256, 7259, 7250, 7246, 7323, - 7324, 7240, 7247, 7243, 7219, 7245, 7244, 7241, 7242, 7220, 6952, 1, 6952, 1512, 6952, 6952, 4720, 375, - 6957, 4782, 589, 375, 4844, 6952, 3337, 375, 275, 6699, 6695, 7385, 6703, 1442, 7386, 6952, 7387, 6952, - 701, 6686, 6692, 6665, 6668, 6680, 6677, 6683, 6674, 6671, 6662, 6689, 6641, 6635, 6632, 6659, 6638, - 6650, 6629, 6644, 6647, 6656, 6653, 6626, 1, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 196, 6952, - 6952, 6952, 6952, 6952, 6952, 6966, 6967, 6952, 7385, 3013, 1442, 7386, 589, 7387, 876, 7251, 7249, - 7258, 7257, 7253, 7254, 7252, 7255, 7256, 7259, 7250, 7246, 7323, 7324, 7240, 7247, 7243, 7219, 7245, - 7244, 7241, 7242, 7220, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, - 6952, 6952, 275, 6820, 6817, 545, 7385, 6952, 1442, 7386, 196, 7387, 876, 6686, 6692, 6665, 6668, 6680, - 6677, 6683, 6674, 6671, 6662, 6689, 6641, 6635, 6632, 6659, 6638, 6650, 6629, 6644, 6647, 6656, 6653, - 6626, 6952, 6952, 6952, 29, 422, 422, 6808, 422, 6808, 422, 6808, 422, 6808, 6952, 6952, 6952, 6952, - 6952, 6952, 7385, 6952, 1442, 7386, 572, 7387, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, - 422, 6952, 6952, 1109, 6952, 6952, 6808, 6952, 6952, 7246, 7323, 7324, 7240, 7247, 7243, 7219, 7245, - 7244, 7241, 7242, 7220, 6542, 6952, 6952, 6952, 6952, 6952, 6808, 32, 423, 423, 6805, 423, 6805, 423, - 6805, 423, 6805, 6952, 6808, 6952, 6952, 6952, 6952, 6952, 6952, 573, 6952, 6952, 6952, 423, 423, 423, - 423, 423, 423, 423, 423, 423, 423, 423, 423, 6952, 6952, 6952, 6952, 6952, 6805, 7246, 7323, 7324, 7240, - 7247, 7243, 7219, 7245, 7244, 7241, 7242, 7220, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6805, - 6952, 569, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6952, 6805, 7251, 7249, 7258, 7257, 7253, - 7254, 7252, 7255, 7256, 7259, 7250, 7246, 7323, 7324, 7240, 7247, 7243, 7219, 7245, 7244, 7241, 7242, - 7220 }; - } - - public final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[index]; - } - - public interface Asb { - public final static char asb[] = { 0, 436, 1, 10, 716, 536, 177, 558, 558, 650, 542, 558, 542, 3, 3, 503, 140, - 536, 542, 348, 234, 68, 68, 555, 95, 296, 234, 558, 558, 856, 558, 68, 542, 720, 939, 788, 256, 234, - 503, 647, 806, 1046, 856, 856, 856, 856, 718, 1046, 487, 179, 504, 504, 504, 504, 504, 504, 504, 504, - 504, 560, 566, 571, 568, 575, 573, 580, 578, 582, 581, 583, 299, 584, 542, 349, 553, 551, 68, 68, 716, - 928, 939, 806, 939, 242, 939, 250, 939, 923, 718, 542, 296, 296, 68, 17, 540, 296, 599, 446, 647, 140, - 487, 95, 95, 95, 95, 542, 24, 234, 234, 225, 487, 1006, 94, 788, 487, 560, 787, 787, 24, 503, 504, 504, - 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 503, 503, 503, 503, - 503, 503, 503, 503, 503, 503, 503, 503, 504, 17, 349, 551, 1004, 96, 712, 487, 981, 979, 986, 984, 988, - 987, 989, 990, 1003, 1004, 555, 351, 244, 237, 245, 718, 542, 542, 790, 1004, 720, 542, 503, 140, 234, - 234, 1004, 1004, 1004, 1004, 790, 234, 504, 716, 884, 874, 873, 608, 946, 946, 718, 179, 296, 94, 503, - 234, 539, 541, 539, 234, 296, 568, 568, 566, 566, 566, 573, 573, 573, 573, 571, 571, 578, 575, 575, 581, - 580, 582, 137, 583, 551, 551, 689, 700, 700, 700, 700, 684, 718, 737, 504, 504, 504, 504, 504, 504, 504, - 504, 504, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 504, 487, 351, 542, 805, 545, 742, - 790, 806, 453, 542, 790, 542, 17, 646, 1046, 1046, 1046, 1046, 542, 542, 225, 234, 886, 888, 542, 788, - 504, 95, 564, 190, 234, 542, 541, 788, 503, 551, 550, 542, 504, 979, 979, 979, 984, 981, 981, 987, 986, - 988, 137, 989, 647, 542, 351, 137, 245, 856, 792, 1087, 127, 351, 805, 743, 805, 805, 790, 453, 453, - 542, 542, 644, 139, 503, 503, 503, 503, 1046, 1046, 234, 878, 866, 877, 888, 790, 540, 234, 564, 716, - 720, 542, 540, 551, 790, 732, 503, 788, 806, 806, 1004, 856, 539, 804, 129, 1046, 805, 805, 805, 805, - 542, 453, 646, 796, 646, 644, 644, 234, 234, 234, 234, 24, 24, 722, 503, 875, 875, 882, 716, 817, 234, - 542, 564, 565, 564, 503, 190, 444, 560, 720, 542, 540, 748, 806, 401, 367, 540, 805, 805, 536, 604, 504, - 137, 12, 850, 888, 805, 805, 809, 646, 647, 504, 542, 234, 234, 722, 503, 503, 886, 866, 722, 619, 564, - 24, 504, 296, 444, 605, 748, 748, 66, 1048, 340, 1046, 245, 1086, 367, 540, 805, 806, 718, 129, 504, - 504, 888, 858, 395, 810, 542, 647, 724, 722, 565, 234, 296, 647, 748, 748, 400, 340, 66, 862, 718, 1003, - 856, 184, 184, 605, 806, 467, 858, 542, 1046, 234, 809, 542, 718, 718, 542, 724, 724, 647, 401, 748, - 605, 604, 234, 718, 542, 367, 401, 367, 1002, 1002, 794, 468, 718, 542, 24, 801, 542, 542, 542, 1046, - 724, 748, 536, 605, 542, 542, 367, 95, 95, 794, 467, 137, 504, 137, 605, 466, 1046, 1046, 1046, 468, - 1046, 542, 307, 605, 605, 542, 806, 234, 801, 542, 542, 889, 647, 542, 605, 1003, 459, 1046, 459, 468, - 137, 468, 487, 487, 485, 466, 487, 605, 605, 15, 465, 803, 233, 605, 125, 817, 468, 234, 536, 234, 485, - 340, 1046, 234, 794, 803, 95, 184, 234, 234, 632, 468, 15, 468, 605, 340, 503, 468, 465, 1002, 806, 806, - 1038, 503, 466, 24, 605, 234, 539, 468, 234, 605, 468 }; - } - - public final static char asb[] = Asb.asb; - - @Override - public final int asb(int index) { - return asb[index]; - } - - public interface Asr { - public final static byte asr[] = { 0, 120, 0, 74, 64, 71, 97, 72, 69, 60, 120, 3, 9, 68, 39, 70, 0, 8, 5, 6, 1, - 2, 57, 0, 9, 72, 11, 12, 41, 66, 13, 42, 43, 14, 15, 16, 67, 8, 44, 17, 18, 45, 46, 47, 59, 48, 49, 10, - 19, 20, 21, 50, 51, 52, 1, 2, 3, 36, 37, 7, 5, 34, 35, 6, 40, 4, 38, 0, 41, 66, 42, 43, 67, 8, 44, 45, - 46, 47, 59, 48, 49, 50, 51, 52, 38, 36, 37, 7, 5, 34, 35, 6, 40, 64, 3, 4, 10, 1, 2, 55, 56, 58, 12, 21, - 11, 17, 15, 16, 18, 19, 14, 13, 20, 25, 31, 32, 27, 30, 29, 22, 26, 23, 24, 28, 33, 53, 0, 39, 9, 3, 8, - 6, 7, 5, 4, 1, 2, 71, 0, 73, 59, 36, 37, 7, 5, 34, 35, 40, 45, 3, 4, 50, 51, 52, 38, 48, 43, 47, 12, 21, - 11, 17, 15, 16, 18, 19, 14, 13, 20, 10, 42, 46, 44, 41, 49, 69, 9, 8, 6, 1, 2, 67, 66, 0, 64, 70, 68, 1, - 2, 0, 98, 91, 34, 35, 99, 100, 86, 87, 54, 89, 90, 92, 93, 94, 95, 96, 101, 102, 71, 97, 70, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 118, 73, 39, 120, 64, 1, 2, 7, 5, 4, 3, 60, 68, 72, 9, 0, 57, 1, - 2, 4, 0, 57, 4, 71, 1, 2, 69, 9, 0, 4, 9, 69, 1, 2, 0, 66, 67, 3, 10, 42, 46, 44, 41, 49, 12, 21, 11, - 17, 15, 16, 18, 19, 14, 13, 20, 50, 51, 52, 38, 48, 43, 47, 6, 8, 4, 36, 37, 7, 5, 34, 35, 40, 45, 1, 2, - 118, 9, 0, 64, 71, 97, 68, 118, 72, 73, 120, 11, 12, 41, 66, 13, 42, 43, 14, 15, 16, 67, 44, 17, 18, 45, - 46, 47, 59, 48, 49, 10, 19, 20, 21, 50, 51, 52, 38, 36, 37, 34, 35, 40, 9, 39, 6, 8, 1, 2, 4, 3, 7, 5, - 0, 88, 61, 8, 114, 115, 116, 63, 9, 3, 7, 5, 6, 71, 73, 39, 62, 25, 11, 12, 53, 23, 13, 55, 26, 27, 14, - 28, 29, 15, 16, 30, 31, 17, 18, 32, 56, 57, 33, 10, 58, 19, 20, 24, 21, 1, 2, 4, 22, 0, 69, 53, 23, 13, - 55, 26, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 56, 33, 10, 58, 19, 22, 20, 24, 21, 12, 11, 25, 9, 39, - 63, 61, 65, 88, 27, 57, 7, 5, 8, 3, 62, 1, 2, 4, 6, 0, 9, 71, 118, 72, 39, 68, 0, 1, 2, 9, 68, 73, 0, - 88, 114, 115, 116, 57, 71, 113, 121, 73, 62, 74, 63, 61, 65, 76, 78, 84, 82, 75, 80, 81, 83, 85, 69, 77, - 79, 39, 9, 25, 53, 23, 55, 26, 27, 28, 29, 30, 31, 32, 56, 33, 58, 22, 24, 59, 66, 67, 10, 42, 46, 44, - 41, 49, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 50, 51, 52, 38, 48, 43, 47, 36, 37, 34, 35, 40, 45, - 7, 5, 3, 4, 8, 6, 1, 2, 0, 4, 9, 71, 69, 0, 59, 23, 24, 8, 6, 1, 2, 4, 74, 69, 119, 117, 36, 37, 60, 3, - 98, 91, 5, 99, 100, 34, 35, 87, 86, 54, 89, 90, 92, 93, 7, 94, 95, 96, 64, 97, 72, 120, 70, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 71, 118, 73, 101, 102, 68, 39, 9, 0, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 25, 23, 26, 27, 28, 29, 30, 31, 32, 33, 22, 24, 39, 9, 72, 8, 1, 2, 60, 3, 7, 5, 6, 4, - 0, 39, 120, 68, 9, 73, 0, 67, 66, 34, 35, 99, 100, 94, 95, 6, 40, 70, 54, 106, 107, 103, 104, 105, 111, - 110, 112, 87, 86, 108, 109, 92, 93, 89, 90, 96, 101, 36, 37, 91, 117, 10, 55, 53, 56, 58, 12, 21, 11, - 17, 15, 16, 18, 19, 14, 13, 20, 25, 31, 32, 27, 30, 29, 22, 26, 23, 24, 28, 33, 64, 68, 3, 60, 7, 5, 1, - 2, 4, 0, 23, 24, 59, 9, 64, 97, 70, 68, 72, 0, 72, 9, 87, 86, 0, 54, 64, 89, 90, 0, 4, 9, 71, 69, 54, 0, - 65, 25, 11, 12, 53, 23, 13, 55, 26, 88, 27, 14, 28, 29, 15, 16, 30, 61, 31, 17, 18, 32, 56, 33, 10, 58, - 19, 63, 22, 20, 24, 21, 9, 3, 7, 5, 73, 39, 62, 4, 8, 6, 1, 2, 57, 0, 113, 0, 9, 68, 73, 70, 0, 23, 24, - 59, 74, 71, 69, 9, 0, 22, 1, 2, 4, 114, 115, 116, 0, 25, 11, 12, 53, 23, 13, 55, 26, 27, 14, 28, 29, 15, - 16, 30, 31, 17, 18, 32, 56, 33, 10, 58, 19, 22, 20, 24, 21, 1, 2, 4, 97, 0, 71, 9, 60, 70, 68, 39, 54, - 0, 9, 69, 68, 0, 9, 69, 70, 0, 7, 5, 8, 6, 4, 1, 2, 3, 60, 64, 70, 68, 9, 72, 97, 0, 6, 8, 3, 60, 5, 7, - 97, 25, 11, 12, 53, 23, 13, 55, 26, 27, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 56, 33, 10, 58, 19, 22, - 20, 24, 21, 1, 2, 4, 72, 9, 0, 10, 55, 53, 56, 58, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 74, 71, - 97, 118, 73, 69, 120, 8, 31, 32, 33, 22, 24, 1, 2, 30, 29, 28, 27, 26, 6, 4, 23, 25, 119, 98, 117, 91, - 36, 37, 34, 35, 99, 100, 9, 60, 3, 5, 72, 39, 87, 86, 54, 89, 90, 92, 93, 7, 94, 95, 96, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 70, 68, 64, 0, 66, 67, 36, 37, 34, 35, 40, 45, 50, 51, 52, - 38, 48, 43, 47, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 10, 42, 46, 44, 41, 49, 7, 5, 60, 8, 6, 4, - 1, 2, 3, 0, 53, 23, 13, 55, 26, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 56, 33, 58, 19, 22, 20, 24, 21, - 12, 11, 25, 9, 3, 7, 5, 39, 63, 65, 88, 27, 62, 54, 57, 61, 8, 1, 2, 6, 4, 10, 0 }; - } - - public final static byte asr[] = Asr.asr; - - @Override - public final int asr(int index) { - return asr[index]; - } - - public interface Nasb { - public final static char nasb[] = { 0, 200, 12, 42, 193, 200, 260, 12, 12, 142, 274, 12, 185, 13, 13, 44, 68, - 256, 185, 12, 226, 205, 205, 51, 5, 104, 226, 12, 12, 12, 12, 205, 262, 12, 12, 32, 99, 226, 70, 205, - 233, 12, 12, 12, 12, 12, 11, 12, 161, 185, 70, 70, 270, 70, 70, 70, 70, 70, 70, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 70, 12, 185, 195, 195, 195, 34, 34, 193, 241, 242, 233, 242, 87, 242, 92, 242, 235, - 10, 185, 104, 104, 34, 19, 260, 104, 12, 12, 140, 205, 161, 303, 303, 303, 303, 185, 25, 226, 226, 208, - 1, 70, 28, 32, 161, 12, 124, 124, 25, 162, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 162, 70, 79, 12, 205, 12, 247, 208, 156, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 214, 205, 152, 11, 108, 11, 185, 262, 12, 12, 12, 262, 70, 68, 226, - 226, 12, 12, 12, 12, 76, 226, 70, 193, 207, 13, 13, 12, 12, 12, 10, 185, 104, 303, 44, 226, 259, 185, - 259, 226, 104, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 195, 97, 241, - 242, 242, 242, 242, 287, 10, 12, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 162, 70, 34, 295, 153, 95, 95, 12, 244, 233, 205, 244, 31, 153, 19, 140, 12, 12, 12, 12, 153, - 262, 212, 226, 264, 205, 185, 32, 70, 303, 205, 84, 226, 185, 149, 32, 70, 205, 97, 185, 70, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 140, 185, 175, 12, 64, 12, 12, 47, 56, 295, 95, 95, 205, 205, 31, 205, - 275, 262, 153, 133, 67, 162, 162, 162, 162, 12, 12, 226, 12, 198, 12, 267, 30, 153, 226, 49, 214, 12, - 274, 153, 97, 31, 226, 70, 32, 233, 147, 12, 12, 11, 205, 188, 12, 205, 205, 90, 90, 153, 275, 111, 12, - 12, 133, 12, 226, 226, 226, 226, 25, 25, 205, 70, 12, 12, 197, 193, 267, 226, 153, 205, 117, 12, 162, - 214, 150, 12, 12, 153, 260, 205, 233, 282, 205, 244, 205, 122, 256, 175, 70, 12, 106, 12, 205, 90, 90, - 165, 111, 140, 70, 275, 226, 226, 97, 70, 70, 264, 254, 205, 12, 49, 25, 70, 104, 150, 175, 277, 205, - 12, 282, 57, 12, 146, 47, 267, 260, 122, 119, 15, 200, 70, 70, 267, 12, 11, 113, 244, 140, 205, 97, 117, - 226, 104, 140, 282, 277, 232, 188, 12, 12, 11, 12, 12, 82, 82, 175, 119, 139, 12, 244, 12, 226, 135, - 244, 11, 11, 262, 23, 205, 140, 282, 205, 175, 12, 226, 11, 244, 267, 282, 205, 12, 12, 205, 218, 15, - 262, 25, 205, 262, 244, 244, 12, 23, 277, 200, 175, 244, 65, 267, 303, 303, 54, 228, 12, 70, 12, 175, - 12, 12, 12, 12, 229, 12, 275, 173, 175, 175, 275, 130, 226, 97, 262, 262, 224, 140, 65, 175, 12, 115, - 12, 12, 229, 12, 229, 169, 169, 180, 12, 169, 175, 175, 12, 205, 205, 226, 175, 12, 303, 229, 226, 200, - 226, 302, 205, 12, 226, 54, 23, 303, 82, 226, 226, 205, 229, 12, 229, 175, 200, 162, 229, 115, 12, 130, - 130, 198, 70, 12, 177, 175, 226, 259, 229, 226, 175, 229 }; - } - - public final static char nasb[] = Nasb.nasb; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - public interface Nasr { - public final static char nasr[] = { 0, 3, 13, 10, 9, 139, 138, 112, 137, 136, 2, 4, 0, 79, 0, 186, 4, 185, 0, - 76, 155, 154, 0, 143, 0, 5, 104, 0, 192, 0, 153, 2, 76, 0, 4, 10, 9, 2, 13, 129, 5, 0, 201, 0, 5, 28, 0, - 169, 0, 160, 0, 5, 212, 0, 175, 0, 39, 4, 2, 9, 10, 5, 171, 0, 142, 116, 0, 80, 147, 42, 4, 10, 9, 2, - 13, 0, 153, 76, 0, 76, 54, 0, 123, 0, 5, 194, 0, 165, 205, 0, 125, 0, 165, 200, 0, 124, 0, 51, 0, 13, 2, - 9, 10, 4, 93, 0, 208, 0, 42, 1, 0, 166, 0, 210, 0, 131, 0, 158, 0, 42, 174, 0, 173, 0, 4, 2, 9, 10, 156, - 0, 42, 66, 0, 176, 0, 4, 114, 182, 0, 5, 80, 0, 5, 52, 213, 0, 1, 142, 0, 2, 133, 0, 44, 2, 3, 0, 13, 2, - 9, 10, 4, 52, 5, 37, 0, 4, 114, 209, 0, 5, 52, 115, 0, 5, 37, 39, 0, 5, 195, 0, 37, 5, 27, 198, 0, 44, - 2, 0, 5, 10, 9, 2, 75, 4, 97, 54, 0, 30, 100, 99, 75, 4, 2, 9, 10, 5, 0, 30, 99, 100, 5, 0, 100, 99, 54, - 4, 70, 0, 5, 50, 42, 37, 196, 0, 52, 5, 30, 0, 80, 37, 50, 81, 5, 42, 0, 2, 4, 112, 109, 110, 111, 13, - 71, 0, 2, 69, 0, 139, 214, 138, 112, 137, 136, 0, 100, 99, 54, 75, 70, 4, 10, 9, 2, 0, 54, 4, 97, 27, 5, - 0, 4, 10, 9, 13, 3, 1, 0, 134, 5, 50, 92, 0, 5, 50, 92, 94, 0, 112, 71, 13, 109, 110, 111, 190, 0, 5, - 50, 92, 114, 48, 4, 0, 197, 5, 52, 0 }; - } - - public final static char nasr[] = Nasr.nasr; - - @Override - public final int nasr(int index) { - return nasr[index]; - } - - public interface TerminalIndex { - public final static char terminalIndex[] = { 0, 113, 114, 2, 31, 10, 13, 9, 79, 115, 100, 48, 52, 60, 68, 74, - 75, 86, 87, 102, 105, 107, 104, 54, 106, 47, 64, 66, 70, 73, 76, 83, 89, 98, 11, 12, 7, 8, 112, 120, 14, - 55, 61, 67, 84, 88, 90, 94, 97, 99, 109, 110, 111, 53, 19, 63, 91, 93, 101, 95, 1, 77, 122, 103, 20, 46, - 58, 78, 44, 121, 33, 30, 118, 119, 96, 108, 49, 50, 56, 57, 59, 69, 71, 72, 85, 92, 17, 18, 65, 21, 22, - 6, 23, 24, 25, 26, 27, 32, 4, 15, 16, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 51, 80, 81, 82, 5, - 117, 3, 123, 62, 116 }; - } - - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - - @Override - public final int terminalIndex(int index) { - return terminalIndex[index]; - } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = { 0, 130, 135, 136, 0, 0, 134, 0, 0, 237, 243, 133, 0, 143, 0, - 132, 0, 0, 142, 148, 0, 0, 149, 158, 159, 160, 161, 188, 151, 0, 126, 162, 141, 163, 164, 165, 166, 131, - 167, 128, 168, 0, 129, 138, 137, 170, 169, 171, 185, 0, 0, 195, 152, 172, 0, 173, 0, 0, 0, 0, 0, 174, - 175, 176, 0, 177, 180, 212, 0, 0, 155, 194, 0, 0, 209, 213, 0, 145, 0, 214, 127, 179, 0, 0, 0, 0, 0, 0, - 183, 0, 0, 0, 0, 125, 186, 0, 0, 210, 216, 217, 218, 0, 220, 157, 0, 146, 0, 0, 215, 197, 198, 199, 201, - 227, 228, 182, 204, 206, 0, 207, 0, 0, 219, 0, 0, 0, 0, 248, 0, 251, 0, 252, 0, 147, 187, 189, 190, 191, - 192, 196, 200, 203, 0, 0, 222, 225, 0, 0, 0, 246, 0, 247, 0, 0, 139, 140, 144, 0, 0, 154, 156, 0, 178, - 0, 193, 0, 0, 0, 202, 0, 205, 211, 0, 0, 223, 224, 0, 0, 229, 232, 0, 234, 236, 0, 240, 241, 242, 245, - 0, 0, 249, 124, 0, 150, 153, 0, 181, 0, 184, 0, 0, 208, 221, 226, 0, 0, 230, 231, 233, 235, 0, 238, 239, - 244, 250, 253, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - - @Override - public final int nonterminalIndex(int index) { - return nonterminalIndex[index]; - } - - public interface ScopePrefix { - public final static char scopePrefix[] = { 172, 324, 608, 627, 317, 332, 559, 575, 586, 597, 372, 280, 294, 311, - 344, 55, 305, 392, 430, 180, 616, 502, 20, 33, 64, 84, 93, 98, 103, 143, 208, 339, 350, 20, 467, 157, - 286, 300, 530, 40, 157, 382, 20, 635, 40, 230, 259, 1, 14, 27, 74, 89, 119, 27, 361, 365, 448, 495, 524, - 551, 555, 645, 649, 653, 110, 7, 110, 410, 426, 439, 460, 479, 543, 129, 129, 245, 439, 566, 582, 593, - 604, 220, 513, 69, 69, 169, 235, 238, 69, 254, 275, 238, 238, 69, 369, 492, 499, 169, 69, 668, 123, 355, - 414, 454, 486, 472, 69, 355, 401, 190, 117, 452, 657, 664, 657, 664, 78, 420, 150, 117, 117, 264 }; - } - - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - - @Override - public final int scopePrefix(int index) { - return scopePrefix[index]; - } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { 18, 148, 5, 5, 148, 148, 5, 5, 5, 5, 379, 148, 108, 148, 25, 61, 291, - 398, 436, 186, 80, 508, 25, 38, 38, 38, 72, 72, 108, 148, 213, 31, 31, 25, 5, 162, 291, 114, 535, 51, - 165, 387, 622, 640, 45, 224, 224, 5, 18, 31, 5, 72, 108, 31, 108, 108, 148, 257, 5, 5, 5, 5, 5, 257, - 666, 11, 114, 379, 379, 379, 464, 483, 535, 133, 138, 249, 443, 570, 570, 570, 570, 224, 517, 72, 72, 5, - 5, 241, 243, 257, 5, 278, 278, 243, 108, 5, 257, 5, 528, 5, 126, 358, 417, 457, 489, 475, 547, 538, 404, - 193, 108, 108, 659, 659, 661, 661, 80, 422, 152, 215, 200, 266 }; - } - - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - - @Override - public final int scopeSuffix(int index) { - return scopeSuffix[index]; - } - - public interface ScopeLhs { - public final static char scopeLhs[] = { 48, 111, 18, 18, 91, 111, 18, 18, 18, 18, 84, 96, 49, 91, 110, 89, 59, - 84, 83, 48, 18, 20, 190, 3, 7, 8, 182, 182, 178, 109, 48, 110, 110, 140, 45, 146, 60, 49, 156, 150, 146, - 84, 18, 18, 150, 101, 172, 152, 87, 190, 185, 182, 178, 140, 199, 57, 66, 160, 19, 18, 18, 18, 18, 18, - 12, 131, 178, 84, 83, 83, 64, 41, 156, 113, 113, 70, 83, 18, 18, 18, 18, 101, 20, 186, 182, 201, 99, - 108, 68, 79, 67, 171, 88, 140, 85, 161, 160, 192, 156, 17, 178, 140, 115, 82, 22, 45, 156, 156, 84, 48, - 178, 78, 154, 44, 154, 44, 185, 115, 109, 48, 48, 172 }; - } - - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - - @Override - public final int scopeLhs(int index) { - return scopeLhs[index]; - } - - public interface ScopeLa { - public final static byte scopeLa[] = { 113, 73, 72, 72, 73, 73, 72, 72, 72, 72, 72, 73, 39, 73, 1, 64, 1, 72, - 121, 69, 3, 72, 1, 64, 64, 64, 1, 1, 39, 73, 69, 1, 1, 1, 72, 73, 1, 1, 4, 64, 68, 39, 1, 1, 64, 72, 72, - 72, 113, 1, 72, 1, 39, 1, 39, 39, 73, 118, 72, 72, 72, 72, 72, 118, 1, 72, 1, 72, 72, 72, 71, 71, 4, 1, - 1, 5, 72, 64, 64, 64, 64, 72, 3, 1, 1, 72, 72, 3, 1, 118, 72, 1, 1, 1, 39, 72, 118, 72, 6, 72, 1, 57, - 70, 71, 72, 64, 1, 57, 75, 74, 39, 39, 4, 4, 4, 4, 3, 1, 69, 1, 1, 3 }; - } - - public final static byte scopeLa[] = ScopeLa.scopeLa; - - @Override - public final int scopeLa(int index) { - return scopeLa[index]; - } - - public interface ScopeStateSet { - public final static char scopeStateSet[] = { 67, 136, 286, 286, 89, 136, 286, 286, 286, 286, 77, 91, 67, 89, - 136, 89, 69, 77, 77, 67, 286, 286, 100, 215, 261, 261, 52, 52, 64, 136, 67, 136, 136, 138, 111, 373, 69, - 67, 103, 48, 373, 77, 286, 286, 48, 146, 61, 24, 77, 100, 28, 52, 64, 138, 22, 69, 31, 58, 286, 286, - 286, 286, 286, 286, 265, 6, 64, 77, 77, 77, 119, 346, 103, 136, 136, 180, 77, 286, 286, 286, 286, 146, - 286, 28, 52, 196, 146, 148, 198, 142, 198, 61, 203, 138, 77, 55, 58, 106, 103, 286, 64, 138, 1, 77, 287, - 111, 103, 103, 77, 67, 64, 11, 108, 155, 108, 155, 28, 1, 136, 67, 67, 61 }; - } - - public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; - - @Override - public final int scopeStateSet(int index) { - return scopeStateSet[index]; - } - - public interface ScopeRhs { - public final static char scopeRhs[] = { 0, 338, 3, 59, 0, 126, 0, 337, 3, 113, 0, 126, 180, 0, 127, 188, 74, 0, - 224, 0, 198, 166, 126, 10, 0, 136, 0, 166, 126, 10, 0, 135, 0, 270, 127, 54, 124, 0, 20, 0, 309, 127, - 54, 57, 0, 20, 53, 0, 33, 132, 0, 20, 53, 0, 0, 309, 127, 54, 57, 214, 0, 20, 186, 0, 270, 127, 54, 132, - 0, 191, 126, 0, 141, 0, 226, 3, 308, 0, 308, 0, 2, 0, 126, 0, 270, 127, 54, 131, 0, 191, 126, 236, 0, - 191, 126, 22, 236, 0, 191, 126, 332, 22, 0, 128, 198, 166, 126, 0, 128, 0, 198, 166, 126, 0, 134, 128, - 0, 172, 0, 328, 127, 172, 0, 127, 172, 0, 230, 128, 0, 166, 327, 234, 0, 136, 0, 0, 0, 0, 135, 0, 0, 0, - 0, 326, 127, 164, 235, 0, 127, 0, 235, 0, 129, 0, 0, 127, 0, 325, 127, 164, 269, 0, 127, 0, 0, 44, 127, - 0, 0, 150, 3, 0, 127, 296, 295, 127, 74, 293, 172, 0, 295, 127, 74, 293, 172, 0, 223, 0, 224, 0, 293, - 172, 0, 96, 0, 0, 223, 0, 224, 0, 211, 96, 0, 0, 223, 0, 224, 0, 295, 127, 293, 172, 0, 223, 0, 211, 0, - 0, 223, 0, 242, 127, 3, 0, 126, 0, 0, 0, 0, 0, 242, 127, 3, 221, 0, 230, 3, 0, 219, 127, 0, 216, 0, 146, - 0, 176, 166, 126, 0, 10, 0, 0, 0, 0, 225, 60, 0, 125, 0, 242, 127, 3, 189, 0, 189, 0, 2, 0, 0, 126, 0, - 0, 0, 0, 0, 210, 3, 0, 209, 0, 254, 127, 164, 38, 27, 0, 191, 126, 61, 63, 0, 204, 128, 0, 128, 191, - 126, 291, 63, 0, 191, 126, 291, 63, 0, 191, 126, 70, 123, 61, 0, 254, 127, 164, 264, 61, 0, 254, 127, - 164, 264, 238, 61, 0, 288, 289, 127, 164, 123, 322, 55, 0, 288, 289, 127, 164, 322, 55, 0, 191, 126, - 287, 55, 0, 198, 191, 126, 287, 234, 0, 191, 126, 287, 234, 0, 166, 126, 0, 93, 136, 0, 285, 127, 149, - 0, 285, 127, 172, 0, 159, 84, 0, 317, 161, 319, 320, 3, 81, 0, 126, 179, 0, 319, 320, 3, 81, 0, 128, 0, - 126, 179, 0, 159, 3, 75, 203, 80, 0, 126, 128, 0, 203, 80, 0, 108, 2, 131, 126, 128, 0, 237, 3, 75, 0, - 210, 174, 0, 33, 169, 0, 174, 0, 183, 33, 169, 0, 237, 3, 85, 0, 203, 152, 237, 3, 83, 0, 62, 179, 0, - 237, 3, 83, 0, 126, 179, 62, 179, 0, 318, 127, 164, 0, 159, 0, 225, 77, 0, 30, 179, 0, 159, 102, 185, 0, - 30, 177, 0, 148, 64, 167, 3, 0, 167, 3, 0, 20, 161, 126, 0, 159, 102, 162, 0, 30, 169, 0, 199, 3, 0, - 126, 149, 0, 226, 3, 0, 225, 60, 282, 0, 159, 60, 0, 199, 3, 314, 67, 126, 0, 126, 0, 0, 0, 0, 314, 67, - 126, 0, 2, 145, 126, 0, 0, 0, 0, 199, 3, 45, 0, 147, 0, 125, 57, 166, 126, 0, 31, 147, 0, 93, 136, 31, - 147, 0, 227, 191, 126, 0, 146, 31, 147, 0, 199, 3, 49, 0, 159, 3, 49, 0, 159, 3, 64, 199, 54, 41, 0, - 199, 54, 41, 0, 20, 2, 131, 126, 0, 159, 3, 64, 199, 54, 44, 0, 199, 54, 44, 0, 159, 3, 64, 199, 54, 46, - 0, 199, 54, 46, 0, 159, 3, 64, 199, 54, 42, 0, 199, 54, 42, 0, 226, 3, 125, 198, 166, 126, 10, 0, 125, - 198, 166, 126, 10, 0, 136, 2, 0, 126, 0, 226, 3, 124, 275, 166, 126, 10, 0, 275, 166, 126, 10, 0, 135, - 2, 0, 126, 0, 226, 3, 135, 0, 226, 3, 140, 0, 159, 60, 140, 0, 277, 0, 31, 0, 31, 139, 0, 165, 0, 134, - 0, 159, 3, 0 }; - } - - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - - @Override - public final int scopeRhs(int index) { - return scopeRhs[index]; - } - - public interface ScopeState { - public final static char scopeState[] = { 0, 6316, 6335, 6324, 4187, 0, 3056, 1897, 2038, 1018, 0, 5234, 5172, - 5030, 4968, 4906, 4844, 4782, 4720, 4658, 4545, 4480, 4250, 0, 1544, 1399, 678, 0, 2428, 647, 0, 5234, - 5172, 2761, 2629, 5030, 4968, 4906, 4844, 4782, 4720, 2489, 4658, 4545, 4480, 2299, 2291, 0, 6210, 4466, - 5989, 0, 2626, 3391, 0, 2641, 2112, 0, 2063, 969, 0, 745, 1038, 0, 4218, 6299, 0, 4218, 6299, 5977, - 6219, 6206, 5916, 6136, 6108, 5896, 6038, 5234, 5172, 5030, 4968, 4906, 4844, 4782, 4720, 4658, 4545, - 4480, 0, 4218, 6299, 5977, 6219, 6206, 5916, 6136, 6108, 5896, 6038, 0, 6221, 5370, 0, 2402, 2336, 0, - 721, 0, 2078, 668, 0, 3446, 3546, 3673, 673, 3907, 3867, 3755, 3360, 2947, 1078, 2834, 2768, 2702, 2636, - 2570, 2504, 2438, 2372, 2306, 2240, 2174, 925, 834, 764, 0, 6221, 5370, 599, 4680, 4181, 0, 1803, 996, - 646, 627, 5386, 4456, 5118, 4415, 4197, 4433, 4491, 3246, 0, 5500, 5492, 5242, 5180, 5164, 5158, 4997, - 4935, 5917, 5904, 5897, 5414, 4873, 4815, 4811, 4666, 5263, 2942, 5062, 4659, 4429, 4575, 3862, 4256, 0, - 4163, 5386, 6253, 6051, 2818, 4853, 4400, 2816, 5445, 4456, 4730, 914, 4729, 1060, 2742, 0, 820, 0, 745, - 5386, 6051, 1038, 1060, 5118, 5400, 2204, 5883, 4163, 794, 4415, 4400, 4197, 655, 5422, 0, 1746, 1699, - 5500, 5492, 5242, 1652, 1457, 5180, 920, 5164, 5158, 4997, 4935, 1981, 1934, 1887, 1840, 1793, 1601, - 1504, 5917, 5904, 2873, 5897, 5414, 1409, 1334, 4873, 4815, 956, 4811, 4666, 3154, 3252, 5263, 2942, - 5062, 4659, 4680, 4429, 4575, 1214, 4181, 3862, 4256, 641, 2600, 2274, 900, 864, 1109, 5118, 5400, 2204, - 5883, 4163, 794, 745, 5386, 6051, 4415, 4400, 4197, 1038, 2534, 2468, 2402, 2336, 1060, 655, 5422, 5861, - 2947, 4136, 5838, 1078, 3446, 2834, 2768, 2702, 2636, 2570, 2504, 2438, 2372, 2306, 2240, 2174, 3546, - 3673, 673, 3907, 3867, 3755, 4109, 4082, 4055, 5815, 3360, 3407, 3509, 3638, 3602, 3835, 3803, 3721, - 4366, 4340, 4028, 4001, 3974, 3947, 5346, 5322, 5131, 4633, 1339, 5792, 5769, 5746, 925, 834, 764, 5723, - 5700, 5677, 5654, 5631, 5608, 5579, 1266, 3013, 3298, 3256, 3200, 3158, 1462, 1415, 3102, 3060, 1367, - 2900, 2127, 2080, 2033, 1986, 1939, 1892, 1845, 1798, 1751, 1704, 1657, 1610, 599, 1554, 1292, 1512, - 1144, 991, 1219, 0 }; - } - - public final static char scopeState[] = ScopeState.scopeState; - - @Override - public final int scopeState(int index) { - return scopeState[index]; - } - - public interface InSymb { - public final static char inSymb[] = { 0, 0, 313, 241, 127, 3, 4, 132, 131, 8, 6, 124, 126, 197, 189, 3, 70, 219, - 126, 176, 210, 54, 54, 174, 127, 60, 3, 66, 67, 124, 123, 54, 191, 165, 124, 166, 60, 150, 127, 164, - 269, 49, 41, 44, 46, 42, 10, 135, 3, 126, 45, 40, 6, 35, 34, 5, 7, 37, 36, 140, 145, 147, 146, 153, 148, - 156, 155, 158, 157, 160, 59, 162, 126, 166, 7, 5, 127, 127, 127, 257, 258, 235, 259, 234, 260, 55, 286, - 261, 10, 126, 60, 60, 127, 4, 198, 225, 162, 284, 127, 164, 3, 54, 54, 54, 54, 126, 3, 199, 159, 174, - 127, 66, 67, 166, 3, 125, 117, 119, 3, 60, 91, 98, 35, 34, 100, 99, 5, 90, 89, 64, 54, 86, 87, 7, 93, - 92, 95, 94, 96, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 70, 102, 101, 166, 176, 176, 270, 127, - 251, 3, 167, 148, 175, 169, 183, 177, 184, 185, 273, 270, 219, 164, 327, 287, 322, 287, 126, 191, 166, - 270, 277, 198, 68, 127, 199, 159, 199, 199, 199, 199, 166, 226, 152, 127, 3, 222, 221, 135, 125, 124, - 10, 126, 60, 314, 3, 199, 57, 126, 57, 226, 159, 146, 146, 145, 145, 145, 148, 148, 148, 148, 147, 147, - 155, 153, 153, 157, 156, 158, 159, 160, 5, 127, 257, 258, 259, 260, 336, 261, 10, 167, 90, 89, 54, 7, - 93, 92, 95, 94, 96, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 70, 102, 101, 68, 127, 166, 245, - 125, 124, 126, 123, 164, 126, 166, 57, 4, 325, 64, 64, 64, 64, 198, 275, 219, 230, 127, 3, 126, 166, - 215, 3, 315, 174, 150, 126, 191, 166, 71, 176, 173, 126, 64, 148, 148, 148, 169, 167, 167, 177, 175, - 183, 159, 184, 326, 126, 170, 236, 61, 57, 214, 63, 172, 329, 125, 124, 246, 246, 191, 164, 127, 191, - 198, 202, 68, 3, 3, 3, 3, 125, 124, 242, 243, 149, 244, 127, 166, 57, 199, 127, 127, 227, 6, 57, 127, - 166, 148, 71, 166, 264, 238, 54, 57, 291, 293, 127, 189, 246, 246, 127, 127, 198, 127, 289, 123, 290, - 202, 9, 159, 159, 159, 159, 3, 3, 152, 70, 230, 210, 3, 127, 68, 242, 198, 152, 279, 282, 60, 192, 4, - 123, 125, 198, 198, 164, 264, 64, 54, 126, 74, 127, 219, 328, 71, 303, 210, 124, 3, 127, 127, 71, 289, - 288, 70, 68, 226, 226, 127, 70, 70, 127, 219, 152, 125, 127, 3, 60, 159, 4, 128, 127, 164, 27, 57, 172, - 65, 61, 63, 127, 191, 127, 295, 71, 68, 71, 70, 127, 331, 236, 22, 126, 288, 228, 127, 279, 226, 225, - 254, 256, 127, 38, 127, 3, 123, 61, 309, 57, 10, 53, 128, 295, 164, 307, 126, 308, 242, 68, 126, 22, - 332, 191, 127, 228, 254, 127, 164, 285, 292, 38, 70, 126, 68, 64, 54, 245, 245, 296, 127, 68, 191, 3, - 152, 191, 126, 126, 59, 127, 127, 68, 152, 126, 191, 127, 70, 70, 127, 318, 79, 77, 1, 159, 9, 85, 83, - 81, 80, 75, 82, 84, 78, 76, 61, 74, 226, 127, 191, 191, 3, 254, 191, 238, 309, 297, 113, 9, 71, 225, 71, - 3, 3, 3, 203, 3, 123, 159, 123, 188, 228, 338, 238, 64, 3, 71, 237, 174, 237, 320, 149, 75, 237, 127, - 127, 68, 53, 97, 337, 174, 152, 210, 152, 319, 127, 3, 152, 297, 245, 152, 152, 127, 70, 203, 161, 285, - 159, 70, 121, 317, 152, 152 }; - } - - public final static char inSymb[] = InSymb.inSymb; - - @Override - public final int inSymb(int index) { - return inSymb[index]; - } - - public interface Name { - public final static String name[] = { "", "[", "(", ".", ".*", "->", "->*", "++", "--", "&", "*", "+", "-", "~", - "!", "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "::", - "...", "=", "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", "$empty", "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", - "ERROR_TOKEN", "EOF_TOKEN", "no_function_declarator_start", "]", ")", "}", ";", "{", "identifier_token", - "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_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" }; - } - - public final static String name[] = Name.name; - - @Override - public final String name(int index) { - return name[index]; - } - - public final static int ERROR_SYMBOL = 62, SCOPE_UBOUND = 121, SCOPE_SIZE = 122, MAX_NAME_LENGTH = 43; - - @Override - public final int getErrorSymbol() { - return ERROR_SYMBOL; - } - - @Override - public final int getScopeUbound() { - return SCOPE_UBOUND; - } - - @Override - public final int getScopeSize() { - return SCOPE_SIZE; - } - - @Override - public final int getMaxNameLength() { - return MAX_NAME_LENGTH; - } - - public final static int NUM_STATES = 604, NT_OFFSET = 122, LA_STATE_OFFSET = 7550, MAX_LA = 2147483647, - NUM_RULES = 598, NUM_NONTERMINALS = 225, NUM_SYMBOLS = 347, SEGMENT_SIZE = 8192, START_STATE = 5422, - IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, ACCEPT_ACTION = 6515, ERROR_ACTION = 6952; - - public final static boolean BACKTRACK = true; - - @Override - public final int getNumStates() { - return NUM_STATES; - } - - @Override - public final int getNtOffset() { - return NT_OFFSET; - } - - @Override - public final int getLaStateOffset() { - return LA_STATE_OFFSET; - } - - @Override - public final int getMaxLa() { - return MAX_LA; - } - - @Override - public final int getNumRules() { - return NUM_RULES; - } - - @Override - public final int getNumNonterminals() { - return NUM_NONTERMINALS; - } - - @Override - public final int getNumSymbols() { - return NUM_SYMBOLS; - } - - @Override - public final int getSegmentSize() { - return SEGMENT_SIZE; - } - - @Override - public final int getStartState() { - return START_STATE; - } - - @Override - public final int getStartSymbol() { - return lhs[0]; - } - - public final int getIdentifierSymbol() { - return IDENTIFIER_SYMBOL; - } - - @Override - public final int getEoftSymbol() { - return EOFT_SYMBOL; - } - - @Override - public final int getEoltSymbol() { - return EOLT_SYMBOL; - } - - @Override - public final int getAcceptAction() { - return ACCEPT_ACTION; - } - - @Override - public final int getErrorAction() { - return ERROR_ACTION; - } - - @Override - public final boolean isValidForParser() { - return isValidForParser; - } - - @Override - public final boolean getBacktrack() { - return BACKTRACK; - } - - @Override - public final int originalState(int state) { - return -baseCheck[state]; - } - - @Override - public final int asi(int state) { - return asb[originalState(state)]; - } - - @Override - public final int nasi(int state) { - return nasb[originalState(state)]; - } - - @Override - public final int inSymbol(int state) { - return inSymb[originalState(state)]; - } - - @Override - public final int ntAction(int state, int sym) { - return baseAction[state + sym]; - } - - @Override - public final int tAction(int state, int sym) { - int i = baseAction[state], k = i + sym; - return termAction[termCheck[k] == sym ? k : i]; - } - - @Override - 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/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java deleted file mode 100644 index 4916bf789b1..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2010 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -public interface CPPNoFunctionDeclaratorParsersym { - public final static int TK_asm = 65, TK_auto = 25, TK_bool = 11, TK_break = 76, TK_case = 77, TK_catch = 113, - TK_char = 12, TK_class = 53, TK_const = 23, TK_const_cast = 41, TK_continue = 78, TK_default = 79, - TK_delete = 66, TK_do = 80, TK_double = 13, TK_dynamic_cast = 42, TK_else = 121, TK_enum = 55, - TK_explicit = 26, TK_export = 88, TK_extern = 27, TK_false = 43, TK_float = 14, TK_for = 81, TK_friend = 28, - TK_goto = 82, TK_if = 83, TK_inline = 29, TK_int = 15, TK_long = 16, TK_mutable = 30, TK_namespace = 61, - TK_new = 67, TK_operator = 8, TK_private = 114, TK_protected = 115, TK_public = 116, TK_register = 31, - TK_reinterpret_cast = 44, TK_return = 84, TK_short = 17, TK_signed = 18, TK_sizeof = 45, TK_static = 32, - TK_static_cast = 46, TK_struct = 56, TK_switch = 85, TK_template = 57, TK_this = 47, TK_throw = 59, - TK_try = 74, TK_true = 48, TK_typedef = 33, TK_typeid = 49, TK_typename = 10, TK_union = 58, - TK_unsigned = 19, TK_using = 63, TK_virtual = 22, TK_void = 20, TK_volatile = 24, TK_wchar_t = 21, - TK_while = 75, TK_integer = 50, TK_floating = 51, TK_charconst = 52, TK_stringlit = 38, TK_identifier = 1, - TK_Completion = 2, TK_EndOfCompletion = 9, TK_Invalid = 122, TK_LeftBracket = 60, TK_LeftParen = 3, - TK_Dot = 119, TK_DotStar = 98, TK_Arrow = 117, TK_ArrowStar = 91, TK_PlusPlus = 36, TK_MinusMinus = 37, - TK_And = 7, TK_Star = 5, TK_Plus = 34, TK_Minus = 35, TK_Tilde = 6, TK_Bang = 40, TK_Slash = 99, - TK_Percent = 100, TK_RightShift = 86, TK_LeftShift = 87, TK_LT = 54, TK_GT = 64, TK_LE = 89, TK_GE = 90, - TK_EQ = 92, TK_NE = 93, TK_Caret = 94, TK_Or = 95, TK_AndAnd = 96, TK_OrOr = 101, TK_Question = 102, - TK_Colon = 71, TK_ColonColon = 4, TK_DotDotDot = 97, TK_Assign = 70, TK_StarAssign = 103, - TK_SlashAssign = 104, TK_PercentAssign = 105, TK_PlusAssign = 106, TK_MinusAssign = 107, - TK_RightShiftAssign = 108, TK_LeftShiftAssign = 109, TK_AndAssign = 110, TK_CaretAssign = 111, - TK_OrAssign = 112, TK_Comma = 68, TK_RightBracket = 118, TK_RightParen = 72, TK_RightBrace = 73, - TK_SemiColon = 39, TK_LeftBrace = 69, TK_ERROR_TOKEN = 62, TK_EOF_TOKEN = 120; - - public final static String orderedTerminalSymbols[] = { "", "identifier", "Completion", "LeftParen", "ColonColon", - "Star", "Tilde", "And", "operator", "EndOfCompletion", "typename", "bool", "char", "double", "float", "int", - "long", "short", "signed", "unsigned", "void", "wchar_t", "virtual", "const", "volatile", "auto", - "explicit", "extern", "friend", "inline", "mutable", "register", "static", "typedef", "Plus", "Minus", - "PlusPlus", "MinusMinus", "stringlit", "SemiColon", "Bang", "const_cast", "dynamic_cast", "false", - "reinterpret_cast", "sizeof", "static_cast", "this", "true", "typeid", "integer", "floating", "charconst", - "class", "LT", "enum", "struct", "template", "union", "throw", "LeftBracket", "namespace", "ERROR_TOKEN", - "using", "GT", "asm", "delete", "new", "Comma", "LeftBrace", "Assign", "Colon", "RightParen", "RightBrace", - "try", "while", "break", "case", "continue", "default", "do", "for", "goto", "if", "return", "switch", - "RightShift", "LeftShift", "export", "LE", "GE", "ArrowStar", "EQ", "NE", "Caret", "Or", "AndAnd", - "DotDotDot", "DotStar", "Slash", "Percent", "OrOr", "Question", "StarAssign", "SlashAssign", - "PercentAssign", "PlusAssign", "MinusAssign", "RightShiftAssign", "LeftShiftAssign", "AndAssign", - "CaretAssign", "OrAssign", "catch", "private", "protected", "public", "Arrow", "RightBracket", "Dot", - "EOF_TOKEN", "else", "Invalid" }; - - public final static boolean isValidForParser = true; -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java deleted file mode 100644 index 51f57124e4e..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java +++ /dev/null @@ -1,2829 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -import java.util.List; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCastExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTypeIdExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUnaryExpression; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.dom.lrparser.IParser; -import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction; -import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory; - -import lpg.lpgjavaruntime.BadParseException; -import lpg.lpgjavaruntime.BadParseSymFileException; -import lpg.lpgjavaruntime.DiagnoseParser; -import lpg.lpgjavaruntime.ErrorToken; -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.LexStream; -import lpg.lpgjavaruntime.Monitor; -import lpg.lpgjavaruntime.NotBacktrackParseTableException; -import lpg.lpgjavaruntime.NullExportedSymbolsException; -import lpg.lpgjavaruntime.NullTerminalSymbolsException; -import lpg.lpgjavaruntime.ParseErrorCodes; -import lpg.lpgjavaruntime.ParseTable; -import lpg.lpgjavaruntime.PrsStream; -import lpg.lpgjavaruntime.RuleAction; -import lpg.lpgjavaruntime.UndefinedEofSymbolException; -import lpg.lpgjavaruntime.UnimplementedTerminalsException; - -public class CPPParser extends PrsStream - implements RuleAction, ITokenStream, ITokenCollector, IParser - -{ - private static ParseTable prs = new CPPParserprs(); - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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 CPPParser(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), CPPParserprs.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(" " + CPPParsersym.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " - + CPPParsersym.orderedTerminalSymbols[CPPParserprs.EOFT_SYMBOL])); - } - } - - @Override - public String[] orderedTerminalSymbols() { - return CPPParsersym.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return CPPParsersym.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return CPPParserprs.EOFT_SYMBOL; - } - - public PrsStream getParseStream() { - return 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, this, prs, this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException("Regenerate CPPParserprs.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- CPPParsersym.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 CPPBuildASTParserAction action; - private IASTCompletionNode compNode; - - public CPPParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, - IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new CPPBuildASTParserAction(this, astStack, CPPNodeFactory.getDefault(), - CPPSecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - 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(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return CPPParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "CPPParser"; - } - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 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 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 ) 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 ::= 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 ::= 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 ::= { 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 init_declarator_list_opt ; - // - case 255: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 256: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; - // - case 256: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 257: declaration_specifiers ::= simple_declaration_specifiers - // - case 257: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 258: declaration_specifiers ::= class_declaration_specifiers - // - case 258: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 259: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 259: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 260: declaration_specifiers ::= enum_declaration_specifiers - // - case 260: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 261: declaration_specifiers ::= 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 { enumerator_list_opt comma_opt } - // - case 321: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 322: enum_specifier ::= enum enum_specifier_hook identifier_token { 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 { declaration_seq_opt } - // - case 331: { - action.consumeNamespaceDefinition(true); - break; - } - - // - // Rule 332: namespace_definition ::= namespace namespace_definition_hook { 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: asm_definition ::= asm ( stringlit ) ; - // - case 339: { - action.consumeDeclarationASM(); - break; - } - - // - // Rule 340: linkage_specification ::= extern stringlit { declaration_seq_opt } - // - case 340: { - action.consumeLinkageSpecification(); - break; - } - - // - // Rule 341: linkage_specification ::= extern stringlit declaration - // - case 341: { - action.consumeLinkageSpecification(); - break; - } - - // - // Rule 346: init_declarator_complete ::= init_declarator - // - case 346: { - action.consumeInitDeclaratorComplete(); - break; - } - - // - // Rule 348: init_declarator ::= complete_declarator initializer - // - case 348: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 351: declarator ::= ptr_operator_seq direct_declarator - // - case 351: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 353: function_declarator ::= ptr_operator_seq direct_declarator - // - case 353: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 357: basic_direct_declarator ::= declarator_id_name - // - case 357: { - action.consumeDirectDeclaratorIdentifier(); - break; - } - - // - // Rule 358: basic_direct_declarator ::= ( declarator ) - // - case 358: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 359: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 359: { - action.consumeDirectDeclaratorFunctionDeclarator(true); - break; - } - - // - // Rule 360: array_direct_declarator ::= array_direct_declarator array_modifier - // - case 360: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 361: array_direct_declarator ::= basic_direct_declarator array_modifier - // - case 361: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 362: array_modifier ::= [ constant_expression ] - // - case 362: { - action.consumeDirectDeclaratorArrayModifier(true); - break; - } - - // - // Rule 363: array_modifier ::= [ ] - // - case 363: { - action.consumeDirectDeclaratorArrayModifier(false); - break; - } - - // - // Rule 364: ptr_operator ::= pointer_hook * pointer_hook cv_qualifier_seq_opt - // - case 364: { - action.consumePointer(); - break; - } - - // - // Rule 365: ptr_operator ::= pointer_hook & pointer_hook - // - case 365: { - action.consumeReferenceOperator(); - break; - } - - // - // Rule 366: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook cv_qualifier_seq_opt - // - case 366: { - action.consumePointerToMember(); - break; - } - - // - // Rule 373: cv_qualifier ::= const - // - case 373: { - action.consumeToken(); - break; - } - - // - // Rule 374: cv_qualifier ::= volatile - // - case 374: { - action.consumeToken(); - break; - } - - // - // Rule 376: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name - // - case 376: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 377: type_id ::= type_specifier_seq - // - case 377: { - action.consumeTypeId(false); - break; - } - - // - // Rule 378: type_id ::= type_specifier_seq abstract_declarator - // - case 378: { - action.consumeTypeId(true); - break; - } - - // - // Rule 381: abstract_declarator ::= ptr_operator_seq - // - case 381: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 382: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator - // - case 382: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 386: basic_direct_abstract_declarator ::= ( abstract_declarator ) - // - case 386: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 387: basic_direct_abstract_declarator ::= ( ) - // - case 387: { - action.consumeAbstractDeclaratorEmpty(); - break; - } - - // - // Rule 388: array_direct_abstract_declarator ::= array_modifier - // - case 388: { - action.consumeDirectDeclaratorArrayDeclarator(false); - break; - } - - // - // Rule 389: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier - // - case 389: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 390: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier - // - case 390: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 391: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 391: { - action.consumeDirectDeclaratorFunctionDeclarator(true); - break; - } - - // - // Rule 392: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 392: { - action.consumeDirectDeclaratorFunctionDeclarator(false); - break; - } - - // - // Rule 393: parameter_declaration_clause ::= parameter_declaration_list_opt ... - // - case 393: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 394: parameter_declaration_clause ::= parameter_declaration_list_opt - // - case 394: { - action.consumeEmpty(); - break; - } - - // - // Rule 395: parameter_declaration_clause ::= parameter_declaration_list , ... - // - case 395: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 401: abstract_declarator_opt ::= $Empty - // - case 401: { - action.consumeEmpty(); - break; - } - - // - // Rule 402: parameter_declaration ::= declaration_specifiers parameter_init_declarator - // - case 402: { - action.consumeParameterDeclaration(); - break; - } - - // - // Rule 403: parameter_declaration ::= declaration_specifiers - // - case 403: { - action.consumeParameterDeclarationWithoutDeclarator(); - break; - } - - // - // Rule 405: parameter_init_declarator ::= declarator = parameter_initializer - // - case 405: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 407: parameter_init_declarator ::= abstract_declarator = parameter_initializer - // - case 407: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 408: parameter_init_declarator ::= = parameter_initializer - // - case 408: { - action.consumeDeclaratorWithInitializer(false); - break; - } - - // - // Rule 409: parameter_initializer ::= assignment_expression - // - case 409: { - action.consumeInitializer(); - break; - } - - // - // Rule 410: function_definition ::= declaration_specifiers_opt function_declarator ctor_initializer_list_opt function_body - // - case 410: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 411: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body handler_seq - // - case 411: { - action.consumeFunctionDefinition(true); - break; - } - - // - // Rule 414: initializer ::= ( expression_list ) - // - case 414: { - action.consumeInitializerConstructor(); - break; - } - - // - // Rule 415: initializer_clause ::= assignment_expression - // - case 415: { - action.consumeInitializer(); - break; - } - - // - // Rule 416: initializer_clause ::= initializer_list - // - case 416: { - action.consumeInitializer(); - break; - } - - // - // Rule 417: initializer_list ::= start_initializer_list { initializer_seq , } end_initializer_list - // - case 417: { - action.consumeInitializerList(); - break; - } - - // - // Rule 418: initializer_list ::= start_initializer_list { initializer_seq } end_initializer_list - // - case 418: { - action.consumeInitializerList(); - break; - } - - // - // Rule 419: initializer_list ::= { } - // - case 419: { - action.consumeInitializerList(); - break; - } - - // - // Rule 420: start_initializer_list ::= $Empty - // - case 420: { - action.initializerListStart(); - break; - } - - // - // Rule 421: end_initializer_list ::= $Empty - // - case 421: { - action.initializerListEnd(); - break; - } - - // - // Rule 426: class_specifier ::= class_head { member_declaration_list_opt } - // - case 426: { - action.consumeClassSpecifier(); - break; - } - - // - // Rule 427: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook base_clause_opt - // - case 427: { - action.consumeClassHead(false); - break; - } - - // - // Rule 428: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook base_clause_opt - // - case 428: { - action.consumeClassHead(false); - break; - } - - // - // Rule 429: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook base_clause_opt - // - case 429: { - action.consumeClassHead(true); - break; - } - - // - // Rule 430: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook base_clause_opt - // - case 430: { - action.consumeClassHead(true); - break; - } - - // - // Rule 434: identifier_name_opt ::= $Empty - // - case 434: { - action.consumeEmpty(); - break; - } - - // - // Rule 438: visibility_label ::= access_specifier_keyword : - // - case 438: { - action.consumeVisibilityLabel(); - break; - } - - // - // Rule 439: member_declaration ::= declaration_specifiers_opt member_declarator_list ; - // - case 439: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 440: member_declaration ::= declaration_specifiers_opt ; - // - case 440: { - action.consumeDeclarationSimple(false); - break; - } - - // - // Rule 443: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; - // - case 443: { - action.consumeMemberDeclarationQualifiedId(); - break; - } - - // - // Rule 449: member_declaration ::= ERROR_TOKEN - // - case 449: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 458: member_declarator ::= declarator constant_initializer - // - case 458: { - action.consumeMemberDeclaratorWithInitializer(); - break; - } - - // - // Rule 459: member_declarator ::= bit_field_declarator : constant_expression - // - case 459: { - action.consumeBitField(true); - break; - } - - // - // Rule 460: member_declarator ::= : constant_expression - // - case 460: { - action.consumeBitField(false); - break; - } - - // - // Rule 461: bit_field_declarator ::= identifier_name - // - case 461: { - action.consumeDirectDeclaratorIdentifier(); - break; - } - - // - // Rule 462: constant_initializer ::= = constant_expression - // - case 462: { - action.consumeInitializer(); - break; - } - - // - // Rule 468: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name - // - case 468: { - action.consumeBaseSpecifier(false, false); - break; - } - - // - // Rule 469: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name - // - case 469: { - action.consumeBaseSpecifier(true, true); - break; - } - - // - // Rule 470: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name - // - case 470: { - action.consumeBaseSpecifier(true, true); - break; - } - - // - // Rule 471: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name - // - case 471: { - action.consumeBaseSpecifier(true, false); - break; - } - - // - // Rule 472: access_specifier_keyword ::= private - // - case 472: { - action.consumeToken(); - break; - } - - // - // Rule 473: access_specifier_keyword ::= protected - // - case 473: { - action.consumeToken(); - break; - } - - // - // Rule 474: access_specifier_keyword ::= public - // - case 474: { - action.consumeToken(); - break; - } - - // - // Rule 476: access_specifier_keyword_opt ::= $Empty - // - case 476: { - action.consumeEmpty(); - break; - } - - // - // Rule 478: conversion_function_id_name ::= conversion_function_id < template_argument_list_opt > - // - case 478: { - action.consumeTemplateId(); - break; - } - - // - // Rule 479: conversion_function_id ::= operator conversion_type_id - // - case 479: { - action.consumeConversionName(); - break; - } - - // - // Rule 480: conversion_type_id ::= type_specifier_seq conversion_declarator - // - case 480: { - action.consumeTypeId(true); - break; - } - - // - // Rule 481: conversion_type_id ::= type_specifier_seq - // - case 481: { - action.consumeTypeId(false); - break; - } - - // - // Rule 482: conversion_declarator ::= ptr_operator_seq - // - case 482: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 488: mem_initializer ::= mem_initializer_name ( expression_list_opt ) - // - case 488: { - action.consumeConstructorChainInitializer(); - break; - } - - // - // Rule 489: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name - // - case 489: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 492: operator_function_id_name ::= operator_id_name < template_argument_list_opt > - // - case 492: { - action.consumeTemplateId(); - break; - } - - // - // Rule 493: operator_id_name ::= operator overloadable_operator - // - case 493: { - action.consumeOperatorName(); - break; - } - - // - // Rule 536: template_declaration ::= export_opt template < template_parameter_list > declaration - // - case 536: { - action.consumeTemplateDeclaration(); - break; - } - - // - // Rule 537: export_opt ::= export - // - case 537: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 538: export_opt ::= $Empty - // - case 538: { - action.consumeEmpty(); - break; - } - - // - // Rule 542: template_parameter ::= parameter_declaration - // - case 542: { - action.consumeTemplateParamterDeclaration(); - break; - } - - // - // Rule 543: type_parameter ::= class identifier_name_opt - // - case 543: { - action.consumeSimpleTypeTemplateParameter(false); - break; - } - - // - // Rule 544: type_parameter ::= class identifier_name_opt = type_id - // - case 544: { - action.consumeSimpleTypeTemplateParameter(true); - break; - } - - // - // Rule 545: type_parameter ::= typename identifier_name_opt - // - case 545: { - action.consumeSimpleTypeTemplateParameter(false); - break; - } - - // - // Rule 546: type_parameter ::= typename identifier_name_opt = type_id - // - case 546: { - action.consumeSimpleTypeTemplateParameter(true); - break; - } - - // - // Rule 547: type_parameter ::= template < template_parameter_list > class identifier_name_opt - // - case 547: { - action.consumeTemplatedTypeTemplateParameter(false); - break; - } - - // - // Rule 548: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression - // - case 548: { - action.consumeTemplatedTypeTemplateParameter(true); - break; - } - - // - // Rule 549: template_id_name ::= identifier_name < template_argument_list_opt > - // - case 549: { - action.consumeTemplateId(); - break; - } - - // - // Rule 556: nested_name_specifier_inTemplate ::= class_or_namespace_name_inTemplate :: nested_name_specifier_with_template_inTemplate - // - case 556: { - action.consumeNestedNameSpecifier(true); - break; - } - - // - // Rule 557: nested_name_specifier_inTemplate ::= class_or_namespace_name_inTemplate :: - // - case 557: { - action.consumeNestedNameSpecifier(false); - break; - } - - // - // Rule 558: nested_name_specifier_with_template_inTemplate ::= class_or_namespace_name_with_template_inTemplate :: nested_name_specifier_with_template_inTemplate - // - case 558: { - action.consumeNestedNameSpecifier(true); - break; - } - - // - // Rule 559: nested_name_specifier_with_template_inTemplate ::= class_or_namespace_name_with_template_inTemplate :: - // - case 559: { - action.consumeNestedNameSpecifier(false); - break; - } - - // - // Rule 560: class_or_namespace_name_with_template_inTemplate ::= template_opt class_or_namespace_name_inTemplate - // - case 560: { - action.consumeNameWithTemplateKeyword(); - break; - } - - // - // Rule 562: nested_name_specifier_opt_inTemplate ::= $Empty - // - case 562: { - action.consumeNestedNameSpecifierEmpty(); - break; - } - - // - // Rule 565: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier identifier_name - // - case 565: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 566: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier template_opt template_id_name - // - case 566: { - action.consumeQualifiedId(true); - break; - } - - // - // Rule 571: declaration_specifiers_inTemplate ::= simple_declaration_specifiers - // - case 571: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 572: declaration_specifiers_inTemplate ::= class_declaration_specifiers - // - case 572: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 573: declaration_specifiers_inTemplate ::= elaborated_declaration_specifiers - // - case 573: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 574: declaration_specifiers_inTemplate ::= enum_declaration_specifiers - // - case 574: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 575: declaration_specifiers_inTemplate ::= type_name_declaration_specifiers_inTemplate - // - case 575: { - action.consumeDeclarationSpecifiersTypeName(); - break; - } - - // - // Rule 577: type_id_inTemplate ::= type_specifier_seq_inTemplate - // - case 577: { - action.consumeTypeId(false); - break; - } - - // - // Rule 578: type_id_inTemplate ::= type_specifier_seq_inTemplate abstract_declarator - // - case 578: { - action.consumeTypeId(true); - break; - } - - // - // Rule 579: template_argument ::= assignment_expression_inTemplate - // - case 579: { - action.consumeTemplateArgumentExpression(); - break; - } - - // - // Rule 580: template_argument ::= type_id_inTemplate - // - case 580: { - action.consumeTemplateArgumentTypeId(); - break; - } - - // - // Rule 581: explicit_instantiation ::= template declaration - // - case 581: { - action.consumeTemplateExplicitInstantiation(); - break; - } - - // - // Rule 582: explicit_specialization ::= template < > declaration - // - case 582: { - action.consumeTemplateExplicitSpecialization(); - break; - } - - // - // Rule 583: try_block ::= try compound_statement handler_seq - // - case 583: { - action.consumeStatementTryBlock(true); - break; - } - - // - // Rule 584: try_block ::= try compound_statement - // - case 584: { - action.consumeStatementTryBlock(false); - break; - } - - // - // Rule 587: handler ::= catch ( exception_declaration ) compound_statement - // - case 587: { - action.consumeStatementCatchHandler(false); - break; - } - - // - // Rule 588: handler ::= catch ( ... ) compound_statement - // - case 588: { - action.consumeStatementCatchHandler(true); - break; - } - - // - // Rule 589: exception_declaration ::= type_specifier_seq declarator - // - case 589: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 590: exception_declaration ::= type_specifier_seq abstract_declarator - // - case 590: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 591: exception_declaration ::= type_specifier_seq - // - case 591: { - action.consumeDeclarationSimple(false); - break; - } - - // - // Rule 593: exception_specification ::= throw ( ) - // - case 593: { - action.consumePlaceHolder(); - break; - } - - default: - break; - } - return; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserAction.java deleted file mode 100644 index e69f9ddb8f4..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserAction.java +++ /dev/null @@ -1,22 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction; - -class CPPParserAction { - - public CPPBuildASTParserAction builder; - -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java deleted file mode 100644 index 4930ccbe01c..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java +++ /dev/null @@ -1,1556 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym { - - 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 }; - } - - 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, 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, 5, 6, 4, 1, 3, 1, 0, 1, 1, 2, 1, 1, 3, 1, 3, 1, 1, 1, 1, 3, 9, 2, 2, 3, 2, 5, 3, 7, 0, 1, 2, 2, 1, 0, - 1, 1, 1, 3, 1, 2, 1, 1, 2, 3, 1, 1, 1, 3, 2, 1, 2, 2, 9, 8, 2, 1, 3, 1, 3, 1, 0, 1, 0, 2, 1, 1, 3, 1, 3, - 2, 1, 5, 8, 1, 2, 3, 1, 1, 7, 6, 3, 0, 0, 1, 3, 1, 1, 5, 6, 6, 7, 7, 0, 0, 1, 0, 1, 1, 1, 2, 4, 2, 2, 1, - 5, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, 1, 3, 1, 1, 2, 3, 2, 1, 2, 2, 1, 0, 1, 3, 3, 5, 5, 4, 1, 1, 1, 1, 0, 1, - 5, 2, 2, 1, 2, 2, 1, 0, 1, 3, 4, 3, 1, 1, 5, 2, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 7, 1, 0, 1, 3, 1, 1, 2, 4, 2, 4, 7, - 9, 5, 1, 3, 1, 0, 1, 1, 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, -271, 0, 0, 0, 0, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -72, -63, 0, -2, 0, 0, 0, 0, 0, 0, -119, 0, -4, 0, 0, -514, -25, 0, 0, 0, 0, - -519, 0, 0, 0, -418, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -40, -7, 0, 0, 0, 0, -145, 0, -53, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -217, 0, 0, 0, 0, -71, 0, -231, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -227, -450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -88, 0, 0, -515, 0, -3, 0, 0, -48, 0, 0, 0, 0, -116, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -406, 0, 0, - 0, 0, 0, 0, 0, 0, -34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -42, 0, 0, -117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -251, -14, 0, 0, 0, 0, -110, 0, -12, -24, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -30, 0, 0, 0, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, -27, 0, 0, 0, 0, 0, -106, 0, 0, 0, 0, 0, - 0, -297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -31, 0, 0, -92, - 0, 0, 0, 0, 0, 0, 0, -58, -302, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32, 0, -50, 0, 0, -13, 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, -374, 0, 0, 0, 0, 0, 0, -210, 0, 0, 0, 0, -35, -79, 0, -258, 0, 0, 0, 0, -228, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -146, 0, 0, -532, 0, 0, 0, 0, -37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -47, -38, 0, 0, 0, 0, 0, 0, 0, 0, -59, 0, 0, 0, 0, 0, 0, 0, 0, 0, -273, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18, -39, 0, 0, 0, 0, 0, 0, -111, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17, 0, -470, 0, 0, 0, 0, 0, - 0, -60, 0, 0, 0, 0, -533, -253, 0, -358, 0, -89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -43, 0, 0, 0, 0, 0, 0, - -202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -55, -49, 0, -56, 0, - 0, 0, 0, 0, 0, -93, 0, -64, 0, 0, -503, 0, 0, 0, 0, -304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -466, 0, 0, 0, 0, 0, 0, -333, 0, 0, 0, 0, -41, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -576, -51, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -102, 0, - 0, 0, 0, 0, 0, -442, 0, 0, 0, 0, -130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -103, 0, 0, 0, 0, 0, 0, 0, 0, 0, -74, 0, 0, 0, 0, -535, 0, 0, 0, 0, -443, 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, 0, 0, -114, 0, -75, 0, -52, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -182, 0, 0, 0, 0, -46, -298, 0, -107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -62, -531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -186, -352, 0, 0, 0, 0, 0, 0, 0, 0, -76, 0, -77, 0, 0, 0, - 0, 0, -530, 0, -95, -218, 0, 0, 0, 0, 0, -230, 0, -284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -479, 0, -112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15, -33, 0, -10, 0, - 0, 0, 0, -105, 0, 0, 0, 0, 0, 0, -353, -133, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -101, 0, 0, 0, 0, 0, -57, 0, 0, 0, -20, 0, - 0, 0, 0, 0, 0, 0, 0, -87, 0, 0, -185, 0, 0, -135, -94, 0, 0, 0, 0, 0, 0, -286, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -147, 0, 0, 0, 0, 0, -569, 0, 0, 0, 0, 0, - 0, -234, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -551, -115, 0, 0, 0, 0, 0, 0, -287, 0, 0, 0, 0, - -580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -29, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -22, -246, 0, 0, 0, 0, 0, 0, 0, 0, 0, -240, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, -229, 0, 0, 0, 0, - 0, 0, -70, -61, 0, 0, -235, 0, 0, 0, 0, 0, -150, 0, -423, -155, 0, 0, -151, 0, 0, 0, -200, 0, 0, 0, 0, - 0, 0, -289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -524, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -236, -247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -136, -152, -222, 0, 0, 0, - 0, 0, 0, 0, 0, -290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -547, - 0, 0, 0, -390, 0, 0, -592, 0, 0, 0, 0, -422, 0, 0, 0, -113, -248, 0, 0, 0, 0, 0, 0, -582, -139, 0, 0, - -454, -153, 0, -154, 0, 0, 0, 0, 0, 0, 0, -291, 0, 0, 0, 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, -601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -143, 0, 0, 0, 0, - 0, 0, 0, -301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -292, 0, 0, 0, 0, -73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -201, 0, -376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -237, 0, 0, 0, -134, 0, - 0, 0, -583, -104, 0, 0, 0, 0, 0, 0, -86, 0, 0, 0, 0, 0, 0, -293, 0, 0, 0, 0, -156, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -238, -80, - 0, 0, 0, 0, 0, 0, 0, -167, 0, -465, 0, 0, 0, -330, -97, 0, 0, 0, 0, 0, 0, -294, 0, 0, 0, 0, -168, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -350, 0, 0, -121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -373, 0, 0, 0, 0, 0, 0, 0, -169, 0, -170, 0, -504, 0, 0, 0, 0, 0, 0, 0, 0, 0, -319, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -120, 0, 0, 0, -172, 0, 0, 0, 0, 0, - 0, -190, 0, 0, -570, 0, 0, 0, 0, -320, 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, -174, 0, -175, 0, -81, 0, 0, 0, 0, 0, 0, -176, 0, 0, -571, 0, 0, 0, 0, -321, 0, 0, 0, - 0, -219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -372, 0, -84, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -517, 0, 0, 0, 0, -322, 0, 0, 0, 0, -220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -602, 0, 0, 0, 0, -85, 0, 0, 0, 0, 0, 0, 0, 0, 0, -518, 0, 0, 0, 0, -323, 0, 0, 0, 0, - -317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -98, -380, 0, 0, 0, 0, 0, 0, 0, 0, - -177, 0, 0, 0, 0, -520, 0, 0, 0, 0, -324, 0, 0, 0, 0, -565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -126, -579, 0, -596, 0, 0, 0, 0, 0, 0, -178, 0, 0, 0, 0, -554, 0, 0, 0, 0, -325, 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, -141, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -142, 0, 0, 0, 0, 0, -344, 0, -128, 0, -326, 0, 0, 0, 0, -129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, 0, 0, -356, 0, -132, 0, -327, 0, - 0, 0, 0, -181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -203, -183, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -207, 0, 0, -204, -187, 0, -140, 0, -328, 0, 0, 0, 0, -457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -225, -594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -226, 0, 0, -189, -192, 0, - -193, 0, -329, 0, 0, 0, 0, -495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -455, - -331, 0, -355, 0, -299, 0, 0, 0, 0, 0, 0, 0, 0, 0, -54, 0, 0, 0, 0, -437, 0, 0, 0, 0, -194, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -254, 0, 0, 0, 0, 0, 0, -318, 0, 0, 0, 0, 0, - -458, 0, 0, 0, -478, 0, 0, 0, 0, -211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -268, -243, 0, -346, 0, 0, 0, -370, 0, 0, 0, 0, 0, 0, 0, 0, -474, -195, 0, 0, -332, 0, 0, 0, -341, 0, 0, - 0, -345, 0, 0, 0, -347, 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, -196, 0, 0, -197, 0, 0, 0, 0, 0, 0, 0, 0, -198, 0, 0, 0, 0, -244, -269, 0, -585, 0, - 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -411, 0, -501, 0, 0, -476, 0, -361, -420, 0, -348, 0, 0, 0, 0, -199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -421, 0, 0, 0, 0, 0, 0, -364, 0, 0, -357, 0, 0, 0, 0, -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, -205, 0, -439, 0, 0, 0, 0, 0, 0, - -502, 0, 0, -469, 0, 0, -490, -149, 0, -491, -206, -208, 0, -209, -184, 0, 0, 0, -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, 0, 0, -212, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -451, 0, 0, 0, 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, -566, - -214, 0, 0, 0, 0, 0, 0, -497, 0, -505, 0, 0, 0, -440, 0, -527, 0, 0, 0, 0, 0, -215, -78, 0, 0, 0, 0, - -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, 0, -216, -232, 0, 0, - -561, 0, 0, 0, 0, 0, 0, 0, 0, 0, -578, 0, 0, 0, 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, -371, 0, -539, 0, 0, 0, 0, 0, 0, -241, 0, 0, -546, 0, -557, -233, -256, 0, -572, - 0, -441, 0, 0, 0, -272, -588, -593, -599, 0, 0, 0, 0, 0, -171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -316, -550, 0, -334, 0, 0, 0, -335, 0, 0, -342, -343, 0, -349, - 0, 0, 0, -351, -296, 0, 0, 0, 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, -259, -366, -337, 0, -367, 0, 0, -368, -369, -381, -382, -123, 0, -383, -384, 0, 0, 0, 0, -270, - 0, 0, -385, 0, 0, 0, -387, -388, 0, -389, 0, 0, 0, -315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -393, 0, -394, -395, 0, -396, 0, 0, 0, 0, 0, 0, -283, 0, 0, 0, 0, -397, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -398, -446, -399, 0, -400, -499, 0, - -375, -401, 0, -496, 0, 0, -402, -403, 0, 0, 0, 0, 0, 0, -404, -405, 0, -408, -410, 0, -412, 0, -413, 0, - 0, -312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -414, 0, - -415, 0, 0, 0, 0, -281, 0, 0, 0, 0, -417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -425, -426, -427, -428, -429, -430, -431, 0, -432, -433, -434, -435, -436, -453, -461, -462, -463, 0, - -464, -480, 0, 0, 0, 0, -481, 0, -379, -313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -483, 0, -488, 0, 0, 0, -282, 0, 0, 0, 0, -424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -459, -492, -498, -511, -512, -516, 0, -528, -534, -548, -552, - -553, -559, -567, -568, -581, 0, -586, -591, 0, 0, 0, -471, -477, 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, -278, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -109, 0, 0, 0, 0, -311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -506, -513, -523, -525, 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, -279, 0, 0, 0, 0, -529, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -540, -541, -339, -542, -543, 0, -555, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -280, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -305, - 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, -137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -556, -574, 0, 0, 0, - 0, 0, -26, 0, 0, 0, 0, 0, 0, 0, 0, -575, 0, 0, -589, 0, 0, 0, -595, 0, 0, 0, 0, -598, 0, 0, 0, -122, 0, - 0, -600, -544, 0, 0, 0, -460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, -419, -260, 0, - -295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -307, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, -336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -360, 0, - 0, 0, 0, 0, 0, 0, -392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -5, 0, 0, 0, 0, 0, -314, -507, 0, -538, -521, 0, 0, 0, 0, 0, 0, 0, -508, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -573, 0, 0, 0, 0, 0, 0, -277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -300, 0, 0, 0, -362, 0, 0, 0, 0, 0, 0, 0, 0, -242, 0, 0, -509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -36, 0, 0, 0, 0, 0, 0, 0, -510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -131, 0, 0, 0, 0, 0, 0, 0, -549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -264, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -563, 0, 0, 0, 0, 0, -416, - 0, 0, 0, 0, 0, 0, -485, -44, 0, 0, 0, 0, -545, 0, -354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -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, 0, -265, 0, 0, 0, 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, 0, 0, -45, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -249, 0, 0, 0, 0, 0, 0, -487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -66, 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, 0, 0, 0, 0, 0, 0, -522, 0, 0, 0, 0, 0, 0, 0, -526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -99, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, - -127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -560, 0, 0, 0, 0, 0, 0, -577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -148, 0, 0, 0, 0, - 0, 0, 0, 0, -188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -564, 0, 0, 0, 0, 0, -473, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -250, 0, 0, 0, 0, 0, 0, 0, 0, - -597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -603, 0, 0, 0, 0, 0, - 0, 0, -391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -359, 0, 0, 0, -472, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -159, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -162, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 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, - -165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -166, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -262, 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, -467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -456, 0, 0, 0, -158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, -447, 0, 0, 0, 0, - 0, 0, 0, 0, -448, -468, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -500, 0, 0, 0, 0, - 0, 0, 0, -475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -604, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8, -536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -537, 0, 0, 0, 0, 0, 0, 0, 0, -191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -82, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, -83, 0, 0, 0, 0, 0, 0, 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, 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, - -91, 0, 0, 0, 0, 0, 0, 0, 0, 0, -590, 0, 0, 0, 0, 0, -138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -255, 0, 0, 0, 0, 0, 0, 0, -486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[index]; - } - - public interface BaseAction { - public final static char baseAction[] = { 191, 5, 154, 94, 94, 30, 30, 81, 81, 39, 39, 42, 42, 191, 1, 1, 16, - 16, 16, 16, 16, 16, 16, 17, 17, 17, 15, 11, 11, 6, 6, 6, 6, 6, 6, 2, 75, 75, 4, 4, 12, 12, 44, 44, 155, - 155, 156, 67, 67, 43, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 157, 157, 157, 132, 132, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 192, 192, 193, 193, - 194, 160, 160, 161, 161, 158, 158, 162, 159, 159, 21, 21, 22, 22, 23, 23, 23, 24, 24, 24, 24, 25, 25, - 25, 26, 26, 26, 31, 31, 31, 31, 31, 33, 33, 33, 34, 34, 35, 35, 36, 36, 38, 38, 40, 40, 41, 41, 45, 45, - 45, 45, 45, 50, 50, 50, 53, 53, 60, 60, 61, 61, 62, 62, 63, 63, 64, 64, 65, 65, 65, 65, 65, 65, 65, 65, - 65, 65, 65, 65, 65, 29, 29, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 37, 28, 163, 163, 105, - 105, 195, 195, 104, 218, 218, 82, 82, 82, 82, 82, 82, 82, 82, 82, 83, 83, 83, 79, 79, 66, 66, 196, 196, - 84, 84, 84, 117, 117, 197, 197, 85, 85, 85, 85, 198, 198, 86, 86, 86, 86, 86, 87, 87, 95, 95, 95, 95, - 95, 95, 95, 95, 54, 54, 54, 54, 54, 118, 118, 116, 116, 55, 199, 27, 27, 27, 27, 27, 49, 49, 69, 69, 69, - 69, 69, 137, 137, 133, 133, 133, 133, 133, 134, 134, 134, 135, 135, 135, 136, 136, 136, 165, 165, 165, - 70, 70, 70, 70, 70, 71, 71, 71, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 106, 138, 138, 138, 138, - 138, 138, 111, 111, 111, 166, 167, 167, 112, 112, 200, 169, 169, 168, 168, 139, 139, 119, 91, 91, 140, - 57, 48, 170, 170, 58, 56, 97, 97, 171, 171, 164, 164, 141, 142, 142, 143, 93, 93, 172, 172, 77, 77, 77, - 73, 73, 72, 78, 78, 80, 80, 68, 68, 68, 59, 98, 98, 108, 107, 107, 51, 51, 74, 74, 76, 76, 52, 109, 109, - 109, 99, 99, 99, 100, 100, 101, 101, 101, 102, 102, 120, 120, 120, 122, 122, 121, 121, 219, 219, 103, - 103, 202, 202, 202, 202, 202, 145, 47, 47, 174, 201, 201, 146, 146, 147, 147, 147, 148, 176, 203, 203, - 32, 32, 110, 114, 114, 114, 114, 205, 124, 123, 123, 113, 113, 113, 177, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 207, 207, 204, 204, 206, 206, 179, 180, 180, 180, 180, 181, 208, 126, 125, 125, - 209, 209, 182, 182, 182, 182, 115, 115, 115, 210, 210, 8, 8, 9, 211, 211, 212, 183, 173, 173, 184, 184, - 185, 186, 186, 7, 7, 10, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 89, 92, 92, 187, 187, 150, 150, 151, 151, 151, 151, 151, 151, 3, 152, 152, 149, - 149, 188, 220, 221, 221, 222, 222, 223, 224, 224, 189, 190, 190, 190, 190, 214, 214, 214, 128, 128, 128, - 128, 128, 129, 130, 130, 127, 127, 96, 90, 88, 88, 175, 175, 131, 131, 215, 215, 215, 153, 153, 144, - 144, 216, 216, 1119, 35, 3403, 3401, 5379, 1214, 27, 30, 31, 983, 961, 26, 28, 3400, 296, 25, 23, 50, - 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 1231, 587, 177, 1008, 2792, 308, 2738, 2927, 2878, 2939, - 1231, 2930, 55, 3066, 176, 3135, 1331, 35, 314, 191, 673, 3230, 35, 312, 266, 243, 3081, 1244, 35, 1044, - 32, 4550, 3752, 27, 30, 31, 983, 961, 375, 28, 2396, 1513, 269, 264, 265, 6168, 845, 3221, 243, 35, 893, - 425, 2409, 35, 1044, 32, 5230, 5171, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, - 77, 108, 2209, 2258, 2256, 2322, 309, 49, 162, 2396, 276, 279, 282, 825, 1180, 501, 35, 433, 1247, 1643, - 1372, 535, 2544, 2547, 2302, 3163, 352, 1073, 357, 2347, 1564, 497, 2345, 1587, 911, 1142, 1653, 5992, - 285, 2495, 2356, 2542, 2638, 161, 579, 2149, 2244, 35, 3343, 32, 4550, 1473, 27, 30, 31, 983, 961, 375, - 28, 243, 35, 330, 1475, 3326, 2243, 1785, 3771, 501, 35, 1535, 1669, 1327, 2409, 35, 1044, 32, 5230, - 5171, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, - 2322, 49, 1967, 162, 1292, 3674, 2608, 985, 550, 576, 3082, 580, 1247, 964, 324, 243, 1527, 1525, 34, - 2302, 355, 1848, 357, 1329, 2347, 350, 1189, 2345, 921, 2144, 1706, 348, 3327, 2651, 2495, 2356, 2542, - 2638, 161, 579, 3336, 2231, 69, 720, 3279, 2409, 35, 1044, 32, 5230, 5171, 27, 30, 31, 983, 961, 26, 28, - 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 427, 464, 162, 1579, 35, 1044, - 32, 5286, 2597, 27, 30, 31, 983, 961, 57, 28, 2433, 1588, 2302, 2642, 1254, 1217, 155, 2347, 62, 1178, - 2345, 1217, 4752, 550, 576, 3082, 580, 2495, 2356, 2542, 2638, 161, 579, 2120, 35, 1044, 32, 1467, 193, - 41, 30, 31, 983, 961, 2100, 3086, 94, 332, 2651, 455, 456, 3339, 972, 1331, 35, 490, 480, 5180, 988, - 585, 2689, 35, 1044, 32, 5230, 5171, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, - 77, 108, 2209, 2258, 2256, 2322, 1685, 266, 162, 243, 35, 2691, 1992, 550, 576, 3082, 580, 1582, 243, - 35, 893, 425, 1572, 2131, 2302, 278, 264, 265, 1793, 2347, 2379, 2197, 2345, 62, 3264, 3088, 1245, 4869, - 2651, 2495, 2356, 2542, 2638, 161, 579, 2757, 35, 1044, 32, 5230, 489, 27, 30, 31, 983, 961, 26, 28, - 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 2485, 61, 177, 765, 2792, 155, - 2738, 2927, 2878, 2939, 1217, 2930, 1733, 3066, 176, 2673, 3771, 2660, 2573, 415, 1627, 35, 1044, 32, - 5286, 2149, 27, 30, 31, 983, 961, 56, 28, 3687, 551, 576, 3082, 580, 243, 35, 317, 2477, 35, 1044, 32, - 5230, 141, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, - 2256, 2736, 155, 2789, 177, 1329, 2792, 6246, 2738, 2927, 2878, 2939, 1371, 2930, 369, 3066, 176, 2673, - 483, 2689, 2735, 415, 3325, 35, 1044, 32, 5230, 2234, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, - 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 3434, 1951, 1344, 255, 1595, 422, 416, 2688, 3164, 2551, - 35, 1044, 32, 5230, 484, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, - 2209, 2258, 2256, 2736, 428, 464, 177, 1515, 2792, 1941, 2738, 2927, 2878, 2939, 760, 2930, 1563, 3066, - 176, 2673, 266, 3138, 743, 415, 243, 3221, 2202, 35, 1044, 32, 2745, 60, 2604, 30, 31, 983, 961, 418, - 281, 264, 265, 423, 416, 2688, 3019, 35, 1044, 32, 5230, 1095, 27, 30, 31, 983, 961, 26, 28, 2143, 296, - 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 1516, 62, 177, 148, 2792, 4956, 2738, 2927, - 2878, 2939, 413, 2930, 1985, 3066, 176, 243, 35, 893, 425, 191, 3325, 35, 1044, 32, 5230, 360, 27, 30, - 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 468, 243, - 35, 3669, 3573, 413, 416, 2688, 3019, 35, 1044, 32, 5230, 1515, 27, 30, 31, 983, 961, 26, 28, 2143, 296, - 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 3135, 62, 177, 668, 2792, 5014, 2738, 2927, - 2878, 2939, 325, 2930, 359, 3066, 176, 243, 35, 1525, 311, 409, 2443, 594, 3019, 35, 1044, 32, 5230, - 2218, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, - 2736, 2836, 93, 177, 2579, 2792, 3326, 2738, 2927, 2878, 2939, 1577, 2930, 2248, 3066, 176, 243, 35, - 893, 425, 409, 3019, 35, 1044, 32, 5230, 2074, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, - 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 471, 499, 177, 1964, 2792, 155, 2738, 2927, 2878, 2939, - 677, 2930, 426, 3066, 176, 243, 35, 1525, 313, 409, 1862, 2920, 408, 2897, 35, 1044, 32, 5230, 3089, 27, - 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 2557, - 1475, 571, 2864, 2792, 3771, 2738, 2927, 2878, 2939, 365, 2930, 2721, 2999, 197, 3674, 2621, 35, 1044, - 32, 5230, 407, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, - 2256, 2736, 2536, 2149, 177, 3089, 2792, 4517, 2738, 2927, 2878, 2939, 2841, 2930, 1449, 3066, 176, 42, - 2674, 1329, 2608, 175, 1571, 501, 35, 433, 363, 405, 368, 845, 3221, 3142, 35, 1044, 32, 5230, 2309, 27, - 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 4469, - 2719, 162, 1361, 35, 1044, 32, 4550, 1473, 27, 30, 31, 983, 961, 375, 28, 1258, 2779, 2302, 71, 1210, - 330, 4351, 2347, 1515, 215, 2345, 44, 2674, 273, 296, 2149, 2142, 2495, 2356, 2542, 2638, 161, 173, - 3142, 35, 1044, 32, 5230, 379, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, - 108, 2209, 2258, 2256, 2322, 1515, 266, 162, 718, 430, 464, 2605, 35, 312, 355, 1848, 357, 155, 418, - 350, 1189, 2040, 2124, 2302, 274, 264, 265, 3337, 2347, 412, 62, 2345, 585, 1515, 5076, 349, 2936, 230, - 2495, 2356, 2542, 2638, 161, 172, 3142, 35, 1044, 32, 5230, 324, 27, 30, 31, 983, 961, 26, 28, 2143, - 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 586, 266, 162, 2049, 1515, 2510, 838, - 2770, 3279, 501, 35, 433, 343, 346, 626, 1437, 1375, 155, 2302, 284, 264, 265, 770, 2347, 429, 464, - 2345, 1304, 412, 273, 296, 2821, 499, 2495, 2356, 2542, 2638, 161, 171, 3142, 35, 1044, 32, 5230, 2821, - 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, - 410, 266, 162, 1361, 35, 1044, 32, 4550, 1473, 27, 30, 31, 983, 961, 375, 28, 2129, 155, 2302, 274, 264, - 265, 4351, 2347, 2589, 2685, 2345, 1331, 35, 567, 479, 5400, 493, 2495, 2356, 2542, 2638, 161, 170, - 3142, 35, 1044, 32, 5230, 379, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, - 108, 2209, 2258, 2256, 2322, 3683, 266, 162, 3393, 2772, 243, 35, 1525, 316, 355, 1848, 357, 155, 1173, - 350, 1189, 2298, 841, 2302, 287, 264, 265, 238, 2347, 1515, 62, 2345, 3375, 3049, 5300, 2034, 70, 499, - 2495, 2356, 2542, 2638, 161, 169, 3142, 35, 1044, 32, 5230, 71, 27, 30, 31, 983, 961, 26, 28, 2143, 296, - 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 1515, 266, 162, 1361, 35, 1044, 32, 4550, - 1473, 27, 30, 31, 983, 961, 375, 28, 2828, 155, 2302, 278, 264, 265, 4351, 2347, 3125, 3085, 2345, 361, - 664, 3111, 243, 35, 330, 2495, 2356, 2542, 2638, 161, 168, 3142, 35, 1044, 32, 5230, 379, 27, 30, 31, - 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 3136, 266, 162, - 3393, 1597, 35, 314, 3138, 5913, 355, 1848, 357, 243, 3666, 350, 1189, 2533, 155, 2302, 281, 264, 265, - 4351, 2347, 1515, 413, 2345, 3378, 1848, 3112, 3677, 3181, 5905, 2495, 2356, 2542, 2638, 161, 167, 3142, - 35, 1044, 32, 5230, 379, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, - 2209, 2258, 2256, 2322, 1515, 1862, 162, 3393, 2111, 35, 1044, 32, 5404, 3085, 27, 30, 31, 983, 961, 26, - 28, 2889, 2302, 548, 2605, 35, 315, 2347, 588, 2234, 2345, 3381, 1331, 35, 490, 358, 5180, 2495, 2356, - 2542, 2638, 161, 166, 3142, 35, 1044, 32, 5230, 1862, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, - 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 988, 1862, 162, 1855, 35, 1044, 32, 5404, 534, 27, - 30, 31, 983, 961, 59, 28, 3748, 2720, 2302, 392, 71, 35, 330, 2347, 1515, 1582, 2345, 88, 594, 1840, - 102, 414, 1515, 2495, 2356, 2542, 2638, 161, 165, 3142, 35, 1044, 32, 5230, 313, 27, 30, 31, 983, 961, - 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 1515, 266, 162, 1855, 35, - 1044, 32, 5404, 2532, 27, 30, 31, 983, 961, 58, 28, 3855, 155, 2302, 284, 264, 265, 4052, 2347, 587, - 3286, 2345, 243, 35, 1525, 3668, 499, 1515, 2495, 2356, 2542, 2638, 161, 164, 3142, 35, 1044, 32, 5230, - 1158, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, - 2322, 2648, 266, 162, 2202, 35, 1044, 32, 838, 2626, 40, 30, 31, 983, 961, 487, 2689, 2735, 840, 2302, - 570, 264, 265, 4351, 2347, 3068, 1220, 2345, 1939, 1304, 243, 35, 1525, 566, 2495, 2356, 2542, 2638, - 161, 163, 3019, 35, 1044, 32, 5230, 379, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, - 76, 77, 108, 2209, 2258, 2256, 2736, 1665, 1231, 177, 1182, 2792, 2418, 2738, 2927, 2878, 2939, 484, - 2930, 1231, 3066, 176, 243, 35, 893, 425, 188, 3019, 35, 1044, 32, 5230, 931, 27, 30, 31, 983, 961, 26, - 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 470, 320, 177, 496, 2792, - 155, 2738, 2927, 2878, 2939, 3385, 2930, 1512, 3066, 176, 243, 35, 893, 425, 187, 3019, 35, 1044, 32, - 5230, 2218, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, - 2256, 2736, 469, 496, 177, 1231, 2792, 155, 2738, 2927, 2878, 2939, 5873, 2930, 362, 3066, 176, 243, - 3675, 1525, 74, 186, 3019, 35, 1044, 32, 5230, 2218, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, - 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 3138, 458, 177, 3078, 2792, 155, 2738, 2927, 2878, - 2939, 5885, 2930, 340, 3066, 176, 1741, 35, 1525, 3676, 185, 3019, 35, 1044, 32, 5230, 2218, 27, 30, 31, - 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 155, 1231, 177, - 5784, 2792, 671, 2738, 2927, 2878, 2939, 410, 2930, 332, 3066, 176, 1741, 35, 1525, 311, 184, 3019, 35, - 1044, 32, 5230, 3244, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, - 2258, 2256, 2736, 155, 1231, 177, 1231, 2792, 5961, 2738, 2927, 2878, 2939, 836, 2930, 419, 3066, 176, - 243, 35, 1525, 3680, 183, 3019, 35, 1044, 32, 5230, 1371, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, - 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 155, 51, 177, 391, 2792, 743, 2738, 2927, 2878, - 2939, 155, 2930, 594, 3066, 176, 1052, 2218, 339, 1371, 182, 3019, 35, 1044, 32, 5230, 1371, 27, 30, 31, - 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 155, 97, 177, - 98, 2792, 1542, 2738, 2927, 2878, 2939, 338, 2930, 1776, 3066, 176, 586, 2218, 335, 2431, 181, 3019, 35, - 1044, 32, 5230, 2075, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, - 2258, 2256, 2736, 155, 574, 177, 331, 2792, 2463, 2738, 2927, 2878, 2939, 441, 2930, 155, 3066, 176, - 1515, 2398, 2768, 2938, 180, 3019, 35, 1044, 32, 5230, 2218, 27, 30, 31, 983, 961, 26, 28, 2143, 296, - 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 155, 3136, 177, 321, 2792, 1516, 2738, 2927, - 2878, 2939, 2824, 2930, 155, 3066, 176, 399, 933, 1602, 1012, 179, 3019, 35, 1044, 32, 5230, 1450, 27, - 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 2464, - 1936, 177, 2544, 2792, 155, 2738, 2927, 2878, 2939, 802, 2930, 322, 3066, 176, 243, 35, 893, 425, 178, - 3019, 35, 1044, 32, 5230, 1292, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, - 108, 2209, 2258, 2256, 2736, 308, 2732, 177, 2074, 2792, 3178, 2738, 2927, 2878, 2939, 155, 2930, 1474, - 3066, 176, 1000, 2926, 35, 565, 192, 3203, 35, 1044, 32, 5230, 1862, 27, 30, 31, 983, 961, 26, 28, 2143, - 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 1862, 2378, 162, 2202, 35, 1044, 32, - 2923, 2881, 3041, 30, 31, 983, 961, 364, 371, 1965, 582, 2302, 89, 155, 475, 102, 2347, 155, 3284, 2345, - 310, 1371, 3477, 5761, 2234, 2509, 2495, 2356, 2542, 2638, 161, 160, 3019, 35, 1044, 32, 5230, 2260, 27, - 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 485, - 334, 177, 1241, 2792, 439, 2738, 2927, 2878, 2939, 2698, 2930, 1933, 3066, 176, 389, 2192, 2614, 1862, - 140, 3264, 35, 1044, 32, 5230, 2234, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, - 77, 108, 2209, 2258, 2256, 2736, 155, 24, 177, 3075, 2792, 4060, 2738, 2927, 2878, 2939, 1371, 2930, 62, - 3066, 176, 3172, 6028, 1862, 1371, 222, 3325, 35, 1044, 32, 5230, 1648, 27, 30, 31, 983, 961, 26, 28, - 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 386, 1292, 212, 390, 2792, 1371, - 2738, 2927, 2878, 2939, 232, 2930, 1862, 2999, 197, 3325, 35, 1044, 32, 5230, 1371, 27, 30, 31, 983, - 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 69, 2234, 231, 2130, - 2792, 155, 2738, 2927, 2878, 2939, 3486, 2930, 62, 2999, 197, 155, 6064, 443, 1371, 2438, 640, 1371, - 757, 2251, 3273, 2437, 243, 35, 893, 425, 3325, 35, 1044, 32, 5230, 460, 27, 30, 31, 983, 961, 26, 28, - 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 235, 49, 227, 233, 2792, 2862, - 2738, 2927, 2878, 2939, 1533, 2930, 46, 2999, 197, 3325, 35, 1044, 32, 5230, 329, 27, 30, 31, 983, 961, - 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 388, 1475, 571, 2516, - 2792, 3771, 2738, 2927, 2878, 2939, 155, 2930, 155, 2999, 197, 1194, 1936, 4360, 155, 380, 2944, 2862, - 385, 5198, 1383, 243, 35, 893, 425, 578, 3325, 35, 1044, 32, 5230, 3630, 27, 30, 31, 983, 961, 26, 28, - 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 308, 3234, 848, 1329, 2792, 1371, - 2738, 2927, 2878, 2939, 3178, 2930, 368, 2999, 197, 3487, 35, 1044, 32, 5230, 459, 27, 30, 31, 983, 961, - 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 1039, 1862, 4382, 1862, - 2792, 155, 2738, 2927, 2878, 2939, 4483, 2930, 1475, 2999, 197, 155, 3771, 2645, 2583, 1569, 1326, 155, - 4668, 1936, 370, 371, 1974, 2919, 1371, 155, 1371, 68, 376, 53, 2438, 462, 2951, 35, 1044, 32, 5230, - 598, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, - 2322, 379, 189, 2616, 2030, 256, 934, 226, 3771, 1329, 2576, 2945, 3178, 2610, 2615, 2535, 2219, 417, - 368, 3288, 2676, 3433, 35, 1044, 32, 5230, 3393, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, - 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 4316, 829, 2861, 2433, 2647, 1475, 4351, 2650, 1217, - 3771, 2716, 2746, 2206, 2209, 3048, 1329, 1935, 2293, 2302, 4351, 3172, 371, 3041, 2347, 3327, 2299, - 2345, 3273, 3945, 1087, 3792, 193, 3730, 2495, 2356, 3498, 3325, 35, 1044, 32, 5230, 3945, 27, 30, 31, - 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 1937, 1329, - 2300, 2532, 2792, 2307, 2738, 2927, 2878, 2939, 368, 3585, 3379, 35, 1044, 32, 5230, 2547, 27, 30, 31, - 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 388, 4805, 397, - 1860, 3293, 2450, 3599, 2698, 1854, 4351, 1862, 660, 5825, 1936, 96, 542, 915, 2297, 2302, 380, 2944, - 2862, 385, 2347, 2751, 2649, 2345, 2753, 2754, 378, 87, 3945, 1098, 2495, 3490, 3325, 35, 1044, 32, - 5230, 87, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, - 2736, 539, 541, 3178, 1103, 2792, 2292, 2738, 2927, 2878, 3582, 3379, 35, 1044, 32, 5230, 2468, 27, 30, - 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 3186, 3110, - 3171, 2592, 2744, 2748, 2790, 1351, 542, 1949, 2979, 1853, 2796, 2722, 2780, 2839, 3013, 3042, 2302, - 3043, 3073, 366, 371, 2347, 1995, 173, 2345, 1862, 3325, 35, 1044, 32, 5230, 3484, 27, 30, 31, 983, 961, - 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 539, 541, 52, 2976, 2792, - 3108, 2738, 2927, 3583, 3379, 35, 1044, 32, 5230, 1862, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, - 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 467, 3667, 1862, 2728, 2147, 3075, 3104, 3007, 488, - 3134, 3201, 3151, 3294, 3258, 2981, 2677, 3167, 3292, 2302, 2216, 2982, 6914, 6914, 2347, 1862, 2217, - 3489, 3325, 35, 1044, 32, 5230, 3174, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, - 76, 77, 108, 2209, 2258, 2256, 2736, 90, 143, 6914, 6914, 2792, 6914, 2738, 3579, 3379, 35, 1044, 32, - 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, - 2256, 2322, 1259, 35, 1044, 32, 4952, 1473, 27, 30, 31, 983, 961, 375, 28, 6914, 6914, 6914, 6914, 6914, - 2302, 243, 35, 893, 425, 3476, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, - 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 49, 6914, 6914, 6914, 2792, 2433, 3581, - 6914, 1329, 6914, 1217, 1247, 1867, 1862, 1862, 1862, 1862, 368, 6914, 6914, 6914, 355, 1848, 357, 6914, - 6914, 350, 1189, 1460, 35, 1044, 32, 4952, 193, 27, 30, 31, 983, 961, 375, 28, 6914, 349, 3266, 3276, - 5047, 5109, 3831, 3379, 35, 1044, 32, 5230, 1862, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, - 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 6914, 6914, 6914, 1862, 1862, 3048, 1862, 1862, 5211, - 1862, 4351, 6914, 1329, 6914, 6914, 342, 346, 626, 3478, 6914, 6914, 369, 6914, 6914, 6914, 355, 1848, - 357, 6914, 6914, 353, 1189, 3945, 67, 66, 3641, 65, 64, 1105, 1991, 3379, 35, 1044, 32, 5230, 1256, 27, - 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 1525, - 35, 1044, 32, 4550, 3376, 27, 30, 31, 983, 961, 375, 28, 3325, 35, 1044, 32, 5230, 3480, 27, 30, 31, - 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 6914, 542, - 6914, 6914, 3574, 1222, 35, 3343, 32, 4952, 1473, 27, 30, 31, 983, 961, 375, 28, 1339, 35, 1044, 32, - 4550, 3990, 27, 30, 31, 983, 961, 375, 28, 6914, 355, 1848, 357, 1862, 1862, 350, 1189, 6914, 388, 6914, - 157, 35, 893, 425, 6914, 6914, 540, 541, 6914, 1862, 6914, 3333, 1862, 6914, 6914, 440, 1862, 380, 2944, - 2862, 385, 1862, 1329, 2123, 55, 1465, 6914, 3329, 2395, 2433, 4351, 368, 49, 1465, 1217, 355, 1848, - 357, 4351, 54, 350, 1189, 3291, 1247, 1244, 6914, 101, 6914, 352, 1073, 357, 5371, 3945, 6914, 6914, - 6914, 2231, 193, 592, 6914, 3945, 3831, 3325, 35, 1044, 32, 5230, 2782, 27, 30, 31, 983, 961, 26, 28, - 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 3436, 3325, 35, 1044, 32, 5230, 6914, - 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 3437, - 6914, 6914, 6914, 6914, 402, 2643, 155, 6914, 155, 6914, 1217, 1217, 396, 1217, 6914, 6914, 6914, 6914, - 4021, 6914, 396, 6914, 6914, 6914, 6914, 6914, 454, 456, 3339, 2839, 3122, 3165, 921, 189, 189, 6914, - 189, 3816, 3122, 3165, 6914, 6914, 3084, 2486, 234, 3497, 6914, 6914, 3325, 35, 1044, 32, 5230, 2893, - 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 3575, - 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, - 108, 2209, 2258, 2256, 3576, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, - 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 3577, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, - 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 3578, 1723, 35, 1044, - 32, 4550, 5056, 27, 30, 31, 983, 961, 375, 28, 6914, 6914, 6914, 6914, 1504, 6914, 6914, 6914, 3771, - 6914, 6914, 6914, 3325, 35, 1044, 32, 5230, 387, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, - 2190, 106, 76, 77, 108, 2209, 2258, 2256, 3688, 3541, 35, 893, 425, 4027, 6914, 155, 155, 6914, 1936, - 832, 1217, 1217, 271, 296, 4351, 6914, 6914, 155, 6914, 355, 1848, 357, 1217, 1329, 350, 1189, 6914, - 388, 6914, 6914, 2711, 308, 369, 189, 189, 1217, 379, 6914, 6914, 6914, 2034, 6914, 3584, 3881, 388, - 189, 380, 2944, 2862, 385, 266, 6914, 6914, 6914, 3882, 6914, 2991, 6914, 189, 3178, 6914, 3278, 6914, - 382, 2944, 2862, 385, 195, 269, 264, 265, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, - 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 3439, 6914, 6914, 6914, 6914, 6914, 6914, - 6914, 6914, 309, 6914, 6914, 6914, 276, 279, 282, 825, 1180, 6914, 3282, 371, 1460, 35, 1044, 32, 4952, - 6914, 27, 30, 31, 983, 961, 375, 28, 6914, 1936, 1587, 911, 1142, 1653, 5992, 285, 3325, 35, 1044, 32, - 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, - 3451, 1785, 259, 6914, 6914, 6914, 1778, 598, 6914, 6914, 3771, 4351, 6914, 1329, 6914, 2820, 6914, - 6914, 155, 3178, 4521, 6914, 369, 1217, 6914, 6914, 355, 1848, 357, 262, 189, 351, 1189, 3945, 6914, - 157, 35, 893, 425, 2984, 6914, 213, 6914, 155, 1515, 387, 189, 6914, 1217, 237, 249, 652, 6914, 6914, - 6914, 3884, 236, 246, 247, 248, 250, 4020, 4048, 6914, 1, 1329, 6914, 49, 202, 598, 6914, 189, 6914, - 6914, 368, 3290, 371, 6914, 1247, 1045, 3885, 201, 6914, 6914, 216, 200, 203, 204, 205, 206, 207, 262, - 189, 6914, 6914, 388, 6914, 243, 35, 893, 425, 2984, 3187, 213, 4316, 155, 1515, 6914, 6914, 396, 1217, - 237, 249, 652, 380, 2944, 2862, 385, 236, 246, 247, 248, 250, 6914, 2991, 6914, 3665, 3122, 3165, 49, - 202, 6914, 6914, 189, 6914, 6914, 6914, 6914, 6914, 6914, 1247, 1400, 2533, 201, 6914, 214, 217, 200, - 203, 204, 205, 206, 207, 2332, 35, 1044, 32, 4550, 3376, 27, 30, 31, 983, 961, 375, 28, 3325, 35, 1044, - 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 3383, - 6914, 6914, 3325, 35, 1044, 32, 5230, 4579, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, - 106, 76, 77, 108, 2209, 3384, 6914, 6914, 6914, 6914, 6914, 155, 6914, 355, 1848, 357, 1217, 345, 350, - 1189, 6914, 388, 598, 6914, 155, 329, 35, 893, 425, 598, 2433, 6914, 1854, 6914, 589, 1217, 5825, 6914, - 6914, 189, 380, 2944, 2862, 385, 262, 189, 6914, 6914, 4039, 6914, 590, 379, 189, 6914, 2984, 6914, 213, - 49, 193, 1515, 6914, 221, 6914, 6914, 237, 249, 652, 6914, 1247, 47, 6914, 236, 246, 247, 248, 250, - 1904, 6914, 1889, 35, 1044, 32, 4952, 202, 27, 30, 31, 983, 961, 375, 28, 6914, 757, 6914, 6914, 6914, - 201, 6914, 6914, 3632, 200, 203, 204, 205, 206, 207, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, - 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 3387, 6914, 6914, 6914, 6914, 431, 4036, - 6914, 1329, 6914, 598, 6914, 3818, 415, 35, 893, 425, 369, 1995, 6914, 6914, 355, 1848, 357, 6914, 6914, - 351, 1189, 6914, 388, 6914, 155, 262, 189, 6914, 6914, 4351, 6914, 2643, 6914, 6914, 6914, 2984, 598, - 213, 49, 6914, 1515, 382, 2944, 2862, 385, 237, 249, 652, 6914, 1247, 47, 379, 236, 246, 247, 248, 250, - 6914, 3180, 189, 517, 6914, 6914, 6914, 202, 598, 6914, 6914, 2984, 6914, 213, 6914, 6914, 1199, 6914, - 6914, 3393, 201, 466, 6914, 211, 200, 203, 204, 205, 206, 207, 262, 189, 157, 35, 893, 425, 415, 35, - 893, 425, 2984, 6914, 213, 3382, 6914, 1515, 6914, 6914, 3586, 6914, 237, 249, 652, 229, 6914, 6914, - 6914, 236, 246, 247, 248, 250, 6914, 6914, 49, 603, 6914, 6914, 49, 202, 598, 6914, 6914, 2644, 6914, - 1247, 1983, 6914, 598, 1247, 47, 6914, 201, 6914, 6914, 209, 200, 203, 204, 205, 206, 207, 262, 189, - 157, 35, 893, 425, 6914, 3187, 379, 189, 2984, 2053, 213, 6914, 6914, 1515, 6914, 6914, 221, 6914, 237, - 249, 652, 6914, 6914, 6914, 6914, 236, 246, 247, 248, 250, 6914, 1904, 49, 689, 6914, 6914, 6914, 202, - 598, 6914, 6914, 6914, 1778, 1247, 47, 6914, 3771, 4351, 6914, 6914, 201, 6914, 6914, 210, 200, 203, - 204, 205, 206, 207, 262, 189, 759, 35, 893, 425, 6914, 1065, 6914, 3945, 2984, 6914, 213, 6914, 6914, - 1515, 6914, 6914, 4993, 230, 237, 249, 652, 6914, 6914, 6914, 6914, 236, 246, 247, 248, 250, 6914, 6914, - 49, 775, 223, 6914, 6914, 202, 598, 1329, 2433, 6914, 6914, 1247, 47, 1217, 6914, 6914, 368, 6914, 201, - 6914, 6914, 220, 200, 203, 204, 205, 206, 207, 262, 189, 6914, 6914, 6914, 6914, 6914, 1931, 193, 6914, - 2984, 6914, 213, 6914, 6914, 1515, 6914, 6914, 4805, 6914, 237, 249, 652, 396, 6914, 6914, 6914, 236, - 246, 247, 248, 250, 6914, 6914, 6914, 3639, 35, 554, 6914, 202, 3665, 3122, 3165, 6914, 157, 35, 893, - 425, 271, 296, 6914, 6914, 201, 6914, 3224, 3682, 200, 203, 204, 205, 206, 207, 1643, 35, 1044, 32, - 4550, 1473, 27, 30, 31, 983, 961, 375, 28, 861, 49, 6914, 6914, 6914, 598, 2054, 35, 893, 425, 4043, - 266, 1247, 47, 6914, 6914, 6914, 6914, 6914, 2057, 35, 893, 425, 6914, 6914, 6914, 6914, 262, 189, 269, - 264, 265, 6914, 6914, 6914, 6914, 973, 2984, 308, 213, 6914, 6914, 1515, 6914, 6914, 6914, 6914, 237, - 249, 652, 6914, 49, 6914, 6914, 236, 246, 247, 248, 250, 355, 1848, 357, 1247, 2817, 350, 1189, 202, - 6914, 6914, 6914, 276, 279, 282, 825, 1180, 415, 35, 893, 425, 201, 349, 6914, 225, 200, 203, 204, 205, - 206, 207, 243, 35, 893, 425, 1719, 1851, 1917, 2115, 6230, 947, 6914, 6914, 6914, 6914, 598, 6914, 6914, - 6914, 49, 6914, 6914, 6914, 6914, 3670, 6914, 6914, 6914, 6914, 6914, 1247, 2877, 6914, 49, 6914, 6914, - 6914, 262, 189, 6914, 342, 346, 626, 6914, 1247, 2868, 6914, 2984, 6914, 213, 72, 6914, 1515, 6914, - 5217, 6914, 6914, 237, 249, 652, 563, 564, 568, 3289, 236, 246, 247, 248, 250, 6914, 1256, 6914, 1033, - 6914, 6914, 6914, 202, 598, 6914, 6914, 2434, 35, 893, 425, 6914, 6914, 2181, 6914, 6914, 201, 6914, - 6914, 219, 200, 203, 204, 205, 206, 207, 262, 189, 243, 35, 893, 425, 243, 35, 893, 425, 2984, 6914, - 213, 49, 6914, 1515, 6914, 6914, 6914, 6914, 237, 249, 652, 6914, 1247, 2989, 6914, 236, 246, 247, 248, - 250, 6914, 6914, 49, 6914, 6914, 6914, 49, 202, 6914, 6914, 6914, 6914, 6914, 1247, 2830, 6914, 2782, - 1247, 2817, 6914, 201, 6914, 6914, 228, 200, 203, 204, 205, 206, 207, 3325, 35, 1044, 32, 5230, 6914, - 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 3388, 3325, 35, 1044, 32, - 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 3396, 3325, 35, - 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 85, 3325, - 1527, 1044, 3280, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, - 84, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, - 77, 83, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, - 76, 77, 82, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, - 106, 76, 77, 81, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, - 2190, 106, 76, 77, 80, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, - 50, 2190, 106, 76, 77, 79, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, - 23, 50, 2190, 106, 76, 77, 78, 3080, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, - 25, 23, 50, 2190, 106, 76, 77, 104, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, - 296, 25, 23, 50, 2190, 106, 76, 77, 110, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, - 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 109, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, - 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 107, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, - 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 105, 1689, 6914, 6914, 6914, 6914, 4351, 6914, 6914, - 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 157, 35, 893, 425, 1754, 35, 1044, 32, 5230, - 262, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 86, 76, 77, 6914, 6914, 6914, 239, 249, - 652, 49, 6914, 6914, 6914, 238, 246, 247, 248, 250, 6914, 6914, 1247, 47, 6914, 6914, 6914, 1899, 155, - 6914, 6914, 6914, 4351, 4351, 6914, 6914, 6914, 155, 155, 1988, 6914, 6914, 4351, 4351, 4351, 6914, - 1259, 6914, 6914, 6914, 240, 242, 244, 666, 262, 379, 251, 241, 243, 157, 35, 893, 425, 6914, 379, 379, - 262, 243, 35, 893, 425, 6914, 6914, 6914, 239, 249, 652, 13, 6914, 6086, 3393, 238, 246, 247, 248, 250, - 239, 249, 652, 3393, 3393, 49, 6914, 238, 246, 247, 248, 250, 6914, 49, 6914, 6914, 1247, 47, 546, 6914, - 6914, 6914, 6914, 6914, 1247, 646, 6914, 544, 3817, 2077, 240, 242, 244, 666, 4351, 6914, 251, 241, 243, - 6914, 1390, 155, 240, 242, 244, 666, 4351, 6914, 251, 241, 243, 6914, 6914, 6914, 6914, 6914, 262, 2369, - 6914, 6086, 3590, 35, 893, 425, 4027, 6914, 628, 6914, 379, 2416, 6914, 6086, 6914, 272, 296, 6914, 239, - 249, 652, 6914, 6914, 6914, 6914, 238, 246, 247, 248, 250, 6914, 6914, 6914, 6914, 308, 3393, 6914, - 1810, 157, 35, 893, 425, 4351, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 266, 6914, - 6914, 6914, 6914, 6914, 597, 240, 242, 244, 666, 262, 6914, 251, 241, 243, 6914, 49, 270, 264, 265, 157, - 35, 893, 425, 6914, 6914, 6914, 1247, 47, 155, 239, 249, 652, 2595, 598, 6086, 6914, 238, 246, 247, 248, - 250, 1414, 6914, 6914, 6914, 6914, 4351, 6914, 6914, 6914, 2312, 49, 6914, 309, 6914, 379, 189, 277, - 280, 283, 825, 1180, 1247, 47, 2166, 2945, 6914, 6914, 262, 4351, 6914, 240, 242, 244, 666, 6914, 6914, - 581, 241, 243, 3393, 6914, 6914, 6914, 6914, 286, 2359, 155, 239, 249, 652, 262, 598, 6914, 6914, 238, - 246, 247, 248, 250, 6914, 6914, 6914, 6914, 2861, 6914, 6914, 6914, 6914, 6914, 6914, 239, 249, 652, - 379, 189, 6914, 6914, 238, 246, 247, 248, 250, 2255, 3262, 6914, 6914, 6914, 4351, 6914, 240, 242, 244, - 666, 6914, 2344, 252, 241, 243, 3393, 4351, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 262, - 6914, 6914, 240, 242, 244, 666, 6914, 6914, 582, 241, 243, 262, 3033, 6914, 6914, 6914, 6914, 6914, - 6914, 239, 249, 652, 6914, 6914, 6914, 6914, 238, 246, 247, 248, 250, 239, 249, 652, 3688, 35, 554, - 6914, 238, 246, 247, 248, 250, 6914, 6914, 6914, 6914, 272, 296, 6914, 1180, 6914, 6914, 6914, 4612, - 4351, 6914, 6914, 6914, 6914, 3005, 240, 242, 244, 666, 4351, 1297, 341, 241, 243, 4612, 4351, 6914, - 240, 242, 244, 666, 262, 6914, 536, 241, 243, 6914, 155, 6914, 266, 6914, 379, 598, 6914, 593, 155, - 6914, 262, 6914, 6914, 598, 2644, 444, 4003, 6914, 6914, 6914, 270, 264, 265, 6914, 6914, 6914, 6914, - 379, 189, 3393, 2644, 444, 4003, 6914, 6914, 379, 189, 2945, 6914, 6914, 6914, 155, 6914, 6914, 6914, - 221, 598, 6914, 6914, 6914, 6914, 6914, 3393, 596, 6914, 6914, 445, 446, 447, 666, 1904, 277, 280, 283, - 825, 1180, 6914, 6914, 379, 189, 6914, 6914, 445, 446, 447, 666, 3483, 6914, 221, 6914, 6914, 6914, - 1603, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 1904, 6914, 6914, 6914, 6914, 1603, - 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, - 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 3819, 6914, 6914, 6914, 6914, 6914, 6914, 6914, - 6914, 6914, 6914, 6914, 6914, 6914, 563, 564, 569, 6914, 6914, 448, 450, 6914, 6914, 6914, 6914, 6914, - 6914, 6914, 6914, 6914, 6914, 6914, 6914, 3856, 6914, 448, 451, 6914, 6914, 6914, 6914, 6914, 6914, - 6914, 6914, 6914, 1353, 6914, 6914, 6262, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, - 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 4055, 6914, 0, 538, 6027, 0, 1, 263, 0, 39, 6929, 0, 39, - 6928, 0, 1, 1772, 0, 907, 1, 0, 39, 1, 6929, 0, 39, 1, 6928, 0, 1, 1588, 0, 1, 811, 0, 263, 253, 0, 318, - 431, 0, 318, 323, 0, 7182, 275, 0, 7181, 275, 0, 7288, 275, 0, 7287, 275, 0, 7209, 275, 0, 7208, 275, 0, - 7207, 275, 0, 7206, 275, 0, 7205, 275, 0, 7204, 275, 0, 7203, 275, 0, 7202, 275, 0, 7221, 275, 0, 7220, - 275, 0, 7219, 275, 0, 7218, 275, 0, 7217, 275, 0, 7216, 275, 0, 7215, 275, 0, 7214, 275, 0, 7213, 275, - 0, 7212, 275, 0, 7211, 275, 0, 39, 275, 6929, 0, 39, 275, 6928, 0, 6952, 275, 0, 1427, 424, 0, 6929, 48, - 0, 6928, 48, 0, 1, 367, 0, 38, 811, 0, 38, 6929, 0, 38, 6928, 0, 491, 1720, 0, 477, 1847, 0, 1427, 29, - 0, 6926, 1, 0, 2182, 354, 0, 1, 481, 0, 495, 635, 0, 494, 2298, 0, 35, 33, 0, 47, 37, 0, 538, 1668, 0, - 6952, 1, 263, 0, 39, 1, 263, 0, 263, 453, 0, 1, 1860, 0, 1, 7221, 0, 1, 7220, 0, 1, 7219, 0, 1, 7218, 0, - 1, 7217, 0, 1, 7216, 0, 1, 7215, 0, 1, 7214, 0, 1, 7213, 0, 1, 7212, 0, 1, 7211, 0, 6929, 37, 0, 6928, - 37, 0, 43, 6950, 0, 43, 37, 0, 6926, 420, 0, 6925, 420, 0, 1, 713, 0, 1, 1536, 0, 263, 254, 0, 6924, - 442, 0, 6923, 442, 0, 263, 452, 0, 1, 5829, 0, 1, 5508, 0, 1, 5554, 0, 1, 5577, 0, 1, 5600, 0, 1, 5623, - 0, 1, 5646, 0, 1, 5669, 0, 1, 5531, 0, 1, 6936, 0, 1, 6935, 0, 1, 6934, 0, 1, 6933, 0, 1, 6932, 0, 1, - 6931, 0, 1, 6930, 0, 1, 1857, 0, 1, 1863, 0, 1, 1930, 0, 1, 1996, 0, 1, 1998, 0, 1, 3297, 0, 39, 1, 0, - 6922, 1, 0, 4245, 126, 0, 367, 482, 0, 275, 6929, 0, 275, 6928, 0, 6920, 1, 0, 6919, 1, 0, 1032, 91, 0, - 32, 34, 0, 39, 811, 0, 6950, 45, 0, 37, 45, 0, 1, 263, 3501, 0, 6923, 263, 0, 3503, 263, 0, 6952, 1, 0, - 271, 884, 0, 425, 32, 0, 424, 29, 0, 3597, 263, 0, 10, 12, 0, 4245, 128, 0, 4245, 127, 0, 1, 92, 0, 8, - 10, 12, 0, 3672, 227, 0, 6929, 36, 0, 6928, 36, 0, 6929, 2, 37, 0, 6928, 2, 37, 0, 3678, 420, 0, 367, - 95, 0, 35, 73, 0, 8, 12, 0, 313, 4056, 0, 218, 5309, 0 }; - } - - public final static char baseAction[] = BaseAction.baseAction; - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - 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, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 3, 58, 59, 60, 0, 62, 63, 64, 4, 66, 67, 0, 69, 0, 1, 2, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 3, 58, 59, 60, 0, 62, 63, 64, 4, 66, 67, - 0, 69, 0, 1, 2, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 0, 58, 59, 60, 4, 62, 63, - 64, 0, 66, 67, 3, 69, 0, 1, 2, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 3, 58, 59, - 60, 0, 62, 63, 64, 97, 66, 67, 7, 69, 0, 1, 2, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, - 56, 3, 58, 59, 60, 74, 62, 63, 64, 0, 66, 67, 0, 69, 0, 1, 2, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 0, 55, 56, 70, 58, 59, 60, 7, 62, 63, 64, 0, 66, 67, 0, 69, 0, 1, 2, 94, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 0, 55, 56, 0, 58, 59, 60, 4, 62, 63, 64, 0, 66, 67, 0, 69, 0, 92, 93, 3, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 70, 55, 56, 0, 58, 59, 60, 0, 62, 63, 64, 0, 66, 67, 0, 69, 5, - 10, 7, 94, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 3, 58, 59, 60, 0, 62, 63, 64, 94, 66, - 67, 0, 69, 0, 1, 2, 5, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 0, 58, 59, 60, 0, 62, 63, - 64, 0, 66, 67, 3, 69, 0, 1, 2, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 70, 58, 59, - 60, 7, 62, 63, 64, 97, 66, 67, 97, 69, 0, 96, 0, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, - 55, 56, 70, 58, 59, 60, 0, 62, 63, 64, 0, 66, 67, 0, 69, 86, 87, 86, 87, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 0, 55, 56, 3, 58, 59, 60, 0, 62, 63, 64, 0, 66, 67, 3, 69, 0, 92, 93, 3, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 120, 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, 0, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 3, 58, 0, 60, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1, 2, 0, 4, 39, 0, - 41, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 54, 0, 61, 55, 56, 57, 58, 59, 9, 0, 62, 63, 0, 1, 2, 3, 4, 91, 6, 71, - 8, 73, 34, 35, 98, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 88, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 71, 114, 115, 116, 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, 0, 1, 2, 0, 4, - 39, 96, 41, 0, 1, 2, 3, 4, 0, 6, 54, 8, 9, 118, 0, 0, 55, 56, 57, 58, 59, 65, 7, 62, 63, 0, 1, 2, 3, 4, - 0, 6, 71, 8, 73, 0, 0, 1, 2, 0, 4, 5, 39, 7, 9, 89, 90, 0, 0, 88, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 65, 39, 114, 115, 116, 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, - 65, 0, 0, 68, 3, 39, 5, 41, 7, 0, 9, 9, 0, 1, 2, 3, 4, 0, 6, 0, 8, 55, 56, 57, 58, 59, 9, 0, 62, 63, 64, - 4, 5, 0, 7, 34, 35, 36, 37, 73, 39, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 88, 54, 0, 1, 2, - 3, 4, 5, 61, 7, 0, 0, 65, 0, 0, 68, 68, 70, 71, 72, 73, 73, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 120, 86, 87, - 72, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 97, 0, 0, 61, 117, 118, 119, 0, 57, 0, 3, 57, 5, 4, 7, 0, 9, 0, 1, 2, 0, 4, 69, 6, 61, 8, 0, - 0, 1, 2, 3, 4, 5, 70, 7, 0, 1, 2, 0, 4, 38, 34, 35, 36, 37, 95, 39, 0, 0, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 54, 61, 54, 38, 0, 1, 2, 61, 4, 0, 6, 65, 8, 57, 68, 61, 70, 71, 72, 73, 0, 1, 2, 3, - 4, 0, 6, 61, 8, 9, 71, 65, 86, 87, 68, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 39, 0, 57, 0, 117, 118, 119, 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, 0, 1, 2, - 3, 4, 39, 6, 41, 8, 9, 0, 1, 2, 0, 4, 5, 54, 7, 0, 1, 2, 55, 56, 57, 58, 59, 101, 102, 62, 63, 64, 0, 1, - 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 88, 0, 1, 2, 0, 4, 5, 61, 7, - 0, 9, 34, 35, 36, 37, 38, 0, 40, 72, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 120, 0, 1, 2, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 0, 0, 70, 54, 0, 39, 72, 41, 4, 0, 0, 0, 1, 2, 4, 4, 0, 6, 0, 8, 54, 55, 56, 57, 58, 59, 22, - 9, 62, 63, 64, 97, 22, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 0, 1, 2, 3, 4, 5, 6, - 7, 8, 88, 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, 0, 72, 0, 0, 0, 39, 0, 41, 0, 1, 2, 5, 4, 5, 94, 7, 0, 61, 0, 92, 93, - 55, 56, 57, 58, 59, 23, 24, 62, 63, 64, 0, 0, 1, 2, 114, 115, 116, 6, 73, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 0, 0, 88, 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, 57, 86, 87, 61, 91, 39, 95, 41, 0, 1, 2, 98, 4, 5, - 0, 7, 99, 100, 0, 92, 93, 55, 56, 57, 58, 59, 0, 0, 62, 63, 64, 68, 0, 1, 2, 0, 1, 2, 6, 73, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 88, 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, 0, 1, 2, 65, 4, 39, 6, 41, 8, 0, 1, - 2, 66, 67, 0, 6, 0, 8, 0, 0, 57, 55, 56, 57, 58, 59, 0, 0, 62, 63, 64, 0, 68, 0, 1, 2, 0, 4, 0, 73, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 38, 0, 88, 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, 70, 57, 0, 1, 2, 39, 0, 41, - 6, 0, 8, 5, 65, 71, 5, 68, 0, 0, 0, 0, 71, 55, 56, 57, 58, 59, 9, 9, 62, 63, 64, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 0, 0, 1, 2, 3, 4, 0, 6, 0, 8, 10, 88, 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, 72, - 71, 73, 0, 0, 39, 3, 41, 0, 0, 0, 0, 0, 59, 86, 87, 99, 100, 0, 99, 100, 55, 56, 57, 58, 59, 71, 65, 62, - 63, 64, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1, 2, 3, 4, 121, 6, 0, 8, 34, 35, 88, 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, 0, 0, 1, 2, 0, 39, 91, 41, 86, 87, 9, 0, 91, 98, 95, 61, 0, 0, 0, 98, 0, 55, 56, 57, 58, - 59, 9, 9, 62, 63, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, - 88, 0, 0, 1, 2, 0, 0, 61, 9, 3, 9, 34, 35, 36, 37, 38, 69, 40, 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 68, 0, 69, 68, 72, 0, 60, 39, 3, 54, 0, 65, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 61, 66, 67, 65, 65, 54, 72, 68, 89, 90, 0, 0, 34, 35, 36, 37, - 38, 0, 40, 9, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 0, 1, 2, 0, 60, 5, 89, 90, 0, 1, 2, - 0, 9, 69, 0, 39, 0, 73, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, - 1, 2, 0, 68, 114, 115, 116, 34, 35, 0, 68, 34, 35, 36, 37, 38, 57, 40, 0, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 0, 1, 2, 0, 73, 0, 60, 68, 0, 0, 0, 0, 3, 86, 87, 69, 0, 1, 2, 3, 4, 5, 6, 7, 8, 57, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 70, 0, 0, 0, 0, 68, 9, 9, 9, 34, 35, 36, 37, - 38, 0, 40, 57, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 61, 0, 0, 86, 87, 70, 60, 39, 39, 68, 70, - 9, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 65, 0, 54, - 65, 0, 72, 70, 0, 9, 113, 0, 34, 35, 36, 37, 38, 0, 40, 54, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 0, 0, 96, 0, 71, 0, 60, 73, 0, 54, 0, 0, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 0, 0, 65, 3, 72, 5, 6, 7, 89, 90, 0, 0, 34, 35, 36, 37, 38, 0, 40, 70, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 65, 0, 34, 35, 36, 37, 60, 96, 40, 0, 0, 71, 3, 71, 71, 69, - 6, 0, 9, 86, 87, 113, 54, 86, 87, 0, 1, 2, 0, 61, 0, 3, 54, 65, 66, 67, 68, 68, 70, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 86, 87, 71, 89, 90, 91, 92, 93, 94, 95, 96, 86, 87, 99, 100, 101, - 61, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 72, 57, 0, 54, 117, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 0, 34, 35, 36, 37, 38, - 0, 40, 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 54, 0, 113, 0, 57, 4, 0, 57, 0, 0, 57, 65, 34, 35, 36, 37, 38, 54, 40, - 54, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 0, 89, 90, 4, 4, 0, 0, 9, 118, 3, 66, 67, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 54, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 3, 3, 3, 71, 0, 0, - 9, 70, 70, 34, 35, 36, 37, 38, 10, 40, 54, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 95, 0, 3, - 72, 3, 60, 0, 1, 2, 3, 4, 5, 6, 7, 8, 41, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 61, 54, 0, 57, - 65, 3, 0, 68, 0, 0, 0, 72, 34, 35, 36, 37, 38, 0, 40, 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 0, 0, 0, 3, 0, 3, 0, 61, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 54, 54, 54, 0, 0, 0, 3, 0, 0, 1, 2, 65, 34, 35, 36, 37, 38, 0, 40, 75, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 61, 0, 60, 89, 90, 0, 60, 0, 1, 2, 3, 4, 5, 6, 7, 8, 61, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 54, 0, 0, 0, 57, 0, 1, 2, 0, 0, 54, 65, 34, 35, 36, 37, 38, 41, 40, 0, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 0, 89, 90, 4, 60, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 0, 57, 54, 3, 0, 0, 0, 0, 0, 3, 0, 0, 34, 35, 36, 37, 38, 10, 40, 0, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 0, 0, 36, 37, 60, 0, 1, 2, 3, 4, 5, 6, 7, 8, 41, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 61, 54, 0, 57, 54, 0, 0, 0, 0, 0, 113, 0, 34, 35, 36, 37, - 38, 0, 40, 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 117, 0, 119, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 0, 40, - 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 0, 40, 0, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 0, 40, 0, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 0, 1, 2, 0, 4, 0, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, - 0, 4, 0, 55, 56, 0, 58, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 55, 56, 0, 58, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, - 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 55, 56, 0, 58, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 41, 0, 1, 2, 3, 4, 5, 6, 7, - 8, 9, 0, 0, 0, 55, 56, 0, 58, 0, 0, 0, 0, 0, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, - 0, 39, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 54, 0, 0, 0, 0, 0, 0, 61, 0, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, - 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 0, 7, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 72, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 65, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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; - - @Override - public final int termCheck(int index) { - return termCheck[index]; - } - - public interface TermAction { - public final static char termAction[] = { 0, 6914, 6838, 6478, 6478, 6478, 6478, 6478, 6478, 6478, 6860, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6842, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 6914, 1, 1, 885, 1, 1979, 1, 39, 762, 7122, 637, 6952, 1, 1, 333, 6925, 333, - 6928, 6929, 6921, 1859, 3550, 3026, 3093, 2992, 3500, 4744, 3540, 650, 3538, 4148, 3505, 10, 6863, 6863, - 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, - 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, - 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, - 6914, 6863, 6863, 2182, 6863, 6863, 6863, 6914, 6863, 6863, 6863, 1375, 6863, 6863, 1, 6863, 6914, 6602, - 6599, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 8, 6875, 6875, 6875, - 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, - 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, - 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 394, - 6875, 6875, 432, 6875, 6875, 6875, 425, 6875, 6875, 6875, 6914, 6875, 6875, 6132, 6875, 6914, 6928, - 6929, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6914, 6838, 6478, - 6478, 6478, 6478, 6478, 6478, 6478, 6845, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 6842, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6914, 1, 1, 884, 1, 1979, 1, - 151, 762, 7122, 637, 7307, 1, 1, 3725, 6925, 6914, 10517, 10485, 1, 1859, 3550, 3026, 3093, 2992, 3500, - 4744, 3540, 650, 3538, 4148, 3505, 6914, 6838, 6478, 6478, 6478, 6478, 6478, 6478, 6478, 6845, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6842, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 6914, 1, 1, 3808, 1, 1979, 1, 1649, 762, 7122, 637, 153, 1, 1, 432, 6925, 48, 6602, - 6599, 35, 1859, 3550, 3026, 3093, 2992, 3500, 4744, 3540, 650, 3538, 4148, 3505, 6914, 6838, 6478, 6478, - 6478, 6478, 6478, 6478, 6478, 6845, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 6842, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 131, 1, 1, 1662, 1, 1979, 1, 3776, - 762, 7122, 637, 149, 1, 1, 367, 6925, 434, 6928, 6929, 3636, 1859, 3550, 3026, 3093, 2992, 3500, 4744, - 3540, 650, 3538, 4148, 3505, 6914, 6838, 6478, 6478, 6478, 6478, 6478, 6478, 6478, 6845, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6842, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 421, 1, 1, 6914, 1, 1979, 1, 1443, 762, 7122, 637, 133, 1, 1, 6914, 6925, 347, 3918, - 3851, 890, 1859, 3550, 3026, 3093, 2992, 3500, 4744, 3540, 650, 3538, 4148, 3505, 6914, 6838, 6478, - 6478, 6478, 6478, 6478, 6478, 6478, 6845, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 6842, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1150, 1, 1, 154, 1, 1979, 1, - 337, 762, 7122, 637, 6914, 1, 1, 6914, 6925, 1735, 7250, 1423, 3690, 1859, 3550, 3026, 3093, 2992, 3500, - 4744, 3540, 650, 3538, 4148, 3505, 6914, 6838, 6478, 6478, 6478, 6478, 6478, 6478, 6478, 6845, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6842, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 91, 1, 1, 6823, 1, 1979, 1, 6914, 762, 7122, 637, 3636, 1, 1, 6914, 6925, 6914, - 10517, 10485, 2196, 1859, 3550, 3026, 3093, 2992, 3500, 4744, 3540, 650, 3538, 4148, 3505, 6914, 6838, - 6478, 6478, 6478, 6478, 6478, 6478, 6478, 6845, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6842, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1979, 1, - 157, 762, 7122, 637, 1, 1, 1, 5884, 6925, 327, 6928, 6929, 328, 1859, 3550, 3026, 3093, 2992, 3500, - 4744, 3540, 650, 3538, 4148, 3505, 6914, 6838, 6478, 6478, 6478, 6478, 6478, 6478, 6478, 6845, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6842, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 152, 1, 1, 3036, 1, 1979, 1, 3725, 762, 7122, 637, 7309, 1, 1, 3887, 6925, 141, - 3446, 121, 406, 1859, 3550, 3026, 3093, 2992, 3500, 4744, 3540, 650, 3538, 4148, 3505, 6914, 6838, 6478, - 6478, 6478, 6478, 6478, 6478, 6478, 6845, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 6842, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6914, 1, 1, 1348, 1, 1979, 1, - 6914, 762, 7122, 637, 129, 1, 1, 6914, 6925, 4423, 4490, 4423, 4490, 1859, 3550, 3026, 3093, 2992, 3500, - 4744, 3540, 650, 3538, 4148, 3505, 6914, 6838, 6478, 6478, 6478, 6478, 6478, 6478, 6478, 6845, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6842, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 271, 1, 1, 6851, 1, 1979, 1, 6914, 762, 7122, 637, 6914, 1, 1, 4751, 6925, 6914, - 3958, 1264, 6287, 1859, 3550, 3026, 3093, 2992, 3500, 4744, 3540, 650, 3538, 4148, 3505, 39, 6484, 6481, - 6073, 907, 5600, 5531, 5623, 1588, 6474, 1971, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, - 7221, 7212, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 5577, 5554, 5669, - 5646, 6933, 111, 5508, 7349, 1863, 1998, 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, - 354, 603, 7350, 6629, 7351, 424, 1488, 6914, 6654, 6654, 263, 6650, 263, 263, 263, 263, 6658, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 323, 6513, 6513, 6914, 318, 263, 118, 1, - 6914, 6497, 6493, 1772, 6490, 6605, 811, 6605, 1588, 6914, 6596, 6914, 1445, 1, 1, 6647, 1, 2119, 6918, - 137, 1929, 7363, 1, 6497, 6493, 6487, 6490, 5715, 6504, 263, 6501, 453, 4708, 4681, 5738, 6914, 257, - 345, 6497, 6493, 1772, 6490, 6605, 811, 6605, 1588, 7451, 7213, 7211, 7220, 7219, 7215, 7216, 7214, - 7217, 7218, 7221, 7212, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 126, - 2994, 7386, 7387, 7388, 6914, 6654, 6654, 263, 6650, 263, 263, 263, 263, 6730, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6914, 6484, 6481, 6914, 6952, 263, 3508, 1, 1, 6497, - 6493, 6487, 6490, 6914, 6504, 4272, 6501, 6924, 6917, 6914, 132, 1, 1, 6647, 1, 2119, 6805, 3776, 1929, - 7363, 1, 6497, 6493, 1772, 6490, 6914, 811, 263, 1588, 452, 6914, 481, 1, 1, 571, 1, 6632, 6923, 6632, - 6924, 4218, 4191, 6914, 6914, 7451, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, - 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 6109, 6923, 7386, 7387, 7388, - 6914, 6478, 6478, 263, 6478, 263, 263, 263, 263, 6507, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 9636, 1, 1, 1, 1, 1, 1, 6180, 33, 6914, 3883, 6641, 263, 6641, 1, 6641, 6914, 6641, 6922, 367, 6484, - 6481, 1772, 907, 1, 811, 258, 1588, 1, 1, 6475, 1, 1590, 399, 39, 762, 7159, 637, 6952, 367, 6914, 367, - 6641, 6641, 6641, 6641, 253, 6641, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, - 7182, 6914, 7451, 6641, 381, 39, 39, 4530, 6952, 367, 6641, 367, 155, 6914, 6641, 6914, 47, 6641, 1068, - 6641, 6641, 6641, 6641, 6921, 6926, 403, 6497, 6493, 4299, 6490, 1, 811, 1, 1588, 253, 6641, 6641, 399, - 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, - 6641, 6641, 6641, 6641, 6641, 6641, 6641, 399, 356, 6914, 1445, 6641, 6641, 6641, 6914, 1096, 433, 6826, - 1341, 6826, 424, 6826, 495, 6826, 6914, 6484, 6481, 485, 907, 6925, 6829, 1445, 1588, 6914, 37, 6929, - 6929, 6929, 6929, 6929, 1299, 6929, 6914, 6484, 6481, 6914, 6952, 665, 6826, 6826, 6826, 6826, 3545, - 6826, 6914, 6914, 6929, 6929, 6929, 6929, 6929, 6929, 6929, 6929, 6929, 6929, 6929, 6929, 6826, 1445, - 1427, 1442, 6914, 6484, 6481, 6826, 907, 6914, 6829, 6826, 1588, 2102, 6826, 6635, 6826, 6826, 6826, - 6826, 1, 6497, 6493, 1772, 6490, 139, 811, 6929, 1588, 345, 927, 6929, 6826, 6826, 6929, 6826, 6826, - 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, - 6826, 6826, 6826, 6826, 6826, 345, 6914, 2168, 491, 6826, 6826, 6826, 6914, 6478, 6478, 263, 6478, 263, - 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9636, 1, 1, 1, 1, 1, 1, 1, 6497, - 6493, 4299, 6490, 263, 811, 1, 1588, 6817, 482, 39, 39, 6914, 6952, 6808, 6617, 6808, 36, 6885, 6882, 1, - 1, 6475, 1, 1590, 3407, 4357, 762, 7159, 637, 39, 6484, 6481, 6279, 907, 5600, 5531, 5623, 1588, 6914, - 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 159, 7451, 1, 6799, 6799, 6914, - 6848, 367, 1445, 367, 6914, 399, 5577, 5554, 5669, 5646, 6933, 477, 5508, 6820, 1863, 1998, 6935, 1930, - 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 6914, 254, 6914, 6478, 6478, 263, 6478, 263, 263, 263, - 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9636, 1, 1, 1, 1, 1, 1, 6914, 6914, 2204, - 6620, 39, 263, 399, 1, 6952, 134, 39, 6914, 6484, 6481, 6952, 907, 150, 811, 6914, 1588, 1143, 1, 1, - 6475, 1, 1590, 2986, 6920, 762, 7159, 637, 399, 2767, 3344, 4151, 2138, 2072, 2006, 1940, 1874, 1808, - 1742, 1676, 1610, 1544, 381, 6484, 6481, 4299, 907, 367, 811, 367, 1588, 7451, 6914, 6478, 6478, 263, - 6478, 263, 263, 263, 263, 6721, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9636, 1, 1, 1, 1, 1, - 1, 135, 6919, 114, 372, 145, 263, 115, 1, 92, 1, 1, 5484, 1, 6872, 3690, 6872, 130, 1445, 259, 3918, - 3851, 1, 1, 6475, 1, 1590, 7287, 7288, 762, 7159, 637, 494, 37, 6644, 6644, 7386, 7387, 7388, 6644, 254, - 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 344, 6914, 7451, 6914, 6478, - 6478, 263, 6478, 263, 263, 263, 263, 6721, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9636, 1, - 1, 1, 1, 1, 1, 2453, 4423, 4490, 6638, 5715, 263, 3600, 1, 95, 39, 39, 5738, 6952, 6899, 6914, 6899, - 5460, 4833, 260, 3958, 1264, 1, 1, 6475, 1, 1590, 6914, 6914, 762, 7159, 637, 1574, 6914, 6928, 6929, - 6914, 6928, 6929, 2406, 254, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 37, - 552, 7451, 6914, 6478, 6478, 263, 6478, 263, 263, 263, 263, 6721, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 9636, 1, 1, 1, 1, 1, 1, 6914, 6484, 6481, 7463, 907, 263, 811, 1, 1588, 38, 6614, 6611, - 5692, 1195, 1, 6608, 6914, 1588, 261, 139, 6950, 1, 1, 6475, 1, 1590, 6914, 6914, 762, 7159, 637, 6914, - 934, 431, 6510, 6510, 6914, 318, 465, 254, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, - 7204, 7182, 728, 6914, 7451, 6914, 6478, 6478, 263, 6478, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9636, 1, 1, 1, 1, 1, 1, 2740, 318, 6914, 6928, 6929, 263, 117, 1, 811, - 116, 1588, 5484, 3673, 7352, 5484, 3883, 218, 6914, 6914, 6914, 4759, 1, 1, 6475, 1, 1590, 6920, 6922, - 762, 7159, 637, 3407, 4357, 2693, 2646, 2599, 2552, 2505, 2458, 2411, 2364, 2317, 2270, 337, 1, 6497, - 6493, 1772, 6490, 6914, 811, 6914, 1588, 7250, 7451, 6914, 6478, 6478, 263, 6478, 263, 263, 263, 263, - 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9636, 1, 1, 1, 1, 1, 1, 6919, 3135, 6921, 6914, - 113, 263, 4894, 1, 156, 572, 112, 144, 6914, 892, 4423, 4490, 5460, 4833, 120, 5460, 4833, 1, 1, 6475, - 1, 1590, 2994, 7406, 762, 7159, 637, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, - 7182, 1, 6497, 6493, 4299, 6490, 6911, 811, 6914, 1588, 4708, 4681, 7451, 6914, 6478, 6478, 263, 6478, - 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9636, 1, 1, 1, 1, 1, 1, 384, - 6914, 6928, 6929, 6914, 263, 5715, 1, 4423, 4490, 6926, 6914, 5715, 5738, 3545, 1445, 6914, 6914, 1, - 5738, 486, 1, 1, 6475, 1, 1590, 6920, 6626, 762, 7159, 637, 1, 6497, 6493, 3297, 907, 5600, 5531, 5623, - 1588, 146, 6661, 6688, 6694, 6667, 6670, 6682, 6679, 6685, 6676, 6673, 6664, 6691, 442, 7451, 1, 6914, - 6602, 6599, 6914, 1, 1445, 6724, 4530, 194, 5577, 5554, 5669, 5646, 6933, 6925, 5508, 148, 1863, 1998, - 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 5973, 476, 6925, 2061, 6919, 6914, 1488, - 6727, 6320, 4116, 6914, 553, 39, 39, 39, 6484, 6481, 6073, 907, 5600, 5531, 5623, 1588, 6896, 1860, - 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 1445, 5692, 1195, 7392, 577, 4116, - 194, 577, 4089, 1115, 6914, 6914, 5577, 5554, 5669, 5646, 6933, 398, 5508, 6924, 1863, 1998, 6935, 1930, - 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 6914, 142, 37, 6644, 6644, 1, 1488, 367, 4089, 1115, - 326, 1197, 1197, 320, 6802, 6712, 119, 6923, 6914, 6921, 39, 6484, 6481, 6073, 907, 5600, 5531, 5623, - 1588, 6709, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 37, 6644, 6644, 404, - 744, 7386, 7387, 7388, 4708, 4681, 326, 3372, 5577, 5554, 5669, 5646, 6933, 6950, 5508, 125, 1863, 1998, - 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 6914, 6700, 6697, 6914, 6921, 545, 1488, - 7233, 6914, 383, 543, 190, 2974, 4423, 4490, 6712, 174, 6484, 6481, 6073, 907, 5600, 5531, 5623, 1588, - 6950, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 1, 1, 1, 1395, 6914, 457, - 158, 6914, 10052, 6924, 224, 591, 5577, 5554, 5669, 5646, 6933, 29, 5508, 6950, 1863, 1998, 6935, 1930, - 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 1445, 29, 8, 4423, 4490, 5874, 1488, 6923, 224, 2787, - 5883, 6905, 39, 39, 1, 6497, 6493, 3297, 907, 5600, 5531, 5623, 1588, 147, 6661, 6688, 6694, 6667, 6670, - 6682, 6679, 6685, 6676, 6673, 6664, 6691, 1, 3587, 6914, 6623, 3588, 6914, 591, 3192, 411, 196, 3592, - 138, 5577, 5554, 5669, 5646, 6933, 6914, 5508, 1427, 1863, 1998, 6935, 1930, 5829, 1996, 6936, 6934, - 1857, 6930, 6931, 6932, 6914, 124, 3446, 6914, 461, 123, 1488, 6905, 6914, 4116, 6914, 6914, 39, 39, 39, - 6484, 6481, 6073, 907, 5600, 5531, 5623, 1588, 6709, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, - 7217, 7218, 7221, 7212, 1, 463, 3589, 2077, 196, 7414, 7420, 7418, 4089, 1115, 6914, 122, 5577, 5554, - 5669, 5646, 6933, 6914, 5508, 1662, 1863, 1998, 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, - 6932, 3591, 6914, 7412, 7413, 7443, 7444, 1488, 3508, 7421, 1, 6914, 2834, 4530, 4861, 4923, 6712, 2406, - 573, 6817, 4423, 4490, 3592, 7423, 4423, 4490, 43, 6706, 6706, 6914, 625, 6914, 4358, 2349, 7424, 1385, - 1425, 7445, 3481, 7422, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 584, - 6914, 6914, 7434, 7433, 2900, 7439, 7440, 7446, 7437, 7438, 7417, 7419, 7441, 4423, 4490, 7415, 7416, - 7442, 1445, 7427, 7428, 7429, 7425, 7426, 7435, 7436, 7431, 7430, 7432, 6820, 6703, 6914, 1427, 7447, - 39, 6484, 6481, 6073, 907, 5600, 5531, 5623, 1588, 6918, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, - 7217, 7218, 7221, 7212, 6914, 45, 6835, 6835, 6914, 10808, 10808, 6914, 11354, 9100, 6914, 6914, 5577, - 5554, 5669, 5646, 6933, 6914, 5508, 432, 1863, 1998, 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, - 6931, 6932, 1, 6497, 6493, 6796, 6490, 6745, 6757, 6748, 6501, 6914, 6661, 6688, 6694, 6667, 6670, 6682, - 6679, 6685, 6676, 6673, 6664, 6691, 4116, 48, 1, 6914, 6832, 6929, 136, 6950, 6914, 547, 6950, 4324, - 6742, 6739, 6754, 6751, 6769, 1143, 6736, 1427, 6784, 6793, 6763, 6787, 6733, 6790, 6760, 6766, 6781, - 6778, 6775, 6772, 1, 48, 6914, 4089, 1115, 6928, 1734, 6914, 6914, 6920, 6917, 4369, 6799, 6799, 39, - 6484, 6481, 6073, 907, 5600, 5531, 5623, 1588, 6929, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, - 7217, 7218, 7221, 7212, 1, 6914, 6914, 4530, 4533, 4558, 4985, 1, 6914, 377, 2947, 2037, 5577, 5554, - 5669, 5646, 6933, 6715, 5508, 6928, 1863, 1998, 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, - 6932, 6914, 3600, 6914, 4361, 6919, 4056, 1488, 39, 6484, 6481, 6073, 907, 5600, 5531, 5623, 1588, 6718, - 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 1445, 1786, 6914, 3220, 377, - 4757, 227, 377, 128, 6914, 6914, 377, 5577, 5554, 5669, 5646, 6933, 6914, 5508, 6914, 1863, 1998, 6935, - 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 6914, 100, 103, 4738, 595, 5116, 6914, 2394, 39, - 6484, 6481, 3297, 907, 5600, 5531, 5623, 1588, 99, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, - 7218, 7221, 7212, 4272, 1918, 1984, 6914, 6914, 6914, 6256, 127, 37, 6644, 6644, 6866, 5577, 5554, 5669, - 5646, 6933, 6914, 5508, 6879, 1863, 1998, 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, - 4620, 6914, 3679, 4218, 4191, 6914, 1488, 39, 6484, 6481, 3297, 907, 5600, 5531, 5623, 1588, 3234, 1860, - 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 4272, 6914, 6914, 6914, 2500, 6914, - 6892, 6888, 6914, 6914, 4887, 6869, 5577, 5554, 5669, 5646, 6933, 1712, 5508, 583, 1863, 1998, 6935, - 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 6914, 6914, 6914, 4218, 4191, 1747, 1488, 39, - 6484, 6481, 6073, 907, 5600, 5531, 5623, 1588, 6914, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, - 7217, 7218, 7221, 7212, 75, 6950, 2885, 3374, 6914, 6914, 313, 1, 73, 6908, 6914, 2, 5577, 5554, 5669, - 5646, 6933, 6715, 5508, 6914, 1863, 1998, 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, - 6914, 6914, 6914, 6914, 6976, 6977, 1488, 39, 6484, 6481, 6073, 907, 5600, 5531, 5623, 1588, 6718, 1860, - 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 4149, 6902, 6914, 3220, 37, 6914, - 6914, 6914, 6914, 6914, 3592, 6914, 5577, 5554, 5669, 5646, 6933, 6914, 5508, 6914, 1863, 1998, 6935, - 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 39, 6484, 6481, 3297, 907, 5600, 5531, 5623, 1588, - 6914, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 6914, 6914, 871, 6914, - 1047, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 5577, 5554, 5669, 5646, 6933, 6914, 5508, 6914, 1863, - 1998, 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 39, 6484, 6481, 3297, 907, 5600, 5531, - 5623, 1588, 6914, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 6914, 6914, - 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 5577, 5554, 5669, 5646, 6933, 6914, 5508, - 6914, 1863, 1998, 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 39, 6484, 6481, 6073, 907, - 5600, 5531, 5623, 1588, 6914, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, - 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 5577, 5554, 5669, 5646, 6933, - 6914, 5508, 6914, 1863, 1998, 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 6914, 6484, - 6481, 6914, 6952, 6914, 6914, 6914, 6914, 6914, 641, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, - 7218, 7221, 7212, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 6914, 6914, - 6914, 6914, 6914, 6914, 6914, 7349, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 275, 6589, 6585, 6914, - 6593, 6914, 603, 7350, 6914, 7351, 641, 6576, 6582, 6555, 6558, 6570, 6567, 6573, 6564, 6561, 6552, - 6579, 6531, 6525, 6522, 6549, 6528, 6540, 6519, 6534, 6537, 6546, 6543, 6516, 6914, 6914, 6914, 6914, - 6914, 6914, 6914, 7349, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6928, 6929, 6914, 6914, 6914, - 603, 7350, 6914, 7351, 1796, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 7208, - 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 6914, 6914, 6914, 6914, 6914, 6914, - 6914, 7349, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 275, 6814, 6811, 6914, 6914, 6914, 603, 7350, - 6914, 7351, 1796, 6576, 6582, 6555, 6558, 6570, 6567, 6573, 6564, 6561, 6552, 6579, 6531, 6525, 6522, - 6549, 6528, 6540, 6519, 6534, 6537, 6546, 6543, 6516, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 7349, - 29, 424, 424, 6857, 424, 6857, 424, 6857, 424, 6857, 6914, 6914, 6914, 603, 7350, 6914, 7351, 6914, 574, - 6914, 6914, 6914, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 6914, 6914, 6914, 6914, - 6914, 6857, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 6914, 6914, 6623, - 6914, 6914, 6914, 6914, 6914, 6914, 6857, 32, 425, 425, 6854, 425, 6854, 425, 6854, 425, 6854, 6857, - 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 425, 425, 425, 425, 425, 425, 425, - 425, 425, 425, 425, 425, 6914, 6914, 6914, 6914, 6914, 6854, 6914, 6914, 6914, 6914, 6914, 6914, 6914, - 6914, 6914, 6914, 6914, 37, 6928, 6928, 6928, 6928, 6928, 6914, 6928, 6914, 6914, 6854, 6914, 575, 6914, - 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6854, 6928, 6928, 6928, 6928, 6928, 6928, 6928, 6928, 6928, - 6928, 6928, 6928, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 6914, 6914, - 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6928, 6914, 6914, 6914, - 6928, 6914, 6914, 6928 }; - } - - public final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[index]; - } - - public interface Asb { - public final static char asb[] = { 0, 946, 7, 1159, 258, 563, 419, 53, 1074, 61, 66, 1120, 519, 330, 61, 997, - 1008, 68, 1008, 63, 1008, 1, 1008, 992, 1008, 519, 520, 115, 419, 514, 158, 678, 678, 523, 520, 678, - 520, 258, 751, 1072, 9, 68, 68, 273, 520, 331, 112, 165, 65, 987, 66, 519, 277, 520, 520, 51, 212, 432, - 432, 270, 260, 260, 517, 267, 269, 514, 520, 427, 112, 277, 277, 675, 376, 112, 678, 678, 751, 678, 520, - 49, 861, 181, 1122, 1122, 1121, 1121, 68, 519, 520, 331, 270, 165, 520, 432, 595, 430, 51, 68, 633, 520, - 277, 51, 520, 1113, 432, 68, 519, 336, 514, 520, 481, 121, 514, 1113, 673, 671, 277, 277, 517, 376, 376, - 331, 861, 181, 1121, 1121, 1121, 520, 270, 270, 724, 520, 165, 853, 66, 751, 329, 843, 165, 432, 431, - 432, 432, 51, 633, 633, 520, 1072, 564, 250, 258, 751, 751, 751, 751, 519, 258, 160, 482, 482, 482, 482, - 482, 482, 482, 482, 482, 680, 686, 691, 688, 465, 1049, 1047, 1054, 1052, 1056, 1055, 1057, 379, 1058, - 1071, 520, 212, 520, 68, 445, 639, 520, 258, 376, 465, 693, 698, 695, 701, 700, 703, 702, 718, 428, 112, - 481, 724, 68, 704, 428, 671, 1072, 1072, 675, 112, 656, 827, 838, 1071, 751, 55, 55, 724, 724, 1121, - 520, 49, 845, 432, 432, 432, 432, 520, 633, 723, 727, 723, 600, 611, 611, 611, 611, 557, 519, 517, 857, - 835, 834, 465, 563, 563, 563, 563, 520, 71, 904, 562, 49, 465, 680, 48, 48, 71, 481, 482, 482, 482, 482, - 482, 482, 482, 112, 112, 248, 465, 732, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 481, 481, - 481, 481, 481, 481, 481, 481, 481, 481, 481, 481, 482, 465, 1113, 643, 446, 519, 520, 71, 482, 482, 482, - 482, 482, 482, 482, 482, 482, 482, 481, 482, 737, 724, 121, 481, 481, 481, 481, 481, 481, 481, 481, 481, - 481, 481, 671, 671, 645, 481, 836, 836, 855, 517, 753, 181, 1122, 181, 1070, 1070, 724, 270, 331, 269, - 482, 853, 268, 744, 432, 432, 896, 723, 724, 482, 520, 520, 248, 112, 859, 861, 112, 112, 1072, 1072, - 1072, 1072, 51, 112, 376, 562, 481, 112, 330, 332, 330, 112, 376, 688, 688, 686, 686, 686, 482, 786, - 1014, 1014, 519, 160, 482, 1047, 1047, 1047, 691, 691, 1052, 1049, 1049, 1055, 1054, 1056, 853, 1057, - 643, 445, 853, 482, 853, 270, 444, 258, 258, 258, 446, 258, 520, 386, 270, 270, 520, 68, 112, 695, 695, - 693, 693, 693, 693, 700, 698, 702, 701, 853, 703, 481, 121, 671, 670, 645, 481, 481, 859, 827, 181, 563, - 563, 270, 845, 482, 482, 639, 209, 897, 520, 724, 51, 112, 861, 258, 258, 258, 258, 520, 520, 482, 563, - 684, 214, 112, 520, 332, 49, 520, 49, 822, 481, 436, 258, 436, 446, 853, 446, 465, 465, 463, 444, 465, - 270, 270, 668, 443, 481, 723, 671, 647, 1071, 896, 520, 519, 519, 520, 520, 660, 112, 481, 481, 481, - 481, 258, 258, 112, 684, 517, 212, 520, 331, 51, 331, 753, 446, 112, 514, 112, 463, 419, 258, 112, 643, - 722, 120, 647, 593, 520, 520, 520, 660, 660, 112, 112, 112, 112, 71, 71, 684, 685, 684, 481, 214, 334, - 680, 212, 520, 112, 112, 810, 446, 668, 446, 270, 419, 481, 446, 443, 722, 722, 258, 55, 520, 520, 652, - 660, 112, 112, 684, 71, 482, 376, 334, 797, 68, 68, 936, 481, 444, 71, 270, 112, 862, 1070, 652, 652, - 685, 112, 376, 446, 112, 270, 839, 330, 652, 446, 563 }; - } - - public final static char asb[] = Asb.asb; - - @Override - public final int asb(int index) { - return asb[index]; - } - - public interface Asr { - public final static byte asr[] = { 0, 4, 9, 69, 1, 2, 0, 120, 0, 64, 25, 11, 12, 41, 23, 13, 55, 26, 88, 27, 14, - 28, 29, 15, 16, 30, 59, 31, 17, 18, 32, 56, 33, 10, 58, 19, 62, 22, 20, 24, 21, 3, 7, 5, 39, 63, 69, 9, - 4, 8, 6, 1, 2, 57, 0, 65, 70, 68, 1, 2, 0, 38, 0, 57, 4, 71, 1, 2, 69, 9, 0, 11, 12, 42, 66, 13, 43, 44, - 14, 15, 16, 67, 8, 45, 17, 18, 46, 47, 48, 60, 49, 50, 10, 19, 20, 21, 51, 52, 53, 38, 1, 2, 3, 36, 37, - 7, 5, 34, 35, 6, 40, 4, 72, 9, 0, 9, 71, 69, 74, 0, 73, 60, 36, 37, 7, 5, 34, 35, 40, 46, 3, 4, 51, 52, - 53, 38, 49, 44, 48, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 10, 43, 47, 45, 42, 50, 69, 9, 8, 6, 1, - 2, 67, 66, 0, 88, 59, 8, 114, 115, 116, 62, 9, 3, 7, 5, 6, 71, 73, 39, 63, 25, 11, 12, 41, 23, 13, 55, - 26, 27, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 56, 57, 33, 10, 58, 19, 20, 24, 21, 1, 2, 22, 4, 0, 98, - 91, 34, 35, 99, 100, 86, 87, 54, 89, 90, 92, 93, 94, 95, 96, 101, 102, 71, 97, 70, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 118, 73, 39, 9, 72, 65, 68, 1, 2, 7, 5, 4, 61, 3, 0, 74, 65, 71, 97, 72, - 69, 61, 3, 70, 68, 39, 9, 0, 9, 69, 70, 0, 25, 11, 12, 41, 23, 42, 66, 13, 43, 55, 26, 27, 44, 14, 28, - 29, 15, 16, 30, 67, 31, 45, 17, 18, 46, 32, 47, 56, 48, 60, 49, 33, 50, 58, 19, 22, 20, 24, 21, 51, 52, - 53, 38, 3, 36, 37, 7, 5, 34, 35, 40, 65, 10, 4, 8, 1, 2, 6, 0, 66, 67, 3, 10, 43, 47, 45, 42, 50, 12, - 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 51, 52, 53, 38, 49, 44, 48, 6, 8, 4, 36, 37, 7, 5, 34, 35, 40, - 46, 1, 2, 118, 9, 0, 65, 71, 97, 68, 118, 72, 73, 11, 12, 42, 66, 13, 43, 44, 14, 15, 16, 67, 45, 17, - 18, 46, 47, 48, 60, 49, 50, 10, 19, 20, 21, 51, 52, 53, 38, 36, 37, 34, 35, 40, 9, 39, 6, 8, 1, 2, 4, 3, - 7, 5, 0, 4, 54, 9, 71, 69, 0, 88, 114, 115, 116, 57, 71, 120, 113, 121, 73, 63, 74, 62, 59, 64, 76, 78, - 84, 82, 75, 80, 81, 83, 85, 69, 77, 79, 39, 9, 23, 41, 55, 26, 27, 28, 29, 30, 25, 31, 32, 56, 33, 58, - 22, 24, 60, 66, 67, 10, 43, 47, 45, 42, 50, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 51, 52, 53, 38, - 49, 44, 48, 36, 37, 34, 35, 40, 46, 6, 8, 3, 7, 5, 4, 1, 2, 0, 67, 66, 34, 35, 99, 100, 94, 95, 6, 40, - 70, 54, 106, 107, 103, 104, 105, 111, 110, 112, 87, 86, 108, 109, 92, 93, 89, 90, 96, 101, 36, 37, 91, - 117, 61, 7, 5, 65, 68, 3, 4, 10, 1, 2, 55, 56, 58, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 25, 31, - 32, 27, 30, 29, 22, 26, 23, 24, 28, 33, 41, 0, 4, 9, 71, 69, 0, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, - 20, 1, 2, 61, 3, 7, 5, 65, 4, 68, 25, 31, 32, 27, 30, 29, 22, 26, 23, 24, 28, 33, 0, 1, 2, 9, 68, 73, 0, - 9, 69, 68, 0, 113, 0, 23, 24, 74, 3, 71, 39, 69, 60, 65, 70, 68, 9, 72, 97, 0, 23, 60, 24, 9, 65, 97, - 68, 72, 70, 0, 60, 23, 24, 8, 6, 1, 2, 4, 74, 69, 119, 117, 36, 37, 61, 3, 98, 91, 5, 99, 100, 34, 35, - 87, 86, 54, 89, 90, 92, 93, 7, 94, 95, 96, 65, 97, 72, 70, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 71, 118, 101, 102, 39, 68, 73, 9, 0, 9, 68, 73, 70, 0, 54, 65, 89, 90, 0, 9, 71, 118, 72, 39, 68, - 0, 71, 9, 61, 3, 70, 68, 39, 54, 0, 25, 11, 12, 41, 23, 13, 55, 26, 27, 14, 28, 29, 15, 16, 30, 31, 17, - 18, 32, 56, 33, 10, 58, 19, 22, 20, 24, 21, 1, 2, 4, 97, 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 25, 23, 26, 27, 28, 29, 30, 31, 32, 33, 22, 24, 39, 9, 72, 8, 1, 2, 61, 3, 7, 5, 6, 4, 0, 72, 9, 87, 86, - 0, 7, 5, 8, 6, 4, 1, 2, 3, 61, 65, 70, 97, 72, 9, 68, 0, 39, 9, 3, 8, 6, 7, 5, 4, 1, 2, 71, 0, 6, 8, 3, - 61, 5, 7, 97, 25, 11, 12, 41, 23, 13, 55, 26, 27, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 56, 33, 10, - 58, 19, 22, 20, 24, 21, 1, 2, 4, 72, 9, 0, 22, 1, 2, 4, 114, 115, 116, 0, 66, 67, 36, 37, 34, 35, 40, - 46, 51, 52, 53, 38, 49, 44, 48, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 10, 43, 47, 45, 42, 50, 7, - 5, 3, 61, 8, 6, 4, 1, 2, 0, 9, 3, 7, 5, 6, 8, 39, 25, 11, 12, 41, 23, 13, 55, 26, 14, 28, 29, 15, 16, - 30, 31, 17, 18, 32, 56, 33, 10, 58, 19, 22, 20, 24, 21, 120, 63, 59, 27, 88, 64, 62, 57, 1, 2, 4, 0, 10, - 55, 41, 56, 58, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 74, 71, 97, 118, 73, 69, 8, 31, 32, 33, 22, - 24, 1, 2, 30, 29, 28, 27, 26, 6, 4, 23, 25, 119, 98, 117, 91, 36, 37, 34, 35, 99, 100, 9, 61, 3, 5, 72, - 39, 87, 86, 54, 89, 90, 92, 93, 7, 94, 95, 96, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 70, 68, 65, 0, 41, 23, 13, 55, 26, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 56, 33, 10, 58, 19, 22, - 20, 24, 21, 12, 11, 25, 9, 3, 7, 39, 62, 59, 64, 88, 27, 63, 54, 4, 8, 5, 6, 1, 2, 57, 0, 120, 73, 41, - 23, 13, 55, 26, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 56, 33, 58, 19, 22, 20, 24, 21, 12, 11, 25, 9, - 3, 7, 5, 39, 63, 27, 88, 64, 62, 57, 8, 1, 2, 6, 4, 10, 59, 0 }; - } - - public final static byte asr[] = Asr.asr; - - @Override - public final int asr(int index) { - return asr[index]; - } - - public interface Nasb { - public final static char nasb[] = { 0, 270, 12, 41, 12, 5, 166, 12, 284, 12, 117, 284, 80, 80, 12, 281, 282, - 221, 282, 49, 282, 13, 282, 275, 12, 10, 173, 188, 156, 183, 240, 12, 12, 113, 267, 12, 173, 12, 12, 12, - 220, 221, 118, 12, 227, 227, 97, 188, 43, 80, 70, 80, 188, 173, 11, 12, 12, 188, 68, 178, 85, 85, 161, - 16, 12, 236, 173, 12, 97, 188, 188, 34, 104, 97, 12, 12, 12, 12, 11, 22, 188, 188, 284, 284, 188, 188, - 221, 80, 135, 240, 178, 297, 44, 91, 91, 12, 227, 221, 188, 227, 24, 123, 44, 93, 68, 120, 64, 99, 236, - 173, 61, 74, 183, 131, 163, 163, 24, 24, 161, 104, 104, 240, 208, 208, 270, 270, 188, 227, 178, 178, - 109, 173, 178, 12, 134, 12, 41, 165, 297, 91, 91, 188, 188, 123, 188, 268, 11, 12, 253, 212, 12, 12, 12, - 12, 12, 80, 12, 173, 76, 76, 263, 76, 76, 76, 76, 76, 76, 12, 12, 12, 12, 143, 12, 12, 12, 12, 12, 12, - 12, 76, 12, 12, 44, 12, 11, 120, 108, 12, 227, 12, 104, 148, 12, 12, 12, 12, 12, 12, 12, 12, 163, 97, - 76, 188, 221, 12, 12, 188, 12, 12, 192, 97, 12, 181, 12, 12, 12, 32, 32, 109, 109, 270, 135, 22, 156, - 188, 188, 39, 39, 44, 268, 37, 12, 12, 281, 282, 282, 282, 282, 289, 10, 161, 211, 85, 85, 148, 305, - 305, 305, 305, 173, 58, 76, 89, 22, 148, 12, 52, 52, 58, 149, 76, 76, 76, 76, 76, 76, 76, 97, 97, 212, - 1, 12, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 149, 76, - 24, 93, 188, 199, 64, 11, 58, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 149, 76, 12, 109, 188, 76, 76, 76, - 76, 76, 76, 76, 76, 76, 76, 76, 163, 141, 188, 76, 12, 12, 180, 161, 208, 208, 284, 188, 12, 12, 109, - 178, 240, 178, 76, 12, 137, 12, 39, 39, 230, 37, 109, 76, 268, 173, 190, 97, 205, 188, 97, 97, 12, 12, - 12, 12, 21, 97, 104, 305, 61, 97, 239, 173, 239, 97, 104, 12, 12, 12, 12, 12, 76, 12, 12, 12, 10, 173, - 76, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 47, 216, 12, 76, 12, 178, 12, 12, 12, 12, 217, - 12, 268, 176, 178, 178, 268, 126, 97, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 76, 74, 188, 141, - 141, 76, 76, 205, 234, 208, 305, 305, 178, 183, 76, 76, 12, 80, 139, 227, 109, 123, 97, 208, 12, 12, 12, - 12, 44, 11, 76, 305, 188, 82, 97, 173, 260, 22, 173, 22, 97, 76, 111, 12, 12, 217, 12, 217, 223, 223, - 244, 12, 223, 178, 178, 12, 188, 76, 109, 141, 188, 12, 152, 227, 80, 80, 11, 44, 188, 97, 149, 149, - 149, 149, 12, 12, 97, 18, 192, 12, 267, 44, 20, 44, 305, 217, 97, 183, 97, 249, 188, 12, 97, 47, 106, - 73, 87, 12, 11, 227, 227, 141, 188, 97, 97, 97, 97, 58, 58, 188, 129, 12, 149, 192, 261, 12, 12, 44, 97, - 97, 188, 217, 12, 217, 178, 183, 149, 217, 111, 106, 12, 12, 32, 11, 11, 188, 141, 97, 97, 18, 58, 76, - 104, 261, 12, 126, 126, 181, 76, 12, 196, 178, 97, 304, 12, 87, 188, 129, 97, 104, 217, 97, 178, 97, - 239, 87, 217, 305 }; - } - - public final static char nasb[] = Nasb.nasb; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - public interface Nasr { - public final static char nasr[] = { 0, 3, 13, 10, 9, 137, 136, 113, 135, 134, 4, 2, 0, 166, 200, 0, 201, 0, 161, - 0, 2, 154, 75, 0, 4, 10, 9, 2, 13, 129, 5, 0, 123, 0, 5, 212, 0, 167, 0, 125, 0, 170, 0, 44, 2, 3, 0, - 175, 0, 166, 205, 0, 4, 2, 9, 10, 157, 0, 5, 105, 0, 5, 28, 0, 186, 4, 185, 0, 173, 0, 42, 1, 0, 81, - 148, 42, 13, 2, 9, 10, 4, 0, 5, 194, 0, 80, 0, 144, 0, 192, 0, 124, 0, 75, 156, 155, 0, 30, 0, 13, 2, 9, - 10, 4, 94, 0, 176, 0, 5, 81, 0, 131, 0, 5, 52, 213, 0, 1, 140, 0, 42, 174, 0, 2, 75, 0, 42, 66, 0, 159, - 0, 75, 59, 0, 140, 119, 0, 208, 0, 210, 0, 51, 0, 13, 2, 9, 10, 4, 52, 5, 37, 0, 4, 115, 182, 0, 5, 10, - 9, 2, 78, 4, 98, 59, 0, 39, 4, 2, 9, 10, 5, 172, 0, 2, 44, 0, 5, 37, 39, 0, 30, 101, 100, 78, 4, 2, 9, - 10, 5, 0, 101, 100, 59, 4, 68, 0, 5, 195, 0, 5, 49, 42, 37, 196, 0, 59, 4, 98, 27, 5, 0, 30, 100, 101, - 5, 0, 81, 37, 49, 82, 5, 42, 0, 5, 52, 117, 0, 2, 67, 0, 4, 115, 209, 0, 101, 100, 59, 78, 68, 4, 10, 9, - 2, 0, 37, 5, 27, 198, 0, 52, 5, 197, 0, 137, 214, 136, 113, 135, 134, 0, 2, 132, 0, 4, 10, 9, 13, 3, 1, - 0, 118, 92, 49, 5, 0, 2, 4, 113, 110, 111, 112, 13, 69, 0, 5, 49, 92, 95, 0, 113, 69, 13, 110, 111, 112, - 190, 0, 5, 49, 92, 115, 47, 4, 0, 30, 5, 52, 0 }; - } - - public final static char nasr[] = Nasr.nasr; - - @Override - public final int nasr(int index) { - return nasr[index]; - } - - public interface TerminalIndex { - public final static char terminalIndex[] = { 0, 113, 114, 2, 31, 10, 13, 9, 79, 115, 100, 48, 52, 60, 68, 74, - 75, 86, 87, 102, 105, 107, 104, 54, 106, 47, 64, 66, 70, 73, 76, 83, 89, 98, 11, 12, 7, 8, 112, 120, 14, - 53, 55, 61, 67, 84, 88, 90, 94, 97, 99, 109, 110, 111, 19, 63, 91, 93, 101, 77, 95, 1, 103, 122, 46, 20, - 58, 78, 44, 121, 33, 30, 118, 119, 96, 108, 49, 50, 56, 57, 59, 69, 71, 72, 85, 92, 17, 18, 65, 21, 22, - 6, 23, 24, 25, 26, 27, 32, 4, 15, 16, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 51, 80, 81, 82, 5, - 117, 3, 123, 62, 116 }; - } - - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - - @Override - public final int terminalIndex(int index) { - return terminalIndex[index]; - } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = { 0, 129, 134, 135, 0, 0, 133, 0, 0, 236, 242, 132, 0, 142, 0, - 131, 0, 0, 141, 147, 0, 0, 148, 157, 158, 159, 160, 187, 150, 0, 125, 161, 140, 162, 163, 164, 165, 130, - 166, 127, 167, 0, 128, 137, 136, 169, 168, 184, 0, 0, 170, 194, 151, 171, 0, 0, 0, 0, 0, 0, 172, 173, - 174, 175, 0, 176, 179, 0, 154, 193, 0, 0, 0, 211, 0, 0, 144, 208, 212, 0, 213, 126, 178, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 182, 124, 185, 0, 0, 209, 215, 216, 217, 0, 219, 156, 0, 145, 0, 0, 214, 196, 197, 198, - 200, 226, 227, 0, 181, 186, 203, 0, 0, 218, 0, 0, 0, 0, 247, 0, 250, 0, 251, 146, 188, 189, 190, 191, - 195, 199, 202, 0, 205, 0, 206, 0, 221, 224, 0, 0, 0, 245, 0, 246, 0, 0, 138, 139, 143, 0, 0, 153, 155, - 0, 177, 0, 192, 0, 0, 0, 201, 0, 204, 210, 0, 222, 223, 0, 0, 228, 231, 0, 233, 235, 0, 239, 240, 241, - 244, 0, 0, 248, 0, 0, 149, 152, 0, 180, 0, 183, 0, 0, 207, 220, 225, 0, 0, 229, 230, 232, 234, 0, 237, - 238, 243, 249, 252, 253, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - - @Override - public final int nonterminalIndex(int index) { - return nonterminalIndex[index]; - } - - public interface ScopePrefix { - public final static char scopePrefix[] = { 172, 324, 608, 627, 317, 332, 559, 575, 586, 597, 372, 280, 294, 311, - 344, 55, 305, 392, 430, 180, 616, 502, 20, 33, 64, 84, 93, 98, 103, 143, 208, 339, 350, 20, 467, 157, - 286, 300, 530, 40, 157, 382, 20, 635, 40, 230, 259, 1, 14, 27, 74, 89, 119, 27, 361, 365, 448, 495, 524, - 551, 555, 645, 649, 653, 110, 7, 110, 410, 426, 439, 460, 479, 543, 129, 129, 245, 439, 566, 582, 593, - 604, 220, 513, 69, 69, 169, 235, 238, 69, 254, 275, 238, 238, 69, 369, 492, 499, 169, 69, 668, 123, 355, - 414, 454, 486, 472, 69, 355, 401, 190, 117, 452, 657, 664, 657, 664, 78, 420, 150, 117, 117, 264 }; - } - - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - - @Override - public final int scopePrefix(int index) { - return scopePrefix[index]; - } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { 18, 148, 5, 5, 148, 148, 5, 5, 5, 5, 379, 148, 108, 148, 25, 61, 291, - 398, 436, 186, 80, 508, 25, 38, 38, 38, 72, 72, 108, 148, 213, 31, 31, 25, 5, 162, 291, 114, 535, 51, - 165, 387, 622, 640, 45, 224, 224, 5, 18, 31, 5, 72, 108, 31, 108, 108, 148, 257, 5, 5, 5, 5, 5, 257, - 666, 11, 114, 379, 379, 379, 464, 483, 535, 133, 138, 249, 443, 570, 570, 570, 570, 224, 517, 72, 72, 5, - 5, 241, 243, 257, 5, 278, 278, 243, 108, 5, 257, 5, 528, 5, 126, 358, 417, 457, 489, 475, 547, 538, 404, - 193, 108, 108, 659, 659, 661, 661, 80, 422, 152, 215, 200, 266 }; - } - - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - - @Override - public final int scopeSuffix(int index) { - return scopeSuffix[index]; - } - - public interface ScopeLhs { - public final static char scopeLhs[] = { 47, 112, 18, 18, 91, 112, 18, 18, 18, 18, 85, 97, 48, 91, 111, 89, 57, - 85, 84, 47, 18, 20, 190, 3, 7, 8, 182, 182, 178, 110, 47, 111, 111, 138, 45, 147, 58, 48, 157, 151, 147, - 85, 18, 18, 151, 102, 72, 153, 88, 190, 185, 182, 178, 138, 199, 55, 66, 161, 19, 18, 18, 18, 18, 18, - 12, 131, 178, 85, 84, 84, 64, 41, 157, 114, 114, 68, 84, 18, 18, 18, 18, 102, 20, 186, 182, 201, 100, - 109, 74, 80, 73, 172, 93, 138, 86, 162, 161, 192, 157, 17, 178, 138, 117, 83, 22, 45, 157, 157, 85, 47, - 178, 79, 155, 44, 155, 44, 185, 117, 110, 47, 47, 72 }; - } - - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - - @Override - public final int scopeLhs(int index) { - return scopeLhs[index]; - } - - public interface ScopeLa { - public final static byte scopeLa[] = { 113, 73, 72, 72, 73, 73, 72, 72, 72, 72, 72, 73, 39, 73, 1, 65, 1, 72, - 121, 69, 3, 72, 1, 65, 65, 65, 1, 1, 39, 73, 69, 1, 1, 1, 72, 73, 1, 1, 4, 65, 68, 39, 1, 1, 65, 72, 72, - 72, 113, 1, 72, 1, 39, 1, 39, 39, 73, 118, 72, 72, 72, 72, 72, 118, 1, 72, 1, 72, 72, 72, 71, 71, 4, 1, - 1, 5, 72, 65, 65, 65, 65, 72, 3, 1, 1, 72, 72, 3, 1, 118, 72, 1, 1, 1, 39, 72, 118, 72, 6, 72, 1, 57, - 70, 71, 72, 65, 1, 57, 75, 74, 39, 39, 4, 4, 4, 4, 3, 1, 69, 1, 1, 3 }; - } - - public final static byte scopeLa[] = ScopeLa.scopeLa; - - @Override - public final int scopeLa(int index) { - return scopeLa[index]; - } - - public interface ScopeStateSet { - public final static char scopeStateSet[] = { 342, 336, 245, 245, 365, 336, 245, 245, 245, 245, 353, 367, 342, - 365, 336, 365, 344, 353, 353, 342, 245, 245, 42, 175, 221, 221, 21, 21, 97, 336, 342, 336, 336, 338, 72, - 332, 344, 342, 37, 45, 332, 353, 245, 245, 45, 106, 156, 4, 353, 42, 49, 21, 97, 338, 35, 344, 52, 8, - 245, 245, 245, 245, 245, 245, 225, 16, 97, 353, 353, 353, 80, 305, 37, 336, 336, 115, 353, 245, 245, - 245, 245, 106, 245, 49, 21, 100, 106, 108, 156, 102, 156, 172, 161, 338, 353, 1, 8, 40, 37, 245, 97, - 338, 11, 353, 246, 72, 37, 37, 353, 342, 97, 24, 69, 131, 69, 131, 49, 11, 336, 342, 342, 156 }; - } - - public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; - - @Override - public final int scopeStateSet(int index) { - return scopeStateSet[index]; - } - - public interface ScopeRhs { - public final static char scopeRhs[] = { 0, 338, 3, 60, 0, 125, 0, 337, 3, 113, 0, 125, 179, 0, 127, 188, 74, 0, - 223, 0, 197, 166, 126, 10, 0, 135, 0, 166, 126, 10, 0, 134, 0, 271, 127, 54, 124, 0, 20, 0, 309, 127, - 54, 57, 0, 20, 53, 0, 33, 131, 0, 20, 53, 0, 0, 309, 127, 54, 57, 214, 0, 20, 185, 0, 271, 127, 54, 132, - 0, 189, 126, 0, 140, 0, 227, 3, 308, 0, 308, 0, 2, 0, 125, 0, 271, 127, 54, 131, 0, 189, 126, 237, 0, - 189, 126, 22, 237, 0, 189, 126, 332, 22, 0, 128, 197, 166, 126, 0, 127, 0, 197, 166, 126, 0, 133, 127, - 0, 171, 0, 328, 127, 171, 0, 127, 171, 0, 229, 127, 0, 166, 327, 235, 0, 135, 0, 0, 0, 0, 134, 0, 0, 0, - 0, 326, 127, 164, 236, 0, 126, 0, 236, 0, 128, 0, 0, 126, 0, 325, 127, 164, 270, 0, 126, 0, 0, 44, 126, - 0, 0, 150, 3, 0, 127, 296, 295, 127, 74, 294, 171, 0, 295, 127, 74, 294, 171, 0, 222, 0, 223, 0, 294, - 171, 0, 96, 0, 0, 222, 0, 223, 0, 210, 96, 0, 0, 222, 0, 223, 0, 295, 127, 294, 171, 0, 222, 0, 210, 0, - 0, 222, 0, 242, 127, 3, 0, 125, 0, 0, 0, 0, 0, 242, 127, 3, 222, 0, 231, 3, 0, 220, 127, 0, 215, 0, 145, - 0, 181, 166, 126, 0, 10, 0, 0, 0, 0, 226, 61, 0, 124, 0, 242, 127, 3, 195, 0, 195, 0, 2, 0, 0, 125, 0, - 0, 0, 0, 0, 215, 3, 0, 208, 0, 238, 127, 164, 38, 27, 0, 189, 126, 59, 62, 0, 203, 127, 0, 128, 189, - 126, 292, 62, 0, 189, 126, 292, 62, 0, 189, 126, 70, 123, 59, 0, 238, 127, 164, 262, 59, 0, 238, 127, - 164, 262, 241, 59, 0, 289, 290, 127, 164, 123, 322, 55, 0, 289, 290, 127, 164, 322, 55, 0, 189, 126, - 288, 55, 0, 197, 189, 126, 288, 235, 0, 189, 126, 288, 235, 0, 166, 126, 0, 93, 135, 0, 286, 127, 149, - 0, 286, 127, 171, 0, 159, 84, 0, 317, 161, 319, 320, 3, 81, 0, 125, 178, 0, 319, 320, 3, 81, 0, 127, 0, - 125, 178, 0, 159, 3, 75, 204, 80, 0, 125, 127, 0, 204, 80, 0, 108, 2, 130, 125, 127, 0, 239, 3, 75, 0, - 215, 174, 0, 33, 168, 0, 174, 0, 182, 33, 168, 0, 239, 3, 85, 0, 204, 152, 239, 3, 83, 0, 62, 178, 0, - 239, 3, 83, 0, 125, 178, 62, 178, 0, 318, 127, 164, 0, 159, 0, 226, 77, 0, 30, 178, 0, 159, 102, 185, 0, - 30, 176, 0, 148, 65, 167, 3, 0, 167, 3, 0, 20, 160, 125, 0, 159, 102, 162, 0, 30, 168, 0, 198, 3, 0, - 125, 148, 0, 227, 3, 0, 226, 61, 283, 0, 159, 61, 0, 198, 3, 314, 67, 126, 0, 125, 0, 0, 0, 0, 314, 67, - 126, 0, 2, 144, 125, 0, 0, 0, 0, 198, 3, 46, 0, 146, 0, 125, 57, 166, 126, 0, 31, 146, 0, 93, 135, 31, - 146, 0, 228, 189, 126, 0, 145, 31, 146, 0, 198, 3, 50, 0, 159, 3, 50, 0, 159, 3, 65, 198, 54, 42, 0, - 198, 54, 42, 0, 20, 2, 130, 125, 0, 159, 3, 65, 198, 54, 45, 0, 198, 54, 45, 0, 159, 3, 65, 198, 54, 47, - 0, 198, 54, 47, 0, 159, 3, 65, 198, 54, 43, 0, 198, 54, 43, 0, 227, 3, 125, 197, 166, 126, 10, 0, 125, - 197, 166, 126, 10, 0, 135, 2, 0, 125, 0, 227, 3, 124, 276, 166, 126, 10, 0, 276, 166, 126, 10, 0, 134, - 2, 0, 125, 0, 227, 3, 135, 0, 227, 3, 140, 0, 159, 61, 140, 0, 278, 0, 31, 0, 31, 138, 0, 165, 0, 133, - 0, 159, 3, 0 }; - } - - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - - @Override - public final int scopeRhs(int index) { - return scopeRhs[index]; - } - - public interface ScopeState { - public final static char scopeState[] = { 0, 2721, 1967, 0, 2438, 1974, 1194, 0, 1326, 640, 0, 4993, 6320, 6287, - 4751, 0, 2510, 1533, 1572, 802, 0, 3481, 4759, 0, 5371, 5309, 5211, 5109, 5047, 4985, 4923, 4861, 4744, - 4579, 4517, 4894, 0, 1047, 871, 0, 1195, 0, 6230, 5171, 0, 3477, 3883, 3385, 0, 2061, 927, 0, 5371, - 5309, 2123, 1991, 5211, 5109, 5047, 4985, 4923, 4861, 1859, 4744, 4579, 4517, 1665, 1595, 0, 1443, 1375, - 0, 3344, 3446, 3636, 3545, 3918, 3851, 3725, 3297, 2834, 934, 2204, 2138, 2072, 2006, 1940, 1874, 1808, - 1742, 1676, 1610, 1544, 841, 770, 677, 0, 6262, 6246, 0, 626, 0, 2944, 2862, 1848, 1189, 4805, 4316, - 4668, 4299, 3393, 4530, 3945, 3082, 0, 3327, 760, 4805, 5056, 4521, 4316, 3376, 3273, 3990, 1039, 3163, - 4469, 3831, 1473, 3752, 0, 6064, 6028, 5905, 5913, 5404, 5825, 5379, 5286, 5400, 5300, 5180, 5230, 4612, - 5076, 3771, 5014, 4956, 4952, 673, 765, 4869, 4752, 4550, 4027, 0, 4805, 4003, 4469, 3831, 652, 4668, - 5198, 1904, 744, 4299, 3990, 3945, 1574, 1772, 3752, 0, 4003, 652, 0, 2359, 2312, 2547, 6064, 6028, - 1390, 2500, 2453, 2406, 2260, 1259, 5905, 5913, 5217, 5404, 2192, 5825, 5379, 5286, 5400, 973, 5300, - 1840, 5180, 3089, 1437, 5230, 4612, 5076, 3771, 1341, 5014, 4956, 964, 3187, 4952, 2782, 673, 765, 4869, - 4752, 4550, 811, 4027, 5992, 4351, 2864, 2234, 1199, 907, 2037, 4668, 5198, 1904, 744, 4805, 2168, 2102, - 4299, 1047, 871, 3990, 3945, 4003, 1574, 4469, 3831, 1772, 3752, 652, 5829, 2834, 5784, 4324, 5761, - 3407, 3600, 3508, 3776, 3690, 4272, 4245, 4218, 4191, 3958, 1264, 934, 3344, 2204, 2138, 2072, 2006, - 1940, 1874, 1808, 1742, 1676, 1610, 1544, 3446, 3636, 3545, 3918, 3851, 3725, 4490, 4423, 4116, 4089, - 1115, 5484, 5460, 4833, 4708, 4681, 5738, 5715, 5692, 3297, 5669, 5646, 5623, 5600, 5577, 5554, 5531, - 5508, 841, 770, 677, 2947, 3234, 2900, 3192, 3135, 1395, 1348, 2787, 3093, 3036, 2994, 1299, 2740, 2693, - 2646, 2599, 2552, 2505, 2458, 2411, 2364, 2317, 2270, 598, 1217, 1488, 1445, 1068, 1000, 1150, 0, 6230, - 5171, 598, 5992, 4351, 0, 6262, 6246, 6180, 5961, 5885, 5873, 6168, 6109, 6086, 6027, 5807, 5371, 5309, - 5211, 5109, 5047, 4985, 4923, 4861, 4744, 4579, 4517, 0, 6262, 6246, 6180, 5961, 5885, 5873, 6168, 6109, - 6086, 6027, 5807, 0 }; - } - - public final static char scopeState[] = ScopeState.scopeState; - - @Override - public final int scopeState(int index) { - return scopeState[index]; - } - - public interface InSymb { - public final static char inSymb[] = { 0, 0, 313, 62, 64, 127, 171, 214, 57, 27, 59, 240, 59, 292, 3, 255, 256, - 236, 257, 235, 258, 55, 287, 259, 124, 10, 126, 294, 127, 3, 4, 132, 131, 8, 6, 124, 126, 195, 57, 54, - 38, 262, 241, 123, 126, 126, 38, 164, 327, 288, 322, 288, 54, 126, 189, 166, 165, 74, 127, 286, 200, - 195, 127, 265, 293, 220, 126, 181, 215, 54, 54, 174, 61, 3, 66, 67, 124, 123, 189, 166, 3, 54, 65, 127, - 164, 164, 262, 70, 189, 189, 152, 127, 166, 245, 125, 124, 126, 123, 164, 126, 127, 166, 57, 4, 127, - 295, 71, 61, 220, 126, 3, 70, 68, 166, 7, 5, 127, 127, 127, 61, 61, 197, 127, 127, 127, 127, 164, 126, - 241, 128, 326, 126, 169, 237, 59, 57, 62, 171, 329, 125, 124, 246, 246, 189, 164, 127, 189, 271, 127, - 251, 50, 42, 45, 47, 43, 10, 135, 126, 46, 40, 6, 35, 34, 5, 7, 37, 36, 140, 145, 147, 146, 3, 167, 148, - 175, 172, 183, 182, 184, 60, 185, 274, 197, 278, 197, 295, 164, 307, 126, 308, 226, 3, 148, 155, 153, - 157, 156, 160, 158, 162, 166, 150, 127, 164, 270, 162, 181, 181, 271, 271, 220, 242, 243, 149, 244, 309, - 57, 10, 41, 238, 238, 127, 189, 166, 127, 246, 246, 127, 127, 197, 127, 290, 123, 291, 255, 256, 257, - 258, 336, 259, 10, 127, 3, 223, 222, 3, 54, 54, 54, 54, 126, 3, 66, 67, 166, 3, 125, 117, 119, 3, 61, - 91, 98, 35, 34, 100, 99, 5, 198, 159, 174, 127, 167, 90, 89, 54, 86, 87, 7, 93, 92, 95, 94, 96, 112, - 111, 110, 109, 108, 107, 106, 105, 104, 103, 70, 102, 101, 68, 4, 296, 127, 68, 189, 3, 93, 92, 90, 89, - 65, 54, 94, 7, 96, 95, 102, 101, 285, 127, 164, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 70, 5, - 127, 152, 70, 231, 215, 3, 127, 68, 68, 65, 54, 245, 245, 238, 241, 197, 328, 71, 303, 215, 124, 127, - 127, 71, 290, 289, 70, 68, 126, 220, 231, 127, 3, 198, 159, 198, 198, 198, 198, 166, 227, 61, 314, 3, - 198, 57, 126, 57, 227, 159, 146, 146, 145, 145, 145, 152, 135, 125, 124, 10, 126, 65, 148, 148, 148, - 147, 147, 172, 167, 167, 182, 175, 183, 159, 184, 127, 318, 79, 77, 1, 159, 9, 85, 83, 81, 80, 75, 82, - 84, 78, 76, 59, 74, 227, 153, 153, 148, 148, 148, 148, 156, 155, 158, 157, 159, 160, 68, 127, 181, 173, - 127, 70, 70, 127, 220, 127, 70, 70, 128, 68, 71, 70, 331, 237, 22, 126, 289, 166, 242, 127, 65, 65, 65, - 65, 197, 276, 216, 3, 315, 174, 150, 126, 189, 166, 126, 166, 148, 71, 297, 113, 9, 71, 226, 71, 3, 3, - 3, 204, 3, 123, 159, 123, 188, 71, 325, 127, 229, 309, 68, 126, 22, 332, 189, 197, 152, 242, 3, 3, 3, 3, - 125, 124, 198, 127, 127, 228, 6, 57, 166, 57, 3, 71, 239, 174, 239, 320, 149, 75, 239, 127, 203, 68, - 127, 65, 189, 126, 126, 127, 152, 159, 159, 159, 159, 3, 3, 152, 280, 283, 61, 190, 4, 123, 125, 197, - 97, 337, 174, 152, 215, 152, 319, 127, 3, 152, 297, 203, 9, 60, 41, 189, 189, 229, 127, 227, 227, 127, - 3, 61, 159, 4, 125, 152, 152, 127, 70, 204, 161, 286, 159, 3, 245, 127, 229, 280, 227, 226, 121, 317, - 152, 338, 70, 127, 152, 68 }; - } - - public final static char inSymb[] = InSymb.inSymb; - - @Override - public final int inSymb(int index) { - return inSymb[index]; - } - - public interface Name { - public final static String name[] = { "", "[", "(", ".", ".*", "->", "->*", "++", "--", "&", "*", "+", "-", "~", - "!", "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "::", - "...", "=", "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", "$empty", "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", - "ERROR_TOKEN", "EOF_TOKEN", "]", ")", "}", ";", "{", "identifier_token", "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_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" }; - } - - public final static String name[] = Name.name; - - @Override - public final String name(int index) { - return name[index]; - } - - public final static int ERROR_SYMBOL = 63, SCOPE_UBOUND = 121, SCOPE_SIZE = 122, MAX_NAME_LENGTH = 43; - - @Override - public final int getErrorSymbol() { - return ERROR_SYMBOL; - } - - @Override - public final int getScopeUbound() { - return SCOPE_UBOUND; - } - - @Override - public final int getScopeSize() { - return SCOPE_SIZE; - } - - @Override - public final int getMaxNameLength() { - return MAX_NAME_LENGTH; - } - - public final static int NUM_STATES = 604, NT_OFFSET = 122, LA_STATE_OFFSET = 7511, MAX_LA = 2147483647, - NUM_RULES = 597, NUM_NONTERMINALS = 224, NUM_SYMBOLS = 346, SEGMENT_SIZE = 8192, START_STATE = 5807, - IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, ACCEPT_ACTION = 6474, ERROR_ACTION = 6914; - - public final static boolean BACKTRACK = true; - - @Override - public final int getNumStates() { - return NUM_STATES; - } - - @Override - public final int getNtOffset() { - return NT_OFFSET; - } - - @Override - public final int getLaStateOffset() { - return LA_STATE_OFFSET; - } - - @Override - public final int getMaxLa() { - return MAX_LA; - } - - @Override - public final int getNumRules() { - return NUM_RULES; - } - - @Override - public final int getNumNonterminals() { - return NUM_NONTERMINALS; - } - - @Override - public final int getNumSymbols() { - return NUM_SYMBOLS; - } - - @Override - public final int getSegmentSize() { - return SEGMENT_SIZE; - } - - @Override - public final int getStartState() { - return START_STATE; - } - - @Override - public final int getStartSymbol() { - return lhs[0]; - } - - public final int getIdentifierSymbol() { - return IDENTIFIER_SYMBOL; - } - - @Override - public final int getEoftSymbol() { - return EOFT_SYMBOL; - } - - @Override - public final int getEoltSymbol() { - return EOLT_SYMBOL; - } - - @Override - public final int getAcceptAction() { - return ACCEPT_ACTION; - } - - @Override - public final int getErrorAction() { - return ERROR_ACTION; - } - - @Override - public final boolean isValidForParser() { - return isValidForParser; - } - - @Override - public final boolean getBacktrack() { - return BACKTRACK; - } - - @Override - public final int originalState(int state) { - return -baseCheck[state]; - } - - @Override - public final int asi(int state) { - return asb[originalState(state)]; - } - - @Override - public final int nasi(int state) { - return nasb[originalState(state)]; - } - - @Override - public final int inSymbol(int state) { - return inSymb[originalState(state)]; - } - - @Override - public final int ntAction(int state, int sym) { - return baseAction[state + sym]; - } - - @Override - public final int tAction(int state, int sym) { - int i = baseAction[state], k = i + sym; - return termAction[termCheck[k] == sym ? k : i]; - } - - @Override - 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/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java deleted file mode 100644 index 80d6f550fec..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2010 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -public interface CPPParsersym { - public final static int TK_asm = 64, TK_auto = 25, TK_bool = 11, TK_break = 76, TK_case = 77, TK_catch = 113, - TK_char = 12, TK_class = 41, TK_const = 23, TK_const_cast = 42, TK_continue = 78, TK_default = 79, - TK_delete = 66, TK_do = 80, TK_double = 13, TK_dynamic_cast = 43, TK_else = 121, TK_enum = 55, - TK_explicit = 26, TK_export = 88, TK_extern = 27, TK_false = 44, TK_float = 14, TK_for = 81, TK_friend = 28, - TK_goto = 82, TK_if = 83, TK_inline = 29, TK_int = 15, TK_long = 16, TK_mutable = 30, TK_namespace = 59, - TK_new = 67, TK_operator = 8, TK_private = 114, TK_protected = 115, TK_public = 116, TK_register = 31, - TK_reinterpret_cast = 45, TK_return = 84, TK_short = 17, TK_signed = 18, TK_sizeof = 46, TK_static = 32, - TK_static_cast = 47, TK_struct = 56, TK_switch = 85, TK_template = 57, TK_this = 48, TK_throw = 60, - TK_try = 74, TK_true = 49, TK_typedef = 33, TK_typeid = 50, TK_typename = 10, TK_union = 58, - TK_unsigned = 19, TK_using = 62, TK_virtual = 22, TK_void = 20, TK_volatile = 24, TK_wchar_t = 21, - TK_while = 75, TK_integer = 51, TK_floating = 52, TK_charconst = 53, TK_stringlit = 38, TK_identifier = 1, - TK_Completion = 2, TK_EndOfCompletion = 9, TK_Invalid = 122, TK_LeftBracket = 61, TK_LeftParen = 3, - TK_Dot = 119, TK_DotStar = 98, TK_Arrow = 117, TK_ArrowStar = 91, TK_PlusPlus = 36, TK_MinusMinus = 37, - TK_And = 7, TK_Star = 5, TK_Plus = 34, TK_Minus = 35, TK_Tilde = 6, TK_Bang = 40, TK_Slash = 99, - TK_Percent = 100, TK_RightShift = 86, TK_LeftShift = 87, TK_LT = 54, TK_GT = 65, TK_LE = 89, TK_GE = 90, - TK_EQ = 92, TK_NE = 93, TK_Caret = 94, TK_Or = 95, TK_AndAnd = 96, TK_OrOr = 101, TK_Question = 102, - TK_Colon = 71, TK_ColonColon = 4, TK_DotDotDot = 97, TK_Assign = 70, TK_StarAssign = 103, - TK_SlashAssign = 104, TK_PercentAssign = 105, TK_PlusAssign = 106, TK_MinusAssign = 107, - TK_RightShiftAssign = 108, TK_LeftShiftAssign = 109, TK_AndAssign = 110, TK_CaretAssign = 111, - TK_OrAssign = 112, TK_Comma = 68, TK_RightBracket = 118, TK_RightParen = 72, TK_RightBrace = 73, - TK_SemiColon = 39, TK_LeftBrace = 69, TK_ERROR_TOKEN = 63, TK_EOF_TOKEN = 120; - - public final static String orderedTerminalSymbols[] = { "", "identifier", "Completion", "LeftParen", "ColonColon", - "Star", "Tilde", "And", "operator", "EndOfCompletion", "typename", "bool", "char", "double", "float", "int", - "long", "short", "signed", "unsigned", "void", "wchar_t", "virtual", "const", "volatile", "auto", - "explicit", "extern", "friend", "inline", "mutable", "register", "static", "typedef", "Plus", "Minus", - "PlusPlus", "MinusMinus", "stringlit", "SemiColon", "Bang", "class", "const_cast", "dynamic_cast", "false", - "reinterpret_cast", "sizeof", "static_cast", "this", "true", "typeid", "integer", "floating", "charconst", - "LT", "enum", "struct", "template", "union", "namespace", "throw", "LeftBracket", "using", "ERROR_TOKEN", - "asm", "GT", "delete", "new", "Comma", "LeftBrace", "Assign", "Colon", "RightParen", "RightBrace", "try", - "while", "break", "case", "continue", "default", "do", "for", "goto", "if", "return", "switch", - "RightShift", "LeftShift", "export", "LE", "GE", "ArrowStar", "EQ", "NE", "Caret", "Or", "AndAnd", - "DotDotDot", "DotStar", "Slash", "Percent", "OrOr", "Question", "StarAssign", "SlashAssign", - "PercentAssign", "PlusAssign", "MinusAssign", "RightShiftAssign", "LeftShiftAssign", "AndAssign", - "CaretAssign", "OrAssign", "catch", "private", "protected", "public", "Arrow", "RightBracket", "Dot", - "EOF_TOKEN", "else", "Invalid" }; - - public final static boolean isValidForParser = true; -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPRules.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPRules.java deleted file mode 100644 index 0d61e686ebd..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPRules.java +++ /dev/null @@ -1,647 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -import java.util.HashMap; -import java.util.Map; - -public class CPPRules { - static Map fRules = new HashMap(); - - static { - fRules.put(Integer.valueOf(3), "] ::= RightBracket"); - fRules.put(Integer.valueOf(4), "] ::= EndOfCompletion"); - fRules.put(Integer.valueOf(5), ") ::= RightParen"); - fRules.put(Integer.valueOf(6), ") ::= EndOfCompletion"); - fRules.put(Integer.valueOf(7), "} ::= RightBrace"); - fRules.put(Integer.valueOf(8), "} ::= EndOfCompletion"); - fRules.put(Integer.valueOf(9), "; ::= SemiColon"); - fRules.put(Integer.valueOf(10), "; ::= EndOfCompletion"); - fRules.put(Integer.valueOf(41), "dcolon_opt ::= ColonColon"); - fRules.put(Integer.valueOf(42), "dcolon_opt ::="); - fRules.put(Integer.valueOf(228), "declaration_specifiers_opt ::="); - fRules.put(Integer.valueOf(229), "declaration_specifiers_opt ::= declaration_specifiers"); - fRules.put(Integer.valueOf(383), "class_name ::= identifier_name"); - fRules.put(Integer.valueOf(384), "class_name ::= template_id_name"); - fRules.put(Integer.valueOf(493), "template_parameter ::= type_parameter"); - fRules.put(Integer.valueOf(1), " ::="); - fRules.put(Integer.valueOf(17), "identifier_token ::= identifier"); - fRules.put(Integer.valueOf(18), "identifier_token ::= Completion"); - fRules.put(Integer.valueOf(38), "identifier_name ::= identifier_token"); - fRules.put(Integer.valueOf(445), "operator_id_name ::= operator overloadable_operator"); - fRules.put(Integer.valueOf(443), "operator_function_id_name ::= operator_id_name"); - fRules.put(Integer.valueOf(444), - "operator_function_id_name ::= operator_id_name LT template_argument_list_opt GT"); - fRules.put(Integer.valueOf(431), "conversion_function_id_name ::= operator conversion_type_id"); - fRules.put(Integer.valueOf(502), "template_identifier ::= identifier_name"); - fRules.put(Integer.valueOf(501), - "template_id_name ::= template_identifier LT template_argument_list_opt GT"); - fRules.put(Integer.valueOf(33), "unqualified_id_name ::= identifier_name"); - fRules.put(Integer.valueOf(34), "unqualified_id_name ::= operator_function_id_name"); - fRules.put(Integer.valueOf(35), "unqualified_id_name ::= conversion_function_id_name"); - fRules.put(Integer.valueOf(36), "unqualified_id_name ::= template_id_name"); - fRules.put(Integer.valueOf(37), "unqualified_id_name ::= Tilde class_name"); - fRules.put(Integer.valueOf(54), "class_or_namespace_name ::= class_name"); - fRules.put(Integer.valueOf(47), - "nested_name_specifier ::= class_or_namespace_name ColonColon nested_name_specifier_with_template"); - fRules.put(Integer.valueOf(48), "nested_name_specifier ::= class_or_namespace_name ColonColon"); - fRules.put(Integer.valueOf(43), - "qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name"); - fRules.put(Integer.valueOf(44), "qualified_id_name ::= ColonColon identifier_name"); - fRules.put(Integer.valueOf(45), "qualified_id_name ::= ColonColon operator_function_id_name"); - fRules.put(Integer.valueOf(46), "qualified_id_name ::= ColonColon template_id_name"); - fRules.put(Integer.valueOf(31), "qualified_or_unqualified_name ::= unqualified_id_name"); - fRules.put(Integer.valueOf(32), "qualified_or_unqualified_name ::= qualified_id_name"); - fRules.put(Integer.valueOf(52), "nested_name_specifier_opt ::= nested_name_specifier"); - fRules.put(Integer.valueOf(53), "nested_name_specifier_opt ::="); - fRules.put(Integer.valueOf(274), "type_name ::= class_name"); - fRules.put(Integer.valueOf(338), "declarator_id_name ::= qualified_or_unqualified_name"); - fRules.put(Integer.valueOf(339), "declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name"); - fRules.put(Integer.valueOf(321), "basic_direct_declarator ::= declarator_id_name"); - fRules.put(Integer.valueOf(322), "basic_direct_declarator ::= LeftParen declarator )"); - fRules.put(Integer.valueOf(323), - "function_direct_declarator ::= basic_direct_declarator LeftParen parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt"); - fRules.put(Integer.valueOf(324), "array_direct_declarator ::= array_direct_declarator array_modifier"); - fRules.put(Integer.valueOf(325), "array_direct_declarator ::= basic_direct_declarator array_modifier"); - fRules.put(Integer.valueOf(318), "direct_declarator ::= basic_direct_declarator"); - fRules.put(Integer.valueOf(319), "direct_declarator ::= function_direct_declarator"); - fRules.put(Integer.valueOf(320), "direct_declarator ::= array_direct_declarator"); - fRules.put(Integer.valueOf(328), "ptr_operator ::= Star cv_qualifier_seq_opt"); - fRules.put(Integer.valueOf(329), "ptr_operator ::= And"); - fRules.put(Integer.valueOf(330), - "ptr_operator ::= dcolon_opt nested_name_specifier Star cv_qualifier_seq_opt"); - fRules.put(Integer.valueOf(331), "ptr_operator_seq ::= ptr_operator"); - fRules.put(Integer.valueOf(332), "ptr_operator_seq ::= ptr_operator_seq ptr_operator"); - fRules.put(Integer.valueOf(314), "declarator ::= direct_declarator"); - fRules.put(Integer.valueOf(315), "declarator ::= ptr_operator_seq direct_declarator"); - fRules.put(Integer.valueOf(312), "init_declarator ::= declarator"); - fRules.put(Integer.valueOf(313), "init_declarator ::= declarator initializer"); - fRules.put(Integer.valueOf(311), "init_declarator_complete ::= init_declarator"); - fRules.put(Integer.valueOf(307), "init_declarator_list ::= init_declarator_complete"); - fRules.put(Integer.valueOf(308), - "init_declarator_list ::= init_declarator_list Comma init_declarator_complete"); - fRules.put(Integer.valueOf(309), "init_declarator_list_opt ::= init_declarator_list"); - fRules.put(Integer.valueOf(310), "init_declarator_list_opt ::="); - fRules.put(Integer.valueOf(221), - "simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ;"); - fRules.put(Integer.valueOf(304), "asm_definition ::= asm LeftParen stringlit ) ;"); - fRules.put(Integer.valueOf(299), - "namespace_alias_definition ::= namespace identifier_token Assign dcolon_opt nested_name_specifier_opt namespace_name ;"); - fRules.put(Integer.valueOf(300), - "using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;"); - fRules.put(Integer.valueOf(303), - "using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;"); - fRules.put(Integer.valueOf(212), "block_declaration ::= simple_declaration"); - fRules.put(Integer.valueOf(213), "block_declaration ::= asm_definition"); - fRules.put(Integer.valueOf(214), "block_declaration ::= namespace_alias_definition"); - fRules.put(Integer.valueOf(215), "block_declaration ::= using_declaration"); - fRules.put(Integer.valueOf(216), "block_declaration ::= using_directive"); - fRules.put(Integer.valueOf(316), "function_declarator ::= function_direct_declarator"); - fRules.put(Integer.valueOf(317), "function_declarator ::= ptr_operator_seq direct_declarator"); - fRules.put(Integer.valueOf(372), - "function_definition ::= declaration_specifiers_opt function_declarator ctor_initializer_list_opt function_body"); - fRules.put(Integer.valueOf(373), - "function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body handler_seq"); - fRules.put(Integer.valueOf(489), "export_opt ::= export"); - fRules.put(Integer.valueOf(490), "export_opt ::="); - fRules.put(Integer.valueOf(488), - "template_declaration ::= export_opt template LT template_parameter_list GT declaration"); - fRules.put(Integer.valueOf(510), "explicit_instantiation ::= template declaration"); - fRules.put(Integer.valueOf(511), "explicit_specialization ::= template LT GT declaration"); - fRules.put(Integer.valueOf(305), - "linkage_specification ::= extern stringlit LeftBrace declaration_seq_opt }"); - fRules.put(Integer.valueOf(306), "linkage_specification ::= extern stringlit declaration"); - fRules.put(Integer.valueOf(296), - "original_namespace_definition ::= namespace identifier_name LeftBrace declaration_seq_opt }"); - fRules.put(Integer.valueOf(297), - "extension_namespace_definition ::= namespace original_namespace_name LeftBrace declaration_seq_opt }"); - fRules.put(Integer.valueOf(294), "named_namespace_definition ::= original_namespace_definition"); - fRules.put(Integer.valueOf(295), "named_namespace_definition ::= extension_namespace_definition"); - fRules.put(Integer.valueOf(298), - "unnamed_namespace_definition ::= namespace LeftBrace declaration_seq_opt }"); - fRules.put(Integer.valueOf(292), "namespace_definition ::= named_namespace_definition"); - fRules.put(Integer.valueOf(293), "namespace_definition ::= unnamed_namespace_definition"); - fRules.put(Integer.valueOf(205), "declaration ::= block_declaration"); - fRules.put(Integer.valueOf(206), "declaration ::= function_definition"); - fRules.put(Integer.valueOf(207), "declaration ::= template_declaration"); - fRules.put(Integer.valueOf(208), "declaration ::= explicit_instantiation"); - fRules.put(Integer.valueOf(209), "declaration ::= explicit_specialization"); - fRules.put(Integer.valueOf(210), "declaration ::= linkage_specification"); - fRules.put(Integer.valueOf(211), "declaration ::= namespace_definition"); - fRules.put(Integer.valueOf(15), "external_declaration ::= declaration"); - fRules.put(Integer.valueOf(16), "external_declaration ::= ERROR_TOKEN"); - fRules.put(Integer.valueOf(13), "external_declaration_list ::= external_declaration"); - fRules.put(Integer.valueOf(14), "external_declaration_list ::= external_declaration_list external_declaration"); - fRules.put(Integer.valueOf(11), "translation_unit ::= external_declaration_list"); - fRules.put(Integer.valueOf(12), "translation_unit ::="); - fRules.put(Integer.valueOf(0), "$accept ::= translation_unit"); - fRules.put(Integer.valueOf(2), " ::="); - fRules.put(Integer.valueOf(19), "literal ::= integer"); - fRules.put(Integer.valueOf(20), "literal ::= zero"); - fRules.put(Integer.valueOf(21), "literal ::= floating"); - fRules.put(Integer.valueOf(22), "literal ::= charconst"); - fRules.put(Integer.valueOf(23), "literal ::= stringlit"); - fRules.put(Integer.valueOf(24), "literal ::= true"); - fRules.put(Integer.valueOf(25), "literal ::= false"); - fRules.put(Integer.valueOf(26), "literal ::= this"); - fRules.put(Integer.valueOf(30), "id_expression ::= qualified_or_unqualified_name"); - fRules.put(Integer.valueOf(27), "primary_expression ::= literal"); - fRules.put(Integer.valueOf(28), "primary_expression ::= LeftParen expression )"); - fRules.put(Integer.valueOf(29), "primary_expression ::= id_expression"); - fRules.put(Integer.valueOf(263), "simple_type_specifier_token ::= char"); - fRules.put(Integer.valueOf(264), "simple_type_specifier_token ::= wchar_t"); - fRules.put(Integer.valueOf(265), "simple_type_specifier_token ::= bool"); - fRules.put(Integer.valueOf(266), "simple_type_specifier_token ::= short"); - fRules.put(Integer.valueOf(267), "simple_type_specifier_token ::= int"); - fRules.put(Integer.valueOf(268), "simple_type_specifier_token ::= long"); - fRules.put(Integer.valueOf(269), "simple_type_specifier_token ::= signed"); - fRules.put(Integer.valueOf(270), "simple_type_specifier_token ::= unsigned"); - fRules.put(Integer.valueOf(271), "simple_type_specifier_token ::= float"); - fRules.put(Integer.valueOf(272), "simple_type_specifier_token ::= double"); - fRules.put(Integer.valueOf(273), "simple_type_specifier_token ::= void"); - fRules.put(Integer.valueOf(262), "simple_type_specifier ::= simple_type_specifier_token"); - fRules.put(Integer.valueOf(55), "postfix_expression ::= primary_expression"); - fRules.put(Integer.valueOf(56), "postfix_expression ::= postfix_expression LeftBracket expression ]"); - fRules.put(Integer.valueOf(57), "postfix_expression ::= postfix_expression LeftParen expression_list_opt )"); - fRules.put(Integer.valueOf(58), "postfix_expression ::= simple_type_specifier LeftParen expression_list_opt )"); - fRules.put(Integer.valueOf(59), - "postfix_expression ::= typename dcolon_opt nested_name_specifier identifier_name LeftParen expression_list_opt )"); - fRules.put(Integer.valueOf(60), - "postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name LeftParen expression_list_opt )"); - fRules.put(Integer.valueOf(61), "postfix_expression ::= postfix_expression Dot qualified_or_unqualified_name"); - fRules.put(Integer.valueOf(62), - "postfix_expression ::= postfix_expression Arrow qualified_or_unqualified_name"); - fRules.put(Integer.valueOf(63), - "postfix_expression ::= postfix_expression Dot template qualified_or_unqualified_name"); - fRules.put(Integer.valueOf(64), - "postfix_expression ::= postfix_expression Arrow template qualified_or_unqualified_name"); - fRules.put(Integer.valueOf(65), "postfix_expression ::= postfix_expression Dot pseudo_destructor_name"); - fRules.put(Integer.valueOf(66), "postfix_expression ::= postfix_expression Arrow pseudo_destructor_name"); - fRules.put(Integer.valueOf(67), "postfix_expression ::= postfix_expression PlusPlus"); - fRules.put(Integer.valueOf(68), "postfix_expression ::= postfix_expression MinusMinus"); - fRules.put(Integer.valueOf(69), "postfix_expression ::= dynamic_cast LT type_id GT LeftParen expression )"); - fRules.put(Integer.valueOf(70), "postfix_expression ::= static_cast LT type_id GT LeftParen expression )"); - fRules.put(Integer.valueOf(71), "postfix_expression ::= reinterpret_cast LT type_id GT LeftParen expression )"); - fRules.put(Integer.valueOf(72), "postfix_expression ::= const_cast LT type_id GT LeftParen expression )"); - fRules.put(Integer.valueOf(73), "postfix_expression ::= typeid LeftParen expression )"); - fRules.put(Integer.valueOf(74), "postfix_expression ::= typeid LeftParen type_id )"); - fRules.put(Integer.valueOf(92), - "new_expression ::= dcolon_opt new new_placement_opt new_type_id new_array_expressions_opt new_initializer_opt"); - fRules.put(Integer.valueOf(93), - "new_expression ::= dcolon_opt new new_placement_opt LeftParen type_id ) new_array_expressions_opt new_initializer_opt"); - fRules.put(Integer.valueOf(108), "delete_expression ::= dcolon_opt delete cast_expression"); - fRules.put(Integer.valueOf(109), "delete_expression ::= dcolon_opt delete LeftBracket ] cast_expression"); - fRules.put(Integer.valueOf(79), "unary_expression ::= postfix_expression"); - fRules.put(Integer.valueOf(80), "unary_expression ::= new_expression"); - fRules.put(Integer.valueOf(81), "unary_expression ::= delete_expression"); - fRules.put(Integer.valueOf(82), "unary_expression ::= PlusPlus cast_expression"); - fRules.put(Integer.valueOf(83), "unary_expression ::= MinusMinus cast_expression"); - fRules.put(Integer.valueOf(84), "unary_expression ::= And cast_expression"); - fRules.put(Integer.valueOf(85), "unary_expression ::= Star cast_expression"); - fRules.put(Integer.valueOf(86), "unary_expression ::= Plus cast_expression"); - fRules.put(Integer.valueOf(87), "unary_expression ::= Minus cast_expression"); - fRules.put(Integer.valueOf(88), "unary_expression ::= Tilde cast_expression"); - fRules.put(Integer.valueOf(89), "unary_expression ::= Bang cast_expression"); - fRules.put(Integer.valueOf(90), "unary_expression ::= sizeof unary_expression"); - fRules.put(Integer.valueOf(91), "unary_expression ::= sizeof LeftParen type_id )"); - fRules.put(Integer.valueOf(110), "cast_expression ::= unary_expression"); - fRules.put(Integer.valueOf(111), "cast_expression ::= LeftParen type_id ) cast_expression"); - fRules.put(Integer.valueOf(112), "pm_expression ::= cast_expression"); - fRules.put(Integer.valueOf(113), "pm_expression ::= pm_expression DotStar cast_expression"); - fRules.put(Integer.valueOf(114), "pm_expression ::= pm_expression ArrowStar cast_expression"); - fRules.put(Integer.valueOf(115), "multiplicative_expression ::= pm_expression"); - fRules.put(Integer.valueOf(116), "multiplicative_expression ::= multiplicative_expression Star pm_expression"); - fRules.put(Integer.valueOf(117), "multiplicative_expression ::= multiplicative_expression Slash pm_expression"); - fRules.put(Integer.valueOf(118), - "multiplicative_expression ::= multiplicative_expression Percent pm_expression"); - fRules.put(Integer.valueOf(119), "additive_expression ::= multiplicative_expression"); - fRules.put(Integer.valueOf(120), "additive_expression ::= additive_expression Plus multiplicative_expression"); - fRules.put(Integer.valueOf(121), "additive_expression ::= additive_expression Minus multiplicative_expression"); - fRules.put(Integer.valueOf(122), "shift_expression ::= additive_expression"); - fRules.put(Integer.valueOf(123), "shift_expression ::= shift_expression LeftShift additive_expression"); - fRules.put(Integer.valueOf(124), "shift_expression ::= shift_expression RightShift additive_expression"); - fRules.put(Integer.valueOf(125), "relational_expression ::= shift_expression"); - fRules.put(Integer.valueOf(126), "relational_expression ::= relational_expression LT shift_expression"); - fRules.put(Integer.valueOf(127), "relational_expression ::= relational_expression GT shift_expression"); - fRules.put(Integer.valueOf(128), "relational_expression ::= relational_expression LE shift_expression"); - fRules.put(Integer.valueOf(129), "relational_expression ::= relational_expression GE shift_expression"); - fRules.put(Integer.valueOf(130), "equality_expression ::= relational_expression"); - fRules.put(Integer.valueOf(131), "equality_expression ::= equality_expression EQ relational_expression"); - fRules.put(Integer.valueOf(132), "equality_expression ::= equality_expression NE relational_expression"); - fRules.put(Integer.valueOf(133), "and_expression ::= equality_expression"); - fRules.put(Integer.valueOf(134), "and_expression ::= and_expression And equality_expression"); - fRules.put(Integer.valueOf(135), "exclusive_or_expression ::= and_expression"); - fRules.put(Integer.valueOf(136), "exclusive_or_expression ::= exclusive_or_expression Caret and_expression"); - fRules.put(Integer.valueOf(137), "inclusive_or_expression ::= exclusive_or_expression"); - fRules.put(Integer.valueOf(138), - "inclusive_or_expression ::= inclusive_or_expression Or exclusive_or_expression"); - fRules.put(Integer.valueOf(139), "logical_and_expression ::= inclusive_or_expression"); - fRules.put(Integer.valueOf(140), - "logical_and_expression ::= logical_and_expression AndAnd inclusive_or_expression"); - fRules.put(Integer.valueOf(141), "logical_or_expression ::= logical_and_expression"); - fRules.put(Integer.valueOf(142), "logical_or_expression ::= logical_or_expression OrOr logical_and_expression"); - fRules.put(Integer.valueOf(143), "conditional_expression ::= logical_or_expression"); - fRules.put(Integer.valueOf(144), - "conditional_expression ::= logical_or_expression Question expression Colon assignment_expression"); - fRules.put(Integer.valueOf(145), "throw_expression ::= throw"); - fRules.put(Integer.valueOf(146), "throw_expression ::= throw assignment_expression"); - fRules.put(Integer.valueOf(147), "assignment_expression ::= conditional_expression"); - fRules.put(Integer.valueOf(148), "assignment_expression ::= throw_expression"); - fRules.put(Integer.valueOf(149), - "assignment_expression ::= logical_or_expression Assign assignment_expression"); - fRules.put(Integer.valueOf(150), - "assignment_expression ::= logical_or_expression StarAssign assignment_expression"); - fRules.put(Integer.valueOf(151), - "assignment_expression ::= logical_or_expression SlashAssign assignment_expression"); - fRules.put(Integer.valueOf(152), - "assignment_expression ::= logical_or_expression PercentAssign assignment_expression"); - fRules.put(Integer.valueOf(153), - "assignment_expression ::= logical_or_expression PlusAssign assignment_expression"); - fRules.put(Integer.valueOf(154), - "assignment_expression ::= logical_or_expression MinusAssign assignment_expression"); - fRules.put(Integer.valueOf(155), - "assignment_expression ::= logical_or_expression RightShiftAssign assignment_expression"); - fRules.put(Integer.valueOf(156), - "assignment_expression ::= logical_or_expression LeftShiftAssign assignment_expression"); - fRules.put(Integer.valueOf(157), - "assignment_expression ::= logical_or_expression AndAssign assignment_expression"); - fRules.put(Integer.valueOf(158), - "assignment_expression ::= logical_or_expression CaretAssign assignment_expression"); - fRules.put(Integer.valueOf(159), - "assignment_expression ::= logical_or_expression OrAssign assignment_expression"); - fRules.put(Integer.valueOf(162), "expression_list_actual ::= assignment_expression"); - fRules.put(Integer.valueOf(163), - "expression_list_actual ::= expression_list_actual Comma assignment_expression"); - fRules.put(Integer.valueOf(161), "expression_list ::= expression_list_actual"); - fRules.put(Integer.valueOf(160), "expression ::= expression_list"); - fRules.put(Integer.valueOf(39), "template_opt ::= template"); - fRules.put(Integer.valueOf(40), "template_opt ::="); - fRules.put(Integer.valueOf(51), - "class_or_namespace_name_with_template ::= template_opt class_or_namespace_name"); - fRules.put(Integer.valueOf(49), - "nested_name_specifier_with_template ::= class_or_namespace_name_with_template ColonColon nested_name_specifier_with_template"); - fRules.put(Integer.valueOf(50), - "nested_name_specifier_with_template ::= class_or_namespace_name_with_template ColonColon"); - fRules.put(Integer.valueOf(164), "expression_list_opt ::= expression_list"); - fRules.put(Integer.valueOf(165), "expression_list_opt ::="); - fRules.put(Integer.valueOf(78), "destructor_type_name ::= Tilde type_name"); - fRules.put(Integer.valueOf(75), - "pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name ColonColon destructor_type_name"); - fRules.put(Integer.valueOf(76), - "pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name ColonColon destructor_type_name"); - fRules.put(Integer.valueOf(77), - "pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name"); - fRules.put(Integer.valueOf(254), "storage_class_specifier ::= auto"); - fRules.put(Integer.valueOf(255), "storage_class_specifier ::= register"); - fRules.put(Integer.valueOf(256), "storage_class_specifier ::= static"); - fRules.put(Integer.valueOf(257), "storage_class_specifier ::= extern"); - fRules.put(Integer.valueOf(258), "storage_class_specifier ::= mutable"); - fRules.put(Integer.valueOf(259), "function_specifier ::= inline"); - fRules.put(Integer.valueOf(260), "function_specifier ::= virtual"); - fRules.put(Integer.valueOf(261), "function_specifier ::= explicit"); - fRules.put(Integer.valueOf(336), "cv_qualifier ::= const"); - fRules.put(Integer.valueOf(337), "cv_qualifier ::= volatile"); - fRules.put(Integer.valueOf(230), "no_type_declaration_specifier ::= storage_class_specifier"); - fRules.put(Integer.valueOf(231), "no_type_declaration_specifier ::= function_specifier"); - fRules.put(Integer.valueOf(232), "no_type_declaration_specifier ::= cv_qualifier"); - fRules.put(Integer.valueOf(233), "no_type_declaration_specifier ::= friend"); - fRules.put(Integer.valueOf(234), "no_type_declaration_specifier ::= typedef"); - fRules.put(Integer.valueOf(235), "no_type_declaration_specifiers ::= no_type_declaration_specifier"); - fRules.put(Integer.valueOf(236), - "no_type_declaration_specifiers ::= no_type_declaration_specifiers no_type_declaration_specifier"); - fRules.put(Integer.valueOf(237), "simple_declaration_specifiers ::= simple_type_specifier"); - fRules.put(Integer.valueOf(238), - "simple_declaration_specifiers ::= no_type_declaration_specifiers simple_type_specifier"); - fRules.put(Integer.valueOf(239), - "simple_declaration_specifiers ::= simple_declaration_specifiers simple_type_specifier"); - fRules.put(Integer.valueOf(240), - "simple_declaration_specifiers ::= simple_declaration_specifiers no_type_declaration_specifier"); - fRules.put(Integer.valueOf(241), "simple_declaration_specifiers ::= no_type_declaration_specifiers"); - fRules.put(Integer.valueOf(392), "class_keyword ::= class"); - fRules.put(Integer.valueOf(393), "class_keyword ::= struct"); - fRules.put(Integer.valueOf(394), "class_keyword ::= union"); - fRules.put(Integer.valueOf(386), - "class_head ::= class_keyword identifier_name_opt base_clause_opt"); - fRules.put(Integer.valueOf(387), - "class_head ::= class_keyword template_id_name base_clause_opt"); - fRules.put(Integer.valueOf(388), - "class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt"); - fRules.put(Integer.valueOf(389), - "class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt"); - fRules.put(Integer.valueOf(385), - "class_specifier ::= class_head LeftBrace member_declaration_list_opt }"); - fRules.put(Integer.valueOf(242), "class_declaration_specifiers ::= class_specifier"); - fRules.put(Integer.valueOf(243), - "class_declaration_specifiers ::= no_type_declaration_specifiers class_specifier"); - fRules.put(Integer.valueOf(244), - "class_declaration_specifiers ::= class_declaration_specifiers no_type_declaration_specifier"); - fRules.put(Integer.valueOf(280), - "elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name"); - fRules.put(Integer.valueOf(281), - "elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name"); - fRules.put(Integer.valueOf(282), - "elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name"); - fRules.put(Integer.valueOf(245), "elaborated_declaration_specifiers ::= elaborated_type_specifier"); - fRules.put(Integer.valueOf(246), - "elaborated_declaration_specifiers ::= no_type_declaration_specifiers elaborated_type_specifier"); - fRules.put(Integer.valueOf(247), - "elaborated_declaration_specifiers ::= elaborated_declaration_specifiers no_type_declaration_specifier"); - fRules.put(Integer.valueOf(283), "enum_specifier ::= enum LeftBrace enumerator_list_opt }"); - fRules.put(Integer.valueOf(284), - "enum_specifier ::= enum identifier_token LeftBrace enumerator_list_opt }"); - fRules.put(Integer.valueOf(248), "enum_declaration_specifiers ::= enum_specifier"); - fRules.put(Integer.valueOf(249), - "enum_declaration_specifiers ::= no_type_declaration_specifiers enum_specifier"); - fRules.put(Integer.valueOf(250), - "enum_declaration_specifiers ::= enum_declaration_specifiers no_type_declaration_specifier"); - fRules.put(Integer.valueOf(275), "type_name_specifier ::= type_name"); - fRules.put(Integer.valueOf(276), "type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name"); - fRules.put(Integer.valueOf(277), - "type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name"); - fRules.put(Integer.valueOf(278), - "type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name"); - fRules.put(Integer.valueOf(279), - "type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name"); - fRules.put(Integer.valueOf(251), "type_name_declaration_specifiers ::= type_name_specifier"); - fRules.put(Integer.valueOf(252), - "type_name_declaration_specifiers ::= no_type_declaration_specifiers type_name_specifier"); - fRules.put(Integer.valueOf(253), - "type_name_declaration_specifiers ::= type_name_declaration_specifiers no_type_declaration_specifier"); - fRules.put(Integer.valueOf(223), "declaration_specifiers ::= simple_declaration_specifiers"); - fRules.put(Integer.valueOf(224), "declaration_specifiers ::= class_declaration_specifiers"); - fRules.put(Integer.valueOf(225), - "declaration_specifiers ::= elaborated_declaration_specifiers"); - fRules.put(Integer.valueOf(226), "declaration_specifiers ::= enum_declaration_specifiers"); - fRules.put(Integer.valueOf(227), "declaration_specifiers ::= type_name_declaration_specifiers"); - fRules.put(Integer.valueOf(342), "type_specifier_seq ::= declaration_specifiers"); - fRules.put(Integer.valueOf(340), "type_id ::= type_specifier_seq"); - fRules.put(Integer.valueOf(341), "type_id ::= type_specifier_seq abstract_declarator"); - fRules.put(Integer.valueOf(94), "new_placement_opt ::= LeftParen expression_list )"); - fRules.put(Integer.valueOf(95), "new_placement_opt ::="); - fRules.put(Integer.valueOf(96), "new_type_id ::= type_specifier_seq"); - fRules.put(Integer.valueOf(97), "new_type_id ::= type_specifier_seq new_declarator"); - fRules.put(Integer.valueOf(101), "new_array_expressions ::= LeftBracket expression ]"); - fRules.put(Integer.valueOf(102), - "new_array_expressions ::= new_array_expressions LeftBracket constant_expression ]"); - fRules.put(Integer.valueOf(103), "new_array_expressions_opt ::= new_array_expressions"); - fRules.put(Integer.valueOf(104), "new_array_expressions_opt ::="); - fRules.put(Integer.valueOf(105), "new_initializer ::= LeftParen expression_list_opt )"); - fRules.put(Integer.valueOf(106), "new_initializer_opt ::= new_initializer"); - fRules.put(Integer.valueOf(107), "new_initializer_opt ::="); - fRules.put(Integer.valueOf(99), "new_pointer_operators ::= ptr_operator"); - fRules.put(Integer.valueOf(100), "new_pointer_operators ::= ptr_operator new_pointer_operators"); - fRules.put(Integer.valueOf(98), "new_declarator ::= new_pointer_operators"); - fRules.put(Integer.valueOf(168), "constant_expression ::= conditional_expression"); - fRules.put(Integer.valueOf(166), "expression_opt ::= expression"); - fRules.put(Integer.valueOf(167), "expression_opt ::="); - fRules.put(Integer.valueOf(169), "constant_expression_opt ::= constant_expression"); - fRules.put(Integer.valueOf(170), "constant_expression_opt ::="); - fRules.put(Integer.valueOf(180), "labeled_statement ::= identifier Colon statement"); - fRules.put(Integer.valueOf(181), "labeled_statement ::= case constant_expression Colon"); - fRules.put(Integer.valueOf(182), "labeled_statement ::= default Colon"); - fRules.put(Integer.valueOf(183), "expression_statement ::= expression ;"); - fRules.put(Integer.valueOf(184), "expression_statement ::= ;"); - fRules.put(Integer.valueOf(185), "compound_statement ::= LeftBrace statement_seq }"); - fRules.put(Integer.valueOf(186), "compound_statement ::= LeftBrace }"); - fRules.put(Integer.valueOf(189), "selection_statement ::= if LeftParen condition ) statement"); - fRules.put(Integer.valueOf(190), "selection_statement ::= if LeftParen condition ) statement else statement"); - fRules.put(Integer.valueOf(191), "selection_statement ::= switch LeftParen condition ) statement"); - fRules.put(Integer.valueOf(194), "iteration_statement ::= while LeftParen condition ) statement"); - fRules.put(Integer.valueOf(195), "iteration_statement ::= do statement while LeftParen expression ) ;"); - fRules.put(Integer.valueOf(196), - "iteration_statement ::= for LeftParen expression_opt ; expression_opt ; expression_opt ) statement"); - fRules.put(Integer.valueOf(197), - "iteration_statement ::= for LeftParen simple_declaration_with_declspec expression_opt ; expression_opt ) statement"); - fRules.put(Integer.valueOf(198), "jump_statement ::= break ;"); - fRules.put(Integer.valueOf(199), "jump_statement ::= continue ;"); - fRules.put(Integer.valueOf(200), "jump_statement ::= return expression ;"); - fRules.put(Integer.valueOf(201), "jump_statement ::= return ;"); - fRules.put(Integer.valueOf(202), "jump_statement ::= goto identifier_token ;"); - fRules.put(Integer.valueOf(203), "declaration_statement ::= block_declaration"); - fRules.put(Integer.valueOf(204), "declaration_statement ::= function_definition"); - fRules.put(Integer.valueOf(512), "try_block ::= try compound_statement handler_seq"); - fRules.put(Integer.valueOf(171), "statement ::= labeled_statement"); - fRules.put(Integer.valueOf(172), "statement ::= expression_statement"); - fRules.put(Integer.valueOf(173), "statement ::= compound_statement"); - fRules.put(Integer.valueOf(174), "statement ::= selection_statement"); - fRules.put(Integer.valueOf(175), "statement ::= iteration_statement"); - fRules.put(Integer.valueOf(176), "statement ::= jump_statement"); - fRules.put(Integer.valueOf(177), "statement ::= declaration_statement"); - fRules.put(Integer.valueOf(178), "statement ::= try_block"); - fRules.put(Integer.valueOf(179), "statement ::= ERROR_TOKEN"); - fRules.put(Integer.valueOf(187), "statement_seq ::= statement"); - fRules.put(Integer.valueOf(188), "statement_seq ::= statement_seq statement"); - fRules.put(Integer.valueOf(192), "condition ::= expression"); - fRules.put(Integer.valueOf(193), "condition ::= type_specifier_seq declarator Assign assignment_expression"); - fRules.put(Integer.valueOf(222), - "simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ;"); - fRules.put(Integer.valueOf(217), "declaration_seq ::= declaration"); - fRules.put(Integer.valueOf(218), "declaration_seq ::= declaration_seq declaration"); - fRules.put(Integer.valueOf(219), "declaration_seq_opt ::= declaration_seq"); - fRules.put(Integer.valueOf(220), "declaration_seq_opt ::="); - fRules.put(Integer.valueOf(289), "enumerator_definition ::= identifier_token"); - fRules.put(Integer.valueOf(290), "enumerator_definition ::= identifier_token Assign constant_expression"); - fRules.put(Integer.valueOf(285), "enumerator_list ::= enumerator_definition"); - fRules.put(Integer.valueOf(286), "enumerator_list ::= enumerator_list Comma enumerator_definition"); - fRules.put(Integer.valueOf(287), "enumerator_list_opt ::= enumerator_list"); - fRules.put(Integer.valueOf(288), "enumerator_list_opt ::="); - fRules.put(Integer.valueOf(291), "namespace_name ::= identifier_name"); - fRules.put(Integer.valueOf(301), "typename_opt ::= typename"); - fRules.put(Integer.valueOf(302), "typename_opt ::="); - fRules.put(Integer.valueOf(375), "initializer ::= Assign initializer_clause"); - fRules.put(Integer.valueOf(376), "initializer ::= LeftParen expression_list )"); - fRules.put(Integer.valueOf(364), "parameter_declaration ::= declaration_specifiers parameter_init_declarator"); - fRules.put(Integer.valueOf(365), "parameter_declaration ::= declaration_specifiers"); - fRules.put(Integer.valueOf(358), "parameter_declaration_list ::= parameter_declaration"); - fRules.put(Integer.valueOf(359), - "parameter_declaration_list ::= parameter_declaration_list Comma parameter_declaration"); - fRules.put(Integer.valueOf(360), "parameter_declaration_list_opt ::= parameter_declaration_list"); - fRules.put(Integer.valueOf(361), "parameter_declaration_list_opt ::="); - fRules.put(Integer.valueOf(355), "parameter_declaration_clause ::= parameter_declaration_list_opt DotDotDot"); - fRules.put(Integer.valueOf(357), "parameter_declaration_clause ::= parameter_declaration_list Comma DotDotDot"); - fRules.put(Integer.valueOf(356), "parameter_declaration_clause ::= parameter_declaration_list_opt"); - fRules.put(Integer.valueOf(333), "cv_qualifier_seq ::= cv_qualifier cv_qualifier_seq_opt"); - fRules.put(Integer.valueOf(334), "cv_qualifier_seq_opt ::= cv_qualifier_seq"); - fRules.put(Integer.valueOf(335), "cv_qualifier_seq_opt ::="); - fRules.put(Integer.valueOf(520), "exception_specification ::= throw LeftParen type_id_list )"); - fRules.put(Integer.valueOf(521), "exception_specification ::= throw LeftParen )"); - fRules.put(Integer.valueOf(522), "exception_specification_opt ::= exception_specification"); - fRules.put(Integer.valueOf(523), "exception_specification_opt ::="); - fRules.put(Integer.valueOf(326), "array_modifier ::= LeftBracket constant_expression ]"); - fRules.put(Integer.valueOf(327), "array_modifier ::= LeftBracket ]"); - fRules.put(Integer.valueOf(349), "basic_direct_abstract_declarator ::= LeftParen abstract_declarator )"); - fRules.put(Integer.valueOf(350), "array_direct_abstract_declarator ::= array_modifier"); - fRules.put(Integer.valueOf(351), - "array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier"); - fRules.put(Integer.valueOf(352), - "array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier"); - fRules.put(Integer.valueOf(353), - "function_direct_abstract_declarator ::= basic_direct_abstract_declarator LeftParen parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt"); - fRules.put(Integer.valueOf(354), - "function_direct_abstract_declarator ::= LeftParen parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt"); - fRules.put(Integer.valueOf(346), "direct_abstract_declarator ::= basic_direct_abstract_declarator"); - fRules.put(Integer.valueOf(347), "direct_abstract_declarator ::= array_direct_abstract_declarator"); - fRules.put(Integer.valueOf(348), "direct_abstract_declarator ::= function_direct_abstract_declarator"); - fRules.put(Integer.valueOf(343), "abstract_declarator ::= direct_abstract_declarator"); - fRules.put(Integer.valueOf(344), "abstract_declarator ::= ptr_operator_seq"); - fRules.put(Integer.valueOf(345), - "abstract_declarator ::= ptr_operator_seq direct_abstract_declarator"); - fRules.put(Integer.valueOf(362), "abstract_declarator_opt ::= abstract_declarator"); - fRules.put(Integer.valueOf(363), "abstract_declarator_opt ::="); - fRules.put(Integer.valueOf(366), "parameter_init_declarator ::= declarator"); - fRules.put(Integer.valueOf(367), "parameter_init_declarator ::= declarator Assign parameter_initializer"); - fRules.put(Integer.valueOf(368), "parameter_init_declarator ::= abstract_declarator"); - fRules.put(Integer.valueOf(369), - "parameter_init_declarator ::= abstract_declarator Assign parameter_initializer"); - fRules.put(Integer.valueOf(370), "parameter_init_declarator ::= Assign parameter_initializer"); - fRules.put(Integer.valueOf(371), "parameter_initializer ::= assignment_expression"); - fRules.put(Integer.valueOf(435), "ctor_initializer_list ::= Colon mem_initializer_list"); - fRules.put(Integer.valueOf(436), "ctor_initializer_list_opt ::= ctor_initializer_list"); - fRules.put(Integer.valueOf(437), "ctor_initializer_list_opt ::="); - fRules.put(Integer.valueOf(374), "function_body ::= compound_statement"); - fRules.put(Integer.valueOf(515), "handler ::= catch LeftParen exception_declaration ) compound_statement"); - fRules.put(Integer.valueOf(516), "handler ::= catch LeftParen DotDotDot ) compound_statement"); - fRules.put(Integer.valueOf(513), "handler_seq ::= handler"); - fRules.put(Integer.valueOf(514), "handler_seq ::= handler_seq handler"); - fRules.put(Integer.valueOf(377), "initializer_clause ::= assignment_expression"); - fRules.put(Integer.valueOf(378), "initializer_clause ::= LeftBrace initializer_list Comma }"); - fRules.put(Integer.valueOf(379), "initializer_clause ::= LeftBrace initializer_list }"); - fRules.put(Integer.valueOf(380), "initializer_clause ::= LeftBrace }"); - fRules.put(Integer.valueOf(381), "initializer_list ::= initializer_clause"); - fRules.put(Integer.valueOf(382), "initializer_list ::= initializer_list Comma initializer_clause"); - fRules.put(Integer.valueOf(415), "bit_field_declarator ::= identifier_name"); - fRules.put(Integer.valueOf(411), "member_declarator ::= declarator"); - fRules.put(Integer.valueOf(412), "member_declarator ::= declarator constant_initializer"); - fRules.put(Integer.valueOf(413), "member_declarator ::= bit_field_declarator Colon constant_expression"); - fRules.put(Integer.valueOf(414), "member_declarator ::= Colon constant_expression"); - fRules.put(Integer.valueOf(409), "member_declarator_list ::= member_declarator"); - fRules.put(Integer.valueOf(410), "member_declarator_list ::= member_declarator_list Comma member_declarator"); - fRules.put(Integer.valueOf(426), "access_specifier_keyword ::= private"); - fRules.put(Integer.valueOf(427), "access_specifier_keyword ::= protected"); - fRules.put(Integer.valueOf(428), "access_specifier_keyword ::= public"); - fRules.put(Integer.valueOf(395), "visibility_label ::= access_specifier_keyword Colon"); - fRules.put(Integer.valueOf(396), - "member_declaration ::= declaration_specifiers_opt member_declarator_list ;"); - fRules.put(Integer.valueOf(397), "member_declaration ::= declaration_specifiers_opt ;"); - fRules.put(Integer.valueOf(398), "member_declaration ::= function_definition ;"); - fRules.put(Integer.valueOf(399), "member_declaration ::= function_definition"); - fRules.put(Integer.valueOf(400), - "member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;"); - fRules.put(Integer.valueOf(401), "member_declaration ::= using_declaration"); - fRules.put(Integer.valueOf(402), "member_declaration ::= template_declaration"); - fRules.put(Integer.valueOf(403), "member_declaration ::= visibility_label"); - fRules.put(Integer.valueOf(404), "member_declaration ::= ERROR_TOKEN"); - fRules.put(Integer.valueOf(405), "member_declaration_list ::= member_declaration"); - fRules.put(Integer.valueOf(406), "member_declaration_list ::= member_declaration_list member_declaration"); - fRules.put(Integer.valueOf(407), "member_declaration_list_opt ::= member_declaration_list"); - fRules.put(Integer.valueOf(408), "member_declaration_list_opt ::="); - fRules.put(Integer.valueOf(390), "identifier_name_opt ::= identifier_name"); - fRules.put(Integer.valueOf(391), "identifier_name_opt ::="); - fRules.put(Integer.valueOf(417), "base_clause ::= Colon base_specifier_list"); - fRules.put(Integer.valueOf(418), "base_clause_opt ::= base_clause"); - fRules.put(Integer.valueOf(419), "base_clause_opt ::="); - fRules.put(Integer.valueOf(416), "constant_initializer ::= Assign constant_expression"); - fRules.put(Integer.valueOf(422), "base_specifier ::= dcolon_opt nested_name_specifier_opt class_name"); - fRules.put(Integer.valueOf(423), - "base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name"); - fRules.put(Integer.valueOf(424), - "base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name"); - fRules.put(Integer.valueOf(425), - "base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name"); - fRules.put(Integer.valueOf(420), "base_specifier_list ::= base_specifier"); - fRules.put(Integer.valueOf(421), "base_specifier_list ::= base_specifier_list Comma base_specifier"); - fRules.put(Integer.valueOf(429), "access_specifier_keyword_opt ::= access_specifier_keyword"); - fRules.put(Integer.valueOf(430), "access_specifier_keyword_opt ::="); - fRules.put(Integer.valueOf(432), "conversion_type_id ::= type_specifier_seq conversion_declarator"); - fRules.put(Integer.valueOf(433), "conversion_type_id ::= type_specifier_seq"); - fRules.put(Integer.valueOf(434), "conversion_declarator ::= ptr_operator_seq"); - fRules.put(Integer.valueOf(441), "mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name"); - fRules.put(Integer.valueOf(442), "mem_initializer_name ::= identifier_name"); - fRules.put(Integer.valueOf(440), "mem_initializer ::= mem_initializer_name LeftParen expression_list_opt )"); - fRules.put(Integer.valueOf(438), "mem_initializer_list ::= mem_initializer"); - fRules.put(Integer.valueOf(439), "mem_initializer_list ::= mem_initializer Comma mem_initializer_list"); - fRules.put(Integer.valueOf(507), "template_argument ::= assignment_expression"); - fRules.put(Integer.valueOf(508), "template_argument ::= type_id"); - fRules.put(Integer.valueOf(509), "template_argument ::= qualified_or_unqualified_name"); - fRules.put(Integer.valueOf(503), "template_argument_list ::= template_argument"); - fRules.put(Integer.valueOf(504), "template_argument_list ::= template_argument_list Comma template_argument"); - fRules.put(Integer.valueOf(505), "template_argument_list_opt ::= template_argument_list"); - fRules.put(Integer.valueOf(506), "template_argument_list_opt ::="); - fRules.put(Integer.valueOf(446), "overloadable_operator ::= new"); - fRules.put(Integer.valueOf(447), "overloadable_operator ::= delete"); - fRules.put(Integer.valueOf(448), "overloadable_operator ::= new LeftBracket ]"); - fRules.put(Integer.valueOf(449), "overloadable_operator ::= delete LeftBracket ]"); - fRules.put(Integer.valueOf(450), "overloadable_operator ::= Plus"); - fRules.put(Integer.valueOf(451), "overloadable_operator ::= Minus"); - fRules.put(Integer.valueOf(452), "overloadable_operator ::= Star"); - fRules.put(Integer.valueOf(453), "overloadable_operator ::= Slash"); - fRules.put(Integer.valueOf(454), "overloadable_operator ::= Percent"); - fRules.put(Integer.valueOf(455), "overloadable_operator ::= Caret"); - fRules.put(Integer.valueOf(456), "overloadable_operator ::= And"); - fRules.put(Integer.valueOf(457), "overloadable_operator ::= Or"); - fRules.put(Integer.valueOf(458), "overloadable_operator ::= Tilde"); - fRules.put(Integer.valueOf(459), "overloadable_operator ::= Bang"); - fRules.put(Integer.valueOf(460), "overloadable_operator ::= Assign"); - fRules.put(Integer.valueOf(461), "overloadable_operator ::= LT"); - fRules.put(Integer.valueOf(462), "overloadable_operator ::= GT"); - fRules.put(Integer.valueOf(463), "overloadable_operator ::= PlusAssign"); - fRules.put(Integer.valueOf(464), "overloadable_operator ::= MinusAssign"); - fRules.put(Integer.valueOf(465), "overloadable_operator ::= StarAssign"); - fRules.put(Integer.valueOf(466), "overloadable_operator ::= SlashAssign"); - fRules.put(Integer.valueOf(467), "overloadable_operator ::= PercentAssign"); - fRules.put(Integer.valueOf(468), "overloadable_operator ::= CaretAssign"); - fRules.put(Integer.valueOf(469), "overloadable_operator ::= AndAssign"); - fRules.put(Integer.valueOf(470), "overloadable_operator ::= OrAssign"); - fRules.put(Integer.valueOf(471), "overloadable_operator ::= LeftShift"); - fRules.put(Integer.valueOf(472), "overloadable_operator ::= RightShift"); - fRules.put(Integer.valueOf(473), "overloadable_operator ::= RightShiftAssign"); - fRules.put(Integer.valueOf(474), "overloadable_operator ::= LeftShiftAssign"); - fRules.put(Integer.valueOf(475), "overloadable_operator ::= EQ"); - fRules.put(Integer.valueOf(476), "overloadable_operator ::= NE"); - fRules.put(Integer.valueOf(477), "overloadable_operator ::= LE"); - fRules.put(Integer.valueOf(478), "overloadable_operator ::= GE"); - fRules.put(Integer.valueOf(479), "overloadable_operator ::= AndAnd"); - fRules.put(Integer.valueOf(480), "overloadable_operator ::= OrOr"); - fRules.put(Integer.valueOf(481), "overloadable_operator ::= PlusPlus"); - fRules.put(Integer.valueOf(482), "overloadable_operator ::= MinusMinus"); - fRules.put(Integer.valueOf(483), "overloadable_operator ::= Comma"); - fRules.put(Integer.valueOf(484), "overloadable_operator ::= ArrowStar"); - fRules.put(Integer.valueOf(485), "overloadable_operator ::= Arrow"); - fRules.put(Integer.valueOf(486), "overloadable_operator ::= LeftParen )"); - fRules.put(Integer.valueOf(487), "overloadable_operator ::= LeftBracket ]"); - fRules.put(Integer.valueOf(494), "template_parameter ::= parameter_declaration"); - fRules.put(Integer.valueOf(491), "template_parameter_list ::= template_parameter"); - fRules.put(Integer.valueOf(492), - "template_parameter_list ::= template_parameter_list Comma template_parameter"); - fRules.put(Integer.valueOf(495), "type_parameter ::= class identifier_name_opt"); - fRules.put(Integer.valueOf(496), "type_parameter ::= class identifier_name_opt Assign type_id"); - fRules.put(Integer.valueOf(497), "type_parameter ::= typename identifier_name_opt"); - fRules.put(Integer.valueOf(498), "type_parameter ::= typename identifier_name_opt Assign type_id"); - fRules.put(Integer.valueOf(499), - "type_parameter ::= template LT template_parameter_list GT class identifier_name_opt"); - fRules.put(Integer.valueOf(500), - "type_parameter ::= template LT template_parameter_list GT class identifier_name_opt Assign id_expression"); - fRules.put(Integer.valueOf(517), "exception_declaration ::= type_specifier_seq declarator"); - fRules.put(Integer.valueOf(518), - "exception_declaration ::= type_specifier_seq abstract_declarator"); - fRules.put(Integer.valueOf(519), "exception_declaration ::= type_specifier_seq"); - fRules.put(Integer.valueOf(524), "type_id_list ::= type_id"); - fRules.put(Integer.valueOf(525), "type_id_list ::= type_id_list Comma type_id"); - - } - - public static String lookup(int ruleNumber) { - return (String) fRules.get(Integer.valueOf(ruleNumber)); - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java deleted file mode 100644 index 293e79b80e9..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java +++ /dev/null @@ -1,2850 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -import java.util.List; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCastExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUnaryExpression; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction; -import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory; - -import lpg.lpgjavaruntime.BadParseException; -import lpg.lpgjavaruntime.BadParseSymFileException; -import lpg.lpgjavaruntime.DiagnoseParser; -import lpg.lpgjavaruntime.ErrorToken; -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.LexStream; -import lpg.lpgjavaruntime.Monitor; -import lpg.lpgjavaruntime.NotBacktrackParseTableException; -import lpg.lpgjavaruntime.NullExportedSymbolsException; -import lpg.lpgjavaruntime.NullTerminalSymbolsException; -import lpg.lpgjavaruntime.ParseErrorCodes; -import lpg.lpgjavaruntime.ParseTable; -import lpg.lpgjavaruntime.PrsStream; -import lpg.lpgjavaruntime.RuleAction; -import lpg.lpgjavaruntime.Token; -import lpg.lpgjavaruntime.UndefinedEofSymbolException; -import lpg.lpgjavaruntime.UnimplementedTerminalsException; - -public class CPPSizeofExpressionParser extends PrsStream - implements RuleAction, ITokenStream, ITokenCollector, ISecondaryParser { - private static ParseTable prs = new CPPSizeofExpressionParserprs(); - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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 CPPSizeofExpressionParser(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), CPPSizeofExpressionParserprs.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(" " + CPPSizeofExpressionParsersym.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " - + CPPSizeofExpressionParsersym.orderedTerminalSymbols[CPPSizeofExpressionParserprs.EOFT_SYMBOL])); - } - } - - @Override - public String[] orderedTerminalSymbols() { - return CPPSizeofExpressionParsersym.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return CPPSizeofExpressionParsersym.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return CPPSizeofExpressionParserprs.EOFT_SYMBOL; - } - - public PrsStream getParseStream() { - return 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, this, prs, this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException( - "Regenerate CPPSizeofExpressionParserprs.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error( - new BadParseSymFileException("Bad Parser Symbol File -- CPPSizeofExpressionParsersym.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 CPPBuildASTParserAction action; - private IASTCompletionNode compNode; - - public CPPSizeofExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, - IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new CPPBuildASTParserAction(this, astStack, CPPNodeFactory.getDefault(), - CPPSecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - public IASTExpression 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 (IASTExpression) action.getParseResult(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return CPPSizeofExpressionParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "CPPSizeofExpressionParser"; - } - - private ITokenMap tokenMap = null; - - @Override - public void setTokens(List tokens) { - resetTokenStream(); - addToken(new Token(null, 0, 0, 0)); // dummy token - for (IToken token : tokens) { - token.setKind(tokenMap.mapKind(token.getKind())); - addToken(token); - } - addToken(new Token(null, 0, 0, CPPSizeofExpressionParsersym.TK_EOF_TOKEN)); - } - - public CPPSizeofExpressionParser(ITokenStream stream, Map properties) { // constructor for creating secondary parser - initActions(properties); - tokenMap = new TokenMap(CPPSizeofExpressionParsersym.orderedTerminalSymbols, - stream.getOrderedTerminalSymbols()); - } - - public CPPSizeofExpressionParser(ITokenStream stream, IScanner scanner, - IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { // constructor for creating secondary parser - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - tokenMap = new TokenMap(CPPSizeofExpressionParsersym.orderedTerminalSymbols, - stream.getOrderedTerminalSymbols()); - } - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 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: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name - // - case 69: { - action.consumePsudoDestructorName(true); - break; - } - - // - // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name - // - case 70: { - action.consumePsudoDestructorName(true); - break; - } - - // - // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name - // - case 71: { - action.consumePsudoDestructorName(false); - break; - } - - // - // Rule 72: destructor_type_name ::= ~ identifier_token - // - case 72: { - action.consumeDestructorName(); - break; - } - - // - // Rule 73: destructor_type_name ::= ~ template_id_name - // - case 73: { - action.consumeDestructorNameTemplateId(); - break; - } - - // - // Rule 77: unary_expression ::= ++ cast_expression - // - case 77: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); - break; - } - - // - // Rule 78: unary_expression ::= -- cast_expression - // - case 78: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); - break; - } - - // - // Rule 79: unary_expression ::= & cast_expression - // - case 79: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); - break; - } - - // - // Rule 80: unary_expression ::= * cast_expression - // - case 80: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); - break; - } - - // - // Rule 81: unary_expression ::= + cast_expression - // - case 81: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); - break; - } - - // - // Rule 82: unary_expression ::= - cast_expression - // - case 82: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); - break; - } - - // - // Rule 83: unary_expression ::= ~ cast_expression - // - case 83: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); - break; - } - - // - // Rule 84: unary_expression ::= ! cast_expression - // - case 84: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); - break; - } - - // - // Rule 85: unary_expression ::= sizeof unary_expression - // - case 85: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); - break; - } - - // - // Rule 86: new_expression ::= dcolon_opt new new_placement_opt new_type_id new_array_expressions_opt new_initializer_opt - // - case 86: { - action.consumeExpressionNew(true); - break; - } - - // - // Rule 87: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) new_array_expressions_opt new_initializer_opt - // - case 87: { - action.consumeExpressionNew(false); - break; - } - - // - // Rule 89: new_placement_opt ::= $Empty - // - case 89: { - action.consumeEmpty(); - break; - } - - // - // Rule 90: new_type_id ::= type_specifier_seq - // - case 90: { - action.consumeTypeId(false); - break; - } - - // - // Rule 91: new_type_id ::= type_specifier_seq new_declarator - // - case 91: { - action.consumeTypeId(true); - break; - } - - // - // Rule 92: new_declarator ::= new_pointer_operators - // - case 92: { - action.consumeNewDeclarator(); - break; - } - - // - // Rule 99: new_initializer ::= ( expression_list_opt ) - // - case 99: { - action.consumeNewInitializer(); - break; - } - - // - // Rule 101: new_initializer_opt ::= $Empty - // - case 101: { - action.consumeEmpty(); - break; - } - - // - // Rule 102: delete_expression ::= dcolon_opt delete cast_expression - // - case 102: { - action.consumeExpressionDelete(false); - break; - } - - // - // Rule 103: delete_expression ::= dcolon_opt delete [ ] cast_expression - // - case 103: { - action.consumeExpressionDelete(true); - break; - } - - // - // Rule 105: cast_expression ::= ( type_id ) cast_expression - // - case 105: { - action.consumeExpressionCast(ICPPASTCastExpression.op_cast); - break; - } - - // - // Rule 107: pm_expression ::= pm_expression .* cast_expression - // - case 107: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); - break; - } - - // - // Rule 108: pm_expression ::= pm_expression ->* cast_expression - // - case 108: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); - break; - } - - // - // Rule 110: multiplicative_expression ::= multiplicative_expression * pm_expression - // - case 110: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); - break; - } - - // - // Rule 111: multiplicative_expression ::= multiplicative_expression / pm_expression - // - case 111: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); - break; - } - - // - // Rule 112: multiplicative_expression ::= multiplicative_expression % pm_expression - // - case 112: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); - break; - } - - // - // Rule 114: additive_expression ::= additive_expression + multiplicative_expression - // - case 114: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); - break; - } - - // - // Rule 115: additive_expression ::= additive_expression - multiplicative_expression - // - case 115: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); - break; - } - - // - // Rule 117: shift_expression ::= shift_expression << additive_expression - // - case 117: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); - break; - } - - // - // Rule 118: shift_expression ::= shift_expression >> additive_expression - // - case 118: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); - break; - } - - // - // Rule 120: relational_expression ::= relational_expression < shift_expression - // - case 120: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); - break; - } - - // - // Rule 121: relational_expression ::= relational_expression > shift_expression - // - case 121: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); - break; - } - - // - // Rule 122: relational_expression ::= relational_expression <= shift_expression - // - case 122: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); - break; - } - - // - // Rule 123: relational_expression ::= relational_expression >= shift_expression - // - case 123: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); - break; - } - - // - // Rule 125: equality_expression ::= equality_expression == relational_expression - // - case 125: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); - break; - } - - // - // Rule 126: equality_expression ::= equality_expression != relational_expression - // - case 126: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); - break; - } - - // - // Rule 128: and_expression ::= and_expression & equality_expression - // - case 128: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); - break; - } - - // - // Rule 130: exclusive_or_expression ::= exclusive_or_expression ^ and_expression - // - case 130: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); - break; - } - - // - // Rule 132: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression - // - case 132: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); - break; - } - - // - // Rule 134: logical_and_expression ::= logical_and_expression && inclusive_or_expression - // - case 134: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); - break; - } - - // - // Rule 136: logical_or_expression ::= logical_or_expression || logical_and_expression - // - case 136: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); - break; - } - - // - // Rule 138: conditional_expression ::= logical_or_expression ? expression : assignment_expression - // - case 138: { - action.consumeExpressionConditional(); - break; - } - - // - // Rule 140: relational_expression_inTemplate ::= relational_expression_inTemplate < shift_expression - // - case 140: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); - break; - } - - // - // Rule 141: relational_expression_inTemplate ::= ( relational_expression_inTemplate > shift_expression ) - // - case 141: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); - break; - } - - // - // Rule 142: relational_expression_inTemplate ::= relational_expression_inTemplate <= shift_expression - // - case 142: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); - break; - } - - // - // Rule 143: relational_expression_inTemplate ::= relational_expression_inTemplate >= shift_expression - // - case 143: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); - break; - } - - // - // Rule 145: equality_expression_inTemplate ::= equality_expression_inTemplate == relational_expression_inTemplate - // - case 145: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); - break; - } - - // - // Rule 146: equality_expression_inTemplate ::= equality_expression_inTemplate != relational_expression_inTemplate - // - case 146: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); - break; - } - - // - // Rule 148: and_expression_inTemplate ::= and_expression_inTemplate & equality_expression_inTemplate - // - case 148: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); - break; - } - - // - // Rule 150: exclusive_or_expression_inTemplate ::= exclusive_or_expression_inTemplate ^ and_expression_inTemplate - // - case 150: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); - break; - } - - // - // Rule 152: inclusive_or_expression_inTemplate ::= inclusive_or_expression_inTemplate | exclusive_or_expression_inTemplate - // - case 152: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); - break; - } - - // - // Rule 154: logical_and_expression_inTemplate ::= logical_and_expression_inTemplate && inclusive_or_expression_inTemplate - // - case 154: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); - break; - } - - // - // Rule 156: logical_or_expression_inTemplate ::= logical_or_expression_inTemplate || logical_and_expression_inTemplate - // - case 156: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); - break; - } - - // - // Rule 158: conditional_expression_inTemplate ::= logical_or_expression_inTemplate ? expression : assignment_expression_inTemplate - // - case 158: { - action.consumeExpressionConditional(); - break; - } - - // - // Rule 161: assignment_expression_inTemplate ::= logical_or_expression_inTemplate = assignment_expression_inTemplate - // - case 161: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); - break; - } - - // - // Rule 162: assignment_expression_inTemplate ::= logical_or_expression_inTemplate *= assignment_expression_inTemplate - // - case 162: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); - break; - } - - // - // Rule 163: assignment_expression_inTemplate ::= logical_or_expression_inTemplate /= assignment_expression_inTemplate - // - case 163: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); - break; - } - - // - // Rule 164: assignment_expression_inTemplate ::= logical_or_expression_inTemplate %= assignment_expression_inTemplate - // - case 164: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); - break; - } - - // - // Rule 165: assignment_expression_inTemplate ::= logical_or_expression_inTemplate += assignment_expression_inTemplate - // - case 165: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); - break; - } - - // - // Rule 166: assignment_expression_inTemplate ::= logical_or_expression_inTemplate -= assignment_expression_inTemplate - // - case 166: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); - break; - } - - // - // Rule 167: assignment_expression_inTemplate ::= logical_or_expression_inTemplate >>= assignment_expression_inTemplate - // - case 167: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); - break; - } - - // - // Rule 168: assignment_expression_inTemplate ::= logical_or_expression_inTemplate <<= assignment_expression_inTemplate - // - case 168: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); - break; - } - - // - // Rule 169: assignment_expression_inTemplate ::= logical_or_expression_inTemplate &= assignment_expression_inTemplate - // - case 169: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); - break; - } - - // - // Rule 170: assignment_expression_inTemplate ::= logical_or_expression_inTemplate ^= assignment_expression_inTemplate - // - case 170: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); - break; - } - - // - // Rule 171: assignment_expression_inTemplate ::= logical_or_expression_inTemplate |= assignment_expression_inTemplate - // - case 171: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); - break; - } - - // - // Rule 172: throw_expression ::= throw - // - case 172: { - action.consumeExpressionThrow(false); - break; - } - - // - // Rule 173: throw_expression ::= throw assignment_expression - // - case 173: { - action.consumeExpressionThrow(true); - break; - } - - // - // Rule 176: assignment_expression ::= logical_or_expression = assignment_expression - // - case 176: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); - break; - } - - // - // Rule 177: assignment_expression ::= logical_or_expression *= assignment_expression - // - case 177: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); - break; - } - - // - // Rule 178: assignment_expression ::= logical_or_expression /= assignment_expression - // - case 178: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); - break; - } - - // - // Rule 179: assignment_expression ::= logical_or_expression %= assignment_expression - // - case 179: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); - break; - } - - // - // Rule 180: assignment_expression ::= logical_or_expression += assignment_expression - // - case 180: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); - break; - } - - // - // Rule 181: assignment_expression ::= logical_or_expression -= assignment_expression - // - case 181: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); - break; - } - - // - // Rule 182: assignment_expression ::= logical_or_expression >>= assignment_expression - // - case 182: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); - break; - } - - // - // Rule 183: assignment_expression ::= logical_or_expression <<= assignment_expression - // - case 183: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); - break; - } - - // - // Rule 184: assignment_expression ::= logical_or_expression &= assignment_expression - // - case 184: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); - break; - } - - // - // Rule 185: assignment_expression ::= logical_or_expression ^= assignment_expression - // - case 185: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); - break; - } - - // - // Rule 186: assignment_expression ::= logical_or_expression |= assignment_expression - // - case 186: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); - break; - } - - // - // Rule 188: expression_list ::= expression_list_actual - // - case 188: { - action.consumeExpressionList(); - break; - } - - // - // Rule 192: expression_list_opt ::= $Empty - // - case 192: { - action.consumeEmpty(); - break; - } - - // - // Rule 194: expression_opt ::= $Empty - // - case 194: { - action.consumeEmpty(); - break; - } - - // - // Rule 197: constant_expression_opt ::= $Empty - // - case 197: { - action.consumeEmpty(); - break; - } - - // - // Rule 206: statement ::= ERROR_TOKEN - // - case 206: { - action.consumeStatementProblem(); - break; - } - - // - // Rule 207: labeled_statement ::= identifier : statement - // - case 207: { - action.consumeStatementLabeled(); - break; - } - - // - // Rule 208: labeled_statement ::= case constant_expression : statement - // - case 208: { - action.consumeStatementCase(); - break; - } - - // - // Rule 209: labeled_statement ::= default : statement - // - case 209: { - action.consumeStatementDefault(); - break; - } - - // - // Rule 210: expression_statement ::= expression ; - // - case 210: { - action.consumeStatementExpression(); - break; - } - - // - // Rule 211: expression_statement ::= ; - // - case 211: { - action.consumeStatementNull(); - break; - } - - // - // Rule 212: compound_statement ::= { statement_seq } - // - case 212: { - action.consumeStatementCompoundStatement(true); - break; - } - - // - // Rule 213: compound_statement ::= { } - // - case 213: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 216: selection_statement ::= if ( condition ) statement - // - case 216: { - action.consumeStatementIf(false); - break; - } - - // - // Rule 217: selection_statement ::= if ( condition ) statement else statement - // - case 217: { - action.consumeStatementIf(true); - break; - } - - // - // Rule 218: selection_statement ::= switch ( condition ) statement - // - case 218: { - action.consumeStatementSwitch(); - break; - } - - // - // Rule 220: condition ::= type_specifier_seq declarator = assignment_expression - // - case 220: { - action.consumeConditionDeclaration(); - break; - } - - // - // Rule 222: condition_opt ::= $Empty - // - case 222: { - action.consumeEmpty(); - break; - } - - // - // Rule 223: iteration_statement ::= while ( condition ) statement - // - case 223: { - action.consumeStatementWhileLoop(); - break; - } - - // - // Rule 224: iteration_statement ::= do statement while ( expression ) ; - // - case 224: { - action.consumeStatementDoLoop(true); - break; - } - - // - // Rule 225: iteration_statement ::= do statement - // - case 225: { - action.consumeStatementDoLoop(false); - break; - } - - // - // Rule 226: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement - // - case 226: { - action.consumeStatementForLoop(); - break; - } - - // - // Rule 228: for_init_statement ::= simple_declaration_with_declspec - // - case 228: { - action.consumeStatementDeclaration(); - break; - } - - // - // Rule 229: jump_statement ::= break ; - // - case 229: { - action.consumeStatementBreak(); - break; - } - - // - // Rule 230: jump_statement ::= continue ; - // - case 230: { - action.consumeStatementContinue(); - break; - } - - // - // Rule 231: jump_statement ::= return expression ; - // - case 231: { - action.consumeStatementReturn(true); - break; - } - - // - // Rule 232: jump_statement ::= return ; - // - case 232: { - action.consumeStatementReturn(false); - break; - } - - // - // Rule 233: jump_statement ::= goto identifier_token ; - // - case 233: { - action.consumeStatementGoto(); - break; - } - - // - // Rule 234: declaration_statement ::= block_declaration - // - case 234: { - action.consumeStatementDeclarationWithDisambiguation(); - break; - } - - // - // Rule 235: declaration_statement ::= function_definition - // - case 235: { - action.consumeStatementDeclaration(); - break; - } - - // - // Rule 243: declaration ::= ERROR_TOKEN - // - case 243: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 253: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; - // - case 253: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 254: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; - // - case 254: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 255: declaration_specifiers ::= simple_declaration_specifiers - // - case 255: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 256: declaration_specifiers ::= class_declaration_specifiers - // - case 256: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 257: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 257: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 258: declaration_specifiers ::= enum_declaration_specifiers - // - case 258: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 259: declaration_specifiers ::= type_name_declaration_specifiers - // - case 259: { - action.consumeDeclarationSpecifiersTypeName(); - break; - } - - // - // Rule 261: declaration_specifiers_opt ::= $Empty - // - case 261: { - action.consumeEmpty(); - break; - } - - // - // Rule 265: no_type_declaration_specifier ::= friend - // - case 265: { - action.consumeToken(); - break; - } - - // - // Rule 266: no_type_declaration_specifier ::= typedef - // - case 266: { - action.consumeToken(); - break; - } - - // - // Rule 286: storage_class_specifier ::= auto - // - case 286: { - action.consumeToken(); - break; - } - - // - // Rule 287: storage_class_specifier ::= register - // - case 287: { - action.consumeToken(); - break; - } - - // - // Rule 288: storage_class_specifier ::= static - // - case 288: { - action.consumeToken(); - break; - } - - // - // Rule 289: storage_class_specifier ::= extern - // - case 289: { - action.consumeToken(); - break; - } - - // - // Rule 290: storage_class_specifier ::= mutable - // - case 290: { - action.consumeToken(); - break; - } - - // - // Rule 291: function_specifier ::= inline - // - case 291: { - action.consumeToken(); - break; - } - - // - // Rule 292: function_specifier ::= virtual - // - case 292: { - action.consumeToken(); - break; - } - - // - // Rule 293: function_specifier ::= explicit - // - case 293: { - action.consumeToken(); - break; - } - - // - // Rule 294: simple_type_specifier ::= simple_type_specifier_token - // - case 294: { - action.consumeToken(); - break; - } - - // - // Rule 308: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name - // - case 308: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 309: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name - // - case 309: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 310: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name - // - case 310: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 311: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name - // - case 311: { - action.consumeQualifiedId(true); - break; - } - - // - // Rule 313: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name - // - case 313: { - action.consumeTypeSpecifierElaborated(false); - break; - } - - // - // Rule 314: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name - // - case 314: { - action.consumeTypeSpecifierElaborated(true); - break; - } - - // - // Rule 315: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name - // - case 315: { - action.consumeTypeSpecifierElaborated(false); - break; - } - - // - // Rule 319: enum_specifier ::= enum enum_specifier_hook { enumerator_list_opt comma_opt } - // - case 319: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 320: enum_specifier ::= enum enum_specifier_hook identifier_token { enumerator_list_opt comma_opt } - // - case 320: { - action.consumeTypeSpecifierEnumeration(true); - break; - } - - // - // Rule 326: enumerator_definition ::= identifier_token - // - case 326: { - action.consumeEnumerator(false); - break; - } - - // - // Rule 327: enumerator_definition ::= identifier_token = constant_expression - // - case 327: { - action.consumeEnumerator(true); - break; - } - - // - // Rule 329: namespace_definition ::= namespace namespace_name namespace_definition_hook { declaration_seq_opt } - // - case 329: { - action.consumeNamespaceDefinition(true); - break; - } - - // - // Rule 330: namespace_definition ::= namespace namespace_definition_hook { declaration_seq_opt } - // - case 330: { - action.consumeNamespaceDefinition(false); - break; - } - - // - // Rule 332: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; - // - case 332: { - action.consumeNamespaceAliasDefinition(); - break; - } - - // - // Rule 333: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; - // - case 333: { - action.consumeUsingDeclaration(); - break; - } - - // - // Rule 334: typename_opt ::= typename - // - case 334: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 335: typename_opt ::= $Empty - // - case 335: { - action.consumeEmpty(); - break; - } - - // - // Rule 336: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; - // - case 336: { - action.consumeUsingDirective(); - break; - } - - // - // Rule 337: asm_definition ::= asm ( stringlit ) ; - // - case 337: { - action.consumeDeclarationASM(); - break; - } - - // - // Rule 338: linkage_specification ::= extern stringlit { declaration_seq_opt } - // - case 338: { - action.consumeLinkageSpecification(); - break; - } - - // - // Rule 339: linkage_specification ::= extern stringlit declaration - // - case 339: { - action.consumeLinkageSpecification(); - break; - } - - // - // Rule 344: init_declarator_complete ::= init_declarator - // - case 344: { - action.consumeInitDeclaratorComplete(); - break; - } - - // - // Rule 346: init_declarator ::= complete_declarator initializer - // - case 346: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 349: declarator ::= ptr_operator_seq direct_declarator - // - case 349: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 351: function_declarator ::= ptr_operator_seq direct_declarator - // - case 351: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 355: basic_direct_declarator ::= declarator_id_name - // - case 355: { - action.consumeDirectDeclaratorIdentifier(); - break; - } - - // - // Rule 356: basic_direct_declarator ::= ( declarator ) - // - case 356: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 357: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 357: { - action.consumeDirectDeclaratorFunctionDeclarator(true); - break; - } - - // - // Rule 358: array_direct_declarator ::= array_direct_declarator array_modifier - // - case 358: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 359: array_direct_declarator ::= basic_direct_declarator array_modifier - // - case 359: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 360: array_modifier ::= [ constant_expression ] - // - case 360: { - action.consumeDirectDeclaratorArrayModifier(true); - break; - } - - // - // Rule 361: array_modifier ::= [ ] - // - case 361: { - action.consumeDirectDeclaratorArrayModifier(false); - break; - } - - // - // Rule 362: ptr_operator ::= pointer_hook * pointer_hook cv_qualifier_seq_opt - // - case 362: { - action.consumePointer(); - break; - } - - // - // Rule 363: ptr_operator ::= pointer_hook & pointer_hook - // - case 363: { - action.consumeReferenceOperator(); - break; - } - - // - // Rule 364: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook cv_qualifier_seq_opt - // - case 364: { - action.consumePointerToMember(); - break; - } - - // - // Rule 371: cv_qualifier ::= const - // - case 371: { - action.consumeToken(); - break; - } - - // - // Rule 372: cv_qualifier ::= volatile - // - case 372: { - action.consumeToken(); - break; - } - - // - // Rule 374: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name - // - case 374: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 375: type_id ::= type_specifier_seq - // - case 375: { - action.consumeTypeId(false); - break; - } - - // - // Rule 376: type_id ::= type_specifier_seq abstract_declarator - // - case 376: { - action.consumeTypeId(true); - break; - } - - // - // Rule 379: abstract_declarator ::= ptr_operator_seq - // - case 379: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 380: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator - // - case 380: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 384: basic_direct_abstract_declarator ::= ( abstract_declarator ) - // - case 384: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 385: basic_direct_abstract_declarator ::= ( ) - // - case 385: { - action.consumeAbstractDeclaratorEmpty(); - break; - } - - // - // Rule 386: array_direct_abstract_declarator ::= array_modifier - // - case 386: { - action.consumeDirectDeclaratorArrayDeclarator(false); - break; - } - - // - // Rule 387: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier - // - case 387: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 388: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier - // - case 388: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 389: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 389: { - action.consumeDirectDeclaratorFunctionDeclarator(true); - break; - } - - // - // Rule 390: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 390: { - action.consumeDirectDeclaratorFunctionDeclarator(false); - break; - } - - // - // Rule 391: parameter_declaration_clause ::= parameter_declaration_list_opt ... - // - case 391: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 392: parameter_declaration_clause ::= parameter_declaration_list_opt - // - case 392: { - action.consumeEmpty(); - break; - } - - // - // Rule 393: parameter_declaration_clause ::= parameter_declaration_list , ... - // - case 393: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 399: abstract_declarator_opt ::= $Empty - // - case 399: { - action.consumeEmpty(); - break; - } - - // - // Rule 400: parameter_declaration ::= declaration_specifiers parameter_init_declarator - // - case 400: { - action.consumeParameterDeclaration(); - break; - } - - // - // Rule 401: parameter_declaration ::= declaration_specifiers - // - case 401: { - action.consumeParameterDeclarationWithoutDeclarator(); - break; - } - - // - // Rule 403: parameter_init_declarator ::= declarator = parameter_initializer - // - case 403: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 405: parameter_init_declarator ::= abstract_declarator = parameter_initializer - // - case 405: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 406: parameter_init_declarator ::= = parameter_initializer - // - case 406: { - action.consumeDeclaratorWithInitializer(false); - break; - } - - // - // Rule 407: parameter_initializer ::= assignment_expression - // - case 407: { - action.consumeInitializer(); - break; - } - - // - // Rule 408: function_definition ::= declaration_specifiers_opt function_declarator ctor_initializer_list_opt function_body - // - case 408: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 409: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body handler_seq - // - case 409: { - action.consumeFunctionDefinition(true); - break; - } - - // - // Rule 412: initializer ::= ( expression_list ) - // - case 412: { - action.consumeInitializerConstructor(); - break; - } - - // - // Rule 413: initializer_clause ::= assignment_expression - // - case 413: { - action.consumeInitializer(); - break; - } - - // - // Rule 414: initializer_clause ::= initializer_list - // - case 414: { - action.consumeInitializer(); - break; - } - - // - // Rule 415: initializer_list ::= start_initializer_list { initializer_seq , } end_initializer_list - // - case 415: { - action.consumeInitializerList(); - break; - } - - // - // Rule 416: initializer_list ::= start_initializer_list { initializer_seq } end_initializer_list - // - case 416: { - action.consumeInitializerList(); - break; - } - - // - // Rule 417: initializer_list ::= { } - // - case 417: { - action.consumeInitializerList(); - break; - } - - // - // Rule 418: start_initializer_list ::= $Empty - // - case 418: { - action.initializerListStart(); - break; - } - - // - // Rule 419: end_initializer_list ::= $Empty - // - case 419: { - action.initializerListEnd(); - break; - } - - // - // Rule 424: class_specifier ::= class_head { member_declaration_list_opt } - // - case 424: { - action.consumeClassSpecifier(); - break; - } - - // - // Rule 425: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook base_clause_opt - // - case 425: { - action.consumeClassHead(false); - break; - } - - // - // Rule 426: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook base_clause_opt - // - case 426: { - action.consumeClassHead(false); - break; - } - - // - // Rule 427: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook base_clause_opt - // - case 427: { - action.consumeClassHead(true); - break; - } - - // - // Rule 428: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook base_clause_opt - // - case 428: { - action.consumeClassHead(true); - break; - } - - // - // Rule 432: identifier_name_opt ::= $Empty - // - case 432: { - action.consumeEmpty(); - break; - } - - // - // Rule 436: visibility_label ::= access_specifier_keyword : - // - case 436: { - action.consumeVisibilityLabel(); - break; - } - - // - // Rule 437: member_declaration ::= declaration_specifiers_opt member_declarator_list ; - // - case 437: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 438: member_declaration ::= declaration_specifiers_opt ; - // - case 438: { - action.consumeDeclarationSimple(false); - break; - } - - // - // Rule 441: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; - // - case 441: { - action.consumeMemberDeclarationQualifiedId(); - break; - } - - // - // Rule 447: member_declaration ::= ERROR_TOKEN - // - case 447: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 456: member_declarator ::= declarator constant_initializer - // - case 456: { - action.consumeMemberDeclaratorWithInitializer(); - break; - } - - // - // Rule 457: member_declarator ::= bit_field_declarator : constant_expression - // - case 457: { - action.consumeBitField(true); - break; - } - - // - // Rule 458: member_declarator ::= : constant_expression - // - case 458: { - action.consumeBitField(false); - break; - } - - // - // Rule 459: bit_field_declarator ::= identifier_name - // - case 459: { - action.consumeDirectDeclaratorIdentifier(); - break; - } - - // - // Rule 460: constant_initializer ::= = constant_expression - // - case 460: { - action.consumeInitializer(); - break; - } - - // - // Rule 466: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name - // - case 466: { - action.consumeBaseSpecifier(false, false); - break; - } - - // - // Rule 467: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name - // - case 467: { - action.consumeBaseSpecifier(true, true); - break; - } - - // - // Rule 468: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name - // - case 468: { - action.consumeBaseSpecifier(true, true); - break; - } - - // - // Rule 469: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name - // - case 469: { - action.consumeBaseSpecifier(true, false); - break; - } - - // - // Rule 470: access_specifier_keyword ::= private - // - case 470: { - action.consumeToken(); - break; - } - - // - // Rule 471: access_specifier_keyword ::= protected - // - case 471: { - action.consumeToken(); - break; - } - - // - // Rule 472: access_specifier_keyword ::= public - // - case 472: { - action.consumeToken(); - break; - } - - // - // Rule 474: access_specifier_keyword_opt ::= $Empty - // - case 474: { - action.consumeEmpty(); - break; - } - - // - // Rule 476: conversion_function_id_name ::= conversion_function_id < template_argument_list_opt > - // - case 476: { - action.consumeTemplateId(); - break; - } - - // - // Rule 477: conversion_function_id ::= operator conversion_type_id - // - case 477: { - action.consumeConversionName(); - break; - } - - // - // Rule 478: conversion_type_id ::= type_specifier_seq conversion_declarator - // - case 478: { - action.consumeTypeId(true); - break; - } - - // - // Rule 479: conversion_type_id ::= type_specifier_seq - // - case 479: { - action.consumeTypeId(false); - break; - } - - // - // Rule 480: conversion_declarator ::= ptr_operator_seq - // - case 480: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 486: mem_initializer ::= mem_initializer_name ( expression_list_opt ) - // - case 486: { - action.consumeConstructorChainInitializer(); - break; - } - - // - // Rule 487: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name - // - case 487: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 490: operator_function_id_name ::= operator_id_name < template_argument_list_opt > - // - case 490: { - action.consumeTemplateId(); - break; - } - - // - // Rule 491: operator_id_name ::= operator overloadable_operator - // - case 491: { - action.consumeOperatorName(); - break; - } - - // - // Rule 534: template_declaration ::= export_opt template < template_parameter_list > declaration - // - case 534: { - action.consumeTemplateDeclaration(); - break; - } - - // - // Rule 535: export_opt ::= export - // - case 535: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 536: export_opt ::= $Empty - // - case 536: { - action.consumeEmpty(); - break; - } - - // - // Rule 540: template_parameter ::= parameter_declaration - // - case 540: { - action.consumeTemplateParamterDeclaration(); - break; - } - - // - // Rule 541: type_parameter ::= class identifier_name_opt - // - case 541: { - action.consumeSimpleTypeTemplateParameter(false); - break; - } - - // - // Rule 542: type_parameter ::= class identifier_name_opt = type_id - // - case 542: { - action.consumeSimpleTypeTemplateParameter(true); - break; - } - - // - // Rule 543: type_parameter ::= typename identifier_name_opt - // - case 543: { - action.consumeSimpleTypeTemplateParameter(false); - break; - } - - // - // Rule 544: type_parameter ::= typename identifier_name_opt = type_id - // - case 544: { - action.consumeSimpleTypeTemplateParameter(true); - break; - } - - // - // Rule 545: type_parameter ::= template < template_parameter_list > class identifier_name_opt - // - case 545: { - action.consumeTemplatedTypeTemplateParameter(false); - break; - } - - // - // Rule 546: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression - // - case 546: { - action.consumeTemplatedTypeTemplateParameter(true); - break; - } - - // - // Rule 547: template_id_name ::= identifier_name < template_argument_list_opt > - // - case 547: { - action.consumeTemplateId(); - break; - } - - // - // Rule 554: nested_name_specifier_inTemplate ::= class_or_namespace_name_inTemplate :: nested_name_specifier_with_template_inTemplate - // - case 554: { - action.consumeNestedNameSpecifier(true); - break; - } - - // - // Rule 555: nested_name_specifier_inTemplate ::= class_or_namespace_name_inTemplate :: - // - case 555: { - action.consumeNestedNameSpecifier(false); - break; - } - - // - // Rule 556: nested_name_specifier_with_template_inTemplate ::= class_or_namespace_name_with_template_inTemplate :: nested_name_specifier_with_template_inTemplate - // - case 556: { - action.consumeNestedNameSpecifier(true); - break; - } - - // - // Rule 557: nested_name_specifier_with_template_inTemplate ::= class_or_namespace_name_with_template_inTemplate :: - // - case 557: { - action.consumeNestedNameSpecifier(false); - break; - } - - // - // Rule 558: class_or_namespace_name_with_template_inTemplate ::= template_opt class_or_namespace_name_inTemplate - // - case 558: { - action.consumeNameWithTemplateKeyword(); - break; - } - - // - // Rule 560: nested_name_specifier_opt_inTemplate ::= $Empty - // - case 560: { - action.consumeNestedNameSpecifierEmpty(); - break; - } - - // - // Rule 563: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier identifier_name - // - case 563: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 564: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier template_opt template_id_name - // - case 564: { - action.consumeQualifiedId(true); - break; - } - - // - // Rule 569: declaration_specifiers_inTemplate ::= simple_declaration_specifiers - // - case 569: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 570: declaration_specifiers_inTemplate ::= class_declaration_specifiers - // - case 570: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 571: declaration_specifiers_inTemplate ::= elaborated_declaration_specifiers - // - case 571: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 572: declaration_specifiers_inTemplate ::= enum_declaration_specifiers - // - case 572: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 573: declaration_specifiers_inTemplate ::= type_name_declaration_specifiers_inTemplate - // - case 573: { - action.consumeDeclarationSpecifiersTypeName(); - break; - } - - // - // Rule 575: type_id_inTemplate ::= type_specifier_seq_inTemplate - // - case 575: { - action.consumeTypeId(false); - break; - } - - // - // Rule 576: type_id_inTemplate ::= type_specifier_seq_inTemplate abstract_declarator - // - case 576: { - action.consumeTypeId(true); - break; - } - - // - // Rule 577: template_argument ::= assignment_expression_inTemplate - // - case 577: { - action.consumeTemplateArgumentExpression(); - break; - } - - // - // Rule 578: template_argument ::= type_id_inTemplate - // - case 578: { - action.consumeTemplateArgumentTypeId(); - break; - } - - // - // Rule 579: explicit_instantiation ::= template declaration - // - case 579: { - action.consumeTemplateExplicitInstantiation(); - break; - } - - // - // Rule 580: explicit_specialization ::= template < > declaration - // - case 580: { - action.consumeTemplateExplicitSpecialization(); - break; - } - - // - // Rule 581: try_block ::= try compound_statement handler_seq - // - case 581: { - action.consumeStatementTryBlock(true); - break; - } - - // - // Rule 582: try_block ::= try compound_statement - // - case 582: { - action.consumeStatementTryBlock(false); - break; - } - - // - // Rule 585: handler ::= catch ( exception_declaration ) compound_statement - // - case 585: { - action.consumeStatementCatchHandler(false); - break; - } - - // - // Rule 586: handler ::= catch ( ... ) compound_statement - // - case 586: { - action.consumeStatementCatchHandler(true); - break; - } - - // - // Rule 587: exception_declaration ::= type_specifier_seq declarator - // - case 587: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 588: exception_declaration ::= type_specifier_seq abstract_declarator - // - case 588: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 589: exception_declaration ::= type_specifier_seq - // - case 589: { - action.consumeDeclarationSimple(false); - break; - } - - // - // Rule 591: exception_specification ::= throw ( ) - // - case 591: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 597: no_sizeof_type_id_start ::= ERROR_TOKEN - // - case 597: { - action.consumeEmpty(); - break; - } - - default: - break; - } - return; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java deleted file mode 100644 index 5f1d9ae7661..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java +++ /dev/null @@ -1,1555 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CPPSizeofExpressionParsersym { - - 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 }; - } - - 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, 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, 5, 6, 3, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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, 5, - 6, 4, 1, 3, 1, 0, 1, 1, 2, 1, 1, 3, 1, 3, 1, 1, 1, 1, 3, 9, 2, 2, 3, 2, 5, 3, 7, 0, 1, 2, 2, 1, 0, 1, 1, - 1, 3, 1, 2, 1, 1, 2, 3, 1, 1, 1, 3, 2, 1, 2, 2, 9, 8, 2, 1, 3, 1, 3, 1, 0, 1, 0, 2, 1, 1, 3, 1, 3, 2, 1, - 5, 8, 1, 2, 3, 1, 1, 7, 6, 3, 0, 0, 1, 3, 1, 1, 5, 6, 6, 7, 7, 0, 0, 1, 0, 1, 1, 1, 2, 4, 2, 2, 1, 5, 1, - 1, 1, 1, 1, 1, 1, 2, 1, 0, 1, 3, 1, 1, 2, 3, 2, 1, 2, 2, 1, 0, 1, 3, 3, 5, 5, 4, 1, 1, 1, 1, 0, 1, 5, 2, - 2, 1, 2, 2, 1, 0, 1, 3, 4, 3, 1, 1, 5, 2, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 7, 1, 0, 1, 3, 1, 1, 2, 4, 2, 4, 7, 9, 5, - 1, 3, 1, 0, 1, 1, 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, -62, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -4, -10, 0, 0, 0, 0, 0, 0, 0, -123, 0, 0, -5, 0, 0, -472, 0, 0, 0, 0, -279, 0, - 0, -136, 0, -137, -594, -428, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -198, 0, 0, 0, 0, -6, 0, -18, 0, 0, 0, - -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, -49, -42, 0, 0, -61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -415, 0, -71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -126, 0, 0, 0, 0, 0, -196, 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, -53, 0, 0, 0, 0, 0, 0, - -522, 0, 0, 0, -58, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, -121, 0, -385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -8, -130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -260, 0, 0, - -128, 0, -72, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -51, 0, -50, -54, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -596, 0, 0, 0, 0, -117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -261, -47, 0, 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, 0, -64, 0, -65, 0, - 0, 0, 0, 0, 0, -325, 0, 0, 0, -444, -141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -311, 0, 0, -11, 0, 0, 0, - 0, 0, 0, 0, -571, 0, 0, 0, 0, -262, 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, -13, 0, 0, 0, 0, 0, 0, -177, 0, 0, 0, -16, 0, 0, 0, -526, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -595, 0, 0, 0, 0, -510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -197, 0, 0, -215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -272, 0, 0, 0, 0, -92, 0, 0, 0, 0, -367, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -119, 0, 0, 0, -211, 0, 0, 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, 0, 0, 0, 0, 0, -112, -15, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -28, 0, 0, 0, -235, 0, 0, 0, 0, 0, -146, 0, 0, 0, -368, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -199, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -176, 0, 0, 0, 0, -91, 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, -57, -30, 0, 0, -31, 0, 0, 0, 0, 0, 0, 0, -329, 0, 0, 0, 0, -269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -195, 0, 0, 0, 0, 0, 0, 0, -32, 0, 0, -264, 0, 0, 0, 0, 0, - -570, -375, 0, 0, 0, 0, -33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -209, 0, 0, - 0, -129, 0, 0, 0, 0, -402, 0, 0, -143, 0, 0, -273, 0, 0, 0, 0, -376, 0, 0, 0, 0, -316, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -48, 0, 0, 0, -214, 0, 0, 0, 0, 0, 0, 0, -357, 0, 0, -280, - 0, 0, 0, 0, -345, -34, 0, -39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -152, 0, 0, -286, 0, 0, 0, 0, -356, 0, -440, -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, -205, 0, 0, -270, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -326, 0, 0, 0, 0, -94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -388, 0, 0, -287, 0, 0, 0, 0, -95, 0, 0, 0, 0, -35, 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, -321, 0, 0, 0, 0, 0, 0, 0, - -421, 0, 0, -327, 0, 0, 0, 0, -96, 0, 0, 0, 0, -36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -322, -37, 0, 0, -324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -339, 0, 0, 0, 0, -97, 0, 0, 0, 0, - -371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -328, -38, 0, 0, -340, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -369, 0, 0, 0, 0, -98, 0, 0, 0, 0, -40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -360, -55, 0, 0, 0, -405, 0, 0, 0, -423, 0, 0, -56, 0, 0, -390, 0, 0, 0, 0, -99, 0, 0, - 0, 0, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -361, 0, 0, 0, -365, 0, 0, 0, - 0, 0, 0, 0, -366, 0, 0, -59, -60, 0, -409, 0, -100, 0, 0, 0, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -69, 0, 0, 0, -353, 0, 0, -377, 0, 0, -107, -113, 0, -410, 0, - -101, 0, 0, 0, 0, -70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -383, - -108, 0, 0, 0, 0, 0, 0, -443, 0, 0, 0, 0, -400, -309, 0, -102, 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, 0, 0, 0, 0, -391, -110, 0, 0, 0, 0, 0, 0, -394, 0, 0, -434, -332, - 0, -111, 0, -103, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, -447, 0, 0, -131, 0, 0, -460, 0, 0, -138, 0, -104, 0, 0, 0, 0, -540, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -397, -139, 0, 0, 0, 0, 0, 0, -140, 0, 0, - -323, 0, 0, -221, 0, -134, 0, 0, 0, 0, -265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -411, -116, 0, 0, 0, 0, 0, 0, 0, -341, 0, 0, 0, 0, 0, -222, 0, 0, 0, 0, -354, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -153, 0, 0, 0, 0, 0, 0, -266, 0, 0, 0, - -436, 0, 0, -374, 0, 0, 0, 0, -154, 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, -503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -229, 0, -399, -313, 0, 0, - 0, 0, 0, 0, 0, -155, -319, 0, 0, 0, 0, 0, 0, 0, -247, 0, 0, 0, 0, -156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -147, -355, 0, 0, 0, -413, 0, 0, 0, 0, 0, 0, -446, 0, 0, 0, -333, 0, 0, - -118, 0, -157, 0, 0, 0, 0, 0, 0, -158, -492, 0, 0, -320, 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, -475, -457, 0, -159, 0, 0, -14, 0, -284, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -431, 0, 0, -392, -160, 0, 0, 0, 0, 0, 0, -249, 0, 0, 0, - 0, -161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -151, 0, -363, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -120, 0, -379, 0, 0, 0, 0, -416, 0, -461, 0, 0, 0, -412, 0, 0, 0, 0, 0, 0, - -250, 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, -501, -389, 0, - -419, 0, 0, 0, 0, -162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -163, 0, 0, 0, 0, 0, 0, 0, 0, 0, -192, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -251, 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, - -207, 0, -564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -350, 0, 0, 0, -165, 0, -572, 0, 0, - 0, -435, 0, 0, 0, 0, 0, 0, -252, 0, 0, 0, 0, -166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -167, -168, -450, -169, -464, 0, 0, 0, 0, 0, 0, 0, -430, 0, 0, 0, -480, 0, -170, 0, - -425, -463, 0, 0, 0, 0, -171, 0, 0, 0, 0, 0, 0, 0, 0, 0, -253, 0, 0, 0, 0, -172, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -216, 0, -148, 0, 0, 0, 0, -173, 0, 0, 0, 0, 0, 0, 0, -174, 0, - 0, 0, 0, 0, -470, -449, 0, 0, 0, 0, 0, -506, 0, 0, -418, 0, 0, 0, 0, 0, 0, -254, 0, 0, 0, 0, -175, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274, 0, -150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -474, 0, 0, -478, 0, 0, -471, 0, 0, 0, 0, 0, -178, -537, 0, 0, -422, 0, 0, 0, 0, 0, 0, -255, 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, -281, 0, -393, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -476, -487, 0, 0, -483, 0, 0, 0, 0, -453, 0, -490, 0, -462, 0, -499, 0, -583, 0, 0, - 0, 0, 0, 0, -256, 0, 0, 0, 0, -183, 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, -532, -43, 0, -122, 0, 0, 0, -184, -536, 0, -185, 0, -283, - 0, -479, -527, 0, -586, 0, 0, 0, 0, 0, -352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -186, 0, 0, 0, 0, 0, 0, -187, 0, -188, 0, -288, -344, -535, 0, -554, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -556, 0, -504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -589, 0, 0, 0, 0, 0, 0, 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, -189, 0, 0, 0, 0, 0, 0, -515, 0, 0, 0, -289, -290, - -190, 0, -387, 0, 0, 0, 0, -587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -567, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -524, 0, 0, -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, -278, -191, 0, 0, -194, 0, 0, 0, 0, 0, 0, 0, -575, 0, 0, 0, -202, 0, 0, -533, -525, - -203, -206, -538, 0, -291, -338, 0, -557, -348, -414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -217, 0, 0, -349, 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, -227, 0, 0, 0, -228, 0, 0, 0, 0, 0, 0, -236, - 0, 0, -267, -275, -277, -285, 0, 0, 0, -551, -552, -296, -297, -218, 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, -298, -299, 0, 0, 0, 0, 0, 0, -300, 0, 0, 0, - 0, 0, -513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -180, -301, - -351, 0, -302, 0, 0, 0, 0, -303, 0, 0, -304, 0, 0, -124, -305, -306, -307, -312, -230, -437, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -314, 0, -315, -584, -330, -331, 0, 0, -220, 0, 0, 0, 0, -73, 0, -342, 0, -346, 0, 0, 0, - 0, -347, -133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -358, 0, -559, 0, -380, -420, 0, 0, -448, -106, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -258, 0, 0, 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, - -337, -359, -417, 0, -364, 0, 0, 0, -201, 0, 0, 0, -372, -373, -384, -404, 0, -406, 0, -426, 0, 0, 0, 0, - 0, 0, -579, 0, -429, 0, 0, -528, 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, 0, 0, 0, 0, -592, -599, 0, 0, 0, -442, 0, 0, 0, -531, 0, -245, 0, 0, 0, 0, -534, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -455, 0, 0, 0, 0, -456, 0, -458, -459, -465, 0, -467, -473, - -481, -488, 0, -489, -512, 0, -514, 0, 0, 0, 0, -563, 0, -516, 0, -517, -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, -518, -378, 0, 0, 0, -519, -231, -521, -539, -541, - -336, -542, -544, -549, 0, -553, -560, 0, -568, 0, -577, -370, 0, -565, 0, -585, 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, -590, 0, -601, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -569, 0, -573, -574, 0, -240, 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, 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, -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, -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, -454, 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, -193, 0, 0, 0, 0, 0, -135, - -598, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, -495, 0, 0, 0, 0, 0, 0, 0, 0, 0, -232, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -523, 0, 0, 0, 0, 0, 0, 0, 0, 0, -529, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -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, -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, -239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -295, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -335, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -127, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -530, 0, 0, 0, 0, 0, 0, 0, -292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -200, 0, 0, 0, 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -401, - 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -208, 0, 0, -44, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -142, 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, -511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -144, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -210, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -588, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -204, 0, 0, 0, 0, 0, 0, 0, 0, 0, -74, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -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, 0, 0, 0, 0, 0, 0, -498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -543, 0, -548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -545, 0, 0, 0, 0, 0, 0, 0, 0, -268, 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, -485, 0, 0, -105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -334, 0, 0, 0, - -223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -576, 0, 0, 0, - 0, 0, 0, 0, -408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -398, 0, 0, 0, 0, 0, -591, - 0, 0, 0, 0, 0, -224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -578, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -219, 0, 0, 0, -225, 0, -226, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -79, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -494, 0, -582, 0, 0, 0, 0, 0, 0, 0, - 0, -407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -294, 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, 0, 0, 0, 0, 0, 0, -597, 0, -257, 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, -343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -602, 0, 0, 0, 0, 0, 0, 0, 0, - -445, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -581, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -179, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -21, 0, 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, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 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, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, -63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -76, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -424, 0, 0, 0, -46, 0, 0, 0, 0, 0, 0, 0, - -452, 0, 0, 0, 0, 0, -566, 0, 0, 0, 0, 0, -500, 0, 0, 0, 0, 0, 0, 0, -466, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, 0, 0, 0, 0, 0, -396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -546, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -317, 0, 0, 0, 0, 0, 0, 0, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -477, 0, 0, 0, 0, 0, 0, 0, -507, -469, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -486, -234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -263, 0, 0, 0, 0, 0, 0, -381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -484, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -497, 0, 0, 0, 0, 0, 0, 0, -213, 0, 0, 0, 0, 0, -505, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -547, 0, 0, 0, 0, 0, -550, 0, 0, 0, -508, 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, -555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[index]; - } - - public interface BaseAction { - public final static char baseAction[] = { 191, 5, 154, 94, 94, 32, 32, 80, 80, 39, 39, 42, 42, 218, 1, 1, 16, - 16, 16, 16, 16, 16, 16, 17, 17, 17, 15, 11, 11, 6, 6, 6, 6, 6, 6, 2, 75, 75, 4, 4, 12, 12, 44, 44, 155, - 155, 156, 67, 67, 43, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 157, - 157, 157, 131, 131, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 192, 192, 193, 193, 194, - 160, 160, 161, 161, 158, 158, 162, 159, 159, 21, 21, 22, 22, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 26, - 26, 26, 30, 30, 30, 30, 30, 33, 33, 33, 34, 34, 35, 35, 37, 37, 38, 38, 40, 40, 41, 41, 45, 45, 45, 45, - 45, 47, 47, 47, 52, 52, 54, 54, 61, 61, 62, 62, 63, 63, 64, 64, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, - 65, 65, 65, 29, 29, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 36, 28, 163, 163, 105, 105, 195, - 195, 104, 219, 219, 82, 82, 82, 82, 82, 82, 82, 82, 82, 83, 83, 83, 78, 78, 66, 66, 196, 196, 84, 84, - 84, 116, 116, 197, 197, 85, 85, 85, 85, 198, 198, 86, 86, 86, 86, 86, 87, 87, 95, 95, 95, 95, 95, 95, - 95, 95, 55, 55, 55, 55, 55, 132, 132, 130, 130, 56, 199, 27, 27, 27, 27, 27, 50, 50, 69, 69, 69, 69, 69, - 137, 137, 133, 133, 133, 133, 133, 134, 134, 134, 135, 135, 135, 136, 136, 136, 165, 165, 165, 70, 70, - 70, 70, 70, 71, 71, 71, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 106, 138, 138, 138, 138, 138, - 138, 111, 111, 111, 166, 167, 167, 112, 112, 200, 169, 169, 168, 168, 139, 139, 117, 92, 92, 140, 58, - 49, 170, 170, 59, 57, 97, 97, 171, 171, 164, 164, 141, 142, 142, 143, 89, 89, 172, 172, 76, 76, 76, 73, - 73, 72, 77, 77, 79, 79, 68, 68, 68, 53, 98, 98, 108, 107, 107, 51, 51, 74, 74, 81, 81, 60, 109, 109, - 109, 99, 99, 99, 100, 100, 101, 101, 101, 102, 102, 118, 118, 118, 120, 120, 119, 119, 220, 220, 103, - 103, 202, 202, 202, 202, 202, 145, 48, 48, 174, 201, 201, 146, 146, 147, 147, 147, 148, 176, 203, 203, - 31, 31, 110, 114, 114, 114, 114, 205, 122, 121, 121, 113, 113, 113, 177, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 207, 207, 204, 204, 206, 206, 179, 180, 180, 180, 180, 181, 208, 124, 123, 123, - 209, 209, 182, 182, 182, 182, 115, 115, 115, 210, 210, 8, 8, 9, 211, 211, 212, 183, 173, 173, 184, 184, - 185, 186, 186, 7, 7, 10, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 90, 93, 93, 187, 187, 150, 150, 151, 151, 151, 151, 151, 151, 3, 152, 152, 149, - 149, 188, 221, 222, 222, 223, 223, 224, 225, 225, 189, 190, 190, 190, 190, 214, 214, 214, 126, 126, 126, - 126, 126, 127, 128, 128, 125, 125, 96, 91, 88, 88, 175, 175, 129, 129, 215, 215, 215, 153, 153, 144, - 144, 216, 216, 191, 191, 1119, 35, 2044, 2037, 4502, 1355, 27, 30, 31, 1030, 1171, 26, 28, 2003, 294, - 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 332, 147, 175, 1331, 306, 924, 1587, 1436, - 1657, 1213, 1634, 1704, 413, 1728, 174, 71, 35, 1822, 423, 189, 2555, 35, 310, 1941, 264, 2532, 319, - 1638, 35, 1021, 32, 4949, 3844, 27, 30, 31, 1030, 1171, 373, 28, 1405, 1297, 267, 262, 263, 1510, 466, - 1673, 35, 1822, 423, 2360, 35, 1021, 32, 672, 5442, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, - 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 49, 307, 160, 2600, 1519, 274, 277, 280, 821, 1132, - 56, 56, 1775, 958, 3766, 676, 1206, 1671, 2750, 3345, 2864, 350, 3441, 355, 387, 2861, 388, 2912, 908, - 2263, 2395, 2857, 5962, 283, 2905, 2914, 2975, 159, 577, 187, 71, 3449, 1543, 35, 1021, 32, 4828, 1859, - 27, 30, 31, 1030, 1171, 57, 28, 1537, 35, 312, 625, 4328, 3272, 759, 35, 3173, 2137, 2360, 35, 1021, 32, - 672, 5442, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, - 1281, 2816, 49, 386, 160, 1818, 1037, 1238, 548, 574, 3257, 578, 71, 3180, 1775, 1334, 71, 1849, 1997, - 34, 2750, 2046, 2864, 378, 650, 648, 383, 2861, 1938, 2912, 2600, 1797, 2734, 376, 416, 2988, 2905, - 2914, 2975, 159, 577, 665, 2224, 2360, 35, 1021, 32, 672, 5442, 27, 30, 31, 1030, 1171, 26, 28, 986, - 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 69, 2088, 160, 1818, 3337, 2215, 35, - 1021, 32, 4828, 2369, 27, 30, 31, 1030, 1171, 56, 28, 2750, 323, 2864, 1647, 2057, 56, 2277, 2861, 2080, - 2912, 768, 533, 548, 574, 3257, 578, 2905, 2914, 2975, 159, 577, 61, 1912, 35, 1021, 32, 5073, 1257, 27, - 30, 31, 1030, 1171, 26, 28, 3275, 3060, 546, 532, 2988, 271, 294, 69, 71, 35, 1822, 423, 2570, 35, 1021, - 32, 672, 5442, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, - 1281, 2816, 49, 1520, 160, 1335, 264, 495, 548, 574, 3257, 578, 1851, 3449, 1775, 1170, 1556, 1537, 35, - 312, 2750, 4564, 2864, 363, 272, 262, 263, 2861, 2445, 2912, 1088, 3337, 3080, 1400, 1085, 2988, 2905, - 2914, 2975, 159, 577, 2708, 35, 1021, 32, 672, 69, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, - 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 2736, 439, 175, 1331, 60, 764, 1587, 1436, 1657, 2738, - 1634, 1704, 1192, 1728, 174, 2918, 71, 35, 3163, 413, 1559, 35, 1021, 32, 71, 3608, 41, 30, 31, 1030, - 1171, 1609, 549, 574, 3257, 578, 2428, 35, 1021, 32, 672, 1728, 27, 30, 31, 1030, 1171, 26, 28, 986, - 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 473, 147, 175, 1331, 1824, 4867, 1587, - 1436, 1657, 2866, 1634, 1704, 478, 1728, 174, 2918, 2456, 35, 310, 413, 322, 3327, 35, 1021, 32, 672, - 2634, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, - 1346, 1488, 1681, 3450, 1331, 2413, 2420, 1587, 2578, 420, 414, 2862, 2638, 35, 1021, 32, 672, 4549, 27, - 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 1104, - 2765, 175, 1331, 1323, 1624, 1587, 1436, 1657, 2728, 1634, 1704, 3735, 1728, 174, 2918, 1537, 35, 565, - 413, 5195, 583, 1994, 35, 1021, 32, 2634, 3325, 40, 30, 31, 1030, 1171, 421, 414, 2862, 2973, 35, 1021, - 32, 672, 1192, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, - 1281, 1346, 425, 462, 175, 1331, 2010, 147, 1587, 1436, 1657, 4887, 1634, 1704, 1248, 1728, 174, 71, 35, - 1997, 3159, 189, 3327, 35, 1021, 32, 672, 1239, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, - 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 56, 1449, 91, 1331, 1233, 836, 1587, 1436, 2577, 411, - 414, 2862, 2973, 35, 1021, 32, 672, 1488, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, - 104, 75, 76, 106, 1258, 1284, 1281, 1346, 426, 462, 175, 1331, 56, 1037, 1587, 1436, 1657, 6195, 1634, - 1704, 1338, 1728, 174, 71, 35, 2276, 2209, 407, 1660, 1728, 2973, 35, 1021, 32, 672, 55, 27, 30, 31, - 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 56, 625, 175, - 1331, 1818, 3059, 1587, 1436, 1657, 2491, 1634, 1704, 1818, 1728, 174, 71, 35, 1997, 309, 407, 2973, 35, - 1021, 32, 672, 1501, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, - 1284, 1281, 1346, 2276, 437, 175, 1331, 56, 1206, 1587, 1436, 1657, 706, 1634, 1704, 241, 1728, 174, - 931, 35, 1997, 309, 407, 1365, 1662, 406, 2502, 35, 1021, 32, 672, 191, 27, 30, 31, 1030, 1171, 26, 28, - 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 56, 494, 175, 1331, 583, 1206, - 1587, 1436, 1657, 5795, 1634, 1704, 1818, 1728, 174, 71, 3339, 1997, 73, 173, 1488, 405, 2345, 2973, 35, - 1021, 32, 672, 2641, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, - 1284, 1281, 1346, 2804, 1818, 175, 1331, 56, 1860, 1587, 1436, 1657, 965, 1634, 1704, 1950, 1728, 174, - 71, 35, 315, 403, 190, 2973, 35, 1021, 32, 672, 3275, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, - 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 1192, 1750, 175, 1331, 69, 1990, 1587, 1436, 1657, - 51, 1634, 1704, 1818, 1728, 174, 931, 35, 1997, 3344, 186, 2973, 35, 1021, 32, 672, 65, 27, 30, 31, - 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 56, 360, 175, - 1331, 56, 2099, 1587, 1436, 1657, 1110, 1634, 1704, 1818, 1728, 174, 71, 35, 1997, 311, 185, 2973, 35, - 1021, 32, 672, 228, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, - 1284, 1281, 1346, 56, 61, 175, 1331, 56, 1196, 1587, 1436, 1657, 3614, 1634, 1704, 95, 1728, 174, 71, - 35, 1997, 3451, 184, 2973, 35, 1021, 32, 672, 2929, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, - 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 56, 1007, 175, 1331, 56, 2144, 1587, 1436, 1657, - 823, 1634, 1704, 96, 1728, 174, 71, 35, 1997, 314, 183, 2973, 35, 1021, 32, 672, 1334, 27, 30, 31, 1030, - 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 147, 1348, 175, - 1331, 5011, 2702, 1587, 1436, 1657, 2178, 1634, 1704, 1847, 1728, 174, 71, 35, 1997, 564, 182, 2973, 35, - 1021, 32, 672, 233, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, - 1284, 1281, 1346, 2661, 441, 175, 1331, 56, 1908, 1587, 1436, 1657, 1815, 1634, 1704, 56, 1728, 174, - 2277, 2277, 1862, 2634, 181, 2973, 35, 1021, 32, 672, 2795, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, - 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 5772, 24, 175, 1331, 2249, 1361, 1587, 1436, - 1657, 69, 1634, 1704, 56, 1728, 174, 2277, 2277, 3439, 2634, 180, 2973, 35, 1021, 32, 672, 1482, 27, 30, - 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 68, 53, - 175, 1331, 56, 1413, 1587, 1436, 1657, 2672, 1634, 1704, 1915, 1728, 174, 1942, 6110, 2934, 2489, 179, - 2973, 35, 1021, 32, 672, 1934, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, - 106, 1258, 1284, 1281, 1346, 428, 462, 175, 1331, 56, 2112, 1587, 1436, 1657, 2738, 1634, 1704, 56, - 1728, 174, 2934, 2670, 5840, 2132, 178, 2973, 35, 1021, 32, 672, 456, 27, 30, 31, 1030, 1171, 26, 28, - 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 427, 462, 175, 1331, 424, 1488, - 1587, 1436, 1657, 1499, 1634, 1704, 2831, 1728, 174, 759, 35, 431, 1832, 177, 2973, 35, 1021, 32, 672, - 2280, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, - 1346, 2597, 358, 175, 1331, 56, 3785, 1587, 1436, 1657, 6039, 1634, 1704, 3724, 1728, 174, 2693, 35, - 313, 2524, 176, 2852, 35, 1021, 32, 672, 159, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, - 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 1734, 1508, 2540, 1331, 5314, 3884, 1587, 1436, 1657, - 2627, 1634, 1704, 482, 3081, 195, 2973, 35, 1021, 32, 672, 2007, 27, 30, 31, 1030, 1171, 26, 28, 986, - 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 3550, 1718, 175, 1331, 1192, 2598, - 1587, 1436, 1657, 2008, 1634, 1704, 3063, 1728, 174, 482, 843, 390, 584, 138, 1537, 35, 488, 2007, 5872, - 361, 592, 366, 2084, 2341, 3094, 35, 1021, 32, 672, 1516, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, - 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 2471, 1613, 160, 1243, 35, 1021, 32, 4949, 4990, - 27, 30, 31, 1030, 1171, 373, 28, 1903, 2341, 2750, 3847, 2864, 56, 1229, 35, 328, 2861, 1953, 2912, 362, - 369, 1423, 159, 271, 294, 2905, 2914, 2975, 159, 171, 3094, 35, 1021, 32, 672, 1645, 27, 30, 31, 1030, - 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 1595, 1335, 160, 86, - 264, 2489, 100, 2402, 369, 353, 2260, 355, 2489, 348, 1954, 1656, 2701, 464, 2750, 1350, 2864, 1653, - 272, 262, 263, 2861, 347, 2912, 227, 2171, 35, 488, 3002, 5872, 2905, 2914, 2975, 159, 170, 3094, 35, - 1021, 32, 672, 3503, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, - 1284, 1281, 2816, 1499, 147, 160, 399, 264, 6246, 2734, 1427, 2623, 3184, 2775, 4307, 341, 344, 2593, - 481, 3545, 3547, 2750, 319, 2864, 1801, 276, 262, 263, 2861, 320, 2912, 2789, 359, 1485, 2007, 415, 377, - 2905, 2914, 2975, 159, 169, 3094, 35, 1021, 32, 672, 417, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, - 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 884, 2277, 160, 1243, 35, 1021, 32, 4949, 4990, - 27, 30, 31, 1030, 1171, 373, 28, 2341, 3184, 2750, 1655, 2864, 2762, 1809, 42, 3125, 2861, 56, 2912, - 759, 35, 431, 1994, 2929, 52, 2905, 2914, 2975, 159, 168, 3094, 35, 1021, 32, 672, 319, 27, 30, 31, - 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 56, 1365, 160, - 2627, 264, 1206, 368, 369, 2417, 353, 2260, 355, 389, 348, 1954, 485, 3545, 3547, 2750, 2420, 2864, 592, - 279, 262, 263, 2861, 3364, 2912, 3514, 1815, 1192, 44, 3125, 3884, 2905, 2914, 2975, 159, 167, 3094, 35, - 1021, 32, 672, 495, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, - 1284, 1281, 2816, 1750, 2277, 160, 1243, 35, 1021, 32, 4949, 4990, 27, 30, 31, 1030, 1171, 373, 28, - 3063, 3552, 2750, 477, 2864, 491, 2731, 35, 563, 2861, 2874, 2912, 759, 35, 431, 367, 1488, 384, 2905, - 2914, 2975, 159, 166, 3094, 35, 1021, 32, 672, 3001, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, - 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 70, 2256, 160, 405, 1917, 2489, 572, 2626, 2581, - 353, 2260, 355, 4473, 348, 1954, 1229, 3541, 328, 2750, 2322, 2864, 1752, 415, 56, 1488, 2861, 3613, - 2912, 5852, 1929, 87, 1765, 410, 100, 2905, 2914, 2975, 159, 165, 3094, 35, 1021, 32, 672, 2185, 27, 30, - 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 2581, - 2277, 160, 1729, 35, 1021, 32, 5073, 2353, 27, 30, 31, 1030, 1171, 59, 28, 2418, 3618, 2750, 330, 2864, - 213, 147, 56, 410, 2861, 6263, 2912, 2310, 71, 35, 328, 2007, 88, 2905, 2914, 2975, 159, 164, 3094, 35, - 1021, 32, 672, 2450, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, - 1284, 1281, 2816, 1427, 2277, 160, 1729, 35, 1021, 32, 5073, 408, 27, 30, 31, 1030, 1171, 58, 28, 56, - 2341, 2750, 56, 2864, 2802, 147, 1485, 5864, 2861, 6301, 2912, 2496, 71, 35, 328, 2007, 1703, 2905, - 2914, 2975, 159, 163, 3094, 35, 1021, 32, 672, 1867, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, - 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 2798, 2277, 160, 1994, 35, 1021, 32, 2663, 369, - 1759, 30, 31, 1030, 1171, 3082, 2489, 56, 2341, 2750, 147, 2864, 6109, 346, 6315, 2593, 2861, 56, 2912, - 2178, 6101, 2007, 1062, 2818, 1707, 2905, 2914, 2975, 159, 162, 3094, 35, 1021, 32, 672, 571, 27, 30, - 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 2725, 333, - 160, 1994, 35, 1021, 32, 364, 369, 2800, 30, 31, 1030, 1171, 3362, 2341, 56, 56, 2750, 1833, 2864, 2930, - 4307, 2268, 1488, 2861, 581, 2912, 1508, 329, 2178, 1488, 3884, 1488, 2905, 2914, 2975, 159, 161, 3154, - 35, 1021, 32, 672, 377, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, - 1258, 1284, 1281, 2816, 2974, 753, 160, 253, 264, 2854, 369, 2581, 491, 2581, 2006, 717, 2277, 1904, 56, - 3063, 2669, 3884, 2750, 3087, 2864, 1340, 282, 262, 263, 2861, 1499, 2912, 2178, 584, 2917, 2920, 1896, - 586, 2905, 2914, 2975, 159, 158, 3214, 35, 1021, 32, 672, 67, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, - 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 3063, 337, 175, 1331, 56, 1657, 1587, 1436, - 1657, 994, 1634, 1704, 2178, 1728, 174, 2917, 2277, 2277, 1019, 220, 3327, 35, 1021, 32, 672, 1488, 27, - 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 56, - 66, 65, 1331, 210, 5133, 1587, 1436, 1657, 92, 1634, 1704, 2178, 3081, 195, 3327, 35, 1021, 32, 672, - 2581, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, - 1346, 2594, 2533, 585, 1331, 1248, 4307, 1587, 1436, 1657, 230, 1634, 1704, 2927, 3081, 195, 357, 2914, - 4624, 94, 2489, 2178, 2534, 744, 2178, 592, 2277, 2277, 4172, 2489, 2277, 3327, 35, 1021, 32, 672, 1621, - 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, - 64, 1895, 229, 1331, 55, 336, 1587, 1436, 1657, 835, 1634, 1704, 2277, 3081, 195, 3327, 35, 1021, 32, - 672, 458, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, - 1281, 1346, 338, 2492, 54, 1331, 394, 2564, 1587, 1436, 1657, 417, 1634, 1704, 3062, 3081, 195, 1486, - 2290, 2018, 1011, 3085, 3174, 3175, 2178, 2178, 589, 743, 71, 35, 1822, 423, 3327, 35, 1021, 32, 672, - 327, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, - 1346, 49, 915, 925, 1331, 233, 231, 1587, 1436, 1657, 2045, 1634, 1704, 46, 3081, 195, 3486, 35, 1021, - 32, 672, 457, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, - 1281, 1346, 2023, 2542, 2010, 1331, 577, 3345, 1587, 1436, 1657, 2486, 1634, 1704, 2179, 3081, 195, - 1922, 2494, 2389, 757, 2528, 2011, 1492, 35, 3454, 32, 4949, 4990, 27, 30, 31, 1030, 1171, 373, 28, 141, - 460, 2905, 35, 1021, 32, 672, 598, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, - 76, 106, 1258, 1284, 1281, 2816, 377, 187, 2878, 264, 2945, 2490, 2595, 2601, 264, 1813, 2003, 35, 1822, - 423, 3605, 2276, 386, 2706, 3170, 3003, 1206, 285, 262, 263, 1663, 1508, 276, 262, 263, 3884, 353, 2260, - 355, 717, 348, 1954, 378, 650, 648, 383, 2628, 306, 2178, 191, 2277, 2277, 576, 1755, 2277, 3327, 35, - 1021, 32, 672, 1812, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, - 1284, 1281, 1346, 356, 99, 3063, 1331, 2722, 332, 1587, 1436, 1657, 651, 1634, 2603, 3433, 35, 1021, 32, - 672, 366, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, - 1281, 2816, 2277, 3176, 2566, 3004, 2594, 2377, 2664, 4307, 4706, 4307, 71, 35, 1822, 423, 2633, 2960, - 2778, 2995, 2750, 2959, 2864, 1216, 453, 454, 3452, 2861, 71, 2912, 2178, 4172, 2793, 4172, 2932, 2277, - 2905, 3274, 3327, 35, 1021, 32, 672, 306, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, - 104, 75, 76, 106, 1258, 1284, 1281, 1346, 2178, 2178, 486, 1331, 5017, 2961, 1587, 1436, 1657, 2416, - 2580, 3380, 35, 1021, 32, 672, 2277, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, - 75, 76, 106, 1258, 1284, 1281, 2816, 1218, 254, 224, 590, 395, 3064, 394, 1292, 3006, 3059, 412, 2881, - 2962, 3117, 3124, 308, 3176, 3092, 2750, 3183, 2864, 3368, 3174, 3175, 2277, 2861, 87, 2912, 3086, 3380, - 35, 1021, 32, 672, 3269, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, - 1258, 1284, 1281, 2816, 4982, 3118, 71, 35, 1822, 423, 3119, 2092, 3120, 1362, 3147, 1508, 173, 3212, - 2998, 3884, 3177, 1637, 2750, 3178, 2864, 3236, 1851, 3449, 2277, 2861, 3237, 3261, 3380, 35, 1021, 32, - 672, 306, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, - 1281, 2816, 2966, 5044, 2958, 264, 6892, 6892, 6892, 6892, 6892, 3063, 6892, 6892, 6892, 6892, 6892, - 6892, 6892, 6892, 2750, 6892, 2864, 279, 262, 263, 366, 3266, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, - 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 374, 4664, - 2277, 1331, 2277, 2277, 2486, 3380, 35, 1021, 32, 672, 2277, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, - 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 5175, 6892, 2871, 2995, 6892, 6892, 6892, - 6892, 6892, 6892, 3499, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 2750, 322, 3217, 3327, 35, 1021, 32, - 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, - 1281, 1346, 2408, 3450, 6892, 2534, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, - 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 6892, 6892, 6892, 2552, 3380, 35, 1021, - 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, - 1281, 2816, 1258, 35, 1021, 32, 5184, 4990, 27, 30, 31, 1030, 1171, 373, 28, 3380, 35, 1021, 32, 672, - 3224, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, - 2816, 71, 35, 1822, 423, 6892, 6892, 2776, 2277, 6892, 6892, 6892, 4484, 6892, 3063, 71, 35, 1822, 423, - 3258, 71, 35, 1822, 423, 6892, 6892, 6892, 6892, 6892, 366, 2181, 6892, 49, 353, 2260, 355, 6892, 348, - 1954, 385, 5305, 2783, 6892, 6892, 1775, 863, 487, 6892, 6892, 6892, 347, 469, 6892, 6892, 3327, 35, - 1021, 32, 672, 4422, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, - 1284, 1281, 2272, 264, 6892, 6892, 6892, 2180, 386, 6892, 6892, 6892, 1206, 6892, 264, 6892, 6892, 71, - 35, 1822, 423, 282, 262, 263, 340, 344, 2593, 6892, 378, 650, 648, 383, 568, 262, 263, 187, 6892, 6892, - 2509, 6892, 6892, 6892, 6892, 3181, 6892, 6892, 232, 2868, 468, 3327, 35, 1021, 32, 672, 3549, 27, 30, - 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2313, 3327, 35, - 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, - 1284, 1281, 2342, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, - 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2354, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, - 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 3182, 3327, 35, 1021, 32, 672, - 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, - 3183, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, - 75, 76, 106, 1258, 1284, 1281, 3216, 1339, 35, 1021, 32, 4949, 3603, 27, 30, 31, 1030, 1171, 373, 28, - 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, - 106, 1258, 1284, 1281, 3259, 6892, 6892, 6892, 3759, 35, 1021, 32, 4949, 6202, 27, 30, 31, 1030, 1171, - 373, 28, 6892, 1220, 35, 3454, 32, 5184, 4990, 27, 30, 31, 1030, 1171, 373, 28, 6892, 6892, 353, 2260, - 355, 385, 348, 1954, 6892, 386, 243, 35, 1822, 423, 6892, 6892, 6892, 6892, 6892, 3327, 71, 35, 1822, - 423, 6892, 6892, 6892, 6892, 2276, 378, 650, 648, 383, 1206, 6892, 6892, 6892, 6892, 6892, 3326, 3063, - 49, 6892, 6892, 6892, 353, 2260, 355, 6892, 348, 1954, 467, 386, 1775, 3075, 366, 191, 6892, 6892, 353, - 2260, 355, 3364, 348, 1954, 3539, 35, 1822, 423, 4252, 6892, 6892, 378, 650, 648, 383, 1755, 3445, 269, - 294, 6892, 6892, 2509, 6892, 6892, 4422, 71, 35, 1822, 423, 6892, 3327, 35, 1021, 32, 672, 306, 27, 30, - 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 2130, 264, 49, 6892, 1734, - 6892, 6892, 6892, 5314, 6892, 6892, 6892, 6892, 6892, 1775, 1100, 6892, 400, 3088, 267, 262, 263, 3327, - 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, - 1258, 1284, 2450, 6892, 6892, 6892, 452, 454, 3452, 2276, 6892, 307, 6892, 6892, 1206, 274, 277, 280, - 821, 1132, 1385, 35, 1021, 32, 5184, 6892, 27, 30, 31, 1030, 1171, 373, 28, 1377, 6892, 6892, 6892, 191, - 908, 2263, 2395, 2857, 5962, 283, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, - 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 2461, 3272, 259, 6892, 3063, 1903, 6892, 598, 6892, - 6892, 6892, 6892, 6892, 2260, 6892, 6892, 56, 3884, 4307, 367, 6892, 4307, 6892, 353, 2260, 355, 6892, - 351, 1954, 260, 187, 2027, 35, 1822, 423, 6892, 6892, 2292, 2982, 6892, 4172, 211, 1206, 377, 2581, - 3128, 6892, 6892, 6892, 6892, 235, 247, 652, 6892, 6892, 6892, 6892, 234, 244, 245, 246, 248, 49, 6892, - 1, 187, 3063, 6892, 200, 598, 6892, 6892, 465, 596, 1775, 1136, 717, 6892, 2095, 6892, 199, 366, 6892, - 4307, 214, 198, 201, 202, 203, 204, 205, 260, 187, 71, 35, 1822, 423, 1916, 3445, 56, 2982, 6892, 6892, - 211, 1206, 377, 2581, 6892, 6892, 6892, 6892, 4706, 235, 247, 652, 6892, 394, 6892, 6892, 234, 244, 245, - 246, 248, 49, 6892, 6892, 187, 6892, 6892, 200, 2707, 3174, 3175, 6892, 1813, 1775, 645, 1088, 6892, - 6892, 6892, 199, 6892, 212, 6892, 215, 198, 201, 202, 203, 204, 205, 1416, 35, 1021, 32, 4949, 3603, 27, - 30, 31, 1030, 1171, 373, 28, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, - 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 2149, 6892, 6892, 1770, 35, 1021, 32, 5184, 4535, 27, 30, 31, - 1030, 1171, 373, 28, 1385, 35, 1021, 32, 5184, 6892, 27, 30, 31, 1030, 1171, 373, 28, 2276, 6892, 6892, - 6892, 6892, 1206, 353, 2260, 355, 603, 348, 1954, 6892, 386, 6892, 6892, 2126, 6892, 6892, 6892, 3884, - 6892, 6892, 587, 6892, 6892, 56, 3063, 191, 6892, 6892, 1206, 6892, 378, 650, 648, 383, 6892, 6892, - 6892, 3063, 6892, 367, 588, 345, 6892, 353, 2260, 355, 598, 349, 1954, 1419, 386, 187, 367, 6892, 6892, - 6892, 353, 2260, 355, 1477, 349, 1954, 6892, 6892, 6892, 6892, 3063, 6892, 260, 187, 380, 650, 648, 383, - 2775, 6892, 6892, 2982, 6892, 4307, 211, 367, 6892, 2581, 6892, 6892, 6892, 6892, 6892, 235, 247, 652, - 386, 6892, 6892, 6892, 234, 244, 245, 246, 248, 377, 3365, 431, 6892, 2180, 591, 200, 598, 6892, 598, - 6892, 380, 650, 648, 383, 6892, 6892, 6892, 199, 6892, 6892, 6892, 3606, 198, 201, 202, 203, 204, 205, - 260, 187, 3017, 187, 717, 329, 35, 1822, 423, 2982, 6892, 2982, 211, 6892, 211, 2581, 6892, 6892, 6892, - 6892, 6892, 235, 247, 652, 6892, 594, 6892, 6892, 234, 244, 245, 246, 248, 6892, 6892, 517, 49, 6892, - 6892, 200, 598, 6892, 6892, 6892, 329, 35, 1822, 423, 1775, 2050, 6892, 199, 6892, 227, 6892, 209, 198, - 201, 202, 203, 204, 205, 260, 187, 243, 35, 1822, 423, 6892, 6892, 6892, 2982, 3330, 2822, 211, 49, 56, - 2581, 4307, 6892, 6892, 1206, 6892, 235, 247, 652, 6892, 1775, 47, 6892, 234, 244, 245, 246, 248, 49, - 6892, 603, 6892, 6892, 4172, 200, 598, 6892, 187, 6892, 6892, 1775, 47, 6892, 6892, 2047, 2595, 199, - 6892, 6892, 6892, 207, 198, 201, 202, 203, 204, 205, 260, 187, 243, 35, 1822, 423, 56, 1530, 6892, 2982, - 6892, 1206, 211, 6892, 6892, 2581, 6892, 6892, 6892, 6892, 6892, 235, 247, 652, 6892, 6892, 6892, 6892, - 234, 244, 245, 246, 248, 49, 187, 689, 3507, 6892, 6892, 200, 598, 6892, 2916, 1508, 6892, 1775, 2397, - 3884, 6892, 5858, 228, 199, 540, 6892, 6892, 208, 198, 201, 202, 203, 204, 205, 260, 187, 329, 35, 1822, - 423, 6892, 3594, 3508, 2982, 6892, 6892, 211, 1206, 56, 2581, 6892, 6892, 6892, 1206, 6892, 235, 247, - 652, 6892, 6892, 6892, 6892, 234, 244, 245, 246, 248, 49, 3063, 775, 187, 538, 539, 200, 598, 6892, 187, - 6892, 193, 1775, 47, 6892, 6892, 366, 2986, 199, 6892, 6892, 6892, 218, 198, 201, 202, 203, 204, 205, - 260, 187, 71, 35, 1822, 423, 56, 2841, 56, 2982, 6892, 1206, 211, 1206, 6892, 2581, 6892, 4677, 6892, - 6892, 56, 235, 247, 652, 6892, 4307, 6892, 6892, 234, 244, 245, 246, 248, 49, 187, 6892, 187, 6892, - 6892, 200, 6892, 6892, 2987, 6892, 3084, 1775, 958, 377, 6892, 6892, 6892, 199, 6892, 6892, 6892, 3647, - 198, 201, 202, 203, 204, 205, 2382, 35, 1021, 32, 4949, 4990, 27, 30, 31, 1030, 1171, 373, 28, 3327, 35, - 1021, 32, 672, 717, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 2208, - 6892, 6892, 1943, 2276, 6892, 861, 6892, 6892, 1206, 6892, 598, 6892, 6892, 6892, 243, 35, 1822, 423, - 6892, 6892, 6892, 6892, 6892, 6892, 6892, 71, 35, 1822, 423, 6892, 6892, 191, 260, 187, 6892, 353, 2260, - 355, 56, 348, 1954, 2982, 3891, 598, 211, 49, 6892, 2581, 6892, 6892, 6892, 6892, 347, 235, 247, 652, - 49, 1775, 1487, 6892, 234, 244, 245, 246, 248, 377, 187, 6892, 1775, 2530, 6892, 200, 6892, 947, 1813, - 56, 6892, 6892, 598, 6892, 1206, 3594, 6892, 199, 6892, 6892, 6892, 223, 198, 201, 202, 203, 204, 205, - 71, 35, 1822, 423, 717, 6892, 260, 187, 6892, 187, 340, 344, 2593, 6892, 3468, 2982, 6892, 3273, 211, - 56, 6892, 2581, 6892, 6892, 1206, 1812, 6892, 235, 247, 652, 6892, 49, 6892, 3498, 234, 244, 245, 246, - 248, 6892, 3549, 1033, 6892, 1775, 2245, 200, 598, 187, 6892, 6892, 243, 35, 1822, 423, 6892, 1574, - 6892, 199, 6892, 6892, 6892, 217, 198, 201, 202, 203, 204, 205, 260, 187, 6892, 6892, 6892, 56, 6892, - 6892, 6892, 2982, 1206, 6892, 211, 49, 6892, 2581, 6892, 6892, 6892, 6892, 6892, 235, 247, 652, 6892, - 1775, 47, 6892, 234, 244, 245, 246, 248, 187, 6892, 6892, 6892, 6892, 6892, 200, 6892, 3712, 6892, 6892, - 6892, 6892, 6892, 6892, 6892, 640, 6892, 199, 6892, 6892, 6892, 226, 198, 201, 202, 203, 204, 205, 3327, - 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, - 2222, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, - 75, 76, 106, 2265, 3638, 35, 552, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 269, 294, - 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, - 84, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 3327, 1849, 1021, 1869, 672, 264, 27, 30, 31, 1030, - 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 83, 267, 262, 263, 3327, 35, 1021, 32, 672, 6892, - 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 82, 6892, 6892, 6892, 6892, - 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 274, 277, 280, 821, 1132, 6892, 6892, - 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 2197, - 3277, 3599, 3913, 6162, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, - 50, 1182, 104, 75, 76, 81, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, - 23, 50, 1182, 104, 75, 76, 80, 6892, 6892, 6892, 6892, 561, 562, 566, 3327, 35, 1021, 32, 672, 6892, 27, - 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 79, 3924, 3327, 35, 1021, 32, 672, - 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 78, 3327, 35, 1021, 32, - 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 77, 3033, 35, 1021, - 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 102, 3327, 35, - 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 108, 3327, - 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 107, - 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, - 105, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, - 76, 103, 3274, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 85, - 75, 76, 1603, 6892, 6892, 6892, 56, 4307, 6892, 6892, 6892, 4307, 6892, 6892, 1870, 6892, 6892, 6892, - 6892, 4307, 2182, 6892, 6892, 6892, 6892, 598, 1959, 6892, 6892, 260, 6892, 4307, 6892, 377, 243, 35, - 1822, 423, 6892, 6892, 2700, 260, 6892, 6892, 6892, 4307, 6892, 377, 187, 6892, 237, 247, 652, 260, - 6892, 6892, 219, 236, 244, 245, 246, 248, 237, 247, 652, 49, 717, 377, 6892, 236, 244, 245, 246, 248, - 237, 247, 652, 1775, 47, 6892, 2511, 236, 244, 245, 246, 248, 6892, 1956, 6892, 6892, 6892, 6892, 238, - 240, 242, 3324, 6892, 249, 239, 241, 3071, 3898, 6892, 6892, 238, 240, 242, 3324, 6892, 249, 239, 241, - 6892, 6892, 6892, 6892, 238, 240, 242, 3324, 6892, 249, 239, 241, 3589, 35, 1822, 423, 4252, 6892, 2048, - 6892, 2579, 6892, 6089, 4307, 221, 270, 294, 6892, 6892, 6892, 6892, 6892, 2787, 56, 6089, 6892, 6892, - 6892, 598, 6892, 6892, 6892, 6892, 306, 3078, 260, 6089, 2315, 35, 1021, 32, 4949, 4229, 27, 30, 31, - 1030, 1171, 373, 28, 377, 187, 6892, 264, 6892, 6892, 237, 247, 652, 219, 6892, 6892, 6892, 236, 244, - 245, 246, 248, 6892, 1692, 6892, 268, 262, 263, 4307, 6892, 438, 6892, 6892, 2822, 6892, 6892, 6892, - 2511, 4307, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 3463, 260, 6892, 238, 240, 242, - 3324, 6892, 580, 239, 241, 4172, 6892, 307, 350, 3441, 355, 275, 278, 281, 821, 1132, 237, 247, 652, - 6892, 6892, 6892, 6892, 236, 244, 245, 246, 248, 1781, 6892, 6892, 6892, 3705, 4307, 6892, 6892, 6892, - 6892, 3560, 284, 2137, 6892, 6892, 6892, 6892, 4307, 6892, 6892, 2882, 243, 35, 1822, 423, 4307, 6892, - 260, 6892, 6892, 238, 240, 242, 3324, 6892, 579, 239, 241, 6892, 260, 6892, 6892, 6892, 6892, 6892, - 6892, 6892, 4172, 237, 247, 652, 6892, 49, 540, 6892, 236, 244, 245, 246, 248, 237, 247, 652, 6892, - 1775, 47, 6892, 236, 244, 245, 246, 248, 2226, 3687, 35, 552, 6892, 4307, 6892, 6892, 1797, 6892, 6892, - 6892, 6892, 6892, 270, 294, 3903, 6892, 238, 240, 242, 3324, 6892, 250, 239, 241, 6892, 260, 537, 539, - 238, 240, 242, 3324, 1179, 339, 239, 241, 5264, 4307, 6892, 2260, 6892, 6892, 6892, 3884, 4307, 6892, - 237, 247, 652, 540, 264, 6892, 6892, 236, 244, 245, 246, 248, 6892, 260, 6892, 6892, 6892, 3543, 6892, - 6892, 4172, 6892, 268, 262, 263, 1296, 6892, 6892, 6892, 5264, 4307, 6892, 6892, 6892, 983, 442, 5997, - 2271, 35, 1822, 423, 6892, 238, 240, 242, 3324, 3063, 534, 239, 241, 537, 539, 260, 6892, 243, 35, 1822, - 423, 6892, 6892, 6892, 366, 6892, 275, 278, 281, 821, 1132, 49, 6892, 6892, 6892, 6892, 983, 442, 5997, - 443, 444, 445, 3324, 1775, 47, 6892, 6892, 6892, 49, 6892, 3601, 6892, 6892, 6892, 4664, 243, 35, 1822, - 423, 394, 1775, 47, 6892, 56, 3276, 6892, 6892, 2669, 4307, 2459, 35, 1822, 423, 6892, 2707, 3174, 3175, - 6892, 443, 444, 445, 3324, 56, 6892, 3978, 6892, 49, 598, 56, 6892, 377, 6892, 56, 598, 6892, 6892, - 6892, 4307, 1775, 47, 49, 6892, 56, 3276, 561, 562, 567, 4307, 6892, 377, 187, 6892, 1775, 47, 6892, - 377, 187, 6892, 219, 377, 56, 6892, 4262, 717, 219, 4307, 446, 448, 6892, 377, 6892, 6892, 6892, 6892, - 6892, 6892, 2735, 6892, 6892, 6892, 6892, 6892, 2511, 6892, 2773, 6892, 6892, 377, 2511, 6892, 6892, - 6892, 717, 1909, 6892, 6892, 6234, 6892, 6892, 6892, 6892, 6892, 717, 6892, 6892, 446, 449, 6892, 6892, - 6892, 6892, 6892, 6892, 544, 6892, 6892, 6892, 6892, 6892, 6892, 717, 6892, 6892, 542, 6892, 6892, 6892, - 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 3616, 6892, 6892, 595, 6892, 6892, - 3702, 6892, 0, 39, 6907, 0, 39, 6906, 0, 713, 29, 0, 475, 886, 0, 489, 1280, 0, 38, 809, 0, 38, 6907, 0, - 38, 6906, 0, 4037, 124, 0, 1, 479, 0, 493, 866, 0, 492, 1372, 0, 1465, 89, 0, 713, 422, 0, 35, 33, 0, - 32, 34, 0, 39, 809, 0, 1, 626, 0, 1, 7197, 0, 1, 7196, 0, 1, 7195, 0, 1, 7194, 0, 1, 7193, 0, 1, 7192, - 0, 1, 7191, 0, 1, 7190, 0, 1, 7189, 0, 1, 7188, 0, 1, 7187, 0, 39, 1, 6907, 0, 39, 1, 6906, 0, 316, 429, - 0, 316, 321, 0, 7158, 273, 0, 7157, 273, 0, 7264, 273, 0, 7263, 273, 0, 7185, 273, 0, 7184, 273, 0, - 7183, 273, 0, 7182, 273, 0, 7181, 273, 0, 7180, 273, 0, 7179, 273, 0, 7178, 273, 0, 7197, 273, 0, 7196, - 273, 0, 7195, 273, 0, 7194, 273, 0, 7193, 273, 0, 7192, 273, 0, 7191, 273, 0, 7190, 273, 0, 7189, 273, - 0, 7188, 273, 0, 7187, 273, 0, 39, 6907, 273, 0, 39, 6906, 273, 0, 6930, 273, 0, 6907, 48, 0, 6906, 48, - 0, 6898, 1, 0, 6897, 1, 0, 1415, 269, 0, 32, 423, 0, 29, 422, 0, 43, 6928, 0, 43, 37, 0, 4037, 126, 0, - 4037, 125, 0, 1, 5818, 0, 1, 5457, 0, 1, 5514, 0, 1, 5580, 0, 1, 5603, 0, 1, 5633, 0, 1, 5657, 0, 1, - 5680, 0, 1041, 1, 0, 1, 2316, 0, 1, 5488, 0, 1, 6914, 0, 1, 6913, 0, 1, 6912, 0, 1, 6911, 0, 1, 6910, 0, - 1, 6909, 0, 1, 6908, 0, 1, 637, 0, 1, 670, 0, 1, 814, 0, 1, 835, 0, 1, 873, 0, 1, 3293, 0, 39, 1, 0, - 365, 480, 0, 6930, 1, 0, 47, 37, 0, 1, 90, 0, 6907, 273, 0, 6906, 273, 0, 536, 3322, 0, 6930, 1, 261, 0, - 39, 1, 261, 0, 261, 451, 0, 6907, 37, 0, 6906, 37, 0, 6907, 2, 37, 0, 6906, 2, 37, 0, 6907, 36, 0, 6906, - 36, 0, 6928, 45, 0, 37, 45, 0, 6902, 440, 0, 6901, 440, 0, 1, 2379, 0, 1, 809, 0, 261, 450, 0, 1856, - 352, 0, 365, 93, 0, 35, 72, 0, 1, 365, 0, 4270, 311, 0, 536, 6029, 0, 1, 261, 0, 261, 252, 0, 1, 2000, - 0, 1, 2404, 0, 261, 251, 0, 6904, 1, 0, 6900, 1, 0, 1, 261, 3555, 0, 6901, 261, 0, 3562, 261, 0, 6904, - 418, 0, 6903, 418, 0, 3604, 261, 0, 10, 12, 0, 8, 10, 12, 0, 3611, 225, 0, 216, 5243, 0, 3649, 418, 0, - 8, 12, 0 }; - } - - public final static char baseAction[] = BaseAction.baseAction; - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - 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, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 0, 69, 0, 1, 2, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 4, 65, 66, - 67, 94, 69, 92, 93, 0, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 0, 61, 62, - 63, 4, 65, 66, 67, 0, 69, 0, 1, 2, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 86, 87, 56, 57, 58, - 59, 0, 61, 62, 63, 95, 65, 66, 67, 0, 69, 0, 1, 2, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, - 68, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 0, 69, 0, 3, 0, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 94, 69, 86, 87, 86, 87, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 94, 69, 92, 93, - 0, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 95, 65, 66, - 67, 94, 69, 92, 93, 86, 87, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 0, 61, - 62, 63, 0, 65, 66, 67, 0, 69, 0, 1, 2, 5, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 86, 87, 56, 57, - 58, 59, 0, 61, 62, 63, 4, 65, 66, 67, 0, 69, 101, 102, 4, 95, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 0, 0, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 0, 69, 0, 1, 2, 0, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 4, 69, 92, 93, 0, 0, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 68, 0, 56, 57, 58, 59, 0, 61, 62, 63, 9, 65, 66, 67, 0, 69, - 96, 0, 1, 2, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 40, 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, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 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, - 0, 1, 2, 0, 4, 0, 40, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 53, 0, 55, 56, 57, 58, 5, 0, 61, 62, 63, 0, 1, - 2, 3, 4, 0, 6, 71, 8, 73, 5, 38, 7, 38, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 88, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 71, 0, 114, 115, 116, 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, 91, 0, 99, 100, 0, 0, 40, 98, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 53, 0, 55, 56, 57, 58, 0, 64, 61, 62, - 63, 68, 0, 0, 0, 3, 0, 5, 71, 7, 73, 9, 6, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 88, 0, 1, 2, - 3, 4, 55, 6, 54, 8, 0, 34, 35, 36, 37, 60, 0, 40, 64, 3, 70, 0, 1, 2, 60, 70, 114, 115, 116, 0, 9, 54, - 0, 1, 2, 3, 4, 60, 6, 0, 8, 64, 64, 89, 90, 68, 68, 70, 71, 72, 73, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 86, 87, 0, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 69, 120, 60, 64, 117, 118, 119, 120, 0, 34, 35, 3, 0, 5, 0, 7, - 4, 9, 0, 1, 2, 3, 4, 9, 6, 0, 8, 0, 0, 1, 2, 3, 4, 5, 0, 7, 0, 10, 4, 5, 91, 7, 34, 35, 36, 37, 0, 98, - 40, 3, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 54, 0, 1, 2, 54, 4, 60, 0, 1, 2, 64, 4, 0, 6, 68, - 8, 70, 71, 72, 73, 0, 69, 59, 0, 1, 2, 60, 71, 54, 6, 64, 8, 86, 87, 68, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 0, 1, 2, 55, 117, 118, 119, - 120, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 0, 0, 1, 2, 3, 4, 40, 6, 0, 8, 0, 1, 2, 55, 4, 5, 0, 7, 0, 53, 0, 55, 56, - 57, 58, 0, 0, 61, 62, 63, 4, 65, 7, 114, 115, 116, 0, 1, 2, 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 0, 53, 88, 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, 0, 70, 0, 0, 1, 2, 40, 4, 0, 6, 91, 8, 4, 66, 67, 0, 0, 98, 91, - 53, 54, 55, 56, 57, 58, 98, 0, 61, 62, 63, 22, 65, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 0, 1, 2, 3, 4, 5, 6, 7, 8, 38, 88, 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, 0, 1, 2, 0, 4, 5, 40, 7, 71, 0, 1, - 2, 9, 4, 5, 60, 7, 0, 0, 53, 3, 55, 56, 57, 58, 0, 113, 61, 62, 63, 0, 65, 0, 114, 115, 116, 0, 1, 2, - 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 88, 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, 0, 1, 2, 60, 4, 5, - 40, 7, 0, 1, 2, 0, 4, 0, 6, 4, 8, 54, 0, 53, 7, 55, 56, 57, 58, 0, 0, 61, 62, 63, 0, 65, 118, 22, 0, 1, - 2, 0, 4, 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 89, 90, 88, 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, 55, 0, - 1, 2, 0, 64, 40, 6, 60, 8, 0, 1, 2, 0, 0, 0, 6, 0, 0, 53, 5, 55, 56, 57, 58, 0, 9, 61, 62, 63, 0, 65, - 96, 3, 0, 1, 2, 23, 24, 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 88, 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, 72, 60, 0, 0, 68, 64, 40, 5, 0, 68, 0, 66, 67, 0, 86, 87, 3, 54, 54, 53, 96, 55, 56, 57, 58, 99, - 100, 61, 62, 63, 0, 65, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1, 2, 3, 4, 5, 0, 7, 89, 90, - 88, 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, 0, 1, 2, 0, 4, 64, 40, 0, 0, 0, 0, 0, 99, 100, 0, 60, 9, 3, 9, 53, 9, 55, - 56, 57, 58, 64, 0, 61, 62, 63, 0, 65, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1, 2, 40, 4, - 40, 6, 40, 8, 0, 88, 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, 0, 1, 2, 0, 4, 5, 40, 7, 0, 9, 55, 0, 1, 2, 95, 7, 0, 0, 54, - 53, 0, 55, 56, 57, 58, 9, 9, 61, 62, 63, 0, 65, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 88, 0, 1, 2, 3, 4, 0, 6, 0, 8, 9, 3, 34, 35, 36, 37, 38, 39, 72, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 72, 72, 5, 59, 0, 0, 62, 40, 3, 97, 66, 67, 0, 1, 2, 3, 4, 5, - 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 1, 2, 3, 4, 97, 6, 0, 8, 9, 70, 113, 34, - 35, 36, 37, 38, 39, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 0, 0, 0, 59, 0, 3, 40, - 54, 64, 9, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 34, - 35, 3, 34, 35, 0, 1, 2, 0, 1, 2, 34, 35, 36, 37, 38, 39, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 0, 1, 2, 68, 96, 0, 59, 72, 0, 0, 0, 0, 7, 0, 3, 0, 69, 9, 9, 9, 73, 0, 1, 2, 3, 4, 5, 6, 7, 8, 55, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 1, 2, 0, 0, 0, 6, 40, 0, 0, 0, 3, 34, 35, 36, 37, 38, - 39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 68, 68, 64, 59, 73, 73, 0, 71, 0, 3, 66, - 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 55, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 60, 0, 0, 0, 54, 64, - 64, 71, 0, 0, 9, 9, 34, 35, 36, 37, 38, 39, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, - 0, 0, 0, 59, 3, 89, 90, 0, 0, 9, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 60, 0, 69, 97, 0, 70, 72, 3, 0, 0, 0, 70, 34, 35, 36, 37, 38, 39, 55, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 97, 64, 0, 1, 2, 0, 59, 0, 73, 0, 0, 0, 70, 3, 71, 0, 69, 0, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 60, 0, 1, 2, 0, 74, 0, 3, 0, 5, 6, 7, 34, - 35, 36, 37, 38, 39, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 60, 0, 1, 2, 0, 60, 59, 34, 35, - 36, 37, 70, 39, 0, 0, 0, 69, 0, 3, 0, 3, 113, 0, 9, 9, 55, 0, 54, 0, 54, 0, 54, 0, 60, 0, 3, 97, 64, 10, - 66, 67, 68, 0, 70, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 55, 0, 54, 86, 87, 0, 89, 90, 91, 92, - 93, 94, 95, 96, 0, 10, 99, 100, 101, 60, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 72, 72, 54, - 61, 117, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 53, 0, 55, 0, - 0, 4, 0, 0, 4, 3, 54, 34, 35, 36, 37, 38, 39, 10, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, - 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 54, 0, 54, 113, 54, 54, 0, - 53, 9, 55, 64, 34, 35, 36, 37, 38, 39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 0, 0, - 89, 90, 3, 0, 9, 0, 55, 118, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 0, 0, 68, 0, 72, 55, 0, 0, 0, 0, 71, 0, 34, 35, 36, 37, 38, 39, 54, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 0, 0, 68, 68, 71, 73, 59, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 54, 54, 54, 54, 0, 54, 0, 0, 0, 0, 64, 71, 34, 35, 36, 37, 38, 39, 75, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 121, 0, 3, 89, 90, 0, 60, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 54, 0, 0, 0, 0, 3, 3, 3, 0, 0, 64, 68, 34, 35, 36, 37, 38, - 39, 70, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 3, 89, 90, 59, 0, 1, 2, 3, 4, 5, 6, 7, - 8, 71, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 54, 0, 3, 0, 0, 0, 68, 0, 0, 34, 35, 36, - 37, 38, 39, 70, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 0, 0, 0, 59, 0, 1, 2, 3, 4, 5, - 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 34, - 35, 36, 37, 38, 39, 71, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 0, 0, 0, 59, 0, 1, 2, - 3, 4, 5, 6, 7, 8, 71, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, - 70, 34, 35, 36, 37, 38, 39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 3, 4, 5, 6, 7, - 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, - 37, 38, 39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 39, 0, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 39, 0, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 34, 35, 36, 37, 38, 39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 0, 1, 2, 0, 4, 0, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 53, 4, 0, - 56, 57, 58, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 53, 0, 0, 56, 57, 58, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 53, 0, 0, 56, 57, 58, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 3, 0, - 53, 0, 0, 56, 57, 58, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 1, 2, 3, 4, 40, 6, 0, 8, 9, - 3, 0, 36, 37, 0, 0, 9, 0, 0, 54, 0, 0, 0, 0, 0, 60, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 60, 72, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 60, 0, 0, 0, 0, 0, 40, 60, 0, 0, 0, 64, - 72, 0, 0, 68, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 117, 0, 119, 0, 0, 72, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1, 2, 3, 4, 5, 0, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 64, 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, 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; - - @Override - public final int termCheck(int index) { - return termCheck[index]; - } - - public interface TermAction { - public final static char termAction[] = { 0, 6892, 6854, 6833, 6833, 6833, 6833, 6833, 6833, 6833, 6870, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6858, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 119, 1, 1, 1, 1, 1, 131, 1045, 7098, 2338, 127, 3465, 1, 1, 365, 6903, 6892, - 6906, 6907, 6899, 2869, 3600, 3079, 3230, 3029, 3553, 4734, 3598, 805, 3593, 3968, 3564, 10, 6873, 6873, - 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, - 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, - 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, - 4379, 4446, 6873, 6873, 6873, 6873, 39, 6873, 6873, 6873, 6930, 6873, 6873, 6873, 1105, 6873, 3786, - 3755, 430, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 8, 6876, 6876, - 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, - 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, - 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, - 123, 133, 6876, 6876, 6876, 6876, 6892, 6876, 6876, 6876, 2244, 6876, 6876, 6876, 331, 6876, 6892, 6637, - 6634, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6892, 6854, 6833, - 6833, 6833, 6833, 6833, 6833, 6833, 6861, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 6858, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4379, 4446, 1, 1, 1, 1, 419, - 1045, 7098, 2338, 1253, 3465, 1, 1, 6892, 6903, 48, 6637, 6634, 188, 2869, 3600, 3079, 3230, 3029, 3553, - 4734, 3598, 805, 3593, 3968, 3564, 6892, 6854, 6833, 6833, 6833, 6833, 6833, 6833, 6833, 6861, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6858, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 122, 1488, 1, 1, 1, 1, 132, 1045, 7098, 2338, 6892, 3465, 1, 1, 6892, 6903, 121, - 714, 120, 6892, 2869, 3600, 3079, 3230, 3029, 3553, 4734, 3598, 805, 3593, 3968, 3564, 6892, 6854, 6833, - 6833, 6833, 6833, 6833, 6833, 6833, 6861, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 6858, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4379, 4446, 1, 1, 1, 1, 151, - 1045, 7098, 2338, 128, 3465, 1, 1, 1105, 6903, 4379, 4446, 4379, 4446, 2869, 3600, 3079, 3230, 3029, - 3553, 4734, 3598, 805, 3593, 3968, 3564, 6892, 6854, 6833, 6833, 6833, 6833, 6833, 6833, 6833, 6861, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6858, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 139, 134, 1, 1, 1, 1, 152, 1045, 7098, 2338, 147, 3465, 1, 1, 3620, 6903, - 3786, 3755, 143, 6892, 2869, 3600, 3079, 3230, 3029, 3553, 4734, 3598, 805, 3593, 3968, 3564, 6892, - 6854, 6833, 6833, 6833, 6833, 6833, 6833, 6833, 6861, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6858, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4379, 4446, 1, 1, 1, - 1, 6892, 1045, 7098, 2338, 1253, 3465, 1, 1, 3620, 6903, 3857, 3817, 4379, 4446, 2869, 3600, 3079, 3230, - 3029, 3553, 4734, 3598, 805, 3593, 3968, 3564, 6892, 6854, 6833, 6833, 6833, 6833, 6833, 6833, 6833, - 6861, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6858, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 142, 137, 1, 1, 1, 1, 6892, 1045, 7098, 2338, 153, 3465, 1, 1, 6892, - 6903, 432, 6906, 6907, 1853, 2869, 3600, 3079, 3230, 3029, 3553, 4734, 3598, 805, 3593, 3968, 3564, - 6892, 6854, 6833, 6833, 6833, 6833, 6833, 6833, 6833, 6861, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6858, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4379, 4446, 1, - 1, 1, 1, 6892, 1045, 7098, 2338, 2318, 3465, 1, 1, 430, 6903, 3369, 4899, 423, 3565, 2869, 3600, 3079, - 3230, 3029, 3553, 4734, 3598, 805, 3593, 3968, 3564, 6892, 6854, 6833, 6833, 6833, 6833, 6833, 6833, - 6833, 6861, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 6858, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 140, 6892, 1, 1, 1, 1, 6892, 1045, 7098, 2338, 148, 3465, - 1, 1, 6892, 6903, 36, 6791, 6788, 6892, 2869, 3600, 3079, 3230, 3029, 3553, 4734, 3598, 805, 3593, 3968, - 3564, 6892, 6854, 6833, 6833, 6833, 6833, 6833, 6833, 6833, 6861, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6858, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4379, - 4446, 1, 1, 1, 1, 135, 1045, 7098, 2338, 6892, 3465, 1, 1, 1435, 6903, 3857, 3817, 550, 6892, 2869, - 3600, 3079, 3230, 3029, 3553, 4734, 3598, 805, 3593, 3968, 3564, 6892, 3555, 1, 1, 1, 1, 1, 1, 1, 3562, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6901, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 928, 440, 1, 1, 1, 1, 6892, 1045, 7098, 2338, 6800, 3465, 1, 1, 6892, - 6903, 3471, 6892, 10614, 10614, 2869, 3600, 3079, 3230, 3029, 3553, 4734, 3598, 805, 3593, 3968, 3564, - 39, 6456, 6453, 5208, 1041, 5603, 5488, 5633, 2316, 6803, 970, 7189, 7187, 7196, 7195, 7191, 7192, 7190, - 7193, 7194, 7197, 7188, 7184, 7263, 7264, 7178, 7185, 7181, 7157, 7183, 7182, 7179, 7180, 7158, 5580, - 5514, 5680, 5657, 6911, 5457, 6928, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, - 7325, 6892, 6892, 634, 7326, 7327, 1438, 6892, 6767, 6767, 261, 6763, 261, 261, 261, 261, 6771, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 321, 6551, 6551, 6892, 316, 6892, 261, - 6892, 6544, 6540, 2379, 6691, 6824, 809, 6824, 2316, 331, 6906, 6907, 1, 113, 6760, 1, 1, 1, 5418, 109, - 2200, 7339, 1393, 1, 6544, 6540, 2379, 6691, 6892, 809, 261, 2316, 451, 999, 2796, 923, 3435, 255, 343, - 6544, 6540, 2379, 6691, 6824, 809, 6824, 2316, 7427, 7189, 7187, 7196, 7195, 7191, 7192, 7190, 7193, - 7194, 7197, 7188, 7184, 7263, 7264, 7178, 7185, 7181, 7157, 7183, 7182, 7179, 7180, 7158, 3032, 6892, - 7362, 7363, 7364, 6892, 6767, 6767, 261, 6763, 261, 261, 261, 261, 6812, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5726, 6892, 5394, 5146, 137, 37, 261, 5749, 124, 401, 6544, - 6540, 4215, 6691, 1, 809, 1, 2316, 493, 1, 256, 6760, 1, 1, 1, 6892, 6161, 2200, 7339, 1393, 4896, 33, - 6892, 6892, 6495, 6892, 6495, 261, 6495, 450, 6495, 1480, 7184, 7263, 7264, 7178, 7185, 7181, 7157, - 7183, 7182, 7179, 7180, 7158, 7427, 365, 6456, 6453, 2379, 1041, 6928, 809, 4064, 2316, 6892, 6495, - 6495, 6495, 6495, 2052, 6892, 6495, 6477, 1415, 2005, 6892, 6906, 6907, 6483, 1292, 7362, 7363, 7364, - 6892, 6904, 6495, 1, 6544, 6540, 4215, 6691, 6495, 809, 112, 2316, 6495, 3609, 4010, 3937, 6495, 4896, - 6495, 6495, 6495, 6495, 3369, 4899, 1958, 1911, 1864, 1817, 1770, 1723, 1676, 1629, 1582, 1535, 6495, - 6495, 116, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, - 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6903, 6452, 2052, 2618, 6495, 6495, 6495, 6495, - 6892, 4637, 4333, 6498, 431, 6498, 6892, 6498, 422, 6498, 1, 6544, 6540, 2379, 6691, 6904, 809, 593, - 2316, 335, 37, 6907, 6907, 6907, 6907, 6907, 39, 6907, 6892, 7226, 6930, 365, 5726, 365, 6498, 6498, - 6498, 6498, 89, 5749, 6498, 6489, 6907, 6907, 6907, 6907, 6907, 6907, 6907, 6907, 6907, 6907, 6907, - 6907, 6498, 6892, 6456, 6453, 713, 6930, 6498, 6892, 6456, 6453, 6498, 1041, 6892, 6501, 6498, 2316, - 6498, 6498, 6498, 6498, 474, 6903, 3548, 38, 6474, 6471, 6907, 3032, 2855, 6468, 6907, 2316, 6498, 6498, - 6907, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, - 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 43, 6658, 6658, 2643, 6498, 6498, 6498, 6498, 6892, - 6833, 6833, 261, 6833, 261, 261, 261, 261, 6836, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 9230, 1, 1, 1, 1, 1, 1, 6892, 1, 6544, 6540, 6806, 6691, 261, 6809, 111, 6694, 479, 1, 1, 6655, 1, 6480, - 110, 6480, 257, 1, 157, 6830, 1, 1, 1, 129, 6892, 2589, 7135, 2338, 2443, 3465, 3673, 7362, 7363, 7364, - 6892, 6906, 6907, 252, 7184, 7263, 7264, 7178, 7185, 7181, 7157, 7183, 7182, 7179, 7180, 7158, 6892, - 2536, 7427, 6892, 6833, 6833, 261, 6833, 261, 261, 261, 261, 261, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 9230, 1, 1, 1, 1, 1, 1, 6892, 2811, 6892, 6892, 6456, 6453, 261, 1041, 39, 809, 5726, 2316, - 6930, 5703, 956, 1, 6892, 5749, 5726, 1, 3360, 6830, 1, 1, 1, 5749, 6892, 2589, 7135, 2338, 969, 3465, - 3408, 5245, 2745, 2679, 2613, 2547, 2481, 2415, 2349, 2283, 2217, 2151, 379, 6456, 6453, 4215, 1041, - 365, 809, 365, 2316, 3456, 7427, 6892, 6833, 6833, 261, 6833, 261, 261, 261, 261, 6845, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9230, 1, 1, 1, 1, 1, 1, 480, 39, 39, 6892, 6930, 6742, 261, 6742, - 2094, 90, 1, 1, 6896, 1, 6751, 2052, 6751, 269, 258, 1, 6646, 6830, 1, 1, 1, 6892, 3602, 2589, 7135, - 2338, 6892, 3465, 492, 7362, 7363, 7364, 325, 6906, 6907, 251, 7184, 7263, 7264, 7178, 7185, 7181, 7157, - 7183, 7182, 7179, 7180, 7158, 144, 6892, 7427, 6892, 6833, 6833, 261, 6833, 261, 261, 261, 261, 6836, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9230, 1, 1, 1, 1, 1, 1, 93, 39, 39, 6486, 6930, 6818, - 261, 6818, 6892, 6456, 6453, 39, 1041, 130, 809, 6930, 2316, 4145, 259, 1, 3673, 6830, 1, 1, 1, 136, - 6892, 2589, 7135, 2338, 6892, 3465, 6895, 2662, 429, 6548, 6548, 382, 316, 252, 7184, 7263, 7264, 7178, - 7185, 7181, 7157, 7183, 7182, 7179, 7180, 7158, 4118, 4091, 7427, 6892, 6833, 6833, 261, 6833, 261, 261, - 261, 261, 6836, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9230, 1, 1, 1, 1, 1, 1, 316, 6892, - 6906, 6907, 6892, 2648, 261, 809, 2052, 2316, 6892, 6906, 6907, 155, 370, 115, 1480, 6892, 570, 1, 5418, - 6830, 1, 1, 1, 396, 6898, 2589, 7135, 2338, 1, 3465, 3471, 3890, 6892, 6637, 6634, 7263, 7264, 252, - 7184, 7263, 7264, 7178, 7185, 7181, 7157, 7183, 7182, 7179, 7180, 7158, 146, 6892, 7427, 6892, 6833, - 6833, 261, 6833, 261, 261, 261, 261, 261, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9230, 1, 1, - 1, 1, 1, 1, 6897, 2052, 114, 6892, 3437, 575, 261, 5418, 6892, 575, 571, 5703, 956, 1, 4379, 4446, 6309, - 4145, 4487, 1, 3509, 6830, 1, 1, 1, 5394, 5146, 2589, 7135, 2338, 6892, 3465, 7184, 7263, 7264, 7178, - 7185, 7181, 7157, 7183, 7182, 7179, 7180, 7158, 379, 39, 39, 3890, 6930, 365, 6892, 365, 4118, 4091, - 7427, 6892, 6833, 6833, 261, 6833, 261, 261, 261, 261, 261, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 9230, 1, 1, 1, 1, 1, 1, 6892, 6456, 6453, 6892, 6930, 2656, 261, 6892, 154, 1, 572, 1, 5394, 5146, - 6892, 2052, 6902, 4953, 6902, 1, 222, 6830, 1, 1, 1, 2684, 6892, 2589, 7135, 2338, 6892, 3465, 7184, - 7263, 7264, 7178, 7185, 7181, 7157, 7183, 7182, 7179, 7180, 7158, 6892, 6456, 6453, 6901, 1041, 6901, - 6501, 222, 2316, 6892, 7427, 6892, 6833, 6833, 261, 6833, 261, 261, 261, 261, 261, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9230, 1, 1, 1, 1, 1, 1, 1, 6739, 6739, 6892, 6745, 365, 261, 365, 149, - 397, 2709, 6892, 10368, 10365, 3565, 3707, 1, 6892, 5091, 1, 409, 6830, 1, 1, 1, 192, 6898, 2589, 7135, - 2338, 392, 3465, 6892, 1, 1, 1, 1, 1, 1, 1, 1, 6892, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7427, 1, 6544, - 6540, 6806, 6691, 6892, 6809, 345, 6694, 6902, 2442, 1, 1, 1, 1, 1, 1, 397, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 37, 6748, 6748, 192, 6897, 365, 1, 6892, 6892, 7489, 6901, 5023, 397, 1, 1, 1, 6544, 6540, - 3293, 1041, 5603, 5488, 5633, 2316, 6892, 6504, 6531, 6537, 6510, 6513, 6525, 6522, 6528, 6519, 6516, - 6507, 6534, 1, 6544, 6540, 2379, 6691, 7283, 809, 156, 2316, 343, 1143, 3602, 5580, 5514, 5680, 5657, - 6911, 5457, 6928, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, 37, 6748, 6748, - 6892, 118, 6892, 1438, 117, 5077, 343, 5844, 551, 6898, 39, 39, 39, 6456, 6453, 5208, 1041, 5603, 5488, - 5633, 2316, 6886, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190, 7193, 7194, 7197, 7188, 6892, 4637, - 4333, 5079, 4637, 4333, 6892, 6777, 6774, 6892, 10368, 10365, 5580, 5514, 5680, 5657, 6911, 5457, 1430, - 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, 324, 743, 743, 6366, 3509, 150, 1438, - 6897, 6892, 6892, 6892, 6892, 3707, 6892, 4270, 6892, 6867, 6900, 6900, 6902, 6899, 172, 6456, 6453, - 5208, 1041, 5603, 5488, 5633, 2316, 6928, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190, 7193, 7194, - 7197, 7188, 37, 6748, 6748, 6892, 6892, 6892, 6748, 6901, 381, 6892, 6892, 1368, 5580, 5514, 5680, 5657, - 6911, 5457, 145, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, 6892, 6784, 6780, - 1057, 3278, 7439, 1438, 6899, 6899, 6892, 2877, 1, 4411, 39, 39, 1, 6544, 6540, 3293, 1041, 5603, 5488, - 5633, 2316, 1577, 6504, 6531, 6537, 6510, 6513, 6525, 6522, 6528, 6519, 6516, 6507, 6534, 2052, 1, 1, - 404, 4145, 7368, 7382, 7328, 98, 402, 6848, 397, 5580, 5514, 5680, 5657, 6911, 5457, 6928, 670, 873, - 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, 45, 6797, 6797, 1, 101, 6892, 1438, 4690, 4118, - 4091, 326, 463, 6851, 39, 39, 39, 6456, 6453, 5208, 1041, 5603, 5488, 5633, 2316, 6864, 626, 7189, 7187, - 7196, 7195, 7191, 7192, 7190, 7193, 7194, 7197, 7188, 5283, 1, 6903, 7285, 6892, 1341, 397, 1856, 6892, - 582, 354, 1388, 5580, 5514, 5680, 5657, 6911, 5457, 6794, 670, 873, 6913, 814, 5818, 835, 6914, 6912, - 637, 6908, 6909, 6910, 397, 5968, 6892, 6777, 6774, 6892, 1438, 6892, 6899, 1, 352, 455, 3089, 6815, - 2079, 97, 6867, 39, 6456, 6453, 5208, 1041, 5603, 5488, 5633, 2316, 6864, 626, 7189, 7187, 7196, 7195, - 7191, 7192, 7190, 7193, 7194, 7197, 7188, 2052, 6892, 11370, 8991, 1, 2199, 29, 887, 475, 7390, 7396, - 7394, 5580, 5514, 5680, 5657, 6911, 5457, 6928, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, - 6909, 6910, 2052, 37, 6748, 6748, 489, 2990, 1438, 7388, 7389, 7419, 7420, 3188, 7397, 6892, 1, 1, 6867, - 311, 3890, 6892, 6827, 1, 573, 6898, 6640, 6928, 6892, 7399, 335, 6459, 6892, 6462, 6892, 798, 422, - 3536, 3704, 7400, 7226, 1751, 1762, 7421, 6892, 7398, 7184, 7263, 7264, 7178, 7185, 7181, 7157, 7183, - 7182, 7179, 7180, 7158, 6928, 581, 6465, 7410, 7409, 1, 7415, 7416, 7422, 7413, 7414, 7393, 7395, 7417, - 6892, 6839, 7391, 7392, 7418, 2052, 7403, 7404, 7405, 7401, 7402, 7411, 7412, 7407, 7406, 7408, 6897, - 6643, 6492, 2311, 7423, 39, 6456, 6453, 5208, 1041, 5603, 5488, 5633, 2316, 6896, 626, 7189, 7187, 7196, - 7195, 7191, 7192, 7190, 7193, 7194, 7197, 7188, 126, 6842, 48, 3544, 6892, 48, 6907, 6892, 1, 6906, - 5173, 713, 5580, 5514, 5680, 5657, 6911, 5457, 6839, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, - 6908, 6909, 6910, 1, 6544, 6540, 6736, 6691, 6679, 6697, 6682, 6694, 47, 6504, 6531, 6537, 6510, 6513, - 6525, 6522, 6528, 6519, 6516, 6507, 6534, 1, 4064, 318, 6907, 3602, 3360, 6906, 483, 6842, 589, 3544, - 6661, 6676, 6673, 6688, 6685, 6709, 6670, 6892, 6724, 6733, 6703, 6727, 6667, 6730, 6700, 6706, 6721, - 6718, 6715, 6712, 8, 29, 324, 461, 6892, 4010, 3937, 4767, 216, 6889, 6892, 1383, 6895, 6739, 6739, 39, - 6456, 6453, 5208, 1041, 5603, 5488, 5633, 2316, 6892, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190, - 7193, 7194, 7197, 7188, 6892, 6892, 7209, 225, 589, 3438, 125, 430, 72, 6892, 2141, 6892, 5580, 5514, - 5680, 5657, 6911, 5457, 713, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, 6892, - 6892, 9970, 4361, 459, 6889, 1438, 39, 6456, 6453, 5208, 1041, 5603, 5488, 5633, 2316, 6892, 626, 7189, - 7187, 7196, 7195, 7191, 7192, 7190, 7193, 7194, 7197, 7188, 4064, 713, 6821, 2036, 484, 2788, 6892, - 6892, 6892, 35, 6664, 3131, 5580, 5514, 5680, 5657, 6911, 5457, 6880, 670, 873, 6913, 814, 5818, 835, - 6914, 6912, 637, 6908, 6909, 6910, 6892, 6883, 6892, 5983, 4010, 3937, 6892, 1380, 39, 6456, 6453, 3293, - 1041, 5603, 5488, 5633, 2316, 6892, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190, 7193, 7194, 7197, - 7188, 4145, 342, 6892, 6892, 6892, 6328, 4798, 6334, 543, 2, 4185, 2273, 5580, 5514, 5680, 5657, 6911, - 5457, 2791, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, 6892, 6892, 6892, 5878, - 4118, 4091, 1438, 39, 6456, 6453, 3293, 1041, 5603, 5488, 5633, 2316, 4796, 626, 7189, 7187, 7196, 7195, - 7191, 7192, 7190, 7193, 7194, 7197, 7188, 541, 6892, 6892, 37, 6892, 5337, 6892, 6892, 6892, 2181, 6892, - 6892, 5580, 5514, 5680, 5657, 6911, 5457, 6338, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, - 6909, 6910, 6892, 6892, 6892, 6892, 6892, 6892, 1438, 39, 6456, 6453, 5208, 1041, 5603, 5488, 5633, - 2316, 6892, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190, 7193, 7194, 7197, 7188, 6892, 545, 6892, - 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6348, 2791, 5580, 5514, 5680, 5657, 6911, 5457, 4858, 670, - 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, 6892, 6892, 6892, 6892, 6892, 6892, 1438, - 39, 6456, 6453, 4570, 1041, 5603, 5488, 5633, 2316, 4920, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190, - 7193, 7194, 7197, 7188, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 2943, 903, 5580, - 5514, 5680, 5657, 6911, 5457, 6892, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, - 39, 6456, 6453, 5208, 1041, 5603, 5488, 5633, 2316, 6892, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190, - 7193, 7194, 7197, 7188, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 5580, - 5514, 5680, 5657, 6911, 5457, 6892, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, - 39, 6456, 6453, 3293, 1041, 5603, 5488, 5633, 2316, 6892, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190, - 7193, 7194, 7197, 7188, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 5580, - 5514, 5680, 5657, 6911, 5457, 6892, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, - 39, 6456, 6453, 3293, 1041, 5603, 5488, 5633, 2316, 6892, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190, - 7193, 7194, 7197, 7188, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 5580, - 5514, 5680, 5657, 6911, 5457, 6892, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, - 39, 6456, 6453, 5208, 1041, 5603, 5488, 5633, 2316, 6892, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190, - 7193, 7194, 7197, 7188, 1, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 194, 6892, 6892, 5580, 5514, - 5680, 5657, 6911, 5457, 6892, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, 6892, - 6456, 6453, 6892, 6930, 6892, 6892, 6892, 6892, 6892, 758, 7189, 7187, 7196, 7195, 7191, 7192, 7190, - 7193, 7194, 7197, 7188, 7184, 7263, 7264, 7178, 7185, 7181, 7157, 7183, 7182, 7179, 7180, 7158, 6892, - 6892, 6892, 6892, 6892, 6892, 6892, 194, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 273, 6627, - 6623, 7325, 6631, 6892, 634, 7326, 7327, 6892, 758, 6614, 6620, 6593, 6596, 6608, 6605, 6611, 6602, - 6599, 6590, 6617, 6569, 6563, 6560, 6587, 6566, 6578, 6557, 6572, 6575, 6584, 6581, 6554, 6892, 6892, - 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6906, 6907, 6892, - 7325, 6892, 6892, 634, 7326, 7327, 1186, 7189, 7187, 7196, 7195, 7191, 7192, 7190, 7193, 7194, 7197, - 7188, 7184, 7263, 7264, 7178, 7185, 7181, 7157, 7183, 7182, 7179, 7180, 7158, 6892, 6892, 6892, 6892, - 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 273, 6757, 6754, 6892, 7325, 6892, - 6892, 634, 7326, 7327, 1186, 6614, 6620, 6593, 6596, 6608, 6605, 6611, 6602, 6599, 6590, 6617, 6569, - 6563, 6560, 6587, 6566, 6578, 6557, 6572, 6575, 6584, 6581, 6554, 6892, 6892, 6892, 29, 422, 422, 6652, - 422, 6652, 422, 6652, 422, 6652, 6892, 74, 6892, 6892, 3335, 6892, 7325, 6892, 6892, 634, 7326, 7327, - 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 6892, 1, 6544, 6540, 4215, 6691, 6652, 809, - 1, 2316, 6640, 3890, 6892, 6954, 6955, 6892, 6892, 375, 6892, 6892, 6459, 6892, 6892, 6892, 6892, 6892, - 6652, 32, 423, 423, 6649, 423, 6649, 423, 6649, 423, 6649, 4716, 6652, 6892, 6892, 6892, 6892, 6892, - 6892, 6892, 6892, 6892, 6892, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 2052, 6892, - 6892, 6892, 6892, 6892, 6649, 2052, 6892, 6892, 6892, 375, 6643, 6892, 6892, 375, 6892, 6892, 6892, 375, - 6892, 6892, 6892, 6892, 6892, 6892, 6649, 6892, 569, 6892, 6892, 6892, 6892, 745, 6892, 868, 6892, 6892, - 6649, 7189, 7187, 7196, 7195, 7191, 7192, 7190, 7193, 7194, 7197, 7188, 7184, 7263, 7264, 7178, 7185, - 7181, 7157, 7183, 7182, 7179, 7180, 7158, 37, 6906, 6906, 6906, 6906, 6906, 6892, 6906, 6892, 6892, - 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6906, 6906, 6906, 6906, 6906, - 6906, 6906, 6906, 6906, 6906, 6906, 6906, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, - 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6906, - 6892, 6892, 6892, 6906, 6892, 6892, 6892, 6906 }; - } - - public final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[index]; - } - - public interface Asb { - public final static char asb[] = { 0, 904, 7, 485, 1, 945, 837, 837, 837, 837, 651, 945, 663, 663, 583, 663, - 120, 469, 122, 486, 486, 486, 486, 486, 486, 486, 486, 486, 665, 671, 676, 673, 680, 678, 685, 683, 687, - 686, 688, 267, 689, 485, 485, 42, 42, 42, 42, 524, 223, 15, 15, 660, 42, 567, 171, 663, 663, 15, 524, - 171, 171, 162, 469, 947, 41, 1124, 653, 1005, 485, 663, 665, 379, 379, 223, 485, 486, 486, 486, 486, - 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 485, 485, 485, 485, 485, 485, - 485, 485, 485, 485, 485, 485, 486, 171, 1070, 1070, 1070, 1070, 1126, 171, 15, 15, 649, 994, 1005, 79, - 1005, 74, 1005, 9, 1005, 989, 651, 524, 567, 567, 15, 837, 486, 649, 527, 865, 855, 854, 405, 1012, - 1012, 651, 122, 567, 41, 485, 522, 1123, 521, 523, 521, 171, 567, 673, 673, 671, 671, 671, 678, 678, - 678, 678, 676, 676, 683, 680, 680, 686, 685, 687, 1082, 688, 945, 945, 945, 945, 524, 524, 1070, 43, - 645, 469, 1047, 1045, 1052, 1050, 1054, 1053, 1055, 1056, 1069, 1070, 660, 524, 316, 174, 76, 381, 77, - 651, 524, 524, 1126, 1070, 162, 567, 704, 171, 867, 869, 524, 1124, 486, 42, 669, 127, 171, 653, 524, - 524, 523, 1124, 485, 485, 485, 485, 485, 945, 945, 622, 633, 633, 633, 633, 617, 651, 776, 486, 486, - 486, 486, 486, 486, 486, 486, 486, 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, 486, 469, - 317, 658, 656, 174, 524, 783, 578, 781, 1126, 79, 319, 524, 1126, 524, 171, 859, 847, 858, 869, 1126, - 522, 171, 669, 649, 1123, 653, 524, 522, 171, 171, 171, 171, 223, 223, 524, 486, 1045, 1045, 1045, 1050, - 1047, 1047, 1053, 1052, 1054, 1082, 1055, 317, 656, 322, 524, 174, 1082, 77, 837, 1128, 767, 1072, 174, - 783, 782, 783, 783, 1126, 319, 319, 524, 524, 325, 485, 856, 856, 386, 386, 524, 863, 649, 792, 171, - 524, 669, 670, 669, 485, 127, 772, 665, 653, 171, 171, 1126, 787, 485, 656, 656, 1124, 79, 79, 1070, - 837, 521, 335, 1074, 518, 945, 783, 783, 783, 783, 524, 319, 321, 825, 321, 325, 485, 485, 869, 524, - 1124, 171, 867, 847, 325, 416, 669, 223, 486, 567, 772, 524, 656, 655, 522, 340, 79, 729, 190, 522, 783, - 783, 518, 709, 486, 1082, 394, 830, 524, 649, 783, 783, 570, 321, 322, 486, 524, 720, 869, 325, 670, - 171, 567, 656, 710, 340, 340, 265, 1084, 308, 945, 77, 766, 190, 522, 783, 79, 651, 1074, 486, 486, - 1123, 518, 839, 218, 571, 524, 322, 720, 171, 720, 322, 340, 340, 728, 308, 265, 843, 651, 1069, 837, - 399, 399, 710, 79, 449, 839, 524, 945, 570, 524, 651, 651, 524, 945, 713, 720, 322, 729, 340, 710, 393, - 709, 171, 651, 524, 190, 729, 190, 1068, 1068, 774, 450, 651, 524, 223, 524, 524, 524, 870, 713, 340, - 485, 83, 518, 710, 524, 524, 190, 42, 42, 774, 449, 1082, 486, 1082, 710, 448, 945, 945, 945, 450, 945, - 524, 275, 710, 710, 524, 79, 171, 524, 524, 170, 715, 322, 171, 322, 79, 524, 710, 1069, 441, 945, 441, - 450, 1082, 450, 469, 469, 467, 448, 469, 710, 710, 726, 447, 42, 715, 322, 83, 710, 72, 792, 450, 171, - 518, 171, 467, 308, 945, 171, 774, 83, 399, 171, 171, 429, 450, 726, 450, 710, 308, 485, 450, 447, 321, - 1068, 79, 79, 979, 485, 448, 223, 710, 171, 708, 82, 521, 450, 171, 710, 708, 708, 450 }; - } - - public final static char asb[] = Asb.asb; - - @Override - public final int asb(int index) { - return asb[index]; - } - - public interface Asr { - public final static byte asr[] = { 0, 9, 71, 118, 72, 40, 68, 120, 0, 4, 9, 69, 1, 2, 0, 41, 66, 42, 43, 67, 8, - 44, 45, 46, 47, 59, 48, 49, 50, 51, 52, 38, 36, 37, 7, 5, 34, 35, 6, 39, 64, 3, 4, 10, 1, 2, 56, 57, 58, - 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 25, 31, 32, 27, 30, 29, 22, 26, 23, 24, 28, 33, 53, 0, 55, - 4, 71, 1, 2, 69, 9, 0, 73, 59, 36, 37, 7, 5, 34, 35, 39, 45, 3, 4, 50, 51, 52, 38, 48, 43, 47, 12, 21, - 11, 17, 15, 16, 18, 19, 14, 13, 20, 10, 42, 46, 44, 41, 49, 69, 9, 8, 6, 1, 2, 67, 66, 0, 98, 91, 34, - 35, 99, 100, 86, 87, 54, 89, 90, 92, 93, 94, 95, 96, 101, 102, 71, 97, 70, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 118, 73, 40, 120, 64, 1, 2, 7, 5, 4, 3, 60, 68, 72, 9, 0, 88, 61, 8, 114, 115, 116, - 63, 9, 3, 7, 5, 6, 71, 73, 40, 62, 25, 11, 12, 53, 23, 13, 56, 26, 27, 14, 28, 29, 15, 16, 30, 31, 17, - 18, 32, 57, 55, 33, 10, 58, 19, 20, 24, 21, 1, 2, 4, 22, 0, 9, 72, 11, 12, 41, 66, 13, 42, 43, 14, 15, - 16, 67, 8, 44, 17, 18, 45, 46, 47, 59, 48, 49, 10, 19, 20, 21, 50, 51, 52, 1, 2, 3, 36, 37, 7, 5, 34, - 35, 6, 39, 4, 38, 0, 64, 71, 97, 68, 118, 72, 73, 120, 11, 12, 41, 66, 13, 42, 43, 14, 15, 16, 67, 44, - 17, 18, 45, 46, 47, 59, 48, 49, 10, 19, 20, 21, 50, 51, 52, 38, 36, 37, 34, 35, 39, 9, 40, 6, 8, 1, 2, - 4, 3, 7, 5, 0, 1, 2, 68, 73, 9, 0, 23, 59, 24, 9, 64, 97, 70, 68, 72, 0, 9, 71, 69, 74, 0, 65, 25, 11, - 12, 53, 23, 13, 56, 26, 88, 27, 14, 28, 29, 15, 16, 30, 61, 31, 17, 18, 32, 57, 33, 10, 58, 19, 63, 22, - 20, 24, 21, 9, 3, 7, 5, 73, 40, 62, 8, 6, 55, 1, 2, 4, 0, 74, 64, 71, 97, 72, 69, 60, 3, 9, 68, 40, 70, - 0, 64, 70, 68, 1, 2, 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 25, 23, 26, 27, 28, 29, 30, 31, 32, - 33, 22, 24, 40, 9, 72, 8, 1, 2, 60, 3, 7, 5, 6, 4, 0, 88, 114, 115, 116, 55, 71, 113, 121, 73, 62, 74, - 63, 61, 65, 76, 78, 84, 82, 75, 80, 81, 83, 85, 69, 77, 79, 40, 9, 25, 53, 23, 56, 26, 27, 28, 29, 30, - 31, 32, 57, 33, 58, 22, 24, 59, 66, 67, 10, 42, 46, 44, 41, 49, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, - 20, 50, 51, 52, 38, 48, 43, 47, 36, 37, 34, 35, 39, 45, 7, 5, 3, 4, 8, 6, 1, 2, 0, 66, 67, 3, 10, 42, - 46, 44, 41, 49, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 50, 51, 52, 38, 48, 43, 47, 6, 8, 4, 36, 37, - 7, 5, 34, 35, 39, 45, 1, 2, 118, 9, 0, 22, 1, 2, 4, 114, 115, 116, 0, 4, 9, 71, 69, 0, 67, 66, 34, 35, - 99, 100, 94, 95, 6, 39, 70, 54, 106, 107, 103, 104, 105, 111, 110, 112, 87, 86, 108, 109, 92, 93, 89, - 90, 96, 101, 36, 37, 91, 117, 10, 56, 53, 57, 58, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 25, 31, - 32, 27, 30, 29, 22, 26, 23, 24, 28, 33, 64, 68, 3, 60, 7, 5, 1, 2, 4, 0, 59, 23, 24, 8, 6, 1, 2, 4, 74, - 69, 119, 117, 36, 37, 60, 3, 98, 91, 5, 99, 100, 34, 35, 87, 86, 54, 89, 90, 92, 93, 7, 94, 95, 96, 64, - 97, 72, 120, 70, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 71, 118, 101, 102, 73, 68, 40, 9, 0, - 23, 24, 74, 3, 71, 40, 69, 59, 9, 64, 97, 68, 72, 70, 0, 69, 53, 23, 13, 56, 26, 14, 28, 29, 15, 16, 30, - 31, 17, 18, 32, 57, 33, 58, 19, 22, 20, 24, 21, 12, 11, 25, 9, 3, 7, 5, 40, 63, 65, 88, 27, 62, 55, 61, - 8, 1, 2, 4, 10, 6, 0, 113, 0, 54, 64, 89, 90, 0, 4, 54, 9, 71, 69, 0, 72, 9, 87, 86, 0, 25, 11, 12, 53, - 23, 13, 56, 26, 27, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 57, 33, 10, 58, 19, 22, 20, 24, 21, 1, 2, 4, - 97, 0, 9, 68, 73, 70, 0, 71, 9, 60, 3, 70, 68, 40, 54, 0, 9, 69, 68, 0, 9, 69, 70, 0, 7, 5, 8, 6, 4, 1, - 2, 3, 60, 64, 70, 68, 9, 72, 97, 0, 6, 8, 3, 60, 5, 7, 97, 25, 11, 12, 53, 23, 13, 56, 26, 27, 14, 28, - 29, 15, 16, 30, 31, 17, 18, 32, 57, 33, 10, 58, 19, 22, 20, 24, 21, 1, 2, 4, 72, 9, 0, 11, 12, 41, 66, - 13, 42, 43, 14, 15, 16, 67, 8, 44, 17, 18, 45, 46, 47, 59, 48, 49, 10, 19, 20, 21, 50, 51, 52, 38, 1, 2, - 36, 37, 7, 5, 34, 35, 6, 39, 4, 62, 3, 0, 66, 67, 36, 37, 34, 35, 39, 45, 50, 51, 52, 38, 48, 43, 47, - 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 10, 42, 46, 44, 41, 49, 7, 5, 3, 60, 8, 6, 4, 1, 2, 0, 10, - 56, 53, 57, 58, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 74, 71, 97, 118, 73, 69, 120, 8, 31, 32, 33, - 22, 24, 1, 2, 30, 29, 28, 27, 26, 6, 4, 23, 25, 119, 98, 117, 91, 36, 37, 34, 35, 99, 100, 9, 60, 3, 5, - 72, 40, 87, 86, 54, 89, 90, 92, 93, 7, 94, 95, 96, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 70, 68, 64, 0, 40, 9, 3, 8, 6, 7, 5, 4, 1, 2, 71, 0, 53, 23, 13, 56, 26, 14, 28, 29, 15, 16, - 30, 31, 17, 18, 32, 57, 33, 10, 58, 19, 22, 20, 24, 21, 12, 11, 25, 9, 3, 7, 40, 63, 61, 65, 88, 27, 62, - 54, 4, 5, 8, 6, 1, 2, 55, 0 }; - } - - public final static byte asr[] = Asr.asr; - - @Override - public final int asr(int index) { - return asr[index]; - } - - public interface Nasb { - public final static char nasb[] = { 0, 204, 12, 63, 12, 12, 12, 12, 12, 12, 67, 12, 12, 12, 130, 12, 220, 153, - 27, 63, 63, 252, 63, 63, 63, 63, 63, 63, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 63, 12, 63, 195, - 154, 154, 154, 154, 27, 81, 177, 177, 53, 5, 107, 232, 12, 12, 177, 256, 232, 232, 161, 1, 63, 56, 18, - 12, 12, 195, 12, 12, 40, 40, 81, 195, 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, 195, 63, 232, 12, 12, 12, 12, 76, 232, 30, 30, - 184, 274, 275, 212, 275, 50, 275, 13, 275, 268, 10, 27, 107, 107, 30, 12, 63, 184, 102, 160, 20, 20, 12, - 12, 12, 10, 27, 107, 154, 84, 220, 126, 219, 27, 219, 232, 107, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 47, 11, 12, 245, 161, 148, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 226, 27, 12, 177, 46, 67, 24, 67, 27, 11, 12, 12, 224, 107, 12, 232, 198, 177, 27, 18, - 63, 154, 177, 71, 232, 12, 11, 27, 157, 18, 63, 195, 195, 195, 195, 12, 12, 274, 275, 275, 275, 275, - 294, 10, 12, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 195, 63, - 30, 186, 186, 186, 302, 47, 109, 109, 12, 239, 212, 177, 239, 17, 47, 232, 12, 170, 12, 201, 16, 47, - 232, 38, 226, 126, 12, 256, 47, 232, 232, 232, 232, 81, 81, 27, 63, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 177, 138, 27, 167, 12, 123, 12, 12, 79, 286, 302, 109, 109, 177, 177, 17, 177, 257, 11, 47, - 177, 63, 12, 12, 20, 20, 27, 169, 184, 201, 232, 47, 177, 115, 12, 195, 226, 158, 12, 12, 232, 232, 17, - 232, 63, 186, 117, 18, 212, 141, 12, 12, 67, 177, 179, 172, 12, 177, 177, 74, 74, 47, 257, 90, 12, 12, - 117, 63, 63, 177, 11, 18, 232, 198, 214, 177, 12, 38, 81, 63, 107, 158, 47, 177, 117, 220, 177, 212, - 277, 177, 239, 177, 94, 216, 167, 63, 12, 92, 12, 27, 184, 74, 74, 111, 90, 138, 63, 257, 177, 201, 117, - 115, 232, 107, 117, 167, 259, 177, 12, 277, 287, 12, 140, 79, 201, 220, 94, 134, 119, 172, 63, 63, 87, - 216, 12, 67, 58, 239, 138, 96, 232, 177, 138, 277, 259, 211, 179, 12, 12, 67, 12, 12, 98, 98, 167, 134, - 137, 12, 239, 12, 188, 239, 67, 67, 11, 12, 177, 96, 138, 277, 177, 167, 143, 12, 232, 67, 239, 201, - 277, 177, 12, 12, 177, 192, 119, 11, 81, 11, 239, 239, 230, 117, 259, 84, 61, 172, 167, 239, 124, 201, - 154, 154, 69, 207, 12, 63, 12, 167, 12, 12, 12, 12, 208, 12, 257, 165, 167, 167, 257, 145, 232, 11, 11, - 232, 177, 138, 232, 177, 212, 124, 167, 12, 100, 12, 12, 208, 12, 208, 282, 282, 234, 12, 282, 167, 167, - 12, 177, 154, 96, 138, 177, 167, 12, 154, 208, 232, 172, 232, 264, 177, 12, 232, 69, 61, 98, 232, 232, - 177, 208, 12, 208, 167, 172, 195, 208, 100, 138, 12, 145, 145, 170, 63, 12, 242, 167, 232, 22, 60, 219, - 208, 232, 167, 22, 12, 208 }; - } - - public final static char nasb[] = Nasb.nasb; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - public interface Nasr { - public final static char nasr[] = { 0, 3, 13, 10, 9, 137, 136, 113, 135, 134, 4, 2, 0, 166, 200, 0, 154, 2, 75, - 0, 79, 0, 176, 0, 42, 1, 0, 2, 44, 0, 4, 10, 9, 2, 13, 127, 5, 0, 161, 0, 4, 2, 9, 10, 157, 0, 44, 2, 3, - 0, 166, 205, 0, 5, 212, 0, 192, 0, 210, 0, 80, 148, 42, 10, 9, 2, 13, 4, 0, 175, 0, 5, 194, 0, 123, 0, - 154, 75, 0, 170, 0, 5, 105, 0, 5, 28, 0, 75, 53, 0, 167, 0, 208, 0, 173, 0, 144, 0, 121, 0, 129, 0, 13, - 2, 9, 10, 4, 94, 0, 122, 0, 4, 115, 209, 0, 159, 0, 51, 0, 186, 4, 185, 0, 140, 117, 0, 75, 156, 155, 0, - 5, 60, 213, 0, 42, 174, 0, 5, 80, 0, 1, 140, 0, 201, 0, 42, 66, 0, 13, 2, 9, 10, 4, 36, 5, 60, 0, 2, - 131, 0, 32, 100, 101, 5, 0, 5, 36, 39, 0, 32, 101, 100, 77, 4, 2, 9, 10, 5, 0, 5, 10, 9, 2, 77, 4, 98, - 53, 0, 4, 115, 182, 0, 50, 42, 196, 5, 36, 0, 53, 4, 98, 27, 5, 0, 5, 191, 0, 80, 36, 50, 82, 5, 42, 0, - 101, 100, 53, 77, 68, 4, 10, 9, 2, 0, 101, 100, 53, 4, 68, 0, 60, 5, 32, 0, 36, 5, 27, 198, 0, 2, 67, 0, - 5, 195, 0, 137, 214, 136, 113, 135, 134, 0, 4, 10, 9, 13, 3, 1, 0, 132, 5, 50, 93, 0, 60, 5, 197, 0, 2, - 4, 113, 110, 111, 112, 13, 69, 0, 5, 50, 93, 95, 0, 5, 60, 116, 0, 39, 4, 2, 9, 10, 5, 172, 0, 113, 69, - 13, 110, 111, 112, 190, 0, 5, 50, 93, 115, 48, 4, 0 }; - } - - public final static char nasr[] = Nasr.nasr; - - @Override - public final int nasr(int index) { - return nasr[index]; - } - - public interface TerminalIndex { - public final static char terminalIndex[] = { 0, 113, 114, 2, 31, 10, 13, 9, 79, 115, 100, 48, 52, 60, 68, 74, - 75, 86, 87, 102, 105, 107, 104, 54, 106, 47, 64, 66, 70, 73, 76, 83, 89, 98, 11, 12, 7, 8, 112, 14, 120, - 55, 61, 67, 84, 88, 90, 94, 97, 99, 109, 110, 111, 53, 19, 93, 63, 91, 101, 95, 1, 77, 122, 103, 20, 46, - 58, 78, 44, 121, 33, 30, 118, 119, 96, 108, 49, 50, 56, 57, 59, 69, 71, 72, 85, 92, 17, 18, 65, 21, 22, - 6, 23, 24, 25, 26, 27, 32, 4, 15, 16, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 51, 80, 81, 82, 5, - 117, 3, 123, 62, 116 }; - } - - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - - @Override - public final int terminalIndex(int index) { - return terminalIndex[index]; - } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = { 0, 130, 135, 136, 0, 0, 134, 0, 0, 237, 243, 133, 0, 143, 0, - 132, 0, 0, 142, 148, 0, 0, 149, 158, 159, 160, 161, 188, 151, 0, 162, 141, 126, 163, 164, 165, 131, 166, - 167, 128, 168, 0, 129, 138, 137, 170, 169, 171, 185, 0, 0, 195, 172, 0, 173, 0, 0, 0, 0, 0, 152, 174, - 175, 176, 0, 177, 180, 0, 155, 194, 0, 0, 0, 212, 0, 0, 209, 213, 0, 214, 127, 145, 179, 0, 0, 0, 0, 0, - 0, 183, 0, 0, 0, 0, 125, 186, 0, 0, 210, 216, 217, 218, 0, 220, 157, 0, 146, 0, 0, 215, 197, 198, 199, - 201, 227, 228, 182, 204, 0, 0, 219, 0, 0, 0, 0, 248, 0, 251, 0, 252, 0, 147, 187, 189, 190, 191, 192, - 196, 200, 203, 0, 206, 0, 207, 0, 222, 225, 0, 0, 0, 246, 0, 247, 0, 0, 139, 140, 144, 0, 0, 154, 156, - 0, 178, 0, 193, 0, 0, 0, 202, 0, 205, 211, 0, 223, 224, 0, 0, 229, 232, 0, 234, 236, 0, 240, 241, 242, - 245, 0, 0, 249, 124, 0, 150, 153, 0, 181, 0, 184, 0, 0, 208, 221, 226, 0, 0, 230, 231, 233, 235, 0, 238, - 239, 244, 250, 253, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - - @Override - public final int nonterminalIndex(int index) { - return nonterminalIndex[index]; - } - - public interface ScopePrefix { - public final static char scopePrefix[] = { 172, 324, 600, 619, 317, 332, 551, 567, 578, 589, 372, 280, 294, 311, - 344, 55, 305, 392, 430, 180, 608, 502, 20, 33, 64, 84, 93, 98, 103, 143, 208, 339, 350, 20, 467, 157, - 286, 300, 526, 40, 157, 382, 20, 627, 40, 230, 259, 1, 14, 27, 74, 89, 119, 27, 361, 365, 448, 495, 547, - 637, 641, 645, 110, 7, 110, 410, 426, 439, 460, 479, 539, 129, 129, 245, 439, 558, 574, 585, 596, 220, - 513, 69, 69, 169, 235, 238, 69, 254, 275, 238, 238, 69, 369, 492, 499, 169, 69, 660, 123, 355, 414, 454, - 486, 472, 69, 355, 401, 190, 117, 452, 649, 656, 649, 656, 78, 420, 150, 117, 117, 264 }; - } - - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - - @Override - public final int scopePrefix(int index) { - return scopePrefix[index]; - } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { 18, 148, 5, 5, 148, 148, 5, 5, 5, 5, 379, 148, 108, 148, 25, 61, 291, - 398, 436, 186, 80, 508, 25, 38, 38, 38, 72, 72, 108, 148, 213, 31, 31, 25, 5, 162, 291, 114, 531, 51, - 165, 387, 614, 632, 45, 224, 224, 5, 18, 31, 5, 72, 108, 31, 108, 108, 148, 257, 5, 5, 5, 257, 658, 11, - 114, 379, 379, 379, 464, 483, 531, 133, 138, 249, 443, 562, 562, 562, 562, 224, 517, 72, 72, 5, 5, 241, - 243, 257, 5, 278, 278, 243, 108, 5, 257, 5, 524, 5, 126, 358, 417, 457, 489, 475, 543, 534, 404, 193, - 108, 108, 651, 651, 653, 653, 80, 422, 152, 215, 200, 266 }; - } - - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - - @Override - public final int scopeSuffix(int index) { - return scopeSuffix[index]; - } - - public interface ScopeLhs { - public final static char scopeLhs[] = { 48, 112, 18, 18, 92, 112, 18, 18, 18, 18, 85, 97, 49, 92, 111, 90, 58, - 85, 84, 48, 18, 20, 190, 3, 7, 8, 182, 182, 178, 110, 48, 111, 111, 138, 45, 147, 59, 49, 157, 151, 147, - 85, 18, 18, 151, 102, 72, 153, 88, 190, 185, 182, 178, 138, 199, 56, 66, 161, 18, 18, 18, 18, 12, 129, - 178, 85, 84, 84, 64, 41, 157, 114, 114, 68, 84, 18, 18, 18, 18, 102, 20, 186, 182, 201, 100, 109, 74, - 79, 73, 172, 89, 138, 86, 162, 161, 192, 157, 17, 178, 138, 116, 83, 22, 45, 157, 157, 85, 48, 178, 78, - 155, 44, 155, 44, 185, 116, 110, 48, 48, 72 }; - } - - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - - @Override - public final int scopeLhs(int index) { - return scopeLhs[index]; - } - - public interface ScopeLa { - public final static byte scopeLa[] = { 113, 73, 72, 72, 73, 73, 72, 72, 72, 72, 72, 73, 40, 73, 1, 64, 1, 72, - 121, 69, 3, 72, 1, 64, 64, 64, 1, 1, 40, 73, 69, 1, 1, 1, 72, 73, 1, 1, 4, 64, 68, 40, 1, 1, 64, 72, 72, - 72, 113, 1, 72, 1, 40, 1, 40, 40, 73, 118, 72, 72, 72, 118, 1, 72, 1, 72, 72, 72, 71, 71, 4, 1, 1, 5, - 72, 64, 64, 64, 64, 72, 3, 1, 1, 72, 72, 3, 1, 118, 72, 1, 1, 1, 40, 72, 118, 72, 6, 72, 1, 55, 70, 71, - 72, 64, 1, 55, 75, 74, 40, 40, 4, 4, 4, 4, 3, 1, 69, 1, 1, 3 }; - } - - public final static byte scopeLa[] = ScopeLa.scopeLa; - - @Override - public final int scopeLa(int index) { - return scopeLa[index]; - } - - public interface ScopeStateSet { - public final static char scopeStateSet[] = { 85, 183, 284, 284, 107, 183, 284, 284, 284, 284, 95, 109, 85, 107, - 183, 107, 87, 95, 95, 85, 284, 284, 118, 214, 260, 260, 54, 54, 82, 183, 85, 183, 183, 185, 140, 371, - 87, 85, 165, 50, 371, 95, 284, 284, 50, 174, 66, 26, 95, 118, 30, 54, 82, 185, 22, 87, 33, 63, 284, 284, - 284, 284, 264, 6, 82, 95, 95, 95, 148, 344, 165, 183, 183, 124, 95, 284, 284, 284, 284, 174, 284, 30, - 54, 24, 174, 176, 66, 170, 66, 60, 71, 185, 95, 57, 63, 168, 165, 284, 82, 185, 1, 95, 285, 140, 165, - 165, 95, 85, 82, 11, 121, 189, 121, 189, 30, 1, 183, 85, 85, 66 }; - } - - public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; - - @Override - public final int scopeStateSet(int index) { - return scopeStateSet[index]; - } - - public interface ScopeRhs { - public final static char scopeRhs[] = { 0, 338, 3, 59, 0, 126, 0, 337, 3, 113, 0, 126, 180, 0, 127, 188, 74, 0, - 224, 0, 197, 166, 126, 10, 0, 136, 0, 166, 126, 10, 0, 135, 0, 271, 127, 54, 124, 0, 20, 0, 309, 127, - 54, 55, 0, 20, 53, 0, 33, 132, 0, 20, 53, 0, 0, 309, 127, 54, 55, 215, 0, 20, 186, 0, 271, 127, 54, 132, - 0, 189, 126, 0, 141, 0, 227, 3, 308, 0, 308, 0, 2, 0, 126, 0, 271, 127, 54, 131, 0, 189, 126, 237, 0, - 189, 126, 22, 237, 0, 189, 126, 332, 22, 0, 128, 197, 166, 126, 0, 128, 0, 197, 166, 126, 0, 134, 128, - 0, 172, 0, 328, 127, 172, 0, 127, 172, 0, 230, 128, 0, 166, 327, 235, 0, 136, 0, 0, 0, 0, 135, 0, 0, 0, - 0, 326, 127, 164, 236, 0, 127, 0, 236, 0, 129, 0, 0, 127, 0, 325, 127, 164, 270, 0, 127, 0, 0, 44, 127, - 0, 0, 150, 3, 0, 127, 296, 295, 127, 74, 294, 172, 0, 295, 127, 74, 294, 172, 0, 223, 0, 224, 0, 294, - 172, 0, 96, 0, 0, 223, 0, 224, 0, 211, 96, 0, 0, 223, 0, 224, 0, 295, 127, 294, 172, 0, 223, 0, 211, 0, - 0, 223, 0, 240, 127, 3, 0, 126, 0, 0, 0, 0, 0, 240, 127, 3, 222, 0, 231, 3, 0, 220, 127, 0, 216, 0, 146, - 0, 175, 166, 126, 0, 10, 0, 0, 0, 0, 226, 60, 0, 125, 0, 240, 127, 3, 195, 0, 195, 0, 2, 0, 0, 126, 0, - 0, 0, 0, 0, 211, 3, 0, 209, 0, 252, 127, 164, 38, 27, 0, 189, 126, 61, 63, 0, 204, 128, 0, 128, 189, - 126, 292, 63, 0, 189, 126, 292, 63, 0, 189, 126, 70, 123, 61, 0, 252, 127, 164, 262, 61, 0, 252, 127, - 164, 262, 239, 61, 0, 289, 290, 127, 164, 123, 322, 56, 0, 289, 290, 127, 164, 322, 56, 0, 189, 126, - 288, 56, 0, 197, 189, 126, 288, 235, 0, 189, 126, 288, 235, 0, 166, 126, 0, 93, 136, 0, 286, 127, 149, - 0, 286, 127, 172, 0, 158, 84, 0, 317, 161, 319, 320, 3, 81, 0, 126, 179, 0, 319, 320, 3, 81, 0, 128, 0, - 126, 179, 0, 158, 3, 75, 204, 80, 0, 126, 128, 0, 204, 80, 0, 108, 2, 131, 126, 128, 0, 238, 3, 75, 0, - 211, 182, 0, 33, 169, 0, 182, 0, 183, 33, 169, 0, 238, 3, 85, 0, 204, 154, 238, 3, 83, 0, 62, 179, 0, - 238, 3, 83, 0, 126, 179, 62, 179, 0, 318, 127, 164, 0, 158, 0, 226, 77, 0, 30, 179, 0, 158, 102, 185, 0, - 30, 177, 0, 148, 64, 167, 3, 0, 167, 3, 0, 20, 161, 126, 0, 158, 102, 162, 0, 30, 169, 0, 203, 3, 0, - 126, 149, 0, 227, 3, 0, 226, 60, 283, 0, 158, 60, 0, 203, 3, 314, 67, 126, 0, 126, 0, 0, 0, 0, 314, 67, - 126, 0, 2, 145, 126, 0, 0, 0, 0, 147, 0, 125, 55, 166, 126, 0, 31, 147, 0, 93, 136, 31, 147, 0, 228, - 189, 126, 0, 146, 31, 147, 0, 158, 3, 49, 0, 158, 3, 64, 203, 54, 41, 0, 203, 54, 41, 0, 20, 2, 131, - 126, 0, 158, 3, 64, 203, 54, 44, 0, 203, 54, 44, 0, 158, 3, 64, 203, 54, 46, 0, 203, 54, 46, 0, 158, 3, - 64, 203, 54, 42, 0, 203, 54, 42, 0, 227, 3, 125, 197, 166, 126, 10, 0, 125, 197, 166, 126, 10, 0, 136, - 2, 0, 126, 0, 227, 3, 124, 276, 166, 126, 10, 0, 276, 166, 126, 10, 0, 135, 2, 0, 126, 0, 227, 3, 135, - 0, 227, 3, 140, 0, 158, 60, 140, 0, 278, 0, 31, 0, 31, 139, 0, 165, 0, 134, 0, 158, 3, 0 }; - } - - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - - @Override - public final int scopeRhs(int index) { - return scopeRhs[index]; - } - - public interface ScopeState { - public final static char scopeState[] = { 0, 5858, 6334, 6328, 5983, 0, 2804, 1340, 2010, 1062, 0, 5305, 5243, - 5175, 5044, 4982, 4920, 4858, 4796, 4734, 4535, 4473, 4798, 0, 2593, 0, 2930, 2310, 1994, 0, 2273, 2141, - 0, 5305, 5243, 2995, 2871, 5175, 5044, 4982, 4920, 4858, 4796, 2869, 4734, 4535, 4473, 2598, 2540, 0, - 6109, 4896, 6039, 0, 4361, 2079, 0, 2445, 2088, 0, 652, 5997, 0, 823, 706, 0, 4677, 652, 4422, 4664, - 5997, 4624, 5133, 2511, 2181, 3844, 3278, 2379, 4229, 4215, 4172, 0, 6234, 6195, 0, 6234, 6195, 5864, - 6161, 6101, 5852, 6089, 6029, 5840, 5968, 5305, 5243, 5175, 5044, 4982, 4920, 4858, 4796, 4734, 4535, - 4473, 0, 6234, 6195, 5864, 6161, 6101, 5852, 6089, 6029, 5840, 5968, 0, 6162, 5442, 0, 2318, 2244, 0, - 3844, 4677, 4990, 4422, 4664, 6202, 4229, 2917, 3603, 2866, 4484, 4706, 2471, 3345, 2080, 0, 3408, 3509, - 3620, 3565, 3857, 3817, 3707, 3293, 2877, 928, 2811, 2745, 2679, 2613, 2547, 2481, 2415, 2349, 2283, - 2217, 2151, 836, 768, 676, 0, 868, 745, 0, 956, 0, 2260, 1954, 650, 648, 4664, 4706, 4624, 4215, 4172, - 3257, 3890, 717, 0, 6162, 5442, 5962, 598, 4307, 0, 6315, 6301, 6263, 6246, 6110, 5872, 5314, 5184, - 5011, 4949, 5264, 5195, 4887, 4867, 5073, 4564, 4328, 764, 3884, 4828, 4502, 4252, 924, 672, 0, 4262, - 3978, 6315, 6301, 6263, 3903, 3898, 6246, 640, 6110, 5872, 5314, 5184, 5011, 1765, 3594, 1718, 1671, - 4949, 1624, 5264, 5195, 1577, 1480, 1430, 1383, 4887, 4867, 1334, 3330, 5073, 3184, 4564, 3445, 4328, - 764, 3884, 1248, 4828, 4502, 4252, 5962, 809, 4307, 924, 672, 2841, 2775, 1192, 1041, 903, 4624, 5133, - 2511, 2181, 3844, 4677, 3278, 652, 4422, 4664, 2379, 4229, 4215, 5997, 4172, 2709, 2643, 868, 745, 5818, - 2877, 4185, 928, 3408, 2811, 2745, 2679, 2613, 2547, 2481, 2415, 2349, 2283, 2217, 2151, 3509, 3620, - 3565, 3857, 3817, 3707, 4145, 4118, 4091, 5795, 3293, 5772, 836, 768, 676, 3369, 3471, 1105, 1253, 3786, - 3755, 3673, 4446, 4379, 4064, 4037, 4010, 3937, 5418, 5394, 5146, 4637, 4333, 5749, 5726, 5703, 5680, - 5657, 5633, 5603, 5580, 5514, 5488, 5457, 2943, 3230, 3188, 3131, 3089, 3032, 2990, 1388, 1341, 1292, - 2094, 2052, 2005, 1958, 1911, 1864, 1817, 1770, 1723, 1676, 1629, 1582, 1535, 598, 1488, 1438, 1206, - 1057, 994, 1143, 0 }; - } - - public final static char scopeState[] = ScopeState.scopeState; - - @Override - public final int scopeState(int index) { - return scopeState[index]; - } - - public interface InSymb { - public final static char inSymb[] = { 0, 0, 313, 127, 285, 49, 41, 44, 46, 42, 10, 135, 124, 131, 8, 132, 4, 3, - 126, 45, 39, 6, 35, 34, 5, 7, 37, 36, 140, 145, 147, 146, 152, 148, 156, 155, 159, 157, 160, 59, 162, - 68, 3, 54, 54, 54, 54, 126, 3, 54, 54, 182, 127, 60, 3, 66, 67, 54, 6, 203, 158, 182, 127, 66, 67, 166, - 165, 124, 3, 123, 125, 117, 119, 3, 60, 91, 98, 35, 34, 100, 99, 5, 90, 89, 64, 54, 86, 87, 7, 93, 92, - 95, 94, 96, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 70, 102, 101, 158, 203, 203, 203, 203, - 166, 227, 127, 127, 127, 255, 256, 236, 257, 235, 258, 56, 287, 259, 10, 126, 60, 60, 127, 124, 154, - 127, 60, 3, 223, 222, 135, 125, 124, 10, 126, 60, 314, 3, 197, 4, 55, 126, 55, 227, 158, 146, 146, 145, - 145, 145, 148, 148, 148, 148, 147, 147, 155, 152, 152, 157, 156, 159, 158, 160, 64, 64, 64, 64, 197, - 276, 271, 127, 249, 3, 167, 148, 174, 169, 183, 176, 184, 185, 274, 271, 220, 126, 175, 164, 327, 288, - 322, 288, 126, 189, 166, 271, 220, 226, 162, 231, 127, 3, 126, 166, 216, 3, 315, 182, 150, 278, 197, - 126, 189, 166, 71, 3, 3, 3, 3, 125, 124, 255, 256, 257, 258, 336, 259, 10, 167, 90, 89, 54, 7, 93, 92, - 95, 94, 96, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 70, 102, 101, 68, 166, 7, 5, 127, 166, - 243, 125, 124, 126, 123, 164, 126, 166, 55, 240, 241, 149, 242, 127, 166, 55, 203, 127, 127, 4, 228, 6, - 55, 158, 158, 158, 158, 3, 3, 126, 64, 148, 148, 148, 169, 167, 167, 176, 174, 183, 158, 184, 175, 175, - 326, 126, 170, 237, 61, 55, 215, 63, 172, 329, 125, 124, 244, 244, 189, 164, 127, 189, 197, 154, 70, - 231, 211, 199, 195, 126, 3, 127, 68, 240, 197, 154, 280, 283, 60, 190, 4, 123, 125, 227, 227, 166, 148, - 71, 5, 127, 166, 262, 239, 54, 55, 292, 294, 127, 3, 195, 244, 244, 127, 127, 197, 127, 290, 123, 291, - 127, 70, 70, 3, 189, 166, 211, 127, 220, 154, 125, 127, 3, 60, 158, 4, 197, 175, 173, 197, 164, 262, 64, - 54, 126, 74, 127, 220, 328, 71, 303, 211, 124, 126, 127, 127, 127, 71, 290, 289, 70, 68, 229, 127, 127, - 280, 227, 226, 127, 128, 127, 164, 27, 55, 172, 65, 61, 63, 127, 189, 127, 295, 71, 68, 71, 70, 166, - 220, 331, 237, 22, 126, 289, 127, 240, 229, 252, 254, 127, 38, 127, 3, 123, 61, 309, 55, 10, 53, 128, - 295, 164, 307, 126, 308, 68, 126, 22, 332, 189, 59, 154, 127, 252, 127, 164, 286, 265, 293, 38, 70, 126, - 68, 64, 54, 243, 243, 296, 127, 68, 189, 3, 189, 126, 126, 3, 127, 127, 3, 70, 68, 154, 126, 189, 127, - 70, 70, 127, 318, 79, 77, 1, 158, 9, 85, 83, 81, 80, 75, 82, 84, 78, 76, 61, 74, 227, 189, 189, 338, - 229, 252, 150, 164, 270, 189, 239, 309, 297, 113, 9, 71, 226, 71, 3, 3, 3, 204, 3, 123, 158, 123, 188, - 68, 127, 127, 164, 239, 64, 3, 71, 238, 182, 238, 320, 149, 75, 238, 127, 127, 53, 97, 337, 182, 154, - 211, 154, 319, 127, 3, 154, 297, 325, 243, 154, 154, 127, 70, 204, 161, 286, 158, 202, 68, 70, 121, 317, - 154, 202, 9, 154 }; - } - - public final static char inSymb[] = InSymb.inSymb; - - @Override - public final int inSymb(int index) { - return inSymb[index]; - } - - public interface Name { - public final static String name[] = { "", "[", "(", ".", ".*", "->", "->*", "++", "--", "&", "*", "+", "-", "~", - "!", "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "::", - "...", "=", "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", "$empty", "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", - "ERROR_TOKEN", "EOF_TOKEN", "no_sizeof_type_id_start", "]", ")", "}", ";", "{", "identifier_token", - "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_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" }; - } - - public final static String name[] = Name.name; - - @Override - public final String name(int index) { - return name[index]; - } - - public final static int ERROR_SYMBOL = 62, SCOPE_UBOUND = 119, SCOPE_SIZE = 120, MAX_NAME_LENGTH = 43; - - @Override - public final int getErrorSymbol() { - return ERROR_SYMBOL; - } - - @Override - public final int getScopeUbound() { - return SCOPE_UBOUND; - } - - @Override - public final int getScopeSize() { - return SCOPE_SIZE; - } - - @Override - public final int getMaxNameLength() { - return MAX_NAME_LENGTH; - } - - public final static int NUM_STATES = 602, NT_OFFSET = 122, LA_STATE_OFFSET = 7489, MAX_LA = 2147483647, - NUM_RULES = 597, NUM_NONTERMINALS = 225, NUM_SYMBOLS = 347, SEGMENT_SIZE = 8192, START_STATE = 4508, - IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, ACCEPT_ACTION = 6452, ERROR_ACTION = 6892; - - public final static boolean BACKTRACK = true; - - @Override - public final int getNumStates() { - return NUM_STATES; - } - - @Override - public final int getNtOffset() { - return NT_OFFSET; - } - - @Override - public final int getLaStateOffset() { - return LA_STATE_OFFSET; - } - - @Override - public final int getMaxLa() { - return MAX_LA; - } - - @Override - public final int getNumRules() { - return NUM_RULES; - } - - @Override - public final int getNumNonterminals() { - return NUM_NONTERMINALS; - } - - @Override - public final int getNumSymbols() { - return NUM_SYMBOLS; - } - - @Override - public final int getSegmentSize() { - return SEGMENT_SIZE; - } - - @Override - public final int getStartState() { - return START_STATE; - } - - @Override - public final int getStartSymbol() { - return lhs[0]; - } - - public final int getIdentifierSymbol() { - return IDENTIFIER_SYMBOL; - } - - @Override - public final int getEoftSymbol() { - return EOFT_SYMBOL; - } - - @Override - public final int getEoltSymbol() { - return EOLT_SYMBOL; - } - - @Override - public final int getAcceptAction() { - return ACCEPT_ACTION; - } - - @Override - public final int getErrorAction() { - return ERROR_ACTION; - } - - @Override - public final boolean isValidForParser() { - return isValidForParser; - } - - @Override - public final boolean getBacktrack() { - return BACKTRACK; - } - - @Override - public final int originalState(int state) { - return -baseCheck[state]; - } - - @Override - public final int asi(int state) { - return asb[originalState(state)]; - } - - @Override - public final int nasi(int state) { - return nasb[originalState(state)]; - } - - @Override - public final int inSymbol(int state) { - return inSymb[originalState(state)]; - } - - @Override - public final int ntAction(int state, int sym) { - return baseAction[state + sym]; - } - - @Override - public final int tAction(int state, int sym) { - int i = baseAction[state], k = i + sym; - return termAction[termCheck[k] == sym ? k : i]; - } - - @Override - 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/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java deleted file mode 100644 index f40ff747025..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2010 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -public interface CPPSizeofExpressionParsersym { - public final static int TK_asm = 65, TK_auto = 25, TK_bool = 11, TK_break = 76, TK_case = 77, TK_catch = 113, - TK_char = 12, TK_class = 53, TK_const = 23, TK_const_cast = 41, TK_continue = 78, TK_default = 79, - TK_delete = 66, TK_do = 80, TK_double = 13, TK_dynamic_cast = 42, TK_else = 121, TK_enum = 56, - TK_explicit = 26, TK_export = 88, TK_extern = 27, TK_false = 43, TK_float = 14, TK_for = 81, TK_friend = 28, - TK_goto = 82, TK_if = 83, TK_inline = 29, TK_int = 15, TK_long = 16, TK_mutable = 30, TK_namespace = 61, - TK_new = 67, TK_operator = 8, TK_private = 114, TK_protected = 115, TK_public = 116, TK_register = 31, - TK_reinterpret_cast = 44, TK_return = 84, TK_short = 17, TK_signed = 18, TK_sizeof = 45, TK_static = 32, - TK_static_cast = 46, TK_struct = 57, TK_switch = 85, TK_template = 55, TK_this = 47, TK_throw = 59, - TK_try = 74, TK_true = 48, TK_typedef = 33, TK_typeid = 49, TK_typename = 10, TK_union = 58, - TK_unsigned = 19, TK_using = 63, TK_virtual = 22, TK_void = 20, TK_volatile = 24, TK_wchar_t = 21, - TK_while = 75, TK_integer = 50, TK_floating = 51, TK_charconst = 52, TK_stringlit = 38, TK_identifier = 1, - TK_Completion = 2, TK_EndOfCompletion = 9, TK_Invalid = 122, TK_LeftBracket = 60, TK_LeftParen = 3, - TK_Dot = 119, TK_DotStar = 98, TK_Arrow = 117, TK_ArrowStar = 91, TK_PlusPlus = 36, TK_MinusMinus = 37, - TK_And = 7, TK_Star = 5, TK_Plus = 34, TK_Minus = 35, TK_Tilde = 6, TK_Bang = 39, TK_Slash = 99, - TK_Percent = 100, TK_RightShift = 86, TK_LeftShift = 87, TK_LT = 54, TK_GT = 64, TK_LE = 89, TK_GE = 90, - TK_EQ = 92, TK_NE = 93, TK_Caret = 94, TK_Or = 95, TK_AndAnd = 96, TK_OrOr = 101, TK_Question = 102, - TK_Colon = 71, TK_ColonColon = 4, TK_DotDotDot = 97, TK_Assign = 70, TK_StarAssign = 103, - TK_SlashAssign = 104, TK_PercentAssign = 105, TK_PlusAssign = 106, TK_MinusAssign = 107, - TK_RightShiftAssign = 108, TK_LeftShiftAssign = 109, TK_AndAssign = 110, TK_CaretAssign = 111, - TK_OrAssign = 112, TK_Comma = 68, TK_RightBracket = 118, TK_RightParen = 72, TK_RightBrace = 73, - TK_SemiColon = 40, TK_LeftBrace = 69, TK_ERROR_TOKEN = 62, TK_EOF_TOKEN = 120; - - public final static String orderedTerminalSymbols[] = { "", "identifier", "Completion", "LeftParen", "ColonColon", - "Star", "Tilde", "And", "operator", "EndOfCompletion", "typename", "bool", "char", "double", "float", "int", - "long", "short", "signed", "unsigned", "void", "wchar_t", "virtual", "const", "volatile", "auto", - "explicit", "extern", "friend", "inline", "mutable", "register", "static", "typedef", "Plus", "Minus", - "PlusPlus", "MinusMinus", "stringlit", "Bang", "SemiColon", "const_cast", "dynamic_cast", "false", - "reinterpret_cast", "sizeof", "static_cast", "this", "true", "typeid", "integer", "floating", "charconst", - "class", "LT", "template", "enum", "struct", "union", "throw", "LeftBracket", "namespace", "ERROR_TOKEN", - "using", "GT", "asm", "delete", "new", "Comma", "LeftBrace", "Assign", "Colon", "RightParen", "RightBrace", - "try", "while", "break", "case", "continue", "default", "do", "for", "goto", "if", "return", "switch", - "RightShift", "LeftShift", "export", "LE", "GE", "ArrowStar", "EQ", "NE", "Caret", "Or", "AndAnd", - "DotDotDot", "DotStar", "Slash", "Percent", "OrOr", "Question", "StarAssign", "SlashAssign", - "PercentAssign", "PlusAssign", "MinusAssign", "RightShiftAssign", "LeftShiftAssign", "AndAssign", - "CaretAssign", "OrAssign", "catch", "private", "protected", "public", "Arrow", "RightBracket", "Dot", - "EOF_TOKEN", "else", "Invalid" }; - - public final static boolean isValidForParser = true; -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java deleted file mode 100644 index 8ddcf5742da..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java +++ /dev/null @@ -1,2867 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -import java.util.List; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCastExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTypeIdExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUnaryExpression; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction; -import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory; - -import lpg.lpgjavaruntime.BadParseException; -import lpg.lpgjavaruntime.BadParseSymFileException; -import lpg.lpgjavaruntime.DiagnoseParser; -import lpg.lpgjavaruntime.ErrorToken; -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.LexStream; -import lpg.lpgjavaruntime.Monitor; -import lpg.lpgjavaruntime.NotBacktrackParseTableException; -import lpg.lpgjavaruntime.NullExportedSymbolsException; -import lpg.lpgjavaruntime.NullTerminalSymbolsException; -import lpg.lpgjavaruntime.ParseErrorCodes; -import lpg.lpgjavaruntime.ParseTable; -import lpg.lpgjavaruntime.PrsStream; -import lpg.lpgjavaruntime.RuleAction; -import lpg.lpgjavaruntime.Token; -import lpg.lpgjavaruntime.UndefinedEofSymbolException; -import lpg.lpgjavaruntime.UnimplementedTerminalsException; - -public class CPPTemplateTypeParameterParser extends PrsStream - implements RuleAction, ITokenStream, ITokenCollector, ISecondaryParser { - private static ParseTable prs = new CPPTemplateTypeParameterParserprs(); - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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 CPPTemplateTypeParameterParser(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), CPPTemplateTypeParameterParserprs.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(" " + CPPTemplateTypeParameterParsersym.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " - + CPPTemplateTypeParameterParsersym.orderedTerminalSymbols[CPPTemplateTypeParameterParserprs.EOFT_SYMBOL])); - } - } - - @Override - public String[] orderedTerminalSymbols() { - return CPPTemplateTypeParameterParsersym.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return CPPTemplateTypeParameterParsersym.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return CPPTemplateTypeParameterParserprs.EOFT_SYMBOL; - } - - public PrsStream getParseStream() { - return 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, this, prs, this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException( - "Regenerate CPPTemplateTypeParameterParserprs.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error( - new BadParseSymFileException("Bad Parser Symbol File -- CPPTemplateTypeParameterParsersym.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 CPPBuildASTParserAction action; - private IASTCompletionNode compNode; - - public CPPTemplateTypeParameterParser(IScanner scanner, IDOMTokenMap tokenMap, - IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new CPPBuildASTParserAction(this, astStack, CPPNodeFactory.getDefault(), - CPPSecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - public ICPPASTTemplateParameter 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 (ICPPASTTemplateParameter) action.getParseResult(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return CPPTemplateTypeParameterParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "CPPTemplateTypeParameterParser"; - } - - private ITokenMap tokenMap = null; - - @Override - public void setTokens(List tokens) { - resetTokenStream(); - addToken(new Token(null, 0, 0, 0)); // dummy token - for (IToken token : tokens) { - token.setKind(tokenMap.mapKind(token.getKind())); - addToken(token); - } - addToken(new Token(null, 0, 0, CPPTemplateTypeParameterParsersym.TK_EOF_TOKEN)); - } - - public CPPTemplateTypeParameterParser(ITokenStream stream, Map properties) { // constructor for creating secondary parser - initActions(properties); - tokenMap = new TokenMap(CPPTemplateTypeParameterParsersym.orderedTerminalSymbols, - stream.getOrderedTerminalSymbols()); - } - - public CPPTemplateTypeParameterParser(ITokenStream stream, IScanner scanner, - IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { // constructor for creating secondary parser - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - tokenMap = new TokenMap(CPPTemplateTypeParameterParsersym.orderedTerminalSymbols, - stream.getOrderedTerminalSymbols()); - } - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 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 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 ) 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 ::= 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 ::= 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 ::= { 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 init_declarator_list_opt ; - // - case 255: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 256: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; - // - case 256: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 257: declaration_specifiers ::= simple_declaration_specifiers - // - case 257: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 258: declaration_specifiers ::= class_declaration_specifiers - // - case 258: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 259: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 259: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 260: declaration_specifiers ::= enum_declaration_specifiers - // - case 260: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 261: declaration_specifiers ::= 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 { enumerator_list_opt comma_opt } - // - case 321: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 322: enum_specifier ::= enum enum_specifier_hook identifier_token { 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 { declaration_seq_opt } - // - case 331: { - action.consumeNamespaceDefinition(true); - break; - } - - // - // Rule 332: namespace_definition ::= namespace namespace_definition_hook { 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: asm_definition ::= asm ( stringlit ) ; - // - case 339: { - action.consumeDeclarationASM(); - break; - } - - // - // Rule 340: linkage_specification ::= extern stringlit { declaration_seq_opt } - // - case 340: { - action.consumeLinkageSpecification(); - break; - } - - // - // Rule 341: linkage_specification ::= extern stringlit declaration - // - case 341: { - action.consumeLinkageSpecification(); - break; - } - - // - // Rule 346: init_declarator_complete ::= init_declarator - // - case 346: { - action.consumeInitDeclaratorComplete(); - break; - } - - // - // Rule 348: init_declarator ::= complete_declarator initializer - // - case 348: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 351: declarator ::= ptr_operator_seq direct_declarator - // - case 351: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 353: function_declarator ::= ptr_operator_seq direct_declarator - // - case 353: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 357: basic_direct_declarator ::= declarator_id_name - // - case 357: { - action.consumeDirectDeclaratorIdentifier(); - break; - } - - // - // Rule 358: basic_direct_declarator ::= ( declarator ) - // - case 358: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 359: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 359: { - action.consumeDirectDeclaratorFunctionDeclarator(true); - break; - } - - // - // Rule 360: array_direct_declarator ::= array_direct_declarator array_modifier - // - case 360: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 361: array_direct_declarator ::= basic_direct_declarator array_modifier - // - case 361: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 362: array_modifier ::= [ constant_expression ] - // - case 362: { - action.consumeDirectDeclaratorArrayModifier(true); - break; - } - - // - // Rule 363: array_modifier ::= [ ] - // - case 363: { - action.consumeDirectDeclaratorArrayModifier(false); - break; - } - - // - // Rule 364: ptr_operator ::= pointer_hook * pointer_hook cv_qualifier_seq_opt - // - case 364: { - action.consumePointer(); - break; - } - - // - // Rule 365: ptr_operator ::= pointer_hook & pointer_hook - // - case 365: { - action.consumeReferenceOperator(); - break; - } - - // - // Rule 366: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook cv_qualifier_seq_opt - // - case 366: { - action.consumePointerToMember(); - break; - } - - // - // Rule 373: cv_qualifier ::= const - // - case 373: { - action.consumeToken(); - break; - } - - // - // Rule 374: cv_qualifier ::= volatile - // - case 374: { - action.consumeToken(); - break; - } - - // - // Rule 376: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name - // - case 376: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 377: type_id ::= type_specifier_seq - // - case 377: { - action.consumeTypeId(false); - break; - } - - // - // Rule 378: type_id ::= type_specifier_seq abstract_declarator - // - case 378: { - action.consumeTypeId(true); - break; - } - - // - // Rule 381: abstract_declarator ::= ptr_operator_seq - // - case 381: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 382: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator - // - case 382: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 386: basic_direct_abstract_declarator ::= ( abstract_declarator ) - // - case 386: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 387: basic_direct_abstract_declarator ::= ( ) - // - case 387: { - action.consumeAbstractDeclaratorEmpty(); - break; - } - - // - // Rule 388: array_direct_abstract_declarator ::= array_modifier - // - case 388: { - action.consumeDirectDeclaratorArrayDeclarator(false); - break; - } - - // - // Rule 389: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier - // - case 389: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 390: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier - // - case 390: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 391: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 391: { - action.consumeDirectDeclaratorFunctionDeclarator(true); - break; - } - - // - // Rule 392: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 392: { - action.consumeDirectDeclaratorFunctionDeclarator(false); - break; - } - - // - // Rule 393: parameter_declaration_clause ::= parameter_declaration_list_opt ... - // - case 393: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 394: parameter_declaration_clause ::= parameter_declaration_list_opt - // - case 394: { - action.consumeEmpty(); - break; - } - - // - // Rule 395: parameter_declaration_clause ::= parameter_declaration_list , ... - // - case 395: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 401: abstract_declarator_opt ::= $Empty - // - case 401: { - action.consumeEmpty(); - break; - } - - // - // Rule 402: parameter_declaration ::= declaration_specifiers parameter_init_declarator - // - case 402: { - action.consumeParameterDeclaration(); - break; - } - - // - // Rule 403: parameter_declaration ::= declaration_specifiers - // - case 403: { - action.consumeParameterDeclarationWithoutDeclarator(); - break; - } - - // - // Rule 405: parameter_init_declarator ::= declarator = parameter_initializer - // - case 405: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 407: parameter_init_declarator ::= abstract_declarator = parameter_initializer - // - case 407: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 408: parameter_init_declarator ::= = parameter_initializer - // - case 408: { - action.consumeDeclaratorWithInitializer(false); - break; - } - - // - // Rule 409: parameter_initializer ::= assignment_expression - // - case 409: { - action.consumeInitializer(); - break; - } - - // - // Rule 410: function_definition ::= declaration_specifiers_opt function_declarator ctor_initializer_list_opt function_body - // - case 410: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 411: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body handler_seq - // - case 411: { - action.consumeFunctionDefinition(true); - break; - } - - // - // Rule 414: initializer ::= ( expression_list ) - // - case 414: { - action.consumeInitializerConstructor(); - break; - } - - // - // Rule 415: initializer_clause ::= assignment_expression - // - case 415: { - action.consumeInitializer(); - break; - } - - // - // Rule 416: initializer_clause ::= initializer_list - // - case 416: { - action.consumeInitializer(); - break; - } - - // - // Rule 417: initializer_list ::= start_initializer_list { initializer_seq , } end_initializer_list - // - case 417: { - action.consumeInitializerList(); - break; - } - - // - // Rule 418: initializer_list ::= start_initializer_list { initializer_seq } end_initializer_list - // - case 418: { - action.consumeInitializerList(); - break; - } - - // - // Rule 419: initializer_list ::= { } - // - case 419: { - action.consumeInitializerList(); - break; - } - - // - // Rule 420: start_initializer_list ::= $Empty - // - case 420: { - action.initializerListStart(); - break; - } - - // - // Rule 421: end_initializer_list ::= $Empty - // - case 421: { - action.initializerListEnd(); - break; - } - - // - // Rule 426: class_specifier ::= class_head { member_declaration_list_opt } - // - case 426: { - action.consumeClassSpecifier(); - break; - } - - // - // Rule 427: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook base_clause_opt - // - case 427: { - action.consumeClassHead(false); - break; - } - - // - // Rule 428: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook base_clause_opt - // - case 428: { - action.consumeClassHead(false); - break; - } - - // - // Rule 429: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook base_clause_opt - // - case 429: { - action.consumeClassHead(true); - break; - } - - // - // Rule 430: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook base_clause_opt - // - case 430: { - action.consumeClassHead(true); - break; - } - - // - // Rule 434: identifier_name_opt ::= $Empty - // - case 434: { - action.consumeEmpty(); - break; - } - - // - // Rule 438: visibility_label ::= access_specifier_keyword : - // - case 438: { - action.consumeVisibilityLabel(); - break; - } - - // - // Rule 439: member_declaration ::= declaration_specifiers_opt member_declarator_list ; - // - case 439: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 440: member_declaration ::= declaration_specifiers_opt ; - // - case 440: { - action.consumeDeclarationSimple(false); - break; - } - - // - // Rule 443: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; - // - case 443: { - action.consumeMemberDeclarationQualifiedId(); - break; - } - - // - // Rule 449: member_declaration ::= ERROR_TOKEN - // - case 449: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 458: member_declarator ::= declarator constant_initializer - // - case 458: { - action.consumeMemberDeclaratorWithInitializer(); - break; - } - - // - // Rule 459: member_declarator ::= bit_field_declarator : constant_expression - // - case 459: { - action.consumeBitField(true); - break; - } - - // - // Rule 460: member_declarator ::= : constant_expression - // - case 460: { - action.consumeBitField(false); - break; - } - - // - // Rule 461: bit_field_declarator ::= identifier_name - // - case 461: { - action.consumeDirectDeclaratorIdentifier(); - break; - } - - // - // Rule 462: constant_initializer ::= = constant_expression - // - case 462: { - action.consumeInitializer(); - break; - } - - // - // Rule 468: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name - // - case 468: { - action.consumeBaseSpecifier(false, false); - break; - } - - // - // Rule 469: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name - // - case 469: { - action.consumeBaseSpecifier(true, true); - break; - } - - // - // Rule 470: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name - // - case 470: { - action.consumeBaseSpecifier(true, true); - break; - } - - // - // Rule 471: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name - // - case 471: { - action.consumeBaseSpecifier(true, false); - break; - } - - // - // Rule 472: access_specifier_keyword ::= private - // - case 472: { - action.consumeToken(); - break; - } - - // - // Rule 473: access_specifier_keyword ::= protected - // - case 473: { - action.consumeToken(); - break; - } - - // - // Rule 474: access_specifier_keyword ::= public - // - case 474: { - action.consumeToken(); - break; - } - - // - // Rule 476: access_specifier_keyword_opt ::= $Empty - // - case 476: { - action.consumeEmpty(); - break; - } - - // - // Rule 478: conversion_function_id_name ::= conversion_function_id < template_argument_list_opt > - // - case 478: { - action.consumeTemplateId(); - break; - } - - // - // Rule 479: conversion_function_id ::= operator conversion_type_id - // - case 479: { - action.consumeConversionName(); - break; - } - - // - // Rule 480: conversion_type_id ::= type_specifier_seq conversion_declarator - // - case 480: { - action.consumeTypeId(true); - break; - } - - // - // Rule 481: conversion_type_id ::= type_specifier_seq - // - case 481: { - action.consumeTypeId(false); - break; - } - - // - // Rule 482: conversion_declarator ::= ptr_operator_seq - // - case 482: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 488: mem_initializer ::= mem_initializer_name ( expression_list_opt ) - // - case 488: { - action.consumeConstructorChainInitializer(); - break; - } - - // - // Rule 489: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name - // - case 489: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 492: operator_function_id_name ::= operator_id_name < template_argument_list_opt > - // - case 492: { - action.consumeTemplateId(); - break; - } - - // - // Rule 493: operator_id_name ::= operator overloadable_operator - // - case 493: { - action.consumeOperatorName(); - break; - } - - // - // Rule 536: template_declaration ::= export_opt template < template_parameter_list > declaration - // - case 536: { - action.consumeTemplateDeclaration(); - break; - } - - // - // Rule 537: export_opt ::= export - // - case 537: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 538: export_opt ::= $Empty - // - case 538: { - action.consumeEmpty(); - break; - } - - // - // Rule 542: template_parameter ::= parameter_declaration - // - case 542: { - action.consumeTemplateParamterDeclaration(); - break; - } - - // - // Rule 543: type_parameter ::= class identifier_name_opt - // - case 543: { - action.consumeSimpleTypeTemplateParameter(false); - break; - } - - // - // Rule 544: type_parameter ::= class identifier_name_opt = type_id - // - case 544: { - action.consumeSimpleTypeTemplateParameter(true); - break; - } - - // - // Rule 545: type_parameter ::= typename identifier_name_opt - // - case 545: { - action.consumeSimpleTypeTemplateParameter(false); - break; - } - - // - // Rule 546: type_parameter ::= typename identifier_name_opt = type_id - // - case 546: { - action.consumeSimpleTypeTemplateParameter(true); - break; - } - - // - // Rule 547: type_parameter ::= template < template_parameter_list > class identifier_name_opt - // - case 547: { - action.consumeTemplatedTypeTemplateParameter(false); - break; - } - - // - // Rule 548: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression - // - case 548: { - action.consumeTemplatedTypeTemplateParameter(true); - break; - } - - // - // Rule 549: template_id_name ::= identifier_name < template_argument_list_opt > - // - case 549: { - action.consumeTemplateId(); - break; - } - - // - // Rule 556: nested_name_specifier_inTemplate ::= class_or_namespace_name_inTemplate :: nested_name_specifier_with_template_inTemplate - // - case 556: { - action.consumeNestedNameSpecifier(true); - break; - } - - // - // Rule 557: nested_name_specifier_inTemplate ::= class_or_namespace_name_inTemplate :: - // - case 557: { - action.consumeNestedNameSpecifier(false); - break; - } - - // - // Rule 558: nested_name_specifier_with_template_inTemplate ::= class_or_namespace_name_with_template_inTemplate :: nested_name_specifier_with_template_inTemplate - // - case 558: { - action.consumeNestedNameSpecifier(true); - break; - } - - // - // Rule 559: nested_name_specifier_with_template_inTemplate ::= class_or_namespace_name_with_template_inTemplate :: - // - case 559: { - action.consumeNestedNameSpecifier(false); - break; - } - - // - // Rule 560: class_or_namespace_name_with_template_inTemplate ::= template_opt class_or_namespace_name_inTemplate - // - case 560: { - action.consumeNameWithTemplateKeyword(); - break; - } - - // - // Rule 562: nested_name_specifier_opt_inTemplate ::= $Empty - // - case 562: { - action.consumeNestedNameSpecifierEmpty(); - break; - } - - // - // Rule 565: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier identifier_name - // - case 565: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 566: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier template_opt template_id_name - // - case 566: { - action.consumeQualifiedId(true); - break; - } - - // - // Rule 571: declaration_specifiers_inTemplate ::= simple_declaration_specifiers - // - case 571: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 572: declaration_specifiers_inTemplate ::= class_declaration_specifiers - // - case 572: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 573: declaration_specifiers_inTemplate ::= elaborated_declaration_specifiers - // - case 573: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 574: declaration_specifiers_inTemplate ::= enum_declaration_specifiers - // - case 574: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 575: declaration_specifiers_inTemplate ::= type_name_declaration_specifiers_inTemplate - // - case 575: { - action.consumeDeclarationSpecifiersTypeName(); - break; - } - - // - // Rule 577: type_id_inTemplate ::= type_specifier_seq_inTemplate - // - case 577: { - action.consumeTypeId(false); - break; - } - - // - // Rule 578: type_id_inTemplate ::= type_specifier_seq_inTemplate abstract_declarator - // - case 578: { - action.consumeTypeId(true); - break; - } - - // - // Rule 579: template_argument ::= assignment_expression_inTemplate - // - case 579: { - action.consumeTemplateArgumentExpression(); - break; - } - - // - // Rule 580: template_argument ::= type_id_inTemplate - // - case 580: { - action.consumeTemplateArgumentTypeId(); - break; - } - - // - // Rule 581: explicit_instantiation ::= template declaration - // - case 581: { - action.consumeTemplateExplicitInstantiation(); - break; - } - - // - // Rule 582: explicit_specialization ::= template < > declaration - // - case 582: { - action.consumeTemplateExplicitSpecialization(); - break; - } - - // - // Rule 583: try_block ::= try compound_statement handler_seq - // - case 583: { - action.consumeStatementTryBlock(true); - break; - } - - // - // Rule 584: try_block ::= try compound_statement - // - case 584: { - action.consumeStatementTryBlock(false); - break; - } - - // - // Rule 587: handler ::= catch ( exception_declaration ) compound_statement - // - case 587: { - action.consumeStatementCatchHandler(false); - break; - } - - // - // Rule 588: handler ::= catch ( ... ) compound_statement - // - case 588: { - action.consumeStatementCatchHandler(true); - break; - } - - // - // Rule 589: exception_declaration ::= type_specifier_seq declarator - // - case 589: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 590: exception_declaration ::= type_specifier_seq abstract_declarator - // - case 590: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 591: exception_declaration ::= type_specifier_seq - // - case 591: { - action.consumeDeclarationSimple(false); - break; - } - - // - // Rule 593: exception_specification ::= throw ( ) - // - case 593: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 599: type_parameter_start ::= ERROR_TOKEN - // - case 599: { - action.consumeEmpty(); - break; - } - - default: - break; - } - return; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java deleted file mode 100644 index 3525b870c55..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java +++ /dev/null @@ -1,1558 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -public class CPPTemplateTypeParameterParserprs - implements lpg.lpgjavaruntime.ParseTable, CPPTemplateTypeParameterParsersym { - - 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 }; - } - - 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, 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, 5, 6, 4, 1, 3, 1, 0, 1, 1, 2, 1, 1, 3, 1, 3, 1, 1, 1, 1, 3, 9, 2, 2, 3, 2, 5, 3, 7, 0, 1, 2, 2, 1, 0, - 1, 1, 1, 3, 1, 2, 1, 1, 2, 3, 1, 1, 1, 3, 2, 1, 2, 2, 9, 8, 2, 1, 3, 1, 3, 1, 0, 1, 0, 2, 1, 1, 3, 1, 3, - 2, 1, 5, 8, 1, 2, 3, 1, 1, 7, 6, 3, 0, 0, 1, 3, 1, 1, 5, 6, 6, 7, 7, 0, 0, 1, 0, 1, 1, 1, 2, 4, 2, 2, 1, - 5, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, 1, 3, 1, 1, 2, 3, 2, 1, 2, 2, 1, 0, 1, 3, 3, 5, 5, 4, 1, 1, 1, 1, 0, 1, - 5, 2, 2, 1, 2, 2, 1, 0, 1, 3, 4, 3, 1, 1, 5, 2, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 7, 1, 0, 1, 3, 1, 1, 2, 4, 2, 4, 7, - 9, 5, 1, 3, 1, 0, 1, 1, 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, -126, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -39, -3, 0, -7, 0, 0, 0, 0, 0, 0, -398, 0, -215, 0, 0, -273, -8, 0, - -15, 0, -519, 0, 0, 0, 0, -12, -22, -474, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, 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, -448, 0, 0, -368, 0, 0, - -37, 0, 0, 0, 0, 0, 0, 0, -109, 0, 0, -58, 0, 0, 0, 0, -461, 0, 0, 0, 0, 0, -532, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, -36, 0, -19, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0, -170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -128, 0, 0, 0, 0, -32, 0, - 0, 0, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20, 0, 0, 0, 0, 0, 0, - -412, 0, -171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -182, 0, - 0, -132, 0, 0, 0, 0, -337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -83, 0, -24, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -25, -187, -440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, -107, 0, 0, 0, - -175, 0, 0, 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, -49, 0, - 0, -85, 0, 0, 0, 0, 0, 0, 0, -270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -191, 0, 0, 0, 0, 0, 0, - 0, 0, -546, 0, 0, -335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -196, 0, 0, 0, 0, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -597, -45, 0, 0, 0, 0, 0, -28, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -217, 0, 0, 0, 0, -30, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -167, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -91, -44, 0, 0, 0, 0, 0, 0, 0, 0, -55, 0, - -50, 0, 0, 0, 0, 0, 0, -576, 0, 0, 0, 0, -266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -86, 0, 0, -92, 0, 0, 0, 0, 0, 0, -51, 0, -173, 0, 0, 0, -291, 0, 0, 0, -598, 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, -10, 0, 0, -53, 0, 0, 0, 0, 0, 0, -268, 0, - 0, 0, 0, 0, -211, 0, 0, 0, 0, 0, -515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -108, 0, 0, 0, 0, -433, 0, 0, -186, 0, 0, 0, 0, 0, 0, 0, - -18, 0, 0, 0, 0, -54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -421, -174, 0, - -498, 0, -89, 0, 0, 0, 0, 0, 0, -466, 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, -35, -311, 0, 0, 0, 0, 0, 0, 0, 0, -90, -298, -96, 0, 0, 0, 0, 0, - 0, 0, 0, -81, 0, 0, 0, 0, -99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -34, 0, - 0, 0, 0, 0, 0, 0, 0, -56, 0, 0, 0, 0, -195, 0, 0, 0, 0, 0, 0, 0, 0, 0, -82, 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, -106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -68, 0, 0, 0, -205, 0, 0, 0, 0, -129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -408, 0, -213, 0, 0, 0, 0, 0, 0, 0, 0, -69, 0, 0, -284, 0, 0, 0, 0, 0, -21, 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, -38, -194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -443, 0, - 0, -260, 0, 0, 0, -79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -177, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -110, 0, -183, 0, 0, 0, 0, 0, 0, -465, 0, -221, 0, 0, -489, 0, 0, 0, 0, -156, 0, 0, 0, 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, -184, 0, 0, 0, 0, 0, 0, 0, 0, -70, 0, 0, - -507, 0, 0, 0, 0, -157, 0, 0, 0, 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, -464, 0, -338, 0, 0, 0, 0, 0, 0, 0, 0, 0, -509, 0, 0, 0, 0, -158, 0, 0, 0, 0, -410, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -192, 0, 0, 0, 0, 0, 0, 0, 0, 0, -539, - 0, 0, 0, 0, -159, 0, 0, 0, 0, -457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -261, 0, 0, 0, 0, 0, 0, 0, 0, 0, -540, 0, 0, 0, 0, -160, 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, 0, -492, 0, -72, 0, -473, 0, 0, 0, 0, 0, 0, 0, 0, 0, -354, 0, - 0, 0, 0, -161, 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, -73, - 0, -74, 0, -265, 0, 0, 0, 0, 0, 0, 0, 0, 0, -366, 0, 0, 0, 0, -162, 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, -278, 0, 0, -75, 0, 0, 0, 0, 0, 0, -76, 0, 0, 0, 0, -371, - 0, 0, 0, 0, -163, 0, 0, 0, 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -279, - -78, 0, -80, 0, 0, 0, 0, 0, 0, -84, 0, 0, 0, 0, -372, 0, 0, 0, 0, -164, 0, 0, 0, 0, -563, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -281, -87, 0, -88, 0, 0, 0, 0, 0, 0, -94, 0, -548, 0, 0, - -419, 0, 0, 0, 0, -165, 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, - -297, -95, 0, -98, 0, 0, 0, 0, 0, 0, -105, 0, 0, 0, 0, -468, 0, 0, 0, 0, -292, 0, 0, 0, 0, -113, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -352, -116, 0, -131, 0, -303, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -97, 0, 0, 0, 0, -302, 0, 0, 0, 0, -356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -203, 0, -188, 0, 0, 0, 0, -276, 0, -277, 0, 0, -112, 0, 0, 0, 0, -322, 0, 0, 0, 0, - -179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, -189, -516, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -29, 0, -305, 0, -263, 0, -442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -304, -514, 0, 0, 0, - 0, 0, -199, 0, 0, 0, 0, 0, -200, 0, 0, 0, -455, 0, 0, 0, 0, 0, 0, 0, -447, 0, 0, 0, 0, 0, -480, 0, -201, - 0, 0, 0, 0, 0, -324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -467, - 0, 0, -391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11, 0, -345, 0, -587, 0, 0, -202, 0, 0, -207, 0, - -257, -208, 0, 0, 0, 0, 0, 0, 0, 0, -325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -209, 0, 0, -348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -40, 0, -506, 0, 0, -210, - 0, 0, 0, 0, -341, 0, 0, 0, -537, 0, 0, 0, 0, 0, -326, 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, -100, 0, 0, -222, 0, 0, -223, 0, 0, 0, 0, 0, 0, 0, -353, 0, 0, -224, 0, 0, - 0, 0, 0, 0, 0, -589, 0, 0, 0, 0, 0, -536, 0, 0, 0, 0, 0, 0, 0, -327, 0, 0, 0, 0, -225, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -490, 0, 0, -226, -569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -485, 0, -42, 0, 0, -365, 0, 0, 0, 0, -346, 0, -227, -602, -409, 0, -406, 0, 0, 0, 0, 0, -328, 0, 0, 0, - 0, -400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -176, -228, 0, -101, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -229, -481, 0, 0, 0, 0, 0, 0, -454, 0, 0, 0, 0, 0, 0, 0, -230, -407, 0, -231, 0, 0, 0, 0, - 0, 0, -329, 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, -124, 0, - -232, -133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -233, 0, -280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -339, - -520, 0, 0, 0, 0, 0, -330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -234, 0, 0, -235, 0, 0, 0, 0, 0, -393, 0, -236, 0, - -373, 0, -374, -575, -237, 0, 0, 0, 0, 0, -331, 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, -294, 0, 0, -445, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -301, 0, -118, 0, -239, 0, - -240, 0, -430, 0, 0, 0, -350, 0, 0, -389, 0, 0, -243, 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, -247, -125, 0, 0, 0, 0, 0, 0, -351, 0, 0, -248, -47, 0, - -249, 0, 0, -119, 0, -306, 0, -340, 0, -250, 0, -434, 0, 0, 0, -369, 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, 0, -336, 0, 0, 0, 0, 0, -388, - -390, 0, 0, -392, 0, 0, 0, -172, 0, 0, 0, 0, 0, -477, 0, 0, 0, 0, 0, 0, 0, -487, 0, 0, -479, 0, 0, 0, 0, - 0, 0, -592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -488, 0, 0, -251, 0, 0, -178, 0, -401, 0, 0, 0, 0, -545, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -252, -590, 0, -253, 0, 0, 0, 0, 0, 0, -197, 0, 0, -411, 0, 0, - 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, - 0, 0, -397, 0, 0, -420, -428, 0, -429, -245, 0, 0, -501, 0, 0, -254, 0, 0, -497, -255, -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, -437, -282, 0, -256, 0, 0, 0, 0, 0, 0, - 0, 0, -258, 0, 0, -451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -259, -264, -269, 0, -496, 0, 0, 0, 0, 0, 0, -504, 0, 0, -271, -272, 0, -286, 0, 0, 0, 0, -355, 0, -287, - -288, -198, -204, 0, -463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -289, -312, 0, -517, 0, 0, 0, 0, -343, 0, -344, 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, 0, 0, 0, 0, 0, -349, 0, -357, 0, -544, 0, 0, 0, 0, 0, 0, -562, 0, 0, -307, - -564, 0, -572, -579, -358, 0, -363, 0, 0, -308, -525, -364, 0, 0, -534, -104, 0, 0, 0, 0, -334, 0, 0, 0, - 0, -216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -370, -377, 0, -378, - 0, -379, -380, 0, 0, 0, 0, -309, -381, -382, 0, -383, 0, 0, 0, 0, -384, -535, 0, -385, 0, 0, 0, 0, 0, 0, - 0, 0, -321, 0, 0, 0, 0, -220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -262, 0, - -405, 0, -386, 0, 0, -387, 0, -402, -404, -422, -426, -427, -438, -441, -453, -460, 0, -547, 0, 0, 0, 0, - -469, -475, 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, - 0, -559, 0, -560, 0, -476, 0, 0, 0, -319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -478, -482, -484, -499, 0, -522, 0, -566, 0, -524, -526, 0, 0, -527, -528, -529, -531, - -565, 0, -583, 0, -549, -550, -552, -557, -561, 0, -241, 0, -153, 0, 0, 0, 0, 0, 0, 0, 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, -320, 0, 0, 0, 0, -299, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -573, -581, -593, -603, 0, 0, 0, 0, -595, 0, -601, 0, - 0, 0, 0, 0, 0, 0, -367, 0, -149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -413, 0, -316, 0, 0, 0, 0, -414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -415, -416, 0, -151, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13, 0, 0, 0, 0, 0, 0, 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, -33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -533, -431, -458, 0, 0, 0, 0, 0, 0, 0, -459, 0, 0, 0, 0, - -491, -135, 0, 0, -500, -512, 0, 0, 0, -111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -538, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, -145, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -315, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -347, 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, 0, 0, 0, 0, 0, - -543, -166, -31, 0, 0, 0, 0, -14, 0, 0, 0, 0, 0, 0, -594, 0, 0, 0, 0, 0, 0, 0, -122, 0, 0, 0, -568, 0, - 0, 0, 0, 0, 0, 0, 0, -556, 0, 0, 0, 0, 0, -570, 0, -574, 0, 0, 0, -333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -147, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -584, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -449, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -505, 0, 0, 0, -123, 0, 0, 0, -359, 0, -360, 0, 0, 0, -48, 0, 0, 0, 0, 0, -285, 0, 0, 0, -578, -596, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -600, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -521, 0, 0, -214, 0, 0, 0, -361, 0, 0, 0, 0, 0, -134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -591, 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, -424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -138, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -530, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -9, 0, -168, -444, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -551, 0, 0, 0, 0, 0, - 0, -423, 0, 0, 0, 0, 0, -169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -181, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -553, 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, -190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -193, 0, 0, 0, 0, 0, -417, 0, 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, -580, 0, 0, 0, 0, 0, 0, 0, -418, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -582, 0, 0, 0, 0, 0, 0, 0, -462, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -218, 0, 0, 0, 0, 0, -508, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -599, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -456, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -140, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, -244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -61, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, -66, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -137, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -59, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -436, -483, 0, 0, 0, 0, 0, -300, 0, 0, 0, 0, 0, -472, 0, 0, 0, - 0, 0, 0, 0, 0, -486, 0, 0, 0, -513, 0, 0, 0, 0, 0, 0, 0, 0, -293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -502, 0, 0, 0, 0, 0, -394, 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, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -471, -510, 0, 0, 0, 0, - 0, 0, -511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -185, 0, 0, 0, 0, 0, - 0, 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, -102, 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, -275, 0, 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, -571, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, -120, 0, 0, 0, 0, 0, 0, 0, 0, 0, -554, 0, 0, 0, 0, 0, 0, - -555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -121, 0, 0, 0, 0, 0, 0, -558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -296, 0, 0, 0, 0, 0, 0, -541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[index]; - } - - public interface BaseAction { - public final static char baseAction[] = { 191, 5, 154, 94, 94, 30, 30, 81, 81, 39, 39, 42, 42, 218, 1, 1, 16, - 16, 16, 16, 16, 16, 16, 17, 17, 17, 15, 11, 11, 6, 6, 6, 6, 6, 6, 2, 75, 75, 4, 4, 12, 12, 44, 44, 155, - 155, 156, 67, 67, 43, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 157, 157, 157, 132, 132, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 192, 192, 193, 193, - 194, 160, 160, 161, 161, 158, 158, 162, 159, 159, 21, 21, 22, 22, 23, 23, 23, 24, 24, 24, 24, 25, 25, - 25, 26, 26, 26, 31, 31, 31, 31, 31, 33, 33, 33, 34, 34, 35, 35, 36, 36, 38, 38, 40, 40, 41, 41, 45, 45, - 45, 45, 45, 47, 47, 47, 53, 53, 55, 55, 61, 61, 62, 62, 63, 63, 64, 64, 65, 65, 65, 65, 65, 65, 65, 65, - 65, 65, 65, 65, 65, 29, 29, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 37, 28, 163, 163, 105, - 105, 195, 195, 104, 219, 219, 82, 82, 82, 82, 82, 82, 82, 82, 82, 83, 83, 83, 79, 79, 66, 66, 196, 196, - 84, 84, 84, 116, 116, 197, 197, 85, 85, 85, 85, 198, 198, 86, 86, 86, 86, 86, 87, 87, 95, 95, 95, 95, - 95, 95, 95, 95, 56, 56, 56, 56, 56, 133, 133, 131, 131, 57, 199, 27, 27, 27, 27, 27, 50, 50, 69, 69, 69, - 69, 69, 138, 138, 134, 134, 134, 134, 134, 135, 135, 135, 136, 136, 136, 137, 137, 137, 165, 165, 165, - 70, 70, 70, 70, 70, 71, 71, 71, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 106, 139, 139, 139, 139, - 139, 139, 111, 111, 111, 166, 167, 167, 112, 112, 200, 169, 169, 168, 168, 140, 140, 117, 92, 92, 141, - 59, 49, 170, 170, 60, 58, 97, 97, 171, 171, 164, 164, 142, 143, 143, 144, 89, 89, 172, 172, 77, 77, 77, - 73, 73, 72, 78, 78, 80, 80, 68, 68, 68, 54, 98, 98, 108, 107, 107, 51, 51, 74, 74, 76, 76, 52, 109, 109, - 109, 99, 99, 99, 100, 100, 101, 101, 101, 102, 102, 118, 118, 118, 120, 120, 119, 119, 220, 220, 103, - 103, 202, 202, 202, 202, 202, 146, 48, 48, 174, 201, 201, 147, 147, 148, 148, 148, 149, 176, 203, 203, - 32, 32, 110, 114, 114, 114, 114, 205, 122, 121, 121, 113, 113, 113, 177, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 207, 207, 204, 204, 206, 206, 179, 180, 180, 180, 180, 181, 208, 124, 123, 123, - 209, 209, 182, 182, 182, 182, 115, 115, 115, 210, 210, 8, 8, 9, 211, 211, 212, 183, 173, 173, 184, 184, - 185, 186, 186, 7, 7, 10, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 90, 93, 93, 187, 187, 151, 151, 125, 125, 125, 125, 125, 125, 3, 152, 152, 150, - 150, 188, 221, 222, 222, 223, 223, 224, 225, 225, 189, 190, 190, 190, 190, 214, 214, 214, 127, 127, 127, - 127, 127, 128, 129, 129, 126, 126, 96, 91, 88, 88, 175, 175, 130, 130, 215, 215, 215, 153, 153, 145, - 145, 216, 216, 191, 191, 1119, 35, 2489, 2466, 4990, 1128, 27, 30, 31, 1052, 1067, 26, 28, 2429, 296, - 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 1346, 1484, 177, 588, 1894, 308, 1988, 1941, - 2010, 1995, 2713, 2033, 69, 2035, 176, 1986, 1394, 1471, 1331, 191, 157, 35, 330, 2939, 266, 1572, 1389, - 1258, 35, 1032, 32, 4804, 3474, 27, 30, 31, 1052, 1067, 375, 28, 3633, 2107, 269, 264, 265, 2856, 35, - 1032, 32, 718, 600, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, - 1751, 1715, 2938, 379, 189, 1642, 35, 490, 2823, 5769, 309, 2505, 2136, 2928, 276, 279, 282, 627, 707, - 2295, 984, 3307, 2289, 35, 1108, 425, 368, 2823, 645, 388, 355, 901, 357, 157, 3529, 350, 891, 390, - 1351, 753, 1546, 2484, 5866, 285, 157, 35, 317, 349, 380, 653, 803, 385, 2730, 1451, 49, 69, 3902, 1628, - 378, 1647, 4724, 1802, 71, 35, 433, 2129, 1476, 2426, 3491, 2616, 2265, 35, 1032, 32, 718, 5370, 27, 30, - 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 2938, 1261, - 2357, 162, 342, 346, 1307, 1533, 35, 1032, 32, 1231, 266, 41, 30, 31, 1052, 1067, 2358, 2927, 2418, - 2950, 157, 2082, 2080, 34, 3176, 2941, 484, 3108, 278, 264, 265, 3567, 1808, 3074, 3111, 3173, 161, 579, - 923, 157, 3349, 2265, 35, 1032, 32, 718, 5370, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, - 1467, 106, 76, 77, 108, 1510, 1751, 1715, 2938, 1304, 155, 162, 3483, 2233, 35, 1032, 32, 5052, 1232, - 27, 30, 31, 1052, 1067, 57, 28, 630, 2927, 2597, 2950, 389, 3483, 483, 3565, 3566, 2941, 2389, 3108, - 1998, 550, 576, 3167, 580, 3074, 3111, 3173, 161, 579, 2711, 228, 1610, 35, 1032, 32, 4230, 654, 27, 30, - 31, 1052, 1067, 375, 28, 2894, 3249, 3177, 71, 35, 433, 2891, 71, 35, 2270, 2225, 2265, 35, 1032, 32, - 718, 5370, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, - 1715, 2938, 1213, 49, 162, 71, 35, 433, 69, 550, 576, 3167, 580, 4726, 2129, 1269, 931, 35, 330, 360, - 2927, 325, 2950, 352, 3347, 357, 3000, 371, 2941, 361, 3108, 362, 2505, 3208, 4486, 3177, 3074, 3111, - 3173, 161, 579, 157, 35, 330, 2475, 35, 1032, 32, 718, 5370, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, - 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 2938, 61, 1985, 162, 2079, 1701, 35, 1032, 32, - 4441, 1752, 27, 30, 31, 1052, 1067, 26, 28, 643, 2927, 548, 2950, 902, 585, 1642, 35, 314, 2941, 3939, - 3108, 2895, 550, 576, 3167, 580, 3074, 3111, 3173, 161, 579, 1701, 35, 1032, 32, 4441, 2897, 27, 30, 31, - 1052, 1067, 59, 28, 2624, 3013, 3217, 2174, 3177, 3279, 35, 1032, 32, 718, 1704, 27, 30, 31, 1052, 1067, - 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 1619, 2956, 2494, 3581, - 1894, 3008, 1988, 1941, 2010, 1995, 61, 2882, 1402, 1657, 4250, 551, 576, 3167, 580, 2613, 35, 1032, 32, - 718, 2566, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, - 1715, 1939, 69, 715, 177, 2389, 1894, 4788, 1988, 1941, 2010, 1995, 2957, 2033, 2389, 2035, 176, 3351, - 157, 35, 3373, 415, 2333, 35, 1032, 32, 718, 2963, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, - 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 69, 598, 177, 3015, 1894, 4235, 1988, 1941, 2010, - 1995, 2636, 2033, 426, 2035, 176, 3351, 1642, 35, 314, 415, 5803, 418, 2543, 35, 1032, 32, 718, 379, 27, - 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 441, - 535, 177, 645, 1894, 2627, 1988, 1941, 2010, 1995, 497, 2033, 61, 2035, 176, 3351, 4866, 2889, 605, 415, - 157, 35, 2232, 2230, 422, 416, 3084, 546, 2924, 35, 1032, 32, 718, 3076, 27, 30, 31, 1052, 1067, 26, 28, - 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 2882, 2389, 177, 1645, 1894, 69, - 1988, 1941, 2010, 1995, 766, 2033, 2889, 2035, 176, 480, 423, 416, 3084, 409, 3279, 35, 1032, 32, 718, - 2104, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, - 1939, 1257, 1642, 35, 567, 1894, 6068, 1988, 1941, 2010, 2839, 69, 1886, 69, 273, 296, 835, 2956, 927, - 413, 416, 3084, 2924, 35, 1032, 32, 718, 1103, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, - 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 496, 1518, 177, 266, 1894, 3377, 1988, 1941, 2010, 1995, - 2147, 2033, 392, 2035, 176, 157, 35, 2080, 311, 409, 594, 274, 264, 265, 408, 2924, 35, 1032, 32, 718, - 2713, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, - 1939, 69, 1618, 177, 2136, 1894, 6147, 1988, 1941, 2010, 1995, 391, 2033, 88, 2035, 176, 102, 3645, 368, - 594, 409, 2924, 35, 1032, 32, 718, 1570, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, - 106, 76, 77, 108, 1510, 1751, 1715, 1939, 4585, 1885, 177, 2389, 1894, 5176, 1988, 1941, 2010, 1995, - 348, 2033, 1531, 2035, 176, 157, 35, 2080, 313, 191, 407, 2683, 35, 1032, 32, 718, 1087, 27, 30, 31, - 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 1895, 2461, - 35, 312, 1894, 1618, 1988, 1941, 2010, 1995, 93, 2033, 2790, 2042, 197, 157, 35, 1108, 425, 2407, 35, - 1032, 32, 718, 405, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, - 1751, 1715, 1939, 3136, 49, 177, 5723, 1894, 266, 1988, 1941, 2010, 1995, 2364, 2033, 46, 2035, 176, - 157, 35, 2080, 3368, 175, 484, 363, 2684, 281, 264, 265, 1788, 35, 1032, 32, 1513, 889, 40, 30, 31, - 1052, 1067, 2924, 35, 1032, 32, 718, 2426, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, - 106, 76, 77, 108, 1510, 1751, 1715, 1939, 70, 61, 177, 155, 1894, 4928, 1988, 1941, 2010, 1995, 1087, - 2033, 2389, 2035, 176, 157, 35, 1108, 425, 188, 2924, 35, 1032, 32, 718, 466, 27, 30, 31, 1052, 1067, - 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 468, 332, 177, 155, 1894, - 3488, 1988, 1941, 2010, 1995, 365, 2033, 1219, 2035, 176, 157, 35, 1108, 425, 187, 2924, 35, 1032, 32, - 718, 2418, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, - 1715, 1939, 489, 1233, 177, 2389, 1894, 155, 1988, 1941, 2010, 1995, 1943, 2033, 51, 2035, 176, 157, 35, - 1108, 425, 186, 2924, 35, 1032, 32, 718, 2566, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, - 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 471, 71, 177, 458, 1894, 69, 1988, 1941, 2010, 1995, - 3206, 2033, 3001, 2035, 176, 157, 35, 1108, 425, 185, 2924, 35, 1032, 32, 718, 2566, 27, 30, 31, 1052, - 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 470, 2820, 177, 97, - 1894, 69, 1988, 1941, 2010, 1995, 871, 2033, 321, 2035, 176, 157, 35, 1108, 425, 184, 2924, 35, 1032, - 32, 718, 2566, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, - 1751, 1715, 1939, 469, 2389, 177, 1398, 1894, 2573, 1988, 1941, 2010, 1995, 6108, 2033, 322, 2035, 176, - 157, 35, 2080, 316, 183, 2924, 35, 1032, 32, 718, 2566, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, - 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 3252, 55, 177, 1349, 1894, 69, 1988, 1941, 2010, - 1995, 2761, 2033, 332, 2035, 176, 2102, 35, 2080, 311, 182, 2924, 35, 1032, 32, 718, 2566, 27, 30, 31, - 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 69, 98, 177, - 237, 1894, 2173, 1988, 1941, 2010, 1995, 56, 2033, 331, 2035, 176, 157, 3484, 2080, 74, 181, 2924, 35, - 1032, 32, 718, 147, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, - 1751, 1715, 1939, 69, 227, 177, 1630, 1894, 2545, 1988, 1941, 2010, 1995, 314, 2033, 340, 2035, 176, - 2102, 35, 2080, 3485, 180, 2924, 35, 1032, 32, 718, 2566, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, - 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 69, 3077, 177, 1336, 1894, 3270, 1988, 1941, - 2010, 1995, 2004, 2033, 3191, 2035, 176, 157, 35, 2080, 3489, 179, 2924, 35, 1032, 32, 718, 2567, 27, - 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 69, - 2328, 177, 405, 1894, 704, 1988, 1941, 2010, 1995, 1489, 2033, 419, 2035, 176, 157, 35, 2080, 566, 178, - 2924, 35, 1032, 32, 718, 1338, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, - 108, 1510, 1751, 1715, 1939, 2540, 1910, 177, 1456, 1894, 69, 1988, 1941, 2010, 1995, 2824, 2033, 1045, - 2035, 176, 157, 35, 1108, 425, 192, 2924, 35, 1032, 32, 718, 1724, 27, 30, 31, 1052, 1067, 26, 28, 1409, - 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 308, 586, 177, 2529, 1894, 491, 1988, - 1941, 2010, 1995, 228, 2033, 3133, 2035, 176, 157, 35, 1108, 425, 140, 3045, 35, 1032, 32, 718, 1374, - 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 2938, - 308, 762, 162, 2600, 1243, 35, 1032, 32, 4230, 3474, 27, 30, 31, 1052, 1067, 375, 28, 2738, 2927, 2737, - 2950, 2361, 4235, 931, 3533, 330, 2941, 376, 3108, 427, 464, 1607, 273, 296, 3074, 3111, 3173, 161, 173, - 3045, 35, 1032, 32, 718, 379, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, - 108, 1510, 1751, 1715, 2938, 69, 69, 162, 1107, 266, 2826, 1471, 1635, 310, 3249, 355, 901, 357, 2326, - 2032, 350, 891, 1985, 2927, 2888, 2950, 2935, 274, 264, 265, 2505, 2941, 349, 3108, 4228, 1618, 2505, - 1775, 2401, 3074, 3111, 3173, 161, 172, 3045, 35, 1032, 32, 718, 1169, 27, 30, 31, 1052, 1067, 26, 28, - 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 2938, 2889, 2677, 162, 1788, 35, 1032, - 32, 2677, 1704, 2707, 30, 31, 1052, 1067, 343, 346, 1307, 69, 2927, 61, 2950, 3250, 4235, 5114, 2437, - 412, 2941, 934, 3108, 1800, 2394, 412, 2494, 3377, 3074, 3111, 3173, 161, 171, 3045, 35, 1032, 32, 718, - 379, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, - 2938, 475, 3745, 162, 645, 1243, 35, 1032, 32, 4230, 3474, 27, 30, 31, 1052, 1067, 375, 28, 2136, 2927, - 1984, 2950, 1968, 35, 490, 3684, 5769, 2941, 544, 3108, 2505, 479, 369, 493, 2505, 3074, 3111, 3173, - 161, 170, 3045, 35, 1032, 32, 718, 1894, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, - 106, 76, 77, 108, 1510, 1751, 1715, 2938, 1894, 410, 162, 2399, 266, 3004, 2433, 3259, 534, 2677, 355, - 901, 357, 359, 2540, 350, 891, 1982, 2927, 586, 2950, 594, 284, 264, 265, 2505, 2941, 2666, 3108, 3071, - 386, 157, 3589, 3358, 3074, 3111, 3173, 161, 169, 3045, 35, 1032, 32, 718, 2071, 27, 30, 31, 1052, 1067, - 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 2938, 2882, 2677, 162, 2274, - 1243, 35, 1032, 32, 4230, 3474, 27, 30, 31, 1052, 1067, 375, 28, 1885, 2927, 2065, 2950, 5176, 2878, 35, - 312, 588, 2941, 2673, 3108, 313, 585, 1724, 637, 2540, 3074, 3111, 3173, 161, 168, 3045, 35, 1032, 32, - 718, 2396, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, - 1715, 2938, 2429, 331, 162, 1894, 266, 428, 464, 487, 3565, 3566, 355, 901, 357, 485, 2601, 350, 891, - 439, 2927, 4421, 2950, 2059, 287, 264, 265, 5790, 2941, 3657, 3108, 587, 2540, 2094, 1342, 358, 3074, - 3111, 3173, 161, 167, 3045, 35, 1032, 32, 718, 2637, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, - 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 2938, 2684, 1894, 162, 1877, 2243, 35, 1032, 32, 5052, - 1561, 27, 30, 31, 1052, 1067, 56, 28, 443, 2927, 667, 2950, 2461, 35, 315, 430, 464, 2941, 89, 3108, - 215, 102, 5700, 1232, 3190, 3074, 3111, 3173, 161, 166, 3045, 35, 1032, 32, 718, 1169, 27, 30, 31, 1052, - 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 2938, 1822, 467, 162, - 1710, 35, 1032, 32, 4441, 417, 27, 30, 31, 1052, 1067, 58, 28, 1913, 2891, 2927, 2952, 2950, 429, 464, - 42, 3248, 2505, 2941, 233, 3108, 1232, 1906, 1232, 3190, 1791, 3074, 3111, 3173, 161, 165, 3045, 35, - 1032, 32, 718, 486, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, - 1751, 1715, 2938, 2597, 3205, 162, 1788, 35, 1032, 32, 364, 371, 3025, 30, 31, 1052, 1067, 2891, 2319, - 2891, 69, 2927, 2432, 2950, 1001, 4235, 2953, 35, 565, 2941, 69, 3108, 60, 1232, 585, 2630, 2440, 3074, - 3111, 3173, 161, 164, 3045, 35, 1032, 32, 718, 379, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, - 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 2938, 1825, 1894, 162, 645, 3164, 371, 3166, 371, 69, - 1618, 2091, 589, 1518, 2693, 1902, 2891, 3377, 69, 2927, 2154, 2950, 1570, 4235, 753, 1618, 1232, 2941, - 2340, 3108, 1518, 585, 24, 2141, 3377, 3074, 3111, 3173, 161, 163, 3105, 35, 1032, 32, 718, 379, 27, 30, - 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 2938, 2136, - 2667, 162, 645, 266, 370, 371, 69, 69, 2420, 2891, 69, 1266, 2952, 368, 1518, 5768, 2136, 2927, 3377, - 2950, 61, 278, 264, 265, 5964, 2941, 2346, 3108, 61, 2402, 4600, 2637, 6048, 3074, 3111, 3173, 161, 160, - 3165, 35, 1032, 32, 718, 4666, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, - 108, 1510, 1751, 1715, 1939, 366, 371, 177, 2136, 1894, 335, 1988, 1941, 2010, 1995, 1561, 2033, 61, - 2035, 176, 925, 6055, 368, 1894, 222, 3279, 35, 1032, 32, 718, 2505, 27, 30, 31, 1052, 1067, 26, 28, - 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 2428, 1849, 319, 2505, 1894, - 1386, 1988, 1941, 2010, 1995, 94, 2033, 1894, 2042, 197, 3279, 35, 1032, 32, 718, 3362, 27, 30, 31, - 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 69, 44, 3248, - 2677, 1894, 69, 1988, 1941, 2010, 1995, 4727, 2033, 69, 2042, 197, 69, 69, 1429, 69, 2327, 723, 1316, - 61, 2399, 2939, 1729, 6189, 587, 2637, 1106, 3279, 35, 1032, 32, 718, 460, 27, 30, 31, 1052, 1067, 26, - 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 69, 1017, 3349, 2508, 1894, - 5781, 1988, 1941, 2010, 1995, 255, 2033, 2539, 2042, 197, 3279, 35, 1032, 32, 718, 329, 27, 30, 31, - 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 388, 835, - 499, 2537, 1894, 69, 1988, 1941, 2010, 1995, 5794, 2033, 69, 2042, 197, 3084, 2740, 2762, 2568, 380, - 653, 803, 385, 1017, 3349, 2606, 2638, 1894, 1894, 578, 3279, 35, 1032, 32, 718, 459, 27, 30, 31, 1052, - 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 68, 53, 2678, 3073, - 1894, 2637, 1988, 1941, 2010, 1995, 2644, 2033, 3134, 2042, 197, 3441, 35, 1032, 32, 718, 462, 27, 30, - 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 324, - 2706, 339, 2607, 1894, 69, 1988, 1941, 2010, 1995, 2057, 2033, 3247, 2042, 197, 2787, 69, 2827, 69, - 3248, 2085, 1126, 2782, 4350, 4572, 2888, 2637, 2881, 2198, 3366, 2637, 157, 35, 1108, 425, 1892, 3387, - 35, 1032, 32, 718, 1894, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, - 1510, 1751, 1715, 2938, 49, 324, 212, 266, 1007, 657, 232, 761, 87, 829, 1365, 2129, 863, 266, 3587, - 3702, 1929, 2446, 2927, 577, 2950, 281, 264, 265, 2246, 2637, 2941, 1532, 3108, 2628, 3366, 284, 264, - 265, 3074, 3479, 3333, 35, 1032, 32, 718, 1894, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, - 1467, 106, 76, 77, 108, 1510, 1751, 1715, 2938, 1424, 231, 1518, 266, 2705, 4235, 3377, 1896, 52, 3043, - 2252, 2886, 3135, 1814, 2605, 2947, 2502, 2978, 2927, 2637, 2950, 570, 264, 265, 2979, 2739, 2941, 3849, - 3108, 3279, 35, 1032, 32, 718, 3436, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, - 76, 77, 108, 1510, 1751, 1715, 1939, 2136, 2637, 338, 2637, 1894, 3194, 1988, 1941, 2822, 3333, 35, - 1032, 32, 718, 368, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, - 1751, 1715, 2938, 2106, 2786, 3009, 3129, 235, 3103, 233, 3101, 5938, 3195, 87, 397, 4235, 3067, 3099, - 3193, 3219, 2637, 2927, 2637, 2950, 3220, 173, 3234, 2746, 3288, 2941, 1894, 3428, 3279, 35, 1032, 32, - 718, 379, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, - 1715, 1939, 334, 2178, 4242, 3365, 1894, 1894, 1988, 2828, 3333, 35, 1032, 32, 718, 1894, 27, 30, 31, - 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 2938, 2333, 3249, - 3342, 2965, 2715, 6984, 6984, 6984, 90, 2637, 6984, 2637, 6984, 6984, 6984, 6984, 6984, 6984, 2927, - 1894, 2950, 3279, 35, 1032, 32, 718, 3433, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, - 106, 76, 77, 108, 1510, 1751, 1715, 1939, 256, 3163, 226, 6984, 1894, 1894, 2748, 3333, 35, 1032, 32, - 718, 1894, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, - 1715, 2938, 6984, 67, 6984, 6984, 6984, 6984, 6984, 6984, 66, 6984, 6984, 6984, 6984, 6984, 6984, 6984, - 6984, 6984, 2927, 6984, 3419, 3279, 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, - 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 1939, 6984, 4445, 1894, 1894, 2811, 3279, 35, - 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, - 1510, 1751, 1715, 1939, 65, 64, 6984, 6984, 2814, 3333, 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, - 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 2938, 1743, 35, 1032, 32, 4230, - 1400, 27, 30, 31, 1052, 1067, 375, 28, 3333, 35, 1032, 32, 718, 3425, 27, 30, 31, 1052, 1067, 26, 28, - 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 2938, 1820, 35, 1032, 32, 4230, 6182, - 27, 30, 31, 1052, 1067, 375, 28, 1360, 35, 1032, 32, 4804, 3426, 27, 30, 31, 1052, 1067, 375, 28, 2671, - 2707, 1894, 6984, 387, 1471, 355, 901, 357, 6984, 1894, 350, 891, 6984, 388, 1894, 69, 6984, 6984, 1894, - 2497, 1471, 6984, 826, 157, 35, 1108, 425, 189, 6984, 6984, 143, 55, 380, 653, 803, 385, 3531, 6984, - 234, 54, 2136, 1894, 755, 189, 101, 355, 901, 357, 3309, 592, 350, 891, 1668, 388, 369, 49, 6984, 6984, - 355, 901, 357, 6984, 2666, 353, 891, 6984, 2129, 1547, 6984, 6984, 6984, 488, 380, 653, 803, 385, 6984, - 3279, 35, 1032, 32, 718, 2531, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, - 108, 1510, 1751, 1715, 2626, 3279, 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, - 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 2664, 6984, 6984, 6984, 6984, 402, 3279, 35, 1032, - 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, - 1751, 1715, 2676, 3279, 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, - 1467, 106, 76, 77, 108, 1510, 1751, 1715, 2692, 3279, 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, - 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, 3414, 3279, 35, 1032, 32, 718, - 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 1715, - 3416, 3279, 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, - 76, 77, 108, 1510, 1751, 1715, 3418, 1221, 35, 3482, 32, 4804, 3474, 27, 30, 31, 1052, 1067, 375, 28, - 3279, 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, - 108, 1510, 1751, 1715, 3916, 6984, 1894, 69, 243, 35, 1108, 425, 1471, 3495, 35, 1108, 425, 4742, 6984, - 2136, 3302, 6984, 6984, 6984, 6984, 1471, 271, 296, 157, 35, 1108, 425, 1894, 368, 6984, 189, 414, 355, - 901, 357, 49, 2671, 350, 891, 2880, 308, 600, 1894, 189, 1894, 6984, 2129, 1377, 69, 1592, 6984, 6984, - 195, 1471, 6984, 49, 6984, 4961, 3902, 266, 6984, 6984, 6984, 3364, 189, 6984, 2129, 2223, 6984, 6984, - 2188, 6984, 5023, 3372, 5085, 213, 189, 269, 264, 265, 3279, 35, 1032, 32, 718, 3476, 27, 30, 31, 1052, - 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 1510, 1751, 2695, 157, 35, 1108, 425, 6984, - 6984, 6984, 6984, 309, 229, 6984, 6984, 276, 279, 282, 627, 707, 2155, 35, 1032, 32, 4230, 3474, 27, 30, - 31, 1052, 1067, 375, 28, 6984, 1894, 49, 454, 456, 3481, 1351, 753, 1546, 2484, 5866, 285, 6984, 2129, - 2948, 1466, 35, 3482, 32, 4230, 3474, 27, 30, 31, 1052, 1067, 375, 28, 6984, 6984, 2641, 2556, 3279, 35, - 1032, 32, 718, 2616, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, - 1510, 1751, 2732, 259, 355, 901, 357, 2250, 600, 350, 891, 69, 1471, 69, 6984, 6984, 1471, 2780, 1471, - 4472, 6984, 349, 6241, 157, 35, 1108, 425, 1894, 1894, 6984, 262, 189, 355, 901, 357, 193, 6984, 350, - 891, 189, 3372, 189, 213, 6247, 230, 2677, 6984, 387, 3708, 1592, 3715, 237, 249, 903, 1894, 49, 6984, - 3109, 3666, 236, 246, 247, 248, 250, 6984, 1, 2129, 1476, 2436, 202, 600, 6984, 69, 4235, 342, 346, - 1307, 1471, 2250, 6984, 6984, 6984, 201, 1471, 5209, 216, 200, 203, 204, 205, 206, 207, 262, 189, 6984, - 379, 3664, 388, 6984, 6984, 189, 6984, 3372, 3567, 213, 69, 193, 2677, 6984, 3787, 1471, 6984, 3275, - 237, 249, 903, 380, 653, 803, 385, 1362, 236, 246, 247, 248, 250, 2531, 6984, 6984, 6984, 6984, 202, - 6984, 189, 6984, 6984, 6984, 6984, 6984, 455, 456, 3481, 3788, 6984, 201, 6984, 214, 217, 200, 203, 204, - 205, 206, 207, 1511, 35, 1032, 32, 4230, 1400, 27, 30, 31, 1052, 1067, 375, 28, 1413, 35, 1032, 32, - 4804, 6984, 27, 30, 31, 1052, 1067, 375, 28, 6984, 6984, 1974, 3450, 6984, 6984, 3377, 6984, 6984, 6984, - 6984, 6984, 6984, 6984, 3279, 35, 1032, 32, 718, 4483, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, - 23, 50, 1467, 106, 76, 77, 108, 1510, 2534, 6984, 6984, 2136, 6984, 6984, 6984, 6984, 355, 901, 357, - 6984, 6984, 350, 891, 6984, 388, 369, 2136, 6984, 6984, 355, 901, 357, 6984, 589, 351, 891, 6984, 388, - 2188, 6984, 4600, 6984, 3377, 380, 653, 803, 385, 6984, 6984, 6984, 6984, 2126, 6984, 590, 6984, 6984, - 382, 653, 803, 385, 3279, 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, - 50, 1467, 106, 76, 77, 108, 1510, 2537, 345, 6984, 6984, 6984, 6984, 600, 6984, 2136, 6984, 6984, 6984, - 2393, 6984, 1388, 2781, 6984, 4235, 6984, 4235, 4235, 6984, 369, 6984, 6984, 6984, 6984, 6984, 262, 189, - 243, 35, 1108, 425, 388, 6984, 6984, 6984, 3372, 3849, 213, 3849, 3849, 2677, 6984, 6984, 6984, 6984, - 96, 237, 249, 903, 6984, 382, 653, 803, 385, 236, 246, 247, 248, 250, 49, 431, 6984, 6984, 6984, 202, - 600, 6984, 69, 6984, 6984, 2129, 2151, 1471, 1388, 6984, 6984, 6984, 201, 4235, 6984, 3588, 200, 203, - 204, 205, 206, 207, 262, 189, 243, 35, 1108, 425, 6984, 2235, 189, 6984, 3372, 6984, 213, 3849, 6984, - 2677, 6984, 1753, 6984, 6984, 6984, 237, 249, 903, 6984, 542, 6984, 396, 542, 236, 246, 247, 248, 250, - 49, 517, 6984, 6984, 6984, 202, 600, 6984, 3591, 2245, 2268, 2129, 2288, 541, 2393, 6984, 541, 6984, - 201, 4235, 6984, 211, 200, 203, 204, 205, 206, 207, 262, 189, 501, 35, 1108, 425, 6984, 2188, 6984, - 6984, 3372, 539, 213, 3849, 539, 2677, 6984, 6984, 6984, 6984, 6984, 237, 249, 903, 6984, 6984, 6984, - 396, 6984, 236, 246, 247, 248, 250, 49, 603, 6984, 6984, 6984, 202, 600, 6984, 3625, 2245, 2268, 2129, - 47, 652, 6984, 6984, 3564, 6984, 201, 6984, 6984, 209, 200, 203, 204, 205, 206, 207, 262, 189, 243, 35, - 1108, 425, 6984, 2750, 2250, 6984, 3372, 6984, 213, 1471, 69, 2677, 6984, 6984, 6984, 1471, 6984, 237, - 249, 903, 6984, 6984, 6984, 542, 6984, 236, 246, 247, 248, 250, 49, 689, 193, 6984, 6984, 202, 600, - 6984, 189, 2250, 6984, 2129, 47, 6984, 1471, 541, 6984, 4446, 201, 6984, 6984, 210, 200, 203, 204, 205, - 206, 207, 262, 189, 2292, 35, 1108, 425, 6984, 740, 6984, 193, 3372, 6984, 213, 540, 6984, 2677, 6984, - 6984, 6984, 6984, 6984, 237, 249, 903, 6984, 6984, 6984, 6984, 6984, 236, 246, 247, 248, 250, 49, 775, - 6984, 6984, 6984, 202, 600, 6984, 6984, 2250, 6984, 2129, 2861, 6984, 1471, 6984, 6984, 3917, 201, 6984, - 6984, 220, 200, 203, 204, 205, 206, 207, 262, 189, 501, 35, 1108, 425, 6984, 2235, 2250, 193, 3372, - 6984, 213, 1471, 6984, 2677, 6984, 6984, 6984, 6984, 6984, 237, 249, 903, 3925, 6984, 6984, 6984, 6984, - 236, 246, 247, 248, 250, 49, 861, 193, 6984, 6984, 202, 600, 6984, 6984, 6984, 6984, 2129, 2876, 6984, - 6984, 6984, 6984, 6984, 201, 6984, 6984, 3658, 200, 203, 204, 205, 206, 207, 262, 189, 501, 35, 1108, - 425, 6984, 5775, 6984, 6984, 3372, 6984, 213, 6984, 6984, 2677, 6984, 6984, 6984, 6984, 6984, 237, 249, - 903, 3930, 6984, 6984, 6984, 6984, 236, 246, 247, 248, 250, 49, 947, 6984, 6984, 6984, 202, 600, 6984, - 6984, 6984, 6984, 2129, 47, 6984, 6984, 6984, 6984, 3957, 201, 6984, 6984, 225, 200, 203, 204, 205, 206, - 207, 262, 189, 243, 35, 1108, 425, 6984, 2864, 6984, 6984, 3372, 6984, 213, 6984, 69, 2677, 6984, 6984, - 6984, 600, 6984, 237, 249, 903, 6984, 6984, 6984, 6984, 6984, 236, 246, 247, 248, 250, 49, 1033, 6984, - 6984, 6984, 202, 600, 379, 189, 6984, 6984, 2129, 47, 6984, 6984, 6984, 6984, 2928, 201, 6984, 6984, - 219, 200, 203, 204, 205, 206, 207, 262, 189, 6984, 6984, 645, 6984, 6984, 1671, 6984, 6984, 3372, 6984, - 213, 6984, 6984, 2677, 6984, 6984, 6984, 6984, 6984, 237, 249, 903, 6984, 6984, 6984, 6984, 2730, 236, - 246, 247, 248, 250, 6984, 6984, 6984, 6984, 6984, 202, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, - 6984, 6984, 6984, 6984, 201, 6984, 6984, 228, 200, 203, 204, 205, 206, 207, 3279, 35, 1032, 32, 718, - 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, 2548, 3279, 35, - 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 108, - 2575, 3279, 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, - 76, 77, 108, 2600, 3593, 35, 554, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 271, 296, - 3279, 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, - 85, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 3279, 2082, 1032, 2176, 718, 266, 27, 30, 31, 1052, - 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 84, 269, 264, 265, 3279, 35, 1032, 32, 718, - 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 83, 6984, 6984, 6984, - 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 276, 279, 282, 627, 707, 6984, - 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, - 6984, 2286, 2946, 3361, 3371, 6159, 3279, 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, - 296, 25, 23, 50, 1467, 106, 76, 77, 82, 3279, 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, - 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 81, 6984, 6984, 6984, 563, 564, 568, 3279, 35, 1032, 32, 718, - 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 80, 3424, 3279, 35, - 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 79, 3279, - 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, 78, - 2984, 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, 76, 77, - 104, 3279, 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, 106, - 76, 77, 110, 3279, 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, 1467, - 106, 76, 77, 109, 3279, 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, 23, 50, - 1467, 106, 76, 77, 107, 3279, 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, 296, 25, - 23, 50, 1467, 106, 76, 77, 105, 3225, 35, 1032, 32, 718, 6984, 27, 30, 31, 1052, 1067, 26, 28, 1409, - 296, 25, 23, 50, 1467, 86, 76, 77, 1576, 243, 35, 1108, 425, 4235, 6984, 2055, 35, 1108, 425, 6984, - 6984, 1843, 6984, 6984, 6984, 6984, 4235, 6984, 6984, 6984, 243, 35, 1108, 425, 1932, 262, 6984, 6984, - 6984, 4235, 6984, 49, 6984, 157, 35, 1108, 425, 308, 262, 6984, 6984, 6984, 2129, 47, 6984, 6984, 239, - 249, 903, 6984, 6984, 262, 49, 6984, 238, 246, 247, 248, 250, 239, 249, 903, 6984, 2129, 47, 49, 1718, - 238, 246, 247, 248, 250, 239, 249, 903, 6984, 2129, 2619, 6984, 6984, 238, 246, 247, 248, 250, 6984, - 6984, 1765, 240, 242, 244, 3263, 6984, 251, 241, 243, 3544, 35, 1108, 425, 4742, 240, 242, 244, 3263, - 6984, 251, 241, 243, 272, 296, 3413, 6984, 6984, 240, 242, 244, 3263, 6984, 251, 241, 243, 6984, 6984, - 6984, 6984, 6984, 6984, 308, 1869, 6984, 6047, 6984, 6984, 6984, 6984, 6984, 72, 6984, 6984, 6984, 6984, - 1916, 6984, 6047, 6984, 6984, 266, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 1963, 6984, 6047, 6984, - 6984, 6984, 6984, 6984, 6984, 6984, 270, 264, 265, 1360, 35, 1032, 32, 4804, 6984, 27, 30, 31, 1052, - 1067, 375, 28, 2066, 35, 1032, 32, 4230, 4187, 27, 30, 31, 1052, 1067, 375, 28, 2144, 35, 1108, 425, - 6984, 6984, 2021, 6984, 309, 6984, 6984, 4235, 277, 280, 283, 627, 707, 6984, 6984, 6984, 6984, 6984, - 1665, 6984, 6984, 6984, 440, 4235, 2136, 6984, 6984, 6984, 49, 262, 6984, 6984, 6984, 6984, 6984, 6984, - 6984, 286, 369, 2129, 47, 6984, 355, 901, 357, 262, 6984, 351, 891, 6984, 239, 249, 903, 6984, 6984, - 352, 3347, 357, 238, 246, 247, 248, 250, 647, 6984, 6984, 239, 249, 903, 6984, 6984, 6984, 6984, 6984, - 238, 246, 247, 248, 250, 1754, 243, 35, 1108, 425, 4235, 6984, 6984, 243, 35, 1108, 425, 6984, 240, 242, - 244, 3263, 6984, 582, 241, 243, 157, 35, 1108, 425, 6984, 6984, 262, 6984, 240, 242, 244, 3263, 49, 581, - 241, 243, 6984, 6984, 6984, 49, 6984, 6984, 6984, 2129, 47, 6984, 6984, 239, 249, 903, 2129, 47, 49, - 6984, 6984, 238, 246, 247, 248, 250, 2110, 6984, 6984, 2129, 2884, 4235, 6984, 1812, 6984, 6984, 6984, - 6984, 6984, 2199, 1859, 2624, 6984, 6984, 4235, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 262, - 6984, 240, 242, 244, 3263, 6984, 252, 241, 243, 6984, 6984, 1179, 262, 6984, 6984, 4333, 4235, 6984, - 6984, 6984, 239, 249, 903, 3642, 35, 554, 6984, 6984, 238, 246, 247, 248, 250, 239, 249, 903, 272, 296, - 262, 6984, 6984, 238, 246, 247, 248, 250, 1378, 6984, 6984, 6984, 3377, 4235, 6984, 2467, 35, 1108, 425, - 6984, 6984, 1210, 444, 5951, 240, 242, 244, 3263, 6984, 341, 241, 243, 6984, 6984, 6984, 3849, 266, 240, - 242, 244, 3263, 1296, 536, 241, 243, 4333, 4235, 49, 6984, 6984, 6984, 6984, 6984, 6984, 270, 264, 265, - 6984, 2129, 47, 6984, 6984, 2136, 445, 446, 447, 3263, 1378, 262, 6984, 6984, 3377, 4235, 2826, 6984, - 6984, 368, 6984, 600, 6984, 6984, 6984, 993, 6984, 6984, 6984, 6984, 69, 3250, 1210, 444, 5951, 600, - 6984, 3849, 277, 280, 283, 627, 707, 379, 189, 6984, 6984, 6984, 6984, 4585, 6984, 6984, 6984, 221, 396, - 6984, 6984, 379, 189, 6984, 69, 6984, 6984, 6984, 2136, 600, 6984, 3274, 2601, 3077, 2245, 2268, 6984, - 6984, 445, 446, 447, 3263, 368, 6984, 6984, 6984, 645, 6984, 6984, 6984, 6984, 379, 189, 6984, 6984, - 6984, 6984, 448, 450, 2670, 6984, 2928, 6984, 3250, 4235, 6984, 6984, 6984, 69, 6984, 3118, 6984, 4666, - 4235, 6984, 6984, 645, 396, 69, 6984, 563, 564, 569, 600, 1131, 69, 379, 6215, 6984, 593, 600, 6984, - 3077, 2245, 2268, 379, 223, 69, 6984, 6984, 3387, 6984, 4235, 6984, 69, 379, 189, 6984, 6984, 600, 6984, - 645, 379, 189, 6984, 221, 69, 6984, 6984, 6984, 645, 4235, 221, 69, 379, 448, 451, 6984, 4235, 6984, - 2601, 379, 189, 6984, 6984, 596, 6984, 2601, 6984, 6984, 6984, 221, 6984, 379, 2366, 6984, 6984, 6984, - 6984, 645, 379, 6984, 6984, 6984, 6984, 6984, 2601, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, - 6984, 6984, 6984, 645, 6984, 6984, 6984, 6984, 2423, 6984, 645, 6984, 3583, 6984, 6984, 6984, 6984, - 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 3674, 6984, 4254, 6984, 6984, 6984, 6984, - 597, 6984, 4269, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, - 6984, 6984, 6984, 6984, 4271, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, - 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, - 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, - 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 3935, 6984, 0, 758, 1, 0, 919, 1, 0, 39, 1, 6999, 0, 39, - 1, 6998, 0, 799, 1, 0, 39, 6999, 0, 39, 6998, 0, 1153, 354, 0, 1309, 29, 0, 477, 1361, 0, 491, 1363, 0, - 6999, 48, 0, 6998, 48, 0, 38, 814, 0, 38, 6999, 0, 38, 6998, 0, 6990, 1, 0, 6989, 1, 0, 318, 431, 0, - 318, 323, 0, 7252, 275, 0, 7251, 275, 0, 7358, 275, 0, 7357, 275, 0, 7279, 275, 0, 7278, 275, 0, 7277, - 275, 0, 7276, 275, 0, 7275, 275, 0, 7274, 275, 0, 7273, 275, 0, 7272, 275, 0, 7291, 275, 0, 7290, 275, - 0, 7289, 275, 0, 7288, 275, 0, 7287, 275, 0, 7286, 275, 0, 7285, 275, 0, 7284, 275, 0, 7283, 275, 0, - 7282, 275, 0, 7281, 275, 0, 39, 275, 6999, 0, 39, 275, 6998, 0, 7022, 275, 0, 1309, 424, 0, 4052, 126, - 0, 35, 33, 0, 1, 481, 0, 495, 1165, 0, 494, 1305, 0, 47, 37, 0, 7022, 1, 0, 39, 1, 0, 639, 91, 0, 32, - 34, 0, 39, 814, 0, 1, 1117, 0, 1, 7291, 0, 1, 7290, 0, 1, 7289, 0, 1, 7288, 0, 1, 7287, 0, 1, 7286, 0, - 1, 7285, 0, 1, 7284, 0, 1, 7283, 0, 1, 7282, 0, 1, 7281, 0, 43, 7020, 0, 43, 37, 0, 538, 3262, 0, 7022, - 1, 263, 0, 39, 1, 263, 0, 263, 453, 0, 6999, 37, 0, 6998, 37, 0, 271, 4425, 0, 425, 32, 0, 424, 29, 0, - 4052, 128, 0, 4052, 127, 0, 1, 5746, 0, 1, 5385, 0, 1, 5442, 0, 1, 5509, 0, 1, 5532, 0, 1, 5561, 0, 1, - 5585, 0, 1, 5608, 0, 1, 2284, 0, 1, 5416, 0, 1, 7006, 0, 1, 7005, 0, 1, 7004, 0, 1, 7003, 0, 1, 7002, 0, - 1, 7001, 0, 1, 7000, 0, 1, 1119, 0, 1, 1163, 0, 1, 1178, 0, 1, 1203, 0, 1, 1282, 0, 1, 672, 0, 367, 482, - 0, 6994, 442, 0, 6993, 442, 0, 1, 2469, 0, 1, 814, 0, 263, 452, 0, 1, 92, 0, 275, 6999, 0, 275, 6998, 0, - 7020, 45, 0, 37, 45, 0, 1, 367, 0, 2, 6999, 37, 0, 2, 6998, 37, 0, 6999, 36, 0, 6998, 36, 0, 538, 5986, - 0, 1, 263, 0, 367, 95, 0, 35, 73, 0, 263, 254, 0, 313, 4934, 0, 263, 253, 0, 6996, 1, 0, 6992, 1, 0, 1, - 263, 3573, 0, 6993, 263, 0, 3574, 263, 0, 6996, 420, 0, 6995, 420, 0, 3586, 263, 0, 10, 12, 0, 8, 10, - 12, 0, 3656, 227, 0, 218, 5147, 0, 3659, 420, 0, 8, 12, 0 }; - } - - public final static char baseAction[] = BaseAction.baseAction; - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - 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, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 0, 61, 62, 63, 4, 65, 66, 67, 0, 69, 0, 1, 2, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 95, 65, 66, - 67, 0, 69, 0, 1, 2, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 0, 61, 62, - 63, 0, 65, 66, 67, 94, 69, 0, 1, 2, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, - 58, 59, 0, 61, 62, 63, 96, 65, 66, 67, 94, 69, 92, 93, 0, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 4, 65, 66, 67, 94, 69, 101, 102, 86, 87, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 0, 61, 62, 63, 4, 65, 66, 67, 0, 69, 0, 1, 2, 5, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 95, 65, 66, 67, 0, - 69, 0, 0, 0, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 70, 56, 57, 58, 59, 0, 61, 62, 63, 0, - 65, 66, 67, 94, 69, 86, 87, 86, 87, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 86, 87, 56, 57, 58, 59, - 0, 61, 62, 63, 0, 65, 66, 67, 0, 69, 92, 93, 0, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 68, - 56, 57, 58, 59, 0, 61, 62, 63, 4, 65, 66, 67, 0, 69, 92, 93, 86, 87, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 0, 69, 0, 1, 2, 0, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 0, 68, 56, 57, 58, 59, 0, 61, 62, 63, 4, 65, 66, 67, 0, 69, 0, 1, 2, 95, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 6, 61, 62, 63, 96, 65, 66, 67, 0, 69, - 0, 1, 2, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 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, - 55, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 68, 56, 57, 58, 59, 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, - 0, 1, 2, 0, 4, 39, 0, 41, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 55, 56, 57, 58, 5, 0, 61, 62, 63, 0, 1, - 2, 3, 4, 120, 6, 71, 8, 73, 34, 35, 23, 24, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 88, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 60, 71, 114, 115, 116, 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, 0, 0, 99, 100, 3, 39, 0, 41, 0, 3, 9, 5, 0, 7, 0, 9, 0, 1, 2, 0, 4, 55, 56, 57, 58, 0, 7, - 61, 62, 63, 0, 1, 2, 3, 4, 0, 6, 71, 8, 73, 34, 35, 36, 37, 0, 39, 34, 35, 0, 1, 2, 0, 4, 5, 88, 7, 0, - 9, 0, 0, 54, 60, 3, 55, 0, 64, 60, 9, 0, 68, 64, 55, 0, 72, 68, 3, 70, 71, 72, 73, 114, 115, 116, 0, 1, - 2, 3, 4, 5, 6, 7, 8, 86, 87, 0, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 60, 72, 120, 54, 117, 118, 119, 0, 92, 93, 3, 72, 5, 64, 7, 70, - 9, 0, 1, 2, 3, 4, 97, 6, 60, 8, 97, 0, 1, 2, 3, 4, 5, 96, 7, 0, 97, 0, 89, 90, 0, 34, 35, 36, 37, 5, 39, - 7, 0, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 54, 0, 1, 2, 3, 4, 60, 6, 0, 8, 64, 97, 4, 5, 68, - 7, 70, 71, 72, 73, 0, 0, 0, 0, 1, 2, 60, 71, 54, 6, 64, 8, 86, 87, 68, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 0, 0, 60, 0, 117, 118, 119, - 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, 0, 1, 2, 3, 4, 39, 6, 41, 8, 0, 1, 2, 91, 4, 5, 55, 7, 95, 0, 98, 0, 55, 56, 57, - 58, 0, 64, 61, 62, 63, 68, 65, 0, 1, 2, 0, 4, 0, 3, 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 0, 0, 88, 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, 64, 70, 0, 1, 2, 39, 4, 41, 6, 0, 8, 0, 1, 2, 0, 4, 70, 6, 70, 8, 54, - 55, 56, 57, 58, 0, 0, 61, 62, 63, 0, 65, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 0, 88, 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, 0, 1, 2, 0, 68, 39, 6, 41, 8, 0, 7, 70, 0, 1, 2, 60, - 4, 5, 54, 7, 0, 55, 56, 57, 58, 70, 0, 61, 62, 63, 4, 65, 0, 1, 2, 3, 4, 0, 6, 73, 8, 9, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 88, 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, 0, 70, 54, 60, 0, 39, 0, 41, 0, - 0, 1, 2, 4, 4, 5, 72, 7, 0, 0, 0, 0, 55, 56, 57, 58, 0, 9, 61, 62, 63, 22, 65, 7, 0, 34, 35, 0, 89, 90, - 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 88, 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, 72, 54, 0, 1, 2, 39, - 4, 41, 0, 1, 2, 64, 4, 5, 70, 7, 0, 54, 0, 0, 0, 55, 56, 57, 58, 0, 96, 61, 62, 63, 10, 65, 0, 114, 115, - 116, 89, 90, 0, 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 89, 90, 88, 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, 0, - 1, 2, 60, 0, 39, 6, 41, 4, 60, 0, 0, 1, 2, 3, 4, 0, 6, 91, 8, 9, 55, 56, 57, 58, 98, 22, 61, 62, 63, 0, - 65, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 114, 115, 116, 0, 1, 2, 39, 0, 0, 0, 88, 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, 0, 1, 2, 0, 41, 39, 3, 41, 0, 68, 0, 0, 1, 2, 3, 4, 0, 6, 91, 8, 9, 55, 56, 57, 58, 98, 64, - 61, 62, 63, 68, 65, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1, 2, 3, 4, 5, 39, 7, 0, 0, 88, - 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, 0, 1, 2, 0, 4, 39, 6, 41, 8, 0, 0, 1, 2, 0, 4, 60, 6, 0, 8, 0, 7, 55, 56, 57, - 58, 0, 9, 61, 62, 63, 0, 65, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 88, 55, 0, 1, 2, 0, 1, 2, 0, 1, 2, 55, 34, 35, 36, 37, 38, 9, 40, 54, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 0, 1, 2, 72, 71, 59, 6, 0, 0, 0, 64, 3, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 66, 67, 0, 66, 67, 3, 0, 1, 2, 69, 91, 5, 34, 35, 36, 37, - 38, 98, 40, 55, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 60, 60, 0, 64, 64, 59, 0, 0, 68, 0, 3, - 9, 0, 0, 0, 69, 10, 5, 9, 73, 0, 1, 2, 3, 4, 5, 6, 7, 8, 55, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 0, 1, 2, 0, 0, 41, 39, 0, 0, 5, 3, 0, 34, 35, 36, 37, 38, 0, 40, 55, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 0, 1, 2, 68, 64, 59, 0, 1, 2, 0, 1, 2, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 55, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 99, 100, 54, 64, 0, 71, 64, 0, 9, 118, 0, 34, 35, 36, 37, 38, - 9, 40, 55, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 1, 2, 99, 100, 59, 89, 90, 0, 0, 0, 0, 66, - 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 68, 0, 0, 0, 72, 68, - 3, 64, 0, 69, 9, 9, 34, 35, 36, 37, 38, 9, 40, 55, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 1, - 2, 0, 0, 59, 64, 4, 0, 0, 0, 71, 3, 9, 71, 69, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 68, 0, 0, 0, 73, 73, 3, 69, 38, 0, 9, 9, 34, 35, 36, 37, 38, 55, 40, 54, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 1, 2, 0, 0, 59, 0, 73, 39, 39, 70, 0, 9, 9, 3, 69, 0, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 64, 3, 39, 0, 0, 0, 3, 0, 9, 34, - 35, 36, 37, 38, 55, 40, 9, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 0, 0, 3, 72, 5, 6, 7, - 0, 74, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 60, - 34, 35, 36, 37, 71, 38, 40, 72, 0, 0, 0, 3, 71, 3, 0, 0, 73, 9, 0, 10, 54, 86, 87, 55, 0, 0, 60, 0, 10, - 118, 64, 4, 66, 67, 68, 0, 70, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 75, 41, 0, 86, 87, 0, 89, - 90, 91, 92, 93, 94, 95, 96, 9, 55, 99, 100, 101, 60, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 61, 72, 54, 68, 117, 0, 1, 2, 3, 4, 5, 6, 7, 8, 39, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, - 1, 2, 0, 0, 60, 3, 3, 0, 0, 0, 0, 34, 35, 36, 37, 38, 0, 40, 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 55, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 60, 0, 59, 54, 3, 54, 0, 0, 1, 2, 0, 0, 34, 35, 36, 37, 38, 0, - 40, 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 0, 3, 3, 59, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 54, 0, 55, 0, 54, 54, 3, 0, 0, 0, 64, 54, 34, 35, 36, - 37, 38, 10, 40, 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 0, 89, 90, 0, 60, 0, 1, 2, 3, - 4, 5, 6, 7, 8, 41, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 55, 54, 3, 0, 0, 0, 0, 62, 0, 0, - 4, 34, 35, 36, 37, 38, 0, 40, 121, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 0, 3, 0, 59, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 71, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 54, 54, 0, 54, 54, 0, 0, 0, - 0, 0, 64, 54, 34, 35, 36, 37, 38, 0, 40, 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 0, 89, - 90, 59, 0, 1, 2, 3, 4, 5, 6, 7, 8, 71, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 54, 54, 54, 0, 0, - 0, 0, 0, 0, 3, 68, 97, 34, 35, 36, 37, 38, 0, 40, 70, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, - 0, 0, 3, 3, 59, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, - 0, 0, 3, 0, 0, 0, 0, 9, 54, 34, 35, 36, 37, 38, 70, 40, 71, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 113, 113, 71, 0, - 0, 0, 0, 0, 9, 0, 34, 35, 36, 37, 38, 0, 40, 72, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 1, - 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 38, 0, 70, 0, 113, 0, 0, 113, - 0, 0, 0, 34, 35, 36, 37, 38, 0, 40, 72, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 1, 2, 3, 4, - 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 34, - 35, 36, 37, 38, 0, 40, 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, - 0, 40, 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 1, 2, 0, 4, 0, 0, 0, 0, 0, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 41, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 4, 0, 0, 56, 57, 58, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, - 0, 0, 0, 0, 56, 57, 58, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 3, 56, 57, 58, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, - 36, 37, 41, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 56, 57, 58, 0, 0, 0, 0, 60, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, 39, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 54, - 0, 0, 0, 0, 0, 60, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 72, 0, 0, 0, 0, 0, 117, 0, 119, 0, 0, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, - 5, 0, 7, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 64, 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, 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; - - @Override - public final int termCheck(int index) { - return termCheck[index]; - } - - public interface TermAction { - public final static char termAction[] = { 0, 6984, 6946, 6922, 6922, 6922, 6922, 6922, 6922, 6922, 6962, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6950, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 121, 135, 1, 1, 1, 1, 39, 2562, 7192, 1558, 7022, 3487, 1, 1, 1, 6995, 434, - 6998, 6999, 6991, 2498, 3580, 3434, 3319, 3376, 3569, 4713, 3579, 729, 3578, 3915, 3577, 10, 6965, 6965, - 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, - 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, - 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, - 4307, 4395, 6965, 6965, 6965, 6965, 133, 6965, 6965, 6965, 3501, 6965, 6965, 6965, 367, 6965, 6984, - 6998, 6999, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 6965, 8, 6968, 6968, - 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, - 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, - 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, - 137, 432, 6968, 6968, 6968, 6968, 134, 6968, 6968, 6968, 129, 6968, 6968, 6968, 3593, 6968, 6984, 6583, - 6580, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6968, 6984, 6946, 6922, - 6922, 6922, 6922, 6922, 6922, 6922, 6953, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 6950, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 125, 139, 1, 1, 1, 1, 153, 2562, - 7192, 1558, 1324, 3487, 1, 1, 3593, 6995, 3790, 3758, 124, 333, 2498, 3580, 3434, 3319, 3376, 3569, - 4713, 3579, 729, 3578, 3915, 3577, 6984, 6946, 6922, 6922, 6922, 6922, 6922, 6922, 6922, 6953, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6950, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 4307, 4395, 1, 1, 1, 1, 6984, 2562, 7192, 1558, 2663, 3487, 1, 1, 3628, 6995, 1080, - 4229, 4307, 4395, 2498, 3580, 3434, 3319, 3376, 3569, 4713, 3579, 729, 3578, 3915, 3577, 6984, 6946, - 6922, 6922, 6922, 6922, 6922, 6922, 6922, 6953, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6950, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 123, 136, 1, 1, 1, 1, 432, - 2562, 7192, 1558, 425, 3487, 1, 1, 6984, 6995, 48, 6583, 6580, 1755, 2498, 3580, 3434, 3319, 3376, 3569, - 4713, 3579, 729, 3578, 3915, 3577, 6984, 6946, 6922, 6922, 6922, 6922, 6922, 6922, 6922, 6953, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6950, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 4307, 4395, 1, 1, 1, 1, 154, 2562, 7192, 1558, 3501, 3487, 1, 1, 421, 6995, 122, - 545, 141, 6984, 2498, 3580, 3434, 3319, 3376, 3569, 4713, 3579, 729, 3578, 3915, 3577, 6984, 6946, 6922, - 6922, 6922, 6922, 6922, 6922, 6922, 6953, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 6950, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 145, 1200, 1, 1, 1, 1, 6984, - 2562, 7192, 1558, 130, 3487, 1, 1, 3628, 6995, 4307, 4395, 4307, 4395, 2498, 3580, 3434, 3319, 3376, - 3569, 4713, 3579, 729, 3578, 3915, 3577, 6984, 6946, 6922, 6922, 6922, 6922, 6922, 6922, 6922, 6953, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6950, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 4307, 4395, 1, 1, 1, 1, 6984, 2562, 7192, 1558, 149, 3487, 1, 1, 6984, 6995, - 3790, 3758, 144, 398, 2498, 3580, 3434, 3319, 3376, 3569, 4713, 3579, 729, 3578, 3915, 3577, 6984, 6946, - 6922, 6922, 6922, 6922, 6922, 6922, 6922, 6953, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6950, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 142, 3472, 1, 1, 1, 1, - 6984, 2562, 7192, 1558, 2994, 3487, 1, 1, 6984, 6995, 3862, 3822, 4307, 4395, 2498, 3580, 3434, 3319, - 3376, 3569, 4713, 3579, 729, 3578, 3915, 3577, 6984, 6946, 6922, 6922, 6922, 6922, 6922, 6922, 6922, - 6953, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6950, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4307, 4395, 1, 1, 1, 1, 6984, 2562, 7192, 1558, 155, 3487, 1, 1, - 6984, 6995, 333, 6998, 6999, 190, 2498, 3580, 3434, 3319, 3376, 3569, 4713, 3579, 729, 3578, 3915, 3577, - 6984, 6946, 6922, 6922, 6922, 6922, 6922, 6922, 6922, 6953, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6950, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 138, 2146, 1, - 1, 1, 1, 6984, 2562, 7192, 1558, 1524, 3487, 1, 1, 6984, 6995, 327, 6998, 6999, 3537, 2498, 3580, 3434, - 3319, 3376, 3569, 4713, 3579, 729, 3578, 3915, 3577, 6984, 3573, 1, 1, 1, 1, 1, 1, 1, 3574, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6993, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 6984, 6984, 1, 1, 1, 1, 2000, 2562, 7192, 1558, 1324, 3487, 1, 1, 6984, 6995, 37, - 6705, 6705, 552, 2498, 3580, 3434, 3319, 3376, 3569, 4713, 3579, 729, 3578, 3915, 3577, 39, 6565, 6562, - 5188, 799, 5532, 5416, 5561, 2284, 6984, 1216, 7283, 7281, 7290, 7289, 7285, 7286, 7284, 7287, 7288, - 7291, 7282, 7278, 7357, 7358, 7272, 7279, 7275, 7251, 7277, 7276, 7273, 7274, 7252, 5509, 5442, 5608, - 5585, 7003, 7020, 5385, 7419, 1163, 1282, 7005, 1178, 5746, 1203, 7006, 7004, 1119, 7000, 7001, 7002, - 6984, 996, 954, 7420, 7421, 1565, 6984, 6772, 6772, 263, 6768, 263, 263, 263, 263, 6776, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 323, 6604, 6604, 6984, 318, 263, 118, 1, 6984, - 6555, 6551, 2469, 6559, 6902, 814, 6902, 2284, 6984, 384, 372, 115, 6765, 1, 1, 1, 5346, 6984, 968, - 7433, 642, 1, 6555, 6551, 2469, 6559, 6544, 814, 263, 2284, 453, 4688, 4612, 7357, 7358, 257, 345, 6555, - 6551, 2469, 6559, 6902, 814, 6902, 2284, 7521, 7283, 7281, 7290, 7289, 7285, 7286, 7284, 7287, 7288, - 7291, 7282, 7278, 7357, 7358, 7272, 7279, 7275, 7251, 7277, 7276, 7273, 7274, 7252, 1519, 3079, 7456, - 7457, 7458, 6984, 6772, 6772, 263, 6768, 263, 263, 263, 263, 6884, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6984, 1, 5322, 5298, 4435, 263, 33, 1, 47, 6693, 377, 6693, 120, - 6693, 6984, 6693, 431, 6601, 6601, 131, 318, 6765, 1, 1, 1, 6984, 3676, 968, 7433, 642, 367, 6565, 6562, - 2469, 799, 150, 814, 263, 2284, 452, 6693, 6693, 6693, 6693, 394, 6693, 4688, 4612, 1, 6711, 6711, 6984, - 6708, 367, 7521, 367, 157, 399, 1, 383, 6693, 1519, 960, 1414, 543, 377, 6693, 399, 126, 377, 6693, 318, - 6984, 377, 6693, 6261, 6693, 6693, 6693, 6693, 7456, 7457, 7458, 381, 6565, 6562, 3889, 799, 367, 814, - 367, 2284, 6693, 6693, 1, 6693, 6693, 6693, 6693, 6693, 6693, 6693, 6693, 6693, 6693, 6693, 6693, 6693, - 6693, 6693, 6693, 6693, 6693, 6693, 6693, 6693, 6693, 6693, 6693, 1519, 399, 377, 4079, 6693, 6693, - 6693, 6984, 3862, 3822, 6717, 399, 6717, 6690, 6717, 2416, 6717, 1, 6555, 6551, 2469, 6559, 7377, 814, - 1519, 2284, 399, 37, 6999, 6999, 6999, 6999, 6999, 3445, 6999, 6984, 399, 6984, 4020, 3993, 6984, 6717, - 6717, 6717, 6717, 1706, 6717, 1659, 6984, 6999, 6999, 6999, 6999, 6999, 6999, 6999, 6999, 6999, 6999, - 6999, 6999, 6717, 1, 6555, 6551, 3889, 6559, 6717, 814, 39, 2284, 6717, 7379, 7022, 367, 6717, 367, - 6717, 6717, 6717, 6717, 6984, 111, 156, 38, 6592, 6589, 6999, 3079, 751, 6586, 6999, 2284, 6717, 6717, - 6999, 6717, 6717, 6717, 6717, 6717, 6717, 6717, 6717, 6717, 6717, 6717, 6717, 6717, 6717, 6717, 6717, - 6717, 6717, 6717, 6717, 6717, 6717, 6717, 6717, 6984, 37, 1519, 6984, 6717, 6717, 6717, 6984, 6922, - 6922, 263, 6922, 263, 263, 263, 263, 6931, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10901, 1, - 1, 1, 1, 1, 1, 1, 6555, 6551, 6878, 6559, 263, 6881, 1, 6824, 481, 1, 1, 5654, 1, 6696, 7020, 6696, - 3537, 258, 5677, 139, 6919, 1, 1, 1, 6984, 668, 2290, 7229, 1558, 4850, 3487, 6984, 6565, 6562, 347, - 7022, 406, 2334, 254, 7278, 7357, 7358, 7272, 7279, 7275, 7251, 7277, 7276, 7273, 7274, 7252, 6984, - 6984, 7521, 6984, 6922, 6922, 263, 6922, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 10901, 1, 1, 1, 1, 1, 1, 3265, 2099, 6984, 6565, 6562, 263, 799, 1, 814, 6984, 2284, 6984, - 6565, 6562, 6984, 799, 1222, 814, 1372, 2284, 3314, 6919, 1, 1, 1, 320, 6984, 2290, 7229, 1558, 159, - 3487, 1080, 4229, 2052, 2005, 1958, 1911, 1864, 1817, 1770, 1723, 1676, 1629, 403, 6555, 6551, 3889, - 6559, 1, 814, 1, 2284, 29, 7521, 6984, 6922, 6922, 263, 6922, 263, 263, 263, 263, 6937, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10901, 1, 1, 1, 1, 1, 1, 6984, 6998, 6999, 132, 7303, 263, 814, 1, - 2284, 6984, 3676, 2900, 482, 39, 39, 1519, 7022, 6869, 6571, 6869, 404, 6919, 1, 1, 1, 1277, 6984, 2290, - 7229, 1558, 1666, 3487, 1, 6555, 6551, 3889, 6559, 146, 814, 253, 2284, 6595, 3382, 4275, 2834, 2768, - 2702, 2636, 2570, 2504, 2438, 2372, 2306, 2240, 7521, 6984, 6922, 6922, 263, 6922, 263, 263, 263, 263, - 6931, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10901, 1, 1, 1, 1, 1, 1, 119, 1424, 4160, 1519, - 6984, 263, 6984, 1, 39, 92, 1, 1, 7022, 1, 6887, 6598, 6887, 6984, 259, 158, 6984, 6919, 1, 1, 1, 151, - 6990, 2290, 7229, 1558, 2350, 3487, 3710, 547, 4688, 4612, 128, 4133, 4106, 254, 7278, 7357, 7358, 7272, - 7279, 7275, 7251, 7277, 7276, 7273, 7274, 7252, 148, 6984, 7521, 6984, 6922, 6922, 263, 6922, 263, 263, - 263, 263, 6931, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10901, 1, 1, 1, 1, 1, 1, 6989, 4079, - 6984, 6565, 6562, 263, 7022, 1, 95, 39, 39, 6794, 7022, 6925, 1027, 6925, 114, 4160, 260, 476, 337, - 6919, 1, 1, 1, 6984, 3445, 2290, 7229, 1558, 7320, 3487, 356, 7456, 7457, 7458, 4020, 3993, 495, 254, - 7278, 7357, 7358, 7272, 7279, 7275, 7251, 7277, 7276, 7273, 7274, 7252, 4133, 4106, 7521, 6984, 6922, - 6922, 263, 6922, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10901, 1, - 1, 1, 1, 1, 1, 6984, 6998, 6999, 1519, 39, 263, 2000, 1, 7022, 6699, 261, 1, 6555, 6551, 6878, 6559, - 113, 6881, 5654, 6824, 6994, 6919, 1, 1, 1, 5677, 3022, 2290, 7229, 1558, 326, 3487, 7278, 7357, 7358, - 7272, 7279, 7275, 7251, 7277, 7276, 7273, 7274, 7252, 7456, 7457, 7458, 36, 6916, 6913, 6993, 6984, - 6984, 6984, 7521, 6984, 6922, 6922, 263, 6922, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 10901, 1, 1, 1, 1, 1, 1, 6984, 10657, 10382, 6984, 957, 263, 4425, 1, 6984, 10053, - 572, 1, 6555, 6551, 2469, 6559, 6984, 814, 5654, 2284, 345, 6919, 1, 1, 1, 5677, 6121, 2290, 7229, 1558, - 4850, 3487, 7278, 7357, 7358, 7272, 7279, 7275, 7251, 7277, 7276, 7273, 7274, 7252, 381, 39, 39, 4435, - 7022, 367, 345, 367, 6984, 6984, 7521, 6984, 6922, 6922, 263, 6922, 263, 263, 263, 263, 263, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10901, 1, 1, 1, 1, 1, 1, 6984, 6565, 6562, 6984, 799, 263, 6720, - 1, 2284, 6984, 6984, 6565, 6562, 152, 799, 1519, 6720, 1, 2284, 29, 3710, 6919, 1, 1, 1, 6984, 194, - 2290, 7229, 1558, 6984, 3487, 1, 6555, 6551, 672, 799, 5532, 5416, 5561, 2284, 112, 6723, 6750, 6756, - 6729, 6732, 6744, 6741, 6747, 6738, 6735, 6726, 6753, 7521, 1062, 6984, 6998, 6999, 6984, 6583, 6580, - 6984, 6998, 6999, 2798, 5509, 5442, 5608, 5585, 7003, 6996, 5385, 1309, 1163, 1282, 7005, 1178, 5746, - 1203, 7006, 7004, 1119, 7000, 7001, 7002, 37, 6705, 6705, 194, 461, 1565, 6705, 6984, 1, 494, 553, 4435, - 39, 39, 39, 6565, 6562, 5188, 799, 5532, 5416, 5561, 2284, 6978, 1117, 7283, 7281, 7290, 7289, 7285, - 7286, 7284, 7287, 7288, 7291, 7282, 5631, 794, 91, 5631, 794, 6714, 37, 6705, 6705, 6995, 5654, 367, - 5509, 5442, 5608, 5585, 7003, 5677, 5385, 2047, 1163, 1282, 7005, 1178, 5746, 1203, 7006, 7004, 1119, - 7000, 7001, 7002, 1519, 6702, 6984, 3272, 577, 1565, 1, 271, 577, 6984, 6785, 6988, 117, 6984, 6984, - 6959, 6545, 5346, 6994, 6991, 174, 6565, 6562, 5188, 799, 5532, 5416, 5561, 2284, 7020, 1117, 7283, - 7281, 7290, 7289, 7285, 7286, 7284, 7287, 7288, 7291, 7282, 43, 6762, 6762, 6984, 116, 6548, 6993, 1, - 6984, 5346, 6383, 6984, 5509, 5442, 5608, 5585, 7003, 147, 5385, 628, 1163, 1282, 7005, 1178, 5746, - 1203, 7006, 7004, 1119, 7000, 7001, 7002, 6984, 6782, 6779, 4378, 3273, 1565, 6984, 10657, 10382, 326, - 833, 833, 39, 39, 1, 6555, 6551, 672, 799, 5532, 5416, 5561, 2284, 6759, 6723, 6750, 6756, 6729, 6732, - 6744, 6741, 6747, 6738, 6735, 6726, 6753, 6984, 5322, 5298, 4160, 3306, 463, 2193, 7533, 6984, 6990, - 6987, 6984, 5509, 5442, 5608, 5585, 7003, 6996, 5385, 7020, 1163, 1282, 7005, 1178, 5746, 1203, 7006, - 7004, 1119, 7000, 7001, 7002, 6984, 10787, 10787, 5322, 5298, 1565, 4133, 4106, 6984, 6984, 6984, 465, - 39, 39, 39, 6565, 6562, 5188, 799, 5532, 5416, 5561, 2284, 6956, 1117, 7283, 7281, 7290, 7289, 7285, - 7286, 7284, 7287, 7288, 7291, 7282, 6390, 6984, 6984, 6984, 6989, 2614, 4429, 7462, 1, 6995, 6992, 6992, - 5509, 5442, 5608, 5585, 7003, 6940, 5385, 7020, 1163, 1282, 7005, 1178, 5746, 1203, 7006, 7004, 1119, - 7000, 7001, 7002, 37, 6705, 6705, 433, 1, 1565, 7476, 424, 6984, 6984, 328, 7422, 4431, 6943, 1499, - 6959, 39, 6565, 6562, 5188, 799, 5532, 5416, 5561, 2284, 6956, 1117, 7283, 7281, 7290, 7289, 7285, 7286, - 7284, 7287, 7288, 7291, 7282, 1173, 442, 6984, 6984, 6991, 6991, 4490, 6995, 1896, 6984, 6872, 6994, - 5509, 5442, 5608, 5585, 7003, 1953, 5385, 1309, 1163, 1282, 7005, 1178, 5746, 1203, 7006, 7004, 1119, - 7000, 7001, 7002, 45, 6899, 6899, 1, 1, 1565, 1, 6991, 6875, 6993, 3121, 6984, 6990, 6994, 4523, 6959, - 39, 6565, 6562, 5188, 799, 5532, 5416, 5561, 2284, 6988, 1117, 7283, 7281, 7290, 7289, 7285, 7286, 7284, - 7287, 7288, 7291, 7282, 6984, 6984, 6984, 5970, 1153, 6993, 354, 6984, 485, 6568, 8, 6990, 5509, 5442, - 5608, 5585, 7003, 6896, 5385, 6981, 1163, 1282, 7005, 1178, 5746, 1203, 7006, 7004, 1119, 7000, 7001, - 7002, 571, 1, 6984, 6984, 2509, 6989, 7484, 7490, 7488, 227, 3160, 7283, 7281, 7290, 7289, 7285, 7286, - 7284, 7287, 7288, 7291, 7282, 7278, 7357, 7358, 7272, 7279, 7275, 7251, 7277, 7276, 7273, 7274, 7252, - 1519, 7482, 7483, 7513, 7514, 2966, 3934, 7491, 6989, 1, 1, 6984, 4435, 701, 4934, 486, 573, 6981, 6595, - 337, 6545, 7493, 4307, 4395, 3316, 6984, 6984, 1156, 48, 7320, 6987, 7494, 6999, 2089, 2127, 7515, 6984, - 7492, 7278, 7357, 7358, 7272, 7279, 7275, 7251, 7277, 7276, 7273, 7274, 7252, 6972, 6548, 100, 7504, - 7503, 1, 7509, 7510, 7516, 7507, 7508, 7487, 7489, 7511, 224, 628, 7485, 7486, 7512, 1519, 7497, 7498, - 7499, 7495, 7496, 7505, 7506, 7501, 7500, 7502, 3014, 6598, 6999, 2486, 7517, 1, 6555, 6551, 6866, 6559, - 6812, 6827, 6815, 6824, 224, 6723, 6750, 6756, 6729, 6732, 6744, 6741, 6747, 6738, 6735, 6726, 6753, - 6984, 6909, 6905, 6984, 103, 4782, 4969, 5031, 99, 6984, 574, 595, 6809, 6806, 6821, 6818, 6839, 477, - 6803, 491, 6854, 6863, 6833, 6857, 6800, 6860, 6830, 6836, 6851, 6848, 6845, 6842, 7278, 7357, 7358, - 7272, 7279, 7275, 7251, 7277, 7276, 7273, 7274, 7252, 6711, 6711, 39, 6565, 6562, 5188, 799, 5532, 5416, - 5561, 2284, 7020, 1117, 7283, 7281, 7290, 7289, 7285, 7286, 7284, 7287, 7288, 7291, 7282, 3277, 6984, - 3496, 6574, 3497, 6577, 127, 6984, 11379, 9059, 424, 6984, 5509, 5442, 5608, 5585, 7003, 6984, 5385, - 218, 1163, 1282, 7005, 1178, 5746, 1203, 7006, 7004, 1119, 7000, 7001, 7002, 313, 6984, 6984, 6934, - 6326, 1565, 39, 6565, 6562, 5188, 799, 5532, 5416, 5561, 2284, 6984, 1117, 7283, 7281, 7290, 7289, 7285, - 7286, 7284, 7287, 7288, 7291, 7282, 4079, 6984, 7020, 6984, 6687, 2878, 5058, 6984, 6984, 6984, 6797, - 2944, 5509, 5442, 5608, 5585, 7003, 758, 5385, 6984, 1163, 1282, 7005, 1178, 5746, 1203, 7006, 7004, - 1119, 7000, 7001, 7002, 6984, 6984, 6984, 4020, 3993, 6984, 1501, 39, 6565, 6562, 672, 799, 5532, 5416, - 5561, 2284, 919, 1117, 7283, 7281, 7290, 7289, 7285, 7286, 7284, 7287, 7288, 7291, 7282, 6984, 628, - 6335, 6345, 6984, 6984, 6984, 48, 7583, 6984, 6984, 6998, 5509, 5442, 5608, 5585, 7003, 6984, 5385, - 6975, 1163, 1282, 7005, 1178, 5746, 1203, 7006, 7004, 1119, 7000, 7001, 7002, 6984, 6984, 1, 6352, 6984, - 1565, 39, 6565, 6562, 672, 799, 5532, 5416, 5561, 2284, 3178, 1117, 7283, 7281, 7290, 7289, 7285, 7286, - 7284, 7287, 7288, 7291, 7282, 4160, 6998, 344, 6364, 1309, 6984, 432, 6984, 73, 457, 4200, 3314, 5509, - 5442, 5608, 5585, 7003, 6984, 5385, 6984, 1163, 1282, 7005, 1178, 5746, 1203, 7006, 7004, 1119, 7000, - 7001, 7002, 6984, 6984, 6984, 4133, 4106, 1565, 39, 6565, 6562, 5188, 799, 5532, 5416, 5561, 2284, 4775, - 1117, 7283, 7281, 7290, 7289, 7285, 7286, 7284, 7287, 7288, 7291, 7282, 1309, 3153, 6928, 6984, 411, - 6984, 6984, 35, 6984, 4263, 2271, 4364, 5509, 5442, 5608, 5585, 7003, 2, 5385, 3220, 1163, 1282, 7005, - 1178, 5746, 1203, 7006, 7004, 1119, 7000, 7001, 7002, 6984, 6984, 6984, 6371, 3571, 1565, 39, 6565, - 6562, 6291, 799, 5532, 5416, 5561, 2284, 6984, 1117, 7283, 7281, 7290, 7289, 7285, 7286, 7284, 7287, - 7288, 7291, 7282, 584, 1, 6984, 583, 6984, 4940, 6984, 6984, 6984, 6984, 591, 37, 5509, 5442, 5608, - 5585, 7003, 3170, 5385, 4837, 1163, 1282, 7005, 1178, 5746, 1203, 7006, 7004, 1119, 7000, 7001, 7002, - 39, 6565, 6562, 5188, 799, 5532, 5416, 5561, 2284, 6984, 1117, 7283, 7281, 7290, 7289, 7285, 7286, 7284, - 7287, 7288, 7291, 7282, 6984, 1, 3585, 3585, 4899, 6984, 6984, 6984, 6984, 6984, 196, 6984, 5509, 5442, - 5608, 5585, 7003, 1, 5385, 591, 1163, 1282, 7005, 1178, 5746, 1203, 7006, 7004, 1119, 7000, 7001, 7002, - 39, 6565, 6562, 672, 799, 5532, 5416, 5561, 2284, 6984, 1117, 7283, 7281, 7290, 7289, 7285, 7286, 7284, - 7287, 7288, 7291, 7282, 6984, 3486, 6984, 3170, 6984, 1, 6984, 6984, 3585, 6984, 6984, 6984, 5509, 5442, - 5608, 5585, 7003, 6984, 5385, 196, 1163, 1282, 7005, 1178, 5746, 1203, 7006, 7004, 1119, 7000, 7001, - 7002, 39, 6565, 6562, 672, 799, 5532, 5416, 5561, 2284, 6984, 1117, 7283, 7281, 7290, 7289, 7285, 7286, - 7284, 7287, 7288, 7291, 7282, 6984, 6984, 6984, 3032, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, - 5509, 5442, 5608, 5585, 7003, 6984, 5385, 6984, 1163, 1282, 7005, 1178, 5746, 1203, 7006, 7004, 1119, - 7000, 7001, 7002, 39, 6565, 6562, 5188, 799, 5532, 5416, 5561, 2284, 6984, 1117, 7283, 7281, 7290, 7289, - 7285, 7286, 7284, 7287, 7288, 7291, 7282, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, - 6984, 6984, 5509, 5442, 5608, 5585, 7003, 6984, 5385, 6984, 1163, 1282, 7005, 1178, 5746, 1203, 7006, - 7004, 1119, 7000, 7001, 7002, 6984, 6565, 6562, 6984, 7022, 6984, 6984, 6984, 6984, 6984, 1046, 7283, - 7281, 7290, 7289, 7285, 7286, 7284, 7287, 7288, 7291, 7282, 7278, 7357, 7358, 7272, 7279, 7275, 7251, - 7277, 7276, 7273, 7274, 7252, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 7419, 6984, 6984, 6984, 6984, - 6984, 6984, 6984, 275, 6680, 6676, 6984, 6684, 6984, 6984, 954, 7420, 7421, 1046, 6667, 6673, 6646, - 6649, 6661, 6658, 6664, 6655, 6652, 6643, 6670, 6622, 6616, 6613, 6640, 6619, 6631, 6610, 6625, 6628, - 6637, 6634, 6607, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 7419, 6984, 6984, 6984, 6984, 6984, 6984, - 6984, 6984, 6998, 6999, 6984, 6984, 6984, 6984, 954, 7420, 7421, 1352, 7283, 7281, 7290, 7289, 7285, - 7286, 7284, 7287, 7288, 7291, 7282, 7278, 7357, 7358, 7272, 7279, 7275, 7251, 7277, 7276, 7273, 7274, - 7252, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 7419, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 275, - 6893, 6890, 75, 6984, 6984, 4496, 954, 7420, 7421, 1352, 6667, 6673, 6646, 6649, 6661, 6658, 6664, 6655, - 6652, 6643, 6670, 6622, 6616, 6613, 6640, 6619, 6631, 6610, 6625, 6628, 6637, 6634, 6607, 6984, 6984, - 6984, 6984, 6984, 7046, 7047, 7419, 29, 424, 424, 6791, 424, 6791, 424, 6791, 424, 6791, 6984, 6984, - 6984, 6984, 954, 7420, 7421, 6984, 575, 6984, 6984, 3931, 424, 424, 424, 424, 424, 424, 424, 424, 424, - 424, 424, 424, 6984, 6984, 6984, 6984, 6984, 6791, 7278, 7357, 7358, 7272, 7279, 7275, 7251, 7277, 7276, - 7273, 7274, 7252, 6984, 6984, 6571, 6984, 6984, 6984, 6984, 6984, 6791, 32, 425, 425, 6788, 425, 6788, - 425, 6788, 425, 6788, 6984, 6791, 6984, 6984, 6984, 6984, 6984, 866, 6984, 2733, 6984, 6984, 425, 425, - 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 6984, 6984, 6984, 6984, 6984, 6788, 6984, 6984, 6984, - 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 37, 6998, 6998, 6998, 6998, 6998, 6984, 6998, 6984, - 6788, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6788, 6998, 6998, 6998, 6998, - 6998, 6998, 6998, 6998, 6998, 6998, 6998, 6998, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, - 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, 6984, - 6998, 6984, 6984, 6984, 6998, 6984, 6984, 6984, 6998 }; - } - - public final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[index]; - } - - public interface Asb { - public final static char asb[] = { 0, 58, 20, 522, 32, 32, 229, 376, 376, 229, 135, 135, 1037, 809, 135, 9, 165, - 229, 471, 818, 818, 270, 22, 23, 39, 39, 510, 662, 662, 524, 662, 510, 101, 825, 590, 962, 973, 608, - 973, 1, 973, 52, 973, 957, 973, 592, 510, 590, 827, 32, 955, 522, 522, 522, 522, 592, 955, 455, 103, - 472, 472, 472, 472, 472, 472, 472, 472, 472, 665, 671, 676, 673, 680, 678, 685, 683, 687, 686, 688, 313, - 689, 471, 471, 310, 703, 831, 831, 522, 662, 108, 108, 659, 310, 912, 662, 662, 108, 510, 594, 1092, - 912, 912, 829, 809, 510, 361, 213, 3, 753, 4, 592, 510, 510, 1094, 9, 829, 376, 455, 135, 135, 135, 135, - 510, 871, 912, 912, 455, 915, 134, 1092, 455, 665, 751, 751, 871, 471, 472, 472, 472, 472, 472, 472, - 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 472, 831, 831, 108, 108, 590, 310, 310, 108, 1091, 508, 912, 28, 820, 510, 362, 657, - 655, 213, 510, 607, 513, 518, 1094, 608, 364, 510, 1094, 510, 507, 912, 912, 1038, 1038, 1038, 1038, - 1094, 912, 471, 472, 611, 618, 980, 980, 592, 103, 310, 134, 471, 912, 507, 509, 507, 912, 310, 673, - 673, 671, 671, 671, 678, 678, 678, 678, 676, 676, 683, 680, 680, 686, 685, 687, 1050, 688, 912, 912, - 1038, 136, 586, 455, 1015, 1013, 1020, 1018, 1022, 1021, 1023, 1024, 1037, 1038, 659, 1038, 594, 510, - 370, 770, 1091, 362, 655, 367, 510, 213, 1050, 4, 522, 1096, 420, 1040, 213, 607, 519, 607, 607, 1094, - 364, 364, 510, 510, 510, 955, 955, 955, 955, 510, 510, 471, 510, 1092, 472, 135, 669, 167, 912, 509, - 1092, 471, 370, 596, 563, 574, 574, 574, 574, 558, 592, 760, 472, 472, 472, 472, 472, 472, 472, 472, - 472, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 472, 455, 1091, 370, 655, 655, 1092, - 608, 608, 1038, 522, 507, 606, 1042, 504, 955, 607, 607, 607, 607, 510, 364, 366, 765, 366, 471, 471, - 471, 471, 955, 955, 1094, 508, 912, 669, 590, 594, 510, 508, 370, 596, 510, 472, 1013, 1013, 1013, 1018, - 1015, 1015, 1021, 1020, 1022, 1050, 1023, 372, 654, 655, 508, 712, 608, 382, 229, 508, 607, 607, 504, - 708, 472, 1050, 208, 204, 590, 607, 607, 262, 366, 367, 472, 510, 912, 912, 912, 912, 871, 871, 510, - 669, 670, 669, 471, 167, 425, 665, 594, 372, 598, 1094, 866, 471, 372, 655, 709, 712, 712, 803, 1052, - 353, 955, 4, 419, 229, 508, 607, 608, 592, 1042, 472, 472, 504, 805, 257, 263, 510, 367, 912, 912, 629, - 669, 871, 472, 310, 425, 372, 598, 510, 955, 367, 712, 712, 381, 353, 803, 48, 592, 1037, 709, 608, 435, - 805, 510, 955, 262, 510, 592, 592, 510, 670, 912, 310, 832, 367, 382, 712, 709, 207, 708, 912, 592, 510, - 382, 758, 436, 592, 510, 871, 510, 510, 510, 821, 712, 471, 64, 504, 709, 510, 510, 758, 435, 1050, 472, - 1050, 709, 434, 955, 955, 955, 436, 955, 510, 320, 709, 709, 510, 608, 912, 510, 510, 135, 367, 912, - 367, 608, 510, 709, 427, 955, 427, 436, 1050, 436, 455, 455, 453, 434, 455, 709, 709, 211, 433, 367, 64, - 709, 770, 436, 912, 504, 912, 453, 353, 955, 912, 758, 64, 912, 912, 642, 436, 211, 436, 709, 353, 471, - 436, 433, 366, 608, 608, 947, 471, 434, 871, 709, 912, 707, 63, 436, 912, 709, 707, 707, 436 }; - } - - public final static char asb[] = Asb.asb; - - @Override - public final int asb(int index) { - return asb[index]; - } - - public interface Asr { - public final static byte asr[] = { 0, 55, 4, 71, 1, 2, 69, 9, 0, 9, 64, 68, 72, 1, 2, 7, 5, 4, 3, 60, 120, 0, 3, - 64, 70, 68, 120, 60, 9, 72, 97, 0, 64, 70, 68, 120, 1, 2, 0, 74, 3, 64, 71, 97, 68, 72, 39, 60, 9, 69, - 70, 0, 4, 9, 69, 1, 2, 0, 41, 10, 55, 62, 0, 73, 59, 36, 37, 7, 5, 34, 35, 40, 46, 3, 4, 51, 52, 53, 38, - 49, 44, 48, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 10, 43, 47, 45, 42, 50, 69, 9, 8, 6, 1, 2, 67, - 66, 0, 42, 66, 43, 44, 67, 8, 45, 46, 47, 48, 59, 49, 50, 51, 52, 53, 38, 36, 37, 7, 5, 34, 35, 6, 40, - 64, 3, 4, 10, 1, 2, 56, 57, 58, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 25, 31, 32, 27, 30, 29, 22, - 26, 23, 24, 28, 33, 41, 0, 98, 91, 34, 35, 99, 100, 86, 87, 64, 89, 90, 92, 93, 94, 95, 96, 101, 102, - 97, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 118, 72, 73, 1, 2, 4, 7, 5, 71, 60, 54, 3, 9, 68, - 39, 70, 0, 88, 61, 8, 114, 115, 116, 63, 9, 3, 7, 5, 6, 71, 73, 39, 62, 25, 11, 12, 41, 23, 13, 56, 26, - 27, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 57, 55, 33, 10, 58, 19, 20, 24, 21, 1, 2, 4, 22, 0, 22, 1, - 2, 4, 114, 115, 116, 0, 66, 67, 3, 10, 43, 47, 45, 42, 50, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, - 51, 52, 53, 38, 49, 44, 48, 6, 8, 4, 36, 37, 7, 5, 34, 35, 40, 46, 1, 2, 118, 9, 0, 64, 71, 97, 68, 118, - 72, 73, 11, 12, 42, 66, 13, 43, 44, 14, 15, 16, 67, 45, 17, 18, 46, 47, 48, 59, 49, 50, 10, 19, 20, 21, - 51, 52, 53, 38, 36, 37, 34, 35, 40, 9, 39, 6, 8, 1, 2, 4, 3, 7, 5, 0, 1, 2, 68, 73, 9, 0, 23, 24, 59, 9, - 97, 72, 64, 68, 120, 70, 0, 69, 41, 23, 13, 56, 26, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 57, 33, 58, - 19, 22, 20, 24, 21, 12, 11, 25, 9, 3, 7, 5, 39, 63, 65, 88, 27, 62, 55, 61, 8, 1, 2, 4, 10, 6, 0, 88, - 114, 115, 116, 55, 71, 113, 121, 73, 62, 74, 63, 61, 65, 76, 78, 84, 82, 75, 80, 81, 83, 85, 69, 77, 79, - 39, 9, 25, 41, 23, 56, 26, 27, 28, 29, 30, 31, 32, 57, 33, 58, 22, 24, 59, 66, 67, 10, 43, 47, 45, 42, - 50, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 51, 52, 53, 38, 49, 44, 48, 36, 37, 34, 35, 40, 46, 7, - 5, 3, 4, 8, 6, 1, 2, 0, 4, 9, 71, 69, 0, 4, 9, 71, 69, 54, 0, 67, 66, 34, 35, 99, 100, 94, 95, 6, 40, - 70, 54, 106, 107, 103, 104, 105, 111, 110, 112, 87, 86, 108, 109, 92, 93, 89, 90, 96, 101, 36, 37, 91, - 117, 10, 56, 41, 57, 58, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 25, 31, 32, 27, 30, 29, 22, 26, 23, - 24, 28, 33, 64, 68, 3, 60, 7, 5, 1, 2, 4, 0, 23, 24, 59, 3, 64, 97, 70, 68, 72, 39, 74, 71, 69, 9, 0, 9, - 71, 118, 72, 39, 68, 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 25, 23, 26, 27, 28, 29, 30, 31, 32, - 33, 22, 24, 39, 9, 72, 8, 1, 2, 60, 3, 7, 5, 6, 4, 0, 59, 23, 24, 8, 6, 1, 2, 4, 74, 69, 120, 119, 117, - 36, 37, 60, 3, 98, 91, 5, 99, 100, 34, 35, 87, 86, 54, 89, 90, 92, 93, 7, 94, 95, 96, 64, 97, 72, 70, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 71, 118, 101, 102, 73, 68, 39, 9, 0, 65, 25, 11, 12, - 41, 23, 13, 56, 26, 88, 27, 14, 28, 29, 15, 16, 30, 61, 31, 17, 18, 32, 57, 33, 10, 58, 19, 63, 22, 20, - 24, 21, 9, 3, 7, 5, 73, 39, 62, 8, 6, 55, 1, 2, 4, 0, 113, 0, 54, 64, 89, 90, 0, 9, 68, 73, 70, 0, 25, - 11, 12, 41, 23, 13, 56, 26, 27, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 57, 33, 10, 58, 19, 22, 20, 24, - 21, 1, 2, 4, 97, 0, 38, 0, 9, 69, 68, 0, 7, 5, 3, 8, 6, 60, 4, 1, 2, 64, 70, 97, 72, 9, 68, 0, 6, 8, 3, - 60, 5, 7, 97, 25, 11, 12, 41, 23, 13, 56, 26, 27, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 57, 33, 10, - 58, 19, 22, 20, 24, 21, 1, 2, 4, 72, 9, 0, 72, 9, 87, 86, 0, 11, 12, 42, 66, 13, 43, 44, 14, 15, 16, 67, - 8, 45, 17, 18, 46, 47, 48, 59, 49, 50, 10, 19, 20, 21, 51, 52, 53, 38, 1, 2, 3, 36, 37, 7, 5, 34, 35, 6, - 40, 4, 72, 9, 0, 66, 67, 36, 37, 34, 35, 40, 46, 51, 52, 53, 38, 49, 44, 48, 12, 21, 11, 17, 15, 16, 18, - 19, 14, 13, 20, 10, 43, 47, 45, 42, 50, 7, 5, 60, 8, 6, 4, 1, 2, 3, 0, 10, 56, 41, 57, 58, 12, 21, 11, - 17, 15, 16, 18, 19, 14, 13, 20, 74, 71, 97, 118, 73, 69, 120, 8, 31, 32, 33, 22, 24, 1, 2, 30, 29, 28, - 27, 26, 6, 4, 23, 25, 119, 98, 117, 91, 36, 37, 34, 35, 99, 100, 9, 60, 3, 5, 72, 39, 87, 86, 54, 89, - 90, 92, 93, 7, 94, 95, 96, 101, 102, 70, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 68, 64, 0, - 39, 9, 3, 8, 6, 7, 5, 4, 1, 2, 71, 0, 41, 23, 13, 56, 26, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 57, - 33, 10, 58, 19, 22, 20, 24, 21, 12, 11, 25, 9, 3, 7, 39, 63, 61, 65, 88, 27, 62, 54, 4, 5, 8, 6, 1, 2, - 55, 0 }; - } - - public final static byte asr[] = Asr.asr; - - @Override - public final int asr(int index) { - return asr[index]; - } - - public interface Nasb { - public final static char nasb[] = { 0, 77, 12, 12, 43, 43, 32, 12, 12, 293, 297, 297, 12, 158, 5, 201, 12, 293, - 85, 12, 12, 104, 23, 23, 23, 23, 242, 12, 12, 122, 12, 180, 218, 157, 176, 259, 260, 210, 260, 13, 260, - 69, 260, 253, 12, 10, 180, 176, 200, 43, 12, 12, 12, 12, 12, 165, 12, 30, 180, 85, 85, 238, 85, 85, 85, - 85, 85, 85, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 85, 12, 85, 85, 109, 12, 32, 32, 12, 12, 32, 32, - 79, 109, 302, 12, 12, 32, 11, 12, 146, 302, 302, 290, 212, 180, 12, 32, 65, 165, 40, 165, 180, 11, 12, - 222, 290, 12, 30, 297, 297, 297, 297, 180, 197, 302, 302, 1, 85, 53, 146, 30, 12, 55, 55, 197, 31, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 31, 85, 293, 293, 45, 45, 176, 109, 109, 45, 148, 218, 302, 12, 12, 180, 178, 178, 178, 275, - 66, 63, 63, 12, 228, 210, 32, 228, 111, 66, 217, 302, 302, 12, 12, 12, 12, 145, 302, 85, 85, 12, 12, 12, - 12, 10, 180, 109, 297, 18, 302, 217, 180, 217, 302, 109, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 302, 302, 12, 231, 201, 25, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 224, 12, - 12, 11, 32, 293, 126, 12, 32, 153, 180, 169, 12, 72, 12, 12, 21, 262, 275, 63, 63, 32, 32, 111, 32, 243, - 11, 66, 180, 12, 12, 12, 12, 66, 11, 85, 180, 146, 85, 297, 32, 97, 302, 250, 146, 85, 32, 32, 259, 260, - 260, 260, 260, 282, 10, 12, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 31, 85, 45, 148, 61, 178, 61, 146, 210, 130, 12, 12, 165, 32, 171, 160, 12, 32, 32, 118, 118, 66, - 243, 120, 12, 12, 31, 31, 31, 31, 12, 12, 144, 66, 302, 38, 224, 12, 242, 66, 61, 61, 180, 85, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 32, 61, 32, 218, 32, 210, 270, 32, 228, 32, 16, 214, 169, 85, 12, - 114, 12, 176, 118, 118, 100, 120, 153, 85, 243, 302, 302, 302, 302, 197, 197, 66, 32, 93, 12, 31, 224, - 251, 12, 12, 32, 32, 111, 302, 85, 91, 61, 169, 245, 32, 12, 270, 263, 12, 129, 21, 293, 218, 16, 134, - 34, 160, 85, 85, 214, 12, 165, 132, 228, 153, 302, 302, 12, 38, 197, 85, 109, 251, 91, 91, 66, 12, 153, - 270, 245, 209, 171, 12, 12, 165, 12, 169, 134, 152, 12, 228, 12, 140, 228, 165, 165, 11, 93, 302, 109, - 300, 153, 270, 32, 169, 95, 12, 302, 165, 228, 270, 32, 191, 34, 11, 197, 11, 228, 228, 302, 245, 18, - 83, 160, 169, 228, 73, 155, 205, 12, 85, 12, 169, 12, 12, 12, 12, 206, 12, 243, 167, 169, 169, 243, 137, - 302, 11, 11, 297, 153, 302, 32, 210, 73, 169, 116, 12, 12, 206, 12, 206, 304, 304, 186, 12, 304, 169, - 169, 12, 32, 153, 32, 169, 297, 206, 302, 160, 302, 296, 32, 12, 302, 155, 83, 302, 302, 32, 206, 12, - 206, 169, 160, 31, 206, 116, 153, 137, 137, 158, 85, 12, 183, 169, 302, 75, 82, 206, 302, 169, 75, 12, - 206 }; - } - - public final static char nasb[] = Nasb.nasb; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - public interface Nasr { - public final static char nasr[] = { 0, 3, 13, 10, 9, 138, 137, 113, 136, 135, 4, 2, 0, 166, 205, 0, 173, 0, 5, - 28, 0, 170, 0, 80, 0, 13, 2, 9, 10, 4, 52, 37, 5, 0, 186, 4, 185, 0, 161, 0, 42, 1, 0, 121, 0, 4, 10, 9, - 2, 13, 128, 5, 0, 192, 0, 4, 2, 9, 10, 157, 0, 51, 0, 122, 0, 44, 2, 3, 0, 166, 200, 0, 141, 117, 0, - 176, 0, 191, 0, 5, 212, 0, 81, 149, 42, 4, 10, 9, 2, 13, 0, 145, 0, 159, 0, 201, 0, 5, 194, 0, 4, 115, - 209, 0, 13, 2, 9, 10, 4, 94, 0, 2, 75, 0, 208, 0, 130, 0, 123, 0, 167, 0, 5, 52, 213, 0, 75, 54, 0, 1, - 141, 0, 210, 0, 42, 174, 0, 42, 66, 0, 4, 115, 182, 0, 2, 154, 75, 0, 75, 156, 155, 0, 5, 81, 0, 175, 0, - 30, 101, 100, 78, 2, 9, 10, 5, 4, 0, 5, 37, 39, 0, 5, 10, 9, 2, 78, 4, 98, 54, 0, 44, 2, 0, 5, 195, 0, - 37, 5, 27, 198, 0, 5, 50, 42, 37, 196, 0, 5, 105, 0, 30, 100, 101, 5, 0, 81, 37, 50, 82, 5, 42, 0, 101, - 100, 54, 78, 68, 4, 10, 9, 2, 0, 101, 100, 54, 4, 68, 0, 2, 67, 0, 138, 214, 137, 113, 136, 135, 0, 4, - 10, 9, 13, 3, 1, 0, 133, 5, 50, 93, 0, 2, 132, 0, 2, 4, 113, 110, 111, 112, 13, 69, 0, 39, 4, 2, 9, 10, - 5, 172, 0, 5, 50, 93, 95, 0, 5, 50, 93, 115, 48, 4, 0, 113, 69, 13, 110, 111, 112, 190, 0, 54, 4, 98, 5, - 27, 0, 197, 5, 52, 0, 52, 5, 30, 0, 5, 52, 116, 0 }; - } - - public final static char nasr[] = Nasr.nasr; - - @Override - public final int nasr(int index) { - return nasr[index]; - } - - public interface TerminalIndex { - public final static char terminalIndex[] = { 0, 113, 114, 2, 31, 10, 13, 9, 79, 115, 100, 48, 52, 60, 68, 74, - 75, 86, 87, 102, 105, 107, 104, 54, 106, 47, 64, 66, 70, 73, 76, 83, 89, 98, 11, 12, 7, 8, 112, 120, 14, - 53, 55, 61, 67, 84, 88, 90, 94, 97, 99, 109, 110, 111, 19, 93, 63, 91, 101, 95, 1, 77, 122, 103, 20, 46, - 58, 78, 44, 121, 33, 30, 118, 119, 96, 108, 49, 50, 56, 57, 59, 69, 71, 72, 85, 92, 17, 18, 65, 21, 22, - 6, 23, 24, 25, 26, 27, 32, 4, 15, 16, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 51, 80, 81, 82, 5, - 117, 3, 123, 62, 116 }; - } - - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - - @Override - public final int terminalIndex(int index) { - return terminalIndex[index]; - } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = { 0, 130, 135, 136, 0, 0, 134, 0, 0, 237, 243, 133, 0, 143, 0, - 132, 0, 0, 142, 148, 0, 0, 149, 158, 159, 160, 161, 188, 151, 0, 126, 162, 141, 163, 164, 165, 166, 131, - 167, 128, 168, 0, 129, 138, 137, 170, 169, 171, 185, 0, 0, 195, 152, 172, 0, 173, 0, 0, 0, 0, 0, 174, - 175, 176, 0, 177, 180, 0, 155, 194, 0, 0, 0, 212, 0, 0, 145, 209, 213, 0, 214, 127, 179, 0, 0, 0, 0, 0, - 0, 183, 0, 0, 0, 0, 125, 186, 0, 0, 210, 216, 217, 218, 0, 220, 157, 0, 146, 0, 0, 215, 197, 198, 199, - 201, 227, 228, 182, 204, 0, 0, 219, 0, 0, 0, 0, 0, 248, 0, 251, 0, 252, 0, 147, 187, 189, 190, 191, 192, - 196, 200, 203, 0, 206, 0, 207, 0, 222, 225, 0, 0, 0, 246, 247, 0, 0, 139, 140, 144, 0, 0, 154, 156, 0, - 178, 0, 193, 0, 0, 0, 202, 0, 205, 211, 0, 223, 224, 0, 0, 229, 232, 0, 234, 236, 0, 240, 241, 242, 245, - 0, 0, 249, 124, 0, 150, 153, 0, 181, 0, 184, 0, 0, 208, 221, 226, 0, 0, 230, 231, 233, 235, 0, 238, 239, - 244, 250, 253, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - - @Override - public final int nonterminalIndex(int index) { - return nonterminalIndex[index]; - } - - public interface ScopePrefix { - public final static char scopePrefix[] = { 172, 324, 608, 627, 317, 332, 559, 575, 586, 597, 372, 280, 294, 311, - 344, 55, 305, 392, 430, 180, 616, 502, 20, 33, 64, 84, 93, 98, 103, 143, 208, 339, 350, 20, 467, 157, - 286, 300, 530, 40, 157, 382, 20, 635, 40, 230, 259, 1, 14, 27, 74, 89, 119, 27, 361, 365, 448, 495, 524, - 551, 555, 645, 649, 653, 110, 7, 110, 410, 426, 439, 460, 479, 543, 129, 129, 245, 439, 566, 582, 593, - 604, 220, 513, 69, 69, 169, 235, 238, 69, 254, 275, 238, 238, 69, 369, 492, 499, 169, 69, 668, 123, 355, - 414, 454, 486, 472, 69, 355, 401, 190, 117, 452, 657, 664, 657, 664, 78, 420, 150, 117, 117, 264 }; - } - - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - - @Override - public final int scopePrefix(int index) { - return scopePrefix[index]; - } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { 18, 148, 5, 5, 148, 148, 5, 5, 5, 5, 379, 148, 108, 148, 25, 61, 291, - 398, 436, 186, 80, 508, 25, 38, 38, 38, 72, 72, 108, 148, 213, 31, 31, 25, 5, 162, 291, 114, 535, 51, - 165, 387, 622, 640, 45, 224, 224, 5, 18, 31, 5, 72, 108, 31, 108, 108, 148, 257, 5, 5, 5, 5, 5, 257, - 666, 11, 114, 379, 379, 379, 464, 483, 535, 133, 138, 249, 443, 570, 570, 570, 570, 224, 517, 72, 72, 5, - 5, 241, 243, 257, 5, 278, 278, 243, 108, 5, 257, 5, 528, 5, 126, 358, 417, 457, 489, 475, 547, 538, 404, - 193, 108, 108, 659, 659, 661, 661, 80, 422, 152, 215, 200, 266 }; - } - - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - - @Override - public final int scopeSuffix(int index) { - return scopeSuffix[index]; - } - - public interface ScopeLhs { - public final static char scopeLhs[] = { 48, 112, 18, 18, 92, 112, 18, 18, 18, 18, 85, 97, 49, 92, 111, 90, 59, - 85, 84, 48, 18, 20, 190, 3, 7, 8, 182, 182, 178, 110, 48, 111, 111, 139, 45, 148, 60, 49, 157, 125, 148, - 85, 18, 18, 125, 102, 72, 153, 88, 190, 185, 182, 178, 139, 199, 57, 66, 161, 19, 18, 18, 18, 18, 18, - 12, 130, 178, 85, 84, 84, 64, 41, 157, 114, 114, 68, 84, 18, 18, 18, 18, 102, 20, 186, 182, 201, 100, - 109, 74, 80, 73, 172, 89, 139, 86, 162, 161, 192, 157, 17, 178, 139, 116, 83, 22, 45, 157, 157, 85, 48, - 178, 79, 155, 44, 155, 44, 185, 116, 110, 48, 48, 72 }; - } - - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - - @Override - public final int scopeLhs(int index) { - return scopeLhs[index]; - } - - public interface ScopeLa { - public final static byte scopeLa[] = { 113, 73, 72, 72, 73, 73, 72, 72, 72, 72, 72, 73, 39, 73, 1, 64, 1, 72, - 121, 69, 3, 72, 1, 64, 64, 64, 1, 1, 39, 73, 69, 1, 1, 1, 72, 73, 1, 1, 4, 64, 68, 39, 1, 1, 64, 72, 72, - 72, 113, 1, 72, 1, 39, 1, 39, 39, 73, 118, 72, 72, 72, 72, 72, 118, 1, 72, 1, 72, 72, 72, 71, 71, 4, 1, - 1, 5, 72, 64, 64, 64, 64, 72, 3, 1, 1, 72, 72, 3, 1, 118, 72, 1, 1, 1, 39, 72, 118, 72, 6, 72, 1, 55, - 70, 71, 72, 64, 1, 55, 75, 74, 39, 39, 4, 4, 4, 4, 3, 1, 69, 1, 1, 3 }; - } - - public final static byte scopeLa[] = ScopeLa.scopeLa; - - @Override - public final int scopeLa(int index) { - return scopeLa[index]; - } - - public interface ScopeStateSet { - public final static char scopeStateSet[] = { 68, 175, 267, 267, 90, 175, 267, 267, 267, 267, 78, 92, 68, 90, - 175, 90, 70, 78, 78, 68, 267, 267, 62, 197, 243, 243, 53, 53, 65, 175, 68, 175, 175, 177, 104, 354, 70, - 68, 129, 371, 354, 78, 267, 267, 371, 362, 181, 46, 78, 62, 26, 53, 65, 177, 22, 70, 29, 56, 267, 267, - 267, 267, 267, 267, 247, 6, 65, 78, 78, 78, 112, 327, 129, 175, 175, 134, 78, 267, 267, 267, 267, 362, - 267, 26, 53, 24, 362, 364, 181, 358, 181, 59, 186, 177, 78, 50, 56, 132, 129, 267, 65, 177, 1, 78, 268, - 104, 129, 129, 78, 68, 65, 11, 101, 150, 101, 150, 26, 1, 175, 68, 68, 181 }; - } - - public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; - - @Override - public final int scopeStateSet(int index) { - return scopeStateSet[index]; - } - - public interface ScopeRhs { - public final static char scopeRhs[] = { 0, 338, 3, 59, 0, 126, 0, 337, 3, 113, 0, 126, 180, 0, 127, 188, 74, 0, - 224, 0, 197, 166, 126, 10, 0, 136, 0, 166, 126, 10, 0, 135, 0, 272, 127, 54, 124, 0, 20, 0, 309, 127, - 54, 55, 0, 20, 53, 0, 33, 132, 0, 20, 53, 0, 0, 309, 127, 54, 55, 215, 0, 20, 186, 0, 272, 127, 54, 132, - 0, 189, 126, 0, 141, 0, 227, 3, 308, 0, 308, 0, 2, 0, 126, 0, 272, 127, 54, 131, 0, 189, 126, 237, 0, - 189, 126, 22, 237, 0, 189, 126, 332, 22, 0, 128, 197, 166, 126, 0, 128, 0, 197, 166, 126, 0, 134, 128, - 0, 172, 0, 328, 127, 172, 0, 127, 172, 0, 230, 128, 0, 166, 327, 235, 0, 136, 0, 0, 0, 0, 135, 0, 0, 0, - 0, 326, 127, 164, 236, 0, 127, 0, 236, 0, 129, 0, 0, 127, 0, 325, 127, 164, 271, 0, 127, 0, 0, 44, 127, - 0, 0, 150, 3, 0, 127, 296, 295, 127, 74, 294, 172, 0, 295, 127, 74, 294, 172, 0, 223, 0, 224, 0, 294, - 172, 0, 96, 0, 0, 223, 0, 224, 0, 211, 96, 0, 0, 223, 0, 224, 0, 295, 127, 294, 172, 0, 223, 0, 211, 0, - 0, 223, 0, 240, 127, 3, 0, 126, 0, 0, 0, 0, 0, 240, 127, 3, 222, 0, 231, 3, 0, 220, 127, 0, 216, 0, 146, - 0, 176, 166, 126, 0, 10, 0, 0, 0, 0, 226, 60, 0, 125, 0, 240, 127, 3, 195, 0, 195, 0, 2, 0, 0, 126, 0, - 0, 0, 0, 0, 211, 3, 0, 209, 0, 253, 127, 164, 38, 27, 0, 189, 126, 61, 63, 0, 204, 128, 0, 128, 189, - 126, 292, 63, 0, 189, 126, 292, 63, 0, 189, 126, 70, 123, 61, 0, 253, 127, 164, 263, 61, 0, 253, 127, - 164, 263, 239, 61, 0, 289, 290, 127, 164, 123, 322, 56, 0, 289, 290, 127, 164, 322, 56, 0, 189, 126, - 288, 56, 0, 197, 189, 126, 288, 235, 0, 189, 126, 288, 235, 0, 166, 126, 0, 93, 136, 0, 286, 127, 149, - 0, 286, 127, 172, 0, 159, 84, 0, 317, 161, 319, 320, 3, 81, 0, 126, 179, 0, 319, 320, 3, 81, 0, 128, 0, - 126, 179, 0, 159, 3, 75, 204, 80, 0, 126, 128, 0, 204, 80, 0, 108, 2, 131, 126, 128, 0, 238, 3, 75, 0, - 211, 174, 0, 33, 169, 0, 174, 0, 183, 33, 169, 0, 238, 3, 85, 0, 204, 152, 238, 3, 83, 0, 62, 179, 0, - 238, 3, 83, 0, 126, 179, 62, 179, 0, 318, 127, 164, 0, 159, 0, 226, 77, 0, 30, 179, 0, 159, 102, 185, 0, - 30, 177, 0, 148, 64, 167, 3, 0, 167, 3, 0, 20, 161, 126, 0, 159, 102, 162, 0, 30, 169, 0, 198, 3, 0, - 126, 149, 0, 227, 3, 0, 226, 60, 283, 0, 159, 60, 0, 198, 3, 314, 67, 126, 0, 126, 0, 0, 0, 0, 314, 67, - 126, 0, 2, 145, 126, 0, 0, 0, 0, 198, 3, 46, 0, 147, 0, 125, 55, 166, 126, 0, 31, 147, 0, 93, 136, 31, - 147, 0, 228, 189, 126, 0, 146, 31, 147, 0, 198, 3, 50, 0, 159, 3, 50, 0, 159, 3, 64, 198, 54, 42, 0, - 198, 54, 42, 0, 20, 2, 131, 126, 0, 159, 3, 64, 198, 54, 45, 0, 198, 54, 45, 0, 159, 3, 64, 198, 54, 47, - 0, 198, 54, 47, 0, 159, 3, 64, 198, 54, 43, 0, 198, 54, 43, 0, 227, 3, 125, 197, 166, 126, 10, 0, 125, - 197, 166, 126, 10, 0, 136, 2, 0, 126, 0, 227, 3, 124, 276, 166, 126, 10, 0, 276, 166, 126, 10, 0, 135, - 2, 0, 126, 0, 227, 3, 135, 0, 227, 3, 140, 0, 159, 60, 140, 0, 278, 0, 31, 0, 31, 139, 0, 165, 0, 134, - 0, 159, 3, 0 }; - } - - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - - @Override - public final int scopeRhs(int index) { - return scopeRhs[index]; - } - - public interface ScopeState { - public final static char scopeState[] = { 0, 6247, 6371, 6352, 6345, 0, 2420, 2827, 2091, 2762, 0, 5209, 5147, - 5085, 5023, 4961, 4899, 4837, 4775, 4713, 4483, 4421, 4263, 0, 1307, 0, 2486, 701, 0, 5209, 5147, 3109, - 2556, 5085, 5023, 4961, 4899, 4837, 4775, 2498, 4713, 4483, 4421, 2364, 2358, 0, 2399, 1316, 1266, 0, - 2597, 1304, 0, 2614, 1499, 0, 723, 704, 0, 903, 5951, 0, 6159, 5370, 0, 6215, 6147, 0, 6215, 6147, 5794, - 6121, 6108, 5781, 6047, 5986, 5768, 5970, 5209, 5147, 5085, 5023, 4961, 4899, 4837, 4775, 4713, 4483, - 4421, 0, 6215, 6147, 5794, 6121, 6108, 5781, 6047, 5986, 5768, 5970, 0, 2994, 2663, 0, 3382, 3445, 3628, - 3537, 3862, 3822, 3710, 672, 2966, 996, 2900, 2834, 2768, 2702, 2636, 2570, 2504, 2438, 2372, 2306, - 2240, 927, 835, 766, 0, 2733, 866, 0, 794, 0, 654, 5938, 4600, 3474, 3902, 2956, 4187, 2428, 3008, 6241, - 4666, 4585, 6182, 2939, 1400, 0, 6189, 6055, 6048, 5964, 5790, 5769, 5176, 5114, 6068, 5803, 4441, 4333, - 5052, 4990, 4928, 4866, 4804, 4250, 3939, 923, 3377, 718, 4742, 4230, 0, 6159, 5370, 600, 5866, 4235, 0, - 5938, 903, 3902, 5951, 4585, 4572, 4350, 2601, 2271, 654, 4378, 2469, 4187, 3889, 3849, 0, 1859, 1812, - 6189, 6055, 6048, 1765, 1718, 5964, 1671, 5790, 5769, 2141, 5176, 2094, 5114, 6068, 2047, 2000, 1953, - 1906, 5775, 5803, 1607, 4441, 1513, 4333, 1561, 5052, 4990, 1414, 4928, 4866, 1269, 4804, 4250, 2235, - 3939, 923, 3377, 2188, 718, 4742, 5866, 4230, 814, 4235, 2864, 2402, 1618, 799, 4572, 4350, 2601, 2271, - 654, 5938, 4378, 903, 3902, 2469, 4187, 5951, 2798, 1062, 1027, 2733, 866, 4585, 3889, 3849, 5746, 2966, - 4200, 996, 3382, 2900, 2834, 2768, 2702, 2636, 2570, 2504, 2438, 2372, 2306, 2240, 3445, 3628, 3537, - 3862, 3822, 3710, 4160, 4133, 4106, 5723, 672, 5700, 927, 835, 766, 1080, 1324, 3593, 3501, 3790, 3758, - 3676, 4395, 4307, 4079, 4052, 4020, 3993, 5346, 5322, 5298, 4688, 4612, 5677, 5654, 5631, 5608, 5585, - 5561, 5532, 5509, 5442, 5416, 5385, 3032, 3319, 3277, 3220, 3178, 3121, 3079, 2193, 2146, 1471, 2099, - 2052, 2005, 1958, 1911, 1864, 1817, 1770, 1723, 1676, 1629, 600, 1424, 1372, 1565, 1519, 1277, 1173, - 1126, 1222, 0, 901, 891, 803, 653, 4666, 4585, 4572, 3167, 4435, 3889, 645, 3849, 0, 4727, 4850, 4724, - 1076, 0 }; - } - - public final static char scopeState[] = ScopeState.scopeState; - - @Override - public final int scopeState(int index) { - return scopeState[index]; - } - - public interface InSymb { - public final static char inSymb[] = { 0, 0, 313, 55, 10, 41, 54, 243, 243, 127, 70, 70, 309, 149, 127, 174, 64, - 68, 70, 231, 211, 60, 222, 223, 200, 195, 6, 124, 131, 8, 132, 126, 4, 3, 127, 256, 257, 236, 258, 235, - 259, 56, 287, 260, 124, 10, 126, 127, 3, 41, 50, 42, 45, 47, 43, 10, 135, 3, 126, 46, 40, 6, 35, 34, 5, - 7, 37, 36, 140, 145, 147, 146, 153, 148, 156, 155, 158, 157, 160, 59, 162, 70, 70, 226, 162, 3, 3, 124, - 123, 54, 54, 174, 60, 3, 66, 67, 54, 189, 165, 166, 231, 211, 127, 220, 126, 176, 164, 327, 288, 322, - 288, 126, 189, 166, 220, 127, 243, 3, 54, 54, 54, 54, 126, 3, 198, 159, 127, 66, 67, 166, 3, 125, 117, - 119, 3, 60, 91, 98, 35, 34, 100, 99, 5, 90, 89, 64, 54, 86, 87, 7, 93, 92, 95, 94, 96, 112, 111, 110, - 109, 108, 107, 106, 105, 104, 103, 70, 102, 101, 127, 127, 127, 127, 127, 60, 60, 127, 4, 197, 240, 241, - 242, 126, 166, 7, 5, 127, 166, 243, 125, 124, 126, 123, 164, 126, 166, 55, 70, 198, 159, 198, 198, 198, - 198, 166, 227, 127, 152, 285, 135, 125, 124, 10, 126, 60, 314, 3, 198, 55, 126, 55, 227, 159, 146, 146, - 145, 145, 145, 148, 148, 148, 148, 147, 147, 155, 153, 153, 157, 156, 158, 159, 160, 240, 240, 272, 127, - 250, 3, 167, 148, 175, 169, 183, 177, 184, 185, 274, 272, 220, 272, 278, 197, 152, 68, 166, 176, 176, - 326, 126, 170, 237, 61, 55, 215, 63, 172, 329, 125, 124, 244, 244, 189, 164, 127, 189, 197, 126, 64, 64, - 64, 64, 197, 276, 68, 126, 166, 216, 3, 315, 174, 150, 189, 166, 71, 152, 152, 256, 257, 258, 259, 336, - 260, 10, 167, 90, 89, 54, 7, 93, 92, 95, 94, 96, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 70, - 102, 101, 68, 4, 127, 5, 127, 166, 263, 239, 54, 55, 292, 294, 127, 3, 195, 244, 244, 127, 127, 197, - 127, 290, 123, 291, 3, 3, 3, 3, 125, 124, 166, 55, 198, 127, 127, 228, 6, 55, 127, 127, 126, 64, 148, - 148, 148, 169, 167, 167, 177, 175, 183, 159, 184, 229, 173, 176, 197, 164, 263, 64, 54, 126, 74, 127, - 220, 328, 71, 303, 211, 124, 127, 127, 127, 71, 290, 289, 70, 68, 159, 159, 159, 159, 3, 3, 197, 152, - 280, 283, 60, 190, 4, 123, 125, 229, 229, 166, 148, 71, 127, 127, 128, 127, 164, 27, 55, 172, 65, 61, - 63, 127, 189, 127, 295, 71, 68, 71, 70, 220, 331, 237, 22, 126, 289, 227, 227, 125, 127, 3, 60, 159, 4, - 127, 127, 197, 59, 253, 255, 127, 38, 127, 3, 123, 61, 309, 128, 295, 164, 307, 126, 308, 68, 126, 22, - 332, 189, 280, 227, 226, 3, 253, 127, 164, 286, 266, 293, 38, 70, 126, 64, 296, 127, 68, 189, 3, 189, - 126, 126, 338, 127, 3, 70, 68, 152, 126, 189, 127, 318, 79, 77, 1, 159, 9, 85, 83, 81, 80, 75, 82, 84, - 78, 76, 61, 74, 227, 189, 189, 68, 253, 150, 164, 271, 189, 239, 297, 113, 9, 71, 226, 71, 3, 3, 3, 204, - 3, 123, 159, 123, 188, 127, 164, 239, 3, 71, 238, 174, 238, 320, 149, 75, 238, 127, 127, 97, 337, 174, - 152, 211, 152, 319, 127, 3, 152, 297, 325, 152, 152, 127, 70, 204, 161, 286, 159, 203, 68, 121, 317, - 152, 203, 9, 152 }; - } - - public final static char inSymb[] = InSymb.inSymb; - - @Override - public final int inSymb(int index) { - return inSymb[index]; - } - - public interface Name { - public final static String name[] = { "", "[", "(", ".", ".*", "->", "->*", "++", "--", "&", "*", "+", "-", "~", - "!", "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "::", - "...", "=", "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", "$empty", "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", - "ERROR_TOKEN", "EOF_TOKEN", "type_parameter_start", "]", ")", "}", ";", "{", "identifier_token", - "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_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" }; - } - - public final static String name[] = Name.name; - - @Override - public final String name(int index) { - return name[index]; - } - - public final static int ERROR_SYMBOL = 62, SCOPE_UBOUND = 121, SCOPE_SIZE = 122, MAX_NAME_LENGTH = 43; - - @Override - public final int getErrorSymbol() { - return ERROR_SYMBOL; - } - - @Override - public final int getScopeUbound() { - return SCOPE_UBOUND; - } - - @Override - public final int getScopeSize() { - return SCOPE_SIZE; - } - - @Override - public final int getMaxNameLength() { - return MAX_NAME_LENGTH; - } - - public final static int NUM_STATES = 604, NT_OFFSET = 122, LA_STATE_OFFSET = 7583, MAX_LA = 2147483647, - NUM_RULES = 599, NUM_NONTERMINALS = 225, NUM_SYMBOLS = 347, SEGMENT_SIZE = 8192, START_STATE = 1076, - IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, ACCEPT_ACTION = 6544, ERROR_ACTION = 6984; - - public final static boolean BACKTRACK = true; - - @Override - public final int getNumStates() { - return NUM_STATES; - } - - @Override - public final int getNtOffset() { - return NT_OFFSET; - } - - @Override - public final int getLaStateOffset() { - return LA_STATE_OFFSET; - } - - @Override - public final int getMaxLa() { - return MAX_LA; - } - - @Override - public final int getNumRules() { - return NUM_RULES; - } - - @Override - public final int getNumNonterminals() { - return NUM_NONTERMINALS; - } - - @Override - public final int getNumSymbols() { - return NUM_SYMBOLS; - } - - @Override - public final int getSegmentSize() { - return SEGMENT_SIZE; - } - - @Override - public final int getStartState() { - return START_STATE; - } - - @Override - public final int getStartSymbol() { - return lhs[0]; - } - - public final int getIdentifierSymbol() { - return IDENTIFIER_SYMBOL; - } - - @Override - public final int getEoftSymbol() { - return EOFT_SYMBOL; - } - - @Override - public final int getEoltSymbol() { - return EOLT_SYMBOL; - } - - @Override - public final int getAcceptAction() { - return ACCEPT_ACTION; - } - - @Override - public final int getErrorAction() { - return ERROR_ACTION; - } - - @Override - public final boolean isValidForParser() { - return isValidForParser; - } - - @Override - public final boolean getBacktrack() { - return BACKTRACK; - } - - @Override - public final int originalState(int state) { - return -baseCheck[state]; - } - - @Override - public final int asi(int state) { - return asb[originalState(state)]; - } - - @Override - public final int nasi(int state) { - return nasb[originalState(state)]; - } - - @Override - public final int inSymbol(int state) { - return inSymb[originalState(state)]; - } - - @Override - public final int ntAction(int state, int sym) { - return baseAction[state + sym]; - } - - @Override - public final int tAction(int state, int sym) { - int i = baseAction[state], k = i + sym; - return termAction[termCheck[k] == sym ? k : i]; - } - - @Override - 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/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java deleted file mode 100644 index b6ab6601a4f..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2010 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.cpp; - -public interface CPPTemplateTypeParameterParsersym { - public final static int TK_asm = 65, TK_auto = 25, TK_bool = 11, TK_break = 76, TK_case = 77, TK_catch = 113, - TK_char = 12, TK_class = 41, TK_const = 23, TK_const_cast = 42, TK_continue = 78, TK_default = 79, - TK_delete = 66, TK_do = 80, TK_double = 13, TK_dynamic_cast = 43, TK_else = 121, TK_enum = 56, - TK_explicit = 26, TK_export = 88, TK_extern = 27, TK_false = 44, TK_float = 14, TK_for = 81, TK_friend = 28, - TK_goto = 82, TK_if = 83, TK_inline = 29, TK_int = 15, TK_long = 16, TK_mutable = 30, TK_namespace = 61, - TK_new = 67, TK_operator = 8, TK_private = 114, TK_protected = 115, TK_public = 116, TK_register = 31, - TK_reinterpret_cast = 45, TK_return = 84, TK_short = 17, TK_signed = 18, TK_sizeof = 46, TK_static = 32, - TK_static_cast = 47, TK_struct = 57, TK_switch = 85, TK_template = 55, TK_this = 48, TK_throw = 59, - TK_try = 74, TK_true = 49, TK_typedef = 33, TK_typeid = 50, TK_typename = 10, TK_union = 58, - TK_unsigned = 19, TK_using = 63, TK_virtual = 22, TK_void = 20, TK_volatile = 24, TK_wchar_t = 21, - TK_while = 75, TK_integer = 51, TK_floating = 52, TK_charconst = 53, TK_stringlit = 38, TK_identifier = 1, - TK_Completion = 2, TK_EndOfCompletion = 9, TK_Invalid = 122, TK_LeftBracket = 60, TK_LeftParen = 3, - TK_Dot = 119, TK_DotStar = 98, TK_Arrow = 117, TK_ArrowStar = 91, TK_PlusPlus = 36, TK_MinusMinus = 37, - TK_And = 7, TK_Star = 5, TK_Plus = 34, TK_Minus = 35, TK_Tilde = 6, TK_Bang = 40, TK_Slash = 99, - TK_Percent = 100, TK_RightShift = 86, TK_LeftShift = 87, TK_LT = 54, TK_GT = 64, TK_LE = 89, TK_GE = 90, - TK_EQ = 92, TK_NE = 93, TK_Caret = 94, TK_Or = 95, TK_AndAnd = 96, TK_OrOr = 101, TK_Question = 102, - TK_Colon = 71, TK_ColonColon = 4, TK_DotDotDot = 97, TK_Assign = 70, TK_StarAssign = 103, - TK_SlashAssign = 104, TK_PercentAssign = 105, TK_PlusAssign = 106, TK_MinusAssign = 107, - TK_RightShiftAssign = 108, TK_LeftShiftAssign = 109, TK_AndAssign = 110, TK_CaretAssign = 111, - TK_OrAssign = 112, TK_Comma = 68, TK_RightBracket = 118, TK_RightParen = 72, TK_RightBrace = 73, - TK_SemiColon = 39, TK_LeftBrace = 69, TK_ERROR_TOKEN = 62, TK_EOF_TOKEN = 120; - - public final static String orderedTerminalSymbols[] = { "", "identifier", "Completion", "LeftParen", "ColonColon", - "Star", "Tilde", "And", "operator", "EndOfCompletion", "typename", "bool", "char", "double", "float", "int", - "long", "short", "signed", "unsigned", "void", "wchar_t", "virtual", "const", "volatile", "auto", - "explicit", "extern", "friend", "inline", "mutable", "register", "static", "typedef", "Plus", "Minus", - "PlusPlus", "MinusMinus", "stringlit", "SemiColon", "Bang", "class", "const_cast", "dynamic_cast", "false", - "reinterpret_cast", "sizeof", "static_cast", "this", "true", "typeid", "integer", "floating", "charconst", - "LT", "template", "enum", "struct", "union", "throw", "LeftBracket", "namespace", "ERROR_TOKEN", "using", - "GT", "asm", "delete", "new", "Comma", "LeftBrace", "Assign", "Colon", "RightParen", "RightBrace", "try", - "while", "break", "case", "continue", "default", "do", "for", "goto", "if", "return", "switch", - "RightShift", "LeftShift", "export", "LE", "GE", "ArrowStar", "EQ", "NE", "Caret", "Or", "AndAnd", - "DotDotDot", "DotStar", "Slash", "Percent", "OrOr", "Question", "StarAssign", "SlashAssign", - "PercentAssign", "PlusAssign", "MinusAssign", "RightShiftAssign", "LeftShiftAssign", "AndAssign", - "CaretAssign", "OrAssign", "catch", "private", "protected", "public", "Arrow", "RightBracket", "Dot", - "EOF_TOKEN", "else", "Invalid" }; - - public final static boolean isValidForParser = true; -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java deleted file mode 100644 index ff441f30a97..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java +++ /dev/null @@ -1,1812 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.gcc; - -import java.util.List; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.IASTCastExpression; -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.dom.lrparser.IParser; -import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.gnu.GCCBuildASTParserAction; -import org.eclipse.cdt.core.dom.lrparser.action.gnu.GCCSecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.action.gnu.GNUBuildASTParserAction; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; - -import lpg.lpgjavaruntime.BadParseException; -import lpg.lpgjavaruntime.BadParseSymFileException; -import lpg.lpgjavaruntime.DiagnoseParser; -import lpg.lpgjavaruntime.ErrorToken; -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.LexStream; -import lpg.lpgjavaruntime.Monitor; -import lpg.lpgjavaruntime.NotBacktrackParseTableException; -import lpg.lpgjavaruntime.NullExportedSymbolsException; -import lpg.lpgjavaruntime.NullTerminalSymbolsException; -import lpg.lpgjavaruntime.ParseErrorCodes; -import lpg.lpgjavaruntime.ParseTable; -import lpg.lpgjavaruntime.PrsStream; -import lpg.lpgjavaruntime.RuleAction; -import lpg.lpgjavaruntime.UndefinedEofSymbolException; -import lpg.lpgjavaruntime.UnimplementedTerminalsException; - -public class GCCParser extends PrsStream - implements RuleAction, ITokenStream, ITokenCollector, IParser - -{ - private static ParseTable prs = new GCCParserprs(); - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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 GCCParser(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), GCCParserprs.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(" " + GCCParsersym.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " - + GCCParsersym.orderedTerminalSymbols[GCCParserprs.EOFT_SYMBOL])); - } - } - - @Override - public String[] orderedTerminalSymbols() { - return GCCParsersym.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return GCCParsersym.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return GCCParserprs.EOFT_SYMBOL; - } - - public PrsStream getParseStream() { - return 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, this, prs, this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException("Regenerate GCCParserprs.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- GCCParsersym.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 GCCBuildASTParserAction action; - private IASTCompletionNode compNode; - - public GCCParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, - IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new GCCBuildASTParserAction(this, astStack, CNodeFactory.getDefault(), - GCCSecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - gnuAction = new GNUBuildASTParserAction(this, astStack, CNodeFactory.getDefault()); - gnuAction.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - 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(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return GCCParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "GCCParser"; - } - - private GNUBuildASTParserAction gnuAction; - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 ::= 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 ::= { 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 init_declarator_list ; - // - case 129: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 130: declaration_specifiers ::= simple_declaration_specifiers - // - case 130: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 131: declaration_specifiers ::= struct_or_union_declaration_specifiers - // - case 131: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 132: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 132: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 133: declaration_specifiers ::= enum_declaration_specifiers - // - case 133: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 134: declaration_specifiers ::= 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 { 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 { 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 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 { enumerator_list_opt comma_opt } - // - case 205: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { 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 ::= 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 ( 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 ::= pointer_seq function_direct_declarator - // - case 234: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) - // - case 235: { - action.consumeDirectDeclaratorFunctionDeclaratorKnR(); - break; - } - - // - // Rule 237: knr_function_declarator ::= 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 ::= [ 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 ::= [ 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 array_modifier_type_qualifiers assignment_expression ] - // - case 245: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); - break; - } - - // - // Rule 246: array_modifier ::= [ 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 ::= [ 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 type_qualifier_list - // - case 252: { - action.consumePointerTypeQualifierList(); - break; - } - - // - // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook 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 ::= pointer_seq - // - case 269: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 270: abstract_declarator ::= 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 ::= ( parameter_type_list ) - // - case 280: { - action.consumeDirectDeclaratorFunctionDeclarator(false, true); - break; - } - - // - // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( 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 { initializer_seq comma_opt } end_initializer_list - // - case 284: { - action.consumeInitializerList(); - break; - } - - // - // Rule 285: initializer_list ::= { } - // - 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 ::= 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 ::= function_declarator function_body - // - case 311: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 312: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement - // - case 312: { - action.consumeFunctionDefinitionKnR(); - break; - } - - // - // Rule 313: normal_function_definition ::= declaration_specifiers function_declarator function_body - // - case 313: { - action.consumeFunctionDefinition(true); - break; - } - - // - // Rule 314: function_body ::= { } - // - case 314: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 315: function_body ::= { 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 : 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 ::= 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 ::= field_name_designator initializer - // - case 387: { - action.consumeInitializerDesignated(); - break; - } - - // - // Rule 388: block_item ::= normal_function_definition - // - case 388: { - action.consumeStatementDeclaration(); - break; - } - - default: - break; - } - return; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java deleted file mode 100644 index f6e3cb81da3..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java +++ /dev/null @@ -1,1035 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.gcc; - -public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym { - - 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 }; - } - - 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, -105, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -2, 0, 0, 0, 0, 0, 0, -351, -312, 0, 0, -41, -224, 0, 0, 0, -111, -260, 0, -7, 0, 0, 0, 0, 0, 0, - -222, 0, -84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32, 0, 0, 0, 0, -3, -35, -107, 0, -58, 0, 0, - 0, -146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, -120, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -10, -11, -253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -221, 0, 0, 0, 0, 0, 0, 0, 0, -62, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -190, 0, 0, 0, 0, 0, 0, 0, 0, - -4, 0, 0, 0, -360, 0, 0, 0, 0, 0, 0, 0, -42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -109, -112, 0, -209, 0, 0, 0, 0, 0, 0, 0, 0, 0, -80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -314, 0, 0, - 0, -33, 0, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -172, 0, -295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -24, 0, 0, 0, 0, -25, 0, 0, 0, 0, 0, 0, -37, -123, 0, 0, 0, 0, 0, 0, 0, 0, -36, -108, 0, -345, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -38, -274, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -257, 0, -81, 0, 0, 0, 0, 0, 0, 0, 0, 0, -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -121, -63, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -210, 0, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -245, 0, 0, -40, - -30, -347, 0, 0, 0, 0, 0, 0, 0, 0, 0, -47, 0, 0, 0, 0, 0, 0, 0, -43, 0, 0, 0, 0, 0, 0, -44, -205, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -54, -361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -56, 0, 0, 0, 0, - 0, 0, -239, -64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -79, 0, 0, 0, 0, 0, 0, 0, 0, 0, -49, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -310, -65, 0, 0, 0, 0, 0, 0, 0, 0, 0, -241, 0, 0, 0, 0, 0, 0, 0, 0, 0, -31, -71, - 0, 0, 0, 0, 0, 0, -73, 0, 0, 0, 0, 0, 0, 0, -50, 0, 0, -119, 0, 0, 0, 0, 0, 0, 0, 0, 0, -106, -29, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -74, -151, 0, 0, 0, 0, 0, 0, 0, 0, 0, -51, 0, 0, 0, 0, 0, 0, 0, -85, 0, - 0, 0, 0, 0, 0, -182, 0, -86, 0, 0, 0, 0, 0, 0, 0, -90, 0, 0, -141, 0, 0, 0, 0, -72, 0, 0, 0, 0, 0, 0, - -92, -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -113, 0, 0, 0, 0, 0, 0, -258, -28, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -333, 0, -122, 0, 0, 0, 0, 0, 0, 0, -143, 0, -87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -8, -124, 0, 0, -265, 0, 0, -117, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, -27, 0, -126, -89, 0, 0, -296, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -59, 0, -183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, - 0, 0, 0, 0, -217, 0, -127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -128, 0, 0, 0, -75, -256, 0, 0, - 0, 0, 0, -129, 0, 0, -188, 0, 0, 0, 0, 0, 0, -130, 0, -191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -131, -101, - 0, 0, 0, 0, -132, 0, 0, 0, 0, 0, 0, -91, 0, 0, 0, -192, 0, 0, 0, 0, 0, 0, 0, 0, 0, -133, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -142, -193, 0, 0, 0, 0, 0, 0, 0, 0, 0, -153, -246, 0, 0, 0, 0, 0, 0, -136, 0, - 0, 0, 0, 0, 0, 0, -194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -259, -137, 0, 0, 0, 0, -102, 0, 0, 0, 0, 0, 0, - -149, -195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -175, 0, -261, 0, 0, 0, 0, -176, 0, 0, 0, 0, 0, 0, 0, -196, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -343, -227, 0, 0, 0, 0, -103, 0, 0, 0, 0, 0, 0, -138, -197, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -348, - 0, 0, 0, 0, 0, -144, 0, 0, 0, 0, 0, 0, -228, -199, 0, 0, 0, 0, 0, 0, 0, 0, 0, -135, -160, 0, 0, 0, 0, 0, - 0, -154, 0, 0, 0, 0, 0, 0, 0, -200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -163, -297, 0, 0, 0, 0, 0, -156, 0, 0, - 0, 0, 0, 0, -326, -201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -225, 0, 0, 0, 0, 0, 0, -164, 0, 0, 0, 0, 0, 0, 0, - -266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -244, -145, 0, 0, 0, 0, 0, -167, 0, 0, 0, 0, 0, 0, -249, -271, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -252, -334, 0, 0, 0, 0, 0, -168, 0, 0, 0, 0, 0, 0, -335, -272, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -340, -353, -309, 0, 0, 0, 0, -169, 0, 0, 0, 0, 0, 0, 0, -303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -273, 0, 0, 0, 0, 0, 0, -170, 0, 0, 0, 0, 0, 0, -311, 0, -324, 0, 0, 0, 0, 0, 0, 0, 0, 0, -367, 0, 0, 0, - 0, 0, -171, 0, 0, 0, 0, 0, 0, -322, 0, -320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -181, 0, 0, 0, - 0, 0, 0, 0, -323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -321, -147, 0, 0, 0, 0, -185, 0, 0, 0, 0, 0, 0, 0, - -336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -363, 0, 0, 0, 0, 0, 0, -223, 0, 0, 0, 0, 0, 0, -349, 0, -148, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -150, -152, 0, 0, 0, 0, -240, 0, 0, 0, 0, 0, 0, -357, 0, -155, 0, 0, 0, 0, 0, 0, 0, - -344, 0, 0, -157, 0, 0, 0, 0, -242, 0, 0, 0, 0, 0, 0, -364, 0, -166, 0, 0, 0, 0, 0, 0, 0, -177, 0, 0, - -178, 0, 0, 0, 0, -243, 0, 0, 0, 0, 0, 0, -370, 0, -184, 0, 0, 0, 0, 0, 0, 0, -226, 0, 0, 0, 0, 0, 0, 0, - -231, 0, 0, 0, 0, 0, 0, -83, 0, 0, -67, 0, -263, 0, 0, 0, 0, 0, 0, 0, -211, 0, -235, 0, 0, 0, 0, 0, 0, - 0, 0, -236, 0, 0, 0, 0, 0, 0, -250, -362, -325, 0, -251, -267, 0, 0, 0, 0, 0, 0, 0, 0, -275, -139, 0, 0, - -220, 0, -276, 0, 0, 0, 0, 0, 0, 0, -371, 0, 0, -277, 0, 0, 0, 0, -278, 0, 0, 0, 0, 0, -270, -279, 0, 0, - 0, -280, -281, -313, 0, -282, -283, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, 0, -284, -341, -60, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -23, -374, 0, 0, 0, -22, -285, 0, 0, 0, -286, -298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -238, 0, 0, -300, 0, -301, 0, 0, 0, -287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -306, 0, 0, 0, 0, 0, 0, -288, 0, 0, 0, -269, 0, 0, 0, 0, 0, -317, 0, 0, 0, 0, 0, -289, -61, 0, 0, 0, 0, - 0, 0, 0, -316, -290, 0, 0, 0, 0, -291, -292, 0, 0, 0, 0, 0, 0, -115, -319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -293, 0, -134, -294, 0, 0, 0, 0, 0, 0, 0, 0, -299, 0, 0, -337, 0, 0, 0, 0, 0, 0, 0, 0, -186, -346, 0, - -247, -342, 0, 0, 0, -354, 0, 0, 0, 0, 0, -350, -365, 0, 0, 0, 0, -355, -159, 0, 0, 0, 0, 0, 0, -308, 0, - 0, -373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -76, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -161, 0, 0, 0, 0, 0, 0, 0, 0, - -165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -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, -254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, -46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -356, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -187, 0, 0, 0, 0, 0, 0, 0, - 0, -68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -248, 0, 0, 0, 0, 0, - -93, 0, 0, 0, 0, 0, 0, -338, 0, 0, 0, 0, 0, 0, -104, 0, 0, 0, 0, 0, 0, 0, -34, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -110, 0, 0, -82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -332, -70, 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, 0, 0, 0, 0, -237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -302, 0, 0, -48, 0, 0, 0, -304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -315, -230, 0, 0, 0, -328, - 0, 0, 0, 0, 0, 0, 0, 0, -206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -330, 0, 0, 0, 0, 0, 0, -331, 0, 0, 0, 0, 0, 0, -202, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -368, 0, 0, 0, 0, 0, 0, -372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -375, 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, -262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -207, 0, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -15, 0, 0, 0, 0, 0, 0, 0, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -19, 0, 0, 0, 0, 0, 0, 0, -21, 0, 0, 0, 0, 0, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -140, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -213, 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, 0, 0, -215, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -232, -174, 0, 0, 0, 0, -216, 0, 0, 0, 0, 0, 0, 0, 0, 0, -53, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -6, 0, 0, -208, 0, -20, 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, -39, 0, 0, -307, -57, 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, -233, 0, 0, 0, 0, 0, 0, 0, 0, -55, -98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -99, 0, 0, 0, 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, - -173, 0, 0, -327, 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, -203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -268, -352, 0, 0, 0, 0, 0, 0, -255, -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, -305, 0, 0, 0, -17, 0, 0, - 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18, -366, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -88, 0, 0, -329, -162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -179, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, 0, 0, 0, -339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -358, 0, 0, 0, -118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -158, 0, 0, 0, -359, 0, 0, 0, -369, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[index]; - } - - public interface BaseAction { - public final static char baseAction[] = { 121, 2, 122, 49, 49, 18, 18, 53, 53, 26, 26, 1, 1, 3, 3, 3, 3, 4, 4, - 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 88, 88, 103, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 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, 38, 31, 25, 123, 123, 104, 104, 62, 39, 39, 39, 39, 39, 39, 39, - 40, 40, 40, 30, 30, 105, 105, 77, 77, 41, 41, 42, 42, 42, 71, 71, 43, 43, 43, 43, 43, 44, 44, 44, 44, - 44, 60, 60, 29, 29, 29, 29, 29, 54, 54, 54, 95, 95, 90, 90, 90, 90, 91, 91, 91, 92, 92, 92, 93, 93, 93, - 94, 94, 94, 89, 89, 82, 82, 83, 55, 57, 57, 57, 57, 57, 72, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 81, 78, 78, 124, 125, 84, 84, 79, 79, 79, 96, 106, 106, 107, 107, 97, 97, 97, 58, 126, 126, 108, 98, - 98, 98, 80, 80, 127, 109, 109, 110, 110, 99, 99, 32, 33, 33, 33, 56, 52, 52, 45, 45, 45, 45, 34, 34, 35, - 46, 46, 47, 36, 36, 100, 100, 48, 129, 129, 128, 128, 59, 59, 59, 59, 59, 59, 59, 59, 59, 111, 63, 63, - 63, 63, 37, 85, 85, 75, 75, 75, 76, 76, 65, 65, 130, 130, 64, 64, 86, 86, 86, 66, 66, 66, 67, 68, 68, - 68, 69, 69, 69, 69, 73, 73, 50, 50, 51, 132, 131, 131, 131, 131, 112, 133, 134, 134, 135, 135, 136, 136, - 121, 121, 137, 137, 113, 113, 113, 113, 138, 138, 114, 114, 114, 70, 115, 115, 10, 10, 10, 27, 27, 11, - 11, 139, 139, 116, 116, 116, 117, 117, 140, 140, 118, 118, 12, 12, 141, 141, 119, 119, 119, 119, 13, 61, - 142, 142, 143, 143, 120, 120, 120, 101, 101, 101, 7, 7, 7, 7, 16, 16, 24, 4, 40, 144, 102, 102, 102, 87, - 87, 29, 60, 54, 83, 83, 83, 108, 108, 108, 127, 124, 125, 37, 96, 135, 135, 145, 146, 112, 77, 329, - 1714, 247, 17, 21, 18, 898, 1031, 45, 1055, 371, 316, 317, 318, 1074, 1062, 1134, 1118, 403, 1155, 1145, - 1175, 1169, 1196, 75, 2102, 961, 1782, 92, 734, 2014, 1751, 136, 214, 115, 1679, 20, 612, 17, 21, 18, - 898, 43, 44, 1871, 20, 755, 17, 21, 18, 898, 43, 45, 1055, 138, 135, 137, 161, 1074, 1062, 1134, 1118, - 1220, 1155, 1145, 1175, 1972, 37, 339, 961, 31, 1971, 140, 2293, 167, 730, 1664, 967, 144, 147, 150, - 153, 314, 285, 2654, 28, 1230, 364, 129, 232, 499, 2636, 2662, 2688, 2696, 1072, 1456, 180, 1865, 823, - 87, 111, 2702, 349, 1711, 96, 371, 316, 317, 318, 651, 712, 1542, 1263, 1744, 95, 97, 98, 99, 100, 371, - 316, 317, 318, 1163, 211, 967, 229, 136, 214, 656, 225, 233, 1871, 20, 941, 17, 21, 18, 898, 43, 40, - 136, 214, 255, 214, 1521, 180, 242, 88, 138, 135, 137, 161, 347, 1953, 371, 316, 317, 318, 1830, 295, - 323, 1678, 143, 135, 137, 161, 140, 419, 167, 1054, 25, 169, 144, 147, 150, 153, 136, 214, 2654, 1440, - 142, 364, 167, 1386, 499, 2636, 2662, 2688, 2696, 1072, 256, 214, 800, 128, 754, 617, 2702, 322, 138, - 135, 137, 161, 2112, 635, 967, 1871, 20, 426, 17, 21, 18, 898, 43, 45, 1055, 1971, 140, 1974, 167, 1074, - 1062, 1825, 144, 147, 150, 153, 1926, 90, 2654, 343, 1288, 364, 851, 232, 499, 2636, 2662, 2688, 2696, - 1072, 319, 316, 317, 318, 1952, 1676, 2702, 1703, 20, 1784, 17, 21, 18, 898, 1031, 45, 1055, 3068, 256, - 214, 1013, 1074, 1062, 1134, 1118, 1061, 1155, 1145, 1175, 1169, 1196, 75, 443, 1610, 20, 282, 17, 21, - 18, 898, 43, 36, 927, 961, 31, 1586, 20, 1784, 17, 21, 18, 898, 1031, 45, 1055, 28, 1230, 283, 1230, - 1074, 1062, 1134, 1118, 284, 1155, 1145, 1175, 1169, 1196, 75, 364, 1610, 20, 282, 17, 21, 18, 898, 43, - 36, 288, 2113, 247, 1643, 20, 1592, 17, 21, 18, 898, 1031, 45, 1055, 500, 3114, 283, 1230, 1074, 1062, - 1134, 1118, 228, 1155, 1145, 1175, 1169, 1196, 75, 1542, 1871, 20, 282, 17, 21, 18, 898, 43, 39, 290, - 289, 248, 1871, 20, 499, 17, 21, 18, 898, 43, 45, 1055, 28, 1230, 283, 1230, 1074, 1062, 1829, 1551, - 2014, 255, 214, 1337, 499, 1727, 20, 24, 17, 21, 18, 898, 1031, 45, 1055, 961, 188, 159, 291, 1074, - 1062, 1134, 1118, 1500, 1155, 1145, 1175, 1169, 1196, 75, 181, 1871, 20, 282, 17, 21, 18, 898, 43, 45, - 1055, 335, 396, 1751, 20, 1796, 17, 21, 18, 898, 1031, 45, 1055, 181, 549, 283, 1230, 1074, 1062, 1134, - 1118, 1082, 1155, 1145, 1175, 1169, 1196, 75, 755, 1871, 20, 282, 17, 21, 18, 898, 43, 38, 387, 226, - 993, 435, 20, 739, 17, 21, 18, 898, 1031, 45, 1055, 961, 187, 283, 1230, 1074, 1062, 1134, 1118, 311, - 1155, 1145, 1175, 1169, 1196, 75, 2014, 1871, 20, 488, 17, 21, 18, 898, 43, 37, 292, 1967, 20, 313, 17, - 21, 18, 898, 1031, 45, 1055, 49, 2036, 1138, 240, 1074, 1062, 1134, 1118, 1089, 1155, 1145, 1175, 1169, - 1196, 75, 336, 1289, 977, 332, 1919, 20, 2217, 17, 21, 18, 898, 1031, 45, 1055, 734, 115, 1843, 205, - 1074, 1062, 1134, 1118, 960, 1155, 1145, 1175, 1169, 1196, 75, 363, 1871, 20, 1148, 17, 21, 18, 898, 43, - 45, 1055, 961, 189, 324, 1678, 1074, 1062, 1134, 1118, 1500, 1155, 1145, 1175, 1169, 1196, 94, 1871, 20, - 1149, 17, 21, 18, 898, 1031, 45, 1055, 1522, 334, 105, 635, 1074, 1062, 1134, 1118, 1614, 1155, 1145, - 1175, 1169, 1196, 75, 418, 533, 20, 92, 17, 21, 18, 898, 1031, 45, 1055, 594, 1775, 330, 125, 1074, - 1062, 1134, 1118, 1339, 1155, 1145, 1175, 1169, 1196, 75, 2131, 1775, 20, 1535, 17, 21, 18, 898, 367, - 1914, 941, 1967, 20, 426, 17, 21, 18, 898, 1031, 45, 1055, 961, 1367, 1082, 241, 1074, 1062, 1134, 1118, - 346, 1155, 1145, 1175, 1169, 1196, 75, 413, 1779, 2879, 332, 1971, 342, 2452, 419, 36, 1996, 319, 316, - 317, 318, 28, 1230, 985, 1711, 1521, 180, 868, 49, 279, 2017, 920, 337, 967, 2279, 371, 316, 317, 318, - 1766, 128, 673, 225, 773, 1799, 20, 823, 17, 21, 18, 898, 356, 219, 457, 222, 701, 88, 136, 214, 621, - 1871, 20, 116, 17, 21, 18, 898, 43, 36, 1871, 20, 416, 17, 21, 18, 898, 43, 45, 1055, 139, 135, 137, - 161, 1074, 1062, 1134, 1118, 798, 1897, 156, 663, 537, 916, 535, 535, 22, 451, 141, 325, 167, 331, 823, - 1419, 145, 148, 151, 154, 774, 1478, 2654, 1871, 20, 365, 17, 21, 18, 898, 1031, 45, 1055, 1061, 2092, - 355, 1082, 1074, 1062, 1134, 1118, 1116, 1155, 1145, 1175, 1169, 1196, 75, 49, 897, 2083, 86, 1871, 20, - 361, 17, 21, 18, 898, 1031, 45, 1055, 1037, 244, 308, 370, 1074, 1062, 1134, 1118, 261, 1155, 1145, - 1175, 1169, 1196, 75, 635, 1871, 20, 85, 17, 21, 18, 898, 1031, 45, 1055, 419, 419, 1888, 2024, 1074, - 1062, 1134, 1118, 1524, 1155, 1145, 1175, 1169, 1196, 75, 124, 1871, 20, 84, 17, 21, 18, 898, 1031, 45, - 1055, 128, 196, 2149, 2035, 1074, 1062, 1134, 1118, 1082, 1155, 1145, 1175, 1169, 1196, 75, 635, 1871, - 20, 83, 17, 21, 18, 898, 1031, 45, 1055, 636, 804, 1960, 2152, 1074, 1062, 1134, 1118, 1992, 1155, 1145, - 1175, 1169, 1196, 75, 112, 1871, 20, 82, 17, 21, 18, 898, 1031, 45, 1055, 28, 1230, 601, 635, 1074, - 1062, 1134, 1118, 1082, 1155, 1145, 1175, 1169, 1196, 75, 1547, 1871, 20, 81, 17, 21, 18, 898, 1031, 45, - 1055, 19, 28, 1230, 127, 1074, 1062, 1134, 1118, 276, 1155, 1145, 1175, 1169, 1196, 75, 277, 1871, 20, - 80, 17, 21, 18, 898, 1031, 45, 1055, 28, 1230, 961, 297, 1074, 1062, 1134, 1118, 1251, 1155, 1145, 1175, - 1169, 1196, 75, 635, 1871, 20, 79, 17, 21, 18, 898, 1031, 45, 1055, 49, 49, 419, 2251, 1074, 1062, 1134, - 1118, 2050, 1155, 1145, 1175, 1169, 1196, 75, 123, 1871, 20, 78, 17, 21, 18, 898, 1031, 45, 1055, 1669, - 1782, 635, 501, 1074, 1062, 1134, 1118, 1112, 1155, 1145, 1175, 1169, 1196, 75, 635, 1871, 20, 77, 17, - 21, 18, 898, 1031, 45, 1055, 339, 49, 2975, 638, 1074, 1062, 1134, 1118, 1082, 1155, 1145, 1175, 1169, - 1196, 75, 3025, 1871, 20, 76, 17, 21, 18, 898, 1031, 45, 1055, 231, 49, 1271, 2882, 1074, 1062, 1134, - 1118, 1082, 1155, 1145, 1175, 1169, 1196, 75, 1300, 1871, 20, 93, 17, 21, 18, 898, 1031, 45, 1055, 712, - 1878, 2014, 1831, 1074, 1062, 1134, 1118, 1082, 1155, 1145, 1175, 1169, 1196, 75, 1364, 1871, 20, 1576, - 17, 21, 18, 898, 1031, 45, 1055, 1018, 2014, 635, 1300, 1074, 1062, 1134, 1118, 1082, 1155, 1145, 1175, - 1169, 1196, 75, 195, 1871, 20, 1612, 17, 21, 18, 898, 43, 45, 1055, 1250, 823, 3090, 182, 1074, 1062, - 1134, 1118, 1082, 1155, 1145, 1175, 1169, 1196, 94, 1871, 20, 1682, 17, 21, 18, 898, 43, 45, 1055, 876, - 424, 635, 206, 1074, 1062, 1134, 1118, 1082, 1155, 1145, 1175, 1169, 1196, 94, 1871, 20, 823, 17, 21, - 18, 898, 1031, 45, 1055, 243, 1277, 363, 118, 1074, 1062, 1134, 1118, 1082, 1155, 1145, 1175, 1169, - 1196, 75, 1509, 1871, 20, 360, 17, 21, 18, 898, 1031, 45, 1055, 23, 213, 823, 1415, 1074, 1062, 1134, - 1118, 1082, 1155, 1145, 1175, 1169, 1196, 75, 245, 1871, 20, 74, 17, 21, 18, 898, 43, 45, 1055, 352, - 961, 299, 1686, 1074, 1062, 1134, 1118, 2091, 1155, 1145, 1175, 1169, 1196, 94, 1871, 20, 1543, 17, 21, - 18, 898, 43, 45, 1055, 246, 235, 677, 1058, 1074, 1062, 1134, 1118, 1082, 1155, 1145, 1175, 1169, 1196, - 94, 1871, 20, 1646, 17, 21, 18, 898, 43, 45, 1055, 2014, 321, 203, 1673, 1074, 1062, 1134, 1118, 1082, - 1155, 1145, 1175, 1169, 1196, 94, 1871, 20, 848, 17, 21, 18, 898, 43, 45, 1055, 1128, 341, 1783, 789, - 1074, 1062, 1134, 1118, 1082, 1155, 1145, 1175, 1169, 1196, 94, 1871, 20, 1243, 17, 21, 18, 898, 43, 45, - 1055, 67, 340, 204, 562, 1074, 1062, 1134, 1118, 569, 1155, 1145, 1175, 1169, 1196, 94, 199, 1664, 389, - 1871, 20, 1082, 17, 21, 18, 898, 43, 35, 1810, 1871, 20, 1504, 17, 21, 18, 898, 43, 45, 1055, 274, 1078, - 87, 111, 1074, 1830, 1222, 96, 1639, 1172, 2070, 2010, 1396, 951, 1861, 1263, 109, 95, 97, 98, 99, 100, - 1030, 1, 1664, 389, 1871, 20, 1192, 17, 21, 18, 898, 43, 45, 1055, 823, 110, 370, 1827, 1074, 1062, - 1134, 1118, 1875, 1155, 1947, 388, 87, 111, 1082, 960, 1222, 96, 107, 1122, 168, 1542, 296, 299, 1527, - 1263, 109, 95, 97, 98, 99, 100, 353, 264, 1664, 389, 1668, 2095, 1823, 20, 315, 17, 21, 18, 898, 354, - 1797, 110, 370, 298, 685, 823, 2883, 255, 214, 1240, 2090, 388, 87, 111, 2097, 1082, 1222, 96, 108, 319, - 316, 317, 318, 256, 214, 1263, 109, 95, 97, 98, 99, 100, 413, 2482, 3060, 1082, 2922, 1082, 673, 225, - 230, 1568, 319, 316, 317, 318, 812, 110, 370, 219, 457, 222, 224, 2529, 386, 2536, 831, 388, 2096, 2279, - 1847, 1997, 414, 294, 107, 2101, 673, 225, 773, 133, 1664, 389, 2834, 775, 384, 1082, 326, 219, 457, - 222, 224, 1923, 1847, 20, 621, 17, 21, 18, 898, 41, 1634, 2054, 1925, 280, 87, 111, 2109, 2124, 1222, - 96, 319, 316, 317, 318, 784, 1082, 535, 1263, 109, 95, 97, 98, 99, 100, 156, 663, 2111, 2922, 1393, - 1385, 535, 451, 106, 1302, 673, 225, 230, 992, 1710, 110, 370, 2135, 774, 1061, 312, 220, 457, 222, 224, - 388, 413, 1758, 2883, 940, 1082, 535, 108, 2092, 1082, 275, 319, 316, 317, 318, 2154, 1082, 270, 1282, - 1275, 273, 662, 778, 281, 535, 309, 370, 1561, 2279, 1670, 3392, 2883, 1082, 198, 2563, 673, 225, 230, - 3392, 319, 316, 317, 318, 3392, 260, 3392, 219, 457, 222, 224, 2583, 198, 3392, 621, 1438, 1703, 2264, - 3392, 413, 3392, 2883, 3392, 1223, 673, 225, 230, 3392, 3392, 319, 316, 317, 318, 3392, 3392, 219, 457, - 222, 224, 3392, 3392, 1223, 1987, 3392, 156, 663, 2279, 3392, 3392, 1477, 1782, 451, 3392, 673, 225, - 230, 3392, 3392, 2010, 3392, 3032, 3392, 194, 3392, 219, 457, 222, 224, 1644, 1871, 20, 621, 17, 21, 18, - 898, 43, 45, 1055, 3392, 193, 3392, 3392, 1074, 1062, 1134, 1921, 3392, 3146, 770, 1999, 3392, 673, 225, - 230, 1436, 3392, 2477, 199, 3392, 3392, 157, 663, 219, 457, 222, 224, 3392, 3392, 1996, 264, 535, 3392, - 278, 3392, 3392, 1497, 275, 3392, 319, 316, 317, 318, 3392, 268, 1282, 1275, 273, 3392, 673, 225, 230, - 3392, 3392, 3392, 3392, 2922, 3392, 2092, 1336, 219, 457, 222, 224, 265, 3392, 812, 831, 210, 320, 316, - 317, 318, 3392, 275, 2055, 3392, 2883, 1471, 1786, 3392, 268, 1282, 1275, 273, 319, 316, 317, 318, 3392, - 3392, 3392, 2618, 3392, 260, 3392, 3392, 3392, 3392, 3392, 3392, 1756, 2264, 1542, 1931, 1703, 3392, - 3392, 262, 673, 225, 230, 1895, 20, 3392, 17, 21, 18, 898, 34, 219, 457, 222, 224, 3392, 1871, 20, 1987, - 17, 21, 18, 898, 43, 45, 1055, 255, 214, 1477, 1782, 1074, 1062, 1134, 1118, 2080, 1155, 1145, 1937, - 3392, 3392, 3392, 1670, 3392, 2883, 319, 316, 317, 318, 398, 3392, 2972, 320, 316, 317, 318, 3392, 413, - 3392, 2883, 3392, 3392, 2922, 3392, 3392, 3146, 3392, 320, 316, 317, 318, 657, 1405, 535, 3392, 200, - 673, 225, 230, 3392, 549, 3392, 49, 3392, 967, 758, 3392, 219, 457, 222, 224, 673, 225, 230, 1987, 319, - 316, 317, 318, 3392, 2092, 3392, 219, 457, 222, 224, 1472, 88, 275, 3140, 3392, 3392, 2922, 1093, 758, - 268, 1282, 1275, 273, 673, 225, 1315, 992, 3392, 319, 316, 317, 318, 210, 3392, 220, 457, 222, 1251, - 3392, 267, 260, 3392, 1511, 1786, 3164, 2922, 758, 1459, 3392, 389, 1438, 1703, 673, 225, 230, 992, 319, - 316, 317, 318, 844, 1664, 967, 220, 457, 222, 224, 3392, 3392, 3392, 3392, 3392, 88, 2922, 3392, 3392, - 198, 1170, 1308, 3392, 673, 225, 1315, 992, 3392, 87, 111, 892, 1664, 967, 96, 220, 457, 222, 224, 3392, - 3392, 3392, 1263, 104, 95, 97, 98, 99, 100, 2271, 3392, 1006, 1664, 967, 1384, 1256, 87, 111, 1054, - 1664, 967, 96, 3392, 3392, 320, 316, 317, 318, 3392, 1263, 102, 95, 97, 98, 99, 100, 87, 111, 657, 3392, - 535, 96, 3392, 87, 111, 3392, 3392, 3392, 96, 1263, 362, 95, 97, 98, 99, 100, 1263, 103, 95, 97, 98, 99, - 100, 2060, 49, 535, 967, 2092, 1168, 1664, 967, 3392, 3392, 319, 316, 317, 318, 1871, 20, 3392, 17, 21, - 18, 898, 43, 45, 1055, 3392, 3392, 88, 2922, 1802, 2092, 87, 111, 1871, 3392, 3392, 96, 3392, 812, 3392, - 3392, 260, 3392, 3392, 1263, 120, 95, 97, 98, 99, 100, 2000, 1703, 1216, 1664, 967, 3392, 3392, 3392, - 3392, 1264, 1664, 967, 3392, 1946, 3392, 260, 1871, 20, 3392, 17, 21, 18, 898, 43, 48, 1931, 1703, 87, - 111, 1312, 1664, 967, 96, 3392, 87, 111, 1360, 1664, 967, 96, 1263, 115, 95, 97, 98, 99, 100, 1263, - 2016, 95, 97, 98, 99, 100, 87, 111, 1408, 1664, 967, 96, 3392, 87, 111, 590, 3392, 485, 96, 1263, 114, - 95, 97, 98, 99, 100, 1263, 122, 95, 97, 98, 99, 100, 87, 111, 3392, 3392, 3392, 96, 3392, 3392, 306, - 3392, 369, 558, 3392, 1263, 121, 95, 97, 98, 99, 100, 319, 316, 317, 318, 3392, 3392, 1871, 20, 1113, - 17, 21, 18, 898, 43, 45, 1813, 3392, 2922, 371, 316, 317, 318, 305, 370, 3392, 3392, 656, 992, 3392, - 3392, 3392, 3392, 310, 3392, 1466, 3392, 319, 316, 317, 318, 136, 214, 3392, 3392, 371, 316, 317, 318, - 3392, 275, 3392, 3392, 3392, 2173, 3392, 3392, 270, 1282, 1275, 273, 1531, 3392, 146, 135, 137, 161, - 136, 214, 1991, 3392, 371, 316, 317, 318, 2001, 302, 304, 3392, 371, 316, 317, 318, 3392, 407, 371, 316, - 317, 318, 149, 135, 137, 161, 136, 214, 3392, 419, 3392, 967, 1079, 2848, 136, 214, 3392, 3392, 3392, - 3392, 136, 214, 320, 316, 317, 318, 3392, 3392, 152, 135, 137, 161, 3392, 3392, 88, 126, 155, 135, 137, - 161, 1303, 3392, 366, 135, 137, 161, 1871, 20, 3392, 17, 21, 18, 898, 43, 45, 1055, 3392, 3392, 3392, - 3392, 1074, 1833, 1871, 20, 724, 17, 21, 18, 898, 43, 45, 1055, 3392, 3392, 3392, 3392, 1074, 1834, - 1871, 20, 3392, 17, 21, 18, 898, 43, 45, 1055, 3392, 3392, 3392, 3392, 1074, 1846, 1871, 20, 3392, 17, - 21, 18, 898, 43, 45, 1055, 49, 1432, 967, 2143, 1074, 1866, 1871, 20, 3392, 17, 21, 18, 898, 43, 45, - 1055, 758, 3392, 3392, 278, 1074, 1870, 3392, 3392, 3392, 88, 319, 316, 317, 318, 665, 1891, 485, 1871, - 20, 917, 17, 21, 18, 898, 43, 45, 1818, 2922, 3392, 319, 316, 317, 318, 3392, 656, 225, 234, 992, 3392, - 1459, 306, 389, 3392, 558, 275, 1240, 2726, 3392, 1102, 1240, 535, 268, 1282, 1275, 273, 319, 316, 317, - 318, 319, 316, 317, 318, 3392, 88, 1459, 3392, 389, 198, 1170, 1308, 1756, 2922, 3392, 305, 370, 2922, - 198, 3392, 49, 3392, 967, 812, 3392, 310, 3392, 812, 3392, 1533, 1459, 88, 389, 3392, 3392, 198, 1170, - 1308, 2271, 320, 316, 317, 318, 3392, 1464, 88, 1459, 1223, 389, 2307, 3392, 1893, 3392, 2336, 3392, 88, - 952, 3392, 3392, 198, 1170, 1308, 3392, 3392, 2271, 3392, 3392, 3392, 303, 304, 1490, 88, 1459, 3392, - 389, 198, 1170, 1308, 3392, 1240, 3392, 3392, 920, 3392, 967, 3392, 193, 913, 2271, 319, 316, 317, 318, - 3392, 1516, 1484, 1999, 88, 1316, 3392, 389, 198, 1170, 1308, 2271, 3392, 2922, 88, 3392, 3392, 1542, - 3392, 3392, 116, 1871, 20, 812, 17, 21, 18, 898, 43, 47, 88, 3392, 3392, 3392, 1061, 3392, 116, 2271, - 1459, 920, 389, 967, 3392, 1567, 3392, 3392, 1240, 1871, 20, 2618, 17, 21, 18, 898, 43, 46, 319, 316, - 317, 318, 1510, 3392, 3392, 88, 88, 1078, 370, 198, 1170, 1308, 116, 3392, 3392, 2922, 1240, 3392, 1406, - 3392, 423, 3392, 3392, 3392, 2040, 812, 319, 316, 317, 318, 319, 316, 317, 318, 320, 316, 317, 318, - 2271, 3392, 3392, 3392, 3392, 2922, 1961, 524, 920, 2428, 967, 3392, 3392, 1946, 2011, 812, 3392, 319, - 316, 317, 318, 1895, 20, 3392, 17, 21, 18, 898, 33, 3392, 3392, 3392, 2074, 88, 2428, 49, 2080, 967, - 3392, 116, 3392, 2364, 319, 316, 317, 318, 319, 316, 317, 318, 1943, 20, 3392, 17, 21, 18, 898, 1787, - 2069, 3182, 88, 3392, 3392, 2922, 2110, 3392, 2004, 3392, 319, 316, 317, 318, 3392, 1483, 319, 316, 317, - 318, 785, 2027, 3392, 3392, 2126, 3392, 3392, 3168, 2085, 3392, 3392, 3392, 3392, 3186, 319, 316, 317, - 318, 320, 316, 317, 318, 2100, 3392, 3392, 861, 2138, 3392, 3392, 3392, 2143, 3190, 320, 316, 317, 318, - 320, 316, 317, 318, 320, 316, 317, 318, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, - 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, - 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 1689, 3392, 0, 1, 456, 0, 1, 500, 0, 1, 583, 0, 1, 623, - 0, 500, 130, 0, 583, 130, 0, 623, 130, 0, 500, 131, 0, 583, 131, 0, 623, 131, 0, 500, 132, 0, 583, 132, - 0, 623, 132, 0, 623, 186, 0, 583, 186, 0, 500, 186, 0, 186, 190, 0, 623, 185, 0, 583, 185, 0, 500, 185, - 0, 185, 190, 0, 500, 133, 0, 583, 133, 0, 623, 133, 0, 500, 134, 0, 583, 134, 0, 623, 134, 0, 11, 227, - 0, 500, 369, 0, 583, 369, 0, 623, 369, 0, 224, 236, 0, 3400, 1, 0, 623, 381, 0, 583, 381, 0, 500, 381, - 0, 593, 32, 0, 2304, 32, 0, 623, 254, 0, 583, 254, 0, 500, 254, 0, 1, 3630, 0, 224, 237, 0, 180, 20, 0, - 8, 10, 0, 1984, 119, 0, 1, 3619, 0, 367, 356, 0, 368, 357, 0, 113, 2556, 0 }; - } - - public final static char baseAction[] = BaseAction.baseAction; - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - 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, 0, 0, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 25, 62, 63, 64, 65, 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, 66, 67, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 13, 62, 63, 64, 65, 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, 0, 0, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 13, 62, 63, 64, 65, 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, 66, 67, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 13, 62, - 63, 64, 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, 0, 0, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 0, 62, 63, 64, 0, 1, 2, 0, 4, 5, 6, 7, 8, 9, 0, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 27, 28, 29, 30, 31, 32, 33, 0, 0, 66, 67, 3, 4, 0, 1, 7, 8, 4, - 35, 6, 7, 8, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 26, 62, 63, 64, 0, 1, 0, 3, 0, 1, 6, 3, 6, - 0, 35, 11, 12, 82, 14, 15, 16, 48, 48, 0, 1, 2, 0, 4, 0, 0, 7, 8, 3, 0, 6, 2, 0, 4, 5, 35, 7, 8, 68, 35, - 36, 0, 1, 2, 3, 84, 5, 6, 48, 0, 9, 26, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 65, 66, 67, - 68, 28, 70, 71, 72, 73, 74, 75, 76, 0, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 0, 1, 68, 3, 80, 81, 6, 0, 0, 98, 2, 11, 12, 5, 14, 15, 16, 10, 10, 68, 77, 0, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 0, 0, 2, 35, 4, 5, 0, 7, 8, 0, 1, 2, 3, 0, 5, 6, 48, 4, 9, 0, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 65, 66, 67, 68, 28, 70, 71, 72, 73, 74, 75, 76, 0, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, - 0, 1, 2, 3, 4, 37, 6, 7, 8, 77, 10, 0, 1, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 0, 35, 36, 3, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 0, 62, 63, 64, 4, - 0, 0, 7, 8, 4, 26, 0, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 24, 25, 0, 27, 28, 29, 30, 31, 32, 33, 0, 1, - 2, 98, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 0, 1, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 69, 62, 63, 64, 0, 1, 2, 3, 0, 5, 6, 3, 61, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 26, 2, 0, 1, 2, 99, 4, 98, 34, 7, 8, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 0, 24, 2, 3, 4, 5, 0, 7, 8, 9, 4, 0, 1, 2, 3, 4, 10, 6, 7, 8, 0, 65, 0, - 1, 24, 25, 0, 27, 28, 29, 30, 31, 32, 33, 34, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 35, 36, 3, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 35, 62, 63, 64, 65, 0, 1, 2, 3, 0, 5, 6, 0, 1, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 26, 73, 74, 75, 76, 0, 78, 79, 34, 11, 12, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 2, 3, 48, 5, 6, 0, 77, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 0, 0, 26, 2, 0, 4, 5, 3, 7, 8, 34, 0, 1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 0, 0, 2, 3, 4, 5, 26, 7, 8, 9, 0, 0, 1, 2, 3, 4, 36, 6, 7, 8, 0, 0, 35, 2, 24, 25, 5, 27, 28, 29, 30, - 31, 32, 33, 34, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 69, 35, 36, 0, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 0, 62, 63, 64, 65, 0, 1, 2, 3, 0, 5, 6, 0, 1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 0, 0, 26, 73, 74, 75, 76, 0, 78, 79, 34, 11, 12, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 0, 1, 2, 3, 0, 5, 6, 0, 1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 26, 2, - 0, 4, 5, 3, 7, 8, 34, 0, 1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 0, 2, 3, 4, 5, 0, 7, 8, 9, 0, - 0, 2, 3, 0, 4, 36, 61, 7, 8, 0, 86, 87, 13, 24, 25, 0, 27, 28, 29, 30, 31, 32, 33, 34, 24, 25, 61, 27, - 28, 29, 30, 31, 32, 33, 69, 36, 0, 1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 0, 62, 63, 64, 65, - 0, 1, 2, 3, 0, 5, 6, 3, 48, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 26, 73, 74, - 75, 76, 83, 78, 79, 34, 11, 12, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 2, 3, 0, 5, 6, 3, 61, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 69, 26, 0, 4, 2, 26, 7, 8, 77, 34, 0, 1, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 2, 3, 48, 5, 6, 0, 1, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 0, 0, 26, 2, 4, 0, 5, 7, 8, 0, 34, 10, 0, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 0, 1, 2, 3, 0, 5, 6, 3, 4, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, - 26, 0, 4, 2, 26, 7, 8, 6, 34, 10, 48, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 2, 3, 0, 5, 6, - 3, 0, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 26, 2, 4, 0, 26, 7, 8, 0, 34, 2, - 0, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 2, 3, 48, 5, 6, 0, 1, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 26, 3, 0, 1, 2, 3, 0, 1, 34, 3, 48, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 0, 1, 2, 0, 4, 5, 69, 7, 8, 9, 0, 35, 36, 10, 4, 35, 36, 7, 8, 0, 36, 0, 0, 2, 24, 25, - 5, 27, 28, 29, 30, 31, 32, 33, 24, 25, 14, 27, 28, 29, 30, 31, 32, 33, 0, 0, 2, 3, 0, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 0, 62, 63, 64, 0, 0, 2, 0, 4, 5, 0, 7, 8, 9, 0, 10, 0, 10, 4, 36, 4, 7, - 8, 7, 8, 0, 0, 1, 24, 25, 0, 27, 28, 29, 30, 31, 32, 33, 24, 25, 10, 27, 28, 29, 30, 31, 32, 33, 61, 24, - 25, 0, 27, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 14, 62, 63, 64, 0, 1, 2, 3, 0, 5, 6, 66, 67, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 0, 5, 6, 3, 0, 9, 0, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 0, 4, 0, 6, 7, 8, 0, 1, 2, 0, 1, 5, 6, 36, 65, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 35, 0, 1, 2, 0, 4, 61, 0, 7, 8, 0, 1, 2, 0, - 10, 5, 6, 10, 77, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 0, 68, 5, 6, 0, 1, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 48, 61, 5, 6, 66, 67, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 0, 0, 5, 6, 0, 0, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 0, 0, 5, 6, 0, 0, 9, 6, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 0, 1, 2, 0, 0, 5, 6, 24, 25, 9, 27, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, - 68, 0, 5, 6, 0, 0, 9, 6, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 71, 72, 5, 6, 24, - 25, 9, 27, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 0, 0, 5, 6, 0, 0, 9, 6, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 71, 72, 5, 6, 24, 25, 9, 27, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 0, 0, 5, 6, 0, 0, 9, 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 0, 1, 2, 71, 72, 5, 6, 24, 25, 9, 27, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, - 1, 2, 0, 0, 5, 6, 3, 0, 9, 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 1, 0, 4, 0, 0, - 7, 8, 4, 0, 6, 7, 8, 4, 83, 36, 7, 8, 0, 1, 2, 3, 0, 24, 25, 3, 27, 28, 29, 30, 31, 32, 33, 24, 25, 35, - 27, 28, 29, 30, 31, 32, 33, 0, 0, 1, 3, 4, 0, 0, 7, 8, 4, 35, 36, 7, 8, 0, 0, 15, 16, 3, 0, 0, 1, 2, 48, - 4, 0, 26, 7, 8, 4, 69, 6, 7, 8, 0, 0, 35, 2, 4, 0, 5, 7, 8, 4, 65, 0, 7, 8, 48, 4, 0, 36, 7, 8, 4, 0, 0, - 7, 8, 3, 0, 0, 0, 48, 3, 0, 0, 0, 68, 4, 35, 70, 7, 8, 0, 0, 0, 0, 0, 4, 3, 61, 7, 8, 24, 25, 85, 27, - 10, 0, 0, 0, 36, 3, 69, 4, 0, 36, 7, 8, 0, 82, 35, 0, 48, 70, 10, 4, 0, 48, 7, 8, 4, 36, 0, 7, 8, 0, 0, - 0, 2, 66, 67, 5, 10, 0, 0, 10, 66, 67, 0, 0, 0, 0, 0, 61, 10, 70, 0, 0, 10, 0, 0, 0, 0, 0, 80, 81, 0, 0, - 61, 0, 0, 0, 0, 65, 0, 0, 0, 0, 84, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, - 0, 0, 0, 61, 0, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static byte termCheck[] = TermCheck.termCheck; - - @Override - public final int termCheck(int index) { - return termCheck[index]; - } - - public interface TermAction { - public final static char termAction[] = { 0, 3392, 1, 5946, 1736, 3242, 5940, 1, 1, 1, 1, 926, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 3401, 1, 1, 1, 1, 1, 1, 1, 3493, 55, 345, 1458, 980, 942, 1211, 1663, 464, - 1360, 1039, 1653, 2723, 1613, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3736, 1, 1, 1, 3399, 8, 3374, 3374, - 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, - 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 801, 2491, - 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 350, 3374, 3374, 3374, 3374, 3374, - 3374, 3374, 3374, 3374, 3374, 3374, 3374, 905, 3374, 3374, 3374, 3374, 3392, 1, 5946, 1736, 3242, 5940, - 1, 1, 1, 1, 926, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3401, 1, 1, 1, 1, 1, 1, 1, 3493, 359, 287, - 1458, 980, 942, 1211, 1663, 464, 1360, 1039, 1653, 2723, 1613, 3392, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1041, 1, 1, 1, 3399, 3392, 1, 5946, 3402, 3242, 5940, 1, 1, 1, 1, 926, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3401, 1, 1, 1, 1, 1, 1, 1, 3493, 801, 2491, 1458, 980, 942, 1211, 1663, 464, 1360, 1039, - 1653, 2723, 1613, 3392, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 905, 1, 1, 1, 3392, 1, 5946, 3402, 3242, - 5940, 1, 1, 1, 1, 926, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3401, 1, 1, 1, 1, 1, 1, 1, 3493, - 358, 3392, 1458, 980, 942, 1211, 1663, 464, 1360, 1039, 1653, 2723, 1613, 3392, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 67, 1, 1, 1, 3392, 2939, 3403, 3392, 623, 3404, 1107, 500, 583, 3132, 221, 877, 839, 3408, - 1754, 3103, 2226, 1938, 3405, 3406, 3407, 740, 522, 1848, 3607, 3609, 71, 3608, 3556, 3557, 3555, 3610, - 3558, 3554, 348, 236, 801, 2491, 224, 3335, 269, 2819, 3335, 3335, 623, 851, 254, 500, 583, 3561, 3566, - 3565, 3563, 3564, 3562, 3567, 3568, 3560, 3569, 3570, 3571, 224, 2853, 3089, 3064, 1, 3404, 3392, 3404, - 1, 2819, 3404, 266, 2257, 3392, 851, 3404, 3404, 1116, 3404, 3404, 3404, 391, 224, 1, 1860, 3619, 63, - 3251, 3392, 1, 3245, 3248, 3402, 186, 3118, 3290, 43, 3281, 3290, 3404, 3287, 3284, 224, 851, 266, 1, - 2939, 3403, 3396, 2239, 3404, 664, 3404, 158, 1091, 3401, 877, 839, 3408, 1754, 3103, 2226, 1938, 3405, - 3406, 3407, 740, 522, 1848, 3404, 3404, 3404, 3404, 916, 3404, 3404, 3404, 3404, 3404, 3404, 3404, 3392, - 3404, 3404, 3404, 3404, 3404, 3404, 3404, 3404, 3404, 3404, 3404, 3404, 3404, 3404, 3404, 3404, 3404, - 3404, 3404, 3404, 1, 3403, 1420, 3403, 752, 596, 3403, 3392, 3392, 3241, 3403, 3403, 3403, 3404, 3403, - 3403, 3403, 418, 1075, 714, 3395, 3392, 1394, 1368, 1342, 1316, 1290, 1238, 1264, 1212, 1186, 1157, 185, - 3392, 3302, 3403, 3293, 3302, 3392, 3299, 3296, 3392, 2939, 3403, 3396, 1, 3404, 702, 3403, 3242, 1091, - 3392, 877, 839, 3408, 1754, 3103, 2226, 1938, 3405, 3406, 3407, 740, 522, 1848, 3403, 3403, 3403, 3403, - 1498, 3403, 3403, 3403, 3403, 3403, 3403, 3403, 119, 3403, 3403, 3403, 3403, 3403, 3403, 3403, 3403, - 3403, 3403, 3403, 3403, 3403, 3403, 3403, 3403, 3403, 3403, 3403, 3403, 3392, 1, 1, 3402, 3242, 1, 1, 1, - 1, 1, 3392, 357, 368, 368, 3386, 368, 3377, 3386, 368, 368, 3395, 5905, 3392, 927, 1, 1, 3401, 1, 1, 1, - 1, 1, 1, 1, 3699, 368, 368, 3386, 368, 368, 368, 368, 368, 368, 368, 3392, 368, 3386, 3402, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 130, 1, 1, 1, 3260, 183, 1, 3254, 3257, 623, 3401, 113, 500, 583, 3392, 1, 1, - 3402, 3242, 1, 1, 1, 1, 1, 3607, 3609, 3392, 3608, 3556, 3557, 3555, 3610, 3558, 3554, 1, 1860, 3619, - 301, 1, 1, 3401, 1, 1, 1, 1, 1, 1, 1, 3699, 3561, 3566, 3565, 3563, 3564, 3562, 3567, 3568, 3560, 3569, - 3570, 3571, 3392, 570, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3651, 1, 1, 1, 3392, 1, 5946, 3402, 1, 5940, - 1, 3338, 2378, 1, 926, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3392, 327, 3401, 3720, 254, 1860, 3619, - 3389, 623, 300, 3493, 500, 583, 1458, 980, 942, 1211, 1663, 464, 1360, 1039, 1653, 2723, 1613, 3392, - 3721, 1, 192, 1, 1, 1, 1, 1, 1, 3242, 20, 3371, 180, 3371, 180, 926, 3371, 180, 180, 60, 3399, 3392, - 793, 1, 1, 272, 1, 1, 1, 1, 1, 1, 1, 3589, 180, 180, 3371, 180, 180, 180, 180, 180, 180, 180, 3392, - 3371, 3371, 3396, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 851, 1, 1, 1, 192, 3392, 1, 5946, 3402, 257, 5940, - 1, 3392, 800, 1, 926, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 52, 3392, 3401, 2824, 2808, 2792, 2776, - 3392, 2760, 1764, 3493, 2851, 2634, 1458, 980, 942, 1211, 1663, 464, 1360, 1039, 1653, 2723, 1613, 3392, - 1, 5946, 3402, 1139, 5940, 1, 3392, 3395, 1, 926, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 207, 3401, - 5941, 1, 623, 5941, 117, 500, 583, 3493, 223, 606, 1458, 980, 942, 1211, 1663, 464, 1360, 1039, 1653, - 2723, 1613, 3392, 3392, 1, 191, 1, 1, 117, 1, 1, 1, 3392, 356, 367, 367, 3383, 367, 117, 3383, 367, 367, - 62, 3392, 851, 3403, 1, 1, 3404, 1, 1, 1, 1, 1, 1, 1, 3589, 367, 367, 3383, 367, 367, 367, 367, 367, - 367, 367, 3650, 367, 3383, 3392, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3392, 1, 1, 1, 191, 3392, 1, 5946, - 3402, 3392, 5940, 1, 11, 3323, 1, 926, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 54, 3392, 3401, 2824, - 2808, 2792, 2776, 73, 2760, 1764, 3493, 2851, 2634, 1458, 980, 942, 1211, 1663, 464, 1360, 1039, 1653, - 2723, 1613, 3392, 1, 5946, 3402, 3392, 5940, 1, 3392, 460, 1, 926, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 3392, 378, 3401, 5945, 3392, 623, 5945, 3398, 500, 583, 3493, 351, 1011, 1458, 980, 942, 1211, 1663, - 464, 1360, 1039, 1653, 2723, 1613, 3392, 3392, 1, 192, 1, 1, 3392, 1, 1, 1, 3392, 131, 1719, 3398, 69, - 3269, 3397, 2405, 3263, 3266, 61, 433, 513, 1694, 1, 1, 89, 1, 1, 1, 1, 1, 1, 1, 3589, 3607, 3609, 2432, - 3608, 3556, 3557, 3555, 3610, 3558, 3554, 1524, 3397, 338, 1412, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 192, 3392, 1, 5946, 3402, 3392, 5940, 1, 3396, 1446, 1, 926, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 53, 3392, 3401, 2824, 2808, 2792, 2776, 1800, 2760, 1764, 3493, 2851, 2634, 1458, 980, 942, 1211, - 1663, 464, 1360, 1039, 1653, 2723, 1613, 3392, 1, 5946, 3402, 3392, 5940, 1, 3402, 2, 1, 926, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 254, 1726, 3401, 3392, 623, 1824, 3401, 500, 583, 3395, 3493, 3392, 2991, - 1458, 980, 942, 1211, 1663, 464, 1360, 1039, 1653, 2723, 1613, 3392, 1, 5946, 3402, 2053, 5940, 1, 3392, - 2478, 1, 926, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 160, 3392, 3401, 3403, 623, 3392, 3404, 500, 583, - 3392, 3493, 1182, 30, 1458, 980, 942, 1211, 1663, 464, 1360, 1039, 1653, 2723, 1613, 3392, 1, 5946, - 3402, 1, 5940, 1, 117, 3242, 1, 926, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 379, 230, 3401, 3392, 623, - 1618, 117, 500, 583, 1728, 3493, 233, 3421, 1458, 980, 942, 1211, 1663, 464, 1360, 1039, 1653, 2723, - 1613, 3392, 1, 5946, 3402, 3392, 5940, 1, 3402, 3392, 1, 926, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 382, 3392, 3401, 3631, 623, 3392, 3401, 500, 583, 1, 3493, 3365, 208, 1458, 980, 942, 1211, 1663, 464, - 1360, 1039, 1653, 2723, 1613, 3392, 1, 5946, 3402, 2189, 5940, 1, 3392, 2818, 1, 926, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2819, 3401, 3398, 1, 2129, 3380, 3398, 3392, 435, 3493, 3398, 5933, 1458, 980, - 942, 1211, 1663, 464, 1360, 1039, 1653, 2723, 1613, 1, 1860, 651, 1, 3251, 3404, 3651, 3245, 3248, 1019, - 132, 851, 3397, 926, 3278, 851, 3397, 3272, 3275, 3392, 3397, 209, 65, 3403, 3607, 3609, 3404, 3608, - 3556, 3557, 3555, 3610, 3558, 3554, 3607, 3609, 2103, 3608, 3556, 3557, 3555, 3610, 3558, 3554, 3392, - 3392, 969, 3398, 3392, 3561, 3566, 3565, 3563, 3564, 3562, 3567, 3568, 3560, 3569, 3570, 3571, 3392, - 2853, 3089, 3064, 3392, 3392, 3403, 3392, 623, 3404, 59, 500, 583, 1019, 133, 1379, 381, 1431, 3311, - 3397, 3341, 3305, 3308, 3347, 3344, 3392, 3392, 2913, 3607, 3609, 230, 3608, 3556, 3557, 3555, 3610, - 3558, 3554, 3607, 3609, 234, 3608, 3556, 3557, 3555, 3610, 3558, 3554, 2425, 3607, 3609, 66, 3608, 3561, - 3566, 3565, 3563, 3564, 3562, 3567, 3568, 3560, 3569, 3570, 3571, 2103, 2853, 3089, 3064, 1, 2939, 4272, - 29, 3392, 4174, 1107, 801, 2491, 1091, 5905, 877, 839, 3408, 1754, 3103, 2226, 1938, 3405, 3406, 3407, - 740, 522, 1848, 3392, 2939, 3403, 3396, 3392, 3404, 1107, 3398, 3392, 1091, 3392, 877, 839, 3408, 1754, - 3103, 2226, 1938, 3405, 3406, 3407, 740, 522, 1848, 269, 2129, 3619, 3392, 623, 212, 254, 500, 583, - 3392, 2939, 3403, 325, 887, 3404, 1107, 3397, 29, 1091, 5905, 877, 839, 3408, 1754, 3103, 2226, 1938, - 3405, 3406, 3407, 740, 522, 1848, 3392, 58, 851, 1, 1860, 3619, 3392, 3251, 423, 368, 3245, 3248, 3392, - 2939, 3403, 30, 1457, 3404, 1107, 5905, 3395, 1091, 5905, 877, 839, 3408, 1754, 3103, 2226, 1938, 3405, - 3406, 3407, 740, 522, 1848, 1, 2939, 4272, 3392, 1549, 4174, 1107, 3392, 3117, 1091, 5905, 877, 839, - 3408, 1754, 3103, 2226, 1938, 3405, 3406, 3407, 740, 522, 1848, 383, 2939, 3403, 676, 1626, 3404, 1107, - 801, 2491, 1091, 5905, 877, 839, 3408, 1754, 3103, 2226, 1938, 3405, 3406, 3407, 740, 522, 1848, 3392, - 2939, 3403, 3392, 3392, 3404, 1107, 3392, 3392, 1091, 5905, 877, 839, 3408, 1754, 3103, 2226, 1938, - 3405, 3406, 3407, 740, 522, 1848, 3392, 2365, 3403, 3392, 49, 3404, 1107, 250, 3392, 1091, 3033, 877, - 839, 3408, 1754, 3103, 2226, 1938, 3405, 3406, 3407, 740, 522, 1848, 3392, 2873, 3403, 3392, 3392, 3404, - 1107, 1, 1, 1091, 1, 877, 839, 3408, 1754, 3103, 2226, 1938, 3405, 3406, 3407, 740, 522, 1848, 3392, - 2899, 3403, 813, 51, 3404, 1107, 249, 3392, 1091, 3033, 877, 839, 3408, 1754, 3103, 2226, 1938, 3405, - 3406, 3407, 740, 522, 1848, 3392, 2923, 3403, 3007, 2543, 3404, 1107, 3607, 3609, 1091, 3608, 877, 839, - 3408, 1754, 3103, 2226, 1938, 3405, 3406, 3407, 740, 522, 1848, 3392, 2939, 3403, 3392, 50, 3404, 1107, - 251, 3392, 1091, 3033, 877, 839, 3408, 1754, 3103, 2226, 1938, 3405, 3406, 3407, 740, 522, 1848, 3392, - 2965, 3403, 3007, 2543, 3404, 1107, 1, 1, 1091, 1, 877, 839, 3408, 1754, 3103, 2226, 1938, 3405, 3406, - 3407, 740, 522, 1848, 1, 2939, 3403, 3392, 70, 3404, 1107, 252, 3392, 1091, 3392, 877, 839, 3408, 1754, - 3103, 2226, 1938, 3405, 3406, 3407, 740, 522, 1848, 3392, 3024, 3403, 3007, 2543, 3404, 1107, 3607, - 3609, 1091, 3608, 877, 839, 3408, 1754, 3103, 2226, 1938, 3405, 3406, 3407, 740, 522, 1848, 333, 2939, - 3403, 3392, 1, 3404, 1107, 3398, 3392, 1091, 3392, 877, 839, 3408, 1754, 3103, 2226, 1938, 3405, 3406, - 3407, 740, 522, 1848, 134, 271, 1058, 3392, 3320, 1, 3392, 3314, 3317, 3251, 369, 254, 3245, 3248, 3332, - 1800, 3397, 3326, 3329, 1, 2129, 3619, 263, 3392, 3607, 3609, 3400, 3608, 3556, 3557, 3555, 3610, 3558, - 3554, 3607, 3609, 851, 3608, 3556, 3557, 3555, 3610, 3558, 3554, 237, 32, 3350, 224, 3368, 373, 3392, - 3368, 3368, 623, 851, 263, 500, 583, 3392, 3392, 3418, 3419, 3398, 68, 1, 1860, 3619, 263, 3251, 1, 224, - 3245, 3248, 3251, 3651, 254, 3245, 3248, 372, 3392, 3353, 3403, 623, 184, 3404, 500, 583, 623, 3399, - 254, 500, 583, 224, 3356, 374, 3397, 3362, 3359, 623, 57, 3392, 500, 583, 3398, 253, 3392, 56, 838, - 3398, 380, 64, 293, 224, 623, 1651, 674, 500, 583, 3392, 201, 72, 1, 357, 623, 91, 1626, 500, 583, 3607, - 3609, 458, 3608, 5905, 3392, 286, 375, 3397, 1378, 3651, 623, 355, 3397, 500, 583, 202, 1116, 1701, 376, - 1975, 1354, 5905, 623, 377, 1029, 500, 583, 623, 91, 42, 500, 583, 3392, 208, 3392, 415, 801, 2491, 415, - 5905, 1, 190, 5905, 801, 2491, 382, 1, 3392, 3392, 3392, 1574, 207, 1637, 3392, 3392, 378, 3392, 3392, - 3392, 3392, 3392, 752, 596, 3392, 3392, 1600, 3392, 3392, 3392, 3392, 1378, 3392, 3392, 3392, 3392, - 2239, 1676, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, - 3392, 3392, 3392, 3777, 3392, 3392, 3392, 3392, 3392, 3404, 3392, 3392, 3392, 3392, 3392, 3403 }; - } - - public final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[index]; - } - - public interface Asb { - public final static char asb[] = { 0, 677, 1, 416, 382, 552, 677, 417, 384, 675, 47, 417, 417, 417, 59, 670, 59, - 670, 670, 59, 670, 59, 386, 384, 373, 417, 59, 554, 28, 419, 675, 554, 469, 187, 384, 125, 124, 190, - 160, 386, 252, 523, 248, 327, 45, 156, 670, 582, 579, 582, 156, 582, 670, 384, 389, 238, 249, 386, 717, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 630, 331, 132, 391, 131, 554, 384, 187, 187, 284, 717, 140, - 384, 524, 7, 327, 424, 249, 672, 473, 675, 507, 389, 238, 384, 719, 630, 630, 630, 630, 630, 249, 249, - 249, 243, 539, 523, 582, 582, 310, 28, 419, 470, 711, 45, 645, 554, 382, 187, 397, 306, 747, 429, 288, - 440, 445, 443, 453, 447, 456, 455, 458, 457, 459, 719, 504, 675, 160, 252, 523, 26, 470, 470, 582, 417, - 417, 13, 417, 417, 470, 79, 28, 79, 382, 120, 392, 326, 675, 672, 473, 507, 507, 238, 238, 249, 241, - 120, 249, 249, 249, 249, 249, 101, 386, 714, 119, 118, 513, 335, 28, 524, 249, 28, 306, 583, 249, 384, - 747, 306, 287, 284, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 81, 28, 120, 504, 138, 520, 470, 470, 537, 28, 522, 28, 28, 13, 79, - 585, 13, 384, 7, 249, 309, 249, 249, 473, 504, 71, 473, 507, 509, 588, 509, 238, 747, 714, 386, 719, - 195, 195, 195, 140, 675, 243, 249, 597, 717, 28, 339, 630, 523, 249, 28, 28, 306, 288, 443, 443, 440, - 440, 447, 447, 445, 445, 445, 445, 445, 445, 455, 453, 457, 456, 79, 79, 458, 583, 138, 26, 470, 249, - 417, 249, 249, 13, 28, 13, 386, 120, 473, 73, 509, 504, 28, 582, 747, 238, 597, 241, 249, 719, 249, 306, - 306, 28, 28, 509, 279, 470, 26, 13, 28, 13, 13, 384, 309, 504, 469, 28, 465, 73, 466, 504, 238, 249, - 199, 504, 136, 193, 261, 582, 28, 79, 3, 310, 470, 249, 522, 73, 28, 466, 466, 331, 140, 593, 582, 28, - 249, 310, 470, 13, 466, 28, 306, 13, 249, 306, 13 }; - } - - public final static char asb[] = Asb.asb; - - @Override - public final int asb(int index) { - return asb[index]; - } - - public interface Asr { - public final static byte asr[] = { 0, 98, 0, 68, 35, 70, 0, 3, 48, 36, 2, 24, 0, 39, 41, 10, 45, 47, 42, 37, 43, - 44, 40, 38, 46, 34, 26, 3, 1, 18, 19, 20, 2, 5, 15, 16, 14, 6, 11, 12, 21, 22, 17, 23, 9, 13, 0, 57, 49, - 54, 52, 53, 51, 50, 55, 56, 58, 59, 60, 35, 48, 36, 33, 30, 28, 29, 32, 24, 27, 25, 31, 26, 3, 6, 2, 1, - 4, 8, 7, 61, 0, 17, 18, 19, 20, 13, 2, 5, 1, 15, 16, 14, 6, 11, 12, 21, 22, 9, 23, 61, 0, 29, 24, 30, - 31, 32, 27, 28, 33, 25, 2, 6, 61, 26, 7, 8, 4, 10, 1, 35, 36, 3, 48, 0, 1, 68, 26, 7, 8, 4, 35, 48, 36, - 3, 61, 0, 3, 65, 35, 70, 1, 18, 19, 20, 13, 15, 16, 14, 6, 11, 12, 21, 22, 17, 23, 9, 2, 5, 10, 0, 50, - 62, 30, 51, 31, 52, 53, 32, 27, 54, 55, 28, 63, 33, 64, 56, 57, 25, 58, 59, 60, 2, 5, 9, 24, 49, 29, 7, - 8, 4, 3, 48, 26, 68, 0, 61, 69, 77, 65, 32, 28, 33, 31, 30, 29, 14, 11, 12, 71, 72, 66, 67, 73, 74, 75, - 76, 80, 81, 82, 83, 84, 86, 87, 68, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 78, 79, 10, 26, 24, 27, 25, - 48, 2, 6, 7, 8, 4, 35, 1, 36, 3, 0, 10, 3, 68, 48, 26, 7, 8, 4, 0, 68, 1, 18, 19, 20, 13, 15, 16, 14, 6, - 11, 12, 21, 22, 17, 23, 9, 10, 2, 5, 35, 70, 0, 24, 27, 25, 28, 15, 16, 14, 6, 11, 12, 21, 22, 17, 23, - 9, 1, 2, 5, 18, 19, 20, 13, 77, 3, 0, 48, 17, 18, 19, 20, 5, 1, 15, 16, 14, 6, 11, 12, 21, 22, 9, 23, - 13, 36, 3, 2, 0, 61, 69, 77, 65, 70, 85, 15, 16, 35, 14, 11, 12, 71, 72, 66, 67, 73, 74, 75, 76, 80, 81, - 82, 83, 84, 86, 87, 68, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 48, 78, 79, 36, 29, 24, 30, 31, 32, 27, - 28, 33, 25, 26, 3, 2, 1, 7, 8, 4, 6, 0, 61, 3, 48, 36, 1, 0, 24, 27, 15, 16, 14, 6, 11, 12, 21, 22, 17, - 23, 9, 2, 5, 18, 19, 20, 13, 25, 1, 0, 3, 61, 36, 13, 0, 2, 3, 36, 1, 0, 68, 88, 89, 90, 91, 92, 94, 93, - 95, 96, 97, 6, 71, 72, 11, 12, 67, 66, 73, 74, 75, 76, 78, 79, 80, 81, 14, 82, 83, 84, 69, 77, 36, 65, - 86, 87, 61, 7, 8, 4, 48, 26, 3, 0, 29, 49, 24, 50, 62, 30, 51, 31, 52, 53, 32, 27, 54, 55, 28, 63, 33, - 64, 56, 57, 25, 58, 59, 60, 2, 5, 9, 7, 8, 4, 34, 3, 65, 0, 2, 5, 3, 65, 48, 0, 3, 61, 77, 36, 26, 48, - 0, 36, 98, 99, 65, 39, 41, 10, 45, 47, 42, 37, 43, 44, 40, 38, 46, 34, 3, 26, 18, 19, 20, 13, 15, 16, - 14, 11, 12, 21, 22, 17, 23, 6, 1, 9, 62, 63, 64, 57, 49, 54, 52, 53, 51, 50, 55, 56, 58, 59, 60, 33, 30, - 28, 29, 32, 24, 27, 25, 31, 7, 8, 4, 5, 2, 0, 61, 69, 0, 3, 48, 65, 68, 0, 77, 3, 69, 0, 6, 29, 49, 24, - 50, 62, 30, 51, 31, 52, 53, 32, 27, 54, 55, 28, 63, 33, 64, 56, 57, 25, 58, 59, 60, 2, 5, 9, 69, 4, 8, - 7, 0, 17, 18, 19, 20, 13, 1, 15, 16, 14, 6, 11, 12, 21, 22, 23, 29, 49, 24, 50, 62, 30, 51, 31, 52, 53, - 32, 27, 54, 55, 28, 63, 33, 64, 56, 57, 25, 58, 59, 60, 9, 2, 5, 7, 8, 4, 10, 0, 98, 29, 49, 24, 50, 62, - 30, 51, 31, 52, 53, 32, 27, 54, 55, 28, 63, 33, 64, 56, 57, 25, 58, 59, 60, 5, 1, 9, 7, 8, 26, 3, 34, 4, - 2, 6, 0, 6, 1, 35, 36, 3, 29, 49, 50, 62, 30, 51, 31, 52, 53, 32, 54, 55, 28, 63, 33, 64, 56, 57, 58, - 59, 60, 2, 5, 9, 7, 8, 4, 69, 24, 27, 25, 0 }; - } - - public final static byte asr[] = Asr.asr; - - @Override - public final int asr(int index) { - return asr[index]; - } - - public interface Nasb { - public final static char nasb[] = { 0, 176, 43, 21, 181, 32, 189, 43, 82, 65, 95, 43, 43, 43, 96, 87, 96, 87, - 87, 96, 87, 96, 157, 144, 43, 43, 96, 89, 58, 74, 65, 153, 182, 87, 160, 23, 23, 43, 43, 157, 43, 12, - 187, 67, 43, 8, 163, 8, 163, 8, 8, 8, 163, 167, 43, 163, 187, 157, 186, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 171, 43, 187, 43, 43, 98, 143, 163, 87, 70, 186, 60, 165, 104, 19, 79, 43, 187, 87, 153, 43, - 153, 43, 87, 85, 117, 171, 171, 171, 171, 171, 187, 187, 187, 151, 1, 12, 25, 25, 52, 173, 74, 182, 43, - 74, 126, 35, 181, 163, 57, 72, 63, 43, 71, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 131, 153, 43, 43, 43, - 113, 180, 182, 182, 8, 43, 43, 27, 43, 43, 182, 43, 76, 43, 181, 187, 43, 187, 43, 163, 139, 153, 8, 87, - 153, 187, 149, 43, 187, 187, 187, 187, 187, 16, 157, 184, 23, 23, 43, 43, 58, 104, 187, 58, 72, 43, 187, - 143, 63, 72, 71, 48, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 44, 58, 187, 13, 153, 43, 182, 182, 193, 173, 43, 173, 173, 27, 43, - 43, 27, 83, 19, 187, 58, 187, 187, 153, 13, 181, 135, 8, 102, 43, 43, 153, 63, 148, 157, 117, 16, 16, - 16, 15, 16, 122, 187, 155, 186, 58, 43, 171, 113, 187, 58, 58, 72, 71, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 56, 195, 182, 187, 43, 187, 187, 27, 58, 27, 157, 187, - 139, 143, 102, 13, 58, 8, 63, 48, 155, 120, 187, 117, 187, 72, 72, 58, 58, 102, 110, 182, 195, 27, 173, - 27, 27, 84, 58, 13, 182, 58, 43, 160, 87, 13, 48, 187, 16, 13, 55, 43, 60, 8, 58, 43, 10, 195, 182, 187, - 43, 143, 58, 87, 163, 50, 60, 72, 8, 58, 187, 195, 182, 27, 163, 58, 72, 27, 187, 72, 27 }; - } - - public final static char nasb[] = Nasb.nasb; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - public interface Nasr { - public final static char nasr[] = { 0, 95, 102, 93, 92, 84, 91, 90, 1, 0, 136, 0, 2, 53, 0, 6, 51, 50, 0, 117, - 0, 142, 0, 59, 0, 103, 0, 1, 38, 2, 39, 0, 34, 2, 100, 95, 102, 94, 93, 92, 84, 91, 90, 0, 2, 31, 122, - 0, 32, 0, 132, 0, 2, 123, 0, 112, 51, 2, 6, 0, 6, 51, 0, 85, 0, 115, 0, 141, 18, 0, 2, 6, 49, 0, 101, 0, - 6, 144, 0, 18, 119, 0, 48, 2, 36, 34, 46, 27, 0, 84, 78, 79, 80, 81, 87, 72, 54, 0, 29, 2, 138, 0, 88, - 0, 29, 2, 1, 38, 105, 0, 1, 145, 0, 38, 1, 77, 53, 2, 29, 0, 34, 46, 68, 67, 27, 0, 2, 29, 60, 30, 0, - 128, 2, 29, 0, 2, 58, 97, 0, 107, 2, 58, 0, 27, 46, 34, 2, 0, 18, 34, 46, 67, 68, 2, 0, 2, 29, 27, 63, - 0, 46, 34, 2, 10, 0, 46, 48, 27, 34, 36, 0, 58, 30, 2, 31, 0, 137, 2, 29, 0, 31, 2, 26, 0, 67, 68, 2, - 18, 0, 2, 29, 113, 0, 29, 60, 2, 71, 0 }; - } - - public final static char nasr[] = Nasr.nasr; - - @Override - public final int nasr(int index) { - return nasr[index]; - } - - public interface TerminalIndex { - public final static char terminalIndex[] = { 0, 2, 87, 89, 99, 88, 9, 97, 98, 95, 3, 10, 11, 86, 8, 6, 7, 70, - 83, 84, 85, 12, 13, 96, 50, 78, 94, 66, 71, 46, 57, 62, 65, 74, 100, 1, 92, 79, 47, 48, 51, 52, 53, 59, - 60, 61, 67, 73, 42, 49, 54, 58, 63, 64, 68, 69, 76, 77, 80, 81, 82, 29, 56, 72, 75, 93, 16, 17, 31, 30, - 4, 14, 15, 18, 19, 20, 21, 91, 43, 44, 22, 23, 24, 25, 26, 5, 27, 28, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 101, 55, 90 }; - } - - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - - @Override - public final int terminalIndex(int index) { - return terminalIndex[index]; - } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = { 0, 106, 0, 0, 0, 0, 108, 112, 113, 114, 190, 0, 0, 0, 115, 116, - 117, 118, 103, 119, 120, 121, 122, 123, 0, 0, 105, 191, 124, 133, 129, 107, 141, 0, 164, 0, 167, 0, 125, - 128, 0, 0, 0, 0, 0, 161, 163, 0, 165, 102, 111, 0, 151, 104, 140, 0, 0, 0, 155, 166, 132, 0, 127, 162, - 110, 175, 178, 179, 180, 0, 0, 0, 143, 150, 0, 168, 174, 131, 144, 145, 146, 147, 148, 149, 152, 173, - 177, 198, 0, 134, 135, 136, 137, 138, 139, 142, 0, 154, 158, 160, 169, 195, 197, 109, 126, 130, 0, 153, - 157, 0, 159, 172, 182, 187, 0, 189, 0, 192, 0, 194, 0, 0, 0, 0, 0, 0, 156, 0, 170, 171, 176, 181, 0, - 183, 184, 0, 185, 186, 188, 0, 0, 193, 0, 0, 196, 199, 0, 0 }; - } - - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - - @Override - public final int nonterminalIndex(int index) { - return nonterminalIndex[index]; - } - - public interface ScopePrefix { - public final static char scopePrefix[] = { 202, 258, 334, 220, 314, 125, 151, 157, 286, 99, 363, 385, 342, 1, - 108, 141, 167, 187, 67, 266, 324, 35, 35, 59, 63, 75, 81, 113, 163, 237, 302, 75, 421, 428, 432, 359, - 381, 394, 408, 394, 348, 15, 27, 56, 8, 8, 117, 120, 172, 120, 197, 120, 247, 252, 255, 311, 436, 50, - 87, 93, 133, 241, 87, 405, 415, 415, 8, 133, 276, 210, 372, 210, 276, 20, 20, 41, 233, 41, 41, 41, 41, - 41, 309, 403, 20, 20, 45, 146, 175, 146, 175, 175 }; - } - - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - - @Override - public final int scopePrefix(int index) { - return scopePrefix[index]; - } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { 79, 79, 321, 79, 321, 131, 6, 6, 79, 105, 369, 391, 329, 6, 39, 131, - 6, 39, 72, 271, 329, 39, 39, 39, 39, 79, 85, 39, 6, 235, 235, 79, 39, 39, 6, 321, 321, 321, 412, 398, - 352, 18, 18, 39, 6, 6, 39, 123, 6, 182, 39, 200, 250, 250, 250, 235, 39, 53, 90, 96, 148, 244, 306, 53, - 418, 425, 11, 136, 271, 227, 375, 213, 279, 25, 33, 43, 235, 292, 294, 296, 298, 300, 235, 235, 22, 30, - 47, 148, 184, 136, 177, 192 }; - } - - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - - @Override - public final int scopeSuffix(int index) { - return scopeSuffix[index]; - } - - public interface ScopeLhs { - public final static char scopeLhs[] = { 80, 78, 43, 80, 43, 63, 59, 59, 78, 50, 43, 42, 43, 146, 69, 63, 59, 36, - 11, 78, 43, 87, 7, 7, 116, 115, 70, 69, 59, 97, 60, 30, 7, 6, 6, 43, 42, 42, 24, 42, 43, 108, 83, 4, - 136, 135, 67, 86, 59, 100, 34, 52, 79, 79, 79, 44, 4, 40, 70, 112, 63, 97, 60, 40, 8, 6, 146, 63, 78, - 80, 43, 80, 78, 108, 83, 102, 97, 94, 93, 92, 91, 90, 60, 41, 108, 83, 144, 63, 36, 63, 48, 36 }; - } - - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - - @Override - public final int scopeLhs(int index) { - return scopeLhs[index]; - } - - public interface ScopeLa { - public final static byte scopeLa[] = { 65, 65, 36, 65, 36, 24, 77, 77, 65, 65, 36, 99, 26, 77, 36, 24, 77, 36, - 36, 10, 26, 36, 36, 36, 36, 65, 10, 36, 77, 26, 26, 65, 36, 36, 77, 36, 36, 36, 61, 36, 26, 7, 7, 36, - 77, 77, 36, 1, 77, 2, 36, 2, 2, 2, 2, 26, 36, 61, 2, 68, 6, 2, 2, 61, 36, 36, 69, 6, 10, 10, 37, 2, 2, - 2, 2, 9, 26, 2, 62, 63, 63, 57, 26, 26, 2, 2, 69, 6, 1, 6, 1, 1 }; - } - - public final static byte scopeLa[] = ScopeLa.scopeLa; - - @Override - public final int scopeLa(int index) { - return scopeLa[index]; - } - - public interface ScopeStateSet { - public final static char scopeStateSet[] = { 141, 141, 38, 141, 38, 208, 54, 54, 141, 17, 38, 38, 38, 3, 58, - 208, 54, 146, 164, 141, 38, 141, 65, 65, 14, 138, 224, 58, 54, 8, 221, 30, 65, 65, 65, 38, 38, 38, 101, - 38, 38, 5, 159, 65, 1, 3, 58, 60, 54, 217, 146, 152, 141, 141, 141, 38, 65, 38, 224, 135, 208, 8, 221, - 38, 72, 65, 3, 208, 141, 141, 38, 141, 141, 5, 159, 142, 8, 142, 142, 142, 142, 142, 221, 38, 5, 159, - 12, 208, 146, 208, 148, 146 }; - } - - public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; - - @Override - public final int scopeStateSet(int index) { - return scopeStateSet[index]; - } - - public interface ScopeRhs { - public final static char scopeRhs[] = { 0, 162, 69, 162, 35, 0, 102, 0, 162, 35, 0, 30, 127, 102, 0, 198, 127, - 0, 191, 0, 127, 0, 158, 191, 0, 158, 0, 152, 127, 0, 151, 191, 0, 151, 0, 164, 1, 9, 0, 103, 0, 195, 0, - 198, 0, 162, 0, 30, 127, 0, 244, 39, 0, 29, 128, 0, 130, 1, 0, 164, 1, 23, 0, 240, 1, 217, 0, 239, 1, 1, - 7, 0, 103, 103, 0, 205, 102, 10, 0, 104, 0, 200, 102, 129, 0, 189, 0, 102, 129, 0, 169, 189, 0, 233, - 102, 0, 31, 150, 0, 188, 231, 102, 10, 151, 0, 104, 0, 0, 175, 102, 1, 167, 0, 175, 102, 1, 0, 186, 1, - 0, 163, 102, 0, 178, 0, 102, 137, 6, 137, 163, 0, 173, 0, 137, 163, 0, 9, 0, 0, 173, 0, 102, 137, 6, - 137, 0, 137, 0, 9, 0, 0, 128, 28, 211, 102, 35, 0, 128, 211, 102, 28, 35, 0, 128, 28, 35, 0, 128, 211, - 102, 35, 0, 128, 35, 0, 134, 0, 2, 0, 170, 103, 0, 167, 0, 2, 103, 0, 175, 102, 1, 134, 0, 2, 0, 168, - 103, 0, 152, 1, 0, 161, 0, 188, 209, 102, 10, 101, 227, 62, 0, 227, 62, 0, 106, 3, 0, 0, 0, 104, 0, 188, - 209, 102, 10, 227, 62, 0, 3, 0, 0, 0, 104, 0, 158, 0, 105, 0, 226, 102, 158, 0, 102, 158, 0, 156, 105, - 0, 196, 62, 0, 106, 0, 196, 64, 0, 196, 63, 0, 206, 102, 10, 225, 101, 224, 184, 0, 225, 101, 224, 184, - 0, 3, 0, 0, 104, 0, 224, 184, 0, 106, 0, 3, 0, 0, 104, 0, 206, 102, 10, 224, 184, 0, 147, 0, 146, 0, - 145, 0, 144, 0, 143, 0, 189, 102, 129, 0, 134, 105, 0, 129, 0, 131, 46, 0, 171, 126, 171, 160, 1, 43, 0, - 103, 128, 0, 171, 160, 1, 43, 0, 105, 0, 103, 128, 0, 171, 126, 171, 126, 171, 1, 43, 0, 171, 126, 171, - 1, 43, 0, 171, 1, 43, 0, 105, 0, 105, 0, 103, 128, 0, 131, 1, 37, 0, 131, 1, 37, 139, 42, 0, 103, 105, - 0, 139, 42, 0, 79, 2, 107, 103, 105, 0, 131, 1, 47, 0, 139, 118, 131, 1, 45, 0, 55, 128, 0, 131, 1, 45, - 0, 103, 128, 55, 128, 0, 138, 0, 162, 39, 0, 131, 87, 123, 0, 29, 124, 0, 164, 1, 0, 103, 113, 0, 164, - 1, 17, 0, 103, 111, 0, 223, 1, 106, 0, 131, 35, 106, 0, 131, 1, 0 }; - } - - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - - @Override - public final int scopeRhs(int index) { - return scopeRhs[index]; - } - - public interface ScopeState { - public final static char scopeState[] = { 0, 414, 0, 1784, 0, 2189, 2024, 0, 2882, 1999, 2017, 0, 942, 0, 838, - 435, 0, 813, 775, 676, 1302, 638, 1277, 424, 1250, 1018, 712, 636, 714, 0, 3024, 1960, 2965, 2939, 2923, - 2899, 2873, 2365, 2583, 2563, 2556, 2536, 2529, 2482, 2432, 2425, 1925, 2405, 2378, 1843, 464, 1797, - 1751, 0, 1282, 1275, 673, 457, 1946, 2618, 2129, 2819, 2092, 2271, 0, 3132, 3103, 2226, 1938, 1848, - 1091, 1019, 702, 424, 433, 1800, 2239, 2103, 1116, 2824, 2808, 2792, 2776, 2760, 1764, 752, 596, 2851, - 2634, 2491, 801, 3033, 3007, 2543, 664, 1754, 1107, 877, 839, 740, 522, 1726, 1701, 813, 1676, 1651, - 775, 1626, 1029, 1600, 1574, 1549, 1524, 1498, 1472, 1446, 887, 1420, 1394, 1368, 1342, 1316, 1290, - 1264, 1238, 1212, 1186, 1157, 993, 967, 942, 916, 389, 714, 851, 676, 638, 0, 774, 754, 0, 1072, 535, - 389, 485, 0, 2834, 485, 2364, 1946, 2336, 2307, 2189, 2264, 2024, 2129, 2092, 2279, 1860, 1888, 1996, - 2053, 1054, 0, 3190, 3186, 3164, 2189, 3146, 2264, 2364, 1946, 2024, 2618, 1888, 1996, 3118, 3182, 3168, - 535, 389, 2336, 2257, 3114, 2307, 3140, 3068, 2053, 2922, 2834, 2726, 2428, 2173, 2279, 621, 1072, 2702, - 2696, 2853, 2688, 3089, 3064, 2662, 2654, 2636, 499, 1054, 485, 2477, 3060, 2143, 3032, 2972, 2883, - 2879, 1865, 0, 1888, 1054, 485, 0, 2991, 1960, 1138, 1925, 1843, 1797, 1751, 2848, 2590, 0 }; - } - - public final static char scopeState[] = ScopeState.scopeState; - - @Override - public final int scopeState(int index) { - return scopeState[index]; - } - - public interface InSymb { - public final static char inSymb[] = { 0, 0, 221, 4, 129, 102, 237, 242, 102, 200, 190, 7, 8, 4, 191, 184, 192, - 64, 63, 193, 62, 194, 102, 1, 2, 134, 202, 195, 9, 1, 200, 229, 189, 152, 127, 146, 134, 183, 148, 102, - 136, 10, 1, 1, 1, 224, 127, 196, 127, 196, 227, 196, 127, 163, 137, 127, 152, 102, 1, 9, 23, 17, 22, 21, - 12, 11, 6, 14, 16, 15, 1, 106, 243, 13, 201, 102, 48, 127, 152, 35, 1, 68, 163, 102, 1, 241, 2, 13, 101, - 10, 101, 10, 137, 6, 163, 102, 1, 1, 1, 1, 1, 130, 164, 131, 158, 102, 10, 85, 70, 1, 35, 61, 118, 1, - 48, 238, 102, 129, 127, 28, 128, 102, 107, 6, 109, 115, 114, 117, 116, 120, 119, 122, 121, 123, 102, 10, - 151, 148, 136, 205, 46, 38, 40, 44, 43, 37, 42, 47, 45, 138, 41, 39, 101, 129, 239, 217, 1, 225, 127, - 102, 10, 102, 6, 137, 175, 129, 176, 164, 164, 164, 164, 164, 118, 102, 1, 168, 167, 204, 101, 9, 102, - 223, 102, 131, 6, 2, 102, 102, 128, 211, 185, 97, 96, 95, 93, 94, 92, 91, 90, 89, 88, 68, 72, 71, 6, 66, - 67, 12, 11, 81, 80, 79, 78, 76, 75, 74, 73, 82, 14, 84, 83, 87, 86, 228, 102, 10, 3, 131, 101, 1, 1, - 139, 1, 1, 61, 244, 162, 61, 102, 48, 118, 1, 13, 2, 10, 206, 158, 207, 102, 209, 101, 210, 137, 102, 1, - 102, 48, 118, 118, 118, 118, 118, 163, 186, 102, 1, 48, 107, 1, 205, 2, 211, 28, 128, 6, 114, 114, 109, - 109, 116, 116, 115, 115, 115, 115, 115, 115, 119, 117, 121, 120, 222, 131, 122, 48, 102, 160, 171, 131, - 37, 131, 131, 61, 69, 61, 102, 240, 102, 102, 209, 188, 68, 48, 102, 185, 102, 163, 175, 102, 164, 128, - 128, 61, 61, 231, 102, 171, 126, 118, 1, 118, 118, 163, 48, 206, 226, 61, 152, 127, 198, 188, 185, 175, - 118, 188, 48, 233, 245, 70, 35, 101, 234, 126, 171, 131, 139, 48, 61, 198, 127, 153, 68, 162, 70, 35, - 171, 126, 118, 99, 127, 69, 162, 118, 171, 162, 118 }; - } - - public final static char inSymb[] = InSymb.inSymb; - - @Override - public final int inSymb(int index) { - return inSymb[index]; - } - - public interface Name { - public final static String name[] = { "", "[", "(", "{", ".", "->", "++", "--", "&", "*", "+", "-", "~", "!", - "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "...", "=", - "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", ">?", " { - private static ParseTable prs = new GCCSizeofExpressionParserprs(); - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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 GCCSizeofExpressionParser(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), GCCSizeofExpressionParserprs.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(" " + GCCSizeofExpressionParsersym.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " - + GCCSizeofExpressionParsersym.orderedTerminalSymbols[GCCSizeofExpressionParserprs.EOFT_SYMBOL])); - } - } - - @Override - public String[] orderedTerminalSymbols() { - return GCCSizeofExpressionParsersym.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return GCCSizeofExpressionParsersym.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return GCCSizeofExpressionParserprs.EOFT_SYMBOL; - } - - public PrsStream getParseStream() { - return 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, this, prs, this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException( - "Regenerate GCCSizeofExpressionParserprs.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error( - new BadParseSymFileException("Bad Parser Symbol File -- GCCSizeofExpressionParsersym.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 GCCBuildASTParserAction action; - private IASTCompletionNode compNode; - - public GCCSizeofExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, - IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new GCCBuildASTParserAction(this, astStack, CNodeFactory.getDefault(), - GCCSecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - gnuAction = new GNUBuildASTParserAction(this, astStack, CNodeFactory.getDefault()); - gnuAction.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - public IASTExpression 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 (IASTExpression) action.getParseResult(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return GCCSizeofExpressionParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "GCCSizeofExpressionParser"; - } - - private ITokenMap tokenMap = null; - - @Override - public void setTokens(List tokens) { - resetTokenStream(); - addToken(new Token(null, 0, 0, 0)); // dummy token - for (IToken token : tokens) { - token.setKind(tokenMap.mapKind(token.getKind())); - addToken(token); - } - addToken(new Token(null, 0, 0, GCCSizeofExpressionParsersym.TK_EOF_TOKEN)); - } - - public GCCSizeofExpressionParser(ITokenStream stream, Map properties) { // constructor for creating secondary parser - initActions(properties); - tokenMap = new TokenMap(GCCSizeofExpressionParsersym.orderedTerminalSymbols, - stream.getOrderedTerminalSymbols()); - } - - private GNUBuildASTParserAction gnuAction; - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 43: cast_expression ::= ( type_id ) cast_expression - // - case 43: { - action.consumeExpressionCast(IASTCastExpression.op_cast); - break; - } - - // - // Rule 45: multiplicative_expression ::= multiplicative_expression * cast_expression - // - case 45: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); - break; - } - - // - // Rule 46: multiplicative_expression ::= multiplicative_expression / cast_expression - // - case 46: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); - break; - } - - // - // Rule 47: multiplicative_expression ::= multiplicative_expression % cast_expression - // - case 47: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); - break; - } - - // - // Rule 49: additive_expression ::= additive_expression + multiplicative_expression - // - case 49: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); - break; - } - - // - // Rule 50: additive_expression ::= additive_expression - multiplicative_expression - // - case 50: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); - break; - } - - // - // Rule 52: shift_expression ::= shift_expression << additive_expression - // - case 52: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); - break; - } - - // - // Rule 53: shift_expression ::= shift_expression >> additive_expression - // - case 53: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); - break; - } - - // - // Rule 55: relational_expression ::= relational_expression < shift_expression - // - case 55: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); - break; - } - - // - // Rule 56: relational_expression ::= relational_expression > shift_expression - // - case 56: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); - break; - } - - // - // Rule 57: relational_expression ::= relational_expression <= shift_expression - // - case 57: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); - break; - } - - // - // Rule 58: relational_expression ::= relational_expression >= shift_expression - // - case 58: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); - break; - } - - // - // Rule 60: equality_expression ::= equality_expression == relational_expression - // - case 60: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); - break; - } - - // - // Rule 61: equality_expression ::= equality_expression != relational_expression - // - case 61: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); - break; - } - - // - // Rule 63: and_expression ::= and_expression & equality_expression - // - case 63: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); - break; - } - - // - // Rule 65: exclusive_or_expression ::= exclusive_or_expression ^ and_expression - // - case 65: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); - break; - } - - // - // Rule 67: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression - // - case 67: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); - break; - } - - // - // Rule 69: logical_and_expression ::= logical_and_expression && inclusive_or_expression - // - case 69: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); - break; - } - - // - // Rule 71: logical_or_expression ::= logical_or_expression || logical_and_expression - // - case 71: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); - break; - } - - // - // Rule 73: conditional_expression ::= logical_or_expression ? expression : assignment_expression - // - case 73: { - action.consumeExpressionConditional(); - break; - } - - // - // Rule 75: assignment_expression ::= unary_expression = assignment_expression - // - case 75: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); - break; - } - - // - // Rule 76: assignment_expression ::= unary_expression *= assignment_expression - // - case 76: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); - break; - } - - // - // Rule 77: assignment_expression ::= unary_expression /= assignment_expression - // - case 77: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); - break; - } - - // - // Rule 78: assignment_expression ::= unary_expression %= assignment_expression - // - case 78: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); - break; - } - - // - // Rule 79: assignment_expression ::= unary_expression += assignment_expression - // - case 79: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); - break; - } - - // - // Rule 80: assignment_expression ::= unary_expression -= assignment_expression - // - case 80: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); - break; - } - - // - // Rule 81: assignment_expression ::= unary_expression <<= assignment_expression - // - case 81: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); - break; - } - - // - // Rule 82: assignment_expression ::= unary_expression >>= assignment_expression - // - case 82: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); - break; - } - - // - // Rule 83: assignment_expression ::= unary_expression &= assignment_expression - // - case 83: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); - break; - } - - // - // Rule 84: assignment_expression ::= unary_expression ^= assignment_expression - // - case 84: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); - break; - } - - // - // Rule 85: assignment_expression ::= unary_expression |= assignment_expression - // - case 85: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); - break; - } - - // - // Rule 88: expression_list ::= expression_list_actual - // - case 88: { - action.consumeExpressionList(); - break; - } - - // - // Rule 90: expression_list_opt ::= $Empty - // - case 90: { - action.consumeEmpty(); - break; - } - - // - // Rule 100: statement ::= ERROR_TOKEN - // - case 100: { - action.consumeStatementProblem(); - break; - } - - // - // Rule 101: labeled_statement ::= identifier_token : statement - // - case 101: { - action.consumeStatementLabeled(); - break; - } - - // - // Rule 102: labeled_statement ::= case constant_expression : statement - // - case 102: { - action.consumeStatementCase(); - break; - } - - // - // Rule 103: labeled_statement ::= default : statement - // - case 103: { - action.consumeStatementDefault(); - break; - } - - // - // Rule 104: compound_statement ::= { } - // - case 104: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 105: compound_statement ::= { block_item_list } - // - case 105: { - action.consumeStatementCompoundStatement(true); - break; - } - - // - // Rule 109: block_item ::= declaration - // - case 109: { - action.consumeStatementDeclarationWithDisambiguation(); - break; - } - - // - // Rule 110: expression_statement ::= ; - // - case 110: { - action.consumeStatementNull(); - break; - } - - // - // Rule 111: expression_statement ::= expression_in_statement ; - // - case 111: { - action.consumeStatementExpression(); - break; - } - - // - // Rule 112: selection_statement ::= if ( expression ) statement - // - case 112: { - action.consumeStatementIf(false); - break; - } - - // - // Rule 113: selection_statement ::= if ( expression ) statement else statement - // - case 113: { - action.consumeStatementIf(true); - break; - } - - // - // Rule 114: selection_statement ::= switch ( expression ) statement - // - case 114: { - action.consumeStatementSwitch(); - break; - } - - // - // Rule 116: expression_opt ::= $Empty - // - case 116: { - action.consumeEmpty(); - break; - } - - // - // Rule 117: iteration_statement ::= do statement while ( expression ) ; - // - case 117: { - action.consumeStatementDoLoop(true); - break; - } - - // - // Rule 118: iteration_statement ::= do statement - // - case 118: { - action.consumeStatementDoLoop(false); - break; - } - - // - // Rule 119: iteration_statement ::= while ( expression ) statement - // - case 119: { - action.consumeStatementWhileLoop(); - break; - } - - // - // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement - // - case 120: { - action.consumeStatementForLoop(); - break; - } - - // - // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement - // - case 121: { - action.consumeStatementForLoop(); - break; - } - - // - // Rule 122: jump_statement ::= goto identifier_token ; - // - case 122: { - action.consumeStatementGoto(); - break; - } - - // - // Rule 123: jump_statement ::= continue ; - // - case 123: { - action.consumeStatementContinue(); - break; - } - - // - // Rule 124: jump_statement ::= break ; - // - case 124: { - action.consumeStatementBreak(); - break; - } - - // - // Rule 125: jump_statement ::= return ; - // - case 125: { - action.consumeStatementReturn(false); - break; - } - - // - // Rule 126: jump_statement ::= return expression ; - // - case 126: { - action.consumeStatementReturn(true); - break; - } - - // - // Rule 127: declaration ::= declaration_specifiers ; - // - case 127: { - action.consumeDeclarationSimple(false); - break; - } - - // - // Rule 128: declaration ::= declaration_specifiers init_declarator_list ; - // - case 128: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 129: declaration_specifiers ::= simple_declaration_specifiers - // - case 129: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 130: declaration_specifiers ::= struct_or_union_declaration_specifiers - // - case 130: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 131: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 131: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 132: declaration_specifiers ::= enum_declaration_specifiers - // - case 132: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 133: declaration_specifiers ::= typdef_name_declaration_specifiers - // - case 133: { - action.consumeDeclarationSpecifiersTypedefName(); - break; - } - - // - // Rule 158: init_declarator ::= complete_declarator = initializer - // - case 158: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 160: storage_class_specifier ::= storage_class_specifier_token - // - case 160: { - action.consumeToken(); - break; - } - - // - // Rule 166: simple_type_specifier ::= simple_type_specifier_token - // - case 166: { - action.consumeToken(); - break; - } - - // - // Rule 179: type_name_specifier ::= identifier_token - // - case 179: { - action.consumeToken(); - break; - } - - // - // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { struct_declaration_list_opt } - // - case 180: { - action.consumeTypeSpecifierComposite(false); - break; - } - - // - // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { struct_declaration_list_opt } - // - case 181: { - action.consumeTypeSpecifierComposite(true); - break; - } - - // - // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token - // - case 186: { - action.consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); - break; - } - - // - // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token - // - case 187: { - action.consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); - break; - } - - // - // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token - // - case 188: { - action.consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); - break; - } - - // - // Rule 194: struct_declaration ::= specifier_qualifier_list struct_declarator_list ; - // - case 194: { - action.consumeStructDeclaration(true); - break; - } - - // - // Rule 195: struct_declaration ::= specifier_qualifier_list ; - // - case 195: { - action.consumeStructDeclaration(false); - break; - } - - // - // Rule 196: struct_declaration ::= ERROR_TOKEN - // - case 196: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 202: struct_declarator ::= : constant_expression - // - case 202: { - action.consumeBitField(false); - break; - } - - // - // Rule 203: struct_declarator ::= declarator : constant_expression - // - case 203: { - action.consumeBitField(true); - break; - } - - // - // Rule 204: enum_specifier ::= enum enum_specifier_hook { enumerator_list_opt comma_opt } - // - case 204: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { enumerator_list_opt comma_opt } - // - case 205: { - action.consumeTypeSpecifierEnumeration(true); - break; - } - - // - // Rule 211: enumerator ::= identifier_token - // - case 211: { - action.consumeEnumerator(false); - break; - } - - // - // Rule 212: enumerator ::= identifier_token = constant_expression - // - case 212: { - action.consumeEnumerator(true); - break; - } - - // - // Rule 213: type_qualifier ::= type_qualifier_token - // - case 213: { - action.consumeToken(); - break; - } - - // - // Rule 217: function_specifier ::= inline - // - case 217: { - action.consumeToken(); - break; - } - - // - // Rule 219: declarator ::= pointer_seq direct_declarator - // - case 219: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 224: basic_direct_declarator ::= declarator_id_name - // - case 224: { - action.consumeDirectDeclaratorIdentifier(); - break; - } - - // - // Rule 225: basic_direct_declarator ::= ( declarator ) - // - case 225: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 226: declarator_id_name ::= identifier - // - case 226: { - action.consumeIdentifierName(); - break; - } - - // - // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier - // - case 227: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier - // - case 228: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( parameter_type_list ) - // - case 230: { - action.consumeDirectDeclaratorFunctionDeclarator(true, true); - break; - } - - // - // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) - // - case 231: { - action.consumeDirectDeclaratorFunctionDeclarator(true, false); - break; - } - - // - // Rule 233: function_declarator ::= pointer_seq function_direct_declarator - // - case 233: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) - // - case 234: { - action.consumeDirectDeclaratorFunctionDeclaratorKnR(); - break; - } - - // - // Rule 236: knr_function_declarator ::= pointer_seq knr_direct_declarator - // - case 236: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 237: identifier_list ::= identifier - // - case 237: { - action.consumeIdentifierKnR(); - break; - } - - // - // Rule 238: identifier_list ::= identifier_list , identifier - // - case 238: { - action.consumeIdentifierKnR(); - break; - } - - // - // Rule 239: array_modifier ::= [ ] - // - case 239: { - action.consumeDirectDeclaratorArrayModifier(false); - break; - } - - // - // Rule 240: array_modifier ::= [ array_modifier_type_qualifiers ] - // - case 240: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); - break; - } - - // - // Rule 241: array_modifier ::= [ assignment_expression ] - // - case 241: { - action.consumeDirectDeclaratorArrayModifier(true); - break; - } - - // - // Rule 242: array_modifier ::= [ array_modifier_type_qualifiers assignment_expression ] - // - case 242: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); - break; - } - - // - // Rule 243: array_modifier ::= [ static assignment_expression ] - // - case 243: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); - break; - } - - // - // Rule 244: array_modifier ::= [ static array_modifier_type_qualifiers assignment_expression ] - // - case 244: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); - break; - } - - // - // Rule 245: array_modifier ::= [ array_modifier_type_qualifiers static assignment_expression ] - // - case 245: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); - break; - } - - // - // Rule 246: array_modifier ::= [ * ] - // - case 246: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); - break; - } - - // - // Rule 247: array_modifier ::= [ array_modifier_type_qualifiers * ] - // - case 247: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); - break; - } - - // - // Rule 249: pointer_seq ::= pointer_hook * pointer_hook - // - case 249: { - action.consumePointer(); - break; - } - - // - // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook - // - case 250: { - action.consumePointer(); - break; - } - - // - // Rule 251: pointer_seq ::= pointer_hook * pointer_hook type_qualifier_list - // - case 251: { - action.consumePointerTypeQualifierList(); - break; - } - - // - // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook type_qualifier_list - // - case 252: { - action.consumePointerTypeQualifierList(); - break; - } - - // - // Rule 256: parameter_type_list ::= parameter_list - // - case 256: { - action.consumeEmpty(); - break; - } - - // - // Rule 257: parameter_type_list ::= parameter_list , ... - // - case 257: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 258: parameter_type_list ::= ... - // - case 258: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator - // - case 261: { - action.consumeParameterDeclaration(); - break; - } - - // - // Rule 262: parameter_declaration ::= declaration_specifiers - // - case 262: { - action.consumeParameterDeclarationWithoutDeclarator(); - break; - } - - // - // Rule 265: type_id ::= specifier_qualifier_list - // - case 265: { - action.consumeTypeId(false); - break; - } - - // - // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator - // - case 266: { - action.consumeTypeId(true); - break; - } - - // - // Rule 268: abstract_declarator ::= pointer_seq - // - case 268: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 269: abstract_declarator ::= pointer_seq direct_abstract_declarator - // - case 269: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) - // - case 273: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 274: array_direct_abstract_declarator ::= array_modifier - // - case 274: { - action.consumeDirectDeclaratorArrayDeclarator(false); - break; - } - - // - // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier - // - case 275: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier - // - case 276: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 277: function_direct_abstract_declarator ::= ( ) - // - case 277: { - action.consumeDirectDeclaratorFunctionDeclarator(false, false); - break; - } - - // - // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) - // - case 278: { - action.consumeDirectDeclaratorFunctionDeclarator(true, false); - break; - } - - // - // Rule 279: function_direct_abstract_declarator ::= ( parameter_type_list ) - // - case 279: { - action.consumeDirectDeclaratorFunctionDeclarator(false, true); - break; - } - - // - // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_type_list ) - // - case 280: { - action.consumeDirectDeclaratorFunctionDeclarator(true, true); - break; - } - - // - // Rule 281: initializer ::= assignment_expression - // - case 281: { - action.consumeInitializer(); - break; - } - - // - // Rule 282: initializer ::= initializer_list - // - case 282: { - action.consumeInitializer(); - break; - } - - // - // Rule 283: initializer_list ::= start_initializer_list { initializer_seq comma_opt } end_initializer_list - // - case 283: { - action.consumeInitializerList(); - break; - } - - // - // Rule 284: initializer_list ::= { } - // - case 284: { - action.consumeInitializerList(); - break; - } - - // - // Rule 285: start_initializer_list ::= $Empty - // - case 285: { - action.initializerListStart(); - break; - } - - // - // Rule 286: end_initializer_list ::= $Empty - // - case 286: { - action.initializerListEnd(); - break; - } - - // - // Rule 291: designated_initializer ::= designation = initializer - // - case 291: { - action.consumeInitializerDesignated(); - break; - } - - // - // Rule 295: designator_base ::= [ constant_expression ] - // - case 295: { - action.consumeDesignatorArray(); - break; - } - - // - // Rule 296: designator_base ::= . identifier_token - // - case 296: { - action.consumeDesignatorField(); - break; - } - - // - // Rule 297: designator ::= [ constant_expression ] - // - case 297: { - action.consumeDesignatorArray(); - break; - } - - // - // Rule 298: designator ::= . identifier_token - // - case 298: { - action.consumeDesignatorField(); - break; - } - - // - // Rule 299: translation_unit ::= external_declaration_list - // - case 299: { - action.consumeTranslationUnit(); - break; - } - - // - // Rule 300: translation_unit ::= $Empty - // - case 300: { - action.consumeTranslationUnit(); - break; - } - - // - // Rule 305: external_declaration ::= ; - // - case 305: { - action.consumeDeclarationEmpty(); - break; - } - - // - // Rule 306: external_declaration ::= ERROR_TOKEN - // - case 306: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 310: function_definition ::= function_declarator function_body - // - case 310: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 311: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement - // - case 311: { - action.consumeFunctionDefinitionKnR(); - break; - } - - // - // Rule 312: normal_function_definition ::= declaration_specifiers function_declarator function_body - // - case 312: { - action.consumeFunctionDefinition(true); - break; - } - - // - // Rule 313: function_body ::= { } - // - case 313: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 314: function_body ::= { block_item_list } - // - case 314: { - action.consumeStatementCompoundStatement(true); - break; - } - - // - // Rule 331: attribute_parameter ::= assignment_expression - // - case 331: { - action.consumeIgnore(); - break; - } - - // - // Rule 342: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; - // - case 342: { - gnuAction.consumeDeclarationASM(); - break; - } - - // - // Rule 353: unary_expression ::= __alignof__ unary_expression - // - case 353: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); - break; - } - - // - // Rule 354: unary_expression ::= typeof unary_expression - // - case 354: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); - break; - } - - // - // Rule 355: relational_expression ::= relational_expression >? shift_expression - // - case 355: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); - break; - } - - // - // Rule 356: relational_expression ::= relational_expression : assignment_expression - // - case 357: { - action.consumeExpressionConditional(); - break; - } - - // - // Rule 358: primary_expression ::= ( compound_statement ) - // - case 358: { - gnuAction.consumeCompoundStatementExpression(); - break; - } - - // - // Rule 359: labeled_statement ::= case case_range_expression : statement - // - case 359: { - action.consumeStatementCase(); - break; - } - - // - // Rule 360: case_range_expression ::= constant_expression ... constant_expression - // - case 360: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); - break; - } - - // - // Rule 364: typeof_type_specifier ::= typeof unary_expression - // - case 364: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); - break; - } - - // - // Rule 365: typeof_type_specifier ::= typeof ( type_id ) - // - case 365: { - action.consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); - break; - } - - // - // Rule 366: declaration_specifiers ::= typeof_declaration_specifiers - // - case 366: { - action.consumeDeclarationSpecifiersTypeof(); - break; - } - - // - // Rule 382: field_name_designator ::= identifier_token : - // - case 382: { - action.consumeDesignatorFieldGCC(); - break; - } - - // - // Rule 383: array_range_designator ::= [ constant_expression ... constant_expression ] - // - case 383: { - action.consumeDesignatorArrayRange(); - break; - } - - // - // Rule 384: designated_initializer ::= field_name_designator initializer - // - case 384: { - action.consumeInitializerDesignated(); - break; - } - - // - // Rule 385: block_item ::= normal_function_definition - // - case 385: { - action.consumeStatementDeclaration(); - break; - } - - // - // Rule 387: no_sizeof_type_name_start ::= ERROR_TOKEN - // - case 387: { - action.consumeEmpty(); - break; - } - - default: - break; - } - return; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParserprs.java deleted file mode 100644 index b924824bb52..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParserprs.java +++ /dev/null @@ -1,989 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.gcc; - -public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, GCCSizeofExpressionParsersym { - - 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 }; - } - - 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, 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, 2, 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, -39, 0, 0, 0, 0, 0, 0, -35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -241, 0, -2, 0, -80, -118, -240, 0, 0, 0, -31, 0, -173, 0, -41, 0, 0, 0, 0, 0, 0, -17, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -52, 0, 0, 0, 0, 0, 0, -287, 0, 0, 0, 0, 0, 0, -40, 0, 0, 0, 0, 0, -4, - 0, -170, 0, 0, 0, 0, 0, -75, 0, 0, 0, 0, 0, 0, 0, 0, -16, 0, -18, -1, 0, 0, 0, 0, 0, 0, 0, 0, -119, -33, - 0, 0, 0, 0, 0, 0, 0, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, 0, 0, 0, 0, -176, -20, 0, -21, 0, 0, 0, 0, 0, - 0, -199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -281, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -134, 0, -260, -289, 0, 0, 0, 0, 0, 0, 0, 0, -32, 0, -232, 0, 0, 0, -22, 0, - -250, -278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -61, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -136, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, -130, 0, - -273, 0, 0, -220, 0, 0, 0, 0, -283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -297, 0, -23, 0, -311, 0, 0, 0, 0, 0, 0, -24, 0, 0, 0, 0, 0, 0, 0, -159, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -310, 0, 0, 0, 0, -25, 0, -36, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -139, 0, 0, -252, 0, 0, 0, 0, 0, 0, -305, 0, 0, 0, 0, 0, 0, - -148, 0, 0, 0, 0, 0, 0, 0, 0, 0, -140, 0, -155, 0, -3, 0, 0, 0, 0, 0, 0, -26, 0, 0, 0, 0, 0, -149, 0, - -186, 0, 0, 0, 0, 0, 0, 0, 0, 0, -284, 0, 0, -124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -27, 0, -28, -168, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -83, 0, -157, 0, 0, 0, 0, 0, 0, -248, 0, 0, 0, 0, -123, -84, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -187, 0, -46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -169, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -204, 0, -85, 0, 0, 0, 0, 0, 0, 0, 0, -313, 0, -94, 0, -318, 0, 0, 0, 0, 0, 0, - -164, 0, 0, 0, 0, -99, 0, 0, -222, 0, 0, 0, 0, 0, 0, 0, 0, -163, -243, 0, 0, -29, 0, 0, 0, 0, 0, 0, -37, - 0, 0, 0, 0, -315, 0, -100, -244, 0, 0, 0, 0, 0, 0, 0, 0, -101, -288, -102, 0, -103, 0, 0, 0, -62, 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, -63, 0, 0, 0, 0, 0, 0, - -181, 0, 0, 0, 0, 0, 0, 0, -104, 0, 0, 0, 0, 0, 0, 0, 0, -105, 0, -263, 0, -64, 0, 0, 0, 0, 0, 0, -183, - 0, 0, 0, 0, 0, -245, 0, -299, 0, 0, 0, 0, 0, 0, 0, 0, 0, -106, -303, 0, -65, 0, 0, 0, 0, 0, 0, -201, 0, - 0, 0, 0, -312, 0, 0, -320, 0, 0, 0, 0, 0, 0, 0, 0, 0, -107, 0, 0, -66, 0, 0, 0, 0, 0, 0, -218, 0, 0, 0, - 0, -334, 0, 0, -108, 0, 0, 0, 0, 0, 0, 0, 0, -109, 0, -328, 0, -67, 0, 0, 0, 0, 0, 0, -242, 0, 0, 0, 0, - -343, -256, 0, -110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -111, 0, -68, 0, 0, 0, 0, 0, 0, -255, 0, 0, 0, 0, - -112, -280, 0, -113, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, -115, 0, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -116, -295, -117, -120, 0, 0, 0, 0, 0, 0, 0, 0, -122, -133, -143, 0, -70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -150, -319, -151, -153, 0, 0, 0, 0, 0, 0, 0, 0, -154, -294, -156, 0, -71, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -158, -165, -174, -178, 0, 0, 0, 0, 0, 0, 0, 0, -182, -302, -185, 0, -72, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -190, -194, -207, -195, 0, 0, 0, 0, 0, 0, 0, 0, -96, 0, -197, 0, -5, 0, 0, 0, 0, 0, 0, -126, 0, - 0, 0, 0, -213, -215, -161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -325, -225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -237, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -239, -261, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -73, 0, 0, 0, -262, -271, -272, -282, 0, -162, 0, 0, 0, 0, 0, 0, -286, - 0, 0, 0, 0, -301, -304, -309, 0, 0, 0, 0, 0, 0, 0, 0, 0, -322, -330, 0, 0, -202, 0, 0, 0, 0, 0, 0, -335, - 0, 0, 0, 0, 0, -219, 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, 0, 0, 0, -208, 0, 0, -229, 0, 0, 0, 0, 0, 0, -74, 0, 0, 0, 0, -128, -131, - -171, -179, 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, 0, - 0, 0, 0, 0, 0, -296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -132, 0, 0, -184, 0, 0, 0, 0, 0, 0, 0, 0, -314, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -321, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -211, -259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -177, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -135, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -98, 0, 0, 0, 0, 0, 0, 0, -127, 0, 0, 0, 0, 0, 0, -160, 0, -145, 0, 0, 0, 0, 0, -212, 0, 0, 0, - 0, 0, 0, -231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -137, 0, 0, 0, 0, 0, 0, 0, -214, - 0, -224, -198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -141, 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, -47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -92, 0, 0, 0, 0, 0, 0, 0, 0, -306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -332, 0, 0, - -34, -223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -79, 0, 0, -265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -226, 0, 0, 0, 0, 0, 0, - -258, -293, -189, 0, 0, 0, 0, 0, 0, 0, -227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -172, 0, -257, 0, 0, 0, 0, 0, -87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274, 0, 0, 0, - 0, 0, -246, 0, 0, 0, -251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -167, -191, 0, 0, 0, -206, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -253, 0, 0, 0, -48, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -336, -254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -291, 0, 0, -57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -323, 0, 0, 0, 0, 0, 0, 0, 0, -300, 0, 0, 0, 0, 0, - 0, 0, 0, -58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -279, 0, 0, 0, 0, 0, 0, 0, - 0, -235, 0, 0, 0, 0, 0, 0, 0, -316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -50, 0, 0, 0, 0, 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, -76, 0, 0, 0, 0, 0, 0, -317, 0, 0, 0, - 0, 0, -54, 0, 0, 0, 0, 0, 0, -82, 0, 0, 0, 0, 0, -326, -331, 0, 0, 0, 0, 0, 0, 0, 0, -341, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -210, 0, -129, 0, 0, 0, 0, 0, -216, 0, 0, 0, 0, 0, 0, 0, 0, 0, -152, 0, 0, 0, 0, 0, - -342, 0, 0, 0, 0, 0, 0, 0, 0, 0, -205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -86, 0, -196, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -230, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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, -247, -266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -268, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -269, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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, -340, 0, 0, -192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -345, 0, 0, -221, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -56, 0, 0, 0, 0, 0, 0, -121, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -51, 0, 0, 0, 0, 0, 0, -88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -42, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -91, 0, 0, 0, -93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -236, 0, 0, 0, 0, 0, 0, 0, -95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, - 0, 0, 0, 0, 0, 0, 0, 0, -11, 0, 0, 0, 0, 0, 0, 0, 0, -12, 0, 0, 0, 0, 0, 0, 0, 0, -13, 0, 0, 0, 0, 0, 0, - -30, 0, 0, -38, 0, 0, 0, 0, -275, 0, 0, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -44, 0, 0, 0, 0, 0, 0, 0, 0, -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -144, 0, 0, 0, 0, -77, 0, 0, 0, -209, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -188, 0, 0, 0, -238, 0, 0, 0, -14, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -277, 0, 0, 0, 0, 0, 0, 0, 0, -89, 0, 0, 0, 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, -90, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -97, 0, 0, 0, 0, 0, 0, 0, -142, 0, 0, 0, 0, 0, 0, -166, 0, 0, 0, - -180, 0, 0, 0, 0, -200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -290, 0, 0, -292, 0, -276, 0, 0, - 0, -175, 0, 0, 0, 0, -59, -324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -146, -338, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -298, 0, 0, 0, 0, 0, 0, 0, -307, -327, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -339, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0 }; - } - - public final static short baseCheck[] = BaseCheck.baseCheck; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[index]; - } - - public interface BaseAction { - public final static char baseAction[] = { 117, 7, 118, 41, 41, 24, 24, 50, 50, 26, 26, 1, 1, 2, 2, 2, 2, 3, 3, - 3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 80, 80, 94, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 9, 9, 9, 9, 10, 10, 10, - 11, 11, 11, 16, 16, 16, 16, 16, 17, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 27, 27, 27, - 27, 27, 27, 27, 27, 27, 27, 27, 27, 34, 30, 25, 119, 119, 95, 95, 58, 35, 35, 35, 35, 35, 35, 35, 36, - 36, 36, 29, 29, 96, 96, 71, 71, 37, 37, 38, 38, 38, 67, 67, 39, 39, 39, 39, 39, 40, 40, 40, 40, 40, 66, - 66, 31, 31, 31, 31, 31, 53, 53, 53, 103, 103, 98, 98, 98, 98, 99, 99, 99, 100, 100, 100, 101, 101, 101, - 102, 102, 102, 97, 97, 85, 85, 86, 54, 56, 56, 56, 56, 56, 72, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 84, 81, 81, 120, 121, 87, 87, 82, 82, 82, 88, 104, 104, 105, 105, 89, 89, 89, 60, 122, 122, 106, - 90, 90, 90, 83, 83, 123, 107, 107, 108, 108, 91, 91, 32, 33, 33, 33, 55, 51, 51, 42, 42, 42, 42, 45, 45, - 47, 43, 43, 44, 48, 48, 124, 124, 46, 143, 143, 125, 125, 52, 52, 52, 52, 52, 52, 52, 52, 52, 109, 61, - 61, 61, 61, 49, 75, 75, 74, 74, 74, 76, 76, 69, 69, 126, 126, 79, 79, 77, 77, 77, 62, 62, 62, 63, 64, - 64, 64, 65, 65, 65, 65, 68, 68, 57, 57, 59, 128, 127, 127, 127, 127, 110, 129, 130, 130, 131, 131, 132, - 132, 144, 144, 145, 145, 146, 146, 146, 146, 148, 148, 147, 147, 147, 78, 133, 133, 12, 12, 12, 28, 28, - 13, 13, 134, 134, 111, 111, 111, 112, 112, 135, 135, 113, 113, 14, 14, 136, 136, 114, 114, 114, 114, 15, - 70, 137, 137, 138, 138, 115, 115, 115, 92, 92, 92, 6, 6, 16, 16, 23, 3, 36, 139, 116, 116, 116, 93, 93, - 31, 66, 53, 86, 86, 86, 106, 106, 106, 123, 120, 121, 49, 88, 131, 131, 140, 141, 110, 71, 117, 117, - 331, 913, 17, 21, 18, 482, 829, 560, 44, 503, 484, 521, 368, 315, 316, 317, 519, 685, 586, 717, 694, - 827, 794, 74, 1851, 1380, 443, 91, 521, 901, 1429, 358, 135, 213, 672, 31, 1319, 179, 1647, 20, 17, 21, - 18, 482, 42, 500, 44, 927, 368, 315, 316, 317, 388, 137, 134, 136, 160, 1647, 20, 17, 21, 18, 482, 42, - 1872, 44, 503, 1084, 135, 213, 87, 398, 139, 166, 395, 950, 197, 629, 1635, 1279, 275, 143, 146, 149, - 152, 645, 28, 1896, 1186, 137, 134, 136, 160, 361, 1825, 465, 451, 517, 2182, 2286, 2577, 2608, 2612, - 1279, 787, 2731, 249, 462, 139, 166, 1156, 255, 213, 939, 787, 876, 2637, 143, 146, 149, 152, 104, 87, - 1896, 719, 645, 22, 386, 25, 361, 753, 302, 89, 37, 2182, 2286, 2577, 2608, 2612, 1279, 1551, 20, 17, - 21, 18, 482, 829, 412, 44, 503, 484, 521, 2637, 1371, 452, 293, 519, 685, 586, 717, 694, 827, 794, 74, - 659, 381, 241, 281, 1445, 20, 17, 21, 18, 482, 829, 412, 44, 503, 484, 521, 908, 2920, 1469, 1905, 519, - 685, 586, 717, 694, 827, 794, 74, 672, 31, 1685, 281, 294, 282, 38, 1186, 753, 1575, 20, 17, 21, 18, - 482, 829, 287, 44, 503, 484, 521, 369, 414, 255, 213, 519, 685, 586, 717, 694, 827, 794, 74, 282, 1464, - 1186, 281, 1647, 20, 17, 21, 18, 482, 42, 289, 44, 503, 484, 521, 322, 1295, 672, 187, 519, 685, 586, - 717, 1185, 288, 1647, 20, 17, 21, 18, 482, 42, 282, 40, 1186, 1747, 1184, 398, 1658, 276, 1661, 418, - 2951, 158, 1771, 1599, 20, 17, 21, 18, 482, 829, 290, 44, 503, 484, 521, 672, 186, 278, 24, 519, 685, - 586, 717, 694, 827, 794, 74, 672, 1350, 444, 281, 1623, 20, 17, 21, 18, 482, 829, 543, 44, 503, 484, - 521, 323, 1295, 313, 1428, 519, 685, 586, 717, 694, 827, 794, 74, 28, 301, 1186, 281, 312, 282, 541, - 1186, 560, 1647, 20, 17, 21, 18, 482, 42, 384, 44, 503, 1102, 1397, 20, 17, 21, 18, 482, 829, 1290, 44, - 503, 484, 521, 2162, 282, 783, 1186, 519, 685, 586, 717, 694, 827, 794, 74, 291, 1862, 1251, 513, 1743, - 20, 17, 21, 18, 482, 829, 1722, 44, 503, 484, 521, 124, 239, 783, 210, 519, 685, 586, 717, 694, 827, - 794, 74, 672, 188, 783, 331, 1647, 20, 17, 21, 18, 482, 829, 416, 44, 503, 484, 521, 123, 672, 873, 783, - 519, 685, 586, 717, 694, 827, 794, 74, 111, 672, 296, 91, 1719, 20, 17, 21, 18, 482, 829, 1937, 44, 503, - 484, 521, 888, 126, 1727, 645, 519, 685, 586, 717, 694, 827, 794, 74, 1281, 283, 554, 830, 1647, 20, 17, - 21, 18, 482, 42, 1747, 44, 503, 484, 521, 739, 999, 2942, 348, 519, 685, 586, 717, 694, 827, 794, 93, - 319, 315, 316, 317, 243, 329, 783, 231, 1647, 20, 17, 21, 18, 482, 42, 465, 44, 503, 484, 967, 1421, 20, - 17, 21, 18, 482, 829, 2045, 44, 503, 484, 521, 122, 645, 1270, 1047, 519, 685, 586, 717, 694, 827, 794, - 74, 672, 298, 1499, 900, 1743, 20, 17, 21, 18, 482, 829, 249, 44, 503, 484, 521, 1086, 240, 528, 783, - 519, 685, 586, 717, 694, 827, 794, 74, 456, 1182, 242, 331, 1647, 20, 17, 21, 18, 482, 829, 560, 44, - 503, 484, 521, 1922, 2989, 1333, 645, 519, 685, 586, 717, 694, 827, 794, 74, 49, 1182, 169, 92, 181, - 254, 213, 19, 1647, 20, 17, 21, 18, 482, 829, 1268, 44, 503, 484, 521, 255, 213, 284, 1787, 519, 685, - 586, 717, 694, 827, 794, 74, 244, 254, 213, 85, 1647, 20, 17, 21, 18, 482, 829, 249, 44, 503, 484, 521, - 571, 128, 2890, 630, 519, 685, 586, 717, 694, 827, 794, 74, 1002, 330, 783, 84, 1647, 20, 17, 21, 18, - 482, 829, 249, 44, 503, 484, 521, 955, 645, 1414, 783, 519, 685, 586, 717, 694, 827, 794, 74, 3001, - 1065, 783, 83, 1647, 20, 17, 21, 18, 482, 829, 1330, 44, 503, 484, 521, 1920, 3010, 940, 1935, 519, 685, - 586, 717, 694, 827, 794, 74, 342, 775, 245, 82, 1647, 20, 17, 21, 18, 482, 829, 249, 44, 503, 484, 521, - 645, 194, 1572, 911, 519, 685, 586, 717, 694, 827, 794, 74, 520, 295, 783, 81, 1647, 20, 17, 21, 18, - 482, 829, 1866, 44, 503, 484, 521, 645, 456, 968, 379, 519, 685, 586, 717, 694, 827, 794, 74, 117, 297, - 474, 80, 1647, 20, 17, 21, 18, 482, 829, 249, 44, 503, 484, 521, 751, 456, 2945, 170, 519, 685, 586, - 717, 694, 827, 794, 74, 807, 383, 969, 79, 1647, 20, 17, 21, 18, 482, 829, 180, 44, 503, 484, 521, 1147, - 456, 836, 1308, 519, 685, 586, 717, 694, 827, 794, 74, 758, 334, 1513, 78, 1647, 20, 17, 21, 18, 482, - 829, 712, 44, 503, 484, 521, 1121, 456, 1201, 1209, 519, 685, 586, 717, 694, 827, 794, 74, 1346, 1469, - 995, 77, 1647, 20, 17, 21, 18, 482, 829, 204, 44, 503, 484, 521, 998, 1331, 1248, 1494, 519, 685, 586, - 717, 694, 827, 794, 74, 1528, 905, 67, 76, 1647, 20, 17, 21, 18, 482, 829, 181, 44, 503, 484, 521, 1050, - 1179, 1473, 811, 519, 685, 586, 717, 694, 827, 794, 74, 1319, 179, 1768, 75, 1671, 20, 17, 21, 18, 482, - 354, 1182, 368, 315, 316, 317, 1781, 1534, 1647, 20, 17, 21, 18, 482, 829, 1309, 44, 503, 484, 521, 456, - 1805, 135, 213, 519, 685, 586, 717, 694, 827, 794, 74, 228, 254, 213, 357, 1671, 20, 17, 21, 18, 482, - 353, 138, 134, 136, 160, 1510, 1647, 20, 17, 21, 18, 482, 42, 1370, 44, 503, 484, 521, 1709, 1558, 140, - 166, 519, 685, 586, 717, 694, 1183, 205, 144, 147, 150, 153, 560, 467, 1896, 346, 1582, 1853, 1602, - 1757, 362, 1647, 20, 17, 21, 18, 482, 829, 1212, 44, 503, 484, 521, 1259, 1199, 1913, 417, 519, 685, - 586, 717, 694, 827, 794, 74, 1230, 1097, 887, 73, 1647, 20, 17, 21, 18, 482, 829, 1606, 44, 503, 484, - 521, 3218, 1125, 1350, 3218, 519, 685, 586, 717, 694, 827, 794, 74, 3218, 3218, 3218, 958, 1647, 20, 17, - 21, 18, 482, 829, 3218, 44, 503, 484, 521, 3218, 3218, 3218, 3218, 519, 685, 586, 717, 694, 827, 794, - 74, 3218, 937, 3218, 1044, 1647, 20, 17, 21, 18, 482, 42, 560, 44, 503, 484, 521, 560, 1857, 560, 560, - 519, 685, 586, 717, 694, 827, 794, 93, 1647, 20, 17, 21, 18, 482, 42, 23, 44, 503, 484, 521, 273, 321, - 279, 341, 519, 685, 586, 717, 694, 827, 794, 93, 209, 227, 3218, 1647, 20, 17, 21, 18, 482, 42, 360, 44, - 503, 484, 521, 1870, 570, 1368, 560, 519, 685, 586, 717, 694, 827, 794, 93, 1647, 20, 17, 21, 18, 482, - 42, 1071, 44, 503, 484, 521, 334, 3218, 3218, 654, 519, 685, 586, 717, 694, 827, 794, 93, 3218, 3218, - 3218, 1647, 20, 17, 21, 18, 482, 42, 212, 44, 503, 484, 521, 560, 1125, 1350, 3218, 519, 685, 586, 717, - 694, 827, 794, 93, 1647, 20, 17, 21, 18, 482, 42, 1099, 44, 503, 484, 521, 280, 3218, 3218, 1870, 519, - 685, 586, 717, 694, 827, 794, 93, 3218, 3218, 3218, 1647, 20, 17, 21, 18, 482, 42, 202, 44, 503, 484, - 521, 333, 3218, 3218, 1111, 519, 685, 586, 717, 694, 827, 794, 93, 335, 199, 1239, 319, 315, 316, 317, - 1127, 388, 419, 20, 17, 21, 18, 482, 42, 666, 36, 1, 1239, 3218, 3218, 1598, 1696, 1875, 388, 86, 110, - 3218, 209, 95, 905, 1650, 3218, 203, 785, 108, 94, 96, 97, 98, 99, 127, 86, 110, 1224, 1368, 95, 1923, - 1650, 246, 1247, 785, 108, 94, 96, 97, 98, 99, 1847, 3218, 560, 989, 319, 315, 316, 317, 109, 105, 2816, - 3218, 367, 106, 3218, 318, 315, 316, 317, 336, 385, 1838, 3218, 3218, 338, 109, 2371, 3218, 366, 367, - 107, 2110, 3218, 319, 315, 316, 317, 385, 1652, 3218, 318, 315, 316, 317, 3218, 218, 1269, 221, 1454, - 223, 224, 1349, 3218, 3218, 2361, 3218, 855, 1647, 20, 17, 21, 18, 482, 42, 1370, 44, 503, 484, 969, - 1772, 219, 1269, 221, 1454, 223, 224, 229, 1240, 265, 1239, 274, 318, 315, 316, 317, 388, 3218, 345, - 155, 1336, 269, 601, 416, 272, 3218, 133, 1239, 1714, 249, 666, 990, 3218, 388, 86, 110, 787, 1832, 95, - 3218, 1650, 2013, 3218, 785, 108, 94, 96, 97, 98, 99, 3218, 86, 110, 3218, 87, 95, 127, 1650, 582, 473, - 785, 108, 94, 96, 97, 98, 99, 1299, 3218, 3218, 989, 3218, 3218, 3218, 2211, 109, 314, 2839, 3218, 367, - 106, 3218, 318, 315, 316, 317, 560, 385, 783, 3218, 3218, 277, 109, 899, 617, 249, 367, 107, 2110, 3218, - 424, 2839, 787, 560, 385, 1788, 318, 315, 316, 317, 2387, 3218, 218, 1269, 221, 1454, 223, 224, 229, - 274, 87, 2361, 2061, 756, 197, 1695, 1828, 2428, 666, 267, 601, 416, 272, 2789, 667, 1856, 218, 1269, - 221, 1454, 223, 224, 229, 3218, 1469, 1397, 318, 315, 316, 317, 3218, 989, 3218, 1890, 195, 155, 1336, - 560, 2839, 3218, 3218, 560, 1625, 318, 315, 316, 317, 990, 218, 1269, 221, 1454, 223, 224, 229, 1182, - 249, 263, 274, 2110, 1832, 225, 193, 787, 2957, 320, 3218, 2370, 267, 601, 416, 272, 3218, 218, 1269, - 221, 1454, 223, 224, 229, 198, 87, 2361, 264, 277, 560, 1848, 254, 213, 1647, 20, 17, 21, 18, 482, 42, - 1074, 44, 503, 484, 971, 3218, 218, 1269, 221, 1454, 223, 224, 229, 340, 3218, 1919, 274, 3218, 827, - 560, 156, 1336, 3218, 3218, 3218, 2839, 267, 601, 416, 272, 318, 315, 316, 317, 467, 1880, 261, 3218, - 568, 3218, 3218, 1469, 3218, 339, 3218, 3218, 2061, 1647, 20, 17, 21, 18, 482, 42, 3218, 44, 503, 484, - 1018, 1057, 218, 1269, 221, 1454, 223, 224, 229, 1896, 1401, 1397, 1647, 20, 17, 21, 18, 482, 42, 3218, - 44, 503, 484, 521, 3218, 617, 3218, 3218, 519, 685, 586, 1155, 2839, 325, 560, 3218, 3218, 319, 315, - 316, 317, 3218, 3218, 1647, 20, 17, 21, 18, 482, 42, 2957, 44, 503, 484, 521, 3218, 3218, 3218, 1113, - 519, 685, 1158, 3218, 3218, 3218, 1037, 199, 218, 1269, 221, 1454, 223, 224, 229, 989, 3218, 1397, 318, - 315, 316, 317, 2839, 560, 3218, 3218, 3218, 319, 315, 316, 317, 3218, 3218, 3218, 855, 1647, 20, 17, 21, - 18, 482, 42, 3218, 44, 503, 484, 1027, 230, 219, 1269, 221, 1454, 223, 224, 1387, 1240, 2978, 218, 1269, - 221, 1454, 223, 224, 229, 1037, 3218, 2947, 1470, 20, 17, 21, 18, 482, 42, 1934, 43, 318, 315, 316, 317, - 1647, 20, 17, 21, 18, 482, 42, 1334, 44, 503, 484, 521, 855, 560, 560, 3218, 519, 1111, 234, 368, 315, - 316, 317, 560, 3218, 3218, 219, 1269, 221, 1454, 223, 224, 229, 1240, 1021, 3218, 877, 2469, 351, 135, - 213, 424, 1504, 424, 28, 3218, 1186, 2489, 318, 315, 316, 317, 593, 1239, 319, 315, 316, 317, 560, 787, - 142, 134, 136, 160, 855, 1888, 3218, 1888, 419, 20, 17, 21, 18, 482, 42, 3218, 36, 86, 110, 141, 166, - 95, 352, 3218, 3218, 1195, 785, 1267, 94, 96, 97, 98, 99, 641, 1239, 3218, 3218, 2554, 3218, 3218, 787, - 3218, 3218, 260, 3218, 259, 3218, 3218, 3218, 247, 1471, 748, 1241, 689, 1239, 3218, 3218, 3218, 86, - 110, 787, 3218, 95, 368, 315, 316, 317, 785, 103, 94, 96, 97, 98, 99, 803, 1239, 3218, 3218, 86, 110, - 3218, 787, 95, 135, 213, 3218, 3218, 785, 101, 94, 96, 97, 98, 99, 851, 1239, 3218, 3218, 3218, 86, 110, - 787, 3218, 95, 145, 134, 136, 160, 785, 359, 94, 96, 97, 98, 99, 3218, 3218, 3218, 3218, 86, 110, 3218, - 3218, 95, 3218, 3218, 1881, 3218, 785, 102, 94, 96, 97, 98, 99, 1087, 965, 1239, 318, 315, 316, 317, - 424, 787, 3218, 3218, 3218, 318, 315, 316, 317, 3218, 1013, 1239, 2736, 3218, 3218, 3218, 3218, 787, - 3218, 86, 110, 855, 3218, 95, 1888, 3218, 3218, 3218, 785, 119, 94, 96, 97, 98, 99, 86, 110, 3218, 3218, - 95, 3218, 3218, 1195, 3218, 785, 114, 94, 96, 97, 98, 99, 1061, 1239, 3218, 1721, 3218, 3218, 3218, 787, - 3218, 3218, 3218, 259, 3218, 3218, 3218, 3218, 1471, 3218, 1241, 3218, 1175, 1239, 3218, 3218, 3218, 86, - 110, 787, 3218, 95, 3218, 3218, 3218, 3218, 785, 1385, 94, 96, 97, 98, 99, 1223, 1239, 3218, 249, 86, - 110, 3218, 787, 95, 3218, 787, 3218, 3218, 785, 113, 94, 96, 97, 98, 99, 1271, 1239, 3218, 1879, 3218, - 86, 110, 787, 87, 95, 787, 3218, 3218, 1865, 785, 121, 94, 96, 97, 98, 99, 3218, 3218, 249, 3218, 86, - 110, 3218, 87, 95, 787, 3218, 3218, 115, 785, 120, 94, 96, 97, 98, 99, 1647, 20, 17, 21, 18, 482, 42, - 87, 44, 503, 484, 521, 2070, 3218, 3218, 3218, 1130, 1647, 20, 17, 21, 18, 482, 42, 713, 44, 503, 484, - 521, 1029, 3218, 3218, 3218, 1141, 3218, 3218, 318, 315, 316, 317, 1647, 20, 17, 21, 18, 482, 42, 910, - 44, 503, 484, 1056, 855, 3218, 3218, 3218, 3218, 3218, 3218, 368, 315, 316, 317, 1647, 20, 17, 21, 18, - 482, 42, 3218, 44, 957, 1240, 3218, 3218, 274, 3218, 1120, 135, 213, 3218, 1767, 3218, 3218, 3218, 269, - 601, 416, 272, 368, 315, 316, 317, 368, 315, 316, 317, 3218, 313, 148, 134, 136, 160, 3218, 3218, 2839, - 1778, 3218, 3218, 135, 213, 3218, 3218, 135, 213, 3218, 3218, 3218, 368, 315, 316, 317, 1671, 20, 17, - 21, 18, 482, 41, 3218, 151, 134, 136, 160, 154, 134, 136, 160, 135, 213, 218, 1269, 221, 1454, 223, 224, - 229, 3218, 3218, 1919, 1647, 20, 17, 21, 18, 482, 42, 3218, 39, 363, 134, 136, 160, 1647, 20, 17, 21, - 18, 482, 42, 3218, 38, 1647, 20, 17, 21, 18, 482, 42, 3218, 37, 1647, 20, 17, 21, 18, 482, 42, 3218, 36, - 1647, 20, 17, 21, 18, 482, 42, 500, 35, 3218, 723, 3218, 3218, 3218, 388, 1893, 3218, 2785, 1647, 20, - 17, 21, 18, 482, 42, 3218, 47, 319, 315, 316, 317, 3218, 87, 3218, 3218, 3218, 395, 950, 197, 1647, 20, - 17, 21, 18, 482, 42, 3218, 46, 1647, 20, 17, 21, 18, 482, 42, 3218, 45, 3218, 3218, 500, 3218, 3218, - 274, 3218, 551, 3218, 388, 2731, 551, 3218, 3218, 3218, 267, 601, 416, 272, 318, 315, 316, 317, 318, - 315, 316, 317, 87, 3218, 1364, 266, 395, 950, 197, 423, 855, 3218, 3218, 551, 855, 3218, 388, 1671, 20, - 17, 21, 18, 482, 34, 3218, 318, 315, 316, 317, 3218, 3218, 1195, 3218, 3218, 87, 1195, 551, 2731, 3218, - 115, 1792, 855, 3218, 2554, 3218, 410, 3218, 1721, 318, 315, 316, 317, 3218, 3218, 3218, 3218, 1523, - 318, 315, 316, 317, 3218, 1195, 3218, 855, 1671, 20, 17, 21, 18, 482, 33, 3218, 1685, 2101, 2492, 930, - 508, 3218, 367, 3218, 3218, 3218, 3218, 3218, 1195, 3218, 737, 3218, 318, 315, 316, 317, 3218, 424, - 3218, 3218, 2159, 1695, 20, 17, 21, 18, 482, 1197, 1685, 1695, 20, 17, 21, 18, 482, 364, 1249, 3218, - 3218, 3218, 1321, 197, 3218, 3218, 3218, 1249, 3218, 3218, 318, 315, 316, 317, 318, 315, 316, 317, 631, - 318, 315, 316, 317, 3218, 1295, 3218, 855, 1109, 3218, 1911, 2217, 424, 1890, 858, 424, 855, 3218, 3218, - 360, 1949, 424, 318, 315, 316, 317, 787, 3218, 1066, 3218, 3218, 671, 318, 315, 316, 317, 1888, 1122, - 3009, 197, 666, 1951, 192, 3218, 87, 1888, 3218, 787, 3030, 1169, 3218, 3218, 1879, 318, 315, 316, 317, - 1128, 1855, 787, 3218, 3218, 3218, 3218, 1879, 87, 125, 3218, 1890, 3039, 802, 787, 1932, 1879, 259, - 3218, 3218, 87, 3218, 2118, 787, 1241, 115, 259, 319, 315, 316, 317, 1571, 87, 1241, 3218, 3218, 1960, - 115, 3218, 3218, 192, 87, 3218, 3218, 3218, 1965, 115, 1296, 319, 315, 316, 317, 3218, 3218, 3218, 1212, - 1855, 319, 315, 316, 317, 3218, 1046, 3218, 3218, 3218, 3218, 3218, 3218, 3218, 3218, 3218, 3218, 2169, - 2188, 3218, 3218, 3218, 3218, 3218, 1167, 3218, 3218, 2198, 3218, 0, 495, 32, 0, 1791, 32, 0, 3226, 1, - 0, 841, 129, 0, 856, 129, 0, 902, 129, 0, 841, 130, 0, 856, 130, 0, 902, 130, 0, 841, 131, 0, 856, 131, - 0, 902, 131, 0, 841, 185, 0, 856, 185, 0, 902, 185, 0, 185, 189, 0, 841, 184, 0, 856, 184, 0, 902, 184, - 0, 184, 189, 0, 841, 132, 0, 856, 132, 0, 902, 132, 0, 841, 133, 0, 856, 133, 0, 902, 133, 0, 20, 179, - 0, 841, 366, 0, 856, 366, 0, 902, 366, 0, 1, 702, 0, 841, 378, 0, 856, 378, 0, 902, 378, 0, 1, 841, 0, - 1, 856, 0, 1, 902, 0, 354, 364, 0, 841, 253, 0, 856, 253, 0, 902, 253, 0, 8, 10, 0, 1310, 118, 0, 1, - 3444, 0, 1, 3455, 0, 112, 2448, 0 }; - } - - public final static char baseAction[] = BaseAction.baseAction; - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - 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, 0, 0, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 0, 12, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 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, 66, 67, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 66, 67, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 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, 0, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, - 12, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 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, 66, - 67, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 66, 67, 0, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 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, 0, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 2, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 1, 2, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 11, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 28, 0, 30, 31, 32, 33, 34, 0, 1, 2, 0, 4, 2, 6, - 7, 8, 73, 74, 75, 76, 0, 78, 79, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 0, 2, 3, - 3, 36, 6, 0, 36, 9, 10, 48, 12, 0, 1, 15, 16, 4, 5, 0, 7, 8, 0, 1, 2, 3, 0, 5, 6, 3, 4, 9, 10, 11, 12, - 13, 36, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 0, 49, 50, 50, 0, 27, 0, 73, 74, 75, 76, 0, 78, 79, 3, - 9, 10, 0, 66, 67, 3, 69, 70, 71, 72, 73, 74, 75, 76, 0, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 0, 77, 2, 3, 37, 0, 6, 86, 87, 9, 10, 50, 12, 0, 1, 15, 16, 4, 5, 14, 7, - 8, 0, 1, 2, 0, 0, 5, 6, 80, 81, 9, 10, 11, 12, 13, 36, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 99, 0, 49, - 50, 29, 73, 74, 75, 76, 0, 78, 79, 0, 4, 2, 36, 7, 8, 0, 66, 67, 3, 69, 70, 71, 72, 73, 74, 75, 76, 0, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 0, 1, 2, 3, 37, 5, 6, - 80, 81, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 27, 4, 29, 82, 7, 8, 83, 0, - 35, 0, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 2, 3, 0, 5, 6, 3, 0, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 48, 0, 0, 27, 3, 29, 4, 0, 1, 7, 8, 35, 5, 49, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 0, 1, 2, 3, 27, 5, 6, 66, 67, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 0, 0, 2, 27, 4, 29, 6, 7, 8, 77, 0, 35, 2, 3, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 0, 3, 4, 5, - 4, 7, 8, 7, 8, 0, 36, 13, 0, 4, 0, 1, 7, 8, 0, 0, 36, 37, 24, 25, 26, 6, 28, 29, 30, 31, 32, 33, 34, 24, - 25, 26, 0, 28, 24, 30, 31, 32, 33, 34, 0, 9, 10, 3, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 0, 1, 2, 3, 0, 5, 6, 27, 0, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, - 2, 27, 4, 29, 82, 7, 8, 0, 0, 35, 0, 3, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 2, 3, 48, 5, 6, 0, - 48, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 48, 0, 0, 27, 68, 29, 4, 6, 6, 7, 8, 35, - 50, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 0, 3, 4, 5, 0, 7, 8, 0, 1, 0, 0, 13, 5, 4, 14, 11, - 7, 8, 83, 9, 10, 14, 24, 25, 26, 68, 28, 29, 30, 31, 32, 33, 34, 24, 25, 26, 0, 28, 2, 30, 31, 32, 33, - 34, 68, 0, 71, 72, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 1, 2, 3, 0, 5, 6, - 84, 36, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 27, 4, 29, 0, 7, 8, 0, 0, - 35, 2, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 2, 3, 48, 5, 6, 0, 0, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 27, 4, 29, 48, 7, 8, 48, 0, 35, 2, 0, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 0, 1, 2, 3, 0, 5, 6, 66, 67, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 35, 0, 0, 27, 68, 29, 4, 6, 6, 7, 8, 35, 0, 1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 0, 3, 4, 5, - 4, 7, 8, 7, 8, 0, 0, 13, 2, 4, 0, 1, 7, 8, 0, 5, 66, 67, 24, 25, 26, 0, 28, 29, 30, 31, 32, 33, 34, 24, - 25, 26, 0, 28, 0, 30, 31, 32, 33, 34, 68, 0, 71, 72, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 0, 1, 2, 3, 0, 5, 6, 0, 0, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, - 0, 27, 2, 29, 6, 24, 25, 26, 0, 35, 2, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 2, 3, 48, 5, 6, - 0, 84, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 0, 27, 4, 29, 4, 7, 8, 7, 8, 35, - 0, 48, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 2, 3, 0, 5, 6, 48, 0, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 49, 27, 0, 29, 2, 3, 24, 25, 26, 35, 0, 0, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 0, 1, 0, 14, 4, 5, 4, 7, 8, 7, 8, 0, 0, 13, 0, 0, 36, 37, 6, 4, 6, 0, 7, 8, 24, 25, 26, - 0, 28, 2, 30, 31, 32, 33, 34, 24, 25, 26, 98, 24, 25, 26, 0, 28, 68, 30, 31, 32, 33, 34, 0, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 0, 1, 2, - 3, 0, 5, 6, 71, 72, 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 28, 5, 6, 0, - 0, 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 28, 5, 6, 0, 25, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 1, 2, 0, 77, 5, 6, 0, 49, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 0, 50, 2, 0, 77, 0, 1, 2, 3, 4, 0, 6, 7, 8, 4, 36, 0, 7, 8, 0, 1, 2, 3, - 4, 49, 6, 7, 8, 0, 24, 25, 26, 27, 28, 0, 30, 31, 32, 33, 34, 0, 36, 37, 24, 25, 26, 27, 28, 14, 30, 31, - 32, 33, 34, 14, 36, 37, 0, 1, 2, 0, 1, 5, 6, 0, 5, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 0, 1, 2, 0, 69, 5, 6, 0, 0, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, - 0, 0, 5, 6, 0, 1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 48, 69, 5, 6, 0, - 49, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 0, 49, 5, 6, 0, 0, 9, 10, 11, - 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 0, 14, 5, 6, 48, 0, 9, 10, 11, 12, 13, 0, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 0, 14, 5, 6, 0, 0, 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 0, 1, 2, 0, 14, 5, 6, 0, 0, 9, 10, 11, 12, 13, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 0, 1, 2, 0, 0, 5, 6, 3, 0, 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 0, 2, 4, 0, - 1, 7, 8, 4, 5, 0, 7, 8, 0, 4, 2, 37, 7, 8, 0, 0, 0, 3, 24, 25, 26, 0, 28, 69, 30, 31, 32, 33, 34, 24, - 25, 26, 0, 28, 2, 30, 31, 32, 33, 34, 0, 27, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 0, 69, 2, 0, 1, 2, - 3, 0, 1, 2, 3, 49, 0, 0, 1, 15, 16, 4, 5, 0, 7, 8, 0, 1, 0, 3, 0, 1, 0, 0, 2, 5, 0, 11, 2, 3, 36, 0, 1, - 36, 37, 0, 5, 36, 37, 0, 1, 0, 3, 0, 0, 14, 49, 3, 0, 0, 0, 3, 3, 37, 4, 0, 36, 7, 8, 24, 25, 26, 0, 37, - 70, 0, 4, 0, 3, 7, 8, 0, 0, 0, 0, 27, 37, 36, 0, 85, 0, 37, 0, 0, 4, 37, 37, 7, 8, 0, 70, 0, 3, 49, 0, - 0, 14, 48, 24, 25, 26, 0, 37, 0, 0, 4, 3, 3, 7, 8, 0, 70, 0, 0, 49, 24, 25, 26, 0, 0, 0, 0, 4, 0, 4, 7, - 8, 7, 8, 0, 0, 27, 0, 4, 0, 14, 7, 8, 4, 0, 37, 7, 8, 0, 14, 0, 0, 0, 0, 0, 0, 0, 49, 49, 0, 0, 0, 68, - 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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; - - @Override - public final int termCheck(int index) { - return termCheck[index]; - } - - public interface TermAction { - public final static char termAction[] = { 0, 3218, 5235, 1, 1253, 3170, 5183, 1, 1, 1, 1, 1, 1, 1, 1, 459, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3227, 1, 3318, 1, 1, 1, 1, 1, 1213, 54, 64, 745, 843, 773, 1225, 2227, - 1211, 800, 1223, 2977, 1214, 356, 2175, 3225, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 3203, - 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, - 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, - 445, 720, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 445, 720, 3203, 3203, 3203, 3203, - 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3218, 5235, 1, 1253, 3170, 5183, - 1, 1, 1, 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3227, 1, 3318, 1, 1, 1, 1, 1, 1213, - 355, 65, 745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977, 1214, 58, 2175, 3225, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3218, 5235, 1, 3228, 3170, 5183, 1, 1, 1, 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 3227, 1, 3318, 1, 1, 1, 1, 1, 1213, 445, 720, 745, 843, 773, 1225, 2227, 1211, 800, 1223, - 2977, 1214, 445, 720, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3218, 5235, 1, 3228, 3170, 5183, - 1, 1, 1, 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3227, 1, 3318, 1, 1, 1, 1, 1, 1213, - 286, 59, 745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977, 1214, 1, 3444, 2629, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3218, 3229, 433, 3218, 902, 3230, 2712, 841, 856, 2703, 2694, 3234, 2721, 2901, - 1472, 2868, 2820, 2653, 3231, 3232, 3233, 2681, 639, 1325, 3432, 3434, 3433, 3218, 3381, 1, 3382, 3380, - 3435, 3383, 3379, 268, 3444, 1942, 270, 902, 649, 253, 841, 856, 2570, 2130, 2025, 1971, 61, 1750, 875, - 3386, 3391, 3390, 3388, 3389, 3387, 3392, 3393, 3385, 3394, 3395, 3396, 1762, 2880, 2848, 1, 1, 3230, - 3230, 3086, 731, 3230, 3218, 731, 3230, 3230, 2, 3230, 185, 3125, 3230, 3230, 3122, 3125, 72, 3116, - 3119, 3218, 3229, 433, 3222, 1, 3230, 2712, 116, 3170, 2703, 2694, 3234, 2721, 1283, 3230, 2868, 2820, - 2653, 3231, 3232, 3233, 2681, 639, 1325, 3218, 62, 3218, 3230, 3230, 3225, 3218, 116, 51, 2570, 2130, - 2025, 1971, 3218, 1750, 875, 3226, 2593, 426, 1, 3230, 3230, 90, 3230, 3230, 3230, 3230, 3230, 3230, - 3230, 3230, 60, 3230, 3230, 3230, 3230, 3230, 3230, 3230, 3230, 3230, 3230, 3230, 3230, 3230, 3230, - 3230, 3230, 3230, 3230, 3230, 3230, 1, 3221, 3229, 3229, 90, 1, 3229, 1337, 2956, 3229, 3229, 3225, - 3229, 184, 3137, 3229, 3229, 3134, 3137, 459, 3128, 3131, 3218, 1, 1, 63, 271, 1, 1, 2547, 2530, 1, 1, - 1, 1, 1, 3229, 1, 1, 1, 1, 1, 1, 1, 1, 1, 66, 3079, 68, 3229, 3229, 3605, 2570, 2130, 2025, 1971, 253, - 1750, 875, 3218, 902, 1470, 731, 841, 856, 3218, 3229, 3229, 3224, 3229, 3229, 3229, 3229, 3229, 3229, - 3229, 3229, 3218, 3229, 3229, 3229, 3229, 3229, 3229, 3229, 3229, 3229, 3229, 3229, 3229, 3229, 3229, - 3229, 3229, 3229, 3229, 3229, 3229, 3218, 5235, 1, 3228, 3223, 5183, 1, 2547, 2530, 1, 1, 1, 1, 1, 459, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3444, 2629, 3227, 3188, 3318, 2079, 3182, 3185, 2048, 3218, 1213, 88, 57, - 745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977, 1214, 3218, 5235, 1, 3228, 3218, 5183, 1, 3222, 3218, - 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1559, 1, 182, 3227, 3228, 3318, 902, 3218, 3229, 841, - 856, 1213, 3230, 943, 745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977, 1214, 3218, 5235, 1, 3228, 3227, - 5183, 1, 445, 720, 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 268, 3218, 1829, 3227, 902, 3318, 253, - 841, 856, 3221, 1, 1213, 1829, 265, 745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977, 1214, 3218, 1, - 378, 191, 1, 1, 3179, 1, 1, 3173, 3176, 130, 731, 1, 67, 3104, 326, 3545, 3098, 3101, 3218, 3218, 731, - 265, 1, 1, 1, 2916, 1, 3414, 1, 1, 1, 1, 1, 3432, 3434, 3433, 53, 3381, 3546, 3382, 3380, 3435, 3383, - 3379, 3218, 2593, 426, 3228, 191, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3218, 5235, 1, 3228, - 3218, 5183, 1, 3227, 3218, 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3444, 2629, 3227, 3188, - 3318, 2079, 3182, 3185, 69, 285, 1213, 3218, 494, 745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977, - 1214, 3218, 5235, 1, 3228, 1297, 5183, 1, 1, 2329, 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1559, - 48, 1, 3227, 1457, 3318, 3188, 2769, 253, 3182, 3185, 1213, 494, 70, 745, 843, 773, 1225, 2227, 1211, - 800, 1223, 2977, 1214, 3218, 1, 3218, 190, 1, 1, 349, 1, 1, 3218, 3229, 131, 52, 1, 3230, 3113, 4442, - 1369, 3107, 3110, 2048, 2593, 426, 1010, 1, 1, 1, 3476, 1, 3414, 1, 1, 1, 1, 1, 3432, 3434, 3433, 222, - 3381, 850, 3382, 3380, 3435, 3383, 3379, 3476, 3218, 2760, 2739, 190, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3218, 5235, 1, 3228, 3218, 5183, 1, 617, 731, 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 3444, 2629, 3227, 3188, 3318, 3218, 3182, 3185, 3218, 3218, 1213, 1520, 56, 745, 843, 773, 1225, - 2227, 1211, 800, 1223, 2977, 1214, 3218, 5235, 1, 3228, 1373, 5183, 1, 3218, 1, 1, 1, 1, 1, 1, 459, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 253, 3444, 2629, 3227, 902, 3318, 2268, 841, 856, 2288, 3218, 1213, 1196, 118, - 745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977, 1214, 3218, 5235, 1, 3228, 55, 5183, 1, 445, 720, 1, - 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3206, 50, 1, 3227, 3475, 3318, 3188, 2769, 253, 3182, 3185, - 1213, 3218, 2233, 745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977, 1214, 3218, 1, 376, 191, 1, 1, 902, - 1, 1, 841, 856, 132, 3218, 1, 2812, 3146, 208, 3229, 3140, 3143, 3218, 3230, 445, 720, 1, 1, 1, 3218, 1, - 3414, 1, 1, 1, 1, 1, 3432, 3434, 3433, 71, 3381, 3218, 3382, 3380, 3435, 3383, 3379, 3476, 3218, 2760, - 2739, 191, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3218, 5235, 1, 3228, 3218, 5183, 1, 3218, 3218, - 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3218, 2189, 3218, 3227, 1857, 3318, 1398, 3432, 3434, - 3433, 3218, 1213, 1938, 3218, 745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977, 1214, 3218, 5235, 1, - 3228, 2309, 5183, 1, 201, 617, 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 379, 256, 253, 3227, 902, - 3318, 3200, 841, 856, 3194, 3197, 1213, 112, 3600, 745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977, - 1214, 3218, 5235, 1, 3228, 3218, 5183, 1, 1610, 248, 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 3212, 2209, 3227, 1, 3318, 1829, 3224, 3432, 3434, 3433, 1213, 3218, 3218, 745, 843, 773, 1225, 2227, - 1211, 800, 1223, 2977, 1214, 3218, 3229, 183, 922, 902, 3230, 902, 841, 856, 841, 856, 249, 3218, 2909, - 49, 129, 731, 3223, 2925, 3095, 2769, 3218, 3089, 3092, 3432, 3434, 3433, 3218, 3381, 2472, 3382, 3380, - 3435, 3383, 3379, 1, 1, 1, 3215, 3432, 3434, 3433, 3218, 3381, 3476, 3382, 3380, 3435, 3383, 3379, 3218, - 3386, 3391, 3390, 3388, 3389, 3387, 3392, 3393, 3385, 3394, 3395, 3396, 1762, 2880, 2848, 3386, 3391, - 3390, 3388, 3389, 3387, 3392, 3393, 3385, 3394, 3395, 3396, 1, 3229, 433, 3222, 3218, 3230, 1643, 2760, - 2739, 2703, 2694, 3234, 2721, 1283, 3218, 2868, 2820, 2653, 3231, 3232, 3233, 2681, 639, 1325, 3218, - 3229, 433, 3222, 815, 3230, 2243, 344, 30, 2703, 2694, 3234, 2721, 1283, 3218, 2868, 2820, 2653, 3231, - 3232, 3233, 2681, 639, 1325, 1, 4100, 433, 29, 1429, 4002, 2712, 3218, 3561, 2703, 2694, 3234, 2721, - 1283, 4442, 2868, 2820, 2653, 3231, 3232, 3233, 2681, 639, 1325, 30, 3218, 3229, 433, 220, 3221, 3230, - 2712, 3218, 556, 2703, 2694, 3234, 2721, 1283, 4442, 2868, 2820, 2653, 3231, 3232, 3233, 2681, 639, - 1325, 337, 29, 1693, 3218, 3221, 20, 179, 3158, 3158, 179, 377, 3158, 179, 179, 902, 731, 157, 841, 856, - 354, 364, 364, 3191, 364, 3247, 3191, 364, 364, 3218, 179, 179, 179, 3158, 179, 3218, 179, 179, 179, - 179, 179, 3218, 3158, 3158, 364, 364, 364, 3191, 364, 1094, 364, 364, 364, 364, 364, 1150, 364, 3191, 1, - 4100, 433, 207, 683, 4002, 2712, 211, 683, 2703, 2694, 3234, 2721, 1283, 4442, 2868, 2820, 2653, 3231, - 3232, 3233, 2681, 639, 1325, 3218, 3229, 433, 1, 589, 3230, 2712, 207, 3218, 2703, 2694, 3234, 2721, - 1283, 4442, 2868, 2820, 2653, 3231, 3232, 3233, 2681, 639, 1325, 380, 3229, 433, 347, 3218, 3230, 2712, - 3218, 3456, 2703, 2694, 3234, 2721, 1283, 4442, 2868, 2820, 2653, 3231, 3232, 3233, 2681, 639, 1325, - 3218, 3229, 433, 3230, 1508, 3230, 2712, 1, 5159, 2703, 2694, 3234, 2721, 1283, 4442, 2868, 2820, 2653, - 3231, 3232, 3233, 2681, 639, 1325, 3218, 3229, 433, 3218, 766, 3230, 2712, 3218, 3218, 2703, 2694, 3234, - 2721, 1283, 365, 2868, 2820, 2653, 3231, 3232, 3233, 2681, 639, 1325, 3218, 3229, 2728, 3218, 4442, - 3230, 2712, 3229, 3218, 2703, 2694, 3234, 2721, 1283, 3218, 2868, 2820, 2653, 3231, 3232, 3233, 2681, - 639, 1325, 3218, 3229, 2780, 3218, 651, 3230, 2712, 3218, 3218, 2703, 2694, 3234, 2721, 1283, 229, 2868, - 2820, 2653, 3231, 3232, 3233, 2681, 639, 1325, 1, 3229, 433, 3218, 232, 3230, 2712, 3218, 42, 2703, - 2694, 3234, 2721, 1283, 1369, 2868, 2820, 2653, 3231, 3232, 3233, 2681, 639, 1325, 332, 3229, 433, 3218, - 1, 3230, 2712, 3224, 3218, 2703, 2694, 3234, 2721, 1283, 3218, 2868, 2820, 2653, 3231, 3232, 3233, 2681, - 639, 1325, 133, 3218, 3218, 1665, 3155, 206, 5557, 3149, 3152, 902, 5557, 366, 841, 856, 324, 3167, 759, - 3223, 3161, 3164, 3218, 3218, 3218, 3228, 3432, 3434, 3433, 3218, 3381, 1255, 3382, 3380, 3435, 3383, - 3379, 3432, 3434, 3433, 3218, 3381, 2512, 3382, 3380, 3435, 3383, 3379, 3218, 3227, 1227, 1199, 1171, - 1143, 1115, 1059, 1087, 1031, 1003, 975, 32, 687, 3080, 1, 3444, 1942, 262, 1, 3209, 1942, 3224, 1913, - 3218, 375, 5566, 3244, 3245, 902, 5566, 3218, 841, 856, 3218, 1997, 3218, 3224, 3218, 3229, 350, 3218, - 1386, 3230, 3218, 1967, 518, 3224, 3083, 3218, 3229, 731, 262, 250, 3230, 731, 3223, 3218, 1242, 292, - 3224, 3218, 3218, 1038, 262, 3224, 1, 3218, 159, 116, 3224, 3223, 902, 3218, 1481, 841, 856, 1, 1, 1, - 370, 3223, 580, 3218, 902, 3218, 3224, 841, 856, 3218, 3218, 3218, 251, 116, 3223, 1532, 3218, 422, 369, - 3223, 229, 3218, 902, 116, 3223, 841, 856, 3218, 812, 252, 3222, 588, 3218, 3218, 233, 1252, 3432, 3434, - 3433, 371, 3223, 3218, 3218, 902, 3224, 3228, 841, 856, 3218, 911, 3218, 3218, 915, 3432, 3434, 3433, - 200, 3218, 372, 189, 902, 3218, 902, 841, 856, 841, 856, 373, 379, 3227, 3218, 902, 374, 206, 841, 856, - 902, 3218, 3223, 841, 856, 3218, 375, 3218, 3218, 3218, 3218, 3218, 3218, 3218, 1408, 1996, 3218, 3218, - 3218, 1583, 3218, 3218, 3218, 3218, 3218, 3218, 3218, 3218, 3221 }; - } - - public final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[index]; - } - - public interface Asb { - public final static char asb[] = { 0, 123, 1, 31, 54, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 62, 3, 289, - 286, 293, 291, 301, 299, 303, 302, 305, 304, 275, 31, 3, 430, 430, 254, 31, 272, 272, 272, 114, 387, - 371, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 618, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 272, 272, 250, 153, 118, 228, 473, 174, 173, 517, 549, 549, 549, 529, - 510, 529, 510, 510, 529, 510, 529, 67, 529, 402, 31, 372, 286, 286, 291, 291, 291, 291, 291, 291, 289, - 289, 299, 293, 293, 302, 301, 200, 200, 304, 303, 171, 351, 171, 114, 121, 109, 28, 250, 506, 232, 272, - 551, 476, 365, 271, 616, 169, 510, 430, 427, 430, 169, 430, 510, 31, 71, 3, 371, 597, 317, 317, 430, - 549, 549, 584, 549, 549, 317, 200, 31, 200, 225, 542, 31, 31, 351, 151, 121, 109, 506, 250, 231, 228, - 272, 112, 402, 452, 478, 143, 271, 364, 272, 440, 320, 171, 354, 272, 369, 317, 317, 385, 31, 370, 31, - 31, 584, 200, 433, 584, 549, 544, 151, 109, 109, 31, 31, 250, 232, 473, 457, 456, 118, 478, 272, 452, - 451, 270, 171, 440, 320, 354, 354, 179, 597, 317, 542, 272, 549, 272, 272, 584, 31, 584, 468, 171, 316, - 460, 544, 544, 463, 118, 436, 356, 220, 109, 506, 250, 250, 272, 551, 476, 112, 143, 272, 253, 272, 272, - 320, 351, 541, 320, 354, 356, 445, 356, 317, 597, 544, 584, 31, 584, 584, 58, 450, 57, 371, 544, 460, - 460, 118, 153, 544, 351, 149, 466, 202, 430, 31, 200, 50, 506, 109, 478, 452, 320, 194, 356, 351, 31, - 430, 254, 317, 272, 370, 468, 317, 47, 616, 372, 460, 544, 436, 62, 153, 360, 430, 31, 109, 272, 452, - 253, 351, 316, 31, 312, 194, 313, 351, 272, 254, 317, 584, 431, 272, 371, 31, 250, 431, 194, 31, 313, - 313, 584, 272, 272, 250, 313, 584 }; - } - - public final static char asb[] = Asb.asb; - - @Override - public final int asb(int index) { - return asb[index]; - } - - public interface Asr { - public final static byte asr[] = { 0, 99, 0, 30, 51, 52, 63, 31, 53, 32, 54, 55, 33, 56, 57, 28, 64, 34, 65, 58, - 59, 60, 61, 62, 7, 8, 4, 14, 24, 26, 25, 2, 18, 19, 20, 11, 5, 15, 16, 12, 9, 10, 21, 22, 17, 23, 13, 1, - 6, 0, 69, 36, 70, 0, 77, 27, 99, 49, 37, 3, 48, 0, 48, 68, 77, 50, 99, 70, 85, 15, 16, 33, 28, 34, 32, - 31, 30, 12, 9, 10, 71, 72, 66, 67, 73, 74, 75, 76, 80, 81, 82, 83, 84, 86, 87, 69, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 78, 79, 27, 24, 26, 25, 49, 1, 3, 37, 2, 36, 4, 8, 7, 6, 0, 17, 18, 19, 20, 11, 1, - 5, 2, 15, 16, 12, 6, 9, 10, 21, 22, 13, 23, 29, 0, 3, 49, 37, 1, 24, 0, 3, 50, 36, 70, 15, 16, 12, 6, 9, - 10, 21, 22, 17, 23, 13, 2, 18, 19, 20, 11, 1, 5, 14, 0, 2, 3, 49, 37, 36, 0, 30, 24, 31, 32, 33, 26, 28, - 34, 25, 3, 36, 49, 37, 27, 14, 6, 1, 2, 4, 8, 7, 48, 0, 69, 15, 16, 12, 6, 9, 10, 21, 22, 17, 23, 13, 2, - 18, 19, 20, 11, 14, 1, 5, 36, 70, 0, 2, 25, 0, 24, 26, 25, 28, 15, 16, 12, 6, 9, 10, 21, 22, 17, 23, 13, - 2, 1, 5, 18, 19, 20, 11, 77, 3, 0, 49, 17, 18, 19, 20, 5, 2, 15, 16, 12, 6, 9, 10, 21, 22, 13, 23, 11, - 1, 37, 3, 0, 69, 88, 89, 90, 91, 92, 94, 93, 95, 96, 97, 6, 71, 72, 9, 10, 67, 66, 73, 74, 75, 76, 78, - 79, 80, 81, 12, 82, 83, 84, 68, 77, 37, 50, 99, 86, 87, 48, 4, 8, 7, 49, 27, 3, 0, 30, 51, 24, 52, 63, - 31, 53, 32, 54, 55, 33, 26, 56, 57, 28, 64, 34, 65, 58, 59, 25, 60, 61, 62, 1, 5, 13, 7, 8, 4, 29, 3, - 50, 0, 1, 5, 3, 50, 49, 0, 77, 3, 68, 0, 1, 37, 3, 2, 0, 37, 98, 50, 39, 41, 14, 45, 47, 42, 35, 43, 44, - 40, 38, 46, 29, 3, 27, 2, 18, 19, 20, 11, 15, 16, 12, 6, 9, 10, 21, 22, 17, 23, 13, 63, 64, 65, 59, 51, - 56, 54, 55, 53, 52, 57, 58, 60, 61, 62, 34, 31, 28, 30, 33, 24, 26, 25, 32, 4, 8, 7, 5, 1, 0, 48, 68, 0, - 3, 69, 49, 27, 14, 4, 8, 7, 0, 3, 49, 50, 69, 0, 48, 2, 3, 37, 49, 0, 2, 48, 37, 36, 4, 8, 7, 3, 49, 27, - 69, 0, 3, 48, 37, 11, 0, 6, 2, 36, 37, 3, 30, 51, 52, 63, 31, 53, 32, 54, 55, 33, 56, 57, 28, 64, 34, - 65, 58, 59, 60, 61, 62, 1, 5, 13, 7, 8, 4, 68, 24, 26, 25, 0, 1, 5, 14, 4, 8, 7, 0, 59, 51, 56, 54, 55, - 53, 52, 57, 58, 60, 61, 62, 36, 49, 37, 34, 31, 28, 30, 33, 24, 26, 25, 32, 48, 27, 3, 6, 1, 7, 8, 4, 2, - 0, 6, 30, 51, 24, 52, 63, 31, 53, 32, 54, 55, 33, 26, 56, 57, 28, 64, 34, 65, 58, 59, 25, 60, 61, 62, 1, - 5, 13, 68, 4, 8, 7, 0, 39, 41, 14, 45, 47, 42, 35, 43, 44, 40, 38, 46, 29, 17, 18, 19, 20, 1, 5, 2, 15, - 16, 12, 6, 9, 10, 21, 22, 13, 23, 27, 3, 11, 0, 17, 18, 19, 20, 11, 1, 5, 2, 15, 16, 12, 6, 9, 10, 21, - 22, 13, 23, 48, 0 }; - } - - public final static byte asr[] = Asr.asr; - - @Override - public final int asr(int index) { - return asr[index]; - } - - public interface Nasb { - public final static char nasb[] = { 0, 40, 27, 51, 27, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 27, 28, 27, - 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 51, 28, 17, 17, 43, 30, 87, 87, 87, 117, 1, 35, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 173, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 87, 87, 64, 142, 148, 62, 116, 13, 13, 78, 27, 27, 27, 79, 114, 79, 114, 114, 79, 114, 79, 27, - 79, 72, 51, 89, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 143, 135, - 27, 156, 27, 140, 66, 64, 81, 63, 87, 146, 55, 87, 83, 27, 8, 140, 8, 140, 8, 8, 8, 140, 51, 27, 28, 95, - 177, 179, 179, 8, 27, 27, 151, 27, 27, 179, 27, 69, 27, 58, 178, 51, 51, 36, 135, 27, 114, 81, 64, 63, - 38, 87, 131, 19, 27, 99, 46, 86, 27, 87, 114, 135, 27, 135, 87, 27, 179, 179, 160, 30, 27, 30, 30, 151, - 27, 27, 151, 27, 104, 49, 114, 135, 51, 51, 64, 63, 130, 13, 13, 148, 99, 87, 87, 27, 87, 27, 140, 165, - 135, 8, 143, 162, 179, 178, 87, 27, 87, 87, 151, 51, 151, 102, 53, 179, 114, 137, 133, 27, 148, 27, 15, - 10, 135, 81, 64, 64, 87, 146, 55, 110, 46, 87, 51, 87, 87, 135, 36, 178, 126, 8, 15, 27, 27, 179, 162, - 121, 151, 30, 151, 151, 87, 27, 27, 35, 121, 140, 114, 148, 50, 105, 36, 48, 27, 50, 8, 51, 27, 33, 81, - 38, 169, 87, 165, 121, 15, 36, 51, 8, 162, 179, 87, 27, 102, 179, 27, 102, 89, 140, 112, 27, 60, 50, 64, - 8, 51, 38, 87, 87, 51, 36, 179, 51, 27, 137, 114, 36, 87, 162, 179, 151, 27, 87, 95, 51, 64, 27, 121, - 51, 114, 140, 151, 87, 87, 64, 140, 151 }; - } - - public final static char nasb[] = Nasb.nasb; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - public interface Nasr { - public final static char nasr[] = { 0, 103, 116, 101, 100, 87, 99, 98, 1, 0, 1, 140, 0, 52, 0, 80, 0, 94, 0, - 103, 116, 102, 101, 100, 87, 99, 98, 0, 60, 29, 7, 30, 0, 132, 0, 7, 50, 0, 32, 0, 7, 117, 0, 7, 119, 0, - 112, 0, 110, 7, 59, 5, 0, 133, 0, 24, 7, 0, 137, 0, 128, 0, 7, 5, 41, 0, 5, 7, 0, 5, 139, 0, 87, 81, 82, - 83, 84, 93, 72, 53, 0, 75, 0, 136, 24, 0, 114, 24, 0, 31, 7, 1, 34, 96, 0, 34, 1, 50, 71, 7, 31, 0, 92, - 0, 7, 28, 45, 43, 48, 0, 64, 63, 45, 43, 28, 0, 24, 63, 64, 7, 0, 7, 45, 43, 28, 0, 7, 60, 89, 0, 24, - 64, 63, 43, 45, 7, 0, 43, 45, 7, 12, 0, 5, 59, 57, 0, 7, 31, 28, 61, 0, 1, 34, 7, 35, 0, 64, 63, 28, 0, - 31, 66, 7, 67, 0, 105, 7, 60, 0, 125, 7, 31, 0, 7, 30, 118, 0, 30, 7, 26, 0 }; - } - - public final static char nasr[] = Nasr.nasr; - - @Override - public final int nasr(int index) { - return nasr[index]; - } - - public interface TerminalIndex { - public final static char terminalIndex[] = { 0, 87, 2, 89, 99, 88, 9, 97, 98, 10, 11, 86, 8, 95, 3, 6, 7, 70, - 83, 84, 85, 12, 13, 96, 50, 78, 66, 94, 71, 100, 46, 57, 62, 65, 74, 79, 1, 92, 47, 48, 51, 52, 53, 59, - 60, 61, 67, 73, 29, 42, 93, 49, 54, 58, 63, 64, 68, 69, 76, 77, 80, 81, 82, 56, 72, 75, 16, 17, 30, 31, - 4, 14, 15, 18, 19, 20, 21, 91, 43, 44, 22, 23, 24, 25, 26, 5, 27, 28, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 55, 101, 90 }; - } - - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - - @Override - public final int terminalIndex(int index) { - return terminalIndex[index]; - } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = { 0, 107, 0, 0, 0, 109, 113, 0, 114, 115, 116, 117, 186, 0, 0, 0, - 118, 119, 120, 121, 122, 123, 124, 0, 104, 0, 106, 125, 187, 130, 108, 134, 142, 0, 126, 129, 0, 0, 0, - 0, 0, 103, 162, 164, 0, 165, 0, 0, 167, 0, 105, 152, 166, 141, 0, 0, 0, 112, 128, 0, 156, 163, 177, 178, - 179, 0, 133, 0, 151, 174, 0, 132, 144, 0, 168, 172, 173, 176, 0, 111, 0, 145, 146, 147, 148, 149, 150, - 153, 0, 155, 159, 161, 191, 194, 110, 127, 131, 135, 136, 137, 138, 139, 140, 143, 0, 154, 158, 0, 160, - 171, 181, 0, 188, 0, 190, 0, 193, 102, 0, 0, 0, 0, 157, 0, 169, 170, 175, 180, 0, 182, 183, 0, 184, 185, - 0, 0, 189, 0, 0, 192, 195, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - - @Override - public final int nonterminalIndex(int index) { - return nonterminalIndex[index]; - } - - public interface ScopePrefix { - public final static char scopePrefix[] = { 198, 254, 330, 216, 310, 121, 147, 153, 282, 95, 359, 381, 338, 1, - 104, 137, 163, 183, 63, 262, 320, 35, 59, 71, 77, 109, 159, 233, 298, 71, 420, 424, 355, 377, 390, 404, - 390, 344, 15, 27, 56, 8, 8, 113, 116, 168, 116, 193, 116, 243, 248, 251, 307, 428, 50, 83, 89, 129, 237, - 83, 401, 411, 411, 8, 129, 272, 206, 368, 206, 272, 20, 20, 41, 229, 41, 41, 41, 41, 41, 305, 399, 20, - 20, 45, 142, 171, 142, 171, 171 }; - } - - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - - @Override - public final int scopePrefix(int index) { - return scopePrefix[index]; - } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { 75, 75, 317, 75, 317, 127, 6, 6, 75, 101, 365, 387, 325, 6, 39, 127, - 6, 39, 68, 267, 325, 39, 39, 75, 81, 39, 6, 231, 231, 75, 39, 6, 317, 317, 317, 408, 394, 348, 18, 18, - 39, 6, 6, 39, 119, 6, 178, 39, 196, 246, 246, 246, 231, 39, 53, 86, 92, 144, 240, 302, 53, 414, 417, 11, - 132, 267, 223, 371, 209, 275, 25, 33, 43, 231, 288, 290, 292, 294, 296, 231, 231, 22, 30, 47, 144, 180, - 132, 173, 188 }; - } - - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - - @Override - public final int scopeSuffix(int index) { - return scopeSuffix[index]; - } - - public interface ScopeLhs { - public final static char scopeLhs[] = { 83, 81, 39, 83, 39, 61, 52, 52, 81, 57, 39, 38, 39, 141, 65, 61, 52, 48, - 13, 81, 39, 93, 111, 133, 78, 65, 52, 89, 66, 29, 5, 5, 39, 38, 38, 23, 38, 39, 106, 86, 3, 132, 131, - 63, 77, 52, 124, 45, 51, 82, 82, 82, 40, 3, 36, 78, 110, 61, 89, 66, 36, 8, 5, 141, 61, 81, 83, 39, 83, - 81, 106, 86, 116, 89, 102, 101, 100, 99, 98, 66, 37, 106, 86, 139, 61, 48, 61, 46, 48 }; - } - - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - - @Override - public final int scopeLhs(int index) { - return scopeLhs[index]; - } - - public interface ScopeLa { - public final static byte scopeLa[] = { 50, 50, 37, 50, 37, 24, 77, 77, 50, 50, 37, 98, 27, 77, 37, 24, 77, 37, - 37, 14, 27, 37, 37, 50, 14, 37, 77, 27, 27, 50, 37, 77, 37, 37, 37, 48, 37, 27, 7, 7, 37, 77, 77, 37, 2, - 77, 1, 37, 1, 1, 1, 1, 27, 37, 48, 1, 69, 6, 1, 1, 48, 37, 37, 68, 6, 14, 14, 35, 1, 1, 1, 1, 13, 27, 1, - 63, 64, 64, 59, 27, 27, 1, 1, 68, 6, 2, 6, 2, 2 }; - } - - public final static byte scopeLa[] = ScopeLa.scopeLa; - - @Override - public final int scopeLa(int index) { - return scopeLa[index]; - } - - public interface ScopeStateSet { - public final static char scopeStateSet[] = { 48, 48, 113, 48, 113, 92, 99, 99, 48, 39, 113, 113, 113, 6, 103, - 92, 99, 17, 52, 48, 113, 48, 14, 8, 124, 103, 99, 10, 33, 110, 129, 129, 113, 113, 113, 165, 113, 113, - 1, 27, 129, 4, 6, 103, 105, 99, 29, 17, 20, 48, 48, 48, 113, 129, 113, 124, 199, 92, 10, 33, 113, 136, - 129, 6, 92, 48, 48, 113, 48, 48, 1, 27, 49, 10, 49, 49, 49, 49, 49, 33, 113, 1, 27, 31, 92, 17, 92, 17, - 17 }; - } - - public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; - - @Override - public final int scopeStateSet(int index) { - return scopeStateSet[index]; - } - - public interface ScopeRhs { - public final static char scopeRhs[] = { 0, 158, 68, 158, 36, 0, 103, 0, 158, 36, 0, 30, 128, 103, 0, 190, 128, - 0, 187, 0, 128, 0, 159, 187, 0, 159, 0, 151, 128, 0, 152, 187, 0, 152, 0, 179, 2, 13, 0, 104, 0, 203, 0, - 194, 0, 158, 0, 30, 128, 0, 239, 39, 0, 29, 129, 0, 129, 2, 0, 235, 2, 212, 0, 234, 2, 2, 7, 0, 104, - 104, 0, 196, 107, 14, 0, 105, 0, 224, 107, 131, 0, 185, 0, 107, 131, 0, 169, 185, 0, 229, 107, 0, 31, - 151, 0, 180, 227, 107, 14, 159, 0, 105, 0, 0, 174, 107, 2, 163, 0, 174, 107, 2, 0, 177, 2, 0, 161, 107, - 0, 177, 0, 107, 149, 6, 149, 161, 0, 172, 0, 149, 161, 0, 9, 0, 0, 172, 0, 107, 149, 6, 149, 0, 149, 0, - 9, 0, 0, 127, 28, 209, 107, 36, 0, 127, 209, 107, 28, 36, 0, 127, 28, 36, 0, 127, 209, 107, 36, 0, 127, - 36, 0, 145, 0, 2, 0, 170, 104, 0, 167, 0, 2, 104, 0, 174, 107, 2, 145, 0, 2, 0, 168, 104, 0, 151, 2, 0, - 162, 0, 180, 207, 107, 14, 101, 223, 63, 0, 223, 63, 0, 107, 3, 0, 0, 0, 105, 0, 180, 207, 107, 14, 223, - 63, 0, 3, 0, 0, 0, 105, 0, 160, 0, 106, 0, 222, 107, 160, 0, 107, 160, 0, 157, 106, 0, 188, 63, 0, 107, - 0, 188, 65, 0, 188, 64, 0, 204, 107, 14, 221, 101, 220, 187, 0, 221, 101, 220, 187, 0, 3, 0, 0, 105, 0, - 220, 187, 0, 107, 0, 3, 0, 0, 105, 0, 204, 107, 14, 220, 187, 0, 148, 0, 147, 0, 146, 0, 145, 0, 144, 0, - 197, 107, 131, 0, 135, 106, 0, 131, 0, 130, 46, 0, 167, 126, 167, 166, 2, 43, 0, 104, 129, 0, 167, 166, - 2, 43, 0, 106, 0, 104, 129, 0, 167, 126, 167, 126, 167, 2, 43, 0, 167, 126, 167, 2, 43, 0, 167, 2, 43, - 0, 106, 0, 106, 0, 104, 129, 0, 130, 2, 35, 0, 130, 2, 35, 135, 42, 0, 104, 106, 0, 135, 42, 0, 79, 2, - 108, 104, 106, 0, 130, 2, 47, 0, 135, 124, 130, 2, 45, 0, 55, 129, 0, 130, 2, 45, 0, 104, 129, 55, 129, - 0, 134, 0, 158, 39, 0, 130, 87, 122, 0, 29, 125, 0, 179, 2, 0, 104, 114, 0, 104, 112, 0, 219, 2, 105, 0, - 130, 36, 105, 0, 130, 2, 0 }; - } - - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - - @Override - public final int scopeRhs(int index) { - return scopeRhs[index]; - } - - public interface ScopeState { - public final static char scopeState[] = { 0, 1996, 1856, 0, 452, 0, 412, 0, 582, 0, 2945, 1855, 2890, 0, 588, - 518, 0, 2159, 2101, 1721, 1996, 2061, 1856, 2629, 2110, 1942, 1888, 1913, 1832, 1696, 0, 843, 0, 1788, - 1771, 2812, 1652, 1635, 0, 687, 659, 556, 589, 654, 528, 417, 2162, 0, 1279, 424, 388, 0, 3039, 3030, - 2978, 1996, 2957, 2061, 2159, 3009, 1856, 2101, 2947, 2736, 1913, 1832, 1721, 2110, 2361, 2217, 2925, - 1696, 2920, 424, 2916, 1714, 1685, 1625, 855, 2554, 1279, 2637, 2612, 1762, 2608, 2880, 2848, 2577, - 1896, 2286, 2182, 388, 2839, 2370, 2816, 2789, 2211, 2785, 0, 1454, 1269, 601, 416, 1721, 2554, 1942, - 1888, 1829, 2731, 0, 2780, 2728, 433, 2489, 2469, 2448, 2428, 2387, 2371, 2329, 2309, 2288, 2268, 2227, - 1788, 1771, 1652, 1635, 0, 2909, 2901, 2868, 2820, 2653, 1325, 1283, 2243, 1643, 2162, 617, 1337, 2079, - 2048, 2547, 2530, 2175, 720, 445, 2570, 2130, 2025, 1971, 1750, 875, 2769, 2760, 2739, 2593, 426, 2721, - 2712, 2703, 2694, 2681, 639, 1610, 1583, 1559, 915, 1532, 687, 1508, 1481, 659, 589, 759, 1457, 1429, - 1401, 887, 1373, 1297, 843, 815, 731, 1255, 1227, 1199, 1171, 1143, 1115, 1087, 1059, 1031, 1003, 975, - 388, 943, 787, 556, 528, 0 }; - } - - public final static char scopeState[] = ScopeState.scopeState; - - @Override - public final int scopeState(int index) { - return scopeState[index]; - } - - public interface InSymb { - public final static char inSymb[] = { 0, 0, 217, 107, 195, 13, 23, 17, 22, 21, 10, 9, 6, 12, 16, 15, 105, 2, - 110, 109, 116, 111, 118, 117, 120, 119, 122, 121, 106, 49, 2, 85, 70, 2, 36, 129, 179, 130, 160, 107, - 14, 10, 9, 72, 71, 6, 79, 78, 76, 75, 74, 73, 66, 67, 12, 81, 80, 83, 82, 87, 86, 84, 97, 96, 95, 93, - 94, 92, 91, 90, 89, 88, 69, 179, 219, 130, 124, 107, 36, 2, 164, 163, 198, 7, 8, 4, 199, 187, 200, 65, - 64, 201, 63, 202, 101, 216, 203, 13, 107, 109, 109, 111, 111, 111, 111, 111, 111, 110, 110, 117, 116, - 116, 119, 118, 218, 130, 121, 120, 124, 14, 159, 161, 149, 128, 28, 127, 107, 6, 177, 107, 2, 2, 2, 2, - 220, 128, 188, 128, 188, 223, 188, 128, 13, 106, 2, 196, 46, 38, 40, 44, 43, 35, 42, 47, 45, 134, 41, - 39, 101, 4, 131, 48, 48, 107, 14, 149, 6, 107, 127, 209, 175, 174, 131, 107, 176, 107, 2, 236, 1, 11, - 101, 14, 101, 14, 179, 3, 130, 101, 2, 2, 135, 2, 2, 48, 239, 158, 48, 237, 107, 107, 6, 149, 209, 28, - 127, 6, 2, 143, 145, 107, 49, 174, 234, 212, 2, 221, 128, 107, 14, 107, 124, 166, 167, 131, 130, 35, - 130, 130, 48, 68, 48, 2, 224, 197, 151, 128, 2, 186, 107, 148, 227, 107, 149, 107, 127, 127, 151, 107, - 2, 161, 49, 124, 2, 11, 1, 14, 204, 160, 205, 107, 207, 101, 208, 167, 126, 107, 124, 2, 124, 124, 238, - 11, 192, 14, 49, 128, 151, 107, 69, 161, 180, 49, 229, 240, 70, 36, 101, 230, 107, 175, 107, 235, 107, - 107, 207, 180, 69, 49, 126, 167, 130, 135, 48, 124, 2, 49, 107, 128, 161, 148, 150, 69, 158, 70, 36, - 175, 174, 225, 49, 204, 222, 48, 151, 128, 190, 180, 167, 126, 124, 98, 6, 1, 196, 68, 158, 49, 49, 48, - 190, 128, 124, 167, 1, 158, 128, 124 }; - } - - public final static char inSymb[] = InSymb.inSymb; - - @Override - public final int inSymb(int index) { - return inSymb[index]; - } - - public interface Name { - public final static String name[] = { "", "[", "(", "{", ".", "->", "++", "--", "&", "*", "+", "-", "~", "!", - "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "...", "=", - "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", ">?", " - -{ - private static ParseTable prs = new GPPParserprs(); - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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 GPPParser(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), GPPParserprs.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(" " + GPPParsersym.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " - + GPPParsersym.orderedTerminalSymbols[GPPParserprs.EOFT_SYMBOL])); - } - } - - @Override - public String[] orderedTerminalSymbols() { - return GPPParsersym.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return GPPParsersym.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return GPPParserprs.EOFT_SYMBOL; - } - - public PrsStream getParseStream() { - return 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, this, prs, this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException("Regenerate GPPParserprs.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- GPPParsersym.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 GPPBuildASTParserAction action; - private IASTCompletionNode compNode; - - public GPPParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, - IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new GPPBuildASTParserAction(this, astStack, CPPNodeFactory.getDefault(), - GPPSecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - gnuAction = new GNUBuildASTParserAction(this, astStack, CPPNodeFactory.getDefault()); - gnuAction.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - 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(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return GPPParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "GPPParser"; - } - - private GNUBuildASTParserAction gnuAction; - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 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 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 ) 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 ::= 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 ::= 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 ::= { 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 init_declarator_list_opt ; - // - case 255: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 256: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; - // - case 256: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 257: declaration_specifiers ::= simple_declaration_specifiers - // - case 257: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 258: declaration_specifiers ::= class_declaration_specifiers - // - case 258: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 259: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 259: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 260: declaration_specifiers ::= enum_declaration_specifiers - // - case 260: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 261: declaration_specifiers ::= 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 { enumerator_list_opt comma_opt } - // - case 321: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 322: enum_specifier ::= enum enum_specifier_hook identifier_token { 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 { declaration_seq_opt } - // - case 331: { - action.consumeNamespaceDefinition(true); - break; - } - - // - // Rule 332: namespace_definition ::= namespace namespace_definition_hook { 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 { declaration_seq_opt } - // - case 339: { - action.consumeLinkageSpecification(); - break; - } - - // - // Rule 340: linkage_specification ::= extern stringlit 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 ::= ptr_operator_seq direct_declarator - // - case 350: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 352: function_declarator ::= 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 ( parameter_declaration_clause ) cv_qualifier_seq_opt 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 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 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 ::= ptr_operator_seq - // - case 380: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 381: abstract_declarator ::= 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 ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 390: { - action.consumeDirectDeclaratorFunctionDeclarator(true); - break; - } - - // - // Rule 391: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt 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 ctor_initializer_list_opt function_body - // - case 409: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 410: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body 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 { initializer_seq , } end_initializer_list - // - case 416: { - action.consumeInitializerList(); - break; - } - - // - // Rule 417: initializer_list ::= start_initializer_list { initializer_seq } end_initializer_list - // - case 417: { - action.consumeInitializerList(); - break; - } - - // - // Rule 418: initializer_list ::= { } - // - 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 { 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 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 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 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 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 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 < 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 ::= 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 < 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 < 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 < template_parameter_list > class identifier_name_opt - // - case 546: { - action.consumeTemplatedTypeTemplateParameter(false); - break; - } - - // - // Rule 547: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression - // - case 547: { - action.consumeTemplatedTypeTemplateParameter(true); - break; - } - - // - // Rule 548: template_id_name ::= identifier_name < 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 ::= simple_declaration_specifiers - // - case 570: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 571: declaration_specifiers_inTemplate ::= class_declaration_specifiers - // - case 571: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 572: declaration_specifiers_inTemplate ::= elaborated_declaration_specifiers - // - case 572: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 573: declaration_specifiers_inTemplate ::= enum_declaration_specifiers - // - case 573: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 574: declaration_specifiers_inTemplate ::= 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 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 declarator - // - case 588: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 589: exception_declaration ::= type_specifier_seq 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 : 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 ::= typeof_declaration_specifiers - // - case 650: { - action.consumeDeclarationSpecifiersTypeof(); - break; - } - - // - // Rule 663: declarator ::= 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; - } - - default: - break; - } - return; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParserprs.java deleted file mode 100644 index db9f663d28a..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParserprs.java +++ /dev/null @@ -1,1889 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.gpp; - -public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym { - - 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 }; - } - - 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, 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, -162, 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, -195, -2, -34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -7, 0, -686, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -210, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -9, -69, 0, 0, 0, -376, 0, 0, 0, 0, -11, 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, -101, -322, 0, -70, 0, 0, 0, -65, 0, 0, 0, 0, 0, 0, -29, 0, 0, - -4, 0, 0, 0, -16, 0, 0, 0, 0, 0, 0, 0, 0, -41, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -216, 0, 0, 0, 0, -137, 0, - 0, 0, -58, 0, -18, 0, -145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -146, 0, 0, - -147, 0, 0, 0, 0, 0, 0, -245, 0, 0, 0, 0, 0, 0, -19, -133, 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, 0, 0, 0, 0, 0, -20, -357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28, -54, -110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -508, 0, 0, -444, - 0, 0, 0, 0, 0, 0, -57, 0, -51, 0, 0, 0, 0, 0, 0, 0, 0, -190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -107, -111, -224, 0, - 0, -282, 0, 0, 0, 0, -273, 0, 0, 0, 0, -14, -541, 0, 0, 0, -38, -118, 0, 0, -127, 0, 0, 0, 0, 0, 0, -39, - 0, 0, 0, 0, 0, -377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -155, - 0, -347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -42, 0, -40, 0, - 0, 0, 0, 0, 0, 0, -44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -45, 0, -404, -48, 0, -555, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -316, -61, 0, 0, 0, 0, 0, 0, -117, 0, 0, 0, 0, 0, 0, 0, 0, -176, 0, 0, 0, 0, -648, 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, -462, 0, -319, 0, 0, 0, -68, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -99, 0, -450, 0, 0, 0, -324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -646, -333, 0, 0, 0, 0, 0, 0, -53, 0, 0, 0, 0, -455, 0, 0, 0, 0, 0, 0, 0, - 0, -192, 0, 0, 0, -183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -60, 0, 0, -577, 0, 0, -628, 0, 0, 0, 0, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -284, 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, -59, 0, 0, 0, -314, 0, 0, 0, 0, -94, - 0, -63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -96, 0, 0, 0, 0, -457, 0, 0, 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, -315, 0, 0, 0, -66, -182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -399, 0, -72, 0, -287, 0, 0, 0, 0, -255, 0, 0, 0, 0, 0, 0, 0, 0, -559, 0, 0, 0, 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, -160, 0, 0, 0, 0, 0, 0, -91, 0, 0, - 0, 0, 0, 0, 0, 0, -86, 0, -443, 0, 0, 0, 0, -560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -132, 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, -344, 0, 0, 0, 0, -486, 0, 0, - 0, 0, 0, -557, 0, 0, -193, -252, 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, -551, 0, 0, 0, 0, -403, 0, -154, 0, -108, 0, -558, 0, 0, 0, -331, 0, 0, 0, - 0, -289, -626, 0, 0, 0, 0, -112, -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, -164, -584, 0, -327, 0, 0, -148, 0, 0, 0, 0, -378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, -37, 0, 0, 0, - -335, 0, 0, 0, 0, 0, 0, -622, 0, 0, 0, 0, 0, 0, 0, 0, -87, -170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -365, 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, -95, -174, -348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -552, 0, 0, 0, -603, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129, 0, 0, 0, 0, - -366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -88, -349, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -89, 0, -580, 0, 0, 0, 0, -649, -203, - 0, 0, 0, -627, 0, 0, 0, 0, 0, 0, -476, -135, 0, 0, 0, 0, -367, 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, -92, -350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -676, -386, -109, -93, 0, 0, 0, 0, 0, 0, 0, -119, -684, -120, 0, 0, 0, -611, - 0, 0, 0, 0, 0, -368, 0, 0, 0, 0, -614, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -379, -157, -351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -123, -654, 0, - -124, -143, 0, 0, 0, 0, 0, 0, 0, 0, 0, -199, 0, -221, 0, 0, 0, -102, 0, 0, 0, 0, 0, -369, 0, 0, 0, 0, - -106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -380, 0, -76, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -206, -223, 0, 0, -113, 0, 0, 0, 0, 0, 0, -225, - 0, -299, 0, 0, 0, 0, 0, 0, 0, 0, 0, -370, 0, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -381, 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -304, 0, -329, -436, -447, 0, -115, 0, -259, 0, 0, 0, 0, -330, -385, 0, 0, 0, 0, 0, -116, 0, 0, 0, 0, - -371, 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, -604, -158, -78, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -408, 0, -448, -130, -131, 0, 0, - 0, 0, 0, 0, 0, -134, 0, 0, -576, 0, 0, -140, 0, -159, 0, 0, 0, 0, -372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -156, -79, 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, 0, -453, -456, 0, 0, -201, 0, 0, 0, 0, 0, -205, -465, -523, -556, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -373, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -125, 0, -80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -207, -583, -208, 0, - -483, -553, 0, -670, 0, 0, -260, 0, 0, 0, -213, -595, -598, -599, 0, 0, 0, -617, 0, 0, 0, 0, 0, -374, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -202, -215, -81, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -640, -294, -625, 0, -317, 0, 0, 0, -204, -228, - -231, 0, 0, 0, -651, 0, 0, 0, 0, 0, -232, -233, 0, 0, 0, 0, 0, -390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -452, 0, 0, 0, 0, 0, -212, -631, 0, 0, 0, -678, 0, 0, 0, -142, - 0, 0, 0, 0, -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, 0, -468, - 0, 0, 0, 0, 0, 0, 0, -392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -671, 0, 0, 0, -422, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -618, 0, 0, -235, -236, 0, -401, 0, 0, 0, 0, - 0, 0, 0, -300, -175, 0, 0, 0, 0, -209, 0, -423, 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, -402, -469, 0, 0, -473, 0, -484, 0, 0, -290, -50, 0, 0, 0, 0, 0, - 0, 0, -424, 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, - -520, -521, 0, 0, 0, 0, 0, -567, 0, 0, -639, -647, 0, 0, 0, 0, 0, 0, -425, 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, -579, -616, 0, 0, -635, -645, -641, 0, 0, 0, 0, 0, 0, - 0, 0, -662, 0, 0, 0, 0, 0, 0, -426, 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, -656, -666, 0, 0, -677, -241, 0, 0, 0, 0, 0, -243, 0, 0, -667, -244, 0, 0, 0, 0, -248, 0, - -427, 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, -261, -262, 0, 0, - 0, 0, -660, 0, 0, 0, 0, -675, 0, 0, -263, -264, 0, 0, 0, 0, -249, 0, -428, 0, 0, 0, 0, -265, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -266, -267, 0, 0, 0, 0, 0, 0, 0, 0, 0, -268, 0, 0, - -269, -270, 0, 0, 0, 0, -250, 0, -429, 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, -272, -278, -279, 0, -280, -281, -291, 0, 0, -293, 0, -295, 0, 0, -303, -305, 0, 0, 0, 0, - -251, 0, -430, 0, 0, 0, 0, -306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -449, 0, - 0, 0, 0, 0, -309, 0, 0, -311, 0, -312, 0, 0, -313, -320, 0, 0, 0, 0, -276, 0, -431, 0, 0, 0, 0, -336, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -337, -352, -389, 0, -391, -393, -394, 0, 0, - -395, 0, -396, 0, 0, -398, -437, 0, 0, 0, 0, -277, 0, -432, 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, -440, -441, -442, 0, -458, -459, -466, 0, 0, -467, 0, -475, 0, 0, - -477, -488, 0, 0, 0, 0, -489, 0, -582, 0, 0, 0, 0, -490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -283, -288, -82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -298, - -491, -663, 0, -492, -494, -495, 0, 0, -496, -497, -498, 0, 0, -672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -601, 0, 0, 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, -500, 0, -501, - -502, -503, -504, 0, 0, -505, 0, 0, 0, 0, -506, -510, 0, 0, 0, 0, -308, 0, -602, 0, 0, 0, 0, -512, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -513, -518, -522, 0, -526, -527, -528, 0, 0, - -529, 0, -530, 0, 0, 0, 0, 0, 0, 0, 0, -321, 0, -657, 0, 0, 0, 0, -531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -532, -533, -534, 0, -535, -536, -537, 0, 0, -538, 0, -539, 0, 0, -679, - -540, 0, 0, 0, 0, -323, 0, -234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -548, 0, -254, 0, 0, -549, 0, 0, -550, 0, -128, 0, 0, 0, 0, -574, 0, 0, 0, 0, 0, 0, -575, -585, - -596, -612, -613, 0, 0, 0, -194, 0, 0, 0, -615, 0, 0, 0, 0, 0, 0, -325, -474, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -619, -633, -642, -650, 0, -658, -668, -669, 0, -682, - 0, 0, 0, 0, 0, -326, 0, 0, 0, 0, -485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -387, -406, -470, -471, - -507, -569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -524, 0, 0, 0, 0, -570, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -543, -554, - -581, -591, -593, -589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -597, 0, 0, 0, 0, -630, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 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, 0, 0, 0, -35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -636, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -24, 0, 0, 0, 0, 0, 0, 0, -226, 0, 0, 0, 0, -258, 0, 0, 0, 0, 0, -600, 0, 0, 0, 0, -605, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -12, 0, 0, 0, 0, -64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -161, 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, -606, -5, 0, 0, 0, 0, -52, 0, 0, -607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -608, -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, -214, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -644, 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, 0, 0, 0, 0, 0, 0, -328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -655, -661, 0, 0, 0, 0, 0, 0, 0, -165, -472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, -664, -138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -665, 0, 0, 0, 0, 0, 0, -84, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -169, 0, -674, -685, 0, - 0, -421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -418, 0, 0, 0, 0, 0, 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, -419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -446, 0, 0, 0, 0, 0, 0, 0, 0, 0, -420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -562, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -358, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -172, -177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -83, 0, 0, 0, 0, -26, 0, 0, 0, -184, 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, -400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -171, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -338, 0, 0, 0, 0, 0, 0, 0, 0, 0, -166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -62, 0, 0, 0, 0, -100, 0, 0, 0, 0, -568, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23, 0, 0, 0, 0, -185, 0, 0, 0, 0, - -25, 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, -256, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -354, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, 0, - -33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -230, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -388, -167, 0, 0, 0, - 0, 0, 0, 0, 0, -186, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -410, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -411, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, -414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -415, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -168, 0, 0, 0, -173, -30, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -397, -43, 0, 0, 0, 0, 0, 0, - -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -85, 0, 0, -384, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -511, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -594, -659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -514, -163, -433, 0, - 0, 0, 0, 0, 0, 0, -296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -375, -588, -544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -196, 0, 0, 0, 0, 0, 0, 0, 0, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -590, - -564, 0, 0, 0, 0, 0, 0, 0, 0, -302, 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, 0, 0, 0, 0, 0, 0, 0, 0, -31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -632, -546, 0, 0, 0, 0, 0, 0, 0, 0, -571, 0, 0, 0, 0, 0, -587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -634, -547, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -307, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -673, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -515, -151, 0, 0, -565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -683, 0, 0, 0, 0, 0, 0, 0, 0, -687, 0, -516, -152, -637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -340, 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, -519, 0, 0, 0, 0, 0, 0, 0, -179, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -478, 0, 0, 0, -191, -1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -345, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -74, - 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, -75, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -610, 0, -257, 0, - -198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -105, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -10, -525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -629, 0, 0, 0, 0, 0, 0, 0, -13, 0, 0, 0, -563, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -517, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -46, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -211, 0, 0, 0, 0, 0, 0, 0, 0, 0, -49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -435, 0, 0, 0, 0, 0, 0, 0, 0, 0, -122, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -464, 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, -572, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -217, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -218, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, -141, 0, 0, 0, 0, 0, 0, -405, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -144, 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, -274, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -286, 0, 0, 0, -292, 0, 0, 0, 0, 0, 0, 0, -578, - 0, 0, 0, 0, 0, 0, -623, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -652, 0, 0, 0, -653, 0, 0, 0, 0, -219, 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, 0, 0, 0, 0, -297, - 0, 0, 0, -454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -445, 0, 0, 0, 0, 0, 0, -620, 0, 0, 0, 0, 0, 0, - 0, 0, -681, 0, 0, 0, 0, 0, 0, 0, 0, 0, -487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 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; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[index]; - } - - public interface BaseAction0 { - public final static char baseAction0[] = { 205, 5, 143, 103, 103, 32, 32, 102, 102, 47, 47, 36, 36, 205, 1, 1, - 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 15, 11, 11, 6, 6, 6, 6, 6, 6, 2, 89, 89, 4, 4, 12, 12, 53, 53, - 166, 166, 167, 82, 82, 52, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 168, 168, 168, 144, 144, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 206, 206, 207, - 207, 208, 171, 171, 172, 172, 169, 169, 173, 170, 170, 21, 21, 22, 22, 23, 23, 23, 24, 24, 24, 24, 25, - 25, 25, 26, 26, 26, 35, 35, 35, 35, 35, 37, 37, 37, 39, 39, 40, 40, 43, 43, 44, 44, 45, 45, 46, 46, 55, - 55, 55, 55, 55, 64, 64, 64, 65, 65, 70, 70, 71, 71, 75, 75, 76, 76, 77, 77, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 34, 34, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 41, 33, 174, 174, - 113, 113, 209, 209, 106, 238, 238, 91, 91, 91, 91, 91, 91, 91, 91, 91, 92, 92, 92, 90, 90, 56, 56, 210, - 210, 93, 93, 93, 125, 125, 211, 211, 94, 94, 94, 94, 212, 212, 95, 95, 95, 95, 95, 96, 96, 98, 98, 98, - 98, 98, 98, 98, 98, 57, 57, 57, 57, 57, 126, 126, 124, 124, 58, 213, 31, 31, 31, 31, 31, 51, 51, 79, 79, - 79, 79, 79, 149, 149, 145, 145, 145, 145, 145, 146, 146, 146, 147, 147, 147, 148, 148, 148, 176, 176, - 176, 80, 80, 80, 80, 80, 81, 81, 81, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 114, 150, 150, 150, - 150, 150, 150, 119, 119, 119, 177, 178, 178, 120, 120, 214, 180, 180, 179, 179, 151, 151, 127, 87, 87, - 152, 60, 50, 181, 181, 61, 100, 100, 182, 182, 175, 175, 153, 154, 154, 155, 84, 84, 183, 183, 72, 72, - 72, 67, 67, 66, 73, 73, 101, 101, 83, 83, 83, 69, 107, 107, 116, 115, 115, 63, 63, 68, 68, 74, 74, 54, - 117, 117, 117, 108, 108, 108, 109, 109, 110, 110, 110, 111, 111, 128, 128, 128, 130, 130, 129, 129, 239, - 239, 112, 112, 216, 216, 216, 216, 216, 157, 49, 49, 185, 215, 215, 158, 158, 104, 104, 104, 105, 187, - 217, 217, 42, 42, 118, 122, 122, 122, 122, 219, 132, 131, 131, 121, 121, 121, 188, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 221, 221, 218, 218, 220, 220, 134, 135, 135, 135, 135, 136, 222, 137, - 133, 133, 223, 223, 190, 190, 190, 190, 123, 123, 123, 224, 224, 8, 8, 9, 225, 225, 226, 191, 184, 184, - 192, 192, 193, 194, 194, 7, 7, 10, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 85, 88, 88, 195, 195, 160, 160, 161, 161, 161, 161, 161, 161, 3, 162, - 162, 159, 159, 196, 240, 241, 241, 242, 242, 243, 244, 244, 197, 198, 198, 198, 198, 228, 228, 228, 139, - 139, 139, 139, 139, 140, 141, 141, 138, 138, 99, 86, 97, 97, 186, 186, 142, 142, 229, 229, 229, 163, - 163, 156, 156, 230, 230, 27, 27, 27, 38, 38, 28, 28, 231, 231, 199, 199, 199, 200, 200, 232, 232, 201, - 201, 29, 29, 233, 233, 202, 202, 202, 202, 30, 62, 234, 234, 235, 235, 203, 203, 203, 164, 164, 164, 19, - 19, 19, 19, 35, 35, 46, 17, 92, 236, 204, 204, 204, 165, 165, 31, 59, 79, 155, 155, 155, 134, 134, 134, - 214, 219, 132, 69, 84, 177, 152, 13, 13, 63, 99, 99, 99, 18, 1603, 35, 3125, 3103, 7526, 1969, 27, 30, - 31, 1092, 1081, 26, 28, 3091, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 652, 597, - 598, 599, 2884, 1374, 468, 177, 3028, 4028, 3054, 1890, 3042, 3077, 1224, 308, 3076, 3087, 3090, 176, - 1315, 191, 3298, 35, 1154, 32, 7645, 1492, 27, 30, 31, 1092, 1081, 26, 28, 5164, 266, 547, 3051, 1534, - 35, 1154, 32, 5704, 3898, 27, 30, 31, 1092, 1081, 374, 28, 269, 264, 265, 1497, 170, 35, 985, 424, 4580, - 35, 1154, 32, 4746, 1386, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, - 2636, 2647, 2646, 2785, 309, 170, 35, 317, 276, 279, 282, 3924, 678, 647, 2101, 49, 170, 35, 985, 424, - 1987, 2695, 351, 1164, 356, 1509, 906, 1761, 35, 314, 1439, 756, 2784, 395, 562, 3866, 4887, 5065, 5075, - 6377, 285, 2858, 2808, 170, 2332, 2318, 34, 2956, 2907, 3420, 3180, 3183, 3414, 2262, 1223, 645, 2157, - 425, 308, 170, 35, 7612, 7590, 3688, 3027, 842, 5956, 3086, 35, 1154, 32, 4746, 4773, 27, 30, 31, 1092, - 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 2785, 6023, 603, 4394, - 35, 1154, 32, 4746, 162, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, - 2636, 2647, 3356, 2784, 2113, 35, 312, 170, 35, 2318, 311, 310, 2858, 2808, 170, 35, 2318, 313, 2956, - 2907, 706, 935, 2702, 2983, 2989, 161, 578, 3086, 35, 1154, 32, 4746, 4773, 27, 30, 31, 1092, 1081, 26, - 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 2785, 615, 945, 4394, 35, 1154, 32, - 4746, 162, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, - 3357, 2784, 85, 1979, 1845, 549, 575, 5266, 579, 6524, 2858, 2808, 916, 605, 2549, 3389, 2956, 2907, - 170, 35, 3552, 2983, 2989, 161, 578, 1330, 2635, 1969, 347, 2993, 601, 597, 598, 599, 1390, 1390, 3086, - 35, 1154, 32, 4746, 4773, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, - 2636, 2647, 2646, 2785, 2156, 817, 3266, 35, 1154, 32, 7645, 162, 27, 30, 31, 1092, 1081, 59, 28, 3914, - 1545, 2113, 35, 315, 2729, 549, 575, 5266, 579, 1761, 35, 314, 2784, 7184, 67, 3606, 35, 312, 6384, 277, - 1669, 2858, 2808, 170, 35, 330, 3140, 2956, 2907, 2993, 469, 357, 2983, 2989, 161, 578, 3541, 35, 1154, - 32, 4746, 4773, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, - 2647, 2646, 2785, 1970, 618, 4394, 35, 1154, 32, 4746, 162, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, - 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 3287, 1327, 2784, 949, 1574, 4669, 549, 575, 5266, 579, 4028, - 2858, 2808, 1034, 534, 1923, 1759, 2956, 2907, 3570, 3577, 2395, 2983, 2989, 161, 578, 2053, 3152, 1969, - 1332, 2993, 3620, 35, 1154, 32, 4746, 378, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, - 106, 76, 77, 108, 2636, 2647, 2646, 3041, 1001, 987, 627, 2476, 479, 3577, 1556, 177, 3028, 2248, 3054, - 1001, 3042, 3077, 3051, 55, 3076, 3087, 3090, 176, 7173, 414, 170, 35, 985, 424, 2484, 550, 575, 5266, - 579, 1761, 35, 489, 1937, 7554, 3236, 35, 1154, 32, 4746, 1137, 27, 30, 31, 1092, 1081, 26, 28, 2049, - 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 3113, 308, 170, 35, 330, 4028, 55, 177, - 3028, 2248, 3054, 850, 3042, 3077, 415, 2795, 3076, 3087, 3090, 176, 561, 414, 170, 35, 985, 424, 3462, - 35, 1154, 32, 4746, 5164, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, - 2636, 2647, 2646, 3041, 339, 3761, 170, 35, 2318, 316, 4028, 177, 3028, 167, 3054, 488, 3042, 3077, - 2429, 421, 3076, 3087, 3090, 176, 375, 613, 2992, 1545, 415, 2795, 359, 3310, 35, 1154, 32, 4746, 378, - 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, - 2125, 2979, 478, 1797, 492, 396, 3690, 177, 3028, 2248, 3054, 67, 3042, 3077, 360, 6774, 3076, 3087, - 3090, 176, 2930, 414, 2836, 1666, 422, 3886, 35, 1154, 32, 4746, 1515, 27, 30, 31, 1092, 1081, 26, 28, - 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 2702, 482, 3131, 3134, 554, 35, - 432, 177, 3028, 55, 3054, 67, 3042, 3077, 1891, 7416, 3076, 3087, 3090, 176, 496, 191, 2957, 363, 370, - 415, 2795, 3886, 35, 1154, 32, 4746, 616, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, - 106, 76, 77, 108, 2636, 2647, 2646, 3041, 2243, 554, 35, 432, 7562, 67, 55, 177, 3028, 7493, 3054, 1404, - 3042, 3077, 611, 255, 3076, 3087, 3090, 176, 474, 408, 170, 2884, 173, 412, 3266, 35, 1154, 32, 7645, - 3818, 27, 30, 31, 1092, 1081, 58, 28, 3346, 3886, 35, 1154, 32, 4746, 3688, 27, 30, 31, 1092, 1081, 26, - 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 2248, 2246, 2154, 4229, 1843, - 3570, 4028, 177, 3028, 5101, 3054, 67, 3042, 3077, 3278, 5585, 3076, 3087, 3090, 176, 1041, 408, 170, - 35, 2318, 3547, 3027, 3886, 35, 1154, 32, 4746, 378, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, - 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 2628, 2078, 2406, 1226, 35, 2318, 311, 177, 3028, - 407, 3054, 3281, 3042, 3077, 672, 2795, 3076, 3087, 3090, 176, 2101, 408, 3462, 35, 1154, 32, 4746, 617, - 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, - 1761, 35, 566, 215, 7671, 170, 3201, 177, 3028, 924, 3054, 2429, 3042, 3077, 1545, 1545, 3076, 3087, - 3090, 176, 465, 613, 3693, 35, 1154, 32, 4746, 406, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, - 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 170, 3572, 2318, 74, 3569, 170, 3451, 2241, 3028, - 55, 3054, 2520, 3042, 3077, 929, 475, 3076, 3087, 3136, 197, 1545, 170, 35, 985, 424, 1666, 3914, 3383, - 35, 1154, 32, 4746, 404, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, - 2636, 2647, 2646, 3041, 55, 3982, 2326, 1970, 533, 4028, 2638, 177, 3028, 467, 3054, 3000, 3042, 3077, - 495, 6675, 3076, 3087, 3090, 176, 1666, 175, 362, 369, 370, 2627, 3951, 35, 1154, 32, 4746, 378, 27, 30, - 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 2785, 325, - 3989, 1408, 35, 1154, 32, 2795, 162, 41, 30, 31, 1092, 1081, 2243, 604, 2549, 51, 7562, 612, 2781, 370, - 3126, 2255, 3524, 35, 1154, 32, 7550, 2784, 27, 30, 31, 1092, 1081, 57, 28, 67, 2858, 2808, 4161, 7507, - 426, 4444, 2956, 2907, 463, 2547, 4444, 2983, 2989, 161, 173, 3951, 35, 1154, 32, 4746, 475, 27, 30, 31, - 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 2785, 187, 187, - 4394, 35, 1154, 32, 4746, 162, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, - 108, 2636, 3292, 1553, 2784, 1226, 35, 2318, 3573, 170, 35, 2318, 3618, 2858, 2808, 88, 42, 3005, 102, - 2956, 2907, 44, 3005, 2354, 2983, 2989, 161, 172, 3951, 35, 1154, 32, 4746, 2406, 27, 30, 31, 1092, - 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 2785, 2634, 2436, 4394, - 35, 1154, 32, 4746, 162, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, - 3299, 2841, 3235, 2784, 3731, 35, 564, 427, 61, 571, 1330, 463, 2858, 2808, 170, 35, 2318, 565, 2956, - 2907, 466, 3092, 3914, 2983, 2989, 161, 171, 3951, 35, 1154, 32, 4746, 3529, 27, 30, 31, 1092, 1081, 26, - 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 2785, 623, 1127, 4394, 35, 1154, - 32, 4746, 162, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 3347, - 2796, 2844, 2784, 571, 2322, 55, 5298, 483, 483, 5987, 1019, 2858, 2808, 2008, 55, 571, 55, 2956, 2907, - 704, 3055, 5947, 2983, 2989, 161, 170, 3951, 35, 1154, 32, 4746, 3374, 27, 30, 31, 1092, 1081, 26, 28, - 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 2785, 3979, 3914, 4394, 35, 1154, 32, - 4746, 162, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 3350, 55, - 4174, 2784, 55, 55, 6747, 358, 1516, 6763, 3932, 2248, 2858, 2808, 593, 55, 2395, 55, 2956, 2907, 6864, - 2185, 1719, 2983, 2989, 161, 169, 3951, 35, 1154, 32, 4746, 1736, 27, 30, 31, 1092, 1081, 26, 28, 2049, - 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 2785, 3986, 628, 4394, 35, 1154, 32, 4746, - 162, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 85, 672, 2795, 391, 2784, - 2145, 55, 457, 70, 1233, 593, 1868, 2248, 2858, 2808, 390, 55, 585, 55, 2956, 2907, 4842, 593, 2680, - 2983, 2989, 161, 168, 3951, 35, 1154, 32, 4746, 1853, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, - 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 2785, 4044, 93, 4394, 35, 1154, 32, 4746, 162, 27, 30, 31, - 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 83, 672, 2795, 55, 2784, 55, 3603, 2116, - 1339, 3581, 2342, 2099, 2248, 2858, 2808, 89, 55, 55, 102, 2956, 2907, 2500, 998, 1345, 2983, 2989, 161, - 167, 3951, 35, 1154, 32, 4746, 475, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, - 76, 77, 108, 2636, 2647, 2646, 2785, 5040, 3914, 4394, 35, 1154, 32, 4746, 162, 27, 30, 31, 1092, 1081, - 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 82, 672, 2795, 55, 2784, 55, 1731, 2458, 6936, 642, - 2552, 630, 2248, 2858, 2808, 1874, 3577, 3577, 1859, 2956, 2907, 2345, 7569, 3914, 2983, 2989, 161, 166, - 3951, 35, 1154, 32, 4746, 388, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, - 108, 2636, 2647, 2646, 2785, 24, 1474, 4394, 35, 1154, 32, 4746, 162, 27, 30, 31, 1092, 1081, 26, 28, - 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 81, 672, 2795, 67, 2784, 55, 55, 7581, 429, 2957, 1182, 1715, - 463, 2858, 2808, 657, 55, 1430, 55, 2956, 2907, 6960, 2563, 2568, 2983, 2989, 161, 165, 3951, 35, 1154, - 32, 4746, 475, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, - 2647, 2646, 2785, 1969, 338, 4394, 35, 1154, 32, 4746, 162, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, - 25, 23, 50, 2080, 106, 76, 77, 80, 2975, 55, 2245, 2784, 2795, 1872, 1385, 554, 35, 432, 753, 2167, - 2858, 2808, 379, 55, 1872, 55, 2956, 2907, 3911, 2429, 2626, 2983, 2989, 161, 164, 3951, 35, 1154, 32, - 4746, 3518, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, - 2646, 2785, 2957, 3850, 4394, 35, 1154, 32, 4746, 162, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, - 23, 50, 2080, 106, 76, 77, 79, 2520, 1545, 67, 2784, 3051, 1666, 7585, 428, 2957, 1539, 754, 463, 2858, - 2808, 170, 35, 985, 424, 2956, 2907, 2013, 74, 335, 2983, 2989, 161, 163, 4394, 35, 1154, 32, 4746, 389, - 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, - 3051, 624, 470, 365, 370, 3625, 3304, 1545, 3028, 1666, 3054, 1969, 3042, 3077, 584, 1969, 3076, 3087, - 3136, 197, 3886, 35, 1154, 32, 4746, 584, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, - 106, 76, 77, 108, 2636, 2647, 2646, 3041, 1556, 3051, 2929, 361, 2246, 332, 440, 177, 3028, 2957, 3054, - 2105, 3042, 3077, 2944, 370, 3076, 3087, 3090, 176, 587, 192, 2894, 170, 35, 985, 424, 3886, 35, 1154, - 32, 4746, 3449, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, - 2647, 2646, 3041, 55, 418, 212, 1403, 1322, 2003, 2957, 177, 3028, 97, 3054, 469, 3042, 3077, 1969, - 1969, 3076, 3087, 3090, 176, 3536, 188, 3886, 35, 1154, 32, 4746, 439, 27, 30, 31, 1092, 1081, 26, 28, - 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 331, 2472, 1556, 620, 232, 2957, - 2957, 177, 3028, 3364, 3054, 3051, 3042, 3077, 1969, 3160, 3076, 3087, 3090, 176, 7194, 187, 411, 3886, - 35, 1154, 32, 4746, 743, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, - 2636, 2647, 2646, 3041, 1556, 2153, 231, 334, 2957, 2957, 438, 177, 3028, 3427, 3054, 2957, 3042, 3077, - 3552, 163, 3076, 3087, 3090, 176, 411, 186, 3886, 35, 1154, 32, 4746, 557, 27, 30, 31, 1092, 1081, 26, - 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 3051, 3851, 235, 233, 2957, - 3055, 55, 177, 3028, 442, 3054, 3348, 3042, 3077, 321, 55, 3076, 3087, 3090, 176, 2077, 185, 3886, 35, - 1154, 32, 4746, 661, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, - 2636, 2647, 2646, 3041, 1545, 4108, 5783, 409, 55, 1036, 4114, 177, 3028, 2089, 3054, 1413, 3042, 3077, - 163, 2522, 3076, 3087, 3090, 176, 3914, 184, 3886, 35, 1154, 32, 4746, 1329, 27, 30, 31, 1092, 1081, 26, - 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 2536, 5036, 2393, 2127, 322, - 2895, 2957, 177, 3028, 585, 3054, 2957, 3042, 3077, 1339, 919, 3076, 3087, 3090, 176, 3914, 183, 3886, - 35, 1154, 32, 4746, 749, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, - 2636, 2647, 2646, 3041, 852, 1742, 71, 2206, 256, 98, 417, 177, 3028, 226, 3054, 2537, 3042, 3077, 2880, - 2596, 3076, 3087, 3090, 176, 3914, 182, 3886, 35, 1154, 32, 4746, 5088, 27, 30, 31, 1092, 1081, 26, 28, - 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 4992, 2700, 2791, 2285, 2899, - 2977, 2613, 177, 3028, 2605, 3054, 2168, 3042, 3077, 81, 3234, 3076, 3087, 3090, 176, 3914, 181, 3886, - 35, 1154, 32, 4746, 3394, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, - 2636, 2647, 2646, 3041, 1887, 35, 489, 5680, 7554, 416, 2521, 177, 3028, 2704, 3054, 2612, 3042, 3077, - 3853, 2051, 3076, 3087, 3090, 176, 3914, 180, 3886, 35, 1154, 32, 4746, 1414, 27, 30, 31, 1092, 1081, - 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 3264, 2346, 1782, 69, - 3193, 97, 2696, 177, 3028, 2878, 3054, 2882, 3042, 3077, 2973, 5136, 3076, 3087, 3090, 176, 3914, 179, - 3886, 35, 1154, 32, 4746, 3656, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, - 77, 108, 2636, 2647, 2646, 3041, 3686, 3720, 3855, 68, 1649, 1657, 2152, 177, 3028, 3005, 3054, 3576, - 3042, 3077, 2437, 266, 3076, 3087, 3090, 176, 359, 178, 4016, 35, 1154, 32, 4746, 946, 27, 30, 31, 1092, - 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 2785, 3914, 3914, 4394, - 35, 1154, 32, 4746, 162, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 78, - 3914, 1042, 2520, 2784, 1138, 2339, 2607, 53, 52, 2626, 2778, 2869, 2858, 2808, 170, 35, 985, 424, 2956, - 2907, 486, 3131, 3134, 2983, 2989, 161, 160, 3886, 35, 1154, 32, 4746, 413, 27, 30, 31, 1092, 1081, 26, - 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 839, 3587, 468, 3795, 3388, - 3219, 2701, 177, 3028, 3801, 3054, 1666, 3042, 3077, 2969, 193, 3076, 3087, 3090, 176, 3914, 641, 3886, - 35, 1154, 32, 4746, 3821, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, - 2636, 2647, 2646, 3041, 1035, 273, 3568, 2473, 2698, 2717, 2808, 177, 3028, 2983, 3054, 3834, 3042, - 3077, 2982, 370, 3076, 3087, 3090, 176, 3914, 140, 4081, 35, 1154, 32, 4746, 4152, 27, 30, 31, 1092, - 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 1031, 5084, 5244, - 633, 3819, 3950, 3273, 177, 3028, 4051, 3054, 4116, 3042, 3077, 1969, 3809, 3076, 3087, 3090, 176, 3914, - 222, 3165, 35, 1154, 32, 4746, 673, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, - 76, 77, 108, 2636, 2647, 2646, 2785, 3920, 1556, 55, 602, 378, 3981, 189, 1404, 1717, 1556, 1860, 35, - 1154, 32, 2411, 2153, 2601, 30, 31, 1092, 1081, 586, 3356, 3612, 4047, 3860, 2427, 3989, 3224, 2365, - 1860, 35, 1154, 32, 4112, 3685, 40, 30, 31, 1092, 1081, 3914, 4394, 35, 1154, 32, 4746, 3145, 27, 30, - 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 2886, - 3869, 4118, 2364, 622, 3700, 4173, 4176, 3028, 4135, 3054, 8899, 3042, 3077, 8899, 3914, 3076, 3087, - 3136, 197, 4394, 35, 1154, 32, 4746, 8899, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, - 106, 76, 77, 108, 2636, 2647, 2646, 3041, 621, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 3028, 8899, - 3054, 8899, 3042, 3077, 8899, 8899, 3076, 3087, 3136, 197, 8899, 8899, 3914, 3914, 3914, 3457, 3914, - 4394, 35, 1154, 32, 4746, 459, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, - 108, 2636, 2647, 2646, 3041, 90, 385, 634, 607, 2548, 8899, 8899, 8899, 3028, 8899, 3054, 8899, 3042, - 3077, 8899, 3914, 3076, 3087, 3136, 197, 4394, 35, 1154, 32, 4746, 329, 27, 30, 31, 1092, 1081, 26, 28, - 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 2564, 8899, 8899, 8899, 8899, - 8899, 8899, 8899, 3028, 8899, 3054, 8899, 3042, 3077, 8899, 8899, 3076, 3087, 3136, 197, 8899, 8899, - 3914, 3914, 2527, 3914, 3914, 4394, 35, 1154, 32, 4746, 458, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, - 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 2364, 487, 143, 6038, 6105, 8899, 8899, - 8899, 3028, 8899, 3054, 8899, 3042, 3077, 8899, 3914, 3076, 3087, 3136, 197, 4642, 35, 1154, 32, 4746, - 461, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, - 3041, 6172, 1753, 8899, 8899, 8899, 8899, 8899, 8899, 3028, 8899, 3054, 8899, 3042, 3077, 273, 296, - 3076, 3087, 3136, 197, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 652, 597, 598, 599, 644, 5274, - 35, 1154, 32, 6875, 5000, 27, 30, 31, 1092, 1081, 374, 28, 5328, 35, 1154, 32, 5704, 5000, 27, 30, 31, - 1092, 1081, 374, 28, 2539, 600, 597, 598, 599, 266, 8899, 8899, 746, 3201, 8899, 8899, 6473, 3159, 600, - 597, 598, 599, 7342, 3914, 2978, 274, 264, 265, 3914, 6505, 8899, 600, 597, 598, 599, 8899, 8899, 8899, - 1749, 1334, 330, 8899, 3963, 3413, 354, 1292, 356, 2184, 8899, 386, 349, 1250, 8899, 8899, 8899, 2935, - 8899, 354, 1292, 356, 67, 367, 4667, 349, 1250, 600, 597, 598, 599, 3655, 601, 597, 598, 599, 6761, - 4667, 986, 8899, 8899, 8899, 4394, 35, 1154, 32, 4746, 5318, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, - 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 3914, 4792, 35, 985, 424, 5590, 1875, 8899, - 3028, 3914, 3054, 387, 3042, 3077, 271, 296, 3076, 3513, 379, 2557, 2320, 384, 3914, 3914, 341, 345, - 796, 3686, 652, 597, 598, 599, 66, 600, 597, 598, 599, 341, 345, 796, 8899, 65, 8899, 308, 986, 8899, - 1453, 8899, 1749, 35, 330, 8899, 8899, 2173, 64, 55, 324, 8899, 4033, 3033, 8899, 8899, 8899, 387, 266, - 8899, 2173, 8899, 3914, 8899, 379, 2557, 2320, 384, 1442, 600, 597, 598, 599, 377, 269, 264, 265, 1010, - 1817, 3223, 986, 3056, 35, 1154, 32, 5704, 7436, 27, 30, 31, 1092, 1081, 374, 28, 54, 1358, 35, 3286, - 32, 6875, 5000, 27, 30, 31, 1092, 1081, 374, 28, 8899, 309, 4995, 8899, 8899, 276, 279, 282, 3924, 678, - 3914, 3914, 8899, 8899, 600, 597, 598, 599, 8899, 55, 1860, 35, 1154, 32, 4028, 4952, 2891, 30, 31, - 1092, 1081, 8899, 3866, 4887, 5065, 5075, 6377, 285, 2413, 354, 1292, 356, 101, 3038, 2522, 349, 1250, - 8899, 3914, 2230, 378, 8899, 645, 354, 1292, 356, 2184, 588, 8899, 349, 1250, 4033, 8899, 5956, 8899, - 601, 597, 598, 599, 8899, 367, 2015, 8899, 3989, 387, 8899, 600, 597, 598, 599, 2691, 379, 2557, 2320, - 384, 8899, 1010, 5751, 3914, 8899, 589, 6023, 8899, 3127, 5318, 4394, 2332, 1154, 2444, 4746, 8899, 27, - 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 84, 8899, 8899, 3512, 6520, 455, - 3283, 4518, 35, 1154, 32, 4746, 8899, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, - 76, 77, 108, 2636, 2647, 2646, 2785, 4394, 35, 1154, 32, 4746, 8899, 27, 30, 31, 1092, 1081, 26, 28, - 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 8899, 2784, 8899, 2169, 8899, - 8899, 8899, 8899, 3499, 8899, 2858, 2808, 8899, 8899, 8899, 8899, 2956, 3406, 3978, 8899, 3914, 3783, - 8899, 1404, 4394, 35, 1154, 32, 4746, 2839, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, - 106, 76, 77, 108, 2636, 2647, 2646, 3041, 193, 6306, 591, 8899, 8899, 8899, 8899, 8899, 3028, 8899, - 3054, 8899, 3042, 3077, 8899, 8899, 3504, 4518, 35, 1154, 32, 4746, 8899, 27, 30, 31, 1092, 1081, 26, - 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 2785, 4394, 35, 1154, 32, 4746, - 8899, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, - 3041, 8899, 2784, 8899, 170, 35, 985, 424, 8899, 3500, 3321, 2858, 2808, 8899, 8899, 8899, 8899, 3404, - 4394, 35, 1154, 32, 4746, 8899, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, - 77, 108, 2636, 2647, 2646, 3041, 8899, 49, 8899, 8899, 8899, 8899, 8899, 8899, 3028, 8899, 3054, 46, - 3042, 3502, 4518, 35, 1154, 32, 4746, 8899, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, - 106, 76, 77, 108, 2636, 2647, 2646, 2785, 4394, 35, 1154, 32, 4746, 8899, 27, 30, 31, 1092, 1081, 26, - 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3351, 8899, 2784, 362, 35, 985, - 424, 8899, 8899, 8899, 8899, 2858, 3405, 4394, 35, 1154, 32, 4746, 8899, 27, 30, 31, 1092, 1081, 26, 28, - 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 8899, 8899, 8899, 8899, 8899, - 308, 8899, 8899, 3028, 8899, 3054, 8899, 3503, 4719, 35, 1154, 32, 6875, 8899, 27, 30, 31, 1092, 1081, - 374, 28, 8899, 2003, 35, 1154, 32, 5704, 5000, 27, 30, 31, 1092, 1081, 374, 28, 600, 597, 598, 599, - 8899, 8899, 4518, 35, 1154, 32, 4746, 5847, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, - 106, 76, 77, 108, 2636, 2647, 2646, 2785, 8899, 8899, 2014, 8899, 3555, 8899, 354, 1292, 356, 2184, - 8899, 8899, 350, 1250, 3978, 2448, 8899, 8899, 8899, 1404, 354, 1292, 356, 368, 8899, 8899, 349, 1250, - 2784, 600, 597, 598, 599, 8899, 72, 8899, 8899, 3400, 1061, 8899, 4680, 387, 601, 597, 598, 599, 8899, - 193, 381, 2557, 2320, 384, 4394, 35, 1154, 32, 4746, 8899, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, - 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3041, 8899, 8899, 1596, 35, 985, 424, 8899, 1431, - 3028, 8899, 3498, 3148, 35, 1154, 32, 5704, 5000, 27, 30, 31, 1092, 1081, 374, 28, 8899, 8899, 8899, - 8899, 8899, 4898, 35, 553, 8899, 8899, 600, 597, 598, 599, 600, 597, 598, 599, 271, 296, 49, 4179, 8899, - 3489, 3322, 6505, 8899, 8899, 1404, 8899, 1509, 1125, 652, 597, 598, 599, 3571, 35, 1154, 32, 7550, - 8899, 27, 30, 31, 1092, 1081, 56, 28, 8899, 8899, 8899, 1879, 354, 1292, 356, 189, 8899, 8899, 349, - 1250, 8899, 55, 8899, 2885, 273, 296, 4028, 266, 8899, 234, 4667, 8899, 8899, 746, 3201, 8899, 8899, - 8899, 652, 597, 598, 599, 8899, 269, 264, 265, 8899, 4518, 35, 1154, 32, 4746, 378, 27, 30, 31, 1092, - 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 2785, 266, 3989, 8899, - 8899, 1995, 8899, 8899, 8899, 276, 279, 282, 3924, 678, 8899, 8899, 8899, 274, 264, 265, 8899, 8899, - 3129, 8899, 8899, 8899, 342, 345, 796, 3401, 8899, 8899, 652, 597, 598, 599, 4820, 6090, 6382, 6536, - 6853, 4518, 35, 1154, 32, 4746, 1490, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, - 76, 77, 108, 2636, 2647, 2646, 2785, 266, 8899, 1392, 35, 3286, 32, 5704, 5000, 27, 30, 31, 1092, 1081, - 374, 28, 803, 278, 264, 265, 562, 563, 567, 60, 8899, 8899, 8899, 8899, 8899, 3403, 3562, 597, 598, 599, - 8899, 8899, 8899, 8899, 8899, 8899, 8899, 5052, 8899, 8899, 324, 8899, 554, 35, 2409, 6121, 8899, 2440, - 6721, 8899, 8899, 6567, 3116, 35, 3286, 32, 5704, 5000, 27, 30, 31, 1092, 1081, 374, 28, 354, 1292, 356, - 2551, 3223, 8899, 349, 1250, 8899, 600, 597, 598, 599, 8899, 600, 597, 598, 599, 2015, 49, 5240, 8899, - 8899, 8899, 8899, 5052, 8899, 8899, 8899, 1509, 842, 8899, 8899, 8899, 3195, 35, 3286, 32, 5704, 5000, - 27, 30, 31, 1092, 1081, 374, 28, 2010, 8899, 8899, 8899, 2184, 2787, 354, 1292, 356, 8899, 2103, 8899, - 349, 1250, 3562, 597, 598, 599, 367, 2867, 8899, 7257, 455, 3283, 2015, 5052, 8899, 652, 597, 598, 599, - 8899, 600, 597, 598, 599, 289, 652, 597, 598, 599, 673, 6421, 5981, 8899, 8899, 600, 597, 598, 599, - 8899, 3978, 8899, 354, 1292, 356, 1404, 5240, 8899, 349, 1250, 4190, 8899, 266, 8899, 8899, 8899, 262, - 8899, 189, 8899, 2015, 1556, 266, 7652, 455, 3283, 2736, 8899, 281, 264, 265, 8899, 213, 193, 237, 249, - 739, 364, 284, 264, 265, 202, 236, 246, 247, 248, 250, 651, 5247, 35, 1154, 32, 5704, 7436, 27, 30, 31, - 1092, 1081, 374, 28, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 7257, 455, 3283, 8899, 8899, - 201, 216, 200, 203, 204, 205, 206, 207, 4394, 35, 1154, 32, 4746, 8899, 27, 30, 31, 1092, 1081, 26, 28, - 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3352, 8899, 8899, 8899, 3787, 354, - 1292, 356, 8899, 8899, 8899, 349, 1250, 8899, 8899, 2512, 8899, 8899, 4146, 35, 1154, 32, 4746, 3277, - 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 648, 76, 77, 387, 3651, 601, 597, 598, 599, - 6761, 379, 2557, 2320, 384, 4394, 35, 1154, 32, 4746, 3276, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, - 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3355, 1, 55, 8899, 8899, 8899, 673, 4028, 8899, - 5303, 8899, 3492, 8899, 8899, 8899, 8899, 1559, 35, 1154, 32, 6875, 8899, 27, 30, 31, 1092, 1081, 374, - 28, 8899, 8899, 8899, 262, 378, 189, 8899, 8899, 1556, 600, 597, 598, 599, 2736, 600, 597, 598, 599, - 8899, 213, 5240, 237, 249, 739, 8899, 5240, 8899, 3989, 202, 236, 246, 247, 248, 250, 651, 8899, 387, - 8899, 8899, 8899, 8899, 8899, 8899, 379, 2557, 2320, 384, 3130, 8899, 401, 8899, 3139, 577, 354, 1292, - 356, 2184, 8899, 8899, 352, 1250, 8899, 201, 217, 200, 203, 204, 205, 206, 207, 368, 3577, 8899, 8899, - 214, 4394, 35, 1154, 32, 4746, 8899, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, - 76, 77, 108, 2636, 2647, 2646, 3453, 4394, 35, 1154, 32, 4746, 8899, 27, 30, 31, 1092, 1081, 26, 28, - 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3454, 4394, 35, 1154, 32, 4746, 8899, - 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3455, - 4394, 35, 1154, 32, 4746, 8899, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, - 77, 108, 2636, 2647, 2646, 3458, 4394, 35, 1154, 32, 4746, 8899, 27, 30, 31, 1092, 1081, 26, 28, 2049, - 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3460, 4394, 35, 1154, 32, 4746, 8899, 27, 30, - 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3476, 1724, 35, - 1154, 32, 5704, 7374, 27, 30, 31, 1092, 1081, 374, 28, 8899, 8899, 8899, 8899, 170, 35, 985, 424, 55, - 75, 35, 985, 424, 1404, 4394, 35, 1154, 32, 4746, 386, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, - 23, 50, 2080, 106, 76, 77, 108, 2636, 2647, 2646, 3788, 189, 8899, 8899, 8899, 8899, 49, 8899, 8899, - 1724, 8899, 49, 8899, 354, 1292, 356, 1509, 1066, 8899, 349, 1250, 1509, 1409, 8899, 8899, 8899, 4208, - 35, 1154, 32, 4746, 1061, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 637, 76, 77, 387, - 8899, 8899, 799, 8899, 8899, 8899, 379, 2557, 2320, 384, 3755, 35, 1154, 32, 4746, 3686, 27, 30, 31, - 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 107, 385, 75, 35, 985, 424, 673, 8899, - 8899, 3823, 35, 1154, 32, 4746, 2248, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 106, - 76, 77, 104, 262, 3305, 189, 8899, 55, 1556, 673, 8899, 8899, 4028, 2736, 8899, 49, 8899, 8899, 8899, - 213, 3074, 237, 249, 739, 8899, 1509, 1082, 8899, 202, 236, 246, 247, 248, 250, 651, 378, 8899, 189, - 378, 481, 1556, 8899, 8899, 8899, 673, 2411, 8899, 601, 597, 598, 599, 3817, 4043, 672, 2795, 1231, 673, - 1404, 3989, 8899, 2365, 3989, 201, 3450, 200, 203, 204, 205, 206, 207, 262, 8899, 189, 8899, 8899, 1556, - 8899, 8899, 2128, 8899, 2736, 3689, 378, 8899, 189, 189, 213, 8899, 237, 249, 739, 8899, 221, 195, 8899, - 202, 236, 246, 247, 248, 250, 651, 8899, 8899, 8899, 7316, 577, 55, 3574, 8899, 8899, 673, 673, 1404, - 8899, 8899, 3340, 35, 1154, 32, 5704, 8899, 27, 30, 31, 1092, 1081, 374, 28, 201, 211, 200, 203, 204, - 205, 206, 207, 262, 378, 189, 189, 189, 1556, 601, 597, 598, 599, 2736, 3243, 3509, 8899, 8899, 8899, - 213, 3305, 237, 249, 739, 8899, 673, 8899, 3989, 202, 236, 246, 247, 248, 250, 651, 8899, 8899, 8899, - 55, 673, 55, 8899, 223, 1404, 673, 1404, 8899, 3194, 354, 1292, 356, 378, 55, 189, 663, 1250, 1556, - 1404, 8899, 8899, 8899, 2411, 201, 209, 200, 203, 204, 205, 206, 207, 262, 189, 189, 189, 3989, 1556, - 2365, 8899, 8899, 3409, 2736, 3948, 3228, 8899, 8899, 189, 213, 4028, 237, 249, 739, 2144, 8899, 4027, - 2998, 202, 236, 246, 247, 248, 250, 651, 8899, 8899, 8899, 8899, 769, 55, 8899, 8899, 8899, 673, 4028, - 5164, 8899, 8899, 3373, 3507, 652, 597, 598, 599, 2440, 8899, 8899, 8899, 6567, 4339, 2933, 201, 643, - 200, 203, 204, 205, 206, 207, 262, 378, 189, 8899, 8899, 1556, 601, 597, 598, 599, 2736, 8899, 600, 597, - 598, 599, 213, 266, 237, 249, 739, 2233, 8899, 5240, 3989, 202, 236, 246, 247, 248, 250, 651, 8899, 287, - 264, 265, 865, 55, 8899, 8899, 8899, 673, 1404, 8899, 545, 8899, 3609, 8899, 652, 597, 598, 599, 2504, - 8899, 2184, 8899, 6567, 541, 8899, 201, 210, 200, 203, 204, 205, 206, 207, 262, 6054, 189, 189, 8899, - 1556, 601, 597, 598, 599, 2736, 4036, 600, 597, 598, 599, 213, 266, 237, 249, 739, 2597, 8899, 5240, - 8899, 202, 236, 246, 247, 248, 250, 651, 8899, 647, 264, 265, 961, 55, 538, 540, 8899, 673, 1404, 8899, - 8899, 8899, 8899, 8899, 652, 597, 598, 599, 2331, 8899, 2184, 8899, 8899, 8899, 8899, 201, 220, 200, - 203, 204, 205, 206, 207, 262, 6054, 189, 189, 55, 1556, 3185, 8899, 8899, 1404, 2736, 4049, 600, 597, - 598, 599, 213, 266, 237, 249, 739, 2100, 94, 5751, 8899, 202, 236, 246, 247, 248, 250, 651, 8899, 278, - 264, 265, 1057, 189, 8899, 8899, 8899, 673, 8899, 8899, 8899, 2687, 8899, 8899, 601, 597, 598, 599, - 1971, 8899, 8899, 8899, 6567, 8899, 8899, 201, 3621, 200, 203, 204, 205, 206, 207, 262, 3305, 189, 8899, - 8899, 1556, 673, 8899, 8899, 8899, 2736, 8899, 600, 597, 598, 599, 213, 8899, 237, 249, 739, 8899, 96, - 5240, 8899, 202, 236, 246, 247, 248, 250, 651, 378, 8899, 189, 8899, 1153, 1556, 8899, 8899, 8899, 673, - 2411, 8899, 8899, 8899, 8899, 55, 3305, 8899, 2236, 55, 673, 673, 2184, 3989, 4028, 2365, 8899, 201, - 225, 200, 203, 204, 205, 206, 207, 262, 368, 189, 8899, 8899, 1556, 8899, 8899, 3047, 8899, 2736, 378, - 378, 189, 189, 378, 213, 1556, 237, 249, 739, 221, 2411, 8899, 8899, 202, 236, 246, 247, 248, 250, 651, - 8899, 8899, 7316, 3989, 1249, 2365, 3989, 8899, 8899, 673, 8899, 8899, 8899, 55, 8899, 55, 3305, 55, - 4028, 8899, 673, 673, 1404, 3096, 8899, 8899, 543, 201, 219, 200, 203, 204, 205, 206, 207, 262, 8899, - 189, 3978, 8899, 1556, 8899, 8899, 1404, 378, 2736, 378, 378, 189, 189, 189, 213, 1556, 237, 249, 739, - 221, 2411, 4152, 8899, 202, 236, 246, 247, 248, 250, 651, 3989, 8899, 7316, 3989, 193, 2365, 3789, 8899, - 4845, 35, 985, 424, 5590, 2688, 8899, 267, 35, 985, 424, 8899, 596, 272, 296, 3145, 8899, 8899, 8899, - 201, 228, 200, 203, 204, 205, 206, 207, 652, 597, 598, 599, 8899, 652, 597, 598, 599, 55, 8899, 8899, - 8899, 8899, 673, 308, 8899, 1559, 35, 1154, 32, 6875, 49, 27, 30, 31, 1092, 1081, 374, 28, 8899, 8899, - 1509, 47, 8899, 8899, 266, 8899, 3790, 8899, 378, 266, 189, 8899, 600, 597, 598, 599, 8899, 4050, 221, - 8899, 270, 264, 265, 5847, 8899, 281, 264, 265, 8899, 8899, 1085, 7316, 8899, 8899, 8899, 8899, 8899, - 5287, 35, 1154, 32, 5704, 5000, 27, 30, 31, 1092, 1081, 374, 28, 8899, 354, 1292, 356, 2184, 309, 8899, - 350, 1250, 277, 280, 283, 3924, 678, 601, 597, 598, 599, 368, 3148, 35, 1154, 32, 5704, 5000, 27, 30, - 31, 1092, 1081, 374, 28, 8899, 8899, 3416, 8899, 8899, 8899, 2440, 2058, 8899, 286, 6567, 8899, 4028, - 8899, 601, 597, 598, 599, 2779, 8899, 3833, 354, 1292, 356, 646, 8899, 8899, 349, 1250, 600, 597, 598, - 599, 600, 597, 598, 599, 8899, 262, 5070, 6048, 8899, 8899, 8899, 5240, 652, 597, 598, 599, 170, 35, - 985, 424, 354, 1292, 356, 239, 249, 739, 349, 1250, 8899, 8899, 8899, 238, 246, 247, 248, 250, 651, - 8899, 5070, 8899, 8899, 8899, 2184, 8899, 8899, 8899, 8899, 8899, 266, 8899, 8899, 8899, 8899, 8899, - 8899, 8899, 367, 8899, 49, 240, 242, 244, 720, 8899, 284, 264, 265, 8899, 1509, 7626, 8899, 8899, 251, - 241, 243, 4394, 35, 1154, 32, 4746, 6188, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, - 106, 76, 77, 110, 13, 8899, 6956, 4394, 35, 1154, 32, 4746, 8899, 27, 30, 31, 1092, 1081, 26, 28, 2049, - 296, 25, 23, 50, 2080, 106, 76, 77, 109, 4394, 35, 1154, 32, 4746, 8899, 27, 30, 31, 1092, 1081, 26, 28, - 2049, 296, 25, 23, 50, 2080, 106, 76, 77, 105, 4270, 35, 1154, 32, 4746, 8899, 27, 30, 31, 1092, 1081, - 26, 28, 2049, 296, 25, 23, 50, 2080, 635, 76, 77, 8899, 2870, 8899, 8899, 8899, 4332, 35, 1154, 32, - 4746, 705, 27, 30, 31, 1092, 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 86, 76, 77, 2279, 652, 597, 598, - 599, 4028, 8899, 8899, 8899, 8899, 8899, 8899, 3978, 8899, 2440, 8899, 2370, 1404, 6567, 8899, 8899, - 4028, 8899, 8899, 8899, 8899, 8899, 458, 35, 985, 424, 262, 8899, 8899, 8899, 8899, 8899, 266, 8899, - 8899, 8899, 600, 597, 598, 599, 193, 8899, 262, 8899, 239, 249, 739, 5240, 569, 264, 265, 8899, 238, - 246, 247, 248, 250, 651, 8899, 8899, 239, 249, 739, 8899, 49, 8899, 8899, 8899, 238, 246, 247, 248, 250, - 651, 1509, 47, 8899, 8899, 2184, 8899, 240, 242, 244, 720, 8899, 8899, 8899, 8899, 8899, 8899, 8899, - 8899, 367, 251, 241, 243, 240, 242, 244, 720, 8899, 4951, 35, 553, 3557, 8899, 8899, 8899, 8899, 251, - 241, 243, 2461, 8899, 272, 296, 7423, 4028, 8899, 1223, 4095, 6956, 8899, 75, 35, 985, 424, 8899, 652, - 597, 598, 599, 8899, 8899, 8899, 2630, 8899, 6956, 4456, 35, 1154, 32, 4746, 262, 27, 30, 31, 1092, - 1081, 26, 28, 2049, 296, 25, 23, 50, 2080, 3238, 76, 77, 8899, 239, 249, 739, 266, 49, 8899, 8899, 8899, - 238, 246, 247, 248, 250, 651, 1509, 5313, 8899, 8899, 8899, 270, 264, 265, 2188, 2884, 8899, 8899, 8899, - 4028, 4028, 8899, 8899, 8899, 8899, 8899, 8899, 3978, 240, 242, 244, 720, 1404, 8899, 8899, 1928, 1231, - 8899, 8899, 3685, 4028, 251, 241, 243, 4028, 262, 5164, 8899, 8899, 8899, 277, 280, 283, 3924, 678, - 8899, 8899, 3228, 8899, 8899, 193, 8899, 4028, 239, 249, 739, 262, 2728, 8899, 6956, 5164, 238, 246, - 247, 248, 250, 651, 8899, 3489, 8899, 8899, 8899, 8899, 673, 239, 249, 739, 8899, 5164, 8899, 8899, - 8899, 238, 246, 247, 248, 250, 651, 8899, 240, 242, 244, 720, 8899, 8899, 2552, 8899, 8899, 8899, 2562, - 4028, 189, 580, 241, 243, 8899, 8899, 8899, 8899, 2736, 240, 242, 244, 720, 8899, 213, 2643, 395, 562, - 563, 568, 4028, 8899, 252, 241, 243, 262, 8899, 8899, 8899, 4151, 8899, 8899, 3943, 3180, 3183, 8899, - 8899, 8899, 8899, 8899, 541, 8899, 8899, 239, 249, 739, 262, 8899, 8899, 8899, 8899, 238, 246, 247, 248, - 250, 651, 229, 541, 8899, 8899, 8899, 8899, 8899, 239, 249, 739, 8899, 170, 35, 985, 424, 238, 246, 247, - 248, 250, 651, 2734, 240, 242, 244, 720, 4028, 8899, 8899, 8899, 8899, 538, 540, 8899, 8899, 671, 241, - 243, 8899, 8899, 8899, 8899, 2825, 240, 242, 244, 720, 4028, 8899, 539, 540, 8899, 262, 49, 8899, 8899, - 670, 241, 243, 8899, 8899, 8899, 8899, 1509, 1761, 8899, 3616, 8899, 8899, 8899, 239, 249, 739, 262, - 8899, 8899, 8899, 8899, 238, 246, 247, 248, 250, 651, 1676, 8899, 8899, 8899, 7100, 4028, 8899, 239, - 249, 739, 8899, 170, 35, 985, 424, 238, 246, 247, 248, 250, 651, 2916, 240, 242, 244, 720, 4028, 8899, - 8899, 8899, 8899, 262, 8899, 8899, 8899, 669, 241, 243, 5782, 230, 8899, 8899, 3007, 240, 242, 244, 720, - 4028, 8899, 2686, 443, 7329, 262, 49, 8899, 8899, 581, 241, 243, 8899, 8899, 8899, 8899, 1509, 1077, - 8899, 8899, 2867, 8899, 8899, 239, 249, 739, 262, 8899, 8899, 8899, 8899, 238, 246, 247, 248, 250, 651, - 3782, 444, 445, 446, 720, 8899, 8899, 239, 249, 739, 600, 597, 598, 599, 8899, 238, 246, 247, 248, 250, - 651, 5240, 240, 242, 244, 720, 8899, 600, 597, 598, 599, 8899, 8899, 8899, 8899, 340, 241, 243, 6157, - 2561, 8899, 8899, 8899, 240, 242, 244, 720, 8899, 8899, 8899, 8899, 8899, 2312, 8899, 8899, 8899, 535, - 241, 243, 2963, 35, 1154, 32, 5704, 5000, 27, 30, 31, 1092, 1081, 374, 28, 1487, 35, 1154, 32, 5704, - 4128, 27, 30, 31, 1092, 1081, 374, 28, 2351, 8899, 8899, 8899, 6567, 4028, 8899, 8899, 8899, 8899, 8899, - 8899, 8899, 8899, 8899, 8899, 8899, 1802, 8899, 447, 449, 7100, 4028, 8899, 8899, 8899, 8899, 600, 597, - 598, 599, 5164, 2351, 8899, 439, 8899, 6567, 4028, 5240, 8899, 354, 1292, 356, 8899, 8899, 8899, 349, - 1250, 262, 738, 8899, 8899, 7359, 351, 1164, 356, 8899, 8899, 3617, 600, 597, 598, 599, 5164, 8899, - 8899, 2686, 443, 7329, 2184, 5240, 8899, 8899, 8899, 458, 35, 985, 424, 8899, 8899, 8899, 3446, 8899, - 367, 8899, 6567, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 2440, 8899, 8899, 8899, 6567, 8899, - 8899, 2184, 444, 445, 446, 720, 8899, 7423, 600, 597, 598, 599, 395, 8899, 8899, 367, 49, 8899, 8899, - 5240, 8899, 600, 597, 598, 599, 8899, 1509, 47, 3732, 3180, 3183, 8899, 5240, 8899, 8899, 8899, 8899, - 8899, 8899, 4605, 2561, 8899, 3305, 8899, 395, 8899, 8899, 673, 8899, 8899, 2184, 75, 35, 985, 424, - 8899, 1063, 8899, 8899, 8899, 3732, 3180, 3183, 2184, 368, 651, 35, 985, 424, 8899, 706, 8899, 8899, - 378, 8899, 189, 8899, 367, 1556, 8899, 8899, 8899, 387, 2411, 1718, 35, 985, 424, 8899, 381, 2557, 2320, - 384, 49, 8899, 8899, 3989, 8899, 2365, 8899, 8899, 4605, 8899, 1509, 47, 447, 450, 49, 458, 35, 985, - 424, 75, 35, 985, 424, 3786, 1509, 47, 8899, 75, 35, 985, 424, 8899, 8899, 49, 75, 35, 985, 424, 8899, - 8899, 788, 8899, 8899, 1509, 2315, 8899, 75, 35, 985, 424, 75, 35, 985, 424, 1274, 2230, 8899, 49, 8899, - 8899, 8899, 49, 8899, 8899, 8899, 8899, 8899, 1509, 2316, 49, 8899, 1509, 47, 799, 8899, 8899, 49, 2528, - 8899, 1509, 47, 8899, 600, 597, 598, 599, 1509, 47, 49, 8899, 8899, 3077, 49, 5751, 8899, 2867, 8899, - 4555, 1509, 47, 8899, 1294, 1509, 47, 600, 597, 598, 599, 8899, 1725, 170, 35, 985, 424, 8899, 5751, - 2640, 3786, 600, 597, 598, 599, 600, 597, 598, 599, 4109, 8899, 2750, 5240, 8899, 4028, 3360, 5240, - 8899, 8899, 170, 35, 985, 424, 8899, 8899, 8899, 8899, 600, 597, 598, 599, 8899, 8899, 8899, 8899, 49, - 8899, 8899, 6048, 8899, 378, 592, 8899, 3139, 8899, 1509, 1125, 2485, 8899, 8899, 8899, 8899, 8899, - 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 49, 8899, 3989, 8899, 8899, 8899, 8899, 8899, 8899, - 2314, 1509, 1998, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 595, 8899, 8899, 8899, - 8899, 8899, 8899, 8899, 8899, 2325, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, - 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, - 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, - 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, - 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, - 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, - 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, - 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, - 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 4340, - 8899, 0, 1, 263, 813, 0, 537, 6935, 0, 1, 263, 0, 39, 8914, 0, 39, 8913, 0, 1, 4619, 0, 1813, 1, 0, 39, - 1, 8914, 0, 39, 1, 8913, 0, 1, 1156, 0, 1, 826, 0, 263, 253, 0, 9167, 257, 0, 9166, 257, 0, 848, 257, 0, - 923, 257, 0, 957, 257, 0, 9567, 257, 0, 9272, 257, 0, 9271, 257, 0, 9194, 257, 0, 9193, 257, 0, 9192, - 257, 0, 9191, 257, 0, 9190, 257, 0, 9189, 257, 0, 9188, 257, 0, 9187, 257, 0, 9167, 258, 0, 9166, 258, - 0, 848, 258, 0, 923, 258, 0, 957, 258, 0, 9567, 258, 0, 9272, 258, 0, 9271, 258, 0, 9194, 258, 0, 9193, - 258, 0, 9192, 258, 0, 9191, 258, 0, 9190, 258, 0, 9189, 258, 0, 9188, 258, 0, 9187, 258, 0, 9167, 259, - 0, 9166, 259, 0, 848, 259, 0, 923, 259, 0, 957, 259, 0, 9567, 259, 0, 9272, 259, 0, 9271, 259, 0, 9194, - 259, 0, 9193, 259, 0, 9192, 259, 0, 9191, 259, 0, 9190, 259, 0, 9189, 259, 0, 9188, 259, 0, 9187, 259, - 0, 957, 430, 0, 923, 430, 0, 848, 430, 0, 318, 430, 0, 9167, 260, 0, 9166, 260, 0, 848, 260, 0, 923, - 260, 0, 957, 260, 0, 9567, 260, 0, 9272, 260, 0, 9271, 260, 0, 9194, 260, 0, 9193, 260, 0, 9192, 260, 0, - 9191, 260, 0, 9190, 260, 0, 9189, 260, 0, 9188, 260, 0, 9187, 260, 0, 318, 323, 0, 9167, 261, 0, 9166, - 261, 0, 848, 261, 0, 923, 261, 0, 957, 261, 0, 9567, 261, 0, 9272, 261, 0, 9271, 261, 0, 9194, 261, 0, - 9193, 261, 0, 9192, 261, 0, 9191, 261, 0, 9190, 261, 0, 9189, 261, 0, 9188, 261, 0, 9187, 261, 0, 1278, - 423, 0, 8914 }; - } - - public interface BaseAction1 { - public final static char baseAction1[] = { 48, 0, 8913, 48, 0, 9167, 650, 0, 9166, 650, 0, 848, 650, 0, 923, - 650, 0, 957, 650, 0, 9567, 650, 0, 9272, 650, 0, 9271, 650, 0, 9194, 650, 0, 9193, 650, 0, 9192, 650, 0, - 9191, 650, 0, 9190, 650, 0, 9189, 650, 0, 9188, 650, 0, 9187, 650, 0, 9167, 275, 0, 9166, 275, 0, 848, - 275, 0, 923, 275, 0, 957, 275, 0, 9567, 275, 0, 9272, 275, 0, 9271, 275, 0, 9194, 275, 0, 9193, 275, 0, - 9192, 275, 0, 9191, 275, 0, 9190, 275, 0, 9189, 275, 0, 9188, 275, 0, 9187, 275, 0, 9206, 275, 0, 9205, - 275, 0, 9204, 275, 0, 9203, 275, 0, 9202, 275, 0, 9201, 275, 0, 9200, 275, 0, 9199, 275, 0, 9198, 275, - 0, 9197, 275, 0, 9196, 275, 0, 9566, 275, 0, 9565, 275, 0, 39, 275, 8914, 0, 39, 275, 8913, 0, 8937, - 275, 0, 1, 957, 0, 1, 923, 0, 1, 848, 0, 1, 366, 0, 38, 826, 0, 38, 8914, 0, 38, 8913, 0, 490, 1713, 0, - 476, 2079, 0, 1278, 29, 0, 8911, 1, 0, 957, 660, 0, 923, 660, 0, 848, 660, 0, 664, 660, 0, 664, 659, 0, - 8962, 75, 0, 8961, 75, 0, 1834, 75, 0, 4804, 75, 0, 4679, 75, 0, 5589, 75, 0, 2088, 353, 0, 1, 662, 0, - 1, 480, 0, 494, 1348, 0, 493, 1669, 0, 35, 33, 0, 47, 37, 0, 537, 2602, 0, 8937, 1, 263, 0, 39, 1, 263, - 0, 263, 452, 0, 1, 1563, 0, 1, 9206, 0, 1, 9205, 0, 1, 9204, 0, 1, 9203, 0, 1, 9202, 0, 1, 9201, 0, 1, - 9200, 0, 1, 9199, 0, 1, 9198, 0, 1, 9197, 0, 1, 9196, 0, 1, 9566, 0, 1, 9565, 0, 8914, 37, 0, 8913, 37, - 0, 43, 8935, 0, 43, 37, 0, 3549, 91, 0, 32, 34, 0, 8907, 1, 0, 39, 826, 0, 957, 662, 0, 923, 662, 0, - 848, 662, 0, 8911, 419, 0, 8910, 419, 0, 957, 366, 0, 923, 366, 0, 848, 366, 0, 1, 1435, 0, 1, 1486, 0, - 263, 254, 0, 8909, 441, 0, 8908, 441, 0, 263, 451, 0, 1, 5647, 0, 1, 6698, 0, 1, 6725, 0, 1, 2208, 0, 1, - 2287, 0, 1, 2366, 0, 1, 2445, 0, 1, 2524, 0, 1, 2603, 0, 1, 3323, 0, 1, 4236, 0, 1, 8921, 0, 1, 8920, 0, - 1, 8919, 0, 1, 8918, 0, 1, 8917, 0, 1, 8916, 0, 1, 8915, 0, 1, 1572, 0, 1, 1833, 0, 1, 1970, 0, 1, 1996, - 0, 1, 2026, 0, 1, 3520, 0, 39, 1, 0, 8911, 649, 419, 0, 8910, 649, 419, 0, 1, 263, 3227, 0, 8908, 263, - 0, 3228, 263, 0, 8905, 1, 0, 8904, 1, 0, 5514, 126, 0, 271, 4337, 0, 424, 32, 0, 423, 29, 0, 957, 481, - 0, 923, 481, 0, 848, 481, 0, 8937, 481, 0, 366, 481, 0, 39, 481, 0, 848, 570, 0, 923, 570, 0, 957, 570, - 0, 848, 571, 0, 923, 571, 0, 957, 571, 0, 848, 572, 0, 923, 572, 0, 957, 572, 0, 848, 573, 0, 923, 573, - 0, 957, 573, 0, 848, 574, 0, 923, 574, 0, 957, 574, 0, 275, 8914, 0, 275, 8913, 0, 8935, 45, 0, 37, 45, - 0, 8911, 638, 419, 0, 8910, 638, 419, 0, 8911, 636, 419, 0, 8910, 636, 419, 0, 8911, 87, 419, 0, 8910, - 87, 419, 0, 1, 92, 0, 3415, 263, 0, 10, 12, 0, 8937, 1, 0, 648, 637, 0, 9567, 371, 0, 9272, 371, 0, - 9271, 371, 0, 6140, 100, 0, 8, 10, 12, 0, 3571, 227, 0, 5514, 128, 0, 5514, 127, 0, 8914, 2, 37, 0, - 8913, 2, 37, 0, 8914, 36, 0, 8913, 36, 0, 957, 657, 0, 923, 657, 0, 848, 657, 0, 957, 656, 0, 923, 656, - 0, 848, 656, 0, 600, 601, 0, 6948, 103, 0, 3838, 99, 0, 957, 95, 0, 923, 95, 0, 848, 95, 0, 8937, 95, 0, - 366, 95, 0, 39, 95, 0, 8911, 649, 638, 419, 0, 649, 638, 0, 35, 73, 0, 957, 657, 658, 0, 923, 657, 658, - 0, 848, 657, 658, 0, 657, 658, 0, 313, 6340, 0, 3622, 419, 0, 218, 6239, 0, 8, 12, 0 }; - } - - 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); - } - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - public final int lhs(int index) { - return lhs[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, 0, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 67, 68, 69, 4, 71, - 72, 0, 0, 1, 2, 77, 78, 79, 0, 81, 82, 10, 0, 85, 86, 87, 88, 89, 10, 91, 92, 93, 94, 95, 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, 66, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 0, 67, 68, 69, 0, 71, 72, 0, 1, 2, 0, 77, 78, 79, 4, 81, 82, 106, 107, - 85, 86, 87, 88, 89, 0, 91, 92, 93, 94, 95, 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, 80, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 67, 68, 69, - 76, 71, 72, 0, 0, 1, 2, 77, 78, 79, 0, 81, 82, 10, 0, 85, 86, 87, 88, 89, 0, 91, 92, 93, 94, 95, 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, 66, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 82, 67, 68, 69, 0, 71, 72, 0, 1, 2, 0, 77, 78, 79, 10, 8, 82, - 106, 107, 85, 86, 87, 88, 89, 0, 91, 92, 93, 94, 95, 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, 0, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 12, - 67, 68, 69, 76, 71, 72, 0, 1, 2, 0, 77, 78, 79, 106, 107, 82, 0, 0, 85, 86, 87, 88, 89, 0, 91, 92, 93, - 94, 95, 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, 66, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 79, 67, 68, 69, 76, 71, 72, 0, 1, 2, 0, 77, 78, - 79, 0, 0, 82, 3, 3, 85, 86, 87, 88, 89, 0, 91, 92, 93, 94, 95, 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, 70, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 72, 67, 68, 69, 0, 71, 72, 3, 0, 1, 2, 77, 78, 79, 0, 1, 82, 103, 0, 85, 86, 87, 88, 89, 10, 91, 92, - 93, 94, 95, 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, 80, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 67, 68, 69, 0, 71, 72, 0, 1, 2, 0, 77, - 78, 79, 0, 0, 82, 3, 0, 85, 86, 87, 88, 89, 102, 91, 92, 93, 94, 95, 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, 70, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 0, 67, 68, 69, 0, 71, 72, 0, 100, 101, 3, 77, 78, 79, 100, 101, 82, 0, 99, 85, 86, 87, 88, - 89, 105, 91, 92, 93, 94, 95, 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, 0, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 12, 67, 68, 69, 0, 71, 72, 3, - 100, 101, 0, 77, 78, 79, 0, 0, 82, 3, 0, 85, 86, 87, 88, 89, 103, 91, 92, 93, 94, 95, 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, 66, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 0, 67, 68, 69, 0, 71, 72, 0, 0, 0, 3, 77, 78, 79, 0, 0, 82, 3, 99, 85, 86, - 87, 88, 89, 105, 91, 92, 93, 94, 95, 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, 76, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 67, 68, 69, 0, - 71, 72, 3, 100, 101, 98, 77, 78, 79, 0, 0, 82, 104, 99, 85, 86, 87, 88, 89, 105, 91, 92, 93, 94, 95, 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, 70, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 67, 68, 69, 0, 71, 72, 0, 1, 2, 0, 77, 78, 79, 0, 0, 82, - 13, 99, 85, 86, 87, 88, 89, 105, 91, 92, 93, 94, 95, 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, 70, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, - 67, 68, 69, 0, 71, 72, 0, 0, 1, 2, 77, 78, 79, 0, 0, 82, 0, 4, 85, 86, 87, 88, 89, 0, 91, 92, 93, 94, - 95, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 54, 12, 41, 27, 28, 0, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 42, 43, 44, 45, 46, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, - 12, 83, 84, 75, 0, 1, 2, 66, 67, 0, 0, 70, 8, 9, 73, 74, 75, 76, 83, 84, 79, 80, 81, 41, 83, 84, 0, 0, - 1, 2, 76, 4, 5, 6, 7, 0, 54, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 28, 76, 66, 0, 126, 127, 128, 0, 1, 2, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 0, 1, 2, 3, 4, 0, 80, 80, 8, 9, 0, 11, 96, 97, 27, 28, 129, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 0, 42, 43, 44, 45, 46, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 46, 0, 1, 2, 3, 4, 0, 66, 67, 8, 9, 70, 0, 54, 73, 74, 75, 76, 54, 122, 79, 80, 81, 11, 83, 84, 0, 1, 2, - 3, 4, 5, 6, 7, 8, 9, 54, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 0, 1, 2, 0, 126, 127, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 75, 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, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 0, 1, 2, 127, 77, 78, 72, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 1, - 2, 4, 46, 54, 0, 1, 2, 3, 4, 80, 54, 0, 8, 9, 3, 11, 0, 80, 62, 63, 64, 65, 0, 0, 68, 69, 10, 71, 12, 0, - 1, 2, 76, 0, 5, 6, 7, 81, 5, 6, 7, 0, 1, 2, 0, 4, 90, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 70, 77, 78, 0, 74, 123, 124, 125, 0, 1, 2, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 102, 0, 1, 2, 46, 4, 5, 6, 7, 0, 11, 10, 54, 12, 76, 0, 0, 1, - 2, 4, 62, 63, 64, 65, 8, 9, 68, 69, 0, 71, 0, 0, 0, 3, 76, 0, 5, 6, 7, 81, 5, 6, 7, 0, 1, 2, 31, 4, 90, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 123, 124, 125, 70, 81, 123, 124, 125, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 1, - 2, 46, 4, 5, 6, 7, 0, 11, 10, 54, 12, 5, 6, 7, 0, 1, 2, 62, 63, 64, 65, 122, 0, 68, 69, 11, 71, 5, 6, 7, - 0, 1, 2, 3, 4, 0, 81, 0, 8, 9, 0, 0, 5, 6, 7, 90, 5, 6, 7, 27, 28, 54, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 67, 27, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 0, 67, 42, 43, 129, 0, 1, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 1, 0, 46, 5, 6, 7, 5, 6, 7, 11, 54, 0, 1, 2, 0, 1, - 2, 66, 62, 63, 64, 65, 8, 0, 68, 69, 27, 71, 27, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, - 0, 46, 0, 90, 5, 6, 7, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 12, 41, 54, 0, 70, 54, 27, 28, 73, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 41, 129, 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, - 76, 0, 0, 80, 0, 46, 5, 6, 7, 5, 6, 7, 0, 54, 0, 3, 0, 0, 4, 3, 3, 62, 63, 64, 65, 66, 0, 68, 69, 73, - 71, 27, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 31, 13, 108, 109, 90, 0, 1, 2, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 0, 66, 0, 1, 2, 46, 4, 5, 6, 7, 68, 0, 10, 54, 12, 4, 5, 6, 7, 0, 0, 62, 63, - 64, 65, 0, 0, 68, 69, 4, 71, 0, 1, 2, 0, 4, 5, 6, 7, 0, 81, 10, 11, 12, 0, 11, 123, 124, 125, 90, 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, 66, 66, 0, 1, 2, 46, 4, 5, 6, 7, 75, 83, 84, 54, 74, 62, 0, - 74, 0, 76, 4, 62, 63, 64, 65, 0, 0, 68, 69, 0, 71, 96, 97, 4, 5, 6, 7, 0, 98, 10, 81, 12, 5, 6, 7, 27, - 28, 0, 30, 90, 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, 66, 66, 0, 1, 2, 46, 4, 5, 6, 7, 0, 76, - 10, 54, 12, 5, 6, 7, 0, 0, 0, 62, 63, 64, 65, 0, 0, 68, 69, 73, 71, 5, 6, 7, 0, 0, 11, 0, 1, 2, 81, 4, - 5, 6, 7, 27, 28, 0, 30, 90, 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, 54, 66, 73, 0, 0, 46, 3, - 0, 74, 5, 6, 7, 0, 54, 0, 3, 73, 83, 84, 0, 0, 62, 63, 64, 65, 0, 98, 68, 69, 4, 71, 27, 28, 0, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 104, 90, 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, - 66, 73, 73, 75, 0, 46, 83, 84, 54, 5, 6, 7, 0, 54, 0, 3, 0, 0, 0, 1, 0, 62, 63, 64, 65, 83, 84, 68, 69, - 11, 71, 27, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 0, 90, 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, 75, 74, 73, 0, 0, 46, 83, 84, 54, 5, 6, 7, 0, 54, 0, 0, 0, 5, 6, 7, 0, 62, - 63, 64, 65, 83, 84, 68, 69, 103, 71, 27, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 0, - 0, 90, 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, 75, 0, 73, 0, 0, 46, 5, 6, 7, 5, 6, 7, 0, 54, 0, - 3, 0, 0, 0, 3, 0, 62, 63, 64, 65, 83, 84, 68, 69, 11, 71, 27, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 42, 43, 0, 0, 90, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 74, 73, 80, 75, 46, 0, 1, - 2, 3, 4, 11, 0, 54, 8, 9, 0, 75, 0, 3, 0, 62, 63, 64, 65, 98, 0, 68, 69, 11, 71, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 0, 1, 2, 46, 0, 0, 90, 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, 73, 74, 0, 0, 75, 46, 54, 0, 0, 1, 2, 3, 4, 54, 11, 8, 8, 9, 83, 84, 0, 62, 63, 64, 65, 104, 0, - 68, 69, 0, 71, 5, 6, 7, 5, 6, 7, 80, 0, 1, 2, 3, 4, 0, 0, 0, 8, 9, 10, 90, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, 29, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 70, 41, 42, 43, 44, 45, 81, 47, - 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 72, 0, 0, 75, 3, - 77, 78, 0, 1, 2, 3, 4, 11, 11, 80, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 76, 0, 29, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 41, 42, 43, 44, 45, 98, 47, 48, 49, 50, 51, 52, 53, 0, - 55, 56, 57, 58, 59, 60, 61, 67, 0, 70, 0, 12, 67, 74, 0, 0, 0, 1, 2, 3, 4, 13, 77, 78, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, 29, 0, 1, 2, 76, 4, 76, 0, 0, 8, 9, 4, 41, - 42, 43, 44, 45, 54, 47, 48, 49, 50, 51, 52, 53, 62, 55, 56, 57, 58, 59, 60, 61, 0, 1, 2, 66, 4, 67, 0, - 0, 8, 9, 72, 75, 0, 1, 2, 3, 4, 11, 11, 81, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 73, 66, 29, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 46, 41, 42, 43, 44, 45, 0, 47, 48, 49, 50, 51, - 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 67, 0, 0, 11, 103, 67, 5, 6, 7, 0, 72, 0, 1, 2, 3, 4, 0, 0, 0, 8, - 9, 10, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 46, 0, 29, 0, 1, 2, 0, 4, 5, 6, 7, - 5, 6, 7, 41, 42, 43, 44, 45, 73, 47, 48, 49, 50, 51, 52, 53, 73, 55, 56, 57, 58, 59, 60, 61, 0, 0, 1, 2, - 3, 4, 5, 6, 7, 0, 72, 10, 0, 12, 70, 77, 78, 0, 1, 2, 3, 4, 54, 11, 75, 8, 9, 10, 0, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 102, 29, 0, 1, 2, 41, 122, 5, 6, 7, 11, 0, 10, 41, 42, 43, - 44, 45, 54, 47, 48, 49, 50, 51, 52, 53, 70, 55, 56, 57, 58, 59, 60, 61, 0, 1, 2, 54, 4, 0, 73, 74, 8, 9, - 72, 46, 0, 1, 0, 77, 78, 0, 1, 2, 3, 4, 54, 11, 0, 8, 9, 10, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 0, 0, 29, 0, 1, 2, 0, 4, 0, 41, 54, 8, 9, 0, 41, 42, 43, 44, 45, 0, 47, 48, 49, 50, - 51, 52, 53, 66, 55, 56, 57, 58, 59, 60, 61, 0, 1, 2, 0, 1, 2, 0, 74, 0, 0, 72, 5, 6, 7, 0, 77, 78, 0, 1, - 2, 3, 4, 54, 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 66, 80, 29, - 76, 0, 76, 66, 3, 0, 0, 54, 3, 3, 54, 41, 42, 43, 44, 45, 11, 47, 48, 49, 50, 51, 52, 53, 122, 55, 56, - 57, 58, 59, 60, 61, 70, 96, 97, 0, 0, 67, 0, 3, 0, 3, 72, 0, 1, 2, 3, 4, 13, 11, 0, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 70, 29, 3, 73, 70, 75, 0, 73, 74, 75, 0, 1, - 2, 41, 42, 43, 44, 45, 54, 47, 48, 49, 50, 51, 52, 53, 62, 55, 56, 57, 58, 59, 60, 61, 0, 1, 2, 3, 4, - 70, 0, 74, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, 29, 54, 0, 5, - 6, 7, 0, 5, 6, 7, 11, 0, 41, 42, 43, 44, 45, 0, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, - 61, 0, 0, 0, 127, 0, 67, 0, 1, 2, 3, 4, 11, 11, 130, 8, 9, 10, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 0, 0, 29, 0, 0, 0, 73, 74, 3, 98, 0, 66, 11, 46, 41, 42, 43, 44, 45, 0, 47, 48, - 49, 50, 51, 52, 53, 76, 55, 56, 57, 58, 59, 60, 61, 67, 0, 1, 2, 3, 4, 96, 97, 70, 8, 9, 10, 76, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 104, 0, 29, 66, 83, 84, 66, 0, 102, 0, 3, 73, 11, - 66, 41, 42, 43, 44, 45, 81, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 80, 0, 0, 1, - 2, 3, 4, 0, 0, 72, 8, 9, 10, 12, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, 29, - 0, 0, 0, 3, 3, 0, 0, 74, 11, 11, 0, 41, 42, 43, 44, 45, 11, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, - 58, 59, 60, 61, 0, 66, 0, 0, 1, 2, 3, 4, 0, 0, 72, 8, 9, 10, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 0, 0, 29, 67, 0, 0, 0, 3, 0, 74, 67, 11, 11, 0, 41, 42, 43, 44, 45, 0, 47, 48, 49, - 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, 0, 1, 2, 3, 4, 0, 0, 72, 8, 9, 10, 0, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, 29, 67, 0, 0, 0, 3, 0, 74, 0, 11, 11, 3, 41, - 42, 43, 44, 45, 76, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, 0, 1, 2, 3, 4, - 0, 0, 72, 8, 9, 10, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, 29, 0, 3, 0, 3, - 0, 0, 74, 74, 11, 0, 0, 41, 42, 43, 44, 45, 76, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, - 61, 0, 1, 2, 3, 4, 0, 0, 80, 8, 9, 10, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 83, 84, 29, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 43, 44, 45, 81, 47, 48, 49, 50, 51, 52, 53, 0, 55, - 56, 57, 58, 59, 60, 61, 0, 1, 2, 3, 4, 0, 0, 0, 8, 9, 10, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 43, 44, 45, 0, 47, 48, 49, 50, 51, - 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 1, 2, 3, 4, 0, 0, 0, 8, 9, 10, 0, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 43, 44, 45, 0, 47, - 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 1, 2, 3, 4, 0, 0, 0, 8, 9, 10, 0, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 43, - 44, 45, 0, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 1, 2, 3, 4, 0, 0, 0, 8, 9, 10, - 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 41, 42, 43, 44, 45, 0, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 1, 2, 3, 4, 0, - 0, 0, 8, 9, 10, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, 29, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 41, 42, 43, 44, 45, 0, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, - 1, 2, 3, 4, 0, 0, 0, 8, 9, 10, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, 29, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 43, 44, 45, 0, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, - 59, 60, 61, 0, 1, 2, 3, 4, 0, 0, 0, 8, 9, 10, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 0, 0, 29, 3, 0, 0, 0, 0, 8, 0, 10, 0, 12, 0, 41, 42, 43, 44, 45, 0, 47, 48, 49, 50, 51, 52, 53, 0, - 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, 0, 0, 0, 0, 42, 43, 44, 45, 0, 47, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 0, 12, 0, 0, 0, 66, 0, 0, 0, 70, 0, 0, 73, 0, 75, 0, 77, 78, 0, 80, 0, 0, 83, 84, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 96, 97, 0, 99, 100, 101, 102, 103, 104, 0, 106, 107, 108, 0, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 70, 0, 0, 0, 1, 2, 126, 4, 5, 6, 7, 0, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 2, 0, 4, 5, 6, 7, 0, 62, 63, 64, 65, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 2, 0, 0, 5, 6, 7, 0, 62, 63, 64, 65, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, - 6, 7, 0, 62, 63, 64, 65, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 0, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 62, - 63, 64, 65, 0, 0, 27, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 46, 0, 0, 1, 2, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 66, 0, 0, 0, 70, 0, 0, 0, 74, 27, 28, 0, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 46, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 66, 0, 0, - 0, 0, 67, 0, 0, 70, 75, 0, 0, 74, 27, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 96, - 97, 46, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 66, 0, 0, 0, 0, 0, 120, 121, 70, 75, 0, 0, 74, - 27, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 96, 97, 46, 0, 0, 1, 2, 3, 4, 5, 6, 7, - 0, 0, 10, 0, 12, 0, 0, 0, 0, 0, 0, 0, 120, 121, 70, 0, 0, 0, 74, 27, 28, 0, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 0, 0, 10, 0, 12, 0, 0, 1, 2, 3, 4, 0, 0, - 70, 8, 9, 73, 11, 75, 27, 28, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 0, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 12, 0, 3, 0, 70, 0, 0, 73, 0, 75, 0, 66, 0, 0, 0, 0, - 0, 0, 70, 0, 75, 73, 74, 75, 0, 0, 0, 0, 80, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 11, 96, 97, 44, 45, 0, 98, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 121, 0, 0, 70, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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; - - @Override - public final int termCheck(int index) { - return termCheck[index]; - } - - public interface TermAction { - public final static char termAction[] = { 0, 8899, 8635, 7901, 7901, 7901, 7894, 7901, 7901, 7901, 7901, 7901, - 8765, 7901, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 8639, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 39, 8910, 1709, 836, 8937, 9107, 1, - 115, 8899, 8194, 8191, 1, 1, 1179, 8899, 8906, 3237, 2129, 423, 2835, 2653, 2787, 3225, 5703, 7630, - 3234, 1507, 3232, 4791, 3229, 10, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, - 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, - 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, - 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8188, 8768, 8768, 8768, 8768, 8768, 8768, 8768, 8768, - 8768, 8768, 8768, 420, 8768, 8768, 8768, 35, 8768, 8768, 8899, 8913, 8914, 8899, 8768, 8768, 8768, 1764, - 8768, 8768, 2050, 1971, 8768, 8768, 8768, 8768, 8768, 484, 8768, 8768, 8768, 8768, 8768, 8, 8789, 8789, - 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, - 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, - 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, - 1847, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8789, 8899, 8789, 8789, 8789, 1240, - 8789, 8789, 117, 8899, 12843, 12189, 8789, 8789, 8789, 227, 8789, 8789, 2129, 490, 8789, 8789, 8789, - 8789, 8789, 8899, 8789, 8789, 8789, 8789, 8789, 8899, 8635, 7901, 7901, 7901, 7894, 7901, 7901, 7901, - 7901, 7901, 8642, 7901, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 8639, 1, 1, 1, 1, 1, 1, 1, 8364, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8793, 8910, 1709, - 836, 116, 9107, 1, 8899, 8913, 8914, 8899, 1, 1, 1179, 2129, 1704, 3237, 2050, 1971, 2835, 2653, 2787, - 3225, 5703, 8899, 3234, 1507, 3232, 4791, 3229, 8899, 8635, 7901, 7901, 7901, 7894, 7901, 7901, 7901, - 7901, 7901, 8642, 7901, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 8639, 1, 1, 1, 1, 1, 1, 1, 151, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4638, 8910, 1709, - 836, 9336, 9107, 1, 48, 8194, 8191, 8899, 1, 1, 1179, 2050, 1971, 3237, 1, 476, 2835, 2653, 2787, 3225, - 5703, 464, 3234, 1507, 3232, 4791, 3229, 8899, 8635, 7901, 7901, 7901, 7894, 7901, 7901, 7901, 7901, - 7901, 8642, 7901, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 8639, 1, 1, 1, 1, 1, 1, 1, 8367, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1440, 8910, 1709, 836, - 1485, 9107, 1, 433, 8913, 8914, 155, 1, 1, 1179, 353, 8899, 3237, 8409, 1008, 2835, 2653, 2787, 3225, - 5703, 594, 3234, 1507, 3232, 4791, 3229, 8899, 8635, 7901, 7901, 7901, 7894, 7901, 7901, 7901, 7901, - 7901, 8642, 7901, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 8639, 1, 1, 1, 1, 1, 1, 1, 1677, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3623, 8910, 1709, 836, - 346, 9107, 1, 1491, 8899, 12843, 12189, 1, 1, 1179, 8899, 3469, 3237, 4387, 153, 2835, 2653, 2787, 3225, - 5703, 3189, 3234, 1507, 3232, 4791, 3229, 8899, 8635, 7901, 7901, 7901, 7894, 7901, 7901, 7901, 7901, - 7901, 8642, 7901, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 8639, 1, 1, 1, 1, 1, 1, 1, 1352, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8899, 8910, 1709, 836, - 149, 9107, 1, 327, 8913, 8914, 129, 1, 1, 1179, 382, 111, 3237, 2391, 8899, 2835, 2653, 2787, 3225, - 5703, 4499, 3234, 1507, 3232, 4791, 3229, 8899, 8635, 7901, 7901, 7901, 7894, 7901, 7901, 7901, 7901, - 7901, 8642, 7901, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 8639, 1, 1, 1, 1, 1, 1, 1, 1677, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8899, 8910, 1709, 836, - 150, 9107, 1, 8899, 4923, 4856, 846, 1, 1, 1179, 4414, 4292, 3237, 135, 6626, 2835, 2653, 2787, 3225, - 5703, 6652, 3234, 1507, 3232, 4791, 3229, 8899, 8635, 7901, 7901, 7901, 7894, 7901, 7901, 7901, 7901, - 7901, 8642, 7901, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 8639, 1, 1, 1, 1, 1, 1, 1, 131, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4717, 8910, 1709, 836, - 8899, 9107, 1, 1431, 4923, 4856, 8899, 1, 1, 1179, 8899, 114, 3237, 1379, 29, 2835, 2653, 2787, 3225, - 5703, 4458, 3234, 1507, 3232, 4791, 3229, 8899, 8635, 7901, 7901, 7901, 7894, 7901, 7901, 7901, 7901, - 7901, 8642, 7901, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 8639, 1, 1, 1, 1, 1, 1, 1, 8370, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8899, 8910, 1709, 836, - 130, 9107, 1, 8899, 8899, 157, 2088, 1, 1, 1179, 8899, 113, 3237, 5838, 6626, 2835, 2653, 2787, 3225, - 5703, 6652, 3234, 1507, 3232, 4791, 3229, 8899, 8635, 7901, 7901, 7901, 7894, 7901, 7901, 7901, 7901, - 7901, 8642, 7901, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 8639, 1, 1, 1, 1, 1, 1, 1, 5971, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8899, 8910, 1709, 836, - 8899, 9107, 1, 4337, 4414, 4292, 3791, 1, 1, 1179, 355, 112, 3237, 4265, 6626, 2835, 2653, 2787, 3225, - 5703, 6652, 3234, 1507, 3232, 4791, 3229, 8899, 8635, 7901, 7901, 7901, 7894, 7901, 7901, 7901, 7901, - 7901, 8642, 7901, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 8639, 1, 1, 1, 1, 1, 1, 1, 1677, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8899, 8910, 1709, 836, - 337, 9107, 1, 36, 8813, 8810, 8899, 1, 1, 1179, 494, 8899, 3237, 9235, 6626, 2835, 2653, 2787, 3225, - 5703, 6652, 3234, 1507, 3232, 4791, 3229, 8899, 8635, 7901, 7901, 7901, 7894, 7901, 7901, 7901, 7901, - 7901, 8642, 7901, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 8639, 1, 1, 1, 1, 1, 1, 1, 8418, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8899, 8910, 1709, 836, - 8899, 9107, 1, 141, 326, 1660, 1660, 1, 1, 1179, 8899, 631, 3237, 8899, 1769, 2835, 2653, 2787, 3225, - 5703, 121, 3234, 1507, 3232, 4791, 3229, 8899, 8424, 8424, 8424, 8424, 8424, 8424, 8424, 8424, 8424, - 8424, 8424, 8424, 8899, 7920, 7916, 4619, 7913, 8343, 8349, 8346, 826, 1156, 8352, 1177, 8352, 2394, - 8424, 8424, 8899, 8424, 8424, 8424, 8424, 8424, 8424, 8424, 8424, 8424, 8424, 8424, 8899, 8424, 8424, - 8424, 8424, 8424, 8899, 7920, 7916, 4619, 7913, 8343, 8349, 8346, 826, 1156, 8412, 146, 8412, 879, 958, - 7131, 38, 8361, 8358, 8424, 8424, 159, 328, 8424, 8355, 1156, 8424, 8424, 8424, 8424, 879, 958, 8424, - 8424, 8424, 2845, 8424, 8424, 583, 323, 8137, 8137, 3589, 318, 957, 848, 923, 626, 7110, 8424, 8424, - 8424, 8424, 8424, 8424, 8424, 8424, 8424, 8424, 8424, 8424, 8424, 8424, 8424, 8424, 8424, 8424, 8424, - 8424, 8424, 8424, 8424, 8424, 8424, 8424, 9524, 3589, 5276, 8899, 8424, 8424, 8424, 8899, 8501, 8501, - 8501, 8501, 8501, 8501, 8501, 8501, 8501, 8501, 8501, 8501, 1, 7920, 7916, 7910, 7913, 8899, 2574, 3636, - 7927, 7924, 8899, 8909, 5199, 4526, 8501, 8501, 7893, 8501, 8501, 8501, 8501, 8501, 8501, 8501, 8501, - 8501, 8501, 8501, 47, 8501, 8501, 8501, 8501, 8501, 760, 5903, 2495, 2416, 2337, 2258, 2179, 2100, 2021, - 1942, 1863, 1784, 8908, 1, 7920, 7916, 7910, 7913, 8899, 8501, 8501, 7927, 7924, 8501, 8899, 7026, 8501, - 8501, 8501, 8501, 7047, 1, 8501, 8501, 8501, 8903, 8501, 8501, 366, 7907, 7904, 4619, 1813, 957, 848, - 923, 826, 1156, 909, 8501, 8501, 8501, 8501, 8501, 8501, 8501, 8501, 8501, 8501, 8501, 8501, 8501, 8501, - 8501, 8501, 8501, 8501, 8501, 8501, 8501, 8501, 8501, 8501, 8501, 8501, 8899, 8913, 8914, 8899, 8501, - 8501, 8501, 39, 7907, 7904, 6318, 1813, 957, 848, 923, 4236, 1156, 2445, 9447, 2524, 1071, 9565, 9566, - 9198, 9196, 9205, 9204, 9200, 9201, 9199, 9202, 9203, 9206, 9197, 9271, 9272, 6890, 9567, 9193, 9187, - 9194, 9190, 9166, 9192, 9191, 9188, 9189, 9167, 8918, 2366, 2287, 3323, 2603, 405, 2208, 1833, 2026, - 8920, 1970, 6725, 1996, 403, 8921, 8919, 1572, 8915, 8916, 8917, 6698, 9333, 4751, 9334, 9335, 37, 8427, - 8427, 8902, 5711, 1711, 1731, 8899, 8437, 8437, 263, 8433, 7901, 7901, 7901, 263, 263, 263, 8441, 263, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8899, 8899, 8194, - 8191, 2094, 263, 8935, 1, 7920, 7916, 5568, 7913, 1525, 8430, 632, 826, 1156, 2482, 8645, 8899, 1579, 1, - 1, 1, 1, 133, 8899, 4075, 837, 7240, 9347, 5084, 333, 8913, 8914, 263, 257, 957, 848, 923, 452, 7945, - 7939, 7942, 8899, 7907, 7904, 8899, 8937, 9435, 9565, 9566, 9198, 9196, 9205, 9204, 9200, 9201, 9199, - 9202, 9203, 9206, 9197, 7954, 7951, 8899, 7948, 7960, 7978, 7957, 7969, 7936, 7963, 7966, 7975, 7972, - 7933, 1677, 5711, 1711, 475, 8648, 9370, 9371, 9372, 8899, 8437, 8437, 263, 8433, 7901, 7901, 7901, 263, - 263, 263, 8549, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 4565, 480, 8415, 8415, 263, 8415, 8415, 8415, 8415, 493, 8504, 8415, 8430, 8415, 5770, 39, 8899, - 8913, 8914, 8937, 1, 1, 1, 1, 826, 1156, 4075, 837, 8899, 9347, 619, 333, 8899, 2801, 263, 570, 957, - 848, 923, 451, 8687, 8681, 8684, 8899, 7907, 7904, 2470, 8937, 9435, 9565, 9566, 9198, 9196, 9205, 9204, - 9200, 9201, 9199, 9202, 9203, 9206, 9197, 9271, 9272, 8899, 9567, 9193, 9187, 9194, 9190, 9166, 9192, - 9191, 9188, 9189, 9167, 9370, 9371, 9372, 8421, 8906, 9370, 9371, 9372, 8899, 7901, 7901, 263, 7901, - 7894, 7901, 7901, 263, 263, 263, 7930, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 13025, 1, 13044, 1, 1, 13756, 1, 8899, 37, 481, 8678, 8678, 263, 8672, 8663, 8669, 8666, 665, 8911, - 8675, 7898, 8675, 957, 848, 923, 8899, 8913, 8914, 1, 1, 1, 1, 3581, 258, 3958, 836, 8911, 9144, 7993, - 7987, 7990, 1, 7920, 7916, 4619, 7913, 8899, 253, 259, 826, 1156, 118, 348, 8041, 8035, 8038, 9435, 957, - 848, 923, 8002, 7999, 8935, 7996, 8008, 8026, 8005, 8017, 7984, 8011, 8014, 8023, 8020, 7981, 8910, - 8050, 8047, 8899, 8044, 8056, 8074, 8053, 8065, 8032, 8059, 8062, 8071, 8068, 8029, 8899, 3687, 8899, - 8910, 1892, 1127, 253, 8899, 7901, 7901, 263, 7901, 7894, 7901, 7901, 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, 1, 13025, 1, 13044, 1, 1, 13756, 1, 383, 8899, 608, - 9508, 260, 263, 8872, 8880, 8876, 8101, 8095, 8098, 8884, 7898, 8899, 8489, 8486, 37, 8427, 8427, 2090, - 1, 1, 1, 1, 8427, 8899, 3958, 836, 9509, 9144, 8110, 8107, 8899, 8104, 8116, 8134, 8113, 8125, 8092, - 8119, 8122, 8131, 8128, 8089, 261, 8899, 8884, 8899, 9435, 8152, 8146, 8149, 544, 8899, 8834, 8834, - 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8834, 8899, 8834, 2016, 8935, 139, 1677, 1919, 8161, 8158, - 8884, 8155, 8167, 8185, 8164, 8176, 8143, 8170, 8173, 8182, 8179, 8140, 343, 2394, 254, 8899, 7901, - 7901, 263, 7901, 7894, 7901, 7901, 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, 1, 13025, 1, 13044, 1, 1, 13756, 1, 8834, 431, 8899, 5972, 650, 263, 957, 848, 923, 8209, - 8203, 8206, 91, 7898, 39, 8498, 606, 1, 8937, 1298, 5738, 1, 1, 1, 1, 1180, 8899, 3958, 836, 4755, 9144, - 8218, 8215, 337, 8212, 8224, 8242, 8221, 8233, 8200, 8227, 8230, 8239, 8236, 8197, 1382, 9235, 4000, - 5839, 9435, 8899, 7901, 7901, 263, 7901, 7894, 7901, 7901, 263, 263, 263, 8540, 263, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13025, 1, 13044, 1, 1, 13756, 1, 8899, 1758, 92, 8762, - 8762, 263, 8762, 8762, 8762, 8762, 1076, 431, 8762, 7898, 8762, 424, 957, 848, 923, 145, 8899, 1, 1, 1, - 1, 432, 8899, 3958, 836, 423, 9144, 1, 8624, 8624, 8899, 8771, 8343, 8349, 8346, 8899, 254, 366, 398, - 366, 8899, 8905, 9370, 9371, 9372, 9435, 8899, 7901, 7901, 263, 7901, 7894, 7901, 7901, 263, 263, 263, - 8540, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13025, 1, 13044, 1, 1, 13756, - 1, 1278, 5276, 659, 8388, 8388, 263, 664, 957, 848, 923, 5595, 879, 958, 7898, 398, 2554, 8899, 8904, - 371, 2004, 2934, 1, 1, 1, 1, 8899, 29, 3958, 836, 39, 9144, 5199, 4526, 8937, 957, 848, 923, 654, 398, - 366, 254, 366, 957, 848, 923, 8783, 8780, 629, 8777, 9435, 8899, 7901, 7901, 263, 7901, 7894, 7901, - 7901, 263, 263, 263, 8540, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13025, 1, - 13044, 1, 1, 13756, 1, 4160, 1278, 95, 8858, 8858, 263, 8852, 8843, 8849, 8846, 662, 460, 8855, 7898, - 8855, 8510, 8516, 8513, 371, 393, 551, 1, 1, 1, 1, 8899, 431, 3958, 836, 2235, 9144, 957, 848, 923, 190, - 137, 8905, 430, 8086, 8086, 254, 318, 8077, 8083, 8080, 9271, 9272, 8899, 9567, 9435, 8899, 7901, 7901, - 263, 7901, 7894, 7901, 7901, 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, 1, 13025, 1, 13044, 1, 1, 13756, 1, 318, 1278, 1098, 271, 571, 263, 8654, 8899, 8904, 8696, - 8690, 8693, 8899, 7898, 144, 5116, 2700, 879, 958, 8899, 485, 1, 1, 1, 1, 48, 9291, 3958, 836, 8914, - 9144, 9271, 9272, 142, 9567, 9193, 9187, 9194, 9190, 9166, 9192, 9191, 9188, 9189, 9167, 43, 8495, 8495, - 4343, 9435, 8899, 7901, 7901, 263, 7901, 7894, 7901, 7901, 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, 1, 13025, 1, 13044, 1, 1, 13756, 1, 8914, 6978, 3174, 7215, 572, - 263, 879, 958, 8492, 8705, 8699, 8702, 8899, 7898, 640, 6250, 8899, 156, 8899, 2403, 397, 1, 1, 1, 1, - 879, 958, 3958, 836, 8905, 9144, 9271, 9272, 639, 9567, 9193, 9187, 9194, 9190, 9166, 9192, 9191, 9188, - 9189, 9167, 8899, 13519, 13519, 8899, 9435, 8899, 7901, 7901, 263, 7901, 7894, 7901, 7901, 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, 1, 13025, 1, 13044, 1, 1, - 13756, 1, 3250, 8904, 1272, 120, 573, 263, 879, 958, 8935, 8714, 8708, 8711, 653, 7898, 8899, 8899, - 8899, 957, 848, 923, 320, 1, 1, 1, 1, 879, 958, 3958, 836, 4387, 9144, 9271, 9272, 125, 9567, 9193, - 9187, 9194, 9190, 9166, 9192, 9191, 9188, 9189, 9167, 1892, 1127, 8899, 8899, 9435, 8899, 7901, 7901, - 263, 7901, 7894, 7901, 7901, 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, 1, 13025, 1, 13044, 1, 1, 13756, 1, 3272, 366, 9218, 119, 574, 263, 8525, 8531, 8528, 8723, - 8717, 8720, 8899, 7898, 139, 6317, 8899, 8899, 1, 6999, 8899, 1, 1, 1, 1, 879, 958, 3958, 836, 398, - 9144, 9271, 9272, 8899, 9567, 9193, 9187, 9194, 9190, 9166, 9192, 9191, 9188, 9189, 9167, 1892, 1127, - 8899, 8899, 9435, 8899, 7901, 7901, 263, 7901, 7894, 7901, 7901, 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, 1, 13025, 1, 13044, 1, 1, 13756, 1, 8899, 398, 6978, 3245, - 3619, 263, 1, 7920, 7916, 4619, 7913, 8909, 158, 7898, 826, 1156, 8899, 3273, 8899, 6413, 8899, 1, 1, 1, - 1, 398, 124, 3958, 836, 8905, 9144, 4000, 5839, 3196, 3147, 3098, 3049, 3000, 2951, 2902, 2853, 2803, - 2754, 45, 8735, 8735, 8908, 8899, 542, 9435, 8899, 7901, 7901, 263, 7901, 7894, 7901, 7901, 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, 1, 13025, 1, 13044, 1, 1, - 13756, 1, 797, 8904, 8899, 8899, 3274, 263, 8732, 8899, 1, 7920, 7916, 5568, 7913, 7898, 8907, 1704, - 826, 1156, 879, 958, 8899, 1, 1, 1, 1, 4265, 661, 3958, 836, 366, 9144, 957, 848, 923, 957, 848, 923, - 6254, 1, 7920, 7916, 3520, 1813, 8899, 456, 8899, 4236, 1156, 2445, 9435, 2524, 8444, 8483, 8480, 8471, - 8477, 8450, 8453, 8465, 8462, 8468, 8459, 8456, 8447, 8474, 1, 8899, 5647, 1, 7920, 7916, 4619, 7913, - 8343, 8349, 8346, 826, 1156, 1677, 8918, 2366, 2287, 3323, 2603, 8906, 2208, 1833, 2026, 8920, 1970, - 6725, 1996, 8899, 8921, 8919, 1572, 8915, 8916, 8917, 6698, 1, 7920, 7916, 4619, 7913, 8343, 8349, 8346, - 826, 1156, 1731, 1, 1, 552, 3937, 39, 39, 1, 7920, 7916, 8621, 7913, 8645, 8373, 3737, 8582, 7924, 8570, - 8911, 8573, 8444, 8483, 8480, 8471, 8477, 8450, 8453, 8465, 8462, 8468, 8459, 8456, 8447, 8474, 3589, - 8899, 8552, 1, 7920, 7916, 4619, 7913, 8343, 8349, 8346, 826, 1156, 8899, 8594, 8567, 8564, 8579, 8576, - 9293, 8561, 8609, 8618, 8588, 8612, 8558, 8615, 152, 8585, 8591, 8606, 8603, 8600, 8597, 8555, 8910, 1, - 1677, 8899, 4638, 8910, 8648, 8899, 8899, 39, 7907, 7904, 6318, 1813, 8534, 8624, 8624, 4236, 1156, - 2445, 8890, 2524, 1563, 9565, 9566, 9198, 9196, 9205, 9204, 9200, 9201, 9199, 9202, 9203, 9206, 9197, - 8899, 326, 5647, 8899, 7907, 7904, 5837, 1813, 3589, 48, 136, 826, 1156, 8913, 8918, 2366, 2287, 3323, - 2603, 3188, 2208, 1833, 2026, 8920, 1970, 6725, 1996, 8537, 8921, 8919, 1572, 8915, 8916, 8917, 6698, - 8899, 7907, 7904, 4830, 1813, 8522, 441, 1, 826, 1156, 1731, 9390, 39, 7907, 7904, 6318, 1813, 8543, - 8911, 8906, 4236, 1156, 2445, 8519, 2524, 1563, 9565, 9566, 9198, 9196, 9205, 9204, 9200, 9201, 9199, - 9202, 9203, 9206, 9197, 10894, 8913, 5647, 662, 7907, 7904, 4619, 1813, 957, 848, 923, 826, 1156, 8546, - 8918, 2366, 2287, 3323, 2603, 462, 2208, 1833, 2026, 8920, 1970, 6725, 1996, 8899, 8921, 8919, 1572, - 8915, 8916, 8917, 6698, 8910, 655, 410, 8909, 4458, 8522, 957, 848, 923, 8899, 1731, 174, 7907, 7904, - 6318, 1813, 154, 100, 8899, 4236, 1156, 2445, 8899, 2524, 1563, 9565, 9566, 9198, 9196, 9205, 9204, - 9200, 9201, 9199, 9202, 9203, 9206, 9197, 8908, 8899, 5647, 660, 8385, 8385, 453, 664, 8376, 8382, 8379, - 957, 848, 923, 8918, 2366, 2287, 3323, 2603, 1824, 2208, 1833, 2026, 8920, 1970, 6725, 1996, 5005, 8921, - 8919, 1572, 8915, 8916, 8917, 6698, 8899, 380, 39, 39, 3937, 8937, 957, 848, 923, 1, 1731, 366, 8899, - 366, 8786, 39, 39, 614, 7907, 7904, 6318, 1813, 664, 8905, 9376, 4236, 1156, 2445, 1, 2524, 1563, 9565, - 9566, 9198, 9196, 9205, 9204, 9200, 9201, 9199, 9202, 9203, 9206, 9197, 1, 4499, 5647, 37, 8427, 8427, - 765, 3581, 957, 848, 923, 8909, 8899, 366, 8918, 2366, 2287, 3323, 2603, 765, 2208, 1833, 2026, 8920, - 1970, 6725, 1996, 1677, 8921, 8919, 1572, 8915, 8916, 8917, 6698, 8899, 7907, 7904, 727, 1813, 8899, - 1628, 8904, 8507, 1156, 1731, 8908, 8899, 3631, 8899, 39, 39, 1, 7920, 7916, 3520, 1813, 8935, 8905, - 8899, 4236, 1156, 2445, 582, 2524, 8444, 8483, 8480, 8471, 8477, 8450, 8453, 8465, 8462, 8468, 8459, - 8456, 8447, 8474, 8899, 8899, 5647, 8899, 7907, 7904, 1, 1813, 8899, 3588, 1048, 8507, 1156, 8899, 8918, - 2366, 2287, 3323, 2603, 148, 2208, 1833, 2026, 8920, 1970, 6725, 1996, 5304, 8921, 8919, 1572, 8915, - 8916, 8917, 6698, 37, 8427, 8427, 8899, 8806, 8802, 657, 8904, 8899, 99, 1731, 8816, 8822, 8819, 8899, - 39, 39, 39, 7907, 7904, 6318, 1813, 1511, 8899, 8899, 4236, 1156, 2445, 8519, 2524, 1563, 9565, 9566, - 9198, 9196, 9205, 9204, 9200, 9201, 9199, 9202, 9203, 9206, 9197, 1278, 1847, 5647, 2, 1, 3690, 5276, - 3937, 1, 8899, 1609, 3937, 5905, 8935, 8918, 2366, 2287, 3323, 2603, 376, 2208, 1833, 2026, 8920, 1970, - 6725, 1996, 3581, 8921, 8919, 1572, 8915, 8916, 8917, 6698, 8840, 5199, 4526, 1, 8899, 8522, 8899, 5917, - 100, 1626, 1731, 39, 7907, 7904, 6318, 1813, 8534, 8905, 218, 4236, 1156, 2445, 8903, 2524, 1563, 9565, - 9566, 9198, 9196, 9205, 9204, 9200, 9201, 9199, 9202, 9203, 9206, 9197, 8899, 1677, 5647, 6039, 576, - 1677, 576, 8899, 376, 376, 376, 8899, 14804, 14755, 8918, 2366, 2287, 3323, 2603, 3188, 2208, 1833, - 2026, 8920, 1970, 6725, 1996, 8537, 8921, 8919, 1572, 8915, 8916, 8917, 6698, 39, 7907, 7904, 6318, - 1813, 8786, 1, 8904, 4236, 1156, 2445, 8519, 2524, 1563, 9565, 9566, 9198, 9196, 9205, 9204, 9200, 9201, - 9199, 9202, 9203, 9206, 9197, 656, 8899, 5647, 8935, 454, 8825, 8831, 8828, 8899, 957, 848, 923, 8905, - 147, 8918, 2366, 2287, 3323, 2603, 8899, 2208, 1833, 2026, 8920, 1970, 6725, 1996, 138, 8921, 8919, - 1572, 8915, 8916, 8917, 6698, 1, 649, 134, 8902, 8899, 8522, 39, 7907, 7904, 6318, 1813, 224, 8627, - 8893, 4236, 1156, 2445, 123, 2524, 1563, 9565, 9566, 9198, 9196, 9205, 9204, 9200, 9201, 9199, 9202, - 9203, 9206, 9197, 8899, 8899, 5647, 8899, 8899, 8899, 6315, 8904, 6106, 4189, 73, 5276, 8907, 224, 8918, - 2366, 2287, 3323, 2603, 8899, 2208, 1833, 2026, 8920, 1970, 6725, 1996, 3294, 8921, 8919, 1572, 8915, - 8916, 8917, 6698, 8631, 39, 7907, 7904, 6318, 1813, 5199, 4526, 1670, 4236, 1156, 2445, 5904, 2524, - 1563, 9565, 9566, 9198, 9196, 9205, 9204, 9200, 9201, 9199, 9202, 9203, 9206, 9197, 4343, 8899, 5647, - 1180, 879, 958, 2483, 8899, 4565, 8899, 6340, 1245, 8905, 8869, 8918, 2366, 2287, 3323, 2603, 8906, - 2208, 1833, 2026, 8920, 1970, 6725, 1996, 8899, 8921, 8919, 1572, 8915, 8916, 8917, 6698, 2, 3471, 132, - 39, 7907, 7904, 3520, 1813, 8899, 8899, 1731, 4236, 1156, 2445, 4717, 2524, 1563, 9565, 9566, 9198, - 9196, 9205, 9204, 9200, 9201, 9199, 9202, 9203, 9206, 9197, 1, 638, 5647, 8899, 103, 8899, 6759, 8837, - 636, 8899, 8904, 194, 8738, 8899, 8918, 2366, 2287, 3323, 2603, 8746, 2208, 1833, 2026, 8920, 1970, - 6725, 1996, 8899, 8921, 8919, 1572, 8915, 8916, 8917, 6698, 8899, 37, 8899, 39, 7907, 7904, 3520, 1813, - 8899, 8899, 1731, 4236, 1156, 2445, 8899, 2524, 1563, 9565, 9566, 9198, 9196, 9205, 9204, 9200, 9201, - 9199, 9202, 9203, 9206, 9197, 1, 87, 5647, 8742, 8899, 8899, 8899, 6319, 8899, 194, 8750, 196, 8754, - 8899, 8918, 2366, 2287, 3323, 2603, 8899, 2208, 1833, 2026, 8920, 1970, 6725, 1996, 8899, 8921, 8919, - 1572, 8915, 8916, 8917, 6698, 8899, 8899, 8899, 39, 7907, 7904, 6318, 1813, 8899, 8899, 1731, 4236, - 1156, 2445, 8899, 2524, 1563, 9565, 9566, 9198, 9196, 9205, 9204, 9200, 9201, 9199, 9202, 9203, 9206, - 9197, 1, 1, 5647, 8758, 8899, 8899, 8899, 1326, 8899, 196, 313, 590, 8905, 8887, 8918, 2366, 2287, 3323, - 2603, 3373, 2208, 1833, 2026, 8920, 1970, 6725, 1996, 546, 8921, 8919, 1572, 8915, 8916, 8917, 6698, - 8899, 8899, 8899, 39, 7907, 7904, 5735, 1813, 8899, 122, 1731, 4236, 1156, 2445, 8899, 2524, 1563, 9565, - 9566, 9198, 9196, 9205, 9204, 9200, 9201, 9199, 9202, 9203, 9206, 9197, 8, 103, 5647, 8899, 8837, 8899, - 7661, 8899, 8899, 590, 8904, 8896, 1, 8899, 8918, 2366, 2287, 3323, 2603, 3422, 2208, 1833, 2026, 8920, - 1970, 6725, 1996, 8899, 8921, 8919, 1572, 8915, 8916, 8917, 6698, 39, 7907, 7904, 5885, 1813, 8899, - 8899, 722, 4236, 1156, 2445, 8899, 2524, 1563, 9565, 9566, 9198, 9196, 9205, 9204, 9200, 9201, 9199, - 9202, 9203, 9206, 9197, 879, 958, 5647, 8899, 755, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, - 8918, 2366, 2287, 3323, 2603, 8896, 2208, 1833, 2026, 8920, 1970, 6725, 1996, 8899, 8921, 8919, 1572, - 8915, 8916, 8917, 6698, 39, 7907, 7904, 6204, 1813, 8899, 8899, 8899, 4236, 1156, 2445, 8899, 2524, - 1563, 9565, 9566, 9198, 9196, 9205, 9204, 9200, 9201, 9199, 9202, 9203, 9206, 9197, 8899, 8899, 5647, - 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8918, 2366, 2287, 3323, 2603, 8899, - 2208, 1833, 2026, 8920, 1970, 6725, 1996, 8899, 8921, 8919, 1572, 8915, 8916, 8917, 6698, 39, 7907, - 7904, 6251, 1813, 8899, 8899, 8899, 4236, 1156, 2445, 8899, 2524, 1563, 9565, 9566, 9198, 9196, 9205, - 9204, 9200, 9201, 9199, 9202, 9203, 9206, 9197, 8899, 8899, 5647, 8899, 8899, 8899, 8899, 8899, 8899, - 8899, 8899, 8899, 8899, 8899, 8918, 2366, 2287, 3323, 2603, 8899, 2208, 1833, 2026, 8920, 1970, 6725, - 1996, 8899, 8921, 8919, 1572, 8915, 8916, 8917, 6698, 39, 7907, 7904, 6318, 1813, 8899, 8899, 8899, - 4236, 1156, 2445, 8899, 2524, 1563, 9565, 9566, 9198, 9196, 9205, 9204, 9200, 9201, 9199, 9202, 9203, - 9206, 9197, 8899, 8899, 5647, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8918, - 2366, 2287, 3323, 2603, 8899, 2208, 1833, 2026, 8920, 1970, 6725, 1996, 8899, 8921, 8919, 1572, 8915, - 8916, 8917, 6698, 39, 7907, 7904, 7484, 1813, 8899, 8899, 8899, 4236, 1156, 2445, 8899, 2524, 1563, - 9565, 9566, 9198, 9196, 9205, 9204, 9200, 9201, 9199, 9202, 9203, 9206, 9197, 8899, 8899, 5647, 8899, - 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8918, 2366, 2287, 3323, 2603, 8899, 2208, - 1833, 2026, 8920, 1970, 6725, 1996, 8899, 8921, 8919, 1572, 8915, 8916, 8917, 6698, 39, 7907, 7904, - 3520, 1813, 8899, 8899, 8899, 4236, 1156, 2445, 8899, 2524, 1563, 9565, 9566, 9198, 9196, 9205, 9204, - 9200, 9201, 9199, 9202, 9203, 9206, 9197, 8899, 8899, 5647, 8899, 8899, 8899, 8899, 8899, 8899, 8899, - 8899, 8899, 8899, 8899, 8918, 2366, 2287, 3323, 2603, 8899, 2208, 1833, 2026, 8920, 1970, 6725, 1996, - 8899, 8921, 8919, 1572, 8915, 8916, 8917, 6698, 39, 7907, 7904, 3520, 1813, 8899, 8899, 8899, 4236, - 1156, 2445, 8899, 2524, 1563, 9565, 9566, 9198, 9196, 9205, 9204, 9200, 9201, 9199, 9202, 9203, 9206, - 9197, 8899, 8899, 5647, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8918, 2366, - 2287, 3323, 2603, 8899, 2208, 1833, 2026, 8920, 1970, 6725, 1996, 8899, 8921, 8919, 1572, 8915, 8916, - 8917, 6698, 39, 7907, 7904, 6318, 1813, 8899, 8899, 8899, 4236, 1156, 2445, 8899, 2524, 1563, 9565, - 9566, 9198, 9196, 9205, 9204, 9200, 9201, 9199, 9202, 9203, 9206, 9197, 1, 8899, 5647, 1730, 8899, 8899, - 8899, 8899, 9404, 8899, 9398, 8899, 9402, 8899, 8918, 2366, 2287, 3323, 2603, 8899, 2208, 1833, 2026, - 8920, 1970, 6725, 1996, 8899, 8921, 8919, 1572, 8915, 8916, 8917, 6698, 8899, 8899, 8899, 8899, 8899, - 8899, 8899, 9396, 9397, 9427, 9428, 8899, 9405, 8899, 8899, 380, 7907, 7904, 5568, 1813, 957, 848, 923, - 826, 1156, 366, 8899, 366, 8899, 8899, 8899, 9407, 8899, 8899, 8899, 1062, 8899, 8899, 9429, 8899, 9408, - 8899, 2239, 2263, 8899, 9406, 8899, 8899, 9418, 9417, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, - 8899, 8899, 8899, 9423, 9424, 8899, 9430, 9421, 9422, 9401, 9403, 9425, 8899, 9399, 9400, 9426, 8899, - 9411, 9412, 9413, 9409, 9410, 9419, 9420, 9415, 9414, 9416, 1677, 8899, 8899, 8899, 7907, 7904, 9431, - 8937, 957, 848, 923, 8899, 8899, 8899, 8899, 8899, 810, 9565, 9566, 9198, 9196, 9205, 9204, 9200, 9201, - 9199, 9202, 9203, 9206, 9197, 9271, 9272, 5243, 9567, 9193, 9187, 9194, 9190, 9166, 9192, 9191, 9188, - 9189, 9167, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 275, 8336, 8332, - 8899, 8340, 8257, 8251, 8254, 8899, 9333, 4751, 9334, 9335, 810, 8329, 8326, 8317, 8323, 8296, 8299, - 8311, 8308, 8314, 8305, 8302, 8293, 8320, 8266, 8263, 5243, 8260, 8272, 8290, 8269, 8281, 8248, 8275, - 8278, 8287, 8284, 8245, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, - 8913, 8914, 8899, 8899, 957, 848, 923, 8899, 9333, 4751, 9334, 9335, 1655, 9565, 9566, 9198, 9196, 9205, - 9204, 9200, 9201, 9199, 9202, 9203, 9206, 9197, 9271, 9272, 8899, 9567, 9193, 9187, 9194, 9190, 9166, - 9192, 9191, 9188, 9189, 9167, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, - 275, 8729, 8726, 8899, 8899, 8257, 8251, 8254, 8899, 9333, 4751, 9334, 9335, 1655, 8329, 8326, 8317, - 8323, 8296, 8299, 8311, 8308, 8314, 8305, 8302, 8293, 8320, 8266, 8263, 8899, 8260, 8272, 8290, 8269, - 8281, 8248, 8275, 8278, 8287, 8284, 8245, 29, 423, 423, 8660, 423, 423, 423, 423, 423, 423, 8660, 8660, - 8660, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 9333, 4751, 9334, 9335, 8899, 8899, 423, 423, - 8899, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 8899, 8899, 8899, 126, 8899, 8660, 8899, - 638, 649, 649, 649, 649, 649, 649, 649, 649, 649, 8866, 8861, 8866, 8899, 8899, 8899, 8899, 8899, 8370, - 8899, 8899, 8899, 8660, 8899, 8899, 8899, 8660, 649, 649, 8899, 649, 649, 649, 649, 649, 649, 649, 649, - 649, 649, 649, 8899, 8899, 8899, 128, 8899, 8866, 8899, 32, 424, 424, 8657, 424, 424, 424, 424, 424, - 424, 8657, 8657, 8657, 8899, 5541, 8899, 8899, 8899, 8899, 8522, 8899, 8899, 649, 8651, 8899, 8899, - 8866, 424, 424, 8899, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 8899, 8899, 8899, 5487, - 5460, 8657, 8899, 637, 648, 648, 648, 648, 648, 648, 648, 648, 648, 8774, 8774, 8774, 8899, 5541, 8899, - 8899, 8899, 8899, 8899, 5433, 5406, 8657, 8796, 8899, 8899, 8657, 648, 648, 8899, 648, 648, 648, 648, - 648, 648, 648, 648, 648, 648, 648, 8899, 8899, 8899, 5487, 5460, 8774, 8899, 37, 8914, 8914, 8914, 8914, - 8914, 8914, 8914, 8899, 8899, 8914, 8899, 8914, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 5433, 5406, - 648, 8899, 8899, 8899, 8774, 8914, 8914, 8899, 8914, 8914, 8914, 8914, 8914, 8914, 8914, 8914, 8914, - 8914, 8914, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 37, 8913, 8913, 8913, 8913, 8913, 8913, - 8913, 8899, 8899, 8913, 127, 8913, 8899, 1, 7920, 7916, 5568, 7913, 8899, 8899, 8914, 826, 1156, 8914, - 402, 8914, 8913, 8913, 8899, 8913, 8913, 8913, 8913, 8913, 8913, 8913, 8913, 8913, 8913, 8913, 344, - 7920, 7916, 4619, 7913, 8343, 8349, 8346, 826, 1156, 8352, 8899, 8352, 8899, 7920, 7916, 4619, 7913, - 8343, 8349, 8346, 826, 1156, 8412, 75, 8412, 8899, 8403, 8899, 8913, 8899, 8899, 8913, 8899, 8913, 8899, - 5541, 8899, 8899, 8899, 8899, 8899, 8899, 1677, 8899, 8799, 402, 402, 402, 8899, 8899, 8899, 8899, 1458, - 1, 7920, 7916, 4619, 7913, 8343, 8349, 8346, 826, 1156, 8899, 344, 5487, 5460, 8394, 8391, 8899, 402, - 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, - 8899, 5433, 5406, 8899, 8899, 8406, 8899, 8899, 8899, 8899, 8899, 344, 8899, 8899, 8899, 8899, 8899, - 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, - 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, - 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8899, 8397, 8899, 8400 }; - } - - public final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[index]; - } - - public interface Asb { - public final static char asb[] = { 0, 1315, 1, 1306, 11, 287, 1353, 687, 687, 687, 1262, 8, 870, 1314, 94, 853, - 736, 1177, 736, 736, 736, 1190, 200, 1190, 867, 1190, 878, 1190, 1190, 94, 856, 1190, 1171, 814, 3, - 1353, 1250, 1109, 1190, 1190, 19, 856, 1190, 856, 736, 750, 103, 103, 424, 103, 637, 200, 872, 326, 872, - 856, 854, 14, 734, 527, 1046, 98, 869, 533, 867, 198, 94, 878, 259, 856, 856, 685, 96, 814, 814, 814, - 814, 814, 814, 814, 814, 814, 814, 1111, 814, 1048, 736, 750, 750, 750, 750, 94, 736, 1190, 557, 557, - 634, 571, 203, 203, 1253, 758, 633, 1250, 1250, 856, 932, 528, 259, 259, 1190, 470, 528, 1190, 1190, - 750, 1190, 856, 683, 960, 114, 103, 103, 102, 102, 200, 94, 856, 854, 692, 546, 691, 347, 527, 733, 528, - 98, 856, 554, 1163, 552, 685, 200, 538, 856, 259, 685, 856, 679, 1048, 1048, 1048, 1048, 1002, 286, 683, - 1190, 528, 528, 528, 774, 939, 793, 793, 287, 287, 287, 287, 856, 483, 531, 531, 483, 813, 557, 200, 94, - 571, 426, 1250, 1190, 856, 813, 1068, 1250, 571, 679, 1190, 1190, 259, 259, 1253, 470, 470, 854, 960, - 114, 102, 102, 102, 856, 634, 634, 14, 634, 1364, 1046, 950, 949, 526, 541, 856, 98, 1161, 870, 750, - 852, 1367, 98, 554, 553, 557, 554, 557, 685, 538, 538, 856, 424, 289, 85, 591, 596, 593, 1048, 401, 399, - 406, 404, 408, 407, 409, 473, 410, 423, 856, 96, 856, 528, 528, 528, 528, 470, 286, 813, 1190, 775, - 1253, 956, 211, 210, 689, 600, 598, 607, 605, 609, 608, 610, 611, 696, 1196, 1196, 94, 1111, 814, 528, - 528, 424, 424, 424, 424, 685, 528, 813, 853, 855, 853, 528, 470, 200, 738, 856, 736, 470, 624, 1250, - 1257, 528, 541, 200, 1250, 571, 1260, 1190, 424, 424, 1190, 528, 215, 935, 214, 423, 750, 333, 333, 541, - 541, 102, 856, 857, 528, 347, 528, 482, 528, 528, 683, 1369, 557, 557, 557, 557, 856, 538, 540, 742, - 540, 59, 72, 72, 72, 72, 54, 94, 814, 814, 814, 814, 814, 814, 814, 747, 814, 814, 814, 814, 814, 814, - 814, 814, 814, 814, 814, 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, 814, 793, 679, - 1190, 1190, 1190, 1069, 814, 287, 1190, 1190, 528, 774, 1161, 814, 1161, 634, 773, 736, 736, 736, 775, - 736, 856, 887, 634, 634, 856, 200, 939, 528, 958, 960, 813, 814, 814, 814, 814, 814, 814, 814, 814, 814, - 814, 814, 814, 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, 1116, 814, 856, 683, 1200, 1048, - 736, 736, 736, 736, 856, 856, 856, 855, 683, 544, 94, 856, 483, 541, 1068, 1190, 1190, 561, 813, 212, - 212, 954, 1253, 219, 114, 103, 114, 422, 422, 541, 634, 528, 950, 854, 633, 814, 1161, 572, 752, 630, - 1369, 557, 557, 339, 540, 541, 814, 856, 856, 593, 593, 591, 591, 591, 814, 399, 399, 399, 596, 596, - 404, 401, 401, 407, 406, 408, 1161, 409, 528, 1190, 1253, 764, 775, 1161, 859, 775, 793, 793, 791, 773, - 793, 634, 634, 578, 772, 528, 960, 598, 598, 598, 598, 598, 598, 605, 600, 600, 608, 607, 609, 1161, - 1161, 610, 685, 854, 528, 813, 813, 813, 813, 736, 736, 96, 856, 854, 544, 528, 1068, 1190, 353, 561, - 813, 813, 958, 935, 114, 287, 287, 482, 634, 1369, 814, 814, 630, 630, 1369, 1369, 738, 149, 340, 856, - 541, 685, 862, 813, 1190, 1190, 1190, 813, 1190, 775, 814, 775, 528, 1250, 528, 791, 1353, 736, 528, - 544, 580, 528, 813, 813, 856, 363, 528, 528, 528, 528, 483, 483, 1312, 1190, 96, 765, 736, 540, 1190, - 564, 423, 630, 630, 339, 856, 94, 94, 856, 856, 1190, 483, 814, 470, 775, 578, 775, 634, 1353, 813, 775, - 772, 580, 580, 1233, 528, 528, 1312, 219, 1190, 154, 564, 324, 856, 856, 856, 1190, 528, 470, 813, 773, - 483, 634, 528, 583, 580, 528, 528, 1247, 1190, 1190, 736, 333, 856, 856, 775, 528, 634, 583, 583, 200, - 200, 1249, 961, 422, 775, 583, 950, 853, 287 }; - } - - public final static char asb[] = Asb.asb; - - @Override - public final int asb(int index) { - return asb[index]; - } - - public interface Asr { - public final static char asr[] = { 0, 129, 0, 11, 76, 67, 79, 0, 41, 54, 0, 3, 28, 0, 11, 76, 74, 41, 0, 29, 78, - 77, 42, 43, 106, 107, 102, 103, 8, 47, 80, 66, 113, 114, 110, 111, 112, 118, 117, 119, 84, 83, 115, 116, - 100, 101, 96, 97, 104, 108, 44, 45, 99, 126, 13, 63, 62, 64, 65, 17, 26, 16, 22, 20, 21, 23, 24, 19, 18, - 25, 14, 15, 32, 38, 39, 34, 37, 36, 31, 33, 27, 28, 30, 35, 40, 75, 73, 5, 12, 10, 6, 7, 3, 70, 1, 2, 4, - 0, 123, 124, 125, 76, 81, 9, 11, 3, 12, 10, 8, 46, 71, 68, 90, 69, 14, 15, 30, 5, 32, 16, 17, 62, 27, - 18, 63, 33, 34, 19, 35, 36, 20, 21, 37, 38, 22, 23, 39, 64, 54, 40, 13, 65, 24, 25, 28, 26, 29, 6, 7, 1, - 2, 4, 31, 0, 77, 78, 72, 44, 45, 12, 10, 42, 43, 8, 47, 52, 61, 29, 3, 4, 9, 58, 59, 60, 41, 56, 50, 55, - 14, 15, 17, 26, 16, 22, 20, 21, 23, 24, 19, 18, 25, 13, 49, 53, 51, 48, 57, 81, 1, 2, 67, 11, 0, 5, 79, - 76, 46, 67, 6, 7, 3, 70, 75, 80, 73, 11, 74, 98, 0, 14, 15, 30, 5, 32, 16, 17, 62, 27, 18, 63, 33, 34, - 19, 35, 36, 20, 21, 37, 38, 22, 23, 39, 64, 40, 13, 65, 24, 31, 25, 28, 26, 1, 2, 4, 29, 6, 7, 98, 0, - 48, 77, 49, 50, 78, 9, 51, 52, 53, 55, 72, 56, 57, 58, 59, 60, 41, 44, 45, 12, 10, 42, 43, 8, 47, 75, - 61, 3, 29, 4, 13, 1, 2, 63, 64, 65, 14, 15, 17, 26, 16, 22, 20, 21, 23, 24, 19, 18, 25, 32, 38, 39, 34, - 37, 36, 31, 33, 27, 28, 30, 5, 7, 6, 35, 40, 62, 0, 5, 11, 67, 6, 7, 80, 0, 75, 80, 73, 1, 2, 0, 31, 1, - 2, 4, 123, 124, 125, 0, 11, 73, 74, 1, 27, 0, 72, 79, 128, 126, 44, 45, 76, 98, 127, 81, 33, 34, 35, 36, - 37, 9, 38, 39, 40, 31, 28, 1, 2, 70, 3, 27, 32, 8, 4, 5, 30, 6, 7, 105, 99, 42, 43, 106, 107, 120, 121, - 10, 74, 46, 67, 11, 84, 83, 66, 96, 97, 100, 101, 12, 102, 103, 104, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 80, 73, 75, 0, 77, 78, 3, 13, 49, 53, 51, 48, 57, 17, 26, 16, 22, 20, 21, 23, - 24, 19, 18, 25, 14, 15, 58, 59, 60, 41, 56, 50, 55, 8, 9, 4, 44, 45, 12, 10, 42, 43, 47, 52, 61, 29, 1, - 2, 127, 11, 0, 5, 75, 76, 98, 127, 81, 46, 6, 7, 73, 14, 15, 16, 17, 48, 77, 18, 49, 50, 19, 20, 21, 78, - 9, 51, 22, 23, 52, 53, 55, 72, 56, 57, 13, 24, 25, 26, 58, 59, 60, 2, 3, 44, 45, 12, 10, 42, 43, 8, 47, - 4, 29, 61, 41, 1, 74, 11, 0, 9, 8, 54, 1, 2, 4, 0, 1, 2, 73, 81, 11, 0, 122, 0, 11, 76, 73, 74, 3, 0, 4, - 66, 6, 7, 5, 11, 76, 67, 0, 30, 27, 28, 72, 79, 75, 76, 98, 74, 67, 3, 5, 11, 73, 46, 6, 7, 80, 0, 30, - 27, 28, 72, 11, 75, 98, 80, 73, 74, 0, 105, 99, 10, 106, 107, 42, 43, 84, 83, 66, 96, 97, 120, 121, 100, - 101, 12, 102, 103, 104, 75, 74, 80, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 76, 98, 127, 81, - 108, 109, 6, 7, 5, 73, 46, 11, 0, 14, 15, 30, 32, 16, 17, 62, 27, 18, 63, 33, 90, 34, 19, 35, 36, 20, - 21, 37, 68, 38, 22, 23, 39, 64, 40, 13, 65, 24, 69, 31, 25, 28, 26, 3, 12, 4, 46, 29, 71, 67, 11, 5, 10, - 6, 7, 9, 8, 1, 2, 54, 0, 127, 46, 73, 74, 11, 76, 0, 14, 15, 30, 5, 32, 16, 17, 27, 18, 33, 34, 19, 35, - 36, 20, 21, 37, 9, 38, 22, 23, 39, 40, 24, 31, 25, 28, 26, 2, 70, 12, 10, 8, 4, 46, 6, 7, 1, 74, 11, 3, - 0, 11, 67, 73, 0, 11, 73, 81, 80, 0, 75, 96, 97, 66, 0, 76, 5, 70, 6, 7, 66, 11, 73, 46, 80, 3, 0, 74, - 90, 123, 124, 125, 54, 76, 129, 122, 130, 81, 71, 79, 69, 68, 85, 87, 94, 92, 82, 89, 91, 93, 95, 67, - 86, 88, 46, 11, 63, 62, 64, 65, 32, 38, 39, 34, 37, 36, 31, 33, 27, 28, 30, 5, 7, 6, 35, 40, 72, 77, 78, - 49, 53, 51, 48, 57, 3, 17, 26, 16, 22, 20, 21, 23, 24, 19, 18, 25, 14, 15, 58, 59, 60, 41, 56, 50, 55, - 44, 45, 12, 10, 42, 43, 47, 52, 61, 29, 13, 4, 9, 8, 2, 1, 0, 76, 98, 0, 74, 11, 84, 83, 0, 54, 4, 76, - 1, 2, 11, 67, 6, 7, 5, 0, 4, 11, 67, 6, 7, 5, 1, 2, 0, 14, 15, 16, 17, 48, 77, 18, 49, 50, 19, 20, 21, - 78, 9, 51, 22, 23, 52, 53, 55, 72, 56, 57, 13, 24, 25, 26, 58, 59, 60, 41, 1, 2, 3, 44, 45, 42, 43, 8, - 47, 4, 29, 61, 46, 11, 10, 12, 0, 98, 9, 8, 80, 75, 5, 1, 2, 12, 10, 4, 6, 7, 70, 3, 74, 11, 73, 0, 8, - 9, 3, 70, 10, 12, 98, 14, 15, 30, 5, 32, 16, 17, 62, 27, 18, 63, 33, 34, 19, 35, 36, 20, 21, 37, 38, 22, - 23, 39, 64, 40, 13, 65, 24, 31, 25, 28, 26, 1, 2, 4, 29, 6, 7, 74, 11, 0, 77, 78, 44, 45, 12, 10, 42, - 43, 8, 47, 52, 61, 29, 3, 4, 9, 58, 59, 60, 56, 50, 55, 14, 15, 17, 26, 16, 22, 20, 21, 23, 24, 19, 18, - 25, 13, 49, 53, 51, 48, 57, 70, 1, 2, 41, 0, 30, 5, 32, 62, 27, 63, 33, 34, 35, 36, 37, 38, 39, 64, 40, - 65, 31, 28, 6, 7, 72, 44, 45, 12, 10, 42, 43, 47, 52, 61, 29, 3, 4, 58, 59, 60, 41, 56, 50, 55, 14, 15, - 17, 26, 16, 22, 20, 21, 23, 24, 19, 18, 25, 13, 49, 53, 51, 48, 57, 67, 11, 9, 8, 1, 2, 78, 77, 0, 14, - 15, 16, 17, 48, 77, 18, 49, 50, 19, 20, 21, 78, 9, 51, 22, 23, 52, 53, 55, 72, 56, 57, 13, 24, 25, 26, - 58, 59, 60, 41, 1, 2, 3, 44, 45, 12, 10, 42, 43, 8, 47, 4, 29, 61, 76, 0, 4, 11, 76, 67, 6, 7, 5, 0, 29, - 13, 63, 62, 64, 65, 17, 26, 16, 22, 20, 21, 23, 24, 19, 18, 25, 14, 15, 79, 76, 98, 127, 81, 67, 128, - 126, 44, 45, 105, 99, 42, 43, 106, 107, 83, 84, 66, 75, 96, 97, 100, 101, 102, 103, 104, 108, 109, 80, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 73, 120, 121, 30, 32, 27, 33, 34, 35, 36, 37, 38, 39, - 40, 31, 28, 46, 11, 74, 70, 8, 9, 3, 12, 1, 2, 4, 6, 7, 5, 10, 0, 17, 62, 27, 18, 63, 33, 19, 35, 20, - 21, 37, 38, 22, 23, 64, 40, 65, 24, 31, 25, 28, 26, 16, 32, 30, 29, 15, 14, 11, 3, 12, 10, 46, 69, 90, - 34, 39, 36, 71, 66, 6, 7, 5, 54, 9, 1, 2, 4, 13, 68, 8, 0, 81, 14, 15, 30, 32, 16, 17, 62, 27, 18, 63, - 33, 19, 35, 20, 21, 37, 38, 22, 23, 64, 40, 13, 65, 24, 31, 25, 28, 26, 29, 129, 71, 68, 34, 39, 36, 90, - 69, 54, 5, 11, 12, 46, 6, 7, 8, 9, 2, 4, 3, 1, 10, 0, 46, 11, 3, 9, 8, 76, 12, 10, 4, 1, 2, 6, 7, 5, - 0 }; - } - - public final static char asr[] = Asr.asr; - - @Override - public final int asr(int index) { - return asr[index]; - } - - public interface Nasb { - public final static char nasb[] = { 0, 288, 13, 21, 19, 5, 319, 13, 13, 13, 301, 13, 170, 301, 238, 238, 13, - 274, 13, 13, 13, 275, 250, 275, 163, 275, 163, 275, 13, 11, 240, 275, 267, 62, 154, 156, 233, 195, 13, - 13, 48, 180, 13, 240, 13, 13, 301, 301, 13, 301, 224, 250, 163, 13, 286, 277, 277, 42, 35, 74, 13, 154, - 210, 238, 286, 16, 238, 286, 154, 240, 12, 13, 13, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 240, 176, - 150, 13, 13, 13, 13, 13, 238, 13, 13, 154, 120, 208, 163, 68, 68, 328, 14, 13, 191, 280, 240, 13, 35, - 154, 154, 37, 96, 35, 13, 13, 13, 13, 12, 46, 154, 154, 301, 301, 154, 154, 250, 238, 174, 195, 35, 13, - 13, 89, 34, 13, 35, 311, 211, 163, 163, 13, 277, 250, 154, 277, 23, 31, 211, 104, 150, 150, 150, 150, - 62, 98, 46, 13, 35, 35, 35, 86, 166, 1, 152, 339, 339, 339, 339, 240, 183, 114, 114, 183, 153, 120, 140, - 55, 286, 91, 191, 286, 240, 83, 60, 157, 163, 227, 163, 163, 23, 23, 328, 96, 96, 195, 308, 308, 288, - 288, 154, 277, 208, 208, 42, 208, 13, 42, 35, 13, 35, 87, 240, 208, 13, 173, 13, 21, 318, 311, 163, 163, - 154, 286, 154, 31, 154, 181, 12, 13, 199, 166, 13, 13, 13, 145, 13, 13, 13, 13, 13, 13, 13, 62, 13, 13, - 211, 13, 12, 35, 35, 35, 35, 96, 339, 83, 248, 214, 328, 165, 68, 68, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 11, 240, 62, 35, 35, 13, 13, 13, 13, 45, 35, 62, 194, 240, 194, 35, 96, 140, 13, 277, - 13, 96, 13, 281, 163, 35, 154, 250, 280, 286, 13, 154, 13, 13, 334, 35, 13, 231, 13, 13, 13, 77, 77, 87, - 87, 288, 174, 13, 35, 89, 35, 62, 35, 35, 46, 156, 154, 154, 100, 100, 211, 181, 108, 13, 13, 274, 275, - 275, 275, 275, 293, 11, 62, 62, 62, 62, 62, 62, 62, 13, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 153, 62, 23, 104, 248, 248, 248, 243, 62, 339, 154, 126, 35, - 220, 13, 133, 13, 208, 13, 13, 13, 13, 221, 13, 181, 206, 208, 208, 181, 52, 332, 35, 326, 154, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 259, 62, 240, - 46, 13, 150, 13, 13, 13, 13, 211, 12, 240, 186, 46, 154, 55, 12, 183, 87, 154, 163, 70, 154, 62, 13, 13, - 230, 328, 308, 308, 301, 154, 13, 13, 87, 208, 35, 35, 195, 208, 62, 13, 124, 13, 163, 280, 100, 100, - 79, 108, 87, 62, 181, 240, 13, 13, 13, 13, 13, 62, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 35, 40, 334, 13, 221, 13, 13, 221, 263, 263, 306, 13, 263, 208, 208, 13, 154, 35, 308, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 44, 211, 35, 153, 153, 153, 153, 13, 13, 13, 180, 211, 131, - 35, 60, 154, 70, 70, 62, 62, 326, 189, 308, 339, 339, 62, 208, 157, 62, 62, 286, 163, 280, 13, 13, 238, - 72, 277, 87, 31, 35, 62, 154, 102, 13, 153, 334, 221, 62, 221, 35, 233, 35, 252, 154, 13, 35, 131, 154, - 35, 62, 62, 211, 248, 35, 35, 35, 35, 183, 183, 187, 13, 13, 129, 13, 87, 70, 154, 13, 163, 286, 110, - 277, 238, 238, 12, 211, 40, 183, 62, 96, 221, 13, 221, 208, 157, 153, 221, 129, 70, 154, 13, 35, 35, - 187, 339, 143, 59, 122, 13, 12, 277, 277, 102, 35, 96, 62, 13, 256, 208, 35, 154, 70, 35, 35, 154, 143, - 13, 13, 77, 12, 12, 221, 35, 208, 122, 154, 52, 52, 231, 338, 13, 221, 122, 35, 194, 339 }; - } - - public final static char nasb[] = Nasb.nasb; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - public interface Nasr { - public final static char nasr[] = { 0, 3, 13, 10, 9, 149, 204, 148, 121, 147, 146, 4, 2, 0, 215, 0, 36, 1, 0, - 234, 0, 181, 0, 4, 10, 9, 2, 13, 140, 5, 0, 2, 89, 0, 202, 32, 0, 5, 226, 0, 172, 0, 164, 0, 2, 143, 89, - 0, 5, 54, 227, 0, 36, 56, 0, 194, 4, 193, 0, 102, 105, 36, 13, 2, 9, 10, 4, 0, 101, 0, 63, 0, 224, 0, - 233, 32, 0, 131, 0, 4, 123, 223, 0, 5, 33, 0, 5, 102, 0, 200, 0, 13, 2, 9, 10, 4, 103, 0, 206, 0, 133, - 0, 170, 0, 89, 167, 166, 0, 178, 0, 4, 123, 190, 0, 4, 2, 9, 10, 168, 0, 184, 0, 156, 0, 222, 0, 5, 208, - 0, 142, 0, 186, 0, 13, 2, 9, 10, 4, 236, 0, 36, 185, 0, 187, 0, 13, 2, 9, 10, 4, 36, 56, 54, 41, 5, 0, - 107, 5, 4, 10, 9, 2, 73, 38, 0, 32, 109, 110, 5, 0, 38, 1, 0, 38, 127, 0, 4, 10, 9, 13, 3, 1, 0, 5, 113, - 0, 2, 144, 0, 110, 109, 38, 73, 83, 4, 10, 9, 2, 0, 149, 228, 148, 121, 147, 146, 0, 5, 41, 47, 0, 53, - 2, 3, 0, 5, 51, 36, 41, 210, 0, 102, 41, 51, 91, 36, 5, 0, 38, 89, 0, 32, 110, 109, 73, 2, 9, 10, 5, 4, - 0, 2, 53, 0, 4, 10, 9, 2, 13, 105, 104, 36, 0, 54, 5, 211, 0, 5, 209, 0, 5, 41, 143, 0, 5, 54, 125, 0, - 2, 4, 121, 118, 119, 120, 165, 13, 79, 0, 2, 82, 0, 5, 4, 10, 9, 2, 73, 27, 0, 126, 88, 51, 5, 0, 121, - 79, 13, 118, 119, 120, 198, 0, 5, 51, 88, 98, 0, 41, 212, 31, 5, 0, 5, 51, 88, 123, 49, 4, 0, 47, 4, 2, - 9, 10, 5, 183, 0, 31, 5, 4, 38, 107, 0, 110, 109, 38, 4, 83, 0, 32, 5, 54, 0 }; - } - - public final static char nasr[] = Nasr.nasr; - - @Override - public final int nasr(int index) { - return nasr[index]; - } - - public interface TerminalIndex { - public final static char terminalIndex[] = { 0, 118, 119, 2, 31, 51, 129, 130, 13, 84, 10, 120, 9, 105, 48, 49, - 53, 57, 65, 73, 79, 80, 91, 92, 107, 110, 112, 59, 111, 127, 50, 109, 52, 69, 71, 75, 78, 81, 88, 94, - 103, 117, 11, 12, 7, 8, 125, 14, 60, 66, 72, 89, 93, 95, 98, 99, 102, 104, 114, 115, 116, 128, 58, 68, - 96, 106, 19, 126, 82, 108, 1, 131, 100, 44, 123, 20, 30, 63, 83, 101, 33, 124, 113, 17, 18, 54, 55, 61, - 62, 64, 70, 74, 76, 77, 90, 97, 21, 22, 32, 6, 23, 24, 25, 26, 27, 4, 15, 16, 28, 29, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 45, 46, 56, 85, 86, 87, 5, 122, 3, 132, 67, 121 }; - } - - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - - @Override - public final int terminalIndex(int index) { - return terminalIndex[index]; - } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = { 0, 138, 143, 144, 0, 0, 142, 0, 0, 246, 252, 141, 0, 151, 0, - 140, 0, 0, 150, 156, 0, 0, 157, 166, 167, 168, 169, 264, 0, 0, 0, 196, 134, 159, 0, 170, 137, 171, 265, - 172, 173, 139, 149, 174, 175, 176, 0, 136, 177, 193, 0, 0, 146, 145, 160, 178, 188, 0, 0, 0, 0, 0, 0, - 203, 179, 180, 0, 220, 0, 0, 181, 182, 217, 221, 153, 183, 184, 0, 185, 202, 0, 0, 0, 163, 191, 0, 0, 0, - 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 194, 0, 0, 222, 135, 133, 234, 0, 165, 218, 224, 225, 226, 0, 228, 0, - 154, 0, 0, 223, 205, 206, 207, 209, 236, 237, 0, 190, 195, 212, 0, 0, 227, 0, 0, 0, 241, 0, 243, 0, 257, - 0, 260, 0, 261, 0, 155, 197, 198, 199, 200, 204, 208, 211, 0, 214, 0, 215, 0, 230, 233, 0, 255, 0, 256, - 0, 269, 272, 147, 148, 152, 0, 0, 162, 164, 0, 186, 0, 201, 0, 0, 0, 210, 0, 213, 219, 0, 231, 232, 0, - 0, 238, 245, 0, 249, 250, 251, 254, 0, 0, 258, 0, 266, 0, 268, 0, 271, 0, 0, 158, 161, 0, 189, 0, 192, - 0, 0, 216, 229, 235, 0, 0, 239, 240, 242, 244, 0, 247, 248, 253, 259, 262, 263, 0, 0, 267, 0, 0, 270, 0, - 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - - @Override - public final int nonterminalIndex(int index) { - return nonterminalIndex[index]; - } - - public interface ScopePrefix { - public final static char scopePrefix[] = { 265, 429, 731, 750, 418, 447, 682, 698, 709, 720, 501, 373, 387, 404, - 465, 133, 398, 521, 559, 273, 739, 625, 98, 111, 142, 162, 171, 176, 181, 236, 301, 460, 471, 98, 593, - 71, 250, 379, 393, 653, 118, 250, 511, 98, 758, 118, 323, 354, 7, 39, 39, 63, 67, 79, 90, 105, 152, 167, - 197, 105, 490, 494, 577, 618, 647, 674, 678, 768, 772, 776, 188, 83, 188, 539, 555, 568, 586, 605, 666, - 207, 207, 335, 425, 568, 689, 705, 716, 727, 313, 636, 19, 31, 60, 147, 147, 262, 328, 13, 147, 349, - 370, 13, 13, 147, 498, 615, 622, 262, 147, 791, 1, 13, 54, 201, 476, 543, 583, 1, 598, 147, 216, 410, - 476, 216, 216, 437, 530, 283, 437, 24, 24, 45, 45, 195, 45, 45, 45, 45, 581, 780, 787, 24, 24, 49, 344, - 780, 787, 156, 549, 243, 195, 344, 195, 359 }; - } - - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - - @Override - public final int scopePrefix(int index) { - return scopePrefix[index]; - } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { 94, 241, 43, 43, 241, 241, 43, 43, 43, 43, 508, 241, 186, 241, 103, - 139, 384, 527, 565, 279, 158, 631, 103, 116, 116, 116, 150, 150, 186, 241, 306, 109, 109, 103, 43, 76, - 255, 384, 192, 658, 129, 258, 516, 745, 763, 123, 317, 317, 11, 43, 43, 43, 43, 43, 94, 109, 43, 150, - 186, 109, 186, 186, 241, 352, 43, 43, 43, 43, 43, 352, 789, 87, 192, 508, 508, 508, 590, 609, 658, 211, - 225, 339, 413, 572, 693, 693, 693, 693, 317, 640, 22, 22, 43, 150, 150, 43, 43, 331, 333, 352, 43, 11, - 11, 333, 186, 43, 352, 43, 651, 43, 4, 16, 57, 204, 479, 546, 57, 612, 601, 670, 211, 413, 661, 219, - 230, 454, 533, 286, 440, 29, 37, 47, 96, 186, 482, 484, 486, 488, 186, 782, 782, 26, 34, 51, 346, 784, - 784, 158, 551, 245, 308, 339, 293, 361 }; - } - - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - - @Override - public final int scopeSuffix(int index) { - return scopeSuffix[index]; - } - - public interface ScopeLhs { - public final static char scopeLhs[] = { 49, 120, 18, 18, 87, 120, 18, 18, 18, 18, 94, 100, 50, 87, 119, 85, 60, - 94, 93, 49, 18, 20, 198, 3, 7, 8, 190, 190, 189, 118, 49, 119, 119, 150, 55, 28, 104, 61, 50, 168, 161, - 104, 94, 18, 18, 161, 111, 66, 84, 165, 19, 19, 199, 163, 97, 198, 193, 190, 189, 150, 213, 58, 56, 172, - 19, 18, 18, 18, 18, 18, 12, 142, 189, 94, 93, 93, 77, 46, 168, 122, 122, 83, 87, 93, 18, 18, 18, 18, - 111, 20, 134, 155, 17, 194, 190, 215, 109, 117, 68, 101, 67, 183, 84, 150, 95, 173, 172, 206, 168, 17, - 18, 84, 92, 189, 150, 125, 92, 22, 55, 168, 122, 87, 168, 122, 122, 120, 94, 49, 120, 134, 155, 204, - 228, 189, 176, 148, 147, 146, 90, 166, 53, 134, 155, 236, 83, 166, 53, 193, 125, 118, 49, 83, 49, 66 }; - } - - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - - @Override - public final int scopeLhs(int index) { - return scopeLhs[index]; - } - - public interface ScopeLa { - public final static char scopeLa[] = { 122, 81, 74, 74, 81, 81, 74, 74, 74, 74, 74, 81, 46, 81, 1, 75, 1, 74, - 130, 67, 3, 74, 1, 75, 75, 75, 1, 1, 46, 81, 67, 1, 1, 1, 74, 74, 81, 1, 1, 4, 75, 73, 46, 1, 1, 75, 74, - 74, 1, 74, 74, 74, 74, 74, 122, 1, 74, 1, 46, 1, 46, 46, 81, 127, 74, 74, 74, 74, 74, 127, 1, 74, 1, 74, - 74, 74, 76, 76, 4, 1, 1, 10, 67, 74, 75, 75, 75, 75, 74, 3, 6, 6, 74, 1, 1, 74, 74, 3, 1, 127, 74, 1, 1, - 1, 46, 74, 127, 74, 8, 74, 74, 6, 76, 1, 54, 80, 76, 74, 75, 1, 1, 67, 54, 1, 1, 67, 82, 79, 1, 1, 1, - 29, 1, 46, 1, 63, 62, 62, 46, 4, 4, 1, 1, 98, 12, 4, 4, 3, 1, 67, 1, 10, 1, 3 }; - } - - public final static char scopeLa[] = ScopeLa.scopeLa; - - @Override - public final int scopeLa(int index) { - return scopeLa[index]; - } - - public interface ScopeStateSet { - public final static char scopeStateSet[] = { 441, 367, 266, 266, 468, 367, 266, 266, 266, 266, 121, 455, 441, - 468, 367, 468, 443, 121, 121, 441, 266, 266, 38, 191, 237, 237, 21, 21, 480, 367, 441, 367, 367, 187, - 66, 373, 45, 443, 441, 58, 41, 45, 121, 266, 266, 41, 100, 163, 169, 187, 266, 266, 91, 1, 121, 38, 55, - 21, 480, 187, 36, 443, 109, 18, 266, 266, 266, 266, 266, 266, 241, 8, 480, 121, 121, 121, 74, 332, 58, - 367, 367, 425, 468, 121, 266, 266, 266, 266, 100, 266, 179, 134, 266, 55, 21, 94, 100, 102, 163, 96, - 163, 184, 169, 187, 121, 5, 18, 61, 58, 266, 266, 169, 121, 480, 187, 13, 121, 271, 66, 58, 367, 468, - 58, 367, 367, 367, 121, 441, 367, 179, 134, 370, 39, 480, 370, 369, 369, 369, 24, 63, 138, 179, 134, - 365, 425, 63, 138, 55, 13, 367, 441, 425, 441, 163 }; - } - - public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; - - @Override - public final int scopeStateSet(int index) { - return scopeStateSet[index]; - } - - public interface ScopeRhs { - public final static char scopeRhs[] = { 0, 205, 3, 0, 134, 234, 0, 169, 238, 136, 0, 217, 0, 238, 136, 0, 265, - 217, 0, 265, 169, 0, 265, 0, 169, 0, 241, 265, 0, 241, 0, 215, 169, 0, 191, 265, 0, 191, 0, 205, 3, 29, - 0, 134, 0, 280, 0, 272, 0, 237, 0, 32, 165, 0, 367, 86, 0, 30, 187, 0, 187, 3, 0, 205, 3, 61, 0, 363, 3, - 331, 0, 362, 3, 3, 6, 0, 134, 134, 0, 361, 3, 72, 0, 360, 3, 122, 0, 134, 188, 0, 136, 187, 79, 0, 232, - 0, 258, 0, 220, 184, 135, 13, 0, 144, 0, 184, 135, 13, 0, 143, 0, 290, 136, 66, 133, 0, 20, 0, 326, 136, - 66, 54, 0, 20, 58, 0, 33, 140, 0, 20, 58, 0, 0, 326, 136, 66, 54, 219, 0, 20, 194, 0, 290, 136, 66, 141, - 0, 213, 135, 0, 149, 0, 244, 3, 325, 0, 325, 0, 2, 0, 134, 0, 290, 136, 66, 140, 0, 213, 135, 254, 0, - 213, 135, 31, 254, 0, 213, 135, 355, 31, 0, 137, 220, 184, 135, 0, 136, 0, 220, 184, 135, 0, 142, 136, - 0, 182, 0, 351, 136, 182, 0, 136, 182, 0, 239, 136, 0, 184, 350, 252, 0, 144, 0, 0, 0, 0, 350, 252, 0, - 145, 144, 0, 0, 0, 0, 143, 0, 0, 0, 0, 145, 143, 0, 0, 0, 0, 349, 136, 167, 253, 0, 135, 0, 253, 0, 137, - 0, 0, 135, 0, 348, 136, 167, 236, 0, 135, 0, 0, 44, 135, 0, 0, 164, 3, 0, 136, 316, 315, 136, 79, 314, - 182, 0, 315, 136, 79, 314, 182, 0, 231, 0, 232, 0, 314, 182, 0, 101, 0, 0, 231, 0, 232, 0, 219, 101, 0, - 0, 231, 0, 232, 0, 315, 136, 314, 182, 0, 231, 0, 219, 0, 0, 231, 0, 259, 136, 3, 0, 134, 0, 0, 0, 0, 0, - 259, 136, 3, 240, 0, 248, 3, 0, 224, 0, 154, 0, 200, 184, 135, 0, 10, 0, 0, 0, 0, 200, 0, 9, 0, 0, 237, - 70, 0, 133, 0, 259, 136, 3, 198, 0, 198, 0, 2, 0, 0, 134, 0, 0, 0, 0, 0, 215, 3, 0, 255, 136, 167, 41, - 34, 0, 213, 135, 68, 69, 0, 212, 136, 0, 137, 213, 135, 312, 69, 0, 213, 135, 312, 69, 0, 213, 135, 80, - 132, 68, 0, 255, 136, 167, 283, 68, 0, 283, 68, 0, 137, 0, 0, 135, 0, 255, 136, 167, 283, 258, 68, 0, - 283, 258, 68, 0, 309, 310, 136, 167, 132, 345, 63, 0, 345, 63, 0, 138, 137, 0, 0, 0, 135, 0, 309, 310, - 136, 167, 345, 63, 0, 137, 0, 0, 0, 135, 0, 213, 135, 308, 63, 0, 220, 213, 135, 308, 252, 0, 213, 135, - 308, 252, 0, 184, 135, 0, 98, 144, 0, 208, 0, 207, 0, 206, 0, 205, 0, 306, 136, 162, 0, 306, 136, 182, - 0, 172, 94, 0, 340, 178, 342, 343, 3, 91, 0, 134, 187, 0, 342, 343, 3, 91, 0, 136, 0, 134, 187, 0, 172, - 3, 82, 222, 89, 0, 134, 136, 0, 222, 89, 0, 113, 2, 139, 134, 136, 0, 256, 3, 82, 0, 215, 185, 0, 33, - 177, 0, 185, 0, 191, 33, 177, 0, 256, 3, 95, 0, 222, 163, 256, 3, 93, 0, 67, 187, 0, 256, 3, 93, 0, 134, - 187, 67, 187, 0, 341, 136, 167, 0, 172, 0, 237, 86, 0, 172, 109, 207, 0, 30, 185, 0, 157, 75, 186, 3, 0, - 186, 3, 0, 20, 169, 134, 0, 172, 109, 176, 0, 30, 177, 0, 134, 157, 0, 244, 3, 0, 237, 70, 303, 0, 172, - 70, 0, 205, 3, 337, 78, 135, 0, 134, 0, 0, 0, 0, 337, 78, 135, 0, 2, 153, 134, 0, 0, 0, 0, 205, 3, 52, - 0, 155, 0, 134, 54, 184, 135, 0, 31, 155, 0, 98, 144, 31, 155, 0, 245, 213, 135, 0, 154, 31, 155, 0, - 205, 3, 57, 0, 172, 3, 57, 0, 172, 3, 75, 205, 66, 48, 0, 205, 66, 48, 0, 20, 2, 139, 134, 0, 172, 3, - 75, 205, 66, 51, 0, 205, 66, 51, 0, 172, 3, 75, 205, 66, 53, 0, 205, 66, 53, 0, 172, 3, 75, 205, 66, 49, - 0, 205, 66, 49, 0, 244, 3, 134, 220, 184, 135, 13, 0, 134, 220, 184, 135, 13, 0, 144, 2, 0, 134, 0, 244, - 3, 133, 274, 184, 135, 13, 0, 274, 184, 135, 13, 0, 143, 2, 0, 134, 0, 244, 3, 144, 0, 244, 3, 149, 0, - 172, 70, 149, 0, 298, 0, 31, 0, 31, 147, 0, 183, 0, 142, 0, 172, 3, 0 }; - } - - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - - @Override - public final int scopeRhs(int index) { - return scopeRhs[index]; - } - - public interface ScopeState { - public final static char scopeState[] = { 0, 2089, 2077, 2003, 0, 2154, 1759, 0, 2894, 2105, 2563, 2552, 0, - 5782, 6413, 6317, 6250, 0, 1385, 998, 0, 1824, 1485, 0, 6306, 6239, 6172, 6105, 6038, 5971, 5904, 5837, - 5770, 5703, 5303, 5101, 6999, 0, 6853, 4773, 0, 6960, 6978, 5947, 0, 1245, 2364, 1182, 5680, 2285, 2206, - 2127, 1516, 1352, 0, 3174, 1240, 0, 4804, 1834, 0, 1711, 0, 1769, 1764, 0, 760, 4265, 4499, 4387, 4923, - 4856, 4638, 3520, 3294, 1098, 2574, 2495, 2416, 2337, 2258, 2179, 2100, 2021, 1942, 1863, 1784, 1019, - 929, 850, 0, 797, 1626, 0, 796, 0, 2557, 2320, 1292, 1250, 4605, 7423, 4114, 5568, 5164, 3937, 5266, - 3989, 0, 3512, 2691, 7484, 1179, 2844, 3520, 2796, 6318, 6251, 6204, 5885, 5735, 6306, 6239, 6172, 6105, - 6038, 5971, 5904, 5837, 5770, 5703, 5303, 5101, 0, 3911, 4755, 3898, 0, 7585, 7581, 7569, 7562, 7671, - 7645, 7184, 7554, 7550, 7526, 7100, 7507, 6567, 5585, 7493, 7416, 6875, 4746, 756, 4995, 6774, 6384, - 5704, 5590, 0, 4605, 5847, 7329, 6421, 5318, 739, 4114, 3911, 7316, 5568, 5164, 6505, 4755, 6473, 4619, - 3898, 5052, 5005, 4952, 4128, 0, 7329, 739, 0, 673, 6377, 4028, 0, 3360, 2750, 7585, 7581, 2640, 2008, - 1725, 7569, 1923, 7562, 1919, 1704, 1609, 7671, 1294, 4555, 7645, 1574, 7184, 1327, 7554, 7550, 7526, - 4444, 916, 7100, 7507, 6567, 5585, 909, 7493, 7416, 842, 1231, 6875, 4746, 799, 756, 4995, 6774, 6384, - 5704, 826, 6377, 5590, 4028, 4161, 3577, 3557, 1813, 722, 4114, 3911, 7316, 5052, 5005, 4605, 4952, - 5568, 4128, 5164, 6505, 5847, 1511, 1048, 7329, 4755, 6421, 4804, 1834, 6473, 5318, 4619, 3898, 739, - 6890, 6725, 6698, 5647, 5243, 3294, 5595, 4000, 4343, 4565, 4458, 4414, 4292, 4717, 5541, 5514, 5487, - 5460, 5433, 5406, 6675, 5680, 1098, 760, 2574, 2495, 2416, 2337, 2258, 2179, 2100, 2021, 1942, 1863, - 1784, 4265, 4499, 4387, 4923, 4856, 4638, 958, 879, 5276, 5199, 4526, 2129, 2050, 1971, 1892, 1127, - 6652, 6626, 3520, 1019, 929, 5711, 850, 4236, 3323, 2603, 2524, 2445, 2366, 2287, 2208, 3471, 1245, - 3838, 3422, 3373, 3791, 3737, 3690, 1628, 1579, 1525, 1182, 3636, 3589, 1458, 3245, 3196, 3147, 3098, - 3049, 3000, 2951, 2902, 2853, 2803, 2754, 2700, 1298, 1404, 1731, 1352, 1677, 673, 2653, 0, 6853, 6377, - 4773, 673, 4028, 0, 3911, 6157, 7652, 5052, 7257, 6048, 5005, 4952, 6520, 7630, 6853, 6721, 6536, 6382, - 6090, 4820, 5981, 6505, 7626, 5847, 4773, 5751, 7612, 7590, 4075, 7240, 5084, 5313, 5070, 4755, 5240, - 4680, 673, 6121, 4190, 6473, 4667, 4179, 3963, 986, 4033, 6377, 6023, 5956, 4751, 5075, 3924, 5065, - 4887, 3866, 3958, 4028, 6054, 4605, 7374, 5987, 7436, 7342, 7423, 4128, 6188, 6761, 6524, 6421, 5318, - 5000, 3898, 0, 7359, 7173, 6306, 6239, 6172, 6105, 6038, 5971, 5904, 5837, 5770, 5703, 5303, 5101, 7215, - 6864, 6763, 6747, 7194, 7131, 7110, 7047, 7026, 6956, 6935, 6525, 0, 7215, 6864, 6763, 6747, 7194, 7131, - 7110, 7047, 7026, 6956, 6935, 6525, 7359, 7173, 0 }; - } - - public final static char scopeState[] = ScopeState.scopeState; - - @Override - public final int scopeState(int index) { - return scopeState[index]; - } - - public interface InSymb { - public final static char inSymb[] = { 0, 0, 336, 69, 5, 136, 182, 219, 36, 39, 54, 34, 68, 257, 68, 312, 365, - 276, 6, 7, 5, 277, 253, 278, 252, 279, 63, 307, 133, 13, 135, 335, 280, 29, 314, 136, 3, 4, 141, 140, 9, - 8, 133, 135, 198, 54, 54, 54, 66, 54, 41, 283, 258, 132, 169, 135, 135, 3, 3, 3, 3, 167, 350, 308, 169, - 345, 308, 169, 66, 135, 213, 184, 183, 29, 61, 52, 47, 43, 42, 10, 12, 45, 44, 135, 8, 3, 57, 48, 51, - 53, 49, 13, 144, 149, 79, 136, 306, 215, 204, 198, 136, 286, 313, 238, 169, 135, 200, 215, 66, 66, 185, - 70, 3, 77, 78, 133, 132, 213, 184, 3, 66, 75, 136, 167, 167, 283, 80, 213, 213, 366, 41, 295, 3, 364, 1, - 41, 136, 184, 262, 134, 133, 135, 132, 167, 135, 136, 184, 54, 4, 3, 3, 3, 3, 77, 78, 184, 134, 205, - 187, 172, 167, 185, 136, 3, 66, 66, 66, 66, 135, 3, 126, 128, 3, 70, 136, 315, 76, 169, 70, 238, 169, - 135, 3, 80, 73, 215, 184, 12, 10, 136, 136, 136, 70, 70, 220, 136, 136, 136, 136, 167, 135, 258, 137, - 76, 163, 3, 73, 362, 331, 3, 349, 135, 180, 254, 68, 54, 69, 182, 352, 134, 133, 263, 169, 263, 213, - 167, 136, 213, 290, 136, 271, 154, 156, 155, 3, 186, 157, 196, 195, 202, 201, 206, 72, 207, 293, 220, - 298, 220, 205, 205, 205, 205, 70, 337, 3, 163, 136, 136, 3, 241, 240, 305, 166, 157, 170, 168, 174, 171, - 175, 176, 144, 134, 133, 13, 135, 29, 205, 172, 205, 205, 205, 205, 184, 244, 136, 54, 135, 54, 244, - 172, 315, 324, 135, 325, 237, 176, 169, 184, 164, 167, 236, 169, 169, 200, 200, 290, 290, 238, 259, 260, - 162, 261, 326, 54, 13, 62, 255, 255, 136, 213, 10, 1, 73, 163, 3, 41, 1, 184, 136, 263, 263, 136, 136, - 220, 136, 310, 132, 311, 276, 277, 278, 279, 359, 280, 13, 99, 105, 43, 42, 107, 106, 10, 186, 97, 96, - 66, 83, 84, 12, 101, 100, 103, 102, 104, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 80, 109, 108, - 73, 4, 163, 163, 163, 163, 234, 3, 338, 185, 164, 341, 88, 86, 1, 172, 11, 95, 93, 91, 89, 82, 92, 94, - 87, 85, 68, 79, 238, 248, 136, 3, 73, 121, 120, 97, 96, 75, 66, 12, 101, 100, 103, 102, 104, 119, 118, - 117, 116, 115, 114, 113, 112, 111, 110, 80, 109, 108, 135, 184, 150, 3, 75, 75, 75, 75, 220, 274, 135, - 213, 184, 316, 73, 213, 3, 136, 167, 10, 136, 163, 80, 248, 215, 3, 136, 73, 73, 75, 66, 262, 262, 255, - 258, 1, 363, 220, 351, 76, 267, 215, 133, 265, 169, 136, 136, 76, 310, 309, 80, 73, 135, 155, 155, 154, - 154, 154, 75, 157, 157, 157, 156, 156, 195, 186, 186, 201, 196, 202, 172, 206, 205, 136, 136, 11, 76, - 367, 237, 76, 3, 3, 3, 222, 3, 132, 172, 132, 187, 259, 136, 157, 157, 157, 157, 157, 157, 168, 166, - 166, 171, 170, 174, 274, 172, 175, 184, 54, 205, 3, 3, 3, 3, 134, 133, 245, 8, 54, 136, 244, 136, 200, - 194, 136, 80, 80, 136, 238, 136, 80, 80, 73, 137, 73, 76, 80, 169, 265, 169, 158, 354, 254, 31, 135, - 309, 184, 157, 76, 163, 300, 303, 70, 214, 76, 98, 76, 256, 185, 256, 343, 162, 82, 256, 136, 163, 259, - 76, 76, 220, 163, 172, 172, 172, 172, 3, 3, 4, 132, 134, 317, 122, 348, 136, 246, 326, 265, 169, 73, - 135, 31, 355, 213, 220, 136, 3, 70, 172, 163, 215, 163, 342, 136, 3, 163, 317, 136, 163, 134, 244, 244, - 4, 3, 233, 73, 136, 75, 213, 135, 135, 300, 244, 237, 80, 222, 178, 306, 172, 246, 136, 98, 360, 185, - 233, 11, 72, 62, 213, 213, 130, 340, 163, 136, 246, 163, 163, 136, 3, 262, 163, 136, 361, 80, 73 }; - } - - public final static char inSymb[] = InSymb.inSymb; - - @Override - public final int inSymb(int index) { - return inSymb[index]; - } - - public interface Name { - public final static String name[] = { "", "[", "(", ".", ".*", "->", "->*", "++", "--", "&", "*", "+", "-", "~", - "!", "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "::", - "...", "=", "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", ">?", " { - private static ParseTable prs = new GPPSizeofExpressionParserprs(); - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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 GPPSizeofExpressionParser(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), GPPSizeofExpressionParserprs.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(" " + GPPSizeofExpressionParsersym.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " - + GPPSizeofExpressionParsersym.orderedTerminalSymbols[GPPSizeofExpressionParserprs.EOFT_SYMBOL])); - } - } - - @Override - public String[] orderedTerminalSymbols() { - return GPPSizeofExpressionParsersym.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return GPPSizeofExpressionParsersym.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return GPPSizeofExpressionParserprs.EOFT_SYMBOL; - } - - public PrsStream getParseStream() { - return 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, this, prs, this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException( - "Regenerate GPPSizeofExpressionParserprs.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error( - new BadParseSymFileException("Bad Parser Symbol File -- GPPSizeofExpressionParsersym.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 GPPBuildASTParserAction action; - private IASTCompletionNode compNode; - - public GPPSizeofExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, - IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new GPPBuildASTParserAction(this, astStack, CPPNodeFactory.getDefault(), - GPPSecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - gnuAction = new GNUBuildASTParserAction(this, astStack, CPPNodeFactory.getDefault()); - gnuAction.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - public IASTExpression 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 (IASTExpression) action.getParseResult(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return GPPSizeofExpressionParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "GPPSizeofExpressionParser"; - } - - private ITokenMap tokenMap = null; - - @Override - public void setTokens(List tokens) { - resetTokenStream(); - addToken(new Token(null, 0, 0, 0)); // dummy token - for (IToken token : tokens) { - token.setKind(tokenMap.mapKind(token.getKind())); - addToken(token); - } - addToken(new Token(null, 0, 0, GPPSizeofExpressionParsersym.TK_EOF_TOKEN)); - } - - public GPPSizeofExpressionParser(ITokenStream stream, Map properties) { // constructor for creating secondary parser - initActions(properties); - tokenMap = new TokenMap(GPPSizeofExpressionParsersym.orderedTerminalSymbols, - stream.getOrderedTerminalSymbols()); - } - - public GPPSizeofExpressionParser(ITokenStream stream, IScanner scanner, - IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { // constructor for creating secondary parser - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - tokenMap = new TokenMap(GPPSizeofExpressionParsersym.orderedTerminalSymbols, - stream.getOrderedTerminalSymbols()); - } - - private GNUBuildASTParserAction gnuAction; - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 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: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name - // - case 69: { - action.consumePsudoDestructorName(true); - break; - } - - // - // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name - // - case 70: { - action.consumePsudoDestructorName(true); - break; - } - - // - // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name - // - case 71: { - action.consumePsudoDestructorName(false); - break; - } - - // - // Rule 72: destructor_type_name ::= ~ identifier_token - // - case 72: { - action.consumeDestructorName(); - break; - } - - // - // Rule 73: destructor_type_name ::= ~ template_id_name - // - case 73: { - action.consumeDestructorNameTemplateId(); - break; - } - - // - // Rule 77: unary_expression ::= ++ cast_expression - // - case 77: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); - break; - } - - // - // Rule 78: unary_expression ::= -- cast_expression - // - case 78: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); - break; - } - - // - // Rule 79: unary_expression ::= & cast_expression - // - case 79: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); - break; - } - - // - // Rule 80: unary_expression ::= * cast_expression - // - case 80: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); - break; - } - - // - // Rule 81: unary_expression ::= + cast_expression - // - case 81: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); - break; - } - - // - // Rule 82: unary_expression ::= - cast_expression - // - case 82: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); - break; - } - - // - // Rule 83: unary_expression ::= ~ cast_expression - // - case 83: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); - break; - } - - // - // Rule 84: unary_expression ::= ! cast_expression - // - case 84: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); - break; - } - - // - // Rule 85: unary_expression ::= sizeof unary_expression - // - case 85: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); - break; - } - - // - // Rule 86: new_expression ::= dcolon_opt new new_placement_opt new_type_id new_array_expressions_opt new_initializer_opt - // - case 86: { - action.consumeExpressionNew(true); - break; - } - - // - // Rule 87: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) new_array_expressions_opt new_initializer_opt - // - case 87: { - action.consumeExpressionNew(false); - break; - } - - // - // Rule 89: new_placement_opt ::= $Empty - // - case 89: { - action.consumeEmpty(); - break; - } - - // - // Rule 90: new_type_id ::= type_specifier_seq - // - case 90: { - action.consumeTypeId(false); - break; - } - - // - // Rule 91: new_type_id ::= type_specifier_seq new_declarator - // - case 91: { - action.consumeTypeId(true); - break; - } - - // - // Rule 92: new_declarator ::= new_pointer_operators - // - case 92: { - action.consumeNewDeclarator(); - break; - } - - // - // Rule 99: new_initializer ::= ( expression_list_opt ) - // - case 99: { - action.consumeNewInitializer(); - break; - } - - // - // Rule 101: new_initializer_opt ::= $Empty - // - case 101: { - action.consumeEmpty(); - break; - } - - // - // Rule 102: delete_expression ::= dcolon_opt delete cast_expression - // - case 102: { - action.consumeExpressionDelete(false); - break; - } - - // - // Rule 103: delete_expression ::= dcolon_opt delete [ ] cast_expression - // - case 103: { - action.consumeExpressionDelete(true); - break; - } - - // - // Rule 105: cast_expression ::= ( type_id ) cast_expression - // - case 105: { - action.consumeExpressionCast(ICPPASTCastExpression.op_cast); - break; - } - - // - // Rule 107: pm_expression ::= pm_expression .* cast_expression - // - case 107: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); - break; - } - - // - // Rule 108: pm_expression ::= pm_expression ->* cast_expression - // - case 108: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); - break; - } - - // - // Rule 110: multiplicative_expression ::= multiplicative_expression * pm_expression - // - case 110: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); - break; - } - - // - // Rule 111: multiplicative_expression ::= multiplicative_expression / pm_expression - // - case 111: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); - break; - } - - // - // Rule 112: multiplicative_expression ::= multiplicative_expression % pm_expression - // - case 112: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); - break; - } - - // - // Rule 114: additive_expression ::= additive_expression + multiplicative_expression - // - case 114: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); - break; - } - - // - // Rule 115: additive_expression ::= additive_expression - multiplicative_expression - // - case 115: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); - break; - } - - // - // Rule 117: shift_expression ::= shift_expression << additive_expression - // - case 117: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); - break; - } - - // - // Rule 118: shift_expression ::= shift_expression >> additive_expression - // - case 118: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); - break; - } - - // - // Rule 120: relational_expression ::= relational_expression < shift_expression - // - case 120: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); - break; - } - - // - // Rule 121: relational_expression ::= relational_expression > shift_expression - // - case 121: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); - break; - } - - // - // Rule 122: relational_expression ::= relational_expression <= shift_expression - // - case 122: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); - break; - } - - // - // Rule 123: relational_expression ::= relational_expression >= shift_expression - // - case 123: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); - break; - } - - // - // Rule 125: equality_expression ::= equality_expression == relational_expression - // - case 125: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); - break; - } - - // - // Rule 126: equality_expression ::= equality_expression != relational_expression - // - case 126: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); - break; - } - - // - // Rule 128: and_expression ::= and_expression & equality_expression - // - case 128: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); - break; - } - - // - // Rule 130: exclusive_or_expression ::= exclusive_or_expression ^ and_expression - // - case 130: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); - break; - } - - // - // Rule 132: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression - // - case 132: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); - break; - } - - // - // Rule 134: logical_and_expression ::= logical_and_expression && inclusive_or_expression - // - case 134: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); - break; - } - - // - // Rule 136: logical_or_expression ::= logical_or_expression || logical_and_expression - // - case 136: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); - break; - } - - // - // Rule 138: conditional_expression ::= logical_or_expression ? expression : assignment_expression - // - case 138: { - action.consumeExpressionConditional(); - break; - } - - // - // Rule 140: relational_expression_inTemplate ::= relational_expression_inTemplate < shift_expression - // - case 140: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); - break; - } - - // - // Rule 141: relational_expression_inTemplate ::= ( relational_expression_inTemplate > shift_expression ) - // - case 141: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); - break; - } - - // - // Rule 142: relational_expression_inTemplate ::= relational_expression_inTemplate <= shift_expression - // - case 142: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); - break; - } - - // - // Rule 143: relational_expression_inTemplate ::= relational_expression_inTemplate >= shift_expression - // - case 143: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); - break; - } - - // - // Rule 145: equality_expression_inTemplate ::= equality_expression_inTemplate == relational_expression_inTemplate - // - case 145: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); - break; - } - - // - // Rule 146: equality_expression_inTemplate ::= equality_expression_inTemplate != relational_expression_inTemplate - // - case 146: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); - break; - } - - // - // Rule 148: and_expression_inTemplate ::= and_expression_inTemplate & equality_expression_inTemplate - // - case 148: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); - break; - } - - // - // Rule 150: exclusive_or_expression_inTemplate ::= exclusive_or_expression_inTemplate ^ and_expression_inTemplate - // - case 150: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); - break; - } - - // - // Rule 152: inclusive_or_expression_inTemplate ::= inclusive_or_expression_inTemplate | exclusive_or_expression_inTemplate - // - case 152: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); - break; - } - - // - // Rule 154: logical_and_expression_inTemplate ::= logical_and_expression_inTemplate && inclusive_or_expression_inTemplate - // - case 154: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); - break; - } - - // - // Rule 156: logical_or_expression_inTemplate ::= logical_or_expression_inTemplate || logical_and_expression_inTemplate - // - case 156: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); - break; - } - - // - // Rule 158: conditional_expression_inTemplate ::= logical_or_expression_inTemplate ? expression : assignment_expression_inTemplate - // - case 158: { - action.consumeExpressionConditional(); - break; - } - - // - // Rule 161: assignment_expression_inTemplate ::= logical_or_expression_inTemplate = assignment_expression_inTemplate - // - case 161: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); - break; - } - - // - // Rule 162: assignment_expression_inTemplate ::= logical_or_expression_inTemplate *= assignment_expression_inTemplate - // - case 162: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); - break; - } - - // - // Rule 163: assignment_expression_inTemplate ::= logical_or_expression_inTemplate /= assignment_expression_inTemplate - // - case 163: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); - break; - } - - // - // Rule 164: assignment_expression_inTemplate ::= logical_or_expression_inTemplate %= assignment_expression_inTemplate - // - case 164: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); - break; - } - - // - // Rule 165: assignment_expression_inTemplate ::= logical_or_expression_inTemplate += assignment_expression_inTemplate - // - case 165: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); - break; - } - - // - // Rule 166: assignment_expression_inTemplate ::= logical_or_expression_inTemplate -= assignment_expression_inTemplate - // - case 166: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); - break; - } - - // - // Rule 167: assignment_expression_inTemplate ::= logical_or_expression_inTemplate >>= assignment_expression_inTemplate - // - case 167: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); - break; - } - - // - // Rule 168: assignment_expression_inTemplate ::= logical_or_expression_inTemplate <<= assignment_expression_inTemplate - // - case 168: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); - break; - } - - // - // Rule 169: assignment_expression_inTemplate ::= logical_or_expression_inTemplate &= assignment_expression_inTemplate - // - case 169: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); - break; - } - - // - // Rule 170: assignment_expression_inTemplate ::= logical_or_expression_inTemplate ^= assignment_expression_inTemplate - // - case 170: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); - break; - } - - // - // Rule 171: assignment_expression_inTemplate ::= logical_or_expression_inTemplate |= assignment_expression_inTemplate - // - case 171: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); - break; - } - - // - // Rule 172: throw_expression ::= throw - // - case 172: { - action.consumeExpressionThrow(false); - break; - } - - // - // Rule 173: throw_expression ::= throw assignment_expression - // - case 173: { - action.consumeExpressionThrow(true); - break; - } - - // - // Rule 176: assignment_expression ::= logical_or_expression = assignment_expression - // - case 176: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); - break; - } - - // - // Rule 177: assignment_expression ::= logical_or_expression *= assignment_expression - // - case 177: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); - break; - } - - // - // Rule 178: assignment_expression ::= logical_or_expression /= assignment_expression - // - case 178: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); - break; - } - - // - // Rule 179: assignment_expression ::= logical_or_expression %= assignment_expression - // - case 179: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); - break; - } - - // - // Rule 180: assignment_expression ::= logical_or_expression += assignment_expression - // - case 180: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); - break; - } - - // - // Rule 181: assignment_expression ::= logical_or_expression -= assignment_expression - // - case 181: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); - break; - } - - // - // Rule 182: assignment_expression ::= logical_or_expression >>= assignment_expression - // - case 182: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); - break; - } - - // - // Rule 183: assignment_expression ::= logical_or_expression <<= assignment_expression - // - case 183: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); - break; - } - - // - // Rule 184: assignment_expression ::= logical_or_expression &= assignment_expression - // - case 184: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); - break; - } - - // - // Rule 185: assignment_expression ::= logical_or_expression ^= assignment_expression - // - case 185: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); - break; - } - - // - // Rule 186: assignment_expression ::= logical_or_expression |= assignment_expression - // - case 186: { - action.consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); - break; - } - - // - // Rule 188: expression_list ::= expression_list_actual - // - case 188: { - action.consumeExpressionList(); - break; - } - - // - // Rule 192: expression_list_opt ::= $Empty - // - case 192: { - action.consumeEmpty(); - break; - } - - // - // Rule 194: expression_opt ::= $Empty - // - case 194: { - action.consumeEmpty(); - break; - } - - // - // Rule 197: constant_expression_opt ::= $Empty - // - case 197: { - action.consumeEmpty(); - break; - } - - // - // Rule 206: statement ::= ERROR_TOKEN - // - case 206: { - action.consumeStatementProblem(); - break; - } - - // - // Rule 207: labeled_statement ::= identifier : statement - // - case 207: { - action.consumeStatementLabeled(); - break; - } - - // - // Rule 208: labeled_statement ::= case constant_expression : statement - // - case 208: { - action.consumeStatementCase(); - break; - } - - // - // Rule 209: labeled_statement ::= default : statement - // - case 209: { - action.consumeStatementDefault(); - break; - } - - // - // Rule 210: expression_statement ::= expression ; - // - case 210: { - action.consumeStatementExpression(); - break; - } - - // - // Rule 211: expression_statement ::= ; - // - case 211: { - action.consumeStatementNull(); - break; - } - - // - // Rule 212: compound_statement ::= { statement_seq } - // - case 212: { - action.consumeStatementCompoundStatement(true); - break; - } - - // - // Rule 213: compound_statement ::= { } - // - case 213: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 216: selection_statement ::= if ( condition ) statement - // - case 216: { - action.consumeStatementIf(false); - break; - } - - // - // Rule 217: selection_statement ::= if ( condition ) statement else statement - // - case 217: { - action.consumeStatementIf(true); - break; - } - - // - // Rule 218: selection_statement ::= switch ( condition ) statement - // - case 218: { - action.consumeStatementSwitch(); - break; - } - - // - // Rule 220: condition ::= type_specifier_seq declarator = assignment_expression - // - case 220: { - action.consumeConditionDeclaration(); - break; - } - - // - // Rule 222: condition_opt ::= $Empty - // - case 222: { - action.consumeEmpty(); - break; - } - - // - // Rule 223: iteration_statement ::= while ( condition ) statement - // - case 223: { - action.consumeStatementWhileLoop(); - break; - } - - // - // Rule 224: iteration_statement ::= do statement while ( expression ) ; - // - case 224: { - action.consumeStatementDoLoop(true); - break; - } - - // - // Rule 225: iteration_statement ::= do statement - // - case 225: { - action.consumeStatementDoLoop(false); - break; - } - - // - // Rule 226: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement - // - case 226: { - action.consumeStatementForLoop(); - break; - } - - // - // Rule 228: for_init_statement ::= simple_declaration_with_declspec - // - case 228: { - action.consumeStatementDeclaration(); - break; - } - - // - // Rule 229: jump_statement ::= break ; - // - case 229: { - action.consumeStatementBreak(); - break; - } - - // - // Rule 230: jump_statement ::= continue ; - // - case 230: { - action.consumeStatementContinue(); - break; - } - - // - // Rule 231: jump_statement ::= return expression ; - // - case 231: { - action.consumeStatementReturn(true); - break; - } - - // - // Rule 232: jump_statement ::= return ; - // - case 232: { - action.consumeStatementReturn(false); - break; - } - - // - // Rule 233: jump_statement ::= goto identifier_token ; - // - case 233: { - action.consumeStatementGoto(); - break; - } - - // - // Rule 234: declaration_statement ::= block_declaration - // - case 234: { - action.consumeStatementDeclarationWithDisambiguation(); - break; - } - - // - // Rule 235: declaration_statement ::= function_definition - // - case 235: { - action.consumeStatementDeclaration(); - break; - } - - // - // Rule 243: declaration ::= ERROR_TOKEN - // - case 243: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 253: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; - // - case 253: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 254: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; - // - case 254: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 255: declaration_specifiers ::= simple_declaration_specifiers - // - case 255: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 256: declaration_specifiers ::= class_declaration_specifiers - // - case 256: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 257: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 257: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 258: declaration_specifiers ::= enum_declaration_specifiers - // - case 258: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 259: declaration_specifiers ::= type_name_declaration_specifiers - // - case 259: { - action.consumeDeclarationSpecifiersTypeName(); - break; - } - - // - // Rule 261: declaration_specifiers_opt ::= $Empty - // - case 261: { - action.consumeEmpty(); - break; - } - - // - // Rule 265: no_type_declaration_specifier ::= friend - // - case 265: { - action.consumeToken(); - break; - } - - // - // Rule 266: no_type_declaration_specifier ::= typedef - // - case 266: { - action.consumeToken(); - break; - } - - // - // Rule 286: storage_class_specifier ::= auto - // - case 286: { - action.consumeToken(); - break; - } - - // - // Rule 287: storage_class_specifier ::= register - // - case 287: { - action.consumeToken(); - break; - } - - // - // Rule 288: storage_class_specifier ::= static - // - case 288: { - action.consumeToken(); - break; - } - - // - // Rule 289: storage_class_specifier ::= extern - // - case 289: { - action.consumeToken(); - break; - } - - // - // Rule 290: storage_class_specifier ::= mutable - // - case 290: { - action.consumeToken(); - break; - } - - // - // Rule 291: function_specifier ::= inline - // - case 291: { - action.consumeToken(); - break; - } - - // - // Rule 292: function_specifier ::= virtual - // - case 292: { - action.consumeToken(); - break; - } - - // - // Rule 293: function_specifier ::= explicit - // - case 293: { - action.consumeToken(); - break; - } - - // - // Rule 294: simple_type_specifier ::= simple_type_specifier_token - // - case 294: { - action.consumeToken(); - break; - } - - // - // Rule 308: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name - // - case 308: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 309: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name - // - case 309: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 310: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name - // - case 310: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 311: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name - // - case 311: { - action.consumeQualifiedId(true); - break; - } - - // - // Rule 313: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name - // - case 313: { - action.consumeTypeSpecifierElaborated(false); - break; - } - - // - // Rule 314: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name - // - case 314: { - action.consumeTypeSpecifierElaborated(true); - break; - } - - // - // Rule 315: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name - // - case 315: { - action.consumeTypeSpecifierElaborated(false); - break; - } - - // - // Rule 319: enum_specifier ::= enum enum_specifier_hook { enumerator_list_opt comma_opt } - // - case 319: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 320: enum_specifier ::= enum enum_specifier_hook identifier_token { enumerator_list_opt comma_opt } - // - case 320: { - action.consumeTypeSpecifierEnumeration(true); - break; - } - - // - // Rule 326: enumerator_definition ::= identifier_token - // - case 326: { - action.consumeEnumerator(false); - break; - } - - // - // Rule 327: enumerator_definition ::= identifier_token = constant_expression - // - case 327: { - action.consumeEnumerator(true); - break; - } - - // - // Rule 329: namespace_definition ::= namespace namespace_name namespace_definition_hook { declaration_seq_opt } - // - case 329: { - action.consumeNamespaceDefinition(true); - break; - } - - // - // Rule 330: namespace_definition ::= namespace namespace_definition_hook { declaration_seq_opt } - // - case 330: { - action.consumeNamespaceDefinition(false); - break; - } - - // - // Rule 332: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; - // - case 332: { - action.consumeNamespaceAliasDefinition(); - break; - } - - // - // Rule 333: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; - // - case 333: { - action.consumeUsingDeclaration(); - break; - } - - // - // Rule 334: typename_opt ::= typename - // - case 334: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 335: typename_opt ::= $Empty - // - case 335: { - action.consumeEmpty(); - break; - } - - // - // Rule 336: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; - // - case 336: { - action.consumeUsingDirective(); - break; - } - - // - // Rule 337: linkage_specification ::= extern stringlit { declaration_seq_opt } - // - case 337: { - action.consumeLinkageSpecification(); - break; - } - - // - // Rule 338: linkage_specification ::= extern stringlit declaration - // - case 338: { - action.consumeLinkageSpecification(); - break; - } - - // - // Rule 343: init_declarator_complete ::= init_declarator - // - case 343: { - action.consumeInitDeclaratorComplete(); - break; - } - - // - // Rule 345: init_declarator ::= complete_declarator initializer - // - case 345: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 348: declarator ::= ptr_operator_seq direct_declarator - // - case 348: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 350: function_declarator ::= ptr_operator_seq direct_declarator - // - case 350: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 354: basic_direct_declarator ::= declarator_id_name - // - case 354: { - action.consumeDirectDeclaratorIdentifier(); - break; - } - - // - // Rule 355: basic_direct_declarator ::= ( declarator ) - // - case 355: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 356: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 356: { - action.consumeDirectDeclaratorFunctionDeclarator(true); - break; - } - - // - // Rule 357: array_direct_declarator ::= array_direct_declarator array_modifier - // - case 357: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 358: array_direct_declarator ::= basic_direct_declarator array_modifier - // - case 358: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 359: array_modifier ::= [ constant_expression ] - // - case 359: { - action.consumeDirectDeclaratorArrayModifier(true); - break; - } - - // - // Rule 360: array_modifier ::= [ ] - // - case 360: { - action.consumeDirectDeclaratorArrayModifier(false); - break; - } - - // - // Rule 361: ptr_operator ::= pointer_hook * pointer_hook cv_qualifier_seq_opt - // - case 361: { - action.consumePointer(); - break; - } - - // - // Rule 362: ptr_operator ::= pointer_hook & pointer_hook - // - case 362: { - action.consumeReferenceOperator(); - break; - } - - // - // Rule 363: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook cv_qualifier_seq_opt - // - case 363: { - action.consumePointerToMember(); - break; - } - - // - // Rule 370: cv_qualifier ::= const - // - case 370: { - action.consumeToken(); - break; - } - - // - // Rule 371: cv_qualifier ::= volatile - // - case 371: { - action.consumeToken(); - break; - } - - // - // Rule 373: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name - // - case 373: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 374: type_id ::= type_specifier_seq - // - case 374: { - action.consumeTypeId(false); - break; - } - - // - // Rule 375: type_id ::= type_specifier_seq abstract_declarator - // - case 375: { - action.consumeTypeId(true); - break; - } - - // - // Rule 378: abstract_declarator ::= ptr_operator_seq - // - case 378: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 379: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator - // - case 379: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 383: basic_direct_abstract_declarator ::= ( abstract_declarator ) - // - case 383: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 384: basic_direct_abstract_declarator ::= ( ) - // - case 384: { - action.consumeAbstractDeclaratorEmpty(); - break; - } - - // - // Rule 385: array_direct_abstract_declarator ::= array_modifier - // - case 385: { - action.consumeDirectDeclaratorArrayDeclarator(false); - break; - } - - // - // Rule 386: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier - // - case 386: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 387: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier - // - case 387: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 388: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 388: { - action.consumeDirectDeclaratorFunctionDeclarator(true); - break; - } - - // - // Rule 389: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 389: { - action.consumeDirectDeclaratorFunctionDeclarator(false); - break; - } - - // - // Rule 390: parameter_declaration_clause ::= parameter_declaration_list_opt ... - // - case 390: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 391: parameter_declaration_clause ::= parameter_declaration_list_opt - // - case 391: { - action.consumeEmpty(); - break; - } - - // - // Rule 392: parameter_declaration_clause ::= parameter_declaration_list , ... - // - case 392: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 398: abstract_declarator_opt ::= $Empty - // - case 398: { - action.consumeEmpty(); - break; - } - - // - // Rule 399: parameter_declaration ::= declaration_specifiers parameter_init_declarator - // - case 399: { - action.consumeParameterDeclaration(); - break; - } - - // - // Rule 400: parameter_declaration ::= declaration_specifiers - // - case 400: { - action.consumeParameterDeclarationWithoutDeclarator(); - break; - } - - // - // Rule 402: parameter_init_declarator ::= declarator = parameter_initializer - // - case 402: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 404: parameter_init_declarator ::= abstract_declarator = parameter_initializer - // - case 404: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 405: parameter_init_declarator ::= = parameter_initializer - // - case 405: { - action.consumeDeclaratorWithInitializer(false); - break; - } - - // - // Rule 406: parameter_initializer ::= assignment_expression - // - case 406: { - action.consumeInitializer(); - break; - } - - // - // Rule 407: function_definition ::= declaration_specifiers_opt function_declarator ctor_initializer_list_opt function_body - // - case 407: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 408: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body handler_seq - // - case 408: { - action.consumeFunctionDefinition(true); - break; - } - - // - // Rule 411: initializer ::= ( expression_list ) - // - case 411: { - action.consumeInitializerConstructor(); - break; - } - - // - // Rule 412: initializer_clause ::= assignment_expression - // - case 412: { - action.consumeInitializer(); - break; - } - - // - // Rule 413: initializer_clause ::= initializer_list - // - case 413: { - action.consumeInitializer(); - break; - } - - // - // Rule 414: initializer_list ::= start_initializer_list { initializer_seq , } end_initializer_list - // - case 414: { - action.consumeInitializerList(); - break; - } - - // - // Rule 415: initializer_list ::= start_initializer_list { initializer_seq } end_initializer_list - // - case 415: { - action.consumeInitializerList(); - break; - } - - // - // Rule 416: initializer_list ::= { } - // - case 416: { - action.consumeInitializerList(); - break; - } - - // - // Rule 417: start_initializer_list ::= $Empty - // - case 417: { - action.initializerListStart(); - break; - } - - // - // Rule 418: end_initializer_list ::= $Empty - // - case 418: { - action.initializerListEnd(); - break; - } - - // - // Rule 423: class_specifier ::= class_head { member_declaration_list_opt } - // - case 423: { - action.consumeClassSpecifier(); - break; - } - - // - // Rule 424: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook base_clause_opt - // - case 424: { - action.consumeClassHead(false); - break; - } - - // - // Rule 425: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook base_clause_opt - // - case 425: { - action.consumeClassHead(false); - break; - } - - // - // Rule 426: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook base_clause_opt - // - case 426: { - action.consumeClassHead(true); - break; - } - - // - // Rule 427: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook base_clause_opt - // - case 427: { - action.consumeClassHead(true); - break; - } - - // - // Rule 431: identifier_name_opt ::= $Empty - // - case 431: { - action.consumeEmpty(); - break; - } - - // - // Rule 435: visibility_label ::= access_specifier_keyword : - // - case 435: { - action.consumeVisibilityLabel(); - break; - } - - // - // Rule 436: member_declaration ::= declaration_specifiers_opt member_declarator_list ; - // - case 436: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 437: member_declaration ::= declaration_specifiers_opt ; - // - case 437: { - action.consumeDeclarationSimple(false); - break; - } - - // - // Rule 440: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; - // - case 440: { - action.consumeMemberDeclarationQualifiedId(); - break; - } - - // - // Rule 446: member_declaration ::= ERROR_TOKEN - // - case 446: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 455: member_declarator ::= declarator constant_initializer - // - case 455: { - action.consumeMemberDeclaratorWithInitializer(); - break; - } - - // - // Rule 456: member_declarator ::= bit_field_declarator : constant_expression - // - case 456: { - action.consumeBitField(true); - break; - } - - // - // Rule 457: member_declarator ::= : constant_expression - // - case 457: { - action.consumeBitField(false); - break; - } - - // - // Rule 458: bit_field_declarator ::= identifier_name - // - case 458: { - action.consumeDirectDeclaratorIdentifier(); - break; - } - - // - // Rule 459: constant_initializer ::= = constant_expression - // - case 459: { - action.consumeInitializer(); - break; - } - - // - // Rule 465: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name - // - case 465: { - action.consumeBaseSpecifier(false, false); - break; - } - - // - // Rule 466: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name - // - case 466: { - action.consumeBaseSpecifier(true, true); - break; - } - - // - // Rule 467: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name - // - case 467: { - action.consumeBaseSpecifier(true, true); - break; - } - - // - // Rule 468: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name - // - case 468: { - action.consumeBaseSpecifier(true, false); - break; - } - - // - // Rule 469: access_specifier_keyword ::= private - // - case 469: { - action.consumeToken(); - break; - } - - // - // Rule 470: access_specifier_keyword ::= protected - // - case 470: { - action.consumeToken(); - break; - } - - // - // Rule 471: access_specifier_keyword ::= public - // - case 471: { - action.consumeToken(); - break; - } - - // - // Rule 473: access_specifier_keyword_opt ::= $Empty - // - case 473: { - action.consumeEmpty(); - break; - } - - // - // Rule 475: conversion_function_id_name ::= conversion_function_id < template_argument_list_opt > - // - case 475: { - action.consumeTemplateId(); - break; - } - - // - // Rule 476: conversion_function_id ::= operator conversion_type_id - // - case 476: { - action.consumeConversionName(); - break; - } - - // - // Rule 477: conversion_type_id ::= type_specifier_seq conversion_declarator - // - case 477: { - action.consumeTypeId(true); - break; - } - - // - // Rule 478: conversion_type_id ::= type_specifier_seq - // - case 478: { - action.consumeTypeId(false); - break; - } - - // - // Rule 479: conversion_declarator ::= ptr_operator_seq - // - case 479: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 485: mem_initializer ::= mem_initializer_name ( expression_list_opt ) - // - case 485: { - action.consumeConstructorChainInitializer(); - break; - } - - // - // Rule 486: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name - // - case 486: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 489: operator_function_id_name ::= operator_id_name < template_argument_list_opt > - // - case 489: { - action.consumeTemplateId(); - break; - } - - // - // Rule 490: operator_id_name ::= operator overloadable_operator - // - case 490: { - action.consumeOperatorName(); - break; - } - - // - // Rule 533: template_declaration ::= export_opt template < template_parameter_list > declaration - // - case 533: { - action.consumeTemplateDeclaration(); - break; - } - - // - // Rule 534: export_opt ::= export - // - case 534: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 535: export_opt ::= $Empty - // - case 535: { - action.consumeEmpty(); - break; - } - - // - // Rule 539: template_parameter ::= parameter_declaration - // - case 539: { - action.consumeTemplateParamterDeclaration(); - break; - } - - // - // Rule 540: type_parameter ::= class identifier_name_opt - // - case 540: { - action.consumeSimpleTypeTemplateParameter(false); - break; - } - - // - // Rule 541: type_parameter ::= class identifier_name_opt = type_id - // - case 541: { - action.consumeSimpleTypeTemplateParameter(true); - break; - } - - // - // Rule 542: type_parameter ::= typename identifier_name_opt - // - case 542: { - action.consumeSimpleTypeTemplateParameter(false); - break; - } - - // - // Rule 543: type_parameter ::= typename identifier_name_opt = type_id - // - case 543: { - action.consumeSimpleTypeTemplateParameter(true); - break; - } - - // - // Rule 544: type_parameter ::= template < template_parameter_list > class identifier_name_opt - // - case 544: { - action.consumeTemplatedTypeTemplateParameter(false); - break; - } - - // - // Rule 545: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression - // - case 545: { - action.consumeTemplatedTypeTemplateParameter(true); - break; - } - - // - // Rule 546: template_id_name ::= identifier_name < template_argument_list_opt > - // - case 546: { - action.consumeTemplateId(); - break; - } - - // - // Rule 553: nested_name_specifier_inTemplate ::= class_or_namespace_name_inTemplate :: nested_name_specifier_with_template_inTemplate - // - case 553: { - action.consumeNestedNameSpecifier(true); - break; - } - - // - // Rule 554: nested_name_specifier_inTemplate ::= class_or_namespace_name_inTemplate :: - // - case 554: { - action.consumeNestedNameSpecifier(false); - break; - } - - // - // Rule 555: nested_name_specifier_with_template_inTemplate ::= class_or_namespace_name_with_template_inTemplate :: nested_name_specifier_with_template_inTemplate - // - case 555: { - action.consumeNestedNameSpecifier(true); - break; - } - - // - // Rule 556: nested_name_specifier_with_template_inTemplate ::= class_or_namespace_name_with_template_inTemplate :: - // - case 556: { - action.consumeNestedNameSpecifier(false); - break; - } - - // - // Rule 557: class_or_namespace_name_with_template_inTemplate ::= template_opt class_or_namespace_name_inTemplate - // - case 557: { - action.consumeNameWithTemplateKeyword(); - break; - } - - // - // Rule 559: nested_name_specifier_opt_inTemplate ::= $Empty - // - case 559: { - action.consumeNestedNameSpecifierEmpty(); - break; - } - - // - // Rule 562: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier identifier_name - // - case 562: { - action.consumeQualifiedId(false); - break; - } - - // - // Rule 563: type_name_specifier_inTemplate ::= typename dcolon_opt nested_name_specifier template_opt template_id_name - // - case 563: { - action.consumeQualifiedId(true); - break; - } - - // - // Rule 568: declaration_specifiers_inTemplate ::= simple_declaration_specifiers - // - case 568: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 569: declaration_specifiers_inTemplate ::= class_declaration_specifiers - // - case 569: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 570: declaration_specifiers_inTemplate ::= elaborated_declaration_specifiers - // - case 570: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 571: declaration_specifiers_inTemplate ::= enum_declaration_specifiers - // - case 571: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 572: declaration_specifiers_inTemplate ::= type_name_declaration_specifiers_inTemplate - // - case 572: { - action.consumeDeclarationSpecifiersTypeName(); - break; - } - - // - // Rule 574: type_id_inTemplate ::= type_specifier_seq_inTemplate - // - case 574: { - action.consumeTypeId(false); - break; - } - - // - // Rule 575: type_id_inTemplate ::= type_specifier_seq_inTemplate abstract_declarator - // - case 575: { - action.consumeTypeId(true); - break; - } - - // - // Rule 576: template_argument ::= assignment_expression_inTemplate - // - case 576: { - action.consumeTemplateArgumentExpression(); - break; - } - - // - // Rule 577: template_argument ::= type_id_inTemplate - // - case 577: { - action.consumeTemplateArgumentTypeId(); - break; - } - - // - // Rule 578: explicit_instantiation ::= template declaration - // - case 578: { - action.consumeTemplateExplicitInstantiation(); - break; - } - - // - // Rule 579: explicit_specialization ::= template < > declaration - // - case 579: { - action.consumeTemplateExplicitSpecialization(); - break; - } - - // - // Rule 580: try_block ::= try compound_statement handler_seq - // - case 580: { - action.consumeStatementTryBlock(true); - break; - } - - // - // Rule 581: try_block ::= try compound_statement - // - case 581: { - action.consumeStatementTryBlock(false); - break; - } - - // - // Rule 584: handler ::= catch ( exception_declaration ) compound_statement - // - case 584: { - action.consumeStatementCatchHandler(false); - break; - } - - // - // Rule 585: handler ::= catch ( ... ) compound_statement - // - case 585: { - action.consumeStatementCatchHandler(true); - break; - } - - // - // Rule 586: exception_declaration ::= type_specifier_seq declarator - // - case 586: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 587: exception_declaration ::= type_specifier_seq abstract_declarator - // - case 587: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 588: exception_declaration ::= type_specifier_seq - // - case 588: { - action.consumeDeclarationSimple(false); - break; - } - - // - // Rule 590: exception_specification ::= throw ( ) - // - case 590: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 611: attribute_parameter ::= assignment_expression - // - case 611: { - action.consumeIgnore(); - break; - } - - // - // Rule 622: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; - // - case 622: { - gnuAction.consumeDeclarationASM(); - break; - } - - // - // Rule 633: unary_expression ::= __alignof__ unary_expression - // - case 633: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); - break; - } - - // - // Rule 634: unary_expression ::= typeof unary_expression - // - case 634: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); - break; - } - - // - // Rule 635: relational_expression ::= relational_expression >? shift_expression - // - case 635: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); - break; - } - - // - // Rule 636: relational_expression ::= relational_expression : assignment_expression - // - case 637: { - action.consumeExpressionConditional(); - break; - } - - // - // Rule 638: primary_expression ::= ( compound_statement ) - // - case 638: { - gnuAction.consumeCompoundStatementExpression(); - break; - } - - // - // Rule 639: labeled_statement ::= case case_range_expression : statement - // - case 639: { - action.consumeStatementCase(); - break; - } - - // - // Rule 640: case_range_expression ::= constant_expression ... constant_expression - // - case 640: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); - break; - } - - // - // Rule 644: typeof_type_specifier ::= typeof unary_expression - // - case 644: { - action.consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); - break; - } - - // - // Rule 645: typeof_type_specifier ::= typeof ( type_id ) - // - case 645: { - action.consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); - break; - } - - // - // Rule 646: declaration_specifiers ::= typeof_declaration_specifiers - // - case 646: { - action.consumeDeclarationSpecifiersTypeof(); - break; - } - - // - // Rule 659: declarator ::= ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator - // - case 659: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 662: simple_type_specifier ::= _Complex - // - case 662: { - action.consumeToken(); - break; - } - - // - // Rule 663: simple_type_specifier ::= _Imaginary - // - case 663: { - action.consumeToken(); - break; - } - - // - // Rule 664: cv_qualifier ::= restrict - // - case 664: { - action.consumeToken(); - break; - } - - // - // Rule 665: explicit_instantiation ::= extern template declaration - // - case 665: { - action.consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_extern); - break; - } - - // - // Rule 666: explicit_instantiation ::= static template declaration - // - case 666: { - action.consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_static); - break; - } - - // - // Rule 667: explicit_instantiation ::= inline template declaration - // - case 667: { - action.consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_inline); - break; - } - - // - // Rule 668: postfix_expression ::= ( type_id ) initializer_list - // - case 668: { - action.consumeExpressionTypeIdInitializer(); - break; - } - - // - // Rule 670: no_sizeof_type_id_start ::= ERROR_TOKEN - // - case 670: { - action.consumeEmpty(); - break; - } - - default: - break; - } - return; - } -} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParserprs.java deleted file mode 100644 index 1ba43a006c1..00000000000 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParserprs.java +++ /dev/null @@ -1,1850 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2015 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.lrparser.gpp; - -public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, GPPSizeofExpressionParsersym { - - 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 }; - } - - 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, 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, 5, 6, 3, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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, 2, 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, -65, 0, 0, 0, 0, -56, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -44, 0, 0, - 0, 0, 0, -266, -534, -17, -251, -407, 0, 0, 0, 0, -55, -360, 0, -493, 0, 0, 0, 0, -243, 0, 0, 0, 0, 0, - 0, 0, -69, -66, 0, 0, 0, 0, 0, 0, 0, -255, 0, 0, -457, 0, 0, 0, 0, 0, 0, -218, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -61, -539, 0, 0, 0, 0, 0, 0, 0, -68, 0, 0, 0, -2, 0, 0, 0, 0, 0, -224, 0, 0, 0, -436, 0, 0, 0, 0, - -484, 0, 0, 0, 0, 0, 0, 0, 0, 0, -451, -147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, -5, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, -467, 0, 0, 0, -120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -134, 0, 0, 0, 0, 0, 0, -60, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, -121, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0, -160, 0, 0, - 0, 0, 0, 0, 0, 0, -152, 0, 0, 0, 0, -9, 0, -193, 0, 0, 0, -128, -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, -677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -148, 0, - -328, 0, 0, 0, 0, -16, 0, 0, 0, 0, -11, 0, 0, 0, 0, 0, -12, 0, 0, -13, 0, -335, 0, 0, 0, 0, 0, 0, -485, - 0, 0, 0, 0, -308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15, - -82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -518, 0, 0, 0, 0, 0, 0, - 0, 0, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -284, 0, 0, 0, 0, -30, 0, -411, 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, -317, 0, 0, 0, -325, 0, 0, 0, 0, 0, -31, 0, - 0, -32, 0, 0, 0, 0, 0, 0, -33, 0, -139, -34, 0, 0, 0, 0, -551, 0, 0, 0, 0, -35, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -326, 0, 0, 0, -118, -575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -36, - 0, 0, -434, 0, -159, 0, 0, 0, -250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -549, 0, -509, 0, 0, 0, 0, -37, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -408, 0, 0, 0, 0, -599, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -640, 0, 0, 0, 0, 0, 0, 0, -469, 0, 0, 0, 0, -313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -336, 0, 0, 0, -214, 0, -546, 0, 0, 0, 0, 0, 0, 0, 0, 0, -140, 0, 0, 0, -550, 0, -75, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -38, 0, 0, 0, -3, 0, 0, 0, 0, -416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -364, 0, 0, 0, 0, -252, -258, 0, 0, 0, 0, 0, 0, 0, 0, 0, -220, 0, 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, -481, 0, 0, - -362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -453, -39, 0, 0, 0, 0, -490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -505, 0, 0, -40, 0, -256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -42, - 0, 0, 0, 0, -365, 0, 0, 0, 0, -76, 0, 0, 0, 0, -57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -491, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -522, -466, 0, -409, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -221, 0, 0, 0, 0, 0, -580, 0, 0, 0, 0, -482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -262, -568, 0, 0, -156, 0, -58, 0, 0, 0, 0, 0, 0, 0, 0, 0, -447, 0, 0, 0, 0, 0, - -41, 0, 0, 0, 0, -543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -422, 0, 0, 0, - -166, -231, -489, 0, 0, 0, -670, 0, 0, -526, 0, 0, 0, 0, 0, 0, -70, 0, -544, 0, 0, 0, 0, -43, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -483, 0, 0, 0, 0, -71, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -503, 0, 0, 0, 0, 0, -100, 0, 0, 0, 0, -390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -257, 0, 0, -101, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -529, 0, 0, 0, -51, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -73, 0, 0, 0, 0, 0, -102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -554, -74, -114, -115, -52, -253, 0, 0, 0, 0, 0, 0, 0, 0, 0, -237, -116, 0, - 0, -117, 0, -103, 0, 0, 0, 0, -576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -572, - 0, 0, 0, 0, -124, -646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -62, 0, -104, 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, -579, 0, 0, 0, -59, -647, 0, 0, 0, 0, 0, 0, - -126, 0, 0, 0, 0, 0, 0, 0, 0, -105, 0, 0, 0, 0, -63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -644, -356, -142, -347, -348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -269, -113, 0, 0, 0, 0, -106, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -216, -392, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -119, 0, -107, 0, 0, 0, 0, -161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -228, -488, 0, 0, 0, 0, -229, 0, 0, 0, 0, 0, 0, -417, 0, 0, 0, 0, 0, 0, - -149, 0, -108, 0, 0, 0, 0, -165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -312, - -610, 0, 0, -150, 0, 0, 0, 0, 0, 0, 0, -151, 0, 0, -167, -213, 0, 0, -233, 0, -109, 0, 0, 0, 0, -445, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -235, 0, 0, -435, -261, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -322, -263, 0, 0, -315, 0, -110, 0, 0, 0, 0, -168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -323, 0, 0, -169, -571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -520, -327, 0, 0, -330, 0, - -145, 0, 0, 0, 0, -170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -329, -349, 0, - -171, -358, 0, 0, 0, 0, 0, 0, 0, -357, 0, 0, -438, 0, 0, 0, -241, 0, 0, 0, 0, -359, 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, 0, 0, 0, 0, 0, 0, 0, -634, 0, 0, -448, 0, - 0, 0, 0, -265, 0, 0, 0, -611, 0, 0, 0, 0, 0, -472, -172, -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, -630, 0, 0, 0, -499, 0, 0, 0, 0, 0, 0, 0, 0, 0, -473, 0, 0, 0, - -173, 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, 0, -386, -462, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -174, 0, 0, -598, -366, 0, 0, 0, 0, -295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -210, -83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -397, 0, -175, 0, 0, -176, 0, -638, 0, 0, 0, 0, 0, 0, -177, - 0, 0, 0, 0, 0, -296, 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, - -219, -84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -179, 0, 0, 0, 0, 0, - -402, -180, -404, 0, -406, 0, 0, 0, -412, 0, -661, 0, 0, 0, -367, 0, 0, 0, 0, -297, 0, 0, 0, 0, -181, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -222, -85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -182, 0, 0, 0, 0, 0, -430, -183, -433, 0, -446, 0, 0, 0, -452, 0, - -184, 0, 0, 0, -368, 0, 0, 0, 0, -298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -403, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -185, 0, 0, - 0, 0, 0, 0, -479, -186, -480, 0, -494, 0, 0, 0, -528, 0, -187, 0, 0, 0, -369, 0, 0, 0, 0, -299, 0, 0, 0, - 0, -536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -475, -23, 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, -532, -189, -535, 0, -552, 0, 0, - 0, -583, 0, -190, 0, 0, 0, -387, 0, 0, 0, 0, -300, 0, 0, 0, 0, -558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -506, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -191, 0, 0, 0, 0, 0, -605, -192, -609, 0, -613, 0, 0, 0, -619, 0, -195, 0, 0, 0, -389, 0, 0, 0, 0, - -301, 0, 0, 0, 0, -569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -566, -25, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -199, 0, 0, 0, 0, 0, -636, -637, -651, - 0, 0, 0, 0, 0, -654, -200, -201, 0, 0, 0, -421, 0, 0, 0, 0, -302, 0, 0, 0, 0, -573, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -593, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -202, 0, 0, 0, 0, 0, -662, -203, -204, 0, -205, 0, 0, -206, -207, -208, -212, 0, 0, - -215, -426, 0, 0, 0, 0, -303, 0, 0, 0, 0, -574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -633, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -225, 0, 0, 0, - 0, 0, -227, -232, -238, 0, -240, -242, 0, -657, 0, 0, 0, 0, 0, -244, -428, 0, 0, 0, 0, -304, 0, 0, 0, 0, - -581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -245, 0, -246, -247, -249, -525, -264, -276, -277, 0, -285, - -314, 0, -667, 0, 0, 0, 0, 0, -320, -432, 0, 0, 0, 0, -305, 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, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -547, -333, 0, -631, 0, 0, -337, -602, -545, -339, 0, -340, 0, 0, -668, 0, 0, 0, 0, 0, -345, - -443, 0, 0, 0, 0, -464, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -420, -353, 0, -354, -578, 0, - -64, -355, -363, -374, 0, 0, -601, 0, -375, -626, -533, -376, 0, 0, 0, 0, 0, 0, 0, 0, -555, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -675, 0, 0, 0, 0, 0, 0, 0, -377, - 0, 0, -410, 0, 0, -378, -460, 0, 0, -461, 0, -198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -380, 0, 0, 0, 0, -463, -381, - -162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -620, 0, 0, -164, 0, 0, 0, 0, -608, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -616, -382, - -649, -671, -383, 0, 0, 0, 0, 0, -384, 0, 0, -468, -470, 0, 0, -524, 0, 0, 0, 0, -471, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -385, 0, 0, 0, -388, -393, -395, 0, 0, 0, 0, 0, 0, -396, 0, - 0, -414, -415, 0, 0, -514, -530, -560, -565, -567, -537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -439, 0, 0, -454, 0, 0, -577, -607, 0, 0, - -548, 0, 0, 0, 0, 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, -459, - -476, -477, -486, -487, 0, 0, -495, 0, 0, -497, 0, 0, -515, -516, 0, 0, -615, -617, -618, -643, -645, - -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, 0, 0, 0, 0, 0, -521, - -504, -561, 0, 0, -538, 0, 0, -540, 0, 0, -669, -556, 0, 0, -592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -562, 0, 0, 0, -564, -570, -584, -585, 0, 0, -586, 0, 0, -596, 0, - 0, -597, -603, 0, 0, -614, -627, 0, 0, -628, -112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -629, -639, -655, -656, -672, -674, -676, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -307, 0, 0, 0, 0, 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, 0, 0, 0, 0, -146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, 0, 0, 0, 0, 0, 0, -127, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -54, 0, 0, 0, 0, 0, -1, -217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -123, 0, 0, 0, 0, 0, 0, -444, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -440, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -531, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -79, 0, 0, 0, 0, - -474, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -508, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -292, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -500, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -309, 0, 0, - 0, -130, 0, 0, 0, -197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -95, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, -196, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -291, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -398, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -510, 0, 0, 0, 0, 0, 0, 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, -589, 0, 0, 0, 0, 0, 0, 0, 0, 0, -50, 0, 0, - 0, 0, 0, -268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -652, - 0, 0, 0, 0, 0, 0, -394, 0, 0, 0, 0, 0, -590, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -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, -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, -155, -77, 0, 0, 0, 0, 0, 0, -507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -273, 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, 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, -541, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 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, 0, 0, 0, - 0, -332, 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, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -278, 0, 0, 0, -131, 0, 0, - 0, -361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -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, 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, 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, 0, 0, 0, -248, -157, 0, 0, 0, 0, 0, 0, -122, -342, 0, 0, 0, 0, 0, 0, -351, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -338, 0, 0, 0, 0, 0, 0, 0, -144, -557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -632, 0, 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, 0, 0, 0, 0, 0, 0, 0, -419, 0, 0, 0, 0, -49, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -437, 0, 0, 0, 0, -211, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -425, 0, 0, 0, 0, 0, 0, 0, -456, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -496, -274, -275, 0, 0, 0, 0, 0, 0, -133, 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, 0, 0, 0, 0, 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, -306, 0, 0, 0, 0, 0, 0, -136, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -502, -371, 0, 0, 0, 0, 0, 0, -209, -343, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -455, 0, 0, 0, 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, -279, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -641, 0, 0, 0, 0, 0, -648, 0, 0, 0, 0, 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, -588, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -501, -280, 0, 0, 0, 0, 0, -137, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -334, 0, -523, -612, 0, 0, 0, 0, 0, 0, - -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, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -21, 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, 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, -283, 0, 0, -153, 0, 0, 0, -582, 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, -72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -310, 0, 0, 0, 0, - -663, 0, 0, 0, -346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -587, 0, 0, 0, 0, 0, - -311, 0, 0, 0, 0, 0, -427, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -621, 0, 0, 0, 0, 0, 0, 0, -318, 0, - 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -624, -429, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -653, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 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, -254, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -230, 0, 0, 0, 0, 0, 0, 0, 0, -163, 0, 0, 0, - 0, -399, -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -321, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -324, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -449, 0, 0, 0, -660, 0, 0, 0, 0, 0, 0, 0, -450, 0, 0, 0, - -664, -517, 0, 0, 0, 0, -563, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -635, 0, 0, 0, -400, 0, 0, 0, -401, 0, 0, 0, 0, 0, 0, -658, 0, 0, 0, 0, -659, 0, 0, 0, 0, -391, 0, - 0, 0, -465, 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, 0, 0, 0, 0, 0, -47, 0, 0, 0, -48, 0, 0, 0, 0, 0, 0, -260, -665, -666, -673, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[index]; - } - - public interface BaseAction0 { - public final static char baseAction0[] = { 205, 5, 141, 103, 103, 32, 32, 99, 99, 47, 47, 43, 43, 238, 1, 1, 16, - 16, 16, 16, 16, 16, 16, 17, 17, 17, 15, 11, 11, 6, 6, 6, 6, 6, 6, 2, 84, 84, 4, 4, 12, 12, 53, 53, 166, - 166, 167, 81, 81, 49, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 168, - 168, 168, 143, 143, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 206, 206, 207, 207, 208, - 171, 171, 172, 172, 169, 169, 173, 170, 170, 21, 21, 22, 22, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 26, - 26, 26, 35, 35, 35, 35, 35, 36, 36, 36, 38, 38, 39, 39, 41, 41, 42, 42, 45, 45, 46, 46, 54, 54, 54, 54, - 54, 62, 62, 62, 65, 65, 70, 70, 71, 71, 74, 74, 75, 75, 76, 76, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 34, 34, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 44, 33, 174, 174, 111, 111, 209, - 209, 104, 239, 239, 91, 91, 91, 91, 91, 91, 91, 91, 91, 92, 92, 92, 86, 86, 63, 63, 210, 210, 93, 93, - 93, 124, 124, 211, 211, 94, 94, 94, 94, 212, 212, 95, 95, 95, 95, 95, 96, 96, 100, 100, 100, 100, 100, - 100, 100, 100, 55, 55, 55, 55, 55, 144, 144, 142, 142, 56, 213, 31, 31, 31, 31, 31, 52, 52, 78, 78, 78, - 78, 78, 149, 149, 145, 145, 145, 145, 145, 146, 146, 146, 147, 147, 147, 148, 148, 148, 176, 176, 176, - 79, 79, 79, 79, 79, 80, 80, 80, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 112, 150, 150, 150, 150, - 150, 150, 119, 119, 119, 177, 178, 178, 120, 120, 214, 180, 180, 179, 179, 151, 151, 125, 89, 89, 152, - 58, 51, 181, 181, 59, 102, 102, 182, 182, 175, 175, 153, 154, 154, 155, 83, 83, 183, 183, 72, 72, 72, - 67, 67, 66, 73, 73, 98, 98, 82, 82, 82, 69, 105, 105, 114, 113, 113, 61, 61, 68, 68, 85, 85, 64, 115, - 115, 115, 106, 106, 106, 107, 107, 108, 108, 108, 109, 109, 126, 126, 126, 128, 128, 127, 127, 240, 240, - 110, 110, 216, 216, 216, 216, 216, 157, 50, 50, 185, 215, 215, 158, 158, 116, 116, 116, 117, 187, 217, - 217, 40, 40, 118, 122, 122, 122, 122, 219, 130, 129, 129, 121, 121, 121, 188, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 221, 221, 218, 218, 220, 220, 132, 133, 133, 133, 133, 134, 222, 135, 131, - 131, 223, 223, 190, 190, 190, 190, 123, 123, 123, 224, 224, 8, 8, 9, 225, 225, 226, 191, 184, 184, 192, - 192, 193, 194, 194, 7, 7, 10, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 87, 90, 90, 195, 195, 160, 160, 161, 161, 161, 161, 161, 161, 3, 162, 162, - 159, 159, 196, 241, 242, 242, 243, 243, 244, 245, 245, 197, 198, 198, 198, 198, 228, 228, 228, 137, 137, - 137, 137, 137, 138, 139, 139, 136, 136, 101, 88, 97, 97, 186, 186, 140, 140, 229, 229, 229, 163, 163, - 156, 156, 230, 230, 27, 27, 27, 37, 37, 28, 28, 231, 231, 199, 199, 199, 200, 200, 232, 232, 201, 201, - 29, 29, 233, 233, 202, 202, 202, 202, 30, 60, 234, 234, 235, 235, 203, 203, 203, 164, 164, 164, 19, 19, - 35, 35, 46, 17, 92, 236, 204, 204, 204, 165, 165, 31, 57, 78, 155, 155, 155, 132, 132, 132, 214, 219, - 130, 69, 83, 177, 152, 13, 13, 61, 101, 101, 101, 18, 205, 205, 1591, 35, 2221, 2213, 6728, 4801, 27, - 30, 31, 1080, 1122, 26, 28, 2179, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 648, - 595, 596, 597, 1701, 35, 3297, 175, 1229, 1305, 531, 1278, 1511, 306, 1414, 1546, 366, 55, 1560, 174, - 5873, 189, 1418, 4279, 2392, 3356, 3862, 2676, 3778, 4019, 671, 1418, 2150, 3390, 264, 1896, 35, 1077, - 32, 7411, 3252, 27, 30, 31, 1080, 1122, 372, 28, 2773, 1968, 187, 267, 262, 263, 5261, 260, 376, 3475, - 187, 187, 1309, 2078, 598, 595, 596, 597, 2159, 366, 747, 2039, 2066, 7335, 4993, 232, 237, 247, 7273, - 4801, 3216, 236, 244, 245, 246, 248, 647, 307, 842, 210, 775, 3450, 1221, 274, 277, 280, 4683, 1015, - 1701, 35, 1771, 422, 1212, 352, 2172, 354, 3149, 2676, 3778, 348, 1423, 638, 1983, 238, 240, 242, 3686, - 2650, 2554, 366, 4043, 4007, 5008, 5581, 6434, 283, 579, 239, 241, 598, 595, 596, 597, 172, 1283, 385, - 78, 532, 306, 2952, 641, 668, 2165, 379, 1059, 814, 382, 274, 1319, 829, 213, 6070, 3031, 35, 1077, 32, - 5599, 4778, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, - 1219, 3070, 6137, 322, 3681, 35, 1077, 32, 5599, 160, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, - 50, 1177, 104, 75, 76, 105, 1510, 69, 3055, 3738, 1089, 3779, 308, 267, 35, 312, 3133, 6007, 386, 3071, - 1701, 1881, 2064, 34, 3141, 3140, 2159, 464, 3143, 3146, 159, 576, 3031, 35, 1077, 32, 5599, 4778, 27, - 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3070, 582, - 322, 4189, 35, 1077, 32, 5599, 160, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, - 75, 76, 106, 1216, 2224, 3055, 2650, 1385, 3779, 547, 573, 4687, 577, 3133, 3447, 5727, 3071, 654, 668, - 2165, 1841, 3141, 3140, 455, 2322, 3143, 3146, 159, 576, 267, 35, 312, 2993, 6074, 749, 3147, 1701, 35, - 2064, 3296, 3464, 3031, 35, 1077, 32, 5599, 4778, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, - 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3070, 603, 3677, 2337, 35, 1077, 32, 6141, 160, 27, 30, 31, - 1080, 1122, 26, 28, 2115, 364, 545, 2261, 547, 573, 4687, 577, 2347, 35, 1077, 32, 3055, 549, 41, 30, - 31, 1080, 1122, 844, 3133, 2423, 939, 3071, 3915, 35, 310, 3148, 3141, 3140, 3147, 3444, 3143, 3146, - 159, 576, 3328, 35, 1077, 32, 5599, 4778, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, - 104, 75, 76, 106, 1216, 1226, 1219, 3070, 582, 1034, 4189, 35, 1077, 32, 5599, 160, 27, 30, 31, 1080, - 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 2284, 3055, 1701, 35, 328, 547, 573, - 4687, 577, 3133, 387, 3213, 3071, 416, 42, 3295, 5734, 3141, 3140, 1712, 2681, 3143, 3146, 159, 576, - 267, 35, 564, 3217, 6580, 5069, 3147, 3397, 35, 1077, 32, 5599, 3814, 27, 30, 31, 1080, 1122, 26, 28, - 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 1701, 35, 7515, 7511, 3870, 35, - 310, 175, 1229, 1305, 264, 1278, 1511, 1739, 1414, 1546, 2159, 702, 1560, 174, 67, 412, 2150, 4798, 548, - 573, 4687, 577, 3185, 35, 1077, 32, 5599, 2196, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, - 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 1701, 35, 2064, 309, 1453, 2746, 3366, 175, 1229, 1305, - 4019, 1278, 1511, 3085, 1414, 1546, 2159, 644, 1560, 174, 4096, 412, 2436, 35, 1077, 32, 1701, 2065, 40, - 30, 31, 1080, 1122, 1617, 413, 2165, 376, 1701, 3778, 3539, 35, 1077, 32, 5599, 79, 27, 30, 31, 1080, - 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 1701, 35, 315, - 2991, 494, 1704, 3373, 175, 1229, 1305, 419, 1278, 1511, 389, 1414, 1546, 2159, 3814, 1560, 174, 591, - 412, 1011, 413, 2165, 3470, 35, 1077, 32, 5599, 3676, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, - 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 2642, 35, 2064, 309, 3676, 477, 3444, 175, 1229, - 1305, 613, 1278, 1511, 420, 1414, 1546, 2150, 2160, 1560, 174, 150, 611, 1344, 35, 1077, 32, 7306, 702, - 27, 30, 31, 1080, 1122, 57, 28, 454, 614, 413, 2165, 3808, 35, 1077, 32, 5599, 3577, 27, 30, 31, 1080, - 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 1701, 3772, 2064, - 73, 323, 3252, 3464, 175, 1229, 1305, 472, 1278, 1511, 410, 1414, 1546, 3323, 2273, 1560, 174, 3830, - 189, 3808, 35, 1077, 32, 5599, 481, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, - 75, 76, 106, 1216, 1226, 1219, 1239, 747, 3794, 4158, 230, 493, 3977, 388, 175, 1229, 1305, 2307, 1278, - 1511, 591, 1414, 1546, 3971, 257, 1560, 174, 2360, 406, 3808, 35, 1077, 32, 5599, 357, 27, 30, 31, 1080, - 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 267, 35, 487, 72, - 7445, 1701, 3451, 175, 1229, 1305, 609, 1278, 1511, 3062, 1414, 1546, 616, 2175, 1560, 174, 3456, 406, - 2642, 35, 2064, 3775, 61, 1474, 35, 1077, 32, 7306, 1406, 27, 30, 31, 1080, 1122, 56, 28, 2423, 3694, - 615, 415, 3808, 35, 1077, 32, 5599, 829, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, - 104, 75, 76, 106, 1216, 1226, 1219, 1239, 3875, 2246, 1357, 1701, 35, 2064, 311, 175, 1229, 1305, 405, - 1278, 1511, 424, 1414, 1546, 366, 461, 1560, 174, 7369, 406, 3612, 35, 1077, 32, 5599, 4158, 27, 30, 31, - 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 3640, 3149, - 44, 3295, 2150, 5585, 2187, 175, 1229, 1305, 404, 1278, 1511, 1866, 1414, 1546, 3149, 86, 1560, 174, - 100, 611, 3259, 35, 1077, 32, 5599, 4158, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, - 104, 75, 76, 106, 1216, 1226, 1219, 1239, 1701, 35, 2064, 3782, 2150, 2150, 2837, 175, 1229, 1305, 3814, - 1278, 1511, 1309, 1414, 1546, 361, 368, 1560, 174, 556, 173, 4158, 480, 3871, 3875, 60, 3808, 35, 1077, - 32, 5599, 402, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, - 1226, 1219, 1239, 1701, 35, 2064, 314, 6594, 1129, 425, 175, 1229, 1305, 461, 1278, 1511, 1866, 1414, - 1546, 4096, 1941, 1560, 174, 3738, 190, 3808, 35, 1077, 32, 5599, 2261, 27, 30, 31, 1080, 1122, 26, 28, - 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 1701, 35, 2064, 563, 51, 359, - 427, 175, 1229, 1305, 461, 1278, 1511, 3789, 1414, 1546, 2909, 368, 1560, 174, 1413, 186, 610, 3808, 35, - 1077, 32, 5599, 3789, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, - 1216, 1226, 1219, 1239, 426, 2246, 626, 70, 461, 55, 91, 175, 1229, 1305, 848, 1278, 1511, 356, 1414, - 1546, 1331, 625, 1560, 174, 591, 185, 3808, 35, 1077, 32, 5599, 423, 27, 30, 31, 1080, 1122, 26, 28, - 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 3693, 2837, 1461, 940, 1035, 55, - 3252, 175, 1229, 1305, 926, 1278, 1511, 1866, 1414, 1546, 3017, 1130, 1560, 174, 1973, 184, 3808, 35, - 1077, 32, 5599, 4224, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, - 1216, 1226, 1219, 1239, 1701, 35, 328, 3831, 229, 1222, 3464, 175, 1229, 1305, 481, 1278, 1511, 1866, - 1414, 1546, 367, 368, 1560, 174, 4801, 183, 3808, 35, 1077, 32, 5599, 1737, 27, 30, 31, 1080, 1122, 26, - 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 747, 2246, 1283, 877, 2368, - 55, 3464, 175, 1229, 1305, 1016, 1278, 1511, 1862, 1414, 1546, 2983, 368, 1560, 174, 585, 182, 3808, 35, - 1077, 32, 5599, 4801, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, - 1216, 1226, 1219, 1239, 747, 2837, 366, 2176, 3252, 3252, 7423, 175, 1229, 1305, 24, 1278, 1511, 1866, - 1414, 1546, 3171, 4801, 1560, 174, 584, 181, 3808, 35, 1077, 32, 5599, 3629, 27, 30, 31, 1080, 1122, 26, - 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 68, 87, 233, 231, 100, 55, - 4565, 175, 1229, 1305, 7110, 1278, 1511, 1866, 1414, 1546, 363, 368, 1560, 174, 4801, 180, 3808, 35, - 1077, 32, 5599, 4801, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, - 1216, 1226, 1219, 1239, 55, 3451, 1283, 53, 438, 1061, 3464, 175, 1229, 1305, 721, 1278, 1511, 3363, - 1414, 1546, 3139, 368, 1560, 174, 1863, 179, 3808, 35, 1077, 32, 5599, 4801, 27, 30, 31, 1080, 1122, 26, - 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 2356, 1319, 2543, 35, 487, - 4899, 7445, 175, 1229, 1305, 52, 1278, 1511, 4850, 1414, 1546, 352, 3567, 1560, 174, 4801, 178, 3808, - 35, 1077, 32, 5599, 4101, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, - 1216, 1226, 1219, 1239, 601, 55, 1399, 383, 3252, 55, 6465, 175, 1229, 1305, 731, 1278, 1511, 358, 1414, - 1546, 3464, 4801, 1560, 174, 4801, 177, 3808, 35, 1077, 32, 5599, 447, 27, 30, 31, 1080, 1122, 26, 28, - 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 88, 55, 253, 621, 2353, 3578, - 725, 175, 1229, 1305, 2675, 1278, 1511, 1283, 1414, 1546, 3912, 4801, 1560, 174, 4801, 176, 3746, 35, - 1077, 32, 5599, 2828, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, - 1216, 1226, 1219, 1239, 3510, 55, 1405, 2679, 2833, 1586, 1179, 1281, 1229, 1305, 813, 1278, 1511, 366, - 1414, 1546, 462, 7435, 3218, 195, 4189, 35, 1077, 32, 5599, 4801, 27, 30, 31, 1080, 1122, 26, 28, 1071, - 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 484, 3871, 3875, 4039, 35, 313, 602, - 3677, 1229, 1305, 2757, 1278, 1511, 3782, 1414, 1546, 366, 7465, 3218, 195, 7440, 1701, 35, 1771, 422, - 1701, 35, 1771, 422, 360, 1717, 2773, 2556, 3808, 35, 1077, 32, 5599, 2919, 27, 30, 31, 1080, 1122, 26, - 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 583, 49, 2067, 35, 430, 486, - 3252, 175, 1229, 1305, 46, 1278, 1511, 628, 1414, 1546, 3464, 3377, 1560, 174, 2652, 637, 3808, 35, - 1077, 32, 5599, 1766, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, - 1216, 1226, 1219, 1239, 55, 4163, 35, 562, 5802, 1615, 4274, 175, 1229, 1305, 2905, 1278, 1511, 2738, - 1414, 1546, 3066, 4801, 1560, 174, 7507, 138, 3941, 35, 1077, 32, 5599, 2527, 27, 30, 31, 1080, 1122, - 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3070, 67, 642, 4189, 35, 1077, - 32, 5599, 160, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 2310, 345, - 3055, 599, 595, 596, 597, 262, 3925, 3889, 3133, 1815, 3953, 3071, 1701, 35, 1771, 422, 3141, 3140, 464, - 4015, 3143, 3146, 159, 171, 3375, 3941, 35, 1077, 32, 5599, 3020, 27, 30, 31, 1080, 1122, 26, 28, 1071, - 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3070, 465, 2668, 4189, 35, 1077, 32, 5599, - 160, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 2333, 3022, 3055, - 599, 595, 596, 597, 55, 2060, 55, 3133, 55, 1496, 3071, 1641, 55, 803, 4010, 3141, 3140, 1718, 4801, - 3143, 3146, 159, 170, 3941, 35, 1077, 32, 5599, 5005, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, - 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3070, 66, 1956, 4189, 35, 1077, 32, 5599, 160, 27, 30, 31, - 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 2359, 5009, 3055, 599, 595, 596, 597, - 55, 732, 55, 3133, 55, 4544, 3071, 1782, 55, 7064, 1721, 3141, 3140, 1614, 4801, 3143, 3146, 159, 169, - 3941, 35, 1077, 32, 5599, 2368, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, - 76, 106, 1216, 1226, 1219, 3070, 65, 1117, 4189, 35, 1077, 32, 5599, 160, 27, 30, 31, 1080, 1122, 26, - 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 84, 929, 583, 3055, 599, 595, 596, 597, 55, 2842, 55, - 3133, 55, 1690, 3071, 1734, 55, 1915, 2924, 3141, 3140, 2013, 4801, 3143, 3146, 159, 168, 3941, 35, - 1077, 32, 5599, 4575, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, - 1216, 1226, 1219, 3070, 64, 1839, 4189, 1881, 1077, 1916, 5599, 160, 27, 30, 31, 1080, 1122, 26, 28, - 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 83, 436, 357, 3055, 599, 595, 596, 597, 55, 2354, 55, 3133, - 55, 6732, 3071, 4903, 55, 1184, 2530, 3141, 3140, 6806, 4585, 3143, 3146, 159, 167, 3941, 35, 1077, 32, - 5599, 3252, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, - 1219, 3070, 3642, 1964, 4189, 35, 1077, 32, 5599, 160, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, - 23, 50, 1177, 104, 75, 76, 82, 254, 2721, 3055, 599, 595, 596, 597, 55, 2817, 55, 3133, 55, 1344, 3071, - 981, 5104, 2062, 2961, 3141, 3140, 6335, 3392, 3143, 3146, 159, 166, 3941, 35, 1077, 32, 5599, 3252, 27, - 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3070, 618, - 2443, 4189, 35, 1077, 32, 5599, 160, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, - 75, 76, 81, 622, 3505, 3055, 599, 595, 596, 597, 366, 366, 55, 3133, 7522, 7527, 3071, 6878, 55, 4050, - 3067, 3141, 3140, 7439, 4801, 3143, 3146, 159, 165, 3941, 35, 1077, 32, 5599, 3252, 27, 30, 31, 1080, - 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3070, 2831, 2534, 4189, - 35, 1077, 32, 5599, 160, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 80, - 336, 2829, 3055, 599, 595, 596, 597, 55, 1024, 739, 3133, 547, 1722, 3071, 2271, 1456, 3114, 74, 3141, - 3140, 1965, 4801, 3143, 3146, 159, 164, 3941, 35, 1077, 32, 5599, 3252, 27, 30, 31, 1080, 1122, 26, 28, - 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3070, 6061, 4574, 4189, 35, 1077, 32, - 5599, 160, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 79, 333, 3306, - 3055, 599, 595, 596, 597, 3115, 2918, 4948, 3133, 3085, 3359, 3071, 1701, 35, 1771, 422, 3141, 3140, 96, - 4801, 3143, 3146, 159, 163, 3941, 35, 1077, 32, 5599, 3252, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, - 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3070, 6128, 468, 4189, 35, 1077, 32, 5599, 160, - 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 78, 440, 3100, 3055, 3255, - 3361, 3362, 2150, 2340, 3391, 3459, 3133, 2671, 3573, 3071, 1701, 35, 1771, 422, 3141, 3140, 2186, 4801, - 3143, 3146, 159, 162, 3941, 35, 1077, 32, 5599, 1638, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, - 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3070, 6195, 467, 4189, 35, 1077, 32, 5599, 160, 27, 30, - 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 77, 2261, 2995, 3055, 2067, 35, 430, - 191, 150, 3782, 3508, 3133, 2451, 7465, 3071, 1701, 35, 1771, 422, 3141, 3140, 1290, 4801, 3143, 3146, - 159, 161, 4003, 35, 1077, 32, 5599, 95, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, - 104, 75, 76, 106, 1216, 1226, 1219, 3070, 355, 466, 3877, 35, 1077, 32, 5599, 160, 27, 30, 31, 1080, - 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 102, 2434, 3649, 3055, 3776, 2150, 4019, 3025, - 747, 3568, 4077, 3133, 5801, 2261, 3071, 4112, 4403, 3464, 4139, 3141, 3140, 7154, 319, 3143, 3146, 159, - 158, 3808, 35, 1077, 32, 5599, 5520, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, - 75, 76, 106, 1216, 1226, 1219, 1239, 2527, 3926, 2067, 35, 430, 3063, 2913, 175, 1229, 1305, 3221, 1278, - 1511, 4341, 1414, 1546, 3509, 4801, 1560, 174, 4801, 220, 3109, 35, 1077, 32, 5599, 671, 27, 30, 31, - 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3070, 55, 3678, - 385, 54, 376, 96, 187, 2159, 394, 320, 377, 1059, 814, 382, 414, 1214, 747, 2039, 463, 375, 3534, 3254, - 2155, 35, 1077, 32, 6141, 3299, 27, 30, 31, 1080, 1122, 59, 28, 2261, 775, 3450, 2155, 35, 1077, 32, - 6141, 3252, 27, 30, 31, 1080, 1122, 58, 28, 3887, 141, 4189, 35, 1077, 32, 5599, 1983, 27, 30, 31, 1080, - 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 668, 2165, 3929, - 3252, 1603, 2261, 2261, 3777, 1229, 1305, 224, 1278, 1511, 1972, 1414, 1546, 4801, 4801, 3218, 195, - 4189, 35, 1077, 32, 5599, 4801, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, - 76, 106, 1216, 1226, 1219, 1239, 3222, 600, 620, 332, 3778, 3910, 3182, 330, 1229, 1305, 619, 1278, - 1511, 3674, 1414, 1546, 1399, 2282, 3218, 195, 4584, 4620, 4801, 4801, 4801, 4189, 35, 1077, 32, 5599, - 640, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, - 1239, 3007, 605, 3589, 411, 2987, 329, 337, 3908, 1229, 1305, 3174, 1278, 1511, 3604, 1414, 1546, 4801, - 4801, 3218, 195, 4189, 35, 1077, 32, 5599, 3448, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, - 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 3593, 99, 6329, 3780, 3666, 3679, 2548, 3535, 1229, - 1305, 4032, 1278, 1511, 2645, 1414, 1546, 4094, 3712, 3218, 195, 4801, 4801, 4801, 4801, 4801, 4189, 35, - 1077, 32, 5599, 457, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, - 1216, 1226, 1219, 1239, 631, 1969, 2018, 485, 632, 4156, 3464, 3464, 1229, 1305, 4220, 1278, 1511, 559, - 1414, 1546, 5103, 1355, 3218, 195, 4499, 35, 1077, 32, 5599, 327, 27, 30, 31, 1080, 1122, 26, 28, 1071, - 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 3970, 589, 747, 747, 4218, 3059, 3793, - 4226, 1229, 1305, 1502, 1278, 1511, 2983, 1414, 1546, 4287, 2352, 3218, 195, 936, 3735, 409, 409, 3460, - 4189, 35, 1077, 32, 5599, 456, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, - 106, 1216, 1226, 1219, 1239, 3914, 4225, 4201, 4263, 4491, 3295, 4325, 8653, 1229, 1305, 8653, 1278, - 1511, 8653, 1414, 2899, 8653, 8653, 8653, 8653, 4437, 35, 1077, 32, 5599, 459, 27, 30, 31, 1080, 1122, - 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3070, 8653, 8653, 1994, 35, - 1077, 32, 7411, 5935, 27, 30, 31, 1080, 1122, 372, 28, 8653, 3104, 8653, 8653, 8653, 8653, 6743, 8653, - 8653, 8653, 8653, 8653, 3055, 55, 598, 595, 596, 597, 1418, 8653, 3133, 8653, 1351, 3071, 6475, 8653, - 8653, 8653, 3141, 3140, 407, 2985, 3639, 384, 4650, 35, 1771, 422, 6364, 8653, 2955, 2067, 35, 3308, - 7323, 1418, 187, 269, 294, 648, 595, 596, 597, 352, 2172, 354, 3149, 1716, 1728, 347, 1423, 648, 595, - 596, 597, 1701, 35, 1771, 422, 365, 798, 271, 294, 187, 306, 4527, 8653, 8653, 8653, 8653, 4019, 49, - 8653, 264, 669, 648, 595, 596, 597, 8653, 1732, 8653, 4105, 8653, 1206, 264, 8653, 8653, 8653, 385, 276, - 262, 263, 8653, 8653, 306, 376, 377, 1059, 814, 382, 8653, 267, 262, 263, 8653, 2228, 8653, 8653, 264, - 1416, 35, 1077, 32, 7411, 8653, 27, 30, 31, 1080, 1122, 372, 28, 8653, 8653, 8653, 272, 262, 263, 1158, - 339, 343, 2371, 8653, 8653, 8653, 307, 598, 595, 596, 597, 8653, 274, 277, 280, 4683, 1015, 2561, 2436, - 35, 1077, 32, 2261, 8653, 3163, 30, 31, 1080, 1122, 3735, 7008, 55, 8653, 8653, 8653, 8653, 1418, 373, - 8653, 4043, 4007, 5008, 5581, 6434, 283, 8653, 352, 2172, 354, 3149, 8653, 8653, 350, 1423, 8653, 8653, - 8653, 8653, 8653, 641, 8653, 8653, 366, 8653, 2274, 4189, 35, 1077, 32, 5599, 6070, 27, 30, 31, 1080, - 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 8653, 8653, 8653, - 8653, 8653, 8653, 6137, 8653, 1229, 1305, 8653, 1278, 1511, 788, 2820, 4375, 35, 1077, 32, 5599, 8653, - 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3070, - 8653, 8653, 1769, 35, 3837, 32, 7411, 5935, 27, 30, 31, 1080, 1122, 372, 28, 2436, 35, 1077, 32, 8653, - 8653, 3241, 30, 31, 1080, 1122, 476, 3055, 490, 598, 595, 596, 597, 8653, 8653, 3133, 8653, 8653, 3071, - 4877, 8653, 8653, 8653, 3141, 3630, 4189, 35, 1077, 32, 5599, 1307, 27, 30, 31, 1080, 1122, 26, 28, - 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 108, 352, 2172, 354, 3149, 8653, 8653, 347, 1423, 8653, 598, - 595, 596, 597, 8653, 8653, 8653, 365, 776, 8653, 2874, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, - 55, 8653, 8653, 8653, 8653, 1418, 4189, 35, 1077, 32, 5599, 4105, 27, 30, 31, 1080, 1122, 26, 28, 1071, - 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 3696, 8653, 8653, 8653, 8653, 5340, - 453, 3834, 1229, 1305, 8653, 1278, 2750, 4375, 35, 1077, 32, 5599, 8653, 27, 30, 31, 1080, 1122, 26, 28, - 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3070, 4189, 35, 1077, 32, 5599, 8653, - 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 2434, - 3055, 8653, 8653, 8653, 8653, 8653, 3460, 8653, 3133, 8653, 8653, 3071, 8653, 8653, 8653, 8653, 3561, - 8653, 8653, 8653, 8653, 4189, 35, 1077, 32, 5599, 2851, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, - 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, - 1229, 1305, 8653, 2759, 4375, 35, 1077, 32, 5599, 8653, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, - 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3070, 8653, 8653, 3836, 35, 1077, 32, 7380, 5935, 27, - 30, 31, 1080, 1122, 372, 28, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, - 3055, 8653, 598, 595, 596, 597, 8653, 8653, 3133, 8653, 8653, 3567, 6559, 8653, 4189, 35, 1077, 32, - 5599, 8653, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, - 1219, 1239, 352, 2172, 354, 8653, 8653, 8653, 347, 1423, 1229, 2672, 8653, 8653, 4375, 35, 1077, 32, - 5599, 798, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, - 1219, 3070, 4375, 35, 1077, 32, 5599, 8653, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, - 104, 75, 76, 106, 1216, 1226, 1219, 3070, 3055, 8653, 8653, 832, 8653, 8653, 8653, 2572, 3507, 8653, - 8653, 2195, 8653, 8653, 8653, 8653, 5801, 8653, 8653, 8653, 8653, 339, 343, 2371, 8653, 8653, 8653, - 3513, 8653, 8653, 598, 595, 596, 597, 598, 595, 596, 597, 8653, 8653, 2561, 8653, 8653, 2929, 2640, - 4189, 35, 1077, 32, 5599, 3735, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, - 76, 106, 1216, 1226, 1219, 1239, 3673, 8653, 8653, 4189, 35, 1077, 32, 5599, 2695, 27, 30, 31, 1080, - 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 1239, 4756, 35, 551, - 8653, 8653, 8653, 8653, 385, 2743, 8653, 8653, 8653, 8653, 269, 294, 377, 1059, 814, 382, 8653, 8653, - 8653, 8653, 8653, 575, 8653, 8653, 648, 595, 596, 597, 4375, 35, 1077, 32, 5599, 8653, 27, 30, 31, 1080, - 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3070, 8653, 8653, 8653, - 264, 8653, 8653, 8653, 2913, 35, 1077, 32, 7380, 4261, 27, 30, 31, 1080, 1122, 372, 28, 267, 262, 263, - 8653, 765, 8653, 8653, 3547, 1546, 35, 1077, 32, 7380, 5935, 27, 30, 31, 1080, 1122, 372, 28, 2943, 35, - 3837, 32, 7380, 5935, 27, 30, 31, 1080, 1122, 372, 28, 437, 598, 595, 596, 597, 8653, 274, 277, 280, - 4683, 1015, 6559, 4026, 3313, 3884, 595, 596, 597, 4019, 349, 3445, 354, 8653, 4583, 5045, 8653, 8653, - 8653, 1418, 742, 35, 1771, 422, 5577, 6271, 6428, 6983, 6725, 8653, 8653, 352, 2172, 354, 8653, 5520, - 8653, 347, 1423, 8653, 8653, 8653, 8653, 8653, 352, 2172, 354, 191, 798, 3313, 347, 1423, 8653, 8653, - 4019, 8653, 2243, 35, 328, 8653, 306, 776, 1983, 35, 3837, 32, 7380, 5935, 27, 30, 31, 1080, 1122, 372, - 28, 560, 561, 565, 8653, 8653, 5520, 8653, 1224, 598, 595, 596, 597, 1418, 8653, 598, 595, 596, 597, - 2874, 2367, 35, 1077, 32, 7380, 5045, 27, 30, 31, 1080, 1122, 372, 28, 7208, 8653, 1481, 5616, 453, - 3834, 8653, 539, 187, 8653, 8653, 340, 343, 2371, 599, 595, 596, 597, 2130, 2837, 2357, 352, 2172, 354, - 8653, 3452, 8653, 347, 1423, 648, 595, 596, 597, 8653, 8653, 8653, 8653, 8653, 776, 2092, 35, 3837, 32, - 7380, 5935, 27, 30, 31, 1080, 1122, 372, 28, 539, 352, 2172, 354, 71, 536, 538, 659, 1423, 8653, 8653, - 264, 8653, 55, 3884, 595, 596, 597, 1418, 8653, 8653, 8653, 4309, 8653, 5045, 8653, 8653, 8653, 279, - 262, 263, 8653, 8653, 8653, 8653, 5834, 453, 3834, 8653, 8653, 3895, 8653, 8653, 8653, 8653, 8653, 187, - 8653, 8653, 2478, 537, 538, 8653, 352, 2172, 354, 8653, 2528, 8653, 347, 1423, 8653, 8653, 8653, 2828, - 4189, 35, 1077, 32, 5599, 776, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, - 106, 1216, 1226, 1219, 2482, 4189, 35, 1077, 32, 5599, 8653, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, - 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 2524, 5616, 453, 3834, 4189, 35, 1077, 32, 5599, - 8653, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, - 2594, 4189, 35, 1077, 32, 5599, 8653, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, - 75, 76, 106, 1216, 1226, 1219, 2597, 4189, 35, 1077, 32, 5599, 8653, 27, 30, 31, 1080, 1122, 26, 28, - 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 2606, 286, 4583, 8653, 8653, 8653, 671, - 1418, 8653, 1416, 35, 1077, 32, 7411, 8653, 27, 30, 31, 1080, 1122, 372, 28, 55, 8653, 8653, 8653, 8653, - 1418, 8653, 8653, 8653, 8653, 260, 8653, 187, 191, 598, 595, 596, 597, 8653, 8653, 2059, 8653, 747, 738, - 4993, 8653, 211, 8653, 8653, 235, 247, 7273, 8653, 187, 234, 244, 245, 246, 248, 647, 8653, 8653, 200, - 8653, 2685, 8653, 1, 598, 595, 596, 597, 671, 8653, 352, 2172, 354, 3149, 3030, 2172, 348, 1423, 8653, - 8653, 8653, 8653, 199, 8653, 8653, 8653, 366, 214, 198, 201, 202, 203, 204, 205, 260, 8653, 187, 8653, - 8653, 8653, 8653, 8653, 598, 595, 596, 597, 747, 738, 2186, 8653, 211, 8653, 3108, 235, 247, 7273, 8653, - 8653, 234, 244, 245, 246, 248, 647, 8653, 8653, 200, 4065, 35, 1077, 32, 5599, 8653, 27, 30, 31, 1080, - 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 634, 75, 76, 199, 8653, 8653, 8653, 8653, 215, 198, 201, 202, - 203, 204, 205, 8653, 212, 4189, 35, 1077, 32, 5599, 8653, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, - 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3453, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, - 8653, 8653, 8653, 4189, 35, 1077, 32, 5599, 5328, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, - 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3458, 4189, 35, 1077, 32, 5599, 8653, 27, 30, 31, 1080, 1122, - 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3461, 2180, 35, 1077, 32, 7380, - 5868, 27, 30, 31, 1080, 1122, 372, 28, 4189, 35, 1077, 32, 5599, 8653, 27, 30, 31, 1080, 1122, 26, 28, - 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 1219, 3566, 8653, 8653, 8653, 8653, 3498, 35, - 1077, 32, 7380, 7263, 27, 30, 31, 1080, 1122, 372, 28, 1854, 8653, 8653, 8653, 2051, 8653, 8653, 8653, - 1705, 352, 2172, 354, 5940, 271, 294, 347, 1423, 8653, 8653, 384, 8653, 8653, 1583, 35, 1771, 422, 3690, - 648, 595, 596, 597, 648, 595, 596, 597, 598, 595, 596, 597, 2630, 8653, 385, 8653, 8653, 8653, 2561, - 8653, 8653, 8653, 377, 1059, 814, 382, 352, 2172, 354, 8653, 8653, 3689, 347, 1423, 264, 49, 8653, 8653, - 264, 598, 595, 596, 597, 3387, 1732, 8653, 8653, 8653, 746, 3186, 3149, 272, 262, 263, 8653, 282, 262, - 263, 385, 8653, 8653, 8653, 8653, 6002, 8653, 8653, 377, 1059, 814, 382, 4189, 35, 1077, 32, 5599, 2228, - 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, 1216, 1226, 2617, 4189, - 35, 1077, 32, 5599, 8653, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 106, - 1216, 1226, 2665, 381, 2191, 8653, 8653, 8653, 671, 4019, 8653, 1705, 55, 399, 8653, 5940, 8653, 671, - 8653, 1522, 35, 1077, 32, 7380, 5935, 27, 30, 31, 1080, 1122, 372, 28, 4583, 92, 260, 376, 187, 1418, - 598, 595, 596, 597, 8653, 376, 1830, 187, 747, 738, 2561, 8653, 211, 8653, 8653, 235, 247, 7273, 219, - 8653, 234, 244, 245, 246, 248, 647, 8653, 191, 200, 8653, 1663, 8653, 476, 598, 595, 596, 597, 671, - 6951, 8653, 1705, 4913, 3149, 2718, 5940, 8653, 1418, 352, 2172, 354, 8653, 199, 8653, 347, 1423, 365, - 3386, 198, 201, 202, 203, 204, 205, 260, 3387, 187, 8653, 598, 595, 596, 597, 8653, 8653, 2726, 187, - 747, 738, 2561, 6203, 211, 8653, 8653, 235, 247, 7273, 193, 8653, 234, 244, 245, 246, 248, 647, 8653, - 8653, 200, 8653, 8653, 3153, 571, 598, 595, 596, 597, 671, 3514, 8653, 1705, 8653, 3149, 3108, 5940, - 1701, 35, 1771, 422, 8653, 8653, 199, 8653, 8653, 8653, 365, 209, 198, 201, 202, 203, 204, 205, 260, - 8653, 187, 8653, 598, 595, 596, 597, 8653, 8653, 8653, 8653, 747, 738, 2561, 7297, 211, 8653, 8653, 235, - 247, 7273, 49, 8653, 234, 244, 245, 246, 248, 647, 8653, 1732, 200, 8653, 8653, 1265, 666, 8653, 8653, - 8653, 8653, 671, 8653, 2262, 1705, 8653, 3149, 8653, 5940, 1701, 35, 1771, 422, 1630, 8653, 199, 8653, - 8653, 8653, 365, 207, 198, 201, 202, 203, 204, 205, 260, 8653, 187, 8653, 598, 595, 596, 597, 8653, - 8653, 8653, 8653, 747, 738, 2561, 733, 211, 8653, 8653, 235, 247, 7273, 49, 1461, 234, 244, 245, 246, - 248, 647, 8653, 1732, 200, 8653, 8653, 4679, 761, 8653, 8653, 8653, 8653, 671, 8653, 8653, 3709, 8653, - 3149, 8653, 5940, 1701, 35, 1771, 422, 3742, 8653, 199, 8653, 8653, 8653, 365, 639, 198, 201, 202, 203, - 204, 205, 260, 8653, 187, 8653, 598, 595, 596, 597, 8653, 8653, 8653, 8653, 747, 738, 2561, 5269, 211, - 8653, 8653, 235, 247, 7273, 49, 8653, 234, 244, 245, 246, 248, 647, 8653, 1732, 200, 8653, 8653, 1210, - 856, 55, 55, 8653, 8653, 671, 1418, 1418, 8653, 2435, 3149, 8653, 8653, 1701, 35, 1771, 422, 8653, 8653, - 199, 8653, 8653, 8653, 6002, 208, 198, 201, 202, 203, 204, 205, 260, 8653, 187, 187, 187, 648, 595, 596, - 597, 8653, 8653, 8653, 747, 738, 2763, 2841, 211, 8653, 8653, 235, 247, 7273, 49, 8653, 234, 244, 245, - 246, 248, 647, 8653, 1732, 200, 8653, 8653, 1082, 951, 8653, 55, 264, 8653, 671, 8653, 1418, 8653, 2531, - 8653, 8653, 8653, 1701, 35, 1771, 422, 8653, 8653, 199, 285, 262, 263, 8653, 218, 198, 201, 202, 203, - 204, 205, 260, 8653, 187, 8653, 187, 648, 595, 596, 597, 8653, 8653, 8653, 747, 738, 94, 3633, 211, - 8653, 8653, 235, 247, 7273, 49, 8653, 234, 244, 245, 246, 248, 647, 8653, 1732, 200, 8653, 8653, 746, - 1046, 4583, 8653, 264, 8653, 671, 1418, 8653, 3425, 55, 8653, 8653, 5940, 8653, 671, 8653, 8653, 8653, - 8653, 199, 643, 262, 263, 8653, 3841, 198, 201, 202, 203, 204, 205, 260, 8653, 187, 191, 598, 595, 596, - 597, 8653, 376, 55, 187, 747, 738, 2561, 1418, 211, 8653, 8653, 235, 247, 7273, 219, 8653, 234, 244, - 245, 246, 248, 647, 8653, 8653, 200, 8653, 8653, 8653, 1141, 8653, 8653, 8653, 8653, 671, 6951, 187, - 8653, 2627, 3149, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 3294, 199, 8653, 8653, 8653, 366, 223, 198, - 201, 202, 203, 204, 205, 260, 8653, 187, 8653, 8653, 648, 595, 596, 597, 8653, 8653, 8653, 747, 738, - 3517, 8653, 211, 8653, 8653, 235, 247, 7273, 8653, 8653, 234, 244, 245, 246, 248, 647, 8653, 8653, 200, - 8653, 8653, 3231, 1236, 8653, 8653, 264, 8653, 671, 2860, 35, 1077, 32, 7380, 5868, 27, 30, 31, 1080, - 1122, 372, 28, 199, 276, 262, 263, 8653, 217, 198, 201, 202, 203, 204, 205, 260, 8653, 187, 8653, 1953, - 35, 1771, 422, 2243, 3892, 328, 8653, 747, 738, 8653, 8653, 211, 8653, 8653, 235, 247, 7273, 2764, 8653, - 234, 244, 245, 246, 248, 647, 8653, 8653, 200, 8653, 8653, 598, 595, 596, 597, 8653, 8653, 352, 2172, - 354, 49, 2874, 8653, 347, 1423, 598, 595, 596, 597, 1732, 8653, 199, 8653, 3211, 586, 2561, 226, 198, - 201, 202, 203, 204, 205, 55, 2723, 8653, 8653, 8653, 1418, 385, 4703, 35, 1771, 422, 6364, 8653, 8653, - 377, 1059, 814, 382, 794, 8653, 270, 294, 8653, 587, 3673, 8653, 8653, 8653, 648, 595, 596, 597, 8653, - 187, 648, 595, 596, 597, 4800, 1283, 4583, 4583, 8653, 4019, 3695, 1418, 1418, 306, 3137, 35, 1077, 32, - 7380, 5935, 27, 30, 31, 1080, 1122, 372, 28, 8653, 264, 8653, 8653, 8653, 4309, 8653, 264, 5520, 8653, - 8653, 8653, 191, 191, 599, 595, 596, 597, 279, 262, 263, 8653, 8653, 8653, 268, 262, 263, 4189, 35, - 1077, 32, 5599, 2478, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, 107, - 8653, 8653, 8653, 352, 2172, 354, 8653, 8653, 307, 347, 1423, 8653, 8653, 8653, 275, 278, 281, 4683, - 1015, 8653, 5302, 2476, 35, 1077, 32, 7380, 5935, 27, 30, 31, 1080, 1122, 372, 28, 8653, 8653, 8653, - 393, 8653, 8653, 3741, 3795, 1701, 35, 1771, 422, 284, 8653, 599, 595, 596, 597, 8653, 3075, 3319, 3367, - 4189, 35, 1077, 32, 5599, 642, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, 1177, 104, 75, 76, - 103, 8653, 8653, 8653, 49, 8653, 8653, 8653, 8653, 352, 2172, 354, 8653, 1732, 8653, 347, 1423, 2512, - 8653, 8653, 8653, 4065, 35, 1077, 32, 5599, 5302, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, 50, - 1177, 633, 75, 76, 4127, 35, 1077, 32, 5599, 8653, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, - 50, 1177, 85, 75, 76, 4251, 35, 1077, 32, 5599, 8653, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, 23, - 50, 1177, 644, 75, 76, 4313, 35, 1077, 32, 5599, 8653, 27, 30, 31, 1080, 1122, 26, 28, 1071, 294, 25, - 23, 50, 1177, 3219, 75, 76, 4809, 35, 551, 3176, 35, 1771, 422, 1912, 8653, 8653, 8653, 8653, 4019, 270, - 294, 8653, 8653, 8653, 5051, 8653, 8653, 8653, 5940, 4019, 8653, 8653, 8653, 648, 595, 596, 597, 8653, - 8653, 8653, 8653, 8653, 8653, 8653, 260, 3356, 8653, 8653, 8653, 49, 671, 598, 595, 596, 597, 5520, - 8653, 8653, 1732, 8653, 8653, 2561, 1930, 237, 247, 7273, 8653, 264, 236, 244, 245, 246, 248, 647, 8653, - 8653, 376, 8653, 187, 8653, 8653, 8653, 8653, 8653, 268, 262, 263, 2200, 747, 2039, 794, 8653, 4019, - 3149, 8653, 8653, 8653, 8653, 8653, 8653, 238, 240, 242, 3686, 8653, 8653, 365, 8653, 775, 3450, 8653, - 8653, 8653, 249, 239, 241, 8653, 8653, 260, 8653, 8653, 8653, 8653, 8653, 275, 278, 281, 4683, 1015, - 7297, 2137, 8653, 8653, 8653, 393, 8653, 3356, 237, 247, 7273, 8653, 671, 236, 244, 245, 246, 248, 647, - 8653, 8653, 2326, 3319, 3367, 8653, 927, 3581, 8653, 7000, 8653, 2296, 8653, 8653, 8653, 55, 4019, 8653, - 8653, 376, 671, 187, 8653, 8653, 8653, 8653, 238, 240, 242, 3686, 8653, 747, 2039, 598, 595, 596, 597, - 8653, 8653, 249, 239, 241, 260, 2561, 8653, 8653, 376, 8653, 187, 8653, 8653, 775, 3450, 8653, 560, 561, - 566, 8653, 8653, 219, 8653, 237, 247, 7273, 8653, 8653, 236, 244, 245, 246, 248, 647, 2008, 2323, 8653, - 362, 8653, 4019, 927, 6951, 8653, 3631, 8653, 7000, 2145, 35, 1077, 32, 7380, 5935, 27, 30, 31, 1080, - 1122, 372, 28, 8653, 238, 240, 242, 3686, 8653, 260, 8653, 598, 595, 596, 597, 8653, 8653, 249, 239, - 241, 8653, 2561, 2819, 8653, 8653, 8653, 8653, 8653, 237, 247, 7273, 8653, 8653, 236, 244, 245, 246, - 248, 647, 2104, 8653, 8653, 8653, 8653, 4019, 3309, 8653, 1022, 8653, 648, 595, 596, 597, 2511, 8653, - 2488, 352, 2172, 354, 3632, 4019, 7000, 347, 1423, 8653, 238, 240, 242, 3686, 8653, 260, 8653, 8653, - 3785, 598, 595, 596, 597, 578, 239, 241, 8653, 8653, 264, 2796, 8653, 260, 8653, 8653, 237, 247, 7273, - 8653, 8653, 236, 244, 245, 246, 248, 647, 282, 262, 263, 4800, 8653, 237, 247, 7273, 4019, 8653, 236, - 244, 245, 246, 248, 647, 2584, 4566, 8653, 8653, 8653, 4019, 671, 8653, 8653, 8653, 238, 240, 242, 3686, - 8653, 8653, 2680, 8653, 5520, 8653, 8653, 4019, 8653, 250, 239, 241, 238, 240, 242, 3686, 8653, 260, - 376, 1660, 187, 8653, 8653, 7532, 4019, 667, 239, 241, 8653, 8653, 8653, 219, 8653, 260, 8653, 8653, - 237, 247, 7273, 8653, 8653, 236, 244, 245, 246, 248, 647, 2671, 8653, 8653, 260, 6951, 237, 247, 7273, - 8653, 8653, 236, 244, 245, 246, 248, 647, 2776, 8653, 8653, 8653, 8653, 4019, 2116, 441, 4843, 8653, - 238, 240, 242, 3686, 8653, 8653, 2872, 8653, 8653, 8653, 393, 4019, 8653, 666, 239, 241, 238, 240, 242, - 3686, 8653, 260, 8653, 8653, 8653, 8653, 3697, 3319, 3367, 665, 239, 241, 8653, 442, 443, 444, 3686, - 260, 221, 8653, 237, 247, 7273, 8653, 5060, 236, 244, 245, 246, 248, 647, 8653, 8653, 8653, 3862, 8653, - 237, 247, 7273, 671, 8653, 236, 244, 245, 246, 248, 647, 8653, 8653, 3678, 8653, 648, 595, 596, 597, - 8653, 8653, 238, 240, 242, 3686, 8653, 8653, 8653, 8653, 2749, 8653, 187, 8653, 8653, 338, 239, 241, - 238, 240, 242, 3686, 8653, 738, 5051, 8653, 211, 8653, 5940, 4019, 264, 533, 239, 241, 1392, 35, 1077, - 32, 7380, 3972, 27, 30, 31, 1080, 1122, 372, 28, 567, 262, 263, 2468, 598, 595, 596, 597, 5520, 8653, - 8653, 3287, 445, 447, 2561, 5940, 8653, 8653, 227, 8653, 2052, 35, 1771, 422, 8653, 1786, 55, 8653, - 8653, 7532, 4019, 4019, 8653, 8653, 8653, 8653, 8653, 1713, 598, 595, 596, 597, 1793, 8653, 8653, 7311, - 3149, 8653, 2561, 2052, 35, 1771, 422, 349, 3445, 354, 260, 376, 8653, 365, 49, 8653, 8653, 8653, 598, - 595, 596, 597, 8653, 1732, 8653, 8653, 8653, 2077, 2796, 2116, 441, 4843, 8653, 8653, 3149, 8653, 733, - 1953, 35, 1771, 422, 393, 8653, 49, 3450, 8653, 8653, 366, 1953, 35, 1771, 422, 1732, 8653, 8653, 4919, - 47, 2326, 3319, 3367, 8653, 8653, 8653, 385, 8653, 1917, 442, 443, 444, 3686, 8653, 379, 1059, 814, 382, - 8653, 8653, 49, 8653, 1953, 35, 1771, 422, 8653, 2405, 8653, 1732, 8653, 49, 8653, 47, 2739, 35, 1771, - 422, 5107, 8653, 1732, 7078, 228, 4019, 2235, 3678, 2052, 35, 1771, 422, 4563, 2834, 35, 1771, 422, - 4019, 1953, 35, 1771, 422, 8653, 1327, 49, 8653, 2673, 8653, 8653, 2357, 8653, 376, 590, 1732, 4050, - 8653, 49, 6382, 1953, 35, 1771, 422, 8653, 5520, 8653, 1732, 8653, 8653, 49, 47, 8653, 8653, 8653, 49, - 8653, 8653, 8653, 1732, 49, 8653, 8653, 47, 1732, 8653, 3450, 4050, 47, 1732, 8653, 8653, 8653, 47, 445, - 448, 8653, 8653, 8653, 1149, 49, 8653, 1953, 35, 1771, 422, 1022, 593, 8653, 1732, 2575, 4143, 8653, 47, - 8653, 8653, 1963, 1953, 35, 1771, 422, 2427, 1953, 35, 1771, 422, 8653, 1701, 35, 1771, 422, 927, 8653, - 598, 595, 596, 597, 598, 595, 596, 597, 2599, 49, 2796, 539, 8653, 8653, 2796, 55, 8653, 8653, 1732, - 8653, 4019, 8653, 47, 8653, 49, 598, 595, 596, 597, 49, 8653, 8653, 8653, 1732, 49, 2561, 8653, 47, - 1732, 8653, 55, 8653, 47, 1732, 55, 4019, 376, 2433, 8653, 4019, 3224, 55, 55, 55, 55, 8653, 4019, 4019, - 4019, 4019, 8653, 536, 538, 8653, 8653, 3302, 8653, 2835, 8653, 8653, 3380, 376, 8653, 8653, 8653, 376, - 8653, 8653, 8653, 3450, 8653, 8653, 376, 376, 376, 376, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, - 8653, 8653, 3927, 8653, 8653, 8653, 1918, 8653, 8653, 2827, 3450, 8653, 8653, 2829, 3450, 8653, 8653, - 8653, 8653, 8653, 8653, 3450, 3450, 3450, 3450, 3840, 8653, 8653, 8653, 8653, 8653, 1931, 8653, 8653, - 8653, 1934, 8653, 8653, 8653, 8653, 8653, 8653, 2380, 543, 541, 594, 8653, 0, 39, 8668, 0, 39, 8667, 0, - 1870, 29, 0, 474, 1919, 0, 488, 2017, 0, 38, 914, 0, 38, 8668, 0, 38, 8667, 0, 8716, 74, 0, 8715, 74, 0, - 1401, 74, 0, 1570, 74, 0, 5262, 74, 0, 3998, 74, 0, 5207, 124, 0, 1, 478, 0, 492, 1228, 0, 491, 1395, 0, - 8661, 1, 0, 4156, 89, 0, 1870, 421, 0, 35, 33, 0, 32, 34, 0, 39, 914, 0, 1, 714, 0, 1, 8958, 0, 1, 8957, - 0, 1, 8956, 0, 1, 8955, 0, 1, 8954, 0, 1, 8953, 0, 1, 8952, 0, 1, 8951, 0, 1, 8950, 0, 1, 8949, 0, 1, - 8948, 0, 1, 9316, 0, 1, 9315, 0, 39, 1, 8668, 0, 39, 1, 8667, 0, 8919, 255, 0, 8918, 255, 0, 1968, 255, - 0, 1990, 255, 0, 2025, 255, 0, 9317, 255, 0, 9024, 255, 0, 9023, 255, 0, 8946, 255, 0, 8945, 255, 0, - 8944, 255, 0, 8943, 255, 0, 8942, 255, 0, 8941, 255, 0, 8940, 255, 0, 8939, 255, 0, 8919, 256, 0, 8918, - 256, 0, 1968, 256, 0, 1990, 256, 0, 2025, 256, 0, 9317, 256, 0, 9024, 256, 0, 9023, 256, 0, 8946, 256, - 0, 8945, 256, 0, 8944, 256, 0, 8943, 256, 0, 8942, 256, 0, 8941, 256, 0, 8940, 256, 0, 8939, 256, 0, - 8919, 257, 0, 8918, 257, 0, 1968, 257, 0, 1990, 257, 0, 2025, 257, 0, 9317, 257, 0, 9024, 257, 0, 9023, - 257, 0, 8946, 257, 0, 8945, 257, 0, 8944, 257, 0, 8943, 257, 0, 8942, 257, 0, 8941, 257, 0, 8940, 257, - 0, 8939, 257, 0, 2025, 428, 0, 1990, 428, 0, 1968, 428, 0, 316, 428, 0, 8919, 258, 0, 8918, 258, 0, - 1968, 258, 0, 1990, 258, 0, 2025, 258, 0, 9317, 258, 0, 9024, 258, 0, 9023, 258, 0, 8946, 258, 0, 8945, - 258, 0, 8944, 258, 0, 8943, 258, 0, 8942, 258, 0, 8941, 258, 0, 8940, 258, 0, 8939, 258, 0, 316, 321, 0, - 8919, 259, 0, 8918, 259, 0, 1968, 259, 0, 1990, 259, 0, 2025, 259, 0, 9317, 259, 0, 9024, 259, 0, 9023, - 259, 0, 8946, 259, 0, 8945, 259, 0, 8944, 259, 0, 8943, 259, 0, 8942, 259, 0, 8941, 259, 0, 8940, 259, - 0, 8939, 259, 0, 8668, 48, 0, 8667, 48, 0, 8919, 646, 0, 8918, 646, 0, 1968, 646, 0, 1990, 646, 0, 2025, - 646, 0, 9317, 646, 0, 9024, 646, 0, 9023, 646, 0, 8946, 646, 0, 8945, 646, 0, 8944, 646, 0, 8943, 646, - 0, 8942, 646, 0, 8941, 646, 0, 8940, 646, 0, 8939, 646, 0, 8919, 273, 0, 8918, 273, 0, 1968, 273, 0, - 1990, 273, 0, 2025, 273, 0, 9317, 273, 0, 9024, 273, 0, 9023, 273, 0, 8946, 273, 0, 8945, 273, 0, 8944, - 273, 0, 8943, 273, 0, 8942, 273, 0, 8941, 273, 0, 8940, 273, 0, 8939, 273, 0, 8958, 273, 0, 8957, 273, - 0, 8956, 273, 0, 8955, 273, 0, 8954, 273, 0, 8953, 273, 0, 8952, 273, 0, 8951, 273, 0, 8950, 273, 0, - 8949, 273, 0, 8948, 273, 0 }; - } - - public interface BaseAction1 { - public final static char baseAction1[] = { 9316, 273, 0, 9315, 273, 0, 39, 8668, 273, 0, 39, 8667, 273, 0, 8691, - 273, 0, 8665, 417, 0, 8664, 417, 0, 8659, 1, 0, 8658, 1, 0, 4913, 269, 0, 32, 422, 0, 29, 421, 0, 1, - 261, 3222, 0, 8662, 261, 0, 3230, 261, 0, 1, 261, 755, 0, 1, 261, 0, 43, 8689, 0, 43, 37, 0, 5207, 126, - 0, 5207, 125, 0, 1, 5392, 0, 1, 6637, 0, 1, 6659, 0, 1, 2797, 0, 1, 2953, 0, 1, 3031, 0, 1, 3109, 0, 1, - 3187, 0, 1, 3265, 0, 1, 3343, 0, 1066, 1, 0, 1, 4060, 0, 1, 2875, 0, 1, 8675, 0, 1, 8674, 0, 1, 8673, 0, - 1, 8672, 0, 1, 8671, 0, 1, 8670, 0, 1, 8669, 0, 1, 832, 0, 1, 843, 0, 1, 921, 0, 1, 992, 0, 1, 1009, 0, - 1, 3519, 0, 39, 1, 0, 2025, 479, 0, 1990, 479, 0, 1968, 479, 0, 8691, 479, 0, 364, 479, 0, 39, 479, 0, - 2025, 658, 0, 1990, 658, 0, 1968, 658, 0, 2025, 656, 0, 1990, 656, 0, 1968, 656, 0, 660, 656, 0, 660, - 655, 0, 1, 2025, 0, 1, 1990, 0, 1, 1968, 0, 8691, 1, 0, 47, 37, 0, 634, 644, 0, 3372, 261, 0, 10, 12, 0, - 1, 5742, 0, 1, 914, 0, 1, 90, 0, 1968, 568, 0, 1990, 568, 0, 2025, 568, 0, 1968, 569, 0, 1990, 569, 0, - 2025, 569, 0, 1968, 570, 0, 1990, 570, 0, 2025, 570, 0, 1968, 571, 0, 1990, 571, 0, 2025, 571, 0, 1968, - 572, 0, 1990, 572, 0, 2025, 572, 0, 8668, 273, 0, 8667, 273, 0, 2025, 364, 0, 1990, 364, 0, 1968, 364, - 0, 535, 3679, 0, 8691, 1, 261, 0, 39, 1, 261, 0, 261, 450, 0, 8668, 37, 0, 8667, 37, 0, 8668, 2, 37, 0, - 8667, 2, 37, 0, 8668, 36, 0, 8667, 36, 0, 8, 10, 12, 0, 3732, 225, 0, 1, 364, 0, 6236, 98, 0, 8689, 45, - 0, 37, 45, 0, 8663, 439, 0, 8662, 439, 0, 261, 449, 0, 8665, 645, 417, 0, 8664, 645, 417, 0, 2753, 351, - 0, 1, 658, 0, 6467, 101, 0, 3646, 97, 0, 2025, 93, 0, 1990, 93, 0, 1968, 93, 0, 8691, 93, 0, 364, 93, 0, - 39, 93, 0, 35, 72, 0, 9317, 369, 0, 9024, 369, 0, 9023, 369, 0, 5755, 311, 0, 535, 6939, 0, 3888, 417, - 0, 216, 6262, 0, 261, 252, 0, 1, 2464, 0, 1, 3369, 0, 2025, 653, 0, 1990, 653, 0, 1968, 653, 0, 2025, - 652, 0, 1990, 652, 0, 1968, 652, 0, 598, 599, 0, 8, 12, 0, 261, 251, 0, 8665, 1, 0, 2025, 653, 654, 0, - 1990, 653, 654, 0, 1968, 653, 654, 0, 653, 654, 0 }; - } - - 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); - } - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - public final int lhs(int index) { - return lhs[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, 0, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 67, 68, 69, 70, 0, - 72, 0, 74, 75, 10, 0, 0, 79, 3, 81, 82, 10, 11, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 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, 0, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 0, 67, 68, 69, 70, 0, 72, 0, 74, 75, 0, 106, 107, 79, 104, 81, 82, 100, - 101, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 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, 73, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 67, 68, - 69, 70, 0, 72, 0, 74, 75, 0, 1, 2, 79, 4, 81, 82, 0, 13, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 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, 66, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 67, 68, 69, 70, 0, 72, 102, 74, 75, 10, 99, 0, 79, 0, 3, 82, - 105, 4, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 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, 71, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 67, - 68, 69, 70, 0, 72, 0, 74, 75, 10, 106, 107, 79, 104, 0, 82, 0, 3, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 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, 66, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 80, 67, 68, 69, 70, 0, 72, 0, 74, 75, 3, 106, 107, - 79, 0, 103, 82, 0, 4, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 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, 66, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 78, 67, 68, 69, 70, 0, 72, 0, 74, 75, 5, 6, 7, 79, 104, 0, 82, 0, 11, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 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, 66, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 67, 68, 69, 70, 0, 72, 0, 74, 75, 0, 1, - 2, 79, 0, 0, 82, 0, 8, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 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, 66, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 80, 67, 68, 69, 70, 0, 72, 102, 74, 75, 5, 6, 7, 79, 102, 0, 82, 0, 3, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 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, 66, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 67, 68, 69, 70, 0, 72, 0, 74, 75, 5, 6, - 7, 79, 0, 1, 82, 0, 0, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 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, 66, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 77, 67, 68, 69, 70, 0, 72, 0, 74, 75, 5, 6, 7, 79, 0, 103, 82, 0, 0, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 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, 66, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 77, 67, 68, 69, 70, 0, 72, 0, 74, 75, 5, 6, 7, - 79, 0, 103, 82, 0, 0, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 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, 66, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 77, 67, 68, 69, 70, 0, 72, 0, 74, 75, 5, 6, 7, 79, 0, 0, 82, 0, 3, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 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, 0, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 78, 67, 68, 69, 70, 0, 72, 0, 74, 75, 5, 6, 7, - 79, 102, 8, 82, 0, 1, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 0, 1, 2, 28, 4, 0, 129, 0, 8, 9, 0, 0, 5, 6, 7, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 82, - 42, 43, 44, 45, 0, 47, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 3, 4, 66, 54, 0, 8, - 9, 71, 72, 73, 0, 0, 76, 77, 78, 79, 80, 81, 0, 83, 84, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 13, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 0, 1, 2, 0, 126, 127, 128, 129, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 1, 2, 71, 4, 80, - 67, 0, 8, 9, 79, 130, 5, 6, 7, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 42, 43, 44, 45, - 54, 47, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 3, 4, 66, 54, 73, 8, 9, 71, 72, 73, - 0, 0, 76, 77, 78, 79, 80, 81, 41, 83, 84, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 54, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 0, - 1, 2, 0, 126, 127, 128, 129, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 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, - 0, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 74, 75, 68, 0, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 0, 0, 103, 47, 122, 4, 5, 6, 7, 0, 54, 10, 11, 4, 5, 6, 7, 0, - 62, 63, 64, 65, 0, 67, 0, 69, 70, 0, 11, 5, 6, 7, 98, 0, 78, 0, 3, 81, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 95, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 42, 43, 123, 124, 125, 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, 123, 124, 125, 0, 1, - 2, 47, 4, 5, 6, 7, 0, 0, 54, 0, 1, 2, 5, 6, 7, 78, 62, 63, 64, 65, 0, 67, 0, 69, 70, 0, 0, 5, 6, 7, 0, - 0, 78, 3, 3, 81, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 95, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 54, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 123, 124, 125, 0, 1, 2, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 0, 1, 2, 47, 4, 5, 6, 7, 0, 0, 54, 71, 0, 5, 6, 7, 0, 0, 62, 63, - 64, 65, 0, 67, 12, 69, 70, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 81, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 41, - 95, 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, 81, 77, 0, 0, 1, 2, 47, 5, 6, 7, 0, 0, 78, 54, - 0, 5, 6, 7, 0, 1, 2, 62, 63, 64, 65, 66, 67, 104, 69, 70, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 95, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, - 3, 4, 0, 47, 0, 8, 9, 0, 1, 2, 54, 4, 100, 101, 12, 8, 9, 0, 62, 63, 64, 65, 78, 67, 0, 69, 70, 0, 0, 5, - 6, 7, 0, 1, 2, 3, 4, 81, 0, 0, 8, 9, 4, 0, 12, 0, 3, 0, 0, 4, 3, 95, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 0, 66, 0, 1, 2, 0, 47, 5, 6, 7, 71, 66, 73, 54, 80, 76, 77, 71, 66, 80, 0, 62, 63, 64, - 65, 71, 67, 73, 69, 70, 0, 77, 12, 28, 29, 30, 127, 98, 83, 84, 81, 0, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 95, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 0, 4, 81, - 47, 4, 8, 9, 0, 1, 2, 54, 80, 0, 0, 0, 8, 9, 3, 62, 63, 64, 65, 80, 67, 12, 69, 70, 0, 1, 2, 3, 4, 5, 6, - 7, 8, 9, 81, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 95, 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, 81, 0, 0, 0, 1, 2, 47, 5, 6, 7, 0, 8, 9, 54, 0, 5, 6, 7, 0, 99, 0, 62, 63, - 64, 65, 105, 67, 0, 69, 70, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 3, 4, 5, 6, 7, - 8, 9, 0, 95, 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, 78, 0, 0, 98, 3, 0, 47, 5, 6, 7, 5, 6, - 7, 54, 0, 1, 2, 0, 4, 0, 98, 62, 63, 64, 65, 0, 67, 0, 69, 70, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 0, 1, 2, 0, 4, 5, 6, 7, 5, 6, 7, 95, 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, 71, - 54, 0, 80, 0, 0, 47, 5, 6, 7, 5, 6, 7, 54, 83, 84, 66, 0, 1, 2, 0, 62, 63, 64, 65, 0, 67, 0, 69, 70, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 0, 4, 5, 6, 7, 0, 1, 2, 95, 0, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 0, 54, 0, 3, 80, 0, 47, 5, 6, 7, 5, 6, 7, 54, 83, 84, 66, 0, 0, 1, 2, - 62, 63, 64, 65, 0, 67, 77, 69, 70, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 96, 97, - 5, 6, 7, 122, 0, 10, 95, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 54, 0, 3, 83, 84, 47, 5, - 6, 7, 54, 0, 0, 54, 0, 0, 0, 0, 1, 2, 0, 62, 63, 64, 65, 0, 67, 98, 69, 70, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 0, 1, 2, 3, 4, 28, 29, 30, 8, 9, 0, 95, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 0, 1, 2, 3, 4, 0, 47, 78, 8, 9, 0, 0, 12, 54, 99, 0, 100, 101, 71, 99, 105, 62, 63, 64, 65, - 105, 67, 0, 69, 70, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 47, 0, 0, 8, 9, 10, 11, 95, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 41, 42, - 43, 44, 45, 46, 78, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 1, 2, 0, 78, 0, 68, 69, 0, - 108, 109, 3, 74, 75, 0, 1, 2, 3, 4, 0, 12, 77, 8, 9, 10, 11, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 0, 1, 78, 42, 43, 42, 43, 0, 0, 73, 10, 4, 54, 41, 42, 43, 44, 45, 46, 11, 48, 49, - 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 1, 2, 71, 31, 73, 68, 0, 76, 77, 3, 0, 74, 75, 3, 77, - 0, 1, 2, 3, 4, 0, 0, 12, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 41, 42, 43, 44, 45, 46, 0, 48, 49, 50, 51, 52, 53, 78, 55, 56, - 57, 58, 59, 60, 61, 0, 1, 2, 0, 71, 0, 1, 2, 8, 76, 72, 0, 74, 75, 0, 1, 2, 3, 4, 41, 77, 77, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 1, 2, 0, 4, 5, 6, 7, 0, 0, 10, - 11, 54, 41, 42, 43, 44, 45, 46, 10, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 73, 66, 0, - 74, 75, 0, 68, 0, 0, 0, 72, 3, 0, 1, 2, 3, 4, 12, 11, 81, 8, 9, 10, 11, 0, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 0, 1, 2, 3, 4, 5, 6, 7, 0, 80, 10, 11, 47, 41, 42, 43, 44, 45, 46, 0, - 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 100, 101, 0, 1, 2, 13, 68, 0, 1, 2, 3, 4, 74, 75, - 12, 8, 9, 10, 11, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 62, 71, 0, 54, 0, 0, - 0, 3, 3, 3, 54, 12, 41, 42, 43, 44, 45, 46, 62, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, - 0, 0, 0, 1, 3, 72, 68, 0, 1, 2, 3, 4, 74, 75, 12, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 0, 1, 2, 72, 4, 5, 6, 7, 41, 71, 10, 11, 78, 41, 42, 43, 44, 45, 46, 0, 48, 49, - 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 0, 71, 3, 12, 0, 68, 0, 0, 76, 72, 0, 1, 2, 3, 4, 0, - 12, 0, 8, 9, 10, 11, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 1, 2, 3, 4, 0, - 29, 0, 8, 9, 0, 0, 12, 41, 42, 43, 44, 45, 46, 73, 48, 49, 50, 51, 52, 53, 73, 55, 56, 57, 58, 59, 60, - 61, 81, 73, 0, 0, 72, 77, 68, 0, 1, 2, 3, 4, 74, 75, 12, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 71, 3, 66, 4, 0, 76, 66, 3, 0, 0, 12, 41, 42, 43, 44, 45, 46, 78, - 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 96, 97, 0, 0, 96, 97, 68, 73, 0, 76, 72, 0, 1, 2, - 3, 4, 83, 84, 41, 8, 9, 10, 11, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 1, 2, - 76, 4, 5, 6, 7, 71, 0, 10, 11, 3, 41, 42, 43, 44, 45, 46, 66, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, - 59, 60, 61, 0, 71, 0, 1, 0, 0, 68, 0, 1, 2, 3, 4, 74, 75, 12, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 1, 2, 0, 4, 5, 6, 7, 0, 0, 10, 11, 4, 41, 42, 43, 44, 45, 46, 54, - 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 77, 66, 66, 0, 1, 2, 3, 4, 0, 76, 72, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 96, 97, 0, 0, 0, 3, 0, 3, 0, 66, 4, - 73, 4, 41, 42, 43, 44, 45, 46, 0, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 1, 2, 3, 4, - 31, 0, 80, 8, 9, 10, 11, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 0, 54, 12, 41, 42, 43, 44, 45, 46, 78, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, - 61, 0, 1, 2, 127, 12, 0, 68, 0, 1, 2, 3, 4, 68, 47, 0, 8, 9, 10, 11, 0, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 123, 124, 125, 0, 47, 0, 3, 0, 0, 0, 0, 1, 2, 41, 42, 43, 44, 45, 46, 54, - 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, 1, 2, 3, 4, 71, 0, 71, 8, 9, 10, 11, 0, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 54, 0, 0, 83, 84, 3, 0, 0, 0, 1, 2, 66, 0, - 41, 42, 43, 44, 45, 46, 78, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 1, 2, 3, 4, 0, 68, - 0, 8, 9, 10, 11, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 54, 0, 0, 122, 3, 83, - 84, 0, 0, 1, 2, 66, 73, 41, 42, 43, 44, 45, 46, 0, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, - 61, 0, 1, 2, 3, 4, 0, 68, 0, 8, 9, 10, 11, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 54, 0, 0, 0, 3, 83, 84, 0, 0, 1, 2, 0, 0, 41, 42, 43, 44, 45, 46, 0, 48, 49, 50, 51, 52, 53, 0, 55, - 56, 57, 58, 59, 60, 61, 0, 1, 2, 3, 4, 122, 83, 84, 8, 9, 10, 11, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 54, 0, 0, 0, 3, 83, 84, 0, 0, 1, 2, 0, 0, 41, 42, 43, 44, 45, 46, 78, 48, 49, - 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 1, 2, 3, 4, 0, 83, 84, 8, 9, 10, 11, 0, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 54, 0, 0, 0, 3, 83, 84, 0, 0, 0, 3, 3, 0, 41, 42, 43, - 44, 45, 46, 78, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 1, 2, 3, 4, 0, 0, 0, 8, 9, 10, - 11, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 54, 80, 0, 54, 0, 0, 0, 0, 0, 0, - 0, 12, 41, 42, 43, 44, 45, 46, 78, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 1, 2, 3, 4, - 0, 0, 0, 8, 9, 10, 11, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 54, 80, 0, 0, - 0, 0, 0, 0, 0, 72, 0, 12, 41, 42, 43, 44, 45, 46, 73, 48, 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, - 61, 0, 1, 2, 3, 4, 0, 0, 0, 8, 9, 10, 11, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 72, 0, 12, 41, 42, 43, 44, 45, 46, 0, 48, 49, 50, 51, 52, 53, 0, 55, 56, - 57, 58, 59, 60, 61, 0, 1, 2, 3, 4, 0, 0, 0, 8, 9, 10, 11, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 41, 42, 43, 44, 45, 46, 0, 48, 49, 50, 51, 52, - 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 1, 2, 3, 4, 0, 0, 0, 8, 9, 10, 11, 0, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 3, 0, 0, 0, 0, 8, 0, 10, 11, 0, 41, 42, 43, 44, 45, 46, 0, 48, - 49, 50, 51, 52, 53, 0, 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, 73, 0, 0, 0, 77, 42, 43, 44, 45, 46, 0, 0, - 13, 12, 12, 5, 6, 7, 0, 0, 0, 0, 12, 12, 0, 0, 0, 0, 0, 66, 0, 12, 12, 12, 71, 0, 73, 74, 75, 41, 77, 0, - 0, 80, 0, 0, 83, 84, 47, 47, 0, 0, 54, 54, 0, 0, 0, 47, 47, 96, 97, 62, 99, 100, 101, 102, 103, 104, 12, - 106, 107, 108, 0, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 73, 73, 0, 0, 1, 2, 126, 4, 5, 6, 7, - 73, 76, 76, 76, 78, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 0, 0, 73, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 4, 5, 6, 7, 0, 62, 63, 64, - 65, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 5, 6, 7, 0, 62, 63, 64, 65, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 12, 12, 5, 6, 7, 0, 62, 63, 64, 65, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 0, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 0, 66, 0, 0, 0, 0, 0, 0, 62, 63, 64, 65, 77, 76, 76, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 0, 0, 0, 96, 97, 0, 47, 98, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, - 0, 66, 0, 120, 121, 0, 71, 0, 0, 0, 12, 76, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, - 0, 0, 0, 47, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, 76, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 76, 0, 0, 0, 0, 0, 47, 0, 0, 1, 2, 3, 4, 5, 6, 7, 0, - 0, 10, 11, 0, 0, 1, 2, 3, 4, 5, 6, 7, 0, 71, 10, 11, 0, 0, 76, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 1, 2, 0, 4, 5, 6, 7, 0, 0, 10, 11, - 12, 0, 5, 6, 7, 71, 0, 73, 66, 3, 0, 77, 66, 0, 0, 0, 0, 0, 71, 77, 73, 0, 0, 77, 77, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 96, 97, 0, 0, 96, 97, 0, 0, 0, 0, 0, 0, 44, 45, 12, 12, 0, 0, 12, 0, - 0, 0, 0, 0, 120, 121, 76, 0, 120, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 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, 0, 0, 0, 0, 73, 0, 0, 76, 76, 0, 0, 76, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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; - - @Override - public final int termCheck(int index) { - return termCheck[index]; - } - - public interface TermAction { - public final static char termAction[] = { 0, 8653, 8230, 8244, 8244, 8244, 8240, 8244, 8244, 8244, 8244, 8244, - 8244, 8400, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 8234, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 113, 1548, 1, 8859, 1835, 135, - 8664, 8653, 1, 1, 2719, 8653, 127, 1451, 715, 8660, 3293, 6945, 6873, 1920, 2375, 1450, 3221, 5726, - 3292, 1287, 3291, 724, 3289, 10, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, - 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, - 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, - 8403, 8403, 8403, 8403, 8403, 8403, 8403, 418, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, - 8403, 8403, 8653, 8403, 8403, 8403, 8403, 8653, 8403, 8653, 8403, 8403, 188, 2641, 2562, 8403, 4190, - 8403, 8403, 4751, 4721, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8403, 8, 8509, 8509, 8509, - 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, - 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, - 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 1739, - 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 8509, 131, 8509, 8509, 8509, 8509, 335, - 8509, 109, 8509, 8509, 8653, 7683, 7680, 8509, 8691, 8509, 8509, 8653, 8987, 8509, 8509, 8509, 8509, - 8509, 8509, 8509, 8509, 8509, 8509, 8653, 8230, 8244, 8244, 8244, 8240, 8244, 8244, 8244, 8244, 8244, - 8244, 8237, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 8234, 1, 1, 1, 1, 1, 1, 7312, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 115, 1548, 1, 8859, 1835, 136, - 8664, 4476, 1, 1, 2719, 4304, 380, 1451, 39, 2258, 3293, 6515, 8691, 1920, 2375, 1450, 3221, 5726, 3292, - 1287, 3291, 724, 3289, 8653, 8230, 8244, 8244, 8244, 8240, 8244, 8244, 8244, 8244, 8244, 8244, 8237, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8234, - 1, 1, 1, 1, 1, 1, 2328, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 114, 1548, 1, 8859, 1835, 8653, 8664, 133, 1, - 1, 2719, 2641, 2562, 1451, 4190, 344, 3293, 8653, 4355, 1920, 2375, 1450, 3221, 5726, 3292, 1287, 3291, - 724, 3289, 8653, 8230, 8244, 8244, 8244, 8240, 8244, 8244, 8244, 8244, 8244, 8244, 8237, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8234, 1, 1, 1, 1, - 1, 1, 7553, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1300, 1548, 1, 8859, 1835, 155, 8664, 8653, 1, 1, 4913, - 2641, 2562, 1451, 8653, 4361, 3293, 29, 995, 1920, 2375, 1450, 3221, 5726, 3292, 1287, 3291, 724, 3289, - 8653, 8230, 8244, 8244, 8244, 8240, 8244, 8244, 8244, 8244, 8244, 8244, 8237, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8234, 1, 1, 1, 1, 1, 1, 1870, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 458, 1548, 1, 8859, 1835, 658, 8664, 129, 1, 1, 8358, 8364, 8361, 1451, - 4232, 8653, 3293, 8653, 4583, 1920, 2375, 1450, 3221, 5726, 3292, 1287, 3291, 724, 3289, 8653, 8230, - 8244, 8244, 8244, 8240, 8244, 8244, 8244, 8244, 8244, 8244, 8237, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8234, 1, 1, 1, 1, 1, 1, 7578, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 132, 1548, 1, 8859, 1835, 8653, 8664, 151, 1, 1, 8653, 8667, 8668, 1451, 8653, - 8653, 3293, 8653, 1445, 1920, 2375, 1450, 3221, 5726, 3292, 1287, 3291, 724, 3289, 8653, 8230, 8244, - 8244, 8244, 8240, 8244, 8244, 8244, 8244, 8244, 8244, 8237, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8234, 1, 1, 1, 1, 1, 1, 7582, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2418, 1548, 1, 8859, 1835, 364, 8664, 4476, 1, 1, 2025, 1968, 1990, 1451, 4515, 89, 3293, - 29, 7737, 1920, 2375, 1450, 3221, 5726, 3292, 1287, 3291, 724, 3289, 8653, 8230, 8244, 8244, 8244, 8240, - 8244, 8244, 8244, 8244, 8244, 8244, 8237, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8234, 1, 1, 1, 1, 1, 1, 7686, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 8653, 1548, 1, 8859, 1835, 364, 8664, 134, 1, 1, 8466, 8472, 8469, 1451, 8653, 3796, 3293, 474, 8653, - 1920, 2375, 1450, 3221, 5726, 3292, 1287, 3291, 724, 3289, 8653, 8230, 8244, 8244, 8244, 8240, 8244, - 8244, 8244, 8244, 8244, 8244, 8237, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8234, 1, 1, 1, 1, 1, 1, 7689, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2906, - 1548, 1, 8859, 1835, 429, 8664, 153, 1, 1, 2025, 1968, 1990, 1451, 8653, 4361, 3293, 488, 8653, 1920, - 2375, 1450, 3221, 5726, 3292, 1287, 3291, 724, 3289, 8653, 8230, 8244, 8244, 8244, 8240, 8244, 8244, - 8244, 8244, 8244, 8244, 8237, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 8234, 1, 1, 1, 1, 1, 1, 7692, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2915, 1548, 1, - 8859, 1835, 657, 8664, 8653, 1, 1, 2025, 1968, 1990, 1451, 8653, 4401, 3293, 421, 8653, 1920, 2375, - 1450, 3221, 5726, 3292, 1287, 3291, 724, 3289, 8653, 8230, 8244, 8244, 8244, 8240, 8244, 8244, 8244, - 8244, 8244, 8244, 8237, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 8234, 1, 1, 1, 1, 1, 1, 7740, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2977, 1548, 1, 8859, - 1835, 346, 8664, 152, 1, 1, 2025, 1968, 1990, 1451, 8653, 8653, 3293, 1, 2225, 1920, 2375, 1450, 3221, - 5726, 3292, 1287, 3291, 724, 3289, 8653, 8230, 8244, 8244, 8244, 8240, 8244, 8244, 8244, 8244, 8244, - 8244, 8237, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 8234, 1, 1, 1, 1, 1, 1, 225, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1548, 1, 8859, 1835, 331, - 8664, 8653, 1, 1, 2025, 1968, 1990, 1451, 4515, 1445, 3293, 606, 9260, 1920, 2375, 1450, 3221, 5726, - 3292, 1287, 3291, 724, 3289, 8653, 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, - 7743, 8653, 7683, 7680, 9261, 1066, 8653, 7679, 256, 7749, 4060, 8653, 216, 7862, 7856, 7859, 7743, - 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, 8513, 7743, 7743, 7743, 7743, - 8653, 7743, 7871, 7868, 7865, 7877, 7895, 7874, 7886, 7853, 7880, 7883, 7892, 7889, 7850, 1, 7798, 7794, - 8406, 8289, 7743, 3568, 403, 8409, 8292, 7743, 7743, 7743, 1, 492, 7743, 7743, 7743, 7743, 7743, 7743, - 335, 7743, 7743, 364, 7683, 7680, 5742, 1066, 2025, 1968, 1990, 914, 4060, 8987, 7743, 7743, 7743, 7743, - 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, 7743, - 7743, 7743, 7743, 7743, 7743, 8653, 13299, 13299, 549, 7743, 7743, 7743, 7743, 8653, 7746, 7746, 7746, - 7746, 7746, 7746, 7746, 7746, 7746, 7746, 7746, 7746, 8653, 7683, 7680, 7728, 1066, 1516, 2063, 257, - 7749, 4060, 2751, 8596, 7910, 7904, 7907, 7746, 7746, 7746, 7746, 7746, 7746, 7746, 7746, 7746, 7746, - 7746, 7746, 7746, 8653, 7746, 7746, 7746, 7746, 8689, 7746, 7919, 7916, 7913, 7925, 7943, 7922, 7934, - 7901, 7928, 7931, 7940, 7937, 7898, 1, 7798, 7794, 5742, 8289, 7746, 3584, 1094, 914, 4060, 7746, 7746, - 7746, 8653, 8653, 7746, 7746, 7746, 7746, 7746, 7746, 3459, 7746, 7746, 1, 7798, 7794, 5742, 8289, 8382, - 8388, 8385, 914, 4060, 7093, 7746, 7746, 7746, 7746, 7746, 7746, 7746, 7746, 7746, 7746, 7746, 7746, - 7746, 7746, 7746, 7746, 7746, 7746, 7746, 7746, 7746, 7746, 7746, 7746, 7746, 7746, 8653, 8667, 8668, - 581, 7746, 7746, 7746, 7746, 39, 7683, 7680, 723, 1066, 2025, 1968, 1990, 2875, 4060, 3109, 3187, 154, - 1004, 9315, 9316, 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, 8958, 8949, 6703, 9023, 9024, - 9317, 8945, 8939, 8946, 8942, 8918, 8944, 8943, 8940, 8941, 8919, 8672, 3031, 2953, 3343, 3265, 2797, - 391, 843, 1009, 8674, 921, 6659, 992, 8653, 8675, 8673, 832, 8669, 8670, 8671, 6637, 9085, 5767, 9086, - 9087, 3421, 784, 1685, 8653, 8482, 8482, 261, 8478, 8244, 8244, 8244, 261, 261, 261, 261, 8486, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8653, 8667, 8668, 473, 39, - 4401, 261, 1, 8691, 2025, 1968, 1990, 429, 8475, 364, 364, 422, 2025, 1968, 1990, 130, 1, 1, 1, 1, 8653, - 4955, 255, 9099, 2592, 8653, 4583, 7814, 7808, 7811, 9043, 8653, 261, 116, 1383, 450, 9315, 9316, 8950, - 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, 8958, 8949, 9187, 7823, 7820, 7817, 7829, 7847, 7826, - 7838, 7805, 7832, 7835, 7844, 7841, 7802, 8653, 7798, 7794, 5742, 8289, 8382, 8388, 8385, 914, 4060, - 8516, 8516, 1123, 955, 9122, 9123, 9124, 8653, 8482, 8482, 261, 8478, 8244, 8244, 8244, 261, 261, 261, - 261, 8534, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9122, - 9123, 9124, 321, 8006, 8006, 261, 316, 2025, 1968, 1990, 8653, 661, 8475, 43, 8250, 8250, 2025, 1968, - 1990, 3698, 1, 1, 1, 1, 8653, 4955, 568, 9099, 2592, 8653, 8653, 8421, 8415, 8418, 8653, 269, 261, 3152, - 8221, 449, 9315, 9316, 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, 8958, 8949, 9187, 9023, - 9024, 9317, 8945, 8939, 8946, 8942, 8918, 8944, 8943, 8940, 8941, 8919, 8247, 378, 7683, 7680, 5564, - 1066, 2025, 1968, 1990, 914, 4060, 364, 364, 8653, 9122, 9123, 9124, 8653, 8244, 8244, 261, 8244, 8240, - 8244, 8244, 261, 261, 261, 261, 8599, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 13885, 1, 13552, 1, 1, 13611, 1, 8653, 8060, 8057, 655, 8379, 8379, 261, 660, 2025, 1968, 1990, 650, - 8653, 8590, 2328, 1, 2025, 1968, 1990, 156, 8653, 1, 1, 1, 1, 8653, 6368, 7734, 8896, 1835, 1, 7798, - 7794, 5742, 8289, 8382, 8388, 8385, 914, 4060, 252, 342, 7798, 7794, 5742, 8289, 8382, 8388, 8385, 914, - 4060, 8516, 8516, 2277, 9187, 8653, 8244, 8244, 261, 8244, 8240, 8244, 8244, 261, 261, 261, 261, 261, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13885, 1, 13552, 1, 1, 13611, 1, 8660, 2984, - 258, 48, 8060, 8057, 261, 7970, 7964, 7967, 649, 128, 3698, 8590, 8653, 2025, 1968, 1990, 431, 8667, - 8668, 1, 1, 1, 1, 3776, 6368, 4232, 8896, 1835, 7979, 7976, 7973, 7985, 8003, 7982, 7994, 7961, 7988, - 7991, 8000, 7997, 7958, 1, 7798, 7794, 5742, 8289, 8382, 8388, 8385, 914, 4060, 8653, 9187, 8653, 8244, - 8244, 261, 8244, 8240, 8244, 8244, 261, 261, 261, 261, 8632, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 13885, 1, 13552, 1, 1, 13611, 1, 1, 7798, 7794, 5742, 8289, 8653, 261, 8653, 914, - 4060, 8653, 7683, 7680, 8590, 1066, 4751, 4721, 8657, 914, 4060, 8653, 1, 1, 1, 1, 3698, 6368, 451, - 8896, 1835, 137, 8653, 2025, 1968, 1990, 1, 7798, 7794, 5564, 8289, 251, 430, 491, 914, 4060, 421, 1, - 400, 48, 7589, 1, 119, 8668, 3986, 9187, 8653, 8244, 8244, 261, 8244, 8240, 8244, 8244, 261, 261, 261, - 261, 8599, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13885, 1, 13552, 1, 1, 13611, - 1, 8653, 1870, 331, 8667, 8668, 369, 261, 2025, 1968, 1990, 2328, 1870, 400, 8590, 2279, 400, 400, 7731, - 8668, 1467, 8653, 1, 1, 1, 1, 2328, 6368, 574, 8896, 1835, 157, 574, 8661, 8584, 8581, 8578, 8656, 400, - 5674, 5700, 252, 401, 3896, 4981, 2230, 2181, 2132, 2083, 2034, 1985, 1936, 1887, 1838, 1788, 9187, - 8653, 8244, 8244, 261, 8244, 8240, 8244, 8244, 261, 261, 261, 261, 8599, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13885, 1, 13552, 1, 1, 13611, 1, 8653, 8667, 8668, 8653, 1066, 8660, - 261, 1499, 914, 4060, 38, 7701, 7698, 8590, 3314, 8, 112, 8653, 7695, 4060, 5071, 1, 1, 1, 1, 1587, - 6368, 8629, 8896, 1835, 658, 7683, 7680, 5742, 1066, 2025, 1968, 1990, 914, 4060, 252, 8653, 3943, 6130, - 3236, 3158, 3080, 3002, 2924, 2846, 2768, 2690, 2612, 2533, 9187, 8653, 8244, 8244, 261, 8244, 8240, - 8244, 8244, 261, 261, 261, 261, 261, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 13885, 1, 13552, 1, 1, 13611, 1, 8629, 1, 259, 8653, 8667, 8668, 261, 8021, 8015, 8018, 651, 914, 4060, - 8590, 8653, 2025, 1968, 1990, 8653, 4304, 8653, 1, 1, 1, 1, 6515, 6368, 8653, 8896, 1835, 8030, 8027, - 8024, 8036, 8054, 8033, 8045, 8012, 8039, 8042, 8051, 8048, 8009, 1, 7798, 7794, 5742, 8289, 8382, 8388, - 8385, 914, 4060, 8653, 9187, 8653, 8244, 8244, 261, 8244, 8240, 8244, 8244, 261, 261, 261, 261, 261, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13885, 1, 13552, 1, 1, 13611, 1, 5994, 8653, - 646, 9045, 5282, 653, 261, 8075, 8069, 8072, 8608, 8614, 8611, 8590, 8653, 7683, 7680, 8653, 8691, 326, - 3599, 1, 1, 1, 1, 381, 6368, 636, 8896, 1835, 8084, 8081, 8078, 8090, 8108, 8087, 8099, 8066, 8093, - 8096, 8105, 8102, 8063, 428, 7955, 7955, 429, 316, 7946, 7952, 7949, 2025, 1968, 1990, 9187, 8653, 8244, - 8244, 261, 8244, 8240, 8244, 8244, 261, 261, 261, 261, 261, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 13885, 1, 13552, 1, 1, 13611, 1, 2328, 316, 569, 3745, 8653, 652, 261, 8430, 8424, - 8427, 8617, 8623, 8620, 8590, 5674, 5700, 1870, 36, 8506, 8503, 8653, 1, 1, 1, 1, 8653, 6368, 635, 8896, - 1835, 9023, 9024, 9317, 8945, 8939, 8946, 8942, 8918, 8944, 8943, 8940, 8941, 8919, 656, 8376, 8376, - 8653, 660, 8367, 8373, 8370, 325, 8667, 8668, 9187, 8653, 8244, 8244, 261, 8244, 8240, 8244, 8244, 261, - 261, 261, 261, 261, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13885, 1, 13552, 1, - 1, 13611, 1, 8653, 660, 570, 6062, 3470, 452, 261, 8439, 8433, 8436, 2025, 1968, 1990, 8590, 5674, 5700, - 5493, 123, 8653, 13040, 11516, 1, 1, 1, 1, 1, 6368, 5533, 8896, 1835, 9023, 9024, 9317, 8945, 8939, - 8946, 8942, 8918, 8944, 8943, 8940, 8941, 8919, 37, 8394, 8394, 5466, 5428, 2025, 1968, 1990, 3829, 37, - 364, 9187, 8653, 8244, 8244, 261, 8244, 8240, 8244, 8244, 261, 261, 261, 261, 261, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13885, 1, 13552, 1, 1, 13611, 1, 8653, 8689, 571, 6063, 5674, - 5700, 261, 8448, 8442, 8445, 8689, 111, 147, 8590, 8653, 8653, 110, 8653, 13040, 11516, 369, 1, 1, 1, 1, - 8653, 6368, 3793, 8896, 1835, 9023, 9024, 9317, 8945, 8939, 8946, 8942, 8918, 8944, 8943, 8940, 8941, - 8919, 1, 7798, 7794, 5564, 8289, 9023, 9024, 9317, 914, 4060, 8653, 9187, 8653, 8244, 8244, 261, 8244, - 8240, 8244, 8244, 261, 261, 261, 261, 261, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 13885, 1, 13552, 1, 1, 13611, 1, 1, 7798, 7794, 8406, 8289, 137, 261, 2435, 8409, 8292, 8653, 8653, - 8663, 8590, 4304, 8653, 4809, 4649, 2328, 4304, 6515, 1, 1, 1, 1, 6515, 6368, 8653, 8896, 1835, 8653, - 7798, 7794, 5742, 8289, 8382, 8388, 8385, 914, 4060, 8548, 8548, 8653, 1, 1, 1, 1, 8662, 8653, 8653, 1, - 1, 1, 1, 9187, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8653, 8626, 8626, 8626, 8626, 8626, 8626, - 8626, 8626, 8626, 8626, 8626, 395, 1, 1, 1, 1, 1, 1, 2484, 1, 1, 1, 1, 1, 1, 8653, 1, 1, 1, 1, 1, 1, 1, - 37, 8394, 8394, 118, 3698, 117, 1, 9323, 1, 3896, 4981, 3986, 1, 1, 1, 7798, 7794, 3519, 1066, 8653, - 374, 9199, 2875, 4060, 3109, 3187, 8653, 7752, 7791, 7788, 7779, 7785, 7758, 7761, 7773, 7770, 7776, - 7767, 7764, 7755, 7782, 5392, 8653, 3792, 8626, 1123, 955, 1123, 955, 39, 149, 3444, 3891, 8691, 1379, - 8672, 3031, 2953, 3343, 3265, 2797, 4622, 843, 1009, 8674, 921, 6659, 992, 8653, 8675, 8673, 832, 8669, - 8670, 8671, 6637, 324, 1298, 1298, 2328, 3061, 374, 1685, 8653, 374, 374, 5735, 1, 39, 39, 3986, 550, 1, - 7798, 7794, 8334, 8289, 8653, 8653, 8215, 8295, 8292, 8277, 8280, 8665, 7752, 7791, 7788, 7779, 7785, - 7758, 7761, 7773, 7770, 7776, 7767, 7764, 7755, 7782, 8259, 8653, 7798, 7794, 5742, 8289, 8382, 8388, - 8385, 914, 4060, 8548, 8548, 629, 8307, 8274, 8271, 8286, 8283, 8268, 8653, 8322, 8331, 8301, 8325, - 8265, 8328, 5793, 8298, 8304, 8319, 8316, 8313, 8310, 8262, 37, 8394, 8394, 341, 2328, 8653, 8060, 8057, - 8394, 8218, 8664, 8653, 8337, 8337, 39, 7683, 7680, 723, 1066, 3788, 9128, 9142, 2875, 4060, 3109, 3187, - 8593, 714, 9315, 9316, 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, 8958, 8949, 5392, 478, - 7725, 7725, 454, 7725, 7725, 7725, 7725, 148, 8653, 7725, 7725, 1565, 8672, 3031, 2953, 3343, 3265, - 2797, 7536, 843, 1009, 8674, 921, 6659, 992, 8653, 8675, 8673, 832, 8669, 8670, 8671, 6637, 4864, 3776, - 8653, 3421, 784, 8653, 1685, 150, 8653, 8653, 8212, 6204, 172, 7683, 7680, 723, 1066, 8663, 4622, 8660, - 2875, 4060, 3109, 3187, 8653, 714, 9315, 9316, 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, - 8958, 8949, 5392, 378, 39, 39, 3986, 8691, 2025, 1968, 1990, 8653, 3844, 364, 364, 8662, 8672, 3031, - 2953, 3343, 3265, 2797, 47, 843, 1009, 8674, 921, 6659, 992, 1, 8675, 8673, 832, 8669, 8670, 8671, 6637, - 4809, 4649, 8653, 8667, 8668, 8602, 1685, 1, 7798, 7794, 3519, 1066, 39, 39, 8665, 2875, 4060, 3109, - 3187, 8653, 7752, 7791, 7788, 7779, 7785, 7758, 7761, 7773, 7770, 7776, 7767, 7764, 7755, 7782, 5392, 1, - 3499, 2328, 8653, 1261, 8653, 8653, 351, 7218, 6882, 8545, 3923, 8665, 8672, 3031, 2953, 3343, 3265, - 2797, 8605, 843, 1009, 8674, 921, 6659, 992, 8653, 8675, 8673, 832, 8669, 8670, 8671, 6637, 98, 8653, - 8653, 3651, 5755, 8664, 1685, 39, 7683, 7680, 723, 1066, 39, 39, 8659, 2875, 4060, 3109, 3187, 8209, - 714, 9315, 9316, 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, 8958, 8949, 5392, 479, 8355, - 8355, 8664, 8349, 8340, 8346, 8343, 3643, 2328, 8352, 8352, 5860, 8672, 3031, 2953, 3343, 3265, 2797, - 318, 843, 1009, 8674, 921, 6659, 992, 8653, 8675, 8673, 832, 8669, 8670, 8671, 6637, 8653, 8653, 8519, - 6196, 8661, 8653, 1685, 8653, 8653, 8658, 8212, 612, 7683, 7680, 723, 1066, 624, 8665, 8653, 2875, 4060, - 3109, 3187, 8653, 714, 9315, 9316, 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, 8958, 8949, - 5392, 1, 7798, 7794, 5564, 8289, 8653, 9276, 144, 914, 4060, 8653, 146, 8215, 8672, 3031, 2953, 3343, - 3265, 2797, 8970, 843, 1009, 8674, 921, 6659, 992, 1234, 8675, 8673, 832, 8669, 8670, 8671, 6637, 8660, - 4948, 8653, 324, 8664, 7170, 1685, 39, 7683, 7680, 723, 1066, 39, 39, 8659, 2875, 4060, 3109, 3187, - 8209, 714, 9315, 9316, 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, 8958, 8949, 5392, 8653, - 8653, 2328, 2209, 5493, 758, 617, 8218, 5493, 2997, 353, 8653, 8659, 8672, 3031, 2953, 3343, 3265, 2797, - 5927, 843, 1009, 8674, 921, 6659, 992, 72, 8675, 8673, 832, 8669, 8670, 8671, 6637, 5466, 5428, 8653, - 97, 5466, 5428, 1685, 12416, 8653, 8658, 8212, 612, 7683, 7680, 723, 1066, 5674, 5700, 3788, 2875, 4060, - 3109, 3187, 8653, 714, 9315, 9316, 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, 8958, 8949, - 5392, 90, 8412, 8412, 8658, 8412, 8412, 8412, 8412, 2328, 8653, 8412, 8412, 2753, 8672, 3031, 2953, - 3343, 3265, 2797, 8575, 843, 1009, 8674, 921, 6659, 992, 8653, 8675, 8673, 832, 8669, 8670, 8671, 6637, - 8653, 8554, 8653, 3300, 145, 8653, 1685, 39, 7683, 7680, 723, 1066, 39, 39, 8659, 2875, 4060, 3109, - 3187, 8209, 714, 9315, 9316, 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, 8958, 8949, 5392, 93, - 8572, 8572, 627, 8566, 8557, 8563, 8560, 48, 8653, 8569, 8569, 8667, 8672, 3031, 2953, 3343, 3265, 2797, - 3777, 843, 1009, 8674, 921, 6659, 992, 35, 8675, 8673, 832, 8669, 8670, 8671, 6637, 722, 5493, 2907, 39, - 7683, 7680, 723, 1066, 8653, 8658, 8212, 2875, 4060, 3109, 3187, 8657, 714, 9315, 9316, 8950, 8948, - 8957, 8956, 8952, 8953, 8951, 8954, 8955, 8958, 8949, 5392, 5466, 5428, 8653, 8653, 604, 1679, 8653, - 1352, 39, 8667, 1725, 2311, 8691, 8672, 3031, 2953, 3343, 3265, 2797, 8653, 843, 1009, 8674, 921, 6659, - 992, 8653, 8675, 8673, 832, 8669, 8670, 8671, 6637, 39, 7683, 7680, 723, 1066, 1332, 592, 2418, 2875, - 4060, 3109, 3187, 8653, 714, 9315, 9316, 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, 8958, - 8949, 5392, 1, 7798, 7794, 5742, 8289, 8382, 8388, 8385, 914, 4060, 8653, 7016, 342, 8672, 3031, 2953, - 3343, 3265, 2797, 3392, 843, 1009, 8674, 921, 6659, 992, 1, 8675, 8673, 832, 8669, 8670, 8671, 6637, - 8653, 8492, 8489, 8656, 8663, 98, 1685, 39, 7683, 7680, 723, 1066, 3924, 342, 8653, 2875, 4060, 3109, - 3187, 122, 714, 9315, 9316, 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, 8958, 8949, 5392, - 9122, 9123, 9124, 8653, 8662, 8653, 6427, 580, 8653, 8653, 8653, 8499, 8495, 8672, 3031, 2953, 3343, - 3265, 2797, 8689, 843, 1009, 8674, 921, 6659, 992, 8653, 8675, 8673, 832, 8669, 8670, 8671, 6637, 8653, - 8653, 39, 7683, 7680, 3519, 1066, 8519, 8653, 1667, 2875, 4060, 3109, 3187, 121, 714, 9315, 9316, 8950, - 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, 8958, 8949, 5392, 8689, 483, 101, 5674, 5700, 8551, - 8653, 2, 45, 8525, 8525, 3069, 8653, 8672, 3031, 2953, 3343, 3265, 2797, 9088, 843, 1009, 8674, 921, - 6659, 992, 8653, 8675, 8673, 832, 8669, 8670, 8671, 6637, 39, 7683, 7680, 3519, 1066, 8653, 1685, 408, - 2875, 4060, 3109, 3187, 120, 714, 9315, 9316, 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, - 8958, 8949, 5392, 8522, 311, 8653, 3829, 8587, 5674, 5700, 8653, 8653, 8492, 8489, 37, 2210, 8672, 3031, - 2953, 3343, 3265, 2797, 139, 843, 1009, 8674, 921, 6659, 992, 8653, 8675, 8673, 832, 8669, 8670, 8671, - 6637, 39, 7683, 7680, 6764, 1066, 8653, 1685, 8653, 2875, 4060, 3109, 3187, 143, 714, 9315, 9316, 8950, - 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, 8958, 8949, 5392, 8689, 630, 8653, 482, 3876, 5674, - 5700, 8653, 37, 8394, 8394, 8653, 8653, 8672, 3031, 2953, 3343, 3265, 2797, 142, 843, 1009, 8674, 921, - 6659, 992, 8653, 8675, 8673, 832, 8669, 8670, 8671, 6637, 39, 7683, 7680, 6764, 1066, 3829, 5674, 5700, - 2875, 4060, 3109, 3187, 140, 714, 9315, 9316, 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, - 8958, 8949, 5392, 8689, 8653, 8653, 462, 1266, 5674, 5700, 8653, 8653, 14333, 14320, 8653, 8653, 8672, - 3031, 2953, 3343, 3265, 2797, 1543, 843, 1009, 8674, 921, 6659, 992, 8653, 8675, 8673, 832, 8669, 8670, - 8671, 6637, 39, 7683, 7680, 723, 1066, 8653, 5674, 5700, 2875, 4060, 3109, 3187, 542, 714, 9315, 9316, - 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, 8958, 8949, 5392, 8689, 8653, 8653, 8653, 6468, - 5674, 5700, 101, 8653, 8653, 8551, 7427, 1, 8672, 3031, 2953, 3343, 3265, 2797, 3374, 843, 1009, 8674, - 921, 6659, 992, 8653, 8675, 8673, 832, 8669, 8670, 8671, 6637, 39, 7683, 7680, 6855, 1066, 8653, 8653, - 8653, 2875, 4060, 3109, 3187, 540, 714, 9315, 9316, 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, - 8955, 8958, 8949, 5392, 8653, 7077, 7590, 8653, 3877, 8653, 8653, 8653, 460, 1, 8653, 8653, 8209, 8672, - 3031, 2953, 3343, 3265, 2797, 3797, 843, 1009, 8674, 921, 6659, 992, 8653, 8675, 8673, 832, 8669, 8670, - 8671, 6637, 39, 7683, 7680, 6855, 1066, 8653, 8653, 8653, 2875, 4060, 3109, 3187, 544, 714, 9315, 9316, - 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, 8958, 8949, 5392, 645, 3878, 7591, 8653, 8653, - 8653, 8653, 8653, 8653, 8653, 8212, 8653, 8537, 8672, 3031, 2953, 3343, 3265, 2797, 2415, 843, 1009, - 8674, 921, 6659, 992, 8653, 8675, 8673, 832, 8669, 8670, 8671, 6637, 39, 7683, 7680, 3519, 1066, 8653, - 8653, 8653, 2875, 4060, 3109, 3187, 8653, 714, 9315, 9316, 8950, 8948, 8957, 8956, 8952, 8953, 8951, - 8954, 8955, 8958, 8949, 5392, 1, 8653, 1045, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8541, 8653, 8635, - 8672, 3031, 2953, 3343, 3265, 2797, 8653, 843, 1009, 8674, 921, 6659, 992, 8653, 8675, 8673, 832, 8669, - 8670, 8671, 6637, 39, 7683, 7680, 3519, 1066, 8653, 8653, 8653, 2875, 4060, 3109, 3187, 8653, 714, 9315, - 9316, 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, 8958, 8949, 5392, 8653, 8653, 8653, 8653, - 8653, 8653, 8653, 8653, 8653, 8653, 8664, 8653, 8653, 8672, 3031, 2953, 3343, 3265, 2797, 8653, 843, - 1009, 8674, 921, 6659, 992, 8653, 8675, 8673, 832, 8669, 8670, 8671, 6637, 39, 7683, 7680, 723, 1066, - 8653, 8653, 8653, 2875, 4060, 3109, 3187, 8653, 714, 9315, 9316, 8950, 8948, 8957, 8956, 8952, 8953, - 8951, 8954, 8955, 8958, 8949, 5392, 1, 8653, 8653, 676, 8653, 8653, 8653, 8653, 9156, 8653, 9150, 9154, - 8653, 8672, 3031, 2953, 3343, 3265, 2797, 8653, 843, 1009, 8674, 921, 6659, 992, 8653, 8675, 8673, 832, - 8669, 8670, 8671, 6637, 8653, 1, 1, 4948, 439, 1, 8653, 3928, 9148, 9149, 9179, 9180, 9157, 8653, 8653, - 8602, 8528, 222, 8638, 8646, 8642, 8653, 1, 8653, 8653, 8650, 8663, 8653, 8653, 8653, 8653, 8653, 9159, - 8653, 192, 8659, 8659, 730, 8653, 9181, 1575, 1669, 3881, 9160, 8653, 8653, 9158, 8653, 8653, 9170, - 9169, 8531, 222, 8653, 8653, 3881, 3923, 8653, 8653, 8653, 8650, 8662, 9175, 9176, 8605, 9182, 9173, - 9174, 9153, 9155, 9177, 8659, 9151, 9152, 9178, 8653, 9163, 9164, 9165, 9161, 9162, 9171, 9172, 9167, - 9166, 9168, 8650, 4961, 8653, 8653, 7683, 7680, 9183, 8691, 2025, 1968, 1990, 844, 192, 8658, 8658, - 1664, 907, 9315, 9316, 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, 8958, 8949, 6681, 9023, - 9024, 9317, 8945, 8939, 8946, 8942, 8918, 8944, 8943, 8940, 8941, 8919, 8653, 8653, 1636, 8653, 8653, - 8658, 8653, 8653, 8653, 8653, 8653, 8653, 273, 8202, 8198, 8653, 8206, 8123, 8117, 8120, 8653, 9085, - 5767, 9086, 9087, 907, 8195, 8192, 8183, 8189, 8162, 8165, 8177, 8174, 8180, 8171, 8168, 8159, 8186, - 6681, 8132, 8129, 8126, 8138, 8156, 8135, 8147, 8114, 8141, 8144, 8153, 8150, 8111, 8653, 8653, 8653, - 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8667, 8668, 8653, 8653, 2025, 1968, 1990, - 8653, 9085, 5767, 9086, 9087, 1172, 9315, 9316, 8950, 8948, 8957, 8956, 8952, 8953, 8951, 8954, 8955, - 8958, 8949, 8653, 9023, 9024, 9317, 8945, 8939, 8946, 8942, 8918, 8944, 8943, 8940, 8941, 8919, 8653, - 124, 8653, 1, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 273, 8463, 8460, 396, 8659, 8123, 8117, - 8120, 8653, 9085, 5767, 9086, 9087, 1172, 8195, 8192, 8183, 8189, 8162, 8165, 8177, 8174, 8180, 8171, - 8168, 8159, 8186, 8653, 8132, 8129, 8126, 8138, 8156, 8135, 8147, 8114, 8141, 8144, 8153, 8150, 8111, - 29, 421, 421, 8227, 421, 421, 421, 421, 421, 421, 8227, 8227, 8227, 8653, 5234, 8653, 8653, 8653, 8653, - 8653, 8653, 9085, 5767, 9086, 9087, 7722, 396, 8658, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, - 421, 421, 421, 8653, 8653, 8653, 5180, 5150, 8653, 8227, 396, 32, 422, 422, 8224, 422, 422, 422, 422, - 422, 422, 8224, 8224, 8224, 8653, 1, 8653, 8653, 7686, 8653, 5123, 4428, 8653, 8227, 8653, 8653, 8653, - 194, 8227, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 8653, 8653, 8653, 8653, - 8653, 8653, 8224, 8653, 634, 644, 644, 644, 644, 644, 644, 644, 644, 644, 8397, 8397, 8397, 8653, 8653, - 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8224, 8653, 8653, 8653, 8653, 8224, 644, 644, 644, 644, 644, - 644, 644, 644, 644, 644, 644, 644, 644, 194, 8653, 8653, 8653, 8653, 8653, 8397, 8653, 37, 8668, 8668, - 8668, 8668, 8668, 8668, 8668, 126, 8653, 8668, 8668, 125, 37, 8667, 8667, 8667, 8667, 8667, 8667, 8667, - 8653, 644, 8667, 8667, 8653, 8653, 8397, 8668, 8668, 8668, 8668, 8668, 8668, 8668, 8668, 8668, 8668, - 8668, 8668, 8668, 8667, 8667, 8667, 8667, 8667, 8667, 8667, 8667, 8667, 8667, 8667, 8667, 8667, 1, 8337, - 8337, 8653, 8391, 8382, 8388, 8385, 8653, 572, 364, 364, 396, 8653, 8457, 8451, 8454, 8668, 74, 8668, - 5234, 7716, 8653, 8668, 5234, 8653, 8653, 8653, 8653, 8653, 8667, 8253, 8667, 8653, 8653, 8256, 8667, - 9023, 9024, 9317, 8945, 8939, 8946, 8942, 8918, 8944, 8943, 8940, 8941, 8919, 5180, 5150, 8653, 1, 5180, - 5150, 1, 8653, 8653, 8653, 8653, 8653, 7707, 7704, 8659, 588, 8653, 8653, 8659, 8653, 8653, 8653, 8653, - 8653, 5123, 4428, 396, 8653, 5123, 4428, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 7719, - 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 396, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, - 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, - 8653, 7592, 8653, 8653, 8658, 588, 8653, 8653, 8658, 8653, 8653, 8653, 8653, 8653, 8653, 8653, 8653, - 8653, 8653, 8653, 7710, 8653, 7713 }; - } - - public final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[index]; - } - - public interface Asb { - public final static char asb[] = { 0, 957, 123, 720, 127, 821, 661, 661, 661, 661, 1079, 821, 1251, 1251, 1004, - 1251, 62, 1, 64, 721, 721, 721, 721, 721, 721, 721, 721, 721, 721, 721, 1251, 306, 311, 308, 315, 313, - 322, 320, 324, 323, 325, 212, 326, 720, 720, 381, 381, 381, 381, 763, 223, 353, 353, 1251, 381, 117, - 268, 1251, 1251, 353, 763, 268, 268, 268, 1160, 700, 681, 777, 380, 1370, 1081, 1251, 1, 1251, 1251, - 184, 184, 223, 720, 721, 721, 721, 721, 721, 721, 721, 721, 721, 721, 721, 721, 721, 721, 721, 721, 721, - 721, 721, 721, 721, 720, 720, 720, 720, 720, 720, 720, 720, 720, 720, 720, 1109, 721, 268, 351, 351, - 351, 351, 1372, 268, 353, 353, 1315, 1238, 821, 821, 821, 1251, 181, 1251, 1083, 1251, 1223, 1251, 1079, - 763, 1251, 1232, 721, 117, 117, 353, 661, 22, 1315, 530, 1177, 199, 198, 476, 1258, 1258, 1079, 64, 721, - 682, 117, 380, 720, 761, 1366, 268, 760, 762, 760, 268, 117, 308, 308, 306, 306, 306, 313, 313, 313, - 313, 313, 313, 311, 311, 320, 315, 315, 323, 322, 324, 1107, 1107, 325, 821, 821, 821, 821, 763, 763, - 351, 383, 1070, 1, 620, 618, 625, 623, 627, 626, 628, 337, 350, 351, 1251, 1251, 763, 574, 514, 267, - 1002, 420, 1085, 186, 1083, 179, 1079, 1223, 763, 763, 1372, 1, 351, 655, 181, 1160, 117, 645, 268, - 1179, 1181, 763, 1370, 1262, 681, 1107, 721, 1107, 114, 680, 821, 821, 821, 682, 821, 763, 69, 114, 114, - 901, 120, 763, 271, 181, 721, 381, 1251, 1251, 268, 1081, 763, 181, 763, 762, 1370, 720, 720, 720, 720, - 720, 720, 821, 821, 1044, 1057, 1057, 1057, 1057, 1039, 1079, 658, 721, 721, 721, 721, 721, 721, 721, - 721, 721, 720, 720, 720, 720, 720, 720, 720, 720, 720, 720, 720, 720, 721, 700, 1319, 1251, 1251, 518, - 267, 513, 268, 420, 763, 665, 1376, 663, 1372, 181, 524, 763, 1372, 763, 268, 655, 21, 268, 203, 1156, - 202, 1181, 1372, 761, 672, 682, 1107, 774, 682, 700, 700, 698, 680, 700, 114, 114, 577, 901, 1312, 763, - 821, 821, 643, 1079, 760, 679, 268, 1251, 1315, 1366, 1081, 763, 761, 268, 268, 268, 268, 223, 223, 763, - 721, 618, 618, 618, 623, 620, 620, 626, 625, 627, 1107, 628, 1322, 1251, 1171, 1170, 266, 655, 763, 420, - 1107, 1086, 661, 1374, 759, 1094, 420, 665, 664, 668, 665, 668, 1372, 524, 524, 763, 763, 1251, 21, 588, - 720, 200, 200, 191, 191, 1175, 1315, 823, 268, 763, 682, 721, 682, 268, 1312, 268, 698, 901, 821, 268, - 668, 668, 114, 609, 1315, 937, 614, 1312, 1312, 763, 268, 763, 1370, 1181, 207, 1079, 763, 761, 125, - 1251, 1251, 1251, 720, 1251, 1154, 1251, 1081, 268, 268, 1372, 915, 720, 1251, 1251, 518, 268, 222, 268, - 268, 1370, 181, 1088, 1088, 351, 661, 1096, 668, 668, 668, 668, 763, 524, 654, 920, 654, 654, 588, 720, - 720, 1179, 1156, 588, 1295, 682, 643, 682, 114, 901, 720, 682, 668, 181, 1079, 609, 1312, 720, 21, 1312, - 609, 1366, 1181, 131, 925, 130, 763, 763, 761, 679, 821, 1251, 223, 721, 117, 1154, 763, 1251, 279, - 1171, 761, 424, 181, 425, 436, 614, 721, 1107, 610, 931, 611, 1096, 668, 668, 766, 654, 655, 721, 763, - 1251, 135, 591, 1312, 588, 720, 680, 223, 114, 1312, 268, 181, 943, 763, 821, 268, 609, 268, 207, 114, - 912, 1002, 763, 114, 114, 823, 1251, 268, 117, 1251, 222, 114, 424, 424, 1374, 1374, 947, 1324, 1086, - 436, 1096, 721, 721, 611, 611, 1096, 1096, 943, 471, 767, 763, 655, 1251, 1251, 591, 591, 682, 268, 114, - 125, 1079, 763, 223, 599, 764, 268, 114, 268, 268, 1309, 655, 424, 424, 425, 425, 425, 863, 950, 350, - 661, 582, 582, 611, 611, 766, 763, 1079, 1079, 763, 821, 591, 682, 125, 268, 599, 268, 181, 181, 1311, - 655, 425, 424, 436, 425, 436, 349, 349, 763, 763, 763, 1182, 673, 602, 424, 436, 381, 381, 763, 763, - 1171, 602, 655, 350, 381, 418, 582, 349, 760 }; - } - - public final static char asb[] = Asb.asb; - - @Override - public final int asb(int index) { - return asb[index]; - } - - public interface Asr { - public final static char asr[] = { 0, 30, 5, 32, 62, 28, 63, 33, 34, 35, 36, 37, 38, 39, 64, 40, 65, 31, 29, 6, - 7, 68, 44, 45, 11, 10, 42, 43, 46, 52, 61, 27, 3, 4, 58, 59, 60, 41, 56, 50, 55, 14, 15, 17, 26, 16, 22, - 20, 21, 23, 24, 19, 18, 25, 13, 49, 53, 51, 48, 57, 72, 12, 9, 8, 1, 2, 75, 74, 0, 14, 15, 16, 17, 48, - 74, 18, 49, 50, 19, 20, 21, 75, 9, 51, 22, 23, 52, 53, 55, 68, 56, 57, 13, 24, 25, 26, 58, 59, 60, 41, - 1, 2, 3, 44, 45, 11, 10, 42, 43, 8, 46, 4, 27, 61, 47, 12, 0, 127, 12, 0, 3, 29, 0, 129, 0, 122, 0, 127, - 47, 129, 73, 76, 12, 78, 0, 74, 75, 68, 44, 45, 11, 10, 42, 43, 8, 46, 52, 61, 27, 3, 4, 9, 58, 59, 60, - 41, 56, 50, 55, 14, 15, 17, 26, 16, 22, 20, 21, 23, 24, 19, 18, 25, 13, 49, 53, 51, 48, 57, 81, 1, 2, - 72, 12, 0, 9, 8, 54, 1, 2, 4, 0, 5, 79, 78, 47, 72, 6, 7, 3, 71, 77, 80, 73, 12, 76, 98, 0, 12, 78, 76, - 41, 0, 5, 77, 78, 98, 127, 81, 47, 6, 7, 129, 73, 14, 15, 16, 17, 48, 74, 18, 49, 50, 19, 20, 21, 75, 9, - 51, 22, 23, 52, 53, 55, 68, 56, 57, 13, 24, 25, 26, 58, 59, 60, 2, 3, 44, 45, 11, 10, 42, 43, 8, 46, 4, - 27, 61, 41, 1, 76, 12, 0, 9, 1, 2, 8, 4, 13, 67, 0, 32, 33, 34, 35, 36, 37, 9, 38, 39, 68, 79, 40, 31, - 1, 2, 71, 3, 128, 126, 44, 45, 8, 4, 72, 28, 29, 30, 105, 99, 10, 106, 107, 42, 43, 84, 83, 66, 96, 97, - 120, 121, 100, 101, 11, 102, 103, 104, 5, 12, 78, 98, 127, 76, 81, 47, 6, 7, 129, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 80, 73, 77, 0, 48, 74, 49, 50, 75, 9, 51, 52, 53, 55, 68, 56, - 57, 58, 59, 60, 41, 44, 45, 11, 10, 42, 43, 8, 46, 77, 61, 3, 4, 27, 13, 1, 2, 63, 64, 65, 14, 15, 17, - 26, 16, 22, 20, 21, 23, 24, 19, 18, 25, 32, 38, 39, 34, 37, 36, 31, 33, 28, 29, 30, 5, 7, 6, 35, 40, 62, - 0, 123, 124, 125, 78, 81, 9, 12, 3, 11, 10, 8, 47, 70, 67, 95, 69, 14, 15, 30, 5, 32, 16, 17, 62, 28, - 18, 63, 33, 34, 19, 35, 36, 20, 21, 37, 38, 22, 23, 39, 64, 54, 40, 13, 65, 24, 25, 29, 26, 27, 6, 7, 1, - 2, 4, 31, 0, 14, 15, 30, 5, 32, 16, 17, 28, 18, 33, 34, 19, 35, 36, 20, 21, 37, 9, 38, 22, 23, 39, 40, - 24, 31, 25, 29, 26, 2, 71, 11, 10, 8, 4, 47, 6, 7, 1, 76, 12, 3, 0, 12, 73, 76, 1, 28, 0, 1, 2, 12, 73, - 81, 0, 74, 75, 127, 12, 3, 13, 49, 53, 51, 48, 57, 17, 26, 16, 22, 20, 21, 23, 24, 19, 18, 25, 14, 15, - 58, 59, 60, 41, 56, 50, 55, 8, 9, 4, 44, 45, 42, 43, 46, 52, 61, 27, 1, 2, 10, 11, 0, 12, 78, 72, 79, 0, - 77, 80, 73, 1, 2, 0, 30, 28, 29, 68, 12, 77, 98, 80, 73, 76, 0, 30, 28, 29, 68, 79, 77, 78, 98, 76, 72, - 3, 80, 6, 7, 5, 12, 47, 73, 0, 84, 83, 66, 96, 97, 100, 101, 11, 102, 103, 77, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 73, 104, 80, 0, 5, 78, 98, 127, 47, 6, 7, 108, 109, 73, 12, 81, 0, - 77, 96, 97, 66, 0, 4, 66, 6, 7, 5, 12, 78, 72, 0, 76, 95, 123, 124, 125, 54, 78, 122, 130, 81, 69, 79, - 70, 67, 85, 87, 93, 91, 82, 89, 90, 92, 94, 72, 86, 88, 47, 12, 63, 62, 64, 65, 32, 38, 39, 34, 37, 36, - 31, 33, 28, 29, 30, 5, 7, 6, 35, 40, 68, 74, 75, 49, 53, 51, 48, 57, 3, 17, 26, 16, 22, 20, 21, 23, 24, - 19, 18, 25, 14, 15, 58, 59, 60, 41, 56, 50, 55, 44, 45, 11, 10, 42, 43, 46, 52, 61, 27, 13, 4, 9, 8, 2, - 1, 0, 31, 1, 2, 4, 123, 124, 125, 0, 78, 98, 0, 74, 75, 44, 45, 11, 10, 42, 43, 8, 46, 52, 61, 27, 4, 9, - 58, 59, 60, 41, 56, 50, 55, 14, 15, 17, 26, 16, 22, 20, 21, 23, 24, 19, 18, 25, 13, 49, 53, 51, 48, 57, - 71, 1, 2, 3, 0, 14, 15, 30, 5, 32, 16, 17, 62, 28, 18, 63, 33, 34, 19, 35, 36, 20, 21, 37, 38, 22, 23, - 39, 64, 40, 13, 65, 24, 31, 25, 29, 26, 1, 2, 4, 27, 6, 7, 98, 0, 14, 15, 30, 32, 16, 17, 62, 28, 18, - 63, 33, 95, 34, 19, 35, 36, 20, 21, 37, 67, 38, 22, 23, 39, 64, 54, 40, 13, 65, 24, 70, 31, 25, 29, 26, - 27, 69, 72, 5, 12, 11, 47, 6, 7, 8, 9, 2, 4, 3, 1, 10, 0, 76, 12, 84, 83, 0, 12, 73, 81, 80, 0, 12, 78, - 73, 76, 3, 0, 78, 5, 71, 6, 7, 66, 12, 73, 47, 80, 3, 0, 12, 72, 73, 0, 41, 54, 0, 5, 12, 72, 6, 7, 80, - 0, 14, 15, 16, 17, 48, 74, 18, 49, 50, 19, 20, 21, 75, 9, 51, 22, 23, 52, 53, 55, 68, 56, 57, 13, 24, - 25, 26, 58, 59, 60, 1, 2, 3, 44, 45, 11, 10, 42, 43, 8, 46, 4, 27, 61, 69, 41, 0, 27, 75, 74, 42, 43, - 106, 107, 102, 103, 8, 46, 80, 66, 113, 114, 110, 111, 112, 118, 117, 119, 84, 83, 115, 116, 100, 101, - 96, 97, 104, 108, 44, 45, 99, 126, 13, 63, 62, 64, 65, 17, 26, 16, 22, 20, 21, 23, 24, 19, 18, 25, 14, - 15, 32, 38, 39, 34, 37, 36, 31, 33, 28, 29, 30, 35, 40, 77, 73, 5, 11, 10, 6, 7, 3, 71, 1, 2, 4, 0, 54, - 4, 78, 1, 2, 12, 72, 6, 7, 5, 0, 47, 12, 3, 9, 8, 11, 10, 4, 1, 2, 6, 7, 5, 78, 0, 14, 15, 16, 17, 48, - 74, 18, 49, 50, 19, 20, 21, 75, 9, 51, 22, 23, 52, 53, 55, 68, 56, 57, 13, 24, 25, 26, 58, 59, 60, 41, - 1, 2, 3, 44, 45, 11, 10, 42, 43, 46, 4, 27, 61, 78, 8, 0, 98, 9, 8, 80, 77, 5, 1, 2, 11, 10, 4, 6, 7, - 71, 3, 76, 12, 73, 0, 8, 9, 3, 71, 10, 11, 98, 14, 15, 30, 5, 32, 16, 17, 62, 28, 18, 63, 33, 34, 19, - 35, 36, 20, 21, 37, 38, 22, 23, 39, 64, 40, 13, 65, 24, 31, 25, 29, 26, 1, 2, 4, 27, 6, 7, 76, 12, 0, 4, - 12, 72, 6, 7, 5, 1, 2, 0, 27, 13, 63, 62, 64, 65, 17, 26, 16, 22, 20, 21, 23, 24, 19, 18, 25, 14, 15, - 79, 78, 98, 127, 81, 72, 129, 128, 126, 44, 45, 105, 99, 42, 43, 106, 107, 83, 84, 66, 77, 96, 97, 100, - 101, 102, 103, 104, 108, 109, 80, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 73, 120, 121, 30, - 32, 28, 33, 34, 35, 36, 37, 38, 39, 40, 31, 29, 47, 12, 76, 71, 8, 9, 3, 11, 1, 2, 4, 6, 7, 5, 10, 0, - 17, 62, 28, 18, 63, 33, 19, 35, 20, 21, 37, 38, 22, 23, 64, 40, 13, 65, 24, 31, 25, 29, 26, 16, 32, 30, - 27, 15, 14, 12, 3, 11, 47, 70, 67, 95, 34, 39, 36, 69, 66, 4, 5, 10, 6, 7, 9, 8, 1, 2, 54, 0, 4, 12, 78, - 72, 6, 7, 5, 0 }; - } - - public final static char asr[] = Asr.asr; - - @Override - public final int asr(int index) { - return asr[index]; - } - - public interface Nasb { - public final static char nasb[] = { 0, 198, 13, 83, 13, 13, 13, 13, 13, 13, 87, 13, 13, 13, 205, 13, 31, 175, - 263, 83, 83, 83, 83, 159, 83, 83, 83, 83, 83, 83, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 83, 13, - 83, 250, 342, 342, 342, 342, 263, 227, 261, 261, 75, 5, 142, 97, 13, 13, 261, 163, 97, 97, 97, 194, 1, - 35, 83, 42, 71, 13, 13, 175, 13, 13, 104, 104, 227, 250, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 236, 83, 97, 13, 13, 13, - 13, 89, 97, 48, 48, 312, 286, 13, 13, 13, 287, 179, 287, 191, 287, 191, 287, 11, 263, 287, 279, 83, 142, - 142, 48, 13, 56, 312, 137, 193, 46, 46, 13, 13, 13, 11, 263, 83, 240, 142, 342, 209, 31, 65, 97, 30, - 263, 30, 97, 142, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 202, 12, 13, 212, 194, 170, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 334, 295, 263, - 13, 97, 99, 13, 261, 201, 87, 295, 113, 87, 295, 263, 12, 13, 175, 13, 261, 179, 332, 142, 13, 97, 310, - 261, 263, 71, 13, 246, 13, 146, 13, 21, 13, 13, 13, 13, 247, 13, 164, 19, 21, 21, 220, 38, 164, 131, - 110, 83, 342, 261, 126, 97, 13, 12, 61, 263, 230, 71, 83, 83, 250, 250, 250, 250, 13, 13, 286, 287, 287, - 287, 287, 297, 11, 13, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 250, 83, 48, 191, 191, 191, 133, 96, 13, 97, 320, 202, 191, 191, 13, 338, 179, 261, 338, 70, 202, 97, - 36, 261, 97, 13, 254, 13, 329, 69, 202, 13, 247, 13, 13, 247, 266, 266, 327, 13, 266, 21, 21, 261, 184, - 256, 263, 13, 13, 13, 87, 87, 261, 97, 23, 334, 65, 13, 163, 202, 97, 97, 97, 97, 227, 227, 263, 83, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 261, 97, 13, 97, 36, 263, 21, 13, 233, 13, 13, 131, 219, - 320, 191, 191, 261, 295, 261, 70, 261, 164, 12, 202, 61, 81, 261, 83, 13, 13, 46, 46, 253, 312, 329, 97, - 202, 247, 83, 247, 97, 256, 97, 316, 261, 13, 97, 261, 92, 21, 191, 312, 144, 13, 27, 289, 263, 97, 12, - 71, 261, 129, 87, 338, 338, 44, 261, 118, 13, 250, 334, 231, 13, 13, 97, 97, 70, 97, 83, 191, 124, 133, - 97, 83, 97, 97, 71, 179, 191, 295, 13, 13, 184, 261, 261, 116, 116, 202, 164, 73, 13, 13, 36, 124, 83, - 83, 310, 25, 261, 13, 247, 13, 247, 21, 185, 250, 247, 92, 181, 120, 295, 27, 209, 81, 185, 191, 276, - 329, 97, 13, 13, 338, 234, 31, 135, 13, 23, 227, 83, 142, 231, 202, 261, 124, 97, 31, 261, 179, 14, 261, - 21, 83, 13, 40, 13, 191, 289, 116, 116, 166, 73, 36, 83, 164, 102, 80, 261, 290, 124, 83, 13, 270, 21, - 289, 97, 181, 13, 338, 13, 97, 295, 97, 129, 21, 13, 129, 234, 21, 21, 342, 118, 97, 142, 124, 83, 21, - 305, 261, 13, 13, 13, 14, 273, 329, 185, 83, 83, 295, 191, 289, 13, 13, 87, 94, 338, 36, 102, 13, 78, - 261, 247, 97, 21, 261, 120, 12, 227, 261, 13, 97, 21, 97, 97, 261, 36, 14, 305, 14, 14, 14, 178, 13, 13, - 13, 157, 157, 191, 295, 153, 338, 87, 87, 12, 13, 78, 247, 44, 97, 124, 97, 110, 110, 254, 36, 14, 261, - 329, 14, 261, 13, 13, 12, 338, 338, 341, 135, 261, 305, 329, 342, 342, 12, 12, 97, 78, 36, 13, 342, 13, - 157, 13, 30 }; - } - - public final static char nasb[] = Nasb.nasb; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - public interface Nasr { - public final static char nasr[] = { 0, 3, 13, 10, 9, 149, 204, 148, 121, 147, 146, 4, 2, 0, 5, 52, 90, 100, 0, - 5, 44, 47, 0, 172, 0, 108, 107, 37, 73, 82, 4, 10, 9, 2, 0, 5, 99, 0, 234, 0, 222, 0, 206, 0, 186, 0, - 98, 0, 4, 10, 9, 2, 13, 138, 5, 0, 4, 10, 9, 2, 13, 117, 43, 116, 0, 84, 167, 166, 0, 141, 2, 84, 0, - 178, 0, 5, 226, 0, 156, 0, 99, 117, 43, 10, 9, 2, 13, 4, 0, 141, 84, 0, 184, 0, 224, 0, 202, 32, 0, 233, - 32, 0, 187, 0, 4, 2, 9, 10, 168, 0, 43, 63, 0, 43, 1, 0, 131, 0, 170, 0, 194, 4, 193, 0, 61, 0, 5, 208, - 0, 164, 0, 181, 0, 200, 0, 140, 0, 13, 2, 9, 10, 4, 103, 0, 215, 0, 13, 2, 9, 10, 4, 236, 0, 4, 123, - 190, 0, 129, 0, 4, 10, 9, 13, 3, 1, 0, 4, 123, 223, 0, 13, 2, 9, 10, 4, 64, 44, 63, 5, 43, 0, 43, 185, - 0, 105, 5, 4, 10, 9, 2, 73, 37, 0, 32, 107, 108, 5, 0, 5, 205, 0, 53, 2, 3, 0, 5, 64, 227, 0, 5, 33, 0, - 149, 228, 148, 121, 147, 146, 0, 47, 4, 2, 9, 10, 5, 183, 0, 5, 111, 0, 2, 143, 0, 37, 125, 0, 5, 44, - 141, 0, 5, 52, 43, 44, 210, 0, 99, 43, 52, 91, 5, 44, 0, 32, 108, 107, 73, 4, 2, 9, 10, 5, 0, 2, 53, 0, - 5, 64, 124, 0, 5, 209, 0, 37, 1, 0, 37, 84, 0, 2, 4, 121, 118, 119, 120, 165, 13, 78, 0, 5, 4, 10, 9, 2, - 73, 27, 0, 121, 78, 13, 118, 119, 120, 198, 0, 144, 5, 52, 90, 0, 31, 5, 4, 37, 105, 0, 64, 5, 211, 0, - 5, 52, 90, 123, 50, 4, 0, 44, 212, 31, 5, 0, 108, 107, 37, 4, 82, 0, 2, 81, 0, 32, 5, 64, 0 }; - } - - public final static char nasr[] = Nasr.nasr; - - @Override - public final int nasr(int index) { - return nasr[index]; - } - - public interface TerminalIndex { - public final static char terminalIndex[] = { 0, 118, 119, 2, 31, 51, 129, 130, 13, 84, 10, 9, 120, 105, 48, 49, - 53, 57, 65, 73, 79, 80, 91, 92, 107, 110, 112, 127, 59, 111, 50, 109, 52, 69, 71, 75, 78, 81, 88, 94, - 103, 117, 11, 12, 7, 8, 14, 125, 60, 66, 72, 89, 93, 95, 98, 99, 102, 104, 114, 115, 116, 128, 58, 68, - 96, 106, 19, 82, 100, 131, 108, 1, 126, 44, 63, 83, 123, 20, 30, 101, 33, 124, 113, 17, 18, 54, 55, 61, - 62, 64, 74, 76, 77, 90, 97, 70, 21, 22, 32, 6, 23, 24, 25, 26, 27, 4, 15, 16, 28, 29, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 45, 46, 56, 85, 86, 87, 5, 122, 3, 132, 67, 121 }; - } - - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - - @Override - public final int terminalIndex(int index) { - return terminalIndex[index]; - } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = { 0, 139, 144, 145, 0, 0, 143, 0, 0, 247, 253, 142, 0, 152, 0, - 141, 0, 0, 151, 157, 0, 0, 158, 167, 168, 169, 170, 265, 0, 0, 0, 197, 135, 160, 0, 171, 172, 266, 173, - 174, 150, 175, 176, 138, 140, 177, 0, 137, 178, 147, 194, 0, 0, 146, 179, 0, 0, 0, 0, 0, 0, 204, 180, - 189, 161, 181, 0, 221, 0, 0, 182, 183, 218, 222, 184, 185, 0, 186, 203, 0, 0, 0, 164, 192, 0, 154, 0, 0, - 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, 223, 136, 195, 0, 0, 134, 166, 219, 225, 226, 227, 0, 229, 0, 155, 0, 0, - 224, 235, 0, 206, 207, 208, 210, 237, 238, 191, 213, 0, 0, 228, 0, 0, 0, 242, 0, 244, 0, 258, 0, 261, 0, - 262, 0, 0, 156, 196, 198, 199, 200, 201, 205, 209, 212, 0, 215, 0, 216, 0, 231, 234, 0, 256, 0, 257, 0, - 270, 273, 148, 149, 153, 0, 0, 163, 165, 0, 187, 0, 202, 0, 0, 0, 211, 0, 214, 220, 0, 232, 233, 0, 0, - 239, 246, 0, 250, 251, 252, 255, 0, 0, 259, 0, 267, 0, 269, 0, 272, 133, 0, 159, 162, 0, 190, 0, 193, 0, - 0, 217, 230, 236, 0, 0, 240, 241, 243, 245, 0, 248, 249, 254, 260, 263, 264, 0, 0, 268, 0, 0, 271, 0, 0, - 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - - @Override - public final int nonterminalIndex(int index) { - return nonterminalIndex[index]; - } - - public interface ScopePrefix { - public final static char scopePrefix[] = { 261, 425, 719, 738, 414, 443, 670, 686, 697, 708, 497, 369, 383, 400, - 461, 129, 394, 517, 555, 269, 727, 621, 94, 107, 138, 158, 167, 172, 177, 232, 297, 456, 467, 94, 589, - 67, 246, 375, 389, 645, 114, 246, 507, 94, 746, 114, 319, 350, 7, 39, 63, 75, 86, 101, 148, 163, 193, - 101, 486, 490, 573, 614, 666, 756, 760, 764, 184, 79, 184, 535, 551, 564, 582, 601, 658, 203, 203, 331, - 421, 564, 677, 693, 704, 715, 309, 632, 19, 31, 60, 143, 143, 258, 324, 13, 143, 345, 366, 13, 13, 143, - 494, 611, 618, 258, 143, 779, 1, 13, 54, 197, 472, 539, 579, 1, 594, 143, 212, 406, 472, 212, 212, 433, - 526, 279, 433, 24, 24, 45, 45, 191, 45, 45, 45, 45, 577, 768, 775, 24, 24, 49, 340, 768, 775, 152, 545, - 239, 191, 340, 191, 355 }; - } - - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - - @Override - public final int scopePrefix(int index) { - return scopePrefix[index]; - } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { 90, 237, 43, 43, 237, 237, 43, 43, 43, 43, 504, 237, 182, 237, 99, - 135, 380, 523, 561, 275, 154, 627, 99, 112, 112, 112, 146, 146, 182, 237, 302, 105, 105, 99, 43, 72, - 251, 380, 188, 650, 125, 254, 512, 733, 751, 119, 313, 313, 11, 43, 43, 43, 90, 105, 43, 146, 182, 105, - 182, 182, 237, 348, 43, 43, 43, 348, 777, 83, 188, 504, 504, 504, 586, 605, 650, 207, 221, 335, 409, - 568, 681, 681, 681, 681, 313, 636, 22, 22, 43, 146, 146, 43, 43, 327, 329, 348, 43, 11, 11, 329, 182, - 43, 348, 43, 643, 43, 4, 16, 57, 200, 475, 542, 57, 608, 597, 662, 207, 409, 653, 215, 226, 450, 529, - 282, 436, 29, 37, 47, 92, 182, 478, 480, 482, 484, 182, 770, 770, 26, 34, 51, 342, 772, 772, 154, 547, - 241, 304, 335, 289, 357 }; - } - - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - - @Override - public final int scopeSuffix(int index) { - return scopeSuffix[index]; - } - - public interface ScopeLhs { - public final static char scopeLhs[] = { 50, 120, 18, 18, 89, 120, 18, 18, 18, 18, 94, 102, 51, 89, 119, 87, 58, - 94, 93, 50, 18, 20, 198, 3, 7, 8, 190, 190, 189, 118, 50, 119, 119, 150, 54, 28, 116, 59, 51, 168, 161, - 116, 94, 18, 18, 161, 109, 66, 83, 165, 199, 163, 97, 198, 193, 190, 189, 150, 213, 56, 63, 172, 18, 18, - 18, 18, 12, 140, 189, 94, 93, 93, 76, 46, 168, 122, 122, 82, 89, 93, 18, 18, 18, 18, 109, 20, 132, 155, - 17, 194, 190, 215, 107, 115, 68, 98, 67, 183, 83, 150, 95, 173, 172, 206, 168, 17, 18, 83, 92, 189, 150, - 124, 92, 22, 54, 168, 122, 89, 168, 122, 122, 120, 94, 50, 120, 132, 155, 204, 228, 189, 176, 148, 147, - 146, 86, 166, 53, 132, 155, 236, 82, 166, 53, 193, 124, 118, 50, 82, 50, 66 }; - } - - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - - @Override - public final int scopeLhs(int index) { - return scopeLhs[index]; - } - - public interface ScopeLa { - public final static char scopeLa[] = { 122, 81, 76, 76, 81, 81, 76, 76, 76, 76, 76, 81, 47, 81, 1, 77, 1, 76, - 130, 72, 3, 76, 1, 77, 77, 77, 1, 1, 47, 81, 72, 1, 1, 1, 76, 76, 81, 1, 1, 4, 77, 73, 47, 1, 1, 77, 76, - 76, 1, 76, 76, 76, 122, 1, 76, 1, 47, 1, 47, 47, 81, 127, 76, 76, 76, 127, 1, 76, 1, 76, 76, 76, 78, 78, - 4, 1, 1, 10, 72, 76, 77, 77, 77, 77, 76, 3, 6, 6, 76, 1, 1, 76, 76, 3, 1, 127, 76, 1, 1, 1, 47, 76, 127, - 76, 8, 76, 76, 6, 78, 1, 54, 80, 78, 76, 77, 1, 1, 72, 54, 1, 1, 72, 82, 79, 1, 1, 1, 27, 1, 47, 1, 63, - 62, 62, 47, 4, 4, 1, 1, 98, 11, 4, 4, 3, 1, 72, 1, 10, 1, 3 }; - } - - public final static char scopeLa[] = ScopeLa.scopeLa; - - @Override - public final int scopeLa(int index) { - return scopeLa[index]; - } - - public interface ScopeStateSet { - public final static char scopeStateSet[] = { 101, 181, 377, 377, 40, 181, 377, 377, 377, 377, 114, 42, 101, 40, - 181, 40, 103, 114, 114, 101, 377, 377, 81, 302, 348, 348, 9, 9, 37, 181, 101, 181, 181, 177, 134, 187, - 127, 103, 101, 159, 5, 127, 114, 377, 377, 5, 168, 57, 63, 177, 54, 1, 114, 81, 12, 9, 37, 177, 99, 103, - 280, 25, 377, 377, 377, 377, 352, 18, 37, 114, 114, 114, 142, 443, 159, 181, 181, 239, 40, 114, 377, - 377, 377, 377, 168, 377, 73, 28, 377, 12, 9, 23, 168, 170, 57, 164, 57, 78, 63, 177, 114, 15, 25, 162, - 159, 377, 377, 63, 114, 37, 177, 32, 114, 382, 134, 159, 181, 40, 159, 181, 181, 181, 114, 101, 181, 73, - 28, 184, 82, 37, 184, 183, 183, 183, 87, 84, 255, 73, 28, 476, 239, 84, 255, 12, 32, 181, 101, 239, 101, - 57 }; - } - - public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; - - @Override - public final int scopeStateSet(int index) { - return scopeStateSet[index]; - } - - public interface ScopeRhs { - public final static char scopeRhs[] = { 0, 216, 3, 0, 135, 235, 0, 168, 236, 136, 0, 218, 0, 236, 136, 0, 266, - 218, 0, 263, 168, 0, 266, 0, 168, 0, 242, 266, 0, 242, 0, 214, 168, 0, 192, 266, 0, 192, 0, 216, 3, 27, - 0, 135, 0, 280, 0, 273, 0, 235, 0, 32, 166, 0, 367, 86, 0, 30, 188, 0, 194, 3, 0, 363, 3, 331, 0, 362, - 3, 3, 6, 0, 135, 135, 0, 361, 3, 68, 0, 360, 3, 122, 0, 135, 189, 0, 136, 194, 79, 0, 233, 0, 259, 0, - 215, 184, 135, 13, 0, 145, 0, 184, 135, 13, 0, 144, 0, 290, 136, 66, 133, 0, 20, 0, 326, 136, 66, 54, 0, - 20, 58, 0, 33, 141, 0, 20, 58, 0, 0, 326, 136, 66, 54, 221, 0, 20, 195, 0, 290, 136, 66, 141, 0, 212, - 135, 0, 150, 0, 242, 3, 325, 0, 325, 0, 2, 0, 135, 0, 290, 136, 66, 140, 0, 212, 135, 254, 0, 212, 135, - 31, 254, 0, 212, 135, 355, 31, 0, 137, 215, 184, 135, 0, 137, 0, 215, 184, 135, 0, 143, 137, 0, 183, 0, - 351, 136, 183, 0, 136, 183, 0, 240, 137, 0, 184, 350, 252, 0, 145, 0, 0, 0, 0, 350, 252, 0, 146, 145, 0, - 0, 0, 0, 144, 0, 0, 0, 0, 146, 144, 0, 0, 0, 0, 349, 136, 174, 253, 0, 136, 0, 253, 0, 138, 0, 0, 136, - 0, 348, 136, 174, 248, 0, 136, 0, 0, 44, 136, 0, 0, 164, 3, 0, 136, 316, 315, 136, 79, 314, 183, 0, 315, - 136, 79, 314, 183, 0, 232, 0, 233, 0, 314, 183, 0, 101, 0, 0, 232, 0, 233, 0, 220, 101, 0, 0, 232, 0, - 233, 0, 315, 136, 314, 183, 0, 232, 0, 220, 0, 0, 232, 0, 257, 136, 3, 0, 135, 0, 0, 0, 0, 0, 257, 136, - 3, 238, 0, 246, 3, 0, 225, 0, 155, 0, 200, 184, 135, 0, 10, 0, 0, 0, 0, 200, 0, 9, 0, 0, 235, 71, 0, - 134, 0, 257, 136, 3, 198, 0, 198, 0, 2, 0, 0, 135, 0, 0, 0, 0, 0, 214, 3, 0, 273, 136, 174, 41, 34, 0, - 212, 135, 67, 70, 0, 213, 137, 0, 137, 212, 135, 312, 70, 0, 212, 135, 312, 70, 0, 212, 135, 80, 132, - 67, 0, 273, 136, 174, 283, 67, 0, 283, 67, 0, 138, 0, 0, 136, 0, 273, 136, 174, 283, 256, 67, 0, 283, - 256, 67, 0, 309, 310, 136, 174, 132, 345, 63, 0, 345, 63, 0, 139, 138, 0, 0, 0, 136, 0, 309, 310, 136, - 174, 345, 63, 0, 138, 0, 0, 0, 136, 0, 212, 135, 308, 63, 0, 215, 212, 135, 308, 252, 0, 212, 135, 308, - 252, 0, 184, 135, 0, 98, 145, 0, 209, 0, 208, 0, 207, 0, 206, 0, 306, 136, 162, 0, 306, 136, 183, 0, - 175, 93, 0, 340, 178, 342, 343, 3, 90, 0, 135, 188, 0, 342, 343, 3, 90, 0, 137, 0, 135, 188, 0, 175, 3, - 82, 222, 89, 0, 135, 137, 0, 222, 89, 0, 113, 2, 140, 135, 137, 0, 255, 3, 82, 0, 214, 195, 0, 33, 178, - 0, 195, 0, 192, 33, 178, 0, 255, 3, 94, 0, 222, 163, 255, 3, 92, 0, 67, 188, 0, 255, 3, 92, 0, 135, 188, - 67, 188, 0, 341, 136, 174, 0, 175, 0, 235, 86, 0, 175, 109, 206, 0, 30, 186, 0, 157, 77, 185, 3, 0, 185, - 3, 0, 20, 170, 135, 0, 175, 109, 176, 0, 30, 178, 0, 135, 158, 0, 242, 3, 0, 235, 71, 303, 0, 175, 71, - 0, 216, 3, 337, 75, 135, 0, 135, 0, 0, 0, 0, 337, 75, 135, 0, 2, 154, 135, 0, 0, 0, 0, 156, 0, 134, 54, - 184, 135, 0, 31, 156, 0, 98, 145, 31, 156, 0, 243, 212, 135, 0, 155, 31, 156, 0, 175, 3, 57, 0, 175, 3, - 77, 216, 66, 48, 0, 216, 66, 48, 0, 20, 2, 140, 135, 0, 175, 3, 77, 216, 66, 51, 0, 216, 66, 51, 0, 175, - 3, 77, 216, 66, 53, 0, 216, 66, 53, 0, 175, 3, 77, 216, 66, 49, 0, 216, 66, 49, 0, 242, 3, 134, 215, - 184, 135, 13, 0, 134, 215, 184, 135, 13, 0, 145, 2, 0, 135, 0, 242, 3, 133, 272, 184, 135, 13, 0, 272, - 184, 135, 13, 0, 144, 2, 0, 135, 0, 242, 3, 144, 0, 242, 3, 149, 0, 175, 71, 149, 0, 298, 0, 31, 0, 31, - 148, 0, 180, 0, 143, 0, 175, 3, 0 }; - } - - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - - @Override - public final int scopeRhs(int index) { - return scopeRhs[index]; - } - - public interface ScopeState { - public final static char scopeState[] = { 0, 1722, 1344, 1184, 0, 7439, 4948, 4903, 0, 2415, 3374, 0, 2210, - 1543, 0, 1941, 1510, 0, 2681, 981, 2322, 813, 0, 2371, 0, 1614, 731, 0, 4864, 4544, 3972, 0, 7078, 6882, - 6204, 5735, 0, 7311, 7110, 0, 7311, 7110, 6878, 7170, 7154, 7093, 7077, 7016, 6806, 7000, 6939, 6732, - 722, 0, 844, 2209, 0, 4993, 5269, 733, 4105, 4843, 7273, 6335, 6559, 4864, 4544, 6475, 6951, 5564, 5742, - 3972, 5520, 5045, 4961, 4877, 4261, 0, 4843, 7273, 0, 6725, 4778, 0, 1499, 995, 0, 6329, 6262, 6195, - 6128, 6061, 5994, 5927, 5860, 5793, 5726, 5328, 5261, 7218, 0, 7311, 7110, 6878, 7170, 7154, 7093, 7077, - 7016, 6806, 7000, 6939, 6732, 722, 6329, 6262, 6195, 6128, 6061, 5994, 5927, 5860, 5793, 5726, 5328, - 5261, 0, 1234, 1300, 1179, 3510, 721, 877, 0, 3943, 4232, 4515, 4401, 4809, 4649, 4622, 3519, 3392, - 1094, 3314, 3236, 3158, 3080, 3002, 2924, 2846, 2768, 2690, 2612, 2533, 1016, 926, 848, 0, 1570, 1401, - 0, 784, 0, 2172, 1423, 1059, 814, 733, 7297, 6335, 5564, 5520, 4687, 3986, 3450, 0, 6434, 671, 4019, 0, - 6725, 6434, 4778, 671, 4019, 0, 3186, 5834, 5045, 5616, 3108, 4961, 6368, 3030, 6559, 4993, 4877, 5340, - 6382, 5302, 4864, 2952, 4544, 2874, 4309, 7536, 6475, 798, 2796, 7515, 7511, 4955, 7323, 7008, 6945, - 6873, 4679, 6725, 7208, 6983, 6428, 6271, 5577, 2718, 2640, 2561, 4778, 6434, 6137, 6070, 5767, 5581, - 4683, 5008, 4007, 4043, 671, 4019, 5269, 733, 7263, 4261, 6002, 4105, 5935, 5868, 5585, 3972, 6743, - 7297, 6203, 5801, 5734, 0, 7527, 7522, 7507, 7465, 7445, 7440, 7435, 7423, 7411, 7532, 6580, 7380, 7369, - 7335, 6141, 6074, 6007, 4026, 5940, 7306, 6728, 6364, 5873, 5599, 0, 2018, 1969, 6329, 6262, 3831, 3830, - 6195, 6128, 6061, 5994, 5927, 5860, 5793, 1451, 5726, 5328, 6855, 3519, 5261, 6764, 723, 0, 3380, 3302, - 7527, 7522, 3224, 2599, 7507, 2427, 7465, 7445, 1815, 7440, 1766, 7435, 7423, 4050, 7411, 1712, 1617, - 7532, 6580, 1565, 1445, 7380, 1379, 1261, 7369, 7335, 1206, 4919, 6141, 2423, 6074, 794, 6007, 4026, - 5940, 1011, 7306, 6728, 6434, 6364, 914, 4019, 5873, 5599, 4274, 4143, 1283, 1066, 1045, 6335, 5045, - 4961, 6559, 4993, 4877, 4864, 5269, 4544, 733, 4261, 6475, 4105, 6951, 5564, 4843, 5742, 3972, 5520, - 7273, 3584, 3568, 1570, 1401, 6703, 6681, 6659, 6637, 5392, 3392, 5533, 1094, 3943, 3314, 3236, 3158, - 3080, 3002, 2924, 2846, 2768, 2690, 2612, 2533, 4232, 4515, 4401, 4809, 4649, 4622, 5493, 5466, 5428, - 6594, 3519, 877, 1016, 926, 848, 3896, 4190, 4476, 4361, 4751, 4721, 4583, 5700, 5674, 5234, 5207, 5180, - 5150, 5123, 4428, 2719, 2641, 2562, 1123, 955, 6515, 4304, 3421, 3343, 3265, 3187, 3109, 3031, 2953, - 2875, 2797, 3844, 3797, 1636, 3470, 1234, 3745, 3698, 3646, 1300, 1587, 1516, 1352, 3599, 1467, 1179, - 2484, 2435, 2328, 2279, 2230, 2181, 2132, 2083, 2034, 1985, 1936, 1887, 1838, 1788, 671, 1739, 1685, - 1418, 2375, 0 }; - } - - public final static char scopeState[] = ScopeState.scopeState; - - @Override - public final int scopeState(int index) { - return scopeState[index]; - } - - public interface InSymb { - public final static char inSymb[] = { 0, 0, 336, 136, 305, 57, 48, 51, 53, 49, 13, 144, 133, 140, 9, 141, 4, 3, - 135, 27, 61, 52, 46, 8, 43, 42, 10, 11, 45, 44, 149, 154, 156, 155, 166, 157, 169, 167, 172, 170, 173, - 68, 176, 73, 3, 66, 66, 66, 66, 135, 3, 66, 66, 195, 136, 71, 3, 74, 75, 66, 8, 194, 216, 175, 195, 136, - 174, 74, 75, 184, 180, 133, 3, 132, 134, 126, 128, 3, 71, 99, 105, 43, 42, 107, 106, 10, 121, 120, 97, - 96, 77, 66, 83, 84, 11, 101, 100, 103, 102, 104, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 80, - 109, 108, 175, 216, 216, 216, 216, 184, 242, 136, 136, 136, 276, 6, 7, 5, 277, 253, 278, 252, 279, 63, - 307, 13, 135, 335, 280, 27, 71, 71, 136, 133, 163, 136, 71, 3, 239, 238, 144, 134, 133, 13, 135, 27, - 136, 71, 337, 3, 215, 4, 216, 54, 135, 54, 242, 175, 155, 155, 154, 154, 154, 157, 157, 157, 157, 157, - 157, 156, 156, 167, 166, 166, 170, 169, 172, 272, 175, 173, 77, 77, 77, 77, 215, 272, 290, 136, 269, 3, - 185, 157, 196, 193, 202, 201, 205, 206, 293, 290, 236, 168, 135, 200, 3, 3, 3, 174, 350, 308, 168, 345, - 308, 168, 135, 212, 184, 3, 290, 174, 248, 236, 235, 176, 246, 136, 3, 135, 184, 150, 341, 88, 86, 1, - 175, 12, 94, 92, 90, 89, 82, 91, 93, 87, 85, 183, 5, 67, 70, 79, 234, 3, 338, 195, 164, 298, 215, 163, - 135, 212, 184, 78, 78, 3, 3, 3, 3, 134, 133, 276, 277, 278, 279, 359, 280, 13, 185, 97, 96, 66, 11, 101, - 100, 103, 102, 104, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 80, 109, 108, 73, 184, 11, 10, 3, - 364, 1, 41, 136, 184, 260, 134, 133, 135, 132, 174, 135, 184, 54, 216, 136, 174, 257, 258, 162, 259, - 136, 184, 54, 12, 78, 367, 235, 78, 3, 3, 3, 222, 3, 132, 175, 314, 136, 3, 135, 198, 365, 132, 67, 312, - 194, 216, 136, 136, 4, 243, 8, 54, 175, 175, 175, 175, 3, 3, 135, 77, 157, 157, 157, 193, 185, 185, 201, - 196, 202, 175, 205, 200, 200, 362, 331, 3, 349, 135, 181, 254, 67, 54, 221, 70, 183, 352, 134, 133, 261, - 168, 261, 212, 174, 136, 212, 215, 163, 136, 163, 80, 246, 214, 204, 198, 3, 136, 73, 257, 215, 78, 98, - 78, 255, 195, 255, 343, 162, 82, 255, 79, 136, 306, 214, 136, 286, 313, 236, 168, 135, 214, 212, 184, 3, - 3, 80, 135, 135, 136, 163, 300, 303, 71, 213, 4, 132, 134, 242, 242, 184, 157, 78, 10, 136, 73, 163, 3, - 41, 1, 184, 283, 256, 168, 66, 54, 136, 261, 261, 136, 136, 215, 136, 310, 132, 311, 348, 136, 80, 80, - 136, 236, 163, 134, 163, 214, 163, 342, 136, 3, 163, 136, 315, 78, 168, 236, 3, 80, 73, 214, 184, 136, - 366, 41, 295, 135, 212, 212, 317, 122, 136, 3, 71, 175, 4, 215, 200, 192, 363, 215, 174, 283, 77, 66, - 351, 78, 265, 214, 133, 263, 168, 136, 136, 78, 310, 309, 80, 73, 230, 73, 244, 168, 136, 80, 222, 178, - 306, 168, 175, 315, 324, 135, 325, 164, 168, 257, 78, 163, 3, 73, 212, 256, 137, 3, 300, 242, 235, 136, - 73, 137, 136, 174, 36, 39, 34, 54, 67, 136, 73, 78, 80, 168, 263, 168, 158, 354, 254, 31, 135, 309, 230, - 12, 136, 244, 130, 340, 163, 316, 73, 212, 3, 163, 10, 1, 256, 98, 360, 195, 273, 275, 136, 54, 54, 54, - 41, 132, 326, 54, 13, 62, 263, 168, 73, 135, 31, 355, 212, 68, 136, 163, 136, 242, 136, 1, 163, 163, - 136, 273, 136, 174, 73, 77, 66, 260, 260, 212, 135, 135, 3, 317, 244, 136, 136, 80, 80, 212, 212, 361, - 136, 273, 326, 73, 77, 62, 260, 80 }; - } - - public final static char inSymb[] = InSymb.inSymb; - - @Override - public final int inSymb(int index) { - return inSymb[index]; - } - - public interface Name { - public final static String name[] = { "", "[", "(", ".", ".*", "->", "->*", "++", "--", "&", "*", "+", "-", "~", - "!", "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "::", - "...", "=", "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", ">?", " - - 4.0.0 - - - org.eclipse.cdt - cdt-parent - 10.0.0-SNAPSHOT - - - org.eclipse.cdt.lrparser-parent - pom - diff --git a/pom.xml b/pom.xml index 2198a4274c9..bb4732aae4e 100644 --- a/pom.xml +++ b/pom.xml @@ -201,11 +201,6 @@ llvm/org.eclipse.cdt.llvm.dsf.lldb.ui llvm/org.eclipse.cdt.llvm.dsf.lldb-feature - lrparser/org.eclipse.cdt.core.lrparser - lrparser/org.eclipse.cdt.core.lrparser.feature - lrparser/org.eclipse.cdt.core.lrparser.sdk.branding - lrparser/org.eclipse.cdt.core.lrparser.sdk.feature - lsp/org.eclipse.cdt.lsp.core lsp/org.eclipse.cdt.lsp.ui lsp/org.eclipse.cdt.lsp-feature @@ -233,14 +228,6 @@ testsrunner/org.eclipse.cdt.testsrunner.tap testsrunner/org.eclipse.cdt.testsrunner.feature - upc/org.eclipse.cdt.core.parser.upc - upc/org.eclipse.cdt.core.parser.upc.feature - upc/org.eclipse.cdt.core.parser.upc.sdk.branding - upc/org.eclipse.cdt.core.parser.upc.sdk.feature - - upc/org.eclipse.cdt.managedbuilder.bupc.ui - upc/org.eclipse.cdt.bupc-feature - util/org.eclipse.cdt.util visualizer/org.eclipse.cdt.visualizer.core @@ -252,16 +239,6 @@ windows/org.eclipse.cdt.msw.build.tests windows/org.eclipse.cdt.msw-feature - xlc/org.eclipse.cdt.core.lrparser.xlc - xlc/org.eclipse.cdt.errorparsers.xlc - xlc/org.eclipse.cdt.make.xlc.core - xlc/org.eclipse.cdt.managedbuilder.xlc.core - xlc/org.eclipse.cdt.managedbuilder.xlc.ui - xlc/org.eclipse.cdt.managedbuilder.xlupc.ui - xlc/org.eclipse.cdt.xlc.feature - xlc/org.eclipse.cdt.xlc.sdk.branding - xlc/org.eclipse.cdt.xlc.sdk-feature - launchbar/org.eclipse.launchbar launchbar/org.eclipse.launchbar.core launchbar/org.eclipse.launchbar.core.tests @@ -308,7 +285,6 @@ lsp/org.eclipse.cdt.lsp.core.tests qt/org.eclipse.cdt.qt.ui.tests testsrunner/org.eclipse.cdt.testsrunner.tests - xlc/org.eclipse.cdt.errorparsers.xlc.tests releng/org.eclipse.cdt.testing releng/org.eclipse.cdt.testing-feature @@ -319,10 +295,7 @@ --> diff --git a/releng/CDT.setup b/releng/CDT.setup index 4bec584fb22..f77752c23ab 100644 --- a/releng/CDT.setup +++ b/releng/CDT.setup @@ -77,12 +77,6 @@ name="org.eclipse.cdt.autotools.feature.group"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/releng/org.eclipse.cdt.target/cdt-baseline.target b/releng/org.eclipse.cdt.target/cdt-baseline.target index a56fa566929..20e8fe26cc3 100644 --- a/releng/org.eclipse.cdt.target/cdt-baseline.target +++ b/releng/org.eclipse.cdt.target/cdt-baseline.target @@ -30,13 +30,8 @@ - - - - - @@ -62,8 +57,6 @@ - - diff --git a/releng/org.eclipse.cdt.testing/test.xml b/releng/org.eclipse.cdt.testing/test.xml index 4b157c4554b..4c10f2a2a92 100644 --- a/releng/org.eclipse.cdt.testing/test.xml +++ b/releng/org.eclipse.cdt.testing/test.xml @@ -4,9 +4,6 @@ - - - @@ -63,36 +60,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -110,9 +77,6 @@ - - - diff --git a/upc/org.eclipse.cdt.bupc-feature/.project b/upc/org.eclipse.cdt.bupc-feature/.project deleted file mode 100644 index 36362f86a9c..00000000000 --- a/upc/org.eclipse.cdt.bupc-feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.cdt.bupc-feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/upc/org.eclipse.cdt.bupc-feature/build.properties b/upc/org.eclipse.cdt.bupc-feature/build.properties deleted file mode 100644 index d9627780a20..00000000000 --- a/upc/org.eclipse.cdt.bupc-feature/build.properties +++ /dev/null @@ -1,15 +0,0 @@ -############################################################################### -# Copyright (c) 2010 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = feature.xml,\ - feature.properties diff --git a/upc/org.eclipse.cdt.bupc-feature/feature.properties b/upc/org.eclipse.cdt.bupc-feature/feature.properties deleted file mode 100644 index becda7dcfd5..00000000000 --- a/upc/org.eclipse.cdt.bupc-feature/feature.properties +++ /dev/null @@ -1,36 +0,0 @@ -############################################################################### -# Copyright (c) 2010 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# features.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=C/C++ Berkeley UPC (Unified Parallel C) Toolchain Support - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse CDT - -# "description" property - description of the feature -description=Support for Berkeley Unified Parallel C (UPC) toolchain. - -# copyright -copyright=\ -Copyright (c) 2010, 2011 University of Florida and others.\n\ -This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License 2.0\n\ -which accompanies this distribution, and is available at\n\ -https://www.eclipse.org/legal/epl-2.0/ - diff --git a/upc/org.eclipse.cdt.bupc-feature/feature.xml b/upc/org.eclipse.cdt.bupc-feature/feature.xml deleted file mode 100644 index 0986019fad6..00000000000 --- a/upc/org.eclipse.cdt.bupc-feature/feature.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - %description - - - - %copyright - - - - %license - - - - - diff --git a/upc/org.eclipse.cdt.core.parser.upc.feature/.project b/upc/org.eclipse.cdt.core.parser.upc.feature/.project deleted file mode 100644 index 0884172c6e0..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.cdt.core.parser.upc.feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/upc/org.eclipse.cdt.core.parser.upc.feature/build.properties b/upc/org.eclipse.cdt.core.parser.upc.feature/build.properties deleted file mode 100644 index 4229bb6f7a3..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.feature/build.properties +++ /dev/null @@ -1,15 +0,0 @@ -############################################################################### -# Copyright (c) 2007 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = feature.xml,\ - feature.properties diff --git a/upc/org.eclipse.cdt.core.parser.upc.feature/feature.properties b/upc/org.eclipse.cdt.core.parser.upc.feature/feature.properties deleted file mode 100644 index ce3cde03404..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.feature/feature.properties +++ /dev/null @@ -1,36 +0,0 @@ -############################################################################### -# Copyright (c) 2007, 2010 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=C/C++ UPC (Unified Parallel C) Support - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse CDT - -# "description" property - description of the feature -description=Support for the Unified Parallel C variant of the C programming language. - -# copyright -copyright=\ -Copyright (c) 2007, 2011 IBM Corporation and others.\n\ -This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License 2.0\n\ -which accompanies this distribution, and is available at\n\ -https://www.eclipse.org/legal/epl-2.0/ - diff --git a/upc/org.eclipse.cdt.core.parser.upc.feature/feature.xml b/upc/org.eclipse.cdt.core.parser.upc.feature/feature.xml deleted file mode 100644 index 08c38e71a3c..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.feature/feature.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - %description - - - - %copyright - - - - %license - - - - - - - diff --git a/upc/org.eclipse.cdt.core.parser.upc.feature/rootfiles/notice.html b/upc/org.eclipse.cdt.core.parser.upc.feature/rootfiles/notice.html deleted file mode 100644 index 008b8018db8..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.feature/rootfiles/notice.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

    Eclipse Foundation Software User Agreement

    -

    November 22, 2017

    - -

    Usage Of Content

    - -

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, - INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY - THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS - GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY - APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS - AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE - AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT - USE THE CONTENT.

    - -

    Applicable Licenses

    - -

    - Unless otherwise indicated, all Content made available by the Eclipse - Foundation is provided to you under the terms and conditions of the - Eclipse Public License Version 2.0 ("EPL"). A copy of the - EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    Content includes, but is not limited to, source code, object - code, documentation and other files maintained in the Eclipse - Foundation source code repository ("Repository") in software - modules ("Modules") and made available as downloadable - archives ("Downloads").

    - -
      -
    • Content may be structured and packaged into modules to - facilitate delivering, extending, and upgrading the Content. Typical - modules may include plug-ins ("Plug-ins"), plug-in - fragments ("Fragments"), and features - ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory - or JAR (Java™ ARchive) in a directory named - "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or - Fragments and associated material. Each Feature may be packaged as a - sub-directory in a directory named "features". Within a - Feature, files named "feature.xml" may contain a list of - the names and version numbers of the Plug-ins and/or Fragments - associated with that Feature.
    • -
    • Features may also include other Features ("Included - Features"). Within a Feature, files named - "feature.xml" may contain a list of the names and version - numbers of Included Features.
    • -
    - -

    The terms and conditions governing Plug-ins and Fragments should - be contained in files named "about.html" - ("Abouts"). The terms and conditions governing Features and - Included Features should be contained in files named - "license.html" ("Feature Licenses"). Abouts and - Feature Licenses may be located in any directory of a Download or - Module including, but not limited to the following locations:

    - -
      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of - certain Plug-ins
    • -
    • Feature directories
    • -
    - -

    Note: if a Feature made available by the Eclipse Foundation is - installed using the Provisioning Technology (as defined below), you - must agree to a license ("Feature Update License") during - the installation process. If the Feature contains Included Features, - the Feature Update License should either provide you with the terms - and conditions governing the Included Features or inform you where you - can locate them. Feature Update Licenses may be found in the - "license" property of files named - "feature.properties" found within a Feature. Such Abouts, - Feature Licenses, and Feature Update Licenses contain the terms and - conditions (or references to such terms and conditions) that govern - your use of the associated Content in that directory.

    - -

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY - REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND - CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT - ARE NOT LIMITED TO):

    - - - -

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND - CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, - or Feature Update License is provided, please contact the Eclipse - Foundation to determine what terms and conditions govern that - particular Content.

    - - -

    Use of Provisioning Technology

    - -

    - The Eclipse Foundation makes available provisioning software, examples - of which include, but are not limited to, p2 and the Eclipse Update - Manager ("Provisioning Technology") for the purpose of - allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This - capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about - packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification"). -

    - -

    You may use Provisioning Technology to allow other parties to - install Installable Software. You shall be responsible for enabling - the applicable license agreements relating to the Installable Software - to be presented to, and accepted by, the users of the Provisioning - Technology in accordance with the Specification. By using Provisioning - Technology in such a manner and making it available in accordance with - the Specification, you further acknowledge your agreement to, and the - acquisition of all necessary rights to permit the following:

    - -
      -
    1. A series of actions may occur ("Provisioning - Process") in which a user may execute the Provisioning - Technology on a machine ("Target Machine") with the intent - of installing, extending or updating the functionality of an - Eclipse-based product.
    2. -
    3. During the Provisioning Process, the Provisioning Technology - may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
    4. -
    5. Pursuant to the Specification, you will provide to the user - the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such - Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable - Software Agreement must inform the user of the terms and conditions - that govern the Installable Software and must solicit acceptance by - the end user in the manner prescribed in such Installable Software - Agreement. Upon such indication of agreement by the user, the - provisioning Technology will complete installation of the Installable - Software.
    6. -
    - -

    Cryptography

    - -

    Content may contain encryption software. The country in which - you are currently may have restrictions on the import, possession, and - use, and/or re-export to another country, of encryption software. - BEFORE using any encryption software, please check the country's laws, - regulations and policies concerning the import, possession, or use, - and re-export of encryption software, to see if this is permitted.

    - -

    - Java and all Java-based trademarks are trademarks of - Oracle Corporation in the United States, other countries, or both. -

    - - diff --git a/upc/org.eclipse.cdt.core.parser.upc.feature/sourceTemplateFeature/p2.inf b/upc/org.eclipse.cdt.core.parser.upc.feature/sourceTemplateFeature/p2.inf deleted file mode 100644 index 91b75dae077..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.feature/sourceTemplateFeature/p2.inf +++ /dev/null @@ -1 +0,0 @@ -update.matchExp=providedCapabilities.exists(pc | pc.namespace == 'org.eclipse.equinox.p2.iu' && (pc.name == 'org.eclipse.cdt.core.parser.upc.source.feature.group' || pc.name == 'org.eclipse.cdt.core.parser.upc.feature.source.feature.group')) diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/.project b/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/.project deleted file mode 100644 index c0581d5414c..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/.project +++ /dev/null @@ -1,22 +0,0 @@ - - - org.eclipse.cdt.core.parser.upc.sdk.branding - - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - - diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/.settings/org.eclipse.pde.api.tools.prefs b/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/.settings/org.eclipse.pde.api.tools.prefs deleted file mode 100644 index ec9fbf321d0..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/.settings/org.eclipse.pde.api.tools.prefs +++ /dev/null @@ -1,184 +0,0 @@ -ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error -API_USE_SCAN_FIELD_SEVERITY=Error -API_USE_SCAN_METHOD_SEVERITY=Error -API_USE_SCAN_TYPE_SEVERITY=Error -CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_FIELD=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_ADDED_METHOD=Error -CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error -CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error -CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error -ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error -ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error -ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -FIELD_ELEMENT_TYPE_ADDED_VALUE=Error -FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error -FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error -FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error -ILLEGAL_EXTEND=Warning -ILLEGAL_IMPLEMENT=Warning -ILLEGAL_INSTANTIATE=Warning -ILLEGAL_OVERRIDE=Warning -ILLEGAL_REFERENCE=Warning -INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -INVALID_ANNOTATION=Ignore -INVALID_JAVADOC_TAG=Error -INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning -LEAK_EXTEND=Warning -LEAK_FIELD_DECL=Warning -LEAK_IMPLEMENT=Warning -LEAK_METHOD_PARAM=Warning -LEAK_METHOD_RETURN_TYPE=Warning -METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -MISSING_EE_DESCRIPTIONS=Warning -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -UNUSED_PROBLEM_FILTERS=Warning -automatically_removed_unused_problem_filters=false -changed_execution_env=Error -eclipse.preferences.version=1 -incompatible_api_component_version=Error -incompatible_api_component_version_include_major_without_breaking_change=Disabled -incompatible_api_component_version_include_minor_without_api_change=Disabled -incompatible_api_component_version_report_major_without_breaking_change=Warning -incompatible_api_component_version_report_minor_without_api_change=Warning -invalid_since_tag_version=Error -malformed_since_tag=Error -missing_since_tag=Error -report_api_breakage_when_major_version_incremented=Disabled -report_resolution_errors_api_component=Warning diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/.settings/org.eclipse.pde.prefs b/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/.settings/org.eclipse.pde.prefs deleted file mode 100644 index d2dc703ba9e..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,35 +0,0 @@ -compilers.f.unresolved-features=1 -compilers.f.unresolved-plugins=1 -compilers.incompatible-environment=1 -compilers.p.build=1 -compilers.p.build.bin.includes=1 -compilers.p.build.encodings=2 -compilers.p.build.java.compiler=2 -compilers.p.build.java.compliance=1 -compilers.p.build.missing.output=2 -compilers.p.build.output.library=1 -compilers.p.build.source.library=1 -compilers.p.build.src.includes=1 -compilers.p.deprecated=1 -compilers.p.discouraged-class=1 -compilers.p.internal=1 -compilers.p.missing-packages=2 -compilers.p.missing-version-export-package=2 -compilers.p.missing-version-import-package=2 -compilers.p.missing-version-require-bundle=2 -compilers.p.no-required-att=0 -compilers.p.no.automatic.module=1 -compilers.p.not-externalized-att=1 -compilers.p.service.component.without.lazyactivation=1 -compilers.p.unknown-attribute=1 -compilers.p.unknown-class=1 -compilers.p.unknown-element=1 -compilers.p.unknown-identifier=1 -compilers.p.unknown-resource=1 -compilers.p.unresolved-ex-points=0 -compilers.p.unresolved-import=0 -compilers.s.create-docs=false -compilers.s.doc-folder=doc -compilers.s.open-tags=1 -compilers.use-project=true -eclipse.preferences.version=1 diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/META-INF/MANIFEST.MF b/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/META-INF/MANIFEST.MF deleted file mode 100644 index 384ff0ad4fc..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/META-INF/MANIFEST.MF +++ /dev/null @@ -1,7 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.cdt.core.parser.upc.sdk.branding;singleton:=true -Bundle-Version: 10.0.0.qualifier -Bundle-Vendor: %providerName -Bundle-Localization: plugin diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/about.html b/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/about.html deleted file mode 100644 index 164f781a8fd..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/about.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    November 30, 2017

    -

    License

    - -

    - The Eclipse Foundation makes available all content in this plug-in - ("Content"). Unless otherwise indicated below, the Content - is provided to you under the terms and conditions of the Eclipse - Public License Version 2.0 ("EPL"). A copy of the EPL is - available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    - If you did not receive this Content directly from the Eclipse - Foundation, the Content is being redistributed by another party - ("Redistributor") and different terms and conditions may - apply to your use of any object code in the Content. Check the - Redistributor's license that was provided with the Content. If no such - license exists, contact the Redistributor. Unless otherwise indicated - below, the terms and conditions of the EPL still apply to any source - code in the Content and such source code may be obtained at http://www.eclipse.org. -

    - - - \ No newline at end of file diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/about.ini b/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/about.ini deleted file mode 100644 index e07a7bb377e..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/about.ini +++ /dev/null @@ -1,24 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=cdt_logo_icon32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (translated) -# needed for primary features only - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/about.mappings b/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/about.mappings deleted file mode 100644 index 936a8039c3e..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/about.mappings +++ /dev/null @@ -1,9 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -# The following should contain the build version. -# e.g. "0=20200106-1728" -# This value will be added automatically via the build scripts -0=${buildId} diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/about.properties b/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/about.properties deleted file mode 100644 index b3155b912ca..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/about.properties +++ /dev/null @@ -1,32 +0,0 @@ -############################################################################### -# Copyright (c) 2009, 2020 Contributors to the Eclipse Foundation -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -############################################################################### -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# NOTE TO TRANSLATOR: Please do not translate the featureVersion variable. - - -blurb=C/C++ UPC (Unified Parallel C) Support SDK\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -Copyright (c) 2009, 2020 Contributors to the Eclipse Foundation -\n\ -See the NOTICE file(s) distributed with this work for additional\n\ -information regarding copyright ownership.\n\ -\n\ -Visit http://www.eclipse.org/cdt diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/build.properties b/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/build.properties deleted file mode 100644 index f9952c2d349..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/build.properties +++ /dev/null @@ -1,23 +0,0 @@ -############################################################################### -# Copyright (c) 2005, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = about.html,\ - about.ini,\ - about.mappings,\ - about.properties,\ - notice.html,\ - plugin.properties,\ - epl-v20.html,\ - META-INF/,\ - cdt_logo_icon32.png -src.includes = about.html diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/cdt_logo_icon32.png b/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/cdt_logo_icon32.png deleted file mode 100644 index 470ca81b327..00000000000 Binary files a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/cdt_logo_icon32.png and /dev/null differ diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/epl-v20.html b/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/epl-v20.html deleted file mode 100644 index 008b8018db8..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/epl-v20.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

    Eclipse Foundation Software User Agreement

    -

    November 22, 2017

    - -

    Usage Of Content

    - -

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, - INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY - THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS - GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY - APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS - AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE - AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT - USE THE CONTENT.

    - -

    Applicable Licenses

    - -

    - Unless otherwise indicated, all Content made available by the Eclipse - Foundation is provided to you under the terms and conditions of the - Eclipse Public License Version 2.0 ("EPL"). A copy of the - EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    Content includes, but is not limited to, source code, object - code, documentation and other files maintained in the Eclipse - Foundation source code repository ("Repository") in software - modules ("Modules") and made available as downloadable - archives ("Downloads").

    - -
      -
    • Content may be structured and packaged into modules to - facilitate delivering, extending, and upgrading the Content. Typical - modules may include plug-ins ("Plug-ins"), plug-in - fragments ("Fragments"), and features - ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory - or JAR (Java™ ARchive) in a directory named - "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or - Fragments and associated material. Each Feature may be packaged as a - sub-directory in a directory named "features". Within a - Feature, files named "feature.xml" may contain a list of - the names and version numbers of the Plug-ins and/or Fragments - associated with that Feature.
    • -
    • Features may also include other Features ("Included - Features"). Within a Feature, files named - "feature.xml" may contain a list of the names and version - numbers of Included Features.
    • -
    - -

    The terms and conditions governing Plug-ins and Fragments should - be contained in files named "about.html" - ("Abouts"). The terms and conditions governing Features and - Included Features should be contained in files named - "license.html" ("Feature Licenses"). Abouts and - Feature Licenses may be located in any directory of a Download or - Module including, but not limited to the following locations:

    - -
      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of - certain Plug-ins
    • -
    • Feature directories
    • -
    - -

    Note: if a Feature made available by the Eclipse Foundation is - installed using the Provisioning Technology (as defined below), you - must agree to a license ("Feature Update License") during - the installation process. If the Feature contains Included Features, - the Feature Update License should either provide you with the terms - and conditions governing the Included Features or inform you where you - can locate them. Feature Update Licenses may be found in the - "license" property of files named - "feature.properties" found within a Feature. Such Abouts, - Feature Licenses, and Feature Update Licenses contain the terms and - conditions (or references to such terms and conditions) that govern - your use of the associated Content in that directory.

    - -

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY - REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND - CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT - ARE NOT LIMITED TO):

    - - - -

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND - CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, - or Feature Update License is provided, please contact the Eclipse - Foundation to determine what terms and conditions govern that - particular Content.

    - - -

    Use of Provisioning Technology

    - -

    - The Eclipse Foundation makes available provisioning software, examples - of which include, but are not limited to, p2 and the Eclipse Update - Manager ("Provisioning Technology") for the purpose of - allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This - capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about - packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification"). -

    - -

    You may use Provisioning Technology to allow other parties to - install Installable Software. You shall be responsible for enabling - the applicable license agreements relating to the Installable Software - to be presented to, and accepted by, the users of the Provisioning - Technology in accordance with the Specification. By using Provisioning - Technology in such a manner and making it available in accordance with - the Specification, you further acknowledge your agreement to, and the - acquisition of all necessary rights to permit the following:

    - -
      -
    1. A series of actions may occur ("Provisioning - Process") in which a user may execute the Provisioning - Technology on a machine ("Target Machine") with the intent - of installing, extending or updating the functionality of an - Eclipse-based product.
    2. -
    3. During the Provisioning Process, the Provisioning Technology - may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
    4. -
    5. Pursuant to the Specification, you will provide to the user - the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such - Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable - Software Agreement must inform the user of the terms and conditions - that govern the Installable Software and must solicit acceptance by - the end user in the manner prescribed in such Installable Software - Agreement. Upon such indication of agreement by the user, the - provisioning Technology will complete installation of the Installable - Software.
    6. -
    - -

    Cryptography

    - -

    Content may contain encryption software. The country in which - you are currently may have restrictions on the import, possession, and - use, and/or re-export to another country, of encryption software. - BEFORE using any encryption software, please check the country's laws, - regulations and policies concerning the import, possession, or use, - and re-export of encryption software, to see if this is permitted.

    - -

    - Java and all Java-based trademarks are trademarks of - Oracle Corporation in the United States, other countries, or both. -

    - - diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/notice.html b/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/notice.html deleted file mode 100644 index 008b8018db8..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/notice.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

    Eclipse Foundation Software User Agreement

    -

    November 22, 2017

    - -

    Usage Of Content

    - -

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, - INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY - THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS - GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY - APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS - AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE - AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT - USE THE CONTENT.

    - -

    Applicable Licenses

    - -

    - Unless otherwise indicated, all Content made available by the Eclipse - Foundation is provided to you under the terms and conditions of the - Eclipse Public License Version 2.0 ("EPL"). A copy of the - EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    Content includes, but is not limited to, source code, object - code, documentation and other files maintained in the Eclipse - Foundation source code repository ("Repository") in software - modules ("Modules") and made available as downloadable - archives ("Downloads").

    - -
      -
    • Content may be structured and packaged into modules to - facilitate delivering, extending, and upgrading the Content. Typical - modules may include plug-ins ("Plug-ins"), plug-in - fragments ("Fragments"), and features - ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory - or JAR (Java™ ARchive) in a directory named - "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or - Fragments and associated material. Each Feature may be packaged as a - sub-directory in a directory named "features". Within a - Feature, files named "feature.xml" may contain a list of - the names and version numbers of the Plug-ins and/or Fragments - associated with that Feature.
    • -
    • Features may also include other Features ("Included - Features"). Within a Feature, files named - "feature.xml" may contain a list of the names and version - numbers of Included Features.
    • -
    - -

    The terms and conditions governing Plug-ins and Fragments should - be contained in files named "about.html" - ("Abouts"). The terms and conditions governing Features and - Included Features should be contained in files named - "license.html" ("Feature Licenses"). Abouts and - Feature Licenses may be located in any directory of a Download or - Module including, but not limited to the following locations:

    - -
      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of - certain Plug-ins
    • -
    • Feature directories
    • -
    - -

    Note: if a Feature made available by the Eclipse Foundation is - installed using the Provisioning Technology (as defined below), you - must agree to a license ("Feature Update License") during - the installation process. If the Feature contains Included Features, - the Feature Update License should either provide you with the terms - and conditions governing the Included Features or inform you where you - can locate them. Feature Update Licenses may be found in the - "license" property of files named - "feature.properties" found within a Feature. Such Abouts, - Feature Licenses, and Feature Update Licenses contain the terms and - conditions (or references to such terms and conditions) that govern - your use of the associated Content in that directory.

    - -

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY - REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND - CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT - ARE NOT LIMITED TO):

    - - - -

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND - CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, - or Feature Update License is provided, please contact the Eclipse - Foundation to determine what terms and conditions govern that - particular Content.

    - - -

    Use of Provisioning Technology

    - -

    - The Eclipse Foundation makes available provisioning software, examples - of which include, but are not limited to, p2 and the Eclipse Update - Manager ("Provisioning Technology") for the purpose of - allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This - capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about - packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification"). -

    - -

    You may use Provisioning Technology to allow other parties to - install Installable Software. You shall be responsible for enabling - the applicable license agreements relating to the Installable Software - to be presented to, and accepted by, the users of the Provisioning - Technology in accordance with the Specification. By using Provisioning - Technology in such a manner and making it available in accordance with - the Specification, you further acknowledge your agreement to, and the - acquisition of all necessary rights to permit the following:

    - -
      -
    1. A series of actions may occur ("Provisioning - Process") in which a user may execute the Provisioning - Technology on a machine ("Target Machine") with the intent - of installing, extending or updating the functionality of an - Eclipse-based product.
    2. -
    3. During the Provisioning Process, the Provisioning Technology - may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
    4. -
    5. Pursuant to the Specification, you will provide to the user - the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such - Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable - Software Agreement must inform the user of the terms and conditions - that govern the Installable Software and must solicit acceptance by - the end user in the manner prescribed in such Installable Software - Agreement. Upon such indication of agreement by the user, the - provisioning Technology will complete installation of the Installable - Software.
    6. -
    - -

    Cryptography

    - -

    Content may contain encryption software. The country in which - you are currently may have restrictions on the import, possession, and - use, and/or re-export to another country, of encryption software. - BEFORE using any encryption software, please check the country's laws, - regulations and policies concerning the import, possession, or use, - and re-export of encryption software, to see if this is permitted.

    - -

    - Java and all Java-based trademarks are trademarks of - Oracle Corporation in the United States, other countries, or both. -

    - - diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/plugin.properties b/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/plugin.properties deleted file mode 100644 index 1513ffd7ef7..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.sdk.branding/plugin.properties +++ /dev/null @@ -1,15 +0,0 @@ -############################################################################### -# Copyright (c) 2005, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -pluginName=C/C++ UPC (Unified Parallel C) Support SDK -providerName=Eclipse CDT \ No newline at end of file diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/.project b/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/.project deleted file mode 100644 index 446bd43d03d..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.cdt.core.parser.upc.sdk.feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/build.properties b/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/build.properties deleted file mode 100644 index e160cdb1253..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/build.properties +++ /dev/null @@ -1,16 +0,0 @@ -############################################################################### -# Copyright (c) 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = feature.xml,\ - feature.properties -generate.feature@org.eclipse.cdt.core.parser.upc.source = org.eclipse.cdt.core.parser.upc.feature diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/feature-no-source.properties b/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/feature-no-source.properties deleted file mode 100644 index 8c2b2f70c57..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/feature-no-source.properties +++ /dev/null @@ -1 +0,0 @@ -# This file tells the Maven build to not generate sources for this feature diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/feature.properties b/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/feature.properties deleted file mode 100644 index a865b3f99d6..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/feature.properties +++ /dev/null @@ -1,36 +0,0 @@ -############################################################################### -# Copyright (c) 2009, 2010 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=C/C++ UPC (Unified Parallel C) Support SDK - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse CDT - -# "description" property - description of the feature -description=Support for the Unified Parallel C variant of the C programming language. Software development kit including source code and developer documentation. - -# copyright -copyright=\ -Copyright (c) 2006, 2011 IBM Corporation and others.\n\ -This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License 2.0\n\ -which accompanies this distribution, and is available at\n\ -https://www.eclipse.org/legal/epl-2.0/ - diff --git a/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/feature.xml b/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/feature.xml deleted file mode 100644 index b30b77a2573..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.sdk.feature/feature.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/.classpath b/upc/org.eclipse.cdt.core.parser.upc.tests/.classpath deleted file mode 100644 index eca7bdba8f0..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/.project b/upc/org.eclipse.cdt.core.parser.upc.tests/.project deleted file mode 100644 index 5ccd5d6305e..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.eclipse.cdt.core.parser.upc.tests - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/.settings/org.eclipse.jdt.core.prefs b/upc/org.eclipse.cdt.core.parser.upc.tests/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index ad05599159f..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,464 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.cleanOutputFolder=clean -org.eclipse.jdt.core.builder.duplicateResourceTask=warning -org.eclipse.jdt.core.builder.invalidClasspath=abort -org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore -org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch, *.xtend -org.eclipse.jdt.core.circularClasspath=error -org.eclipse.jdt.core.classpath.exclusionPatterns=enabled -org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error -org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled -org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error -org.eclipse.jdt.core.codeComplete.argumentPrefixes= -org.eclipse.jdt.core.codeComplete.argumentSuffixes= -org.eclipse.jdt.core.codeComplete.fieldPrefixes= -org.eclipse.jdt.core.codeComplete.fieldSuffixes= -org.eclipse.jdt.core.codeComplete.localPrefixes= -org.eclipse.jdt.core.codeComplete.localSuffixes= -org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=ignore -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore -org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore -org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.8 -org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false -org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 -org.eclipse.jdt.core.formatter.align_type_members_on_columns=false -org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false -org.eclipse.jdt.core.formatter.align_with_spaces=false -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_assignment=0 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 -org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 -org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 -org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 -org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 -org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 -org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 -org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 -org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 -org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_after_package=1 -org.eclipse.jdt.core.formatter.blank_lines_before_field=0 -org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 -org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 -org.eclipse.jdt.core.formatter.blank_lines_before_method=1 -org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 -org.eclipse.jdt.core.formatter.blank_lines_before_package=0 -org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 -org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 -org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true -org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false -org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true -org.eclipse.jdt.core.formatter.comment.format_block_comments=false -org.eclipse.jdt.core.formatter.comment.format_header=false -org.eclipse.jdt.core.formatter.comment.format_html=true -org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false -org.eclipse.jdt.core.formatter.comment.format_line_comments=false -org.eclipse.jdt.core.formatter.comment.format_source_code=true -org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false -org.eclipse.jdt.core.formatter.comment.indent_root_tags=false -org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert -org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert -org.eclipse.jdt.core.formatter.comment.line_length=80 -org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true -org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true -org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false -org.eclipse.jdt.core.formatter.compact_else_if=true -org.eclipse.jdt.core.formatter.continuation_indentation=2 -org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 -org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off -org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on -org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false -org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true -org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_empty_lines=false -org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true -org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false -org.eclipse.jdt.core.formatter.indentation.size=4 -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert -org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert -org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert -org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.join_lines_in_comments=true -org.eclipse.jdt.core.formatter.join_wrapped_lines=true -org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false -org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false -org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false -org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false -org.eclipse.jdt.core.formatter.lineSplit=120 -org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false -org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false -org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 -org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 -org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines -org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true -org.eclipse.jdt.core.formatter.tabulation.char=tab -org.eclipse.jdt.core.formatter.tabulation.size=4 -org.eclipse.jdt.core.formatter.use_on_off_tags=true -org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false -org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true -org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true -org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true -org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true -org.eclipse.jdt.core.incompatibleJDKLevel=ignore -org.eclipse.jdt.core.incompleteClasspath=error -org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/.settings/org.eclipse.jdt.launching.prefs b/upc/org.eclipse.cdt.core.parser.upc.tests/.settings/org.eclipse.jdt.launching.prefs deleted file mode 100644 index f8a131b56e0..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/.settings/org.eclipse.jdt.launching.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=warning -org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=warning diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/.settings/org.eclipse.jdt.ui.prefs b/upc/org.eclipse.cdt.core.parser.upc.tests/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index e44576346c4..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,133 +0,0 @@ -cleanup.add_default_serial_version_id=true -cleanup.add_generated_serial_version_id=false -cleanup.add_missing_annotations=true -cleanup.add_missing_deprecated_annotations=true -cleanup.add_missing_methods=false -cleanup.add_missing_nls_tags=false -cleanup.add_missing_override_annotations=true -cleanup.add_missing_override_annotations_interface_methods=true -cleanup.add_serial_version_id=false -cleanup.always_use_blocks=true -cleanup.always_use_parentheses_in_expressions=false -cleanup.always_use_this_for_non_static_field_access=false -cleanup.always_use_this_for_non_static_method_access=false -cleanup.convert_functional_interfaces=false -cleanup.convert_to_enhanced_for_loop=false -cleanup.correct_indentation=false -cleanup.format_source_code=true -cleanup.format_source_code_changes_only=false -cleanup.insert_inferred_type_arguments=false -cleanup.make_local_variable_final=true -cleanup.make_parameters_final=false -cleanup.make_private_fields_final=true -cleanup.make_type_abstract_if_missing_method=false -cleanup.make_variable_declarations_final=false -cleanup.never_use_blocks=false -cleanup.never_use_parentheses_in_expressions=true -cleanup.organize_imports=true -cleanup.qualify_static_field_accesses_with_declaring_class=false -cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -cleanup.qualify_static_member_accesses_with_declaring_class=false -cleanup.qualify_static_method_accesses_with_declaring_class=false -cleanup.remove_private_constructors=true -cleanup.remove_redundant_modifiers=false -cleanup.remove_redundant_semicolons=true -cleanup.remove_redundant_type_arguments=true -cleanup.remove_trailing_whitespaces=true -cleanup.remove_trailing_whitespaces_all=true -cleanup.remove_trailing_whitespaces_ignore_empty=false -cleanup.remove_unnecessary_casts=true -cleanup.remove_unnecessary_nls_tags=false -cleanup.remove_unused_imports=true -cleanup.remove_unused_local_variables=false -cleanup.remove_unused_private_fields=true -cleanup.remove_unused_private_members=false -cleanup.remove_unused_private_methods=true -cleanup.remove_unused_private_types=true -cleanup.sort_members=false -cleanup.sort_members_all=false -cleanup.use_anonymous_class_creation=false -cleanup.use_blocks=false -cleanup.use_blocks_only_for_return_and_throw=false -cleanup.use_lambda=true -cleanup.use_parentheses_in_expressions=false -cleanup.use_this_for_non_static_field_access=false -cleanup.use_this_for_non_static_field_access_only_if_necessary=true -cleanup.use_this_for_non_static_method_access=false -cleanup.use_this_for_non_static_method_access_only_if_necessary=true -cleanup_profile=_CDT -cleanup_settings_version=2 -eclipse.preferences.version=1 -editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true -formatter_profile=_CDT -formatter_settings_version=14 -internal.default.compliance=user -org.eclipse.jdt.ui.exception.name=e -org.eclipse.jdt.ui.gettersetter.use.is=true -org.eclipse.jdt.ui.ignorelowercasenames=true -org.eclipse.jdt.ui.importorder=java;javax;org;com; -org.eclipse.jdt.ui.keywordthis=false -org.eclipse.jdt.ui.ondemandthreshold=1000 -org.eclipse.jdt.ui.overrideannotation=true -org.eclipse.jdt.ui.staticondemandthreshold=1000 -org.eclipse.jdt.ui.text.custom_code_templates= -sp_cleanup.add_default_serial_version_id=true -sp_cleanup.add_generated_serial_version_id=false -sp_cleanup.add_missing_annotations=true -sp_cleanup.add_missing_deprecated_annotations=true -sp_cleanup.add_missing_methods=false -sp_cleanup.add_missing_nls_tags=false -sp_cleanup.add_missing_override_annotations=true -sp_cleanup.add_missing_override_annotations_interface_methods=true -sp_cleanup.add_serial_version_id=false -sp_cleanup.always_use_blocks=true -sp_cleanup.always_use_parentheses_in_expressions=false -sp_cleanup.always_use_this_for_non_static_field_access=false -sp_cleanup.always_use_this_for_non_static_method_access=false -sp_cleanup.convert_functional_interfaces=false -sp_cleanup.convert_to_enhanced_for_loop=false -sp_cleanup.correct_indentation=false -sp_cleanup.format_source_code=true -sp_cleanup.format_source_code_changes_only=false -sp_cleanup.insert_inferred_type_arguments=false -sp_cleanup.make_local_variable_final=true -sp_cleanup.make_parameters_final=false -sp_cleanup.make_private_fields_final=true -sp_cleanup.make_type_abstract_if_missing_method=false -sp_cleanup.make_variable_declarations_final=false -sp_cleanup.never_use_blocks=false -sp_cleanup.never_use_parentheses_in_expressions=true -sp_cleanup.on_save_use_additional_actions=true -sp_cleanup.organize_imports=true -sp_cleanup.qualify_static_field_accesses_with_declaring_class=false -sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_with_declaring_class=false -sp_cleanup.qualify_static_method_accesses_with_declaring_class=false -sp_cleanup.remove_private_constructors=true -sp_cleanup.remove_redundant_modifiers=false -sp_cleanup.remove_redundant_semicolons=true -sp_cleanup.remove_redundant_type_arguments=true -sp_cleanup.remove_trailing_whitespaces=true -sp_cleanup.remove_trailing_whitespaces_all=true -sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true -sp_cleanup.remove_unnecessary_nls_tags=false -sp_cleanup.remove_unused_imports=true -sp_cleanup.remove_unused_local_variables=false -sp_cleanup.remove_unused_private_fields=true -sp_cleanup.remove_unused_private_members=false -sp_cleanup.remove_unused_private_methods=true -sp_cleanup.remove_unused_private_types=true -sp_cleanup.sort_members=false -sp_cleanup.sort_members_all=false -sp_cleanup.use_anonymous_class_creation=false -sp_cleanup.use_blocks=false -sp_cleanup.use_blocks_only_for_return_and_throw=false -sp_cleanup.use_lambda=true -sp_cleanup.use_parentheses_in_expressions=false -sp_cleanup.use_this_for_non_static_field_access=false -sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true -sp_cleanup.use_this_for_non_static_method_access=false -sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/.settings/org.eclipse.pde.api.tools.prefs b/upc/org.eclipse.cdt.core.parser.upc.tests/.settings/org.eclipse.pde.api.tools.prefs deleted file mode 100644 index ec9fbf321d0..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/.settings/org.eclipse.pde.api.tools.prefs +++ /dev/null @@ -1,184 +0,0 @@ -ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error -API_USE_SCAN_FIELD_SEVERITY=Error -API_USE_SCAN_METHOD_SEVERITY=Error -API_USE_SCAN_TYPE_SEVERITY=Error -CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_FIELD=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_ADDED_METHOD=Error -CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error -CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error -CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error -ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error -ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error -ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -FIELD_ELEMENT_TYPE_ADDED_VALUE=Error -FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error -FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error -FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error -ILLEGAL_EXTEND=Warning -ILLEGAL_IMPLEMENT=Warning -ILLEGAL_INSTANTIATE=Warning -ILLEGAL_OVERRIDE=Warning -ILLEGAL_REFERENCE=Warning -INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -INVALID_ANNOTATION=Ignore -INVALID_JAVADOC_TAG=Error -INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning -LEAK_EXTEND=Warning -LEAK_FIELD_DECL=Warning -LEAK_IMPLEMENT=Warning -LEAK_METHOD_PARAM=Warning -LEAK_METHOD_RETURN_TYPE=Warning -METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -MISSING_EE_DESCRIPTIONS=Warning -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -UNUSED_PROBLEM_FILTERS=Warning -automatically_removed_unused_problem_filters=false -changed_execution_env=Error -eclipse.preferences.version=1 -incompatible_api_component_version=Error -incompatible_api_component_version_include_major_without_breaking_change=Disabled -incompatible_api_component_version_include_minor_without_api_change=Disabled -incompatible_api_component_version_report_major_without_breaking_change=Warning -incompatible_api_component_version_report_minor_without_api_change=Warning -invalid_since_tag_version=Error -malformed_since_tag=Error -missing_since_tag=Error -report_api_breakage_when_major_version_incremented=Disabled -report_resolution_errors_api_component=Warning diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/.settings/org.eclipse.pde.prefs b/upc/org.eclipse.cdt.core.parser.upc.tests/.settings/org.eclipse.pde.prefs deleted file mode 100644 index 51a63ec9988..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,35 +0,0 @@ -compilers.f.unresolved-features=1 -compilers.f.unresolved-plugins=1 -compilers.incompatible-environment=1 -compilers.p.build=1 -compilers.p.build.bin.includes=1 -compilers.p.build.encodings=2 -compilers.p.build.java.compiler=2 -compilers.p.build.java.compliance=1 -compilers.p.build.missing.output=2 -compilers.p.build.output.library=1 -compilers.p.build.source.library=1 -compilers.p.build.src.includes=1 -compilers.p.deprecated=1 -compilers.p.discouraged-class=1 -compilers.p.internal=1 -compilers.p.missing-packages=2 -compilers.p.missing-version-export-package=2 -compilers.p.missing-version-import-package=2 -compilers.p.missing-version-require-bundle=2 -compilers.p.no-required-att=0 -compilers.p.no.automatic.module=1 -compilers.p.not-externalized-att=2 -compilers.p.service.component.without.lazyactivation=1 -compilers.p.unknown-attribute=1 -compilers.p.unknown-class=1 -compilers.p.unknown-element=1 -compilers.p.unknown-identifier=1 -compilers.p.unknown-resource=1 -compilers.p.unresolved-ex-points=0 -compilers.p.unresolved-import=0 -compilers.s.create-docs=false -compilers.s.doc-folder=doc -compilers.s.open-tags=1 -compilers.use-project=true -eclipse.preferences.version=1 diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/META-INF/MANIFEST.MF b/upc/org.eclipse.cdt.core.parser.upc.tests/META-INF/MANIFEST.MF deleted file mode 100644 index 8309716f5e0..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/META-INF/MANIFEST.MF +++ /dev/null @@ -1,18 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %Bundle-Name.0 -Bundle-SymbolicName: org.eclipse.cdt.core.parser.upc.tests -Bundle-Version: 5.1.0.qualifier -Require-Bundle: org.eclipse.core.runtime, - org.junit, - org.eclipse.cdt.core.tests, - org.eclipse.cdt.core, - org.eclipse.core.resources, - org.eclipse.cdt.core.parser.upc, - org.eclipse.cdt.core.lrparser;bundle-version="4.0.1", - org.eclipse.cdt.core.lrparser.tests;bundle-version="4.0.0" -Bundle-Vendor: %Bundle-Vendor.0 -Bundle-Localization: plugin -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Export-Package: org.eclipse.cdt.core.parser.upc.tests -Automatic-Module-Name: org.eclipse.cdt.core.parser.upc.tests diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/about.html b/upc/org.eclipse.cdt.core.parser.upc.tests/about.html deleted file mode 100644 index 164f781a8fd..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/about.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    November 30, 2017

    -

    License

    - -

    - The Eclipse Foundation makes available all content in this plug-in - ("Content"). Unless otherwise indicated below, the Content - is provided to you under the terms and conditions of the Eclipse - Public License Version 2.0 ("EPL"). A copy of the EPL is - available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    - If you did not receive this Content directly from the Eclipse - Foundation, the Content is being redistributed by another party - ("Redistributor") and different terms and conditions may - apply to your use of any object code in the Content. Check the - Redistributor's license that was provided with the Content. If no such - license exists, contact the Redistributor. Unless otherwise indicated - below, the terms and conditions of the EPL still apply to any source - code in the Content and such source code may be obtained at http://www.eclipse.org. -

    - - - \ No newline at end of file diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/build.properties b/upc/org.eclipse.cdt.core.parser.upc.tests/build.properties deleted file mode 100644 index 2efd6977db3..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/build.properties +++ /dev/null @@ -1,20 +0,0 @@ -############################################################################### -# Copyright (c) 2007, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - about.html,\ - plugin.properties -src.includes = about.html diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/plugin.properties b/upc/org.eclipse.cdt.core.parser.upc.tests/plugin.properties deleted file mode 100644 index d2af05f91ce..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/plugin.properties +++ /dev/null @@ -1,18 +0,0 @@ -############################################################################### -# Copyright (c) 2007, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# properties file for org.eclipse.cdt.core.parser.c99.tests -Bundle-Vendor.0 = Eclipse CDT -Bundle-Name.0 = C99 Parser Tests Plug-in - -upcSourceName=UPC Source File \ No newline at end of file diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/AutomatedIntegrationSuite.java b/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/AutomatedIntegrationSuite.java deleted file mode 100644 index 242fc53512c..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/AutomatedIntegrationSuite.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.upc.tests; - -import junit.framework.Test; -import junit.framework.TestSuite; - -public class AutomatedIntegrationSuite extends TestSuite { - - public static Test suite() { - return new TestSuite() { - { - addTestSuite(UPCCommentTests.class); - addTestSuite(UPCCompletionBasicTest.class); - addTestSuite(UPCCompletionParseTest.class); - addTestSuite(UPCDOMLocationMacroTests.class); - addTestSuite(UPCDOMLocationTests.class); - addTestSuite(UPCDOMPreprocessorInformationTest.class); - addTestSuite(UPCKnRTests.class); - addTestSuite(UPCSelectionParseTest.class); - addTestSuite(UPCCSpecTests.class); - addTestSuite(UPCTests.class); - addTestSuite(UPCLanguageExtensionTests.class); - addTestSuite(UPCDigraphTrigraphTests.class); - addTestSuite(UPCGCCTests.class); - addTestSuite(UPCUtilOldTests.class); - addTestSuite(UPCUtilTests.class); - addTestSuite(UPCCompleteParser2Tests.class); - addTestSuite(UPCTaskParserTest.class); - } - }; - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCSpecTests.java b/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCSpecTests.java deleted file mode 100644 index ada3384103a..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCSpecTests.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.upc.tests; - -import org.eclipse.cdt.core.dom.upc.UPCLanguage; -import org.eclipse.cdt.core.lrparser.tests.LRCSpecTests; -import org.eclipse.cdt.core.model.ILanguage; - -public class UPCCSpecTests extends LRCSpecTests { - - public UPCCSpecTests() { - } - - public UPCCSpecTests(String name) { - super(name); - } - - @Override - protected ILanguage getCLanguage() { - return UPCLanguage.getDefault(); - } - -} diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCommentTests.java b/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCommentTests.java deleted file mode 100644 index db778db4d33..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCommentTests.java +++ /dev/null @@ -1,26 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.upc.tests; - -import org.eclipse.cdt.core.dom.upc.UPCLanguage; -import org.eclipse.cdt.core.lrparser.tests.LRCommentTests; -import org.eclipse.cdt.core.model.ILanguage; - -public class UPCCommentTests extends LRCommentTests { - - @Override - protected ILanguage getCLanguage() { - return UPCLanguage.getDefault(); - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCompleteParser2Tests.java b/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCompleteParser2Tests.java deleted file mode 100644 index 4654e2f8b55..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCompleteParser2Tests.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.upc.tests; - -import org.eclipse.cdt.core.dom.upc.UPCLanguage; -import org.eclipse.cdt.core.lrparser.tests.LRCompleteParser2Tests; -import org.eclipse.cdt.core.model.ILanguage; - -public class UPCCompleteParser2Tests extends LRCompleteParser2Tests { - - @Override - public void testGNUASMExtension() throws Exception { - } - - @Override - public void testBug39551B() throws Exception { - } - - @Override - public void testBug39676_tough() throws Exception { - } - - @Override - public void testBug102376() throws Exception { - } - - @Override - protected ILanguage getCLanguage() { - return UPCLanguage.getDefault(); - } - -} diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCompletionBasicTest.java b/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCompletionBasicTest.java deleted file mode 100644 index 01e76a63d06..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCompletionBasicTest.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.upc.tests; - -import org.eclipse.cdt.core.dom.lrparser.c99.C99Language; -import org.eclipse.cdt.core.lrparser.tests.LRCompletionBasicTest; -import org.eclipse.cdt.core.model.ILanguage; - -public class UPCCompletionBasicTest extends LRCompletionBasicTest { - - public UPCCompletionBasicTest() { - } - - @Override - protected ILanguage getCLanguage() { - return C99Language.getDefault(); - } - -} \ No newline at end of file diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCompletionParseTest.java b/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCompletionParseTest.java deleted file mode 100644 index 043edeea963..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCCompletionParseTest.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.upc.tests; - -import org.eclipse.cdt.core.dom.upc.UPCLanguage; -import org.eclipse.cdt.core.lrparser.tests.LRCompletionParseTest; -import org.eclipse.cdt.core.model.ILanguage; - -public class UPCCompletionParseTest extends LRCompletionParseTest { - - public UPCCompletionParseTest() { - } - - public UPCCompletionParseTest(String name) { - super(name); - } - - @Override - protected ILanguage getCLanguage() { - return UPCLanguage.getDefault(); - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCDOMLocationMacroTests.java b/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCDOMLocationMacroTests.java deleted file mode 100644 index 0f7ae36a34e..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCDOMLocationMacroTests.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.upc.tests; - -import org.eclipse.cdt.core.dom.upc.UPCLanguage; -import org.eclipse.cdt.core.lrparser.tests.LRDOMLocationMacroTests; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.internal.core.parser.ParserException; - -public class UPCDOMLocationMacroTests extends LRDOMLocationMacroTests { - - public UPCDOMLocationMacroTests() { - } - - //TODO ??? overwrite some failed test cases - @Override - public void testStdioBug() throws ParserException { - } - - @Override - protected ILanguage getCLanguage() { - return UPCLanguage.getDefault(); - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCDOMLocationTests.java b/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCDOMLocationTests.java deleted file mode 100644 index a1ad7ad9c93..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCDOMLocationTests.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.upc.tests; - -import org.eclipse.cdt.core.dom.upc.UPCLanguage; -import org.eclipse.cdt.core.lrparser.tests.LRDOMLocationTests; -import org.eclipse.cdt.core.model.ILanguage; - -public class UPCDOMLocationTests extends LRDOMLocationTests { - - public UPCDOMLocationTests() { - } - - public UPCDOMLocationTests(String name) { - super(name); - } - - @Override - protected ILanguage getCLanguage() { - return UPCLanguage.getDefault(); - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCDOMPreprocessorInformationTest.java b/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCDOMPreprocessorInformationTest.java deleted file mode 100644 index af758dbffb7..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCDOMPreprocessorInformationTest.java +++ /dev/null @@ -1,27 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.upc.tests; - -import org.eclipse.cdt.core.dom.upc.UPCLanguage; -import org.eclipse.cdt.core.lrparser.tests.LRDOMPreprocessorInformationTest; -import org.eclipse.cdt.core.model.ILanguage; - -public class UPCDOMPreprocessorInformationTest extends LRDOMPreprocessorInformationTest { - - @Override - protected ILanguage getCLanguage() { - return UPCLanguage.getDefault(); - } - -} diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCDigraphTrigraphTests.java b/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCDigraphTrigraphTests.java deleted file mode 100644 index febb6c26127..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCDigraphTrigraphTests.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.upc.tests; - -import org.eclipse.cdt.core.dom.upc.UPCLanguage; -import org.eclipse.cdt.core.lrparser.tests.LRDigraphTrigraphTests; -import org.eclipse.cdt.core.model.ILanguage; - -public class UPCDigraphTrigraphTests extends LRDigraphTrigraphTests { - - public UPCDigraphTrigraphTests() { - } - - public UPCDigraphTrigraphTests(String name) { - super(name); - } - - @Override - protected ILanguage getCLanguage() { - return UPCLanguage.getDefault(); - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCGCCTests.java b/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCGCCTests.java deleted file mode 100644 index 0f3b6c3f6e1..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCGCCTests.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.upc.tests; - -import org.eclipse.cdt.core.dom.upc.UPCLanguage; -import org.eclipse.cdt.core.lrparser.tests.LRGCCTests; -import org.eclipse.cdt.core.model.ILanguage; - -public class UPCGCCTests extends LRGCCTests { - - public UPCGCCTests() { - } - - public UPCGCCTests(String message) { - super(message); - } - - @Override - protected ILanguage getCLanguage() { - return UPCLanguage.getDefault(); - } - -} diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCKnRTests.java b/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCKnRTests.java deleted file mode 100644 index 702a21dc207..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCKnRTests.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.upc.tests; - -import org.eclipse.cdt.core.dom.upc.UPCLanguage; -import org.eclipse.cdt.core.lrparser.tests.LRKnRTests; -import org.eclipse.cdt.core.model.ILanguage; - -public class UPCKnRTests extends LRKnRTests { - - public UPCKnRTests() { - } - - @Override - protected ILanguage getCLanguage() { - return UPCLanguage.getDefault(); - } - -} diff --git a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCLanguageExtensionTests.java b/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCLanguageExtensionTests.java deleted file mode 100644 index 23a8757095d..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc.tests/src/org/eclipse/cdt/core/parser/upc/tests/UPCLanguageExtensionTests.java +++ /dev/null @@ -1,506 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.upc.tests; - -import org.eclipse.cdt.core.dom.ast.IASTArrayDeclarator; -import org.eclipse.cdt.core.dom.ast.IASTArrayModifier; -import org.eclipse.cdt.core.dom.ast.IASTArraySubscriptExpression; -import org.eclipse.cdt.core.dom.ast.IASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.IASTCompoundStatement; -import org.eclipse.cdt.core.dom.ast.IASTDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTDeclarationStatement; -import org.eclipse.cdt.core.dom.ast.IASTDeclarator; -import org.eclipse.cdt.core.dom.ast.IASTExpressionStatement; -import org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition; -import org.eclipse.cdt.core.dom.ast.IASTIdExpression; -import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTStatement; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.ast.IScope; -import org.eclipse.cdt.core.dom.ast.IVariable; -import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage; -import org.eclipse.cdt.core.dom.upc.UPCLanguage; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTDeclSpecifier; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTForallStatement; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSimpleDeclSpecifier; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTTypeIdSizeofExpression; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; -import org.eclipse.cdt.core.lrparser.tests.ParseHelper; - -import junit.framework.TestCase; - -@SuppressWarnings("nls") -public class UPCLanguageExtensionTests extends TestCase { - - public UPCLanguageExtensionTests() { - } - - public UPCLanguageExtensionTests(String name) { - super(name); - } - - protected BaseExtensibleLanguage getLanguage() { - return UPCLanguage.getDefault(); - } - - // test problem-free parsing of UPC constructs (maily declarations) - // test the AST is correct - // test that binding resolution works - - private IASTTranslationUnit parseAndCheckBindings(String code) { - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckSyntaxProblems(true); - options.setCheckPreprocessorProblems(true); - options.setCheckBindings(true); - return ParseHelper.parse(code, getLanguage(), options); - } - - private IASTTranslationUnit parse(String code) { - ParseHelper.Options options = new ParseHelper.Options(); - options.setCheckSyntaxProblems(true); - options.setCheckPreprocessorProblems(true); - options.setCheckBindings(false); - return ParseHelper.parse(code, getLanguage(), options); - } - - public void testUPCSharedDeclarations1() throws Exception { - String code = "shared int a [100+THREADS];\n" + "shared [] int b [THREADS];\n" + "shared [90] int c [10];\n" - + "shared [*] int d [];\n" + "relaxed int x;" + "strict int y;"; - - IASTTranslationUnit tu = parseAndCheckBindings(code); - IScope globalScope = tu.getScope(); - assertNotNull(globalScope); - - IASTDeclaration[] declarations = tu.getDeclarations(); - assertNotNull(declarations); - assertEquals(6, declarations.length); - - // shared int a [100+THREADS]; - IASTSimpleDeclaration decl_a = (IASTSimpleDeclaration) declarations[0]; - IUPCASTSimpleDeclSpecifier declspec_a = (IUPCASTSimpleDeclSpecifier) decl_a.getDeclSpecifier(); - assertEquals(IUPCASTDeclSpecifier.rt_unspecified, declspec_a.getReferenceType()); - assertEquals(IUPCASTDeclSpecifier.sh_shared_default_block_size, declspec_a.getSharedQualifier()); - assertEquals(IASTSimpleDeclSpecifier.t_int, declspec_a.getType()); - assertNull(declspec_a.getBlockSizeExpression()); - IASTDeclarator[] declarators = decl_a.getDeclarators(); - assertNotNull(declarators); - assertEquals(1, declarators.length); - IASTArrayDeclarator declarator_a = (IASTArrayDeclarator) declarators[0]; - IASTName name_a = declarator_a.getName(); - assertEquals("a", name_a.toString()); - IASTArrayModifier[] array_modifiers = declarator_a.getArrayModifiers(); - assertNotNull(array_modifiers); - assertEquals(1, array_modifiers.length); - IASTBinaryExpression expr = (IASTBinaryExpression) array_modifiers[0].getConstantExpression(); - IUPCASTKeywordExpression threads = (IUPCASTKeywordExpression) expr.getOperand2(); - assertEquals(IUPCASTKeywordExpression.kw_threads, threads.getKeywordKind()); - - // shared [] int b [THREADS]; - IASTSimpleDeclaration decl_b = (IASTSimpleDeclaration) declarations[1]; - IUPCASTSimpleDeclSpecifier declspec_b = (IUPCASTSimpleDeclSpecifier) decl_b.getDeclSpecifier(); - assertEquals(IUPCASTDeclSpecifier.rt_unspecified, declspec_b.getReferenceType()); - assertEquals(IUPCASTDeclSpecifier.sh_shared_indefinite_allocation, declspec_b.getSharedQualifier()); - assertEquals(IASTSimpleDeclSpecifier.t_int, declspec_b.getType()); - assertNull(declspec_b.getBlockSizeExpression()); - declarators = decl_b.getDeclarators(); - assertNotNull(declarators); - assertEquals(1, declarators.length); - IASTArrayDeclarator declarator_b = (IASTArrayDeclarator) declarators[0]; - IASTName name_b = declarator_b.getName(); - assertEquals("b", name_b.toString()); - array_modifiers = declarator_b.getArrayModifiers(); - assertNotNull(array_modifiers); - assertEquals(1, array_modifiers.length); - threads = (IUPCASTKeywordExpression) array_modifiers[0].getConstantExpression(); - assertEquals(IUPCASTKeywordExpression.kw_threads, threads.getKeywordKind()); - - // shared [90] int c [10]; - IASTSimpleDeclaration decl_c = (IASTSimpleDeclaration) declarations[2]; - IUPCASTSimpleDeclSpecifier declspec_c = (IUPCASTSimpleDeclSpecifier) decl_c.getDeclSpecifier(); - assertEquals(IUPCASTDeclSpecifier.rt_unspecified, declspec_c.getReferenceType()); - assertEquals(IUPCASTDeclSpecifier.sh_shared_constant_expression, declspec_c.getSharedQualifier()); - assertEquals(IASTSimpleDeclSpecifier.t_int, declspec_c.getType()); - @SuppressWarnings("unused") - IASTLiteralExpression literalExpr = (IASTLiteralExpression) declspec_c.getBlockSizeExpression(); - declarators = decl_c.getDeclarators(); - assertNotNull(declarators); - assertEquals(1, declarators.length); - IASTArrayDeclarator declarator_c = (IASTArrayDeclarator) declarators[0]; - IASTName name_c = declarator_c.getName(); - assertEquals("c", name_c.toString()); - array_modifiers = declarator_c.getArrayModifiers(); - assertNotNull(array_modifiers); - assertEquals(1, array_modifiers.length); - assertNotNull(array_modifiers[0].getConstantExpression()); - - // shared [*] int d []; - IASTSimpleDeclaration decl_d = (IASTSimpleDeclaration) declarations[3]; - IUPCASTSimpleDeclSpecifier declspec_d = (IUPCASTSimpleDeclSpecifier) decl_d.getDeclSpecifier(); - assertEquals(IUPCASTDeclSpecifier.rt_unspecified, declspec_d.getReferenceType()); - assertEquals(IUPCASTDeclSpecifier.sh_shared_pure_allocation, declspec_d.getSharedQualifier()); - assertEquals(IASTSimpleDeclSpecifier.t_int, declspec_d.getType()); - assertNull(declspec_d.getBlockSizeExpression()); - declarators = decl_d.getDeclarators(); - assertNotNull(declarators); - assertEquals(1, declarators.length); - IASTArrayDeclarator declarator_d = (IASTArrayDeclarator) declarators[0]; - IASTName name_d = declarator_d.getName(); - assertEquals("d", name_d.toString()); - array_modifiers = declarator_d.getArrayModifiers(); - assertNotNull(array_modifiers); - assertEquals(1, array_modifiers.length); - assertNull(array_modifiers[0].getConstantExpression()); - - IASTSimpleDeclaration decl_x = (IASTSimpleDeclaration) declarations[4]; - IUPCASTSimpleDeclSpecifier declspec_x = (IUPCASTSimpleDeclSpecifier) decl_x.getDeclSpecifier(); - assertEquals(IUPCASTDeclSpecifier.rt_relaxed, declspec_x.getReferenceType()); - - IASTSimpleDeclaration decl_y = (IASTSimpleDeclaration) declarations[5]; - IUPCASTSimpleDeclSpecifier declspec_y = (IUPCASTSimpleDeclSpecifier) decl_y.getDeclSpecifier(); - assertEquals(IUPCASTDeclSpecifier.rt_strict, declspec_y.getReferenceType()); - - IVariable binding_a = (IVariable) name_a.resolveBinding(); - assertNotNull(binding_a); - assertEquals(globalScope, binding_a.getScope()); - - IVariable binding_b = (IVariable) name_a.resolveBinding(); - assertNotNull(binding_b); - assertEquals(globalScope, binding_b.getScope()); - - IVariable binding_c = (IVariable) name_a.resolveBinding(); - assertNotNull(binding_c); - assertEquals(globalScope, binding_c.getScope()); - - IVariable binding_d = (IVariable) name_a.resolveBinding(); - assertNotNull(binding_d); - assertEquals(globalScope, binding_d.getScope()); - - } - - public void testUPCSharedDeclarations2() throws Exception { - String code = "int x = 10;" + "shared [x] int a [];\n"; - - IASTTranslationUnit tu = parseAndCheckBindings(code); - IScope globalScope = tu.getScope(); - assertNotNull(globalScope); - - IASTDeclaration[] declarations = tu.getDeclarations(); - assertNotNull(declarations); - assertEquals(2, declarations.length); - - IASTSimpleDeclaration decl_x = (IASTSimpleDeclaration) declarations[0]; - - // shared [x] int a []; - IASTSimpleDeclaration decl_a = (IASTSimpleDeclaration) declarations[1]; - IUPCASTSimpleDeclSpecifier declspec_a = (IUPCASTSimpleDeclSpecifier) decl_a.getDeclSpecifier(); - assertEquals(IUPCASTDeclSpecifier.rt_unspecified, declspec_a.getReferenceType()); - assertEquals(IUPCASTDeclSpecifier.sh_shared_constant_expression, declspec_a.getSharedQualifier()); - assertEquals(IASTSimpleDeclSpecifier.t_int, declspec_a.getType()); - IASTIdExpression expr_x = (IASTIdExpression) declspec_a.getBlockSizeExpression(); - - IASTName name_x = expr_x.getName(); - IVariable binding_x = (IVariable) name_x.resolveBinding(); - assertNotNull(binding_x); - assertEquals(decl_x.getDeclarators()[0].getName().resolveBinding(), binding_x); - } - - public void testUPCForall1() throws Exception { - String code = "int main() {\n" + " int i;\n" + " shared float *a;\n" - + " upc_forall(i=0; i - - - - - - diff --git a/upc/org.eclipse.cdt.core.parser.upc/.project b/upc/org.eclipse.cdt.core.parser.upc/.project deleted file mode 100644 index 0697e2bcbf5..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/.project +++ /dev/null @@ -1,34 +0,0 @@ - - - org.eclipse.cdt.core.parser.upc - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - net.sourceforge.metrics.builder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - net.sourceforge.metrics.nature - - diff --git a/upc/org.eclipse.cdt.core.parser.upc/.settings/org.eclipse.jdt.core.prefs b/upc/org.eclipse.cdt.core.parser.upc/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 2b6ecff8a01..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,464 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.cleanOutputFolder=clean -org.eclipse.jdt.core.builder.duplicateResourceTask=warning -org.eclipse.jdt.core.builder.invalidClasspath=abort -org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore -org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch, *.xtend -org.eclipse.jdt.core.circularClasspath=error -org.eclipse.jdt.core.classpath.exclusionPatterns=enabled -org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error -org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled -org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error -org.eclipse.jdt.core.codeComplete.argumentPrefixes= -org.eclipse.jdt.core.codeComplete.argumentSuffixes= -org.eclipse.jdt.core.codeComplete.fieldPrefixes= -org.eclipse.jdt.core.codeComplete.fieldSuffixes= -org.eclipse.jdt.core.codeComplete.localPrefixes= -org.eclipse.jdt.core.codeComplete.localSuffixes= -org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.8 -org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false -org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 -org.eclipse.jdt.core.formatter.align_type_members_on_columns=false -org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false -org.eclipse.jdt.core.formatter.align_with_spaces=false -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_assignment=0 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 -org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 -org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 -org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 -org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 -org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 -org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 -org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 -org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 -org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_after_package=1 -org.eclipse.jdt.core.formatter.blank_lines_before_field=0 -org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 -org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 -org.eclipse.jdt.core.formatter.blank_lines_before_method=1 -org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 -org.eclipse.jdt.core.formatter.blank_lines_before_package=0 -org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 -org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 -org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true -org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false -org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true -org.eclipse.jdt.core.formatter.comment.format_block_comments=false -org.eclipse.jdt.core.formatter.comment.format_header=false -org.eclipse.jdt.core.formatter.comment.format_html=true -org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false -org.eclipse.jdt.core.formatter.comment.format_line_comments=false -org.eclipse.jdt.core.formatter.comment.format_source_code=true -org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false -org.eclipse.jdt.core.formatter.comment.indent_root_tags=false -org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert -org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert -org.eclipse.jdt.core.formatter.comment.line_length=80 -org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true -org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true -org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false -org.eclipse.jdt.core.formatter.compact_else_if=true -org.eclipse.jdt.core.formatter.continuation_indentation=2 -org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 -org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off -org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on -org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false -org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true -org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_empty_lines=false -org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true -org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false -org.eclipse.jdt.core.formatter.indentation.size=4 -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert -org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert -org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert -org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.join_lines_in_comments=true -org.eclipse.jdt.core.formatter.join_wrapped_lines=true -org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false -org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false -org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false -org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false -org.eclipse.jdt.core.formatter.lineSplit=120 -org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false -org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false -org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 -org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 -org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines -org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true -org.eclipse.jdt.core.formatter.tabulation.char=tab -org.eclipse.jdt.core.formatter.tabulation.size=4 -org.eclipse.jdt.core.formatter.use_on_off_tags=true -org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false -org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true -org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true -org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true -org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true -org.eclipse.jdt.core.incompatibleJDKLevel=ignore -org.eclipse.jdt.core.incompleteClasspath=error -org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/upc/org.eclipse.cdt.core.parser.upc/.settings/org.eclipse.jdt.launching.prefs b/upc/org.eclipse.cdt.core.parser.upc/.settings/org.eclipse.jdt.launching.prefs deleted file mode 100644 index f8a131b56e0..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/.settings/org.eclipse.jdt.launching.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=warning -org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=warning diff --git a/upc/org.eclipse.cdt.core.parser.upc/.settings/org.eclipse.jdt.ui.prefs b/upc/org.eclipse.cdt.core.parser.upc/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index e44576346c4..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,133 +0,0 @@ -cleanup.add_default_serial_version_id=true -cleanup.add_generated_serial_version_id=false -cleanup.add_missing_annotations=true -cleanup.add_missing_deprecated_annotations=true -cleanup.add_missing_methods=false -cleanup.add_missing_nls_tags=false -cleanup.add_missing_override_annotations=true -cleanup.add_missing_override_annotations_interface_methods=true -cleanup.add_serial_version_id=false -cleanup.always_use_blocks=true -cleanup.always_use_parentheses_in_expressions=false -cleanup.always_use_this_for_non_static_field_access=false -cleanup.always_use_this_for_non_static_method_access=false -cleanup.convert_functional_interfaces=false -cleanup.convert_to_enhanced_for_loop=false -cleanup.correct_indentation=false -cleanup.format_source_code=true -cleanup.format_source_code_changes_only=false -cleanup.insert_inferred_type_arguments=false -cleanup.make_local_variable_final=true -cleanup.make_parameters_final=false -cleanup.make_private_fields_final=true -cleanup.make_type_abstract_if_missing_method=false -cleanup.make_variable_declarations_final=false -cleanup.never_use_blocks=false -cleanup.never_use_parentheses_in_expressions=true -cleanup.organize_imports=true -cleanup.qualify_static_field_accesses_with_declaring_class=false -cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -cleanup.qualify_static_member_accesses_with_declaring_class=false -cleanup.qualify_static_method_accesses_with_declaring_class=false -cleanup.remove_private_constructors=true -cleanup.remove_redundant_modifiers=false -cleanup.remove_redundant_semicolons=true -cleanup.remove_redundant_type_arguments=true -cleanup.remove_trailing_whitespaces=true -cleanup.remove_trailing_whitespaces_all=true -cleanup.remove_trailing_whitespaces_ignore_empty=false -cleanup.remove_unnecessary_casts=true -cleanup.remove_unnecessary_nls_tags=false -cleanup.remove_unused_imports=true -cleanup.remove_unused_local_variables=false -cleanup.remove_unused_private_fields=true -cleanup.remove_unused_private_members=false -cleanup.remove_unused_private_methods=true -cleanup.remove_unused_private_types=true -cleanup.sort_members=false -cleanup.sort_members_all=false -cleanup.use_anonymous_class_creation=false -cleanup.use_blocks=false -cleanup.use_blocks_only_for_return_and_throw=false -cleanup.use_lambda=true -cleanup.use_parentheses_in_expressions=false -cleanup.use_this_for_non_static_field_access=false -cleanup.use_this_for_non_static_field_access_only_if_necessary=true -cleanup.use_this_for_non_static_method_access=false -cleanup.use_this_for_non_static_method_access_only_if_necessary=true -cleanup_profile=_CDT -cleanup_settings_version=2 -eclipse.preferences.version=1 -editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true -formatter_profile=_CDT -formatter_settings_version=14 -internal.default.compliance=user -org.eclipse.jdt.ui.exception.name=e -org.eclipse.jdt.ui.gettersetter.use.is=true -org.eclipse.jdt.ui.ignorelowercasenames=true -org.eclipse.jdt.ui.importorder=java;javax;org;com; -org.eclipse.jdt.ui.keywordthis=false -org.eclipse.jdt.ui.ondemandthreshold=1000 -org.eclipse.jdt.ui.overrideannotation=true -org.eclipse.jdt.ui.staticondemandthreshold=1000 -org.eclipse.jdt.ui.text.custom_code_templates= -sp_cleanup.add_default_serial_version_id=true -sp_cleanup.add_generated_serial_version_id=false -sp_cleanup.add_missing_annotations=true -sp_cleanup.add_missing_deprecated_annotations=true -sp_cleanup.add_missing_methods=false -sp_cleanup.add_missing_nls_tags=false -sp_cleanup.add_missing_override_annotations=true -sp_cleanup.add_missing_override_annotations_interface_methods=true -sp_cleanup.add_serial_version_id=false -sp_cleanup.always_use_blocks=true -sp_cleanup.always_use_parentheses_in_expressions=false -sp_cleanup.always_use_this_for_non_static_field_access=false -sp_cleanup.always_use_this_for_non_static_method_access=false -sp_cleanup.convert_functional_interfaces=false -sp_cleanup.convert_to_enhanced_for_loop=false -sp_cleanup.correct_indentation=false -sp_cleanup.format_source_code=true -sp_cleanup.format_source_code_changes_only=false -sp_cleanup.insert_inferred_type_arguments=false -sp_cleanup.make_local_variable_final=true -sp_cleanup.make_parameters_final=false -sp_cleanup.make_private_fields_final=true -sp_cleanup.make_type_abstract_if_missing_method=false -sp_cleanup.make_variable_declarations_final=false -sp_cleanup.never_use_blocks=false -sp_cleanup.never_use_parentheses_in_expressions=true -sp_cleanup.on_save_use_additional_actions=true -sp_cleanup.organize_imports=true -sp_cleanup.qualify_static_field_accesses_with_declaring_class=false -sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_with_declaring_class=false -sp_cleanup.qualify_static_method_accesses_with_declaring_class=false -sp_cleanup.remove_private_constructors=true -sp_cleanup.remove_redundant_modifiers=false -sp_cleanup.remove_redundant_semicolons=true -sp_cleanup.remove_redundant_type_arguments=true -sp_cleanup.remove_trailing_whitespaces=true -sp_cleanup.remove_trailing_whitespaces_all=true -sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true -sp_cleanup.remove_unnecessary_nls_tags=false -sp_cleanup.remove_unused_imports=true -sp_cleanup.remove_unused_local_variables=false -sp_cleanup.remove_unused_private_fields=true -sp_cleanup.remove_unused_private_members=false -sp_cleanup.remove_unused_private_methods=true -sp_cleanup.remove_unused_private_types=true -sp_cleanup.sort_members=false -sp_cleanup.sort_members_all=false -sp_cleanup.use_anonymous_class_creation=false -sp_cleanup.use_blocks=false -sp_cleanup.use_blocks_only_for_return_and_throw=false -sp_cleanup.use_lambda=true -sp_cleanup.use_parentheses_in_expressions=false -sp_cleanup.use_this_for_non_static_field_access=false -sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true -sp_cleanup.use_this_for_non_static_method_access=false -sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/upc/org.eclipse.cdt.core.parser.upc/.settings/org.eclipse.pde.api.tools.prefs b/upc/org.eclipse.cdt.core.parser.upc/.settings/org.eclipse.pde.api.tools.prefs deleted file mode 100644 index ec9fbf321d0..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/.settings/org.eclipse.pde.api.tools.prefs +++ /dev/null @@ -1,184 +0,0 @@ -ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error -API_USE_SCAN_FIELD_SEVERITY=Error -API_USE_SCAN_METHOD_SEVERITY=Error -API_USE_SCAN_TYPE_SEVERITY=Error -CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_FIELD=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_ADDED_METHOD=Error -CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error -CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error -CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error -ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error -ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error -ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -FIELD_ELEMENT_TYPE_ADDED_VALUE=Error -FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error -FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error -FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error -ILLEGAL_EXTEND=Warning -ILLEGAL_IMPLEMENT=Warning -ILLEGAL_INSTANTIATE=Warning -ILLEGAL_OVERRIDE=Warning -ILLEGAL_REFERENCE=Warning -INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -INVALID_ANNOTATION=Ignore -INVALID_JAVADOC_TAG=Error -INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning -LEAK_EXTEND=Warning -LEAK_FIELD_DECL=Warning -LEAK_IMPLEMENT=Warning -LEAK_METHOD_PARAM=Warning -LEAK_METHOD_RETURN_TYPE=Warning -METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -MISSING_EE_DESCRIPTIONS=Warning -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -UNUSED_PROBLEM_FILTERS=Warning -automatically_removed_unused_problem_filters=false -changed_execution_env=Error -eclipse.preferences.version=1 -incompatible_api_component_version=Error -incompatible_api_component_version_include_major_without_breaking_change=Disabled -incompatible_api_component_version_include_minor_without_api_change=Disabled -incompatible_api_component_version_report_major_without_breaking_change=Warning -incompatible_api_component_version_report_minor_without_api_change=Warning -invalid_since_tag_version=Error -malformed_since_tag=Error -missing_since_tag=Error -report_api_breakage_when_major_version_incremented=Disabled -report_resolution_errors_api_component=Warning diff --git a/upc/org.eclipse.cdt.core.parser.upc/.settings/org.eclipse.pde.prefs b/upc/org.eclipse.cdt.core.parser.upc/.settings/org.eclipse.pde.prefs deleted file mode 100644 index d2dc703ba9e..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,35 +0,0 @@ -compilers.f.unresolved-features=1 -compilers.f.unresolved-plugins=1 -compilers.incompatible-environment=1 -compilers.p.build=1 -compilers.p.build.bin.includes=1 -compilers.p.build.encodings=2 -compilers.p.build.java.compiler=2 -compilers.p.build.java.compliance=1 -compilers.p.build.missing.output=2 -compilers.p.build.output.library=1 -compilers.p.build.source.library=1 -compilers.p.build.src.includes=1 -compilers.p.deprecated=1 -compilers.p.discouraged-class=1 -compilers.p.internal=1 -compilers.p.missing-packages=2 -compilers.p.missing-version-export-package=2 -compilers.p.missing-version-import-package=2 -compilers.p.missing-version-require-bundle=2 -compilers.p.no-required-att=0 -compilers.p.no.automatic.module=1 -compilers.p.not-externalized-att=1 -compilers.p.service.component.without.lazyactivation=1 -compilers.p.unknown-attribute=1 -compilers.p.unknown-class=1 -compilers.p.unknown-element=1 -compilers.p.unknown-identifier=1 -compilers.p.unknown-resource=1 -compilers.p.unresolved-ex-points=0 -compilers.p.unresolved-import=0 -compilers.s.create-docs=false -compilers.s.doc-folder=doc -compilers.s.open-tags=1 -compilers.use-project=true -eclipse.preferences.version=1 diff --git a/upc/org.eclipse.cdt.core.parser.upc/META-INF/MANIFEST.MF b/upc/org.eclipse.cdt.core.parser.upc/META-INF/MANIFEST.MF deleted file mode 100644 index 8fe6e60cee8..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/META-INF/MANIFEST.MF +++ /dev/null @@ -1,18 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %Bundle-Name.1 -Bundle-SymbolicName: org.eclipse.cdt.core.parser.upc;singleton:=true -Bundle-Version: 5.1.300.qualifier -Bundle-ClassPath: . -Require-Bundle: org.eclipse.cdt.core, - net.sourceforge.lpg.lpgjavaruntime;bundle-version="1.1.0";visibility:=reexport, - org.eclipse.core.runtime, - org.eclipse.cdt.core.lrparser;bundle-version="5.0.0" -Export-Package: org.eclipse.cdt.core.dom.upc, - org.eclipse.cdt.core.dom.upc.ast, - org.eclipse.cdt.internal.core.dom.parser.upc;x-internal:=true, - org.eclipse.cdt.internal.core.dom.parser.upc.ast;x-internal:=true -Bundle-Localization: plugin -Bundle-Vendor: %Bundle-Vendor.0 -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Automatic-Module-Name: org.eclipse.cdt.core.parser.upc diff --git a/upc/org.eclipse.cdt.core.parser.upc/about.html b/upc/org.eclipse.cdt.core.parser.upc/about.html deleted file mode 100644 index 164f781a8fd..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/about.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    November 30, 2017

    -

    License

    - -

    - The Eclipse Foundation makes available all content in this plug-in - ("Content"). Unless otherwise indicated below, the Content - is provided to you under the terms and conditions of the Eclipse - Public License Version 2.0 ("EPL"). A copy of the EPL is - available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    - If you did not receive this Content directly from the Eclipse - Foundation, the Content is being redistributed by another party - ("Redistributor") and different terms and conditions may - apply to your use of any object code in the Content. Check the - Redistributor's license that was provided with the Content. If no such - license exists, contact the Redistributor. Unless otherwise indicated - below, the terms and conditions of the EPL still apply to any source - code in the Content and such source code may be obtained at http://www.eclipse.org. -

    - - - \ No newline at end of file diff --git a/upc/org.eclipse.cdt.core.parser.upc/about.ini b/upc/org.eclipse.cdt.core.parser.upc/about.ini deleted file mode 100644 index e07a7bb377e..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/about.ini +++ /dev/null @@ -1,24 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=cdt_logo_icon32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (translated) -# needed for primary features only - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional diff --git a/upc/org.eclipse.cdt.core.parser.upc/about.mappings b/upc/org.eclipse.cdt.core.parser.upc/about.mappings deleted file mode 100644 index 936a8039c3e..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/about.mappings +++ /dev/null @@ -1,9 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -# The following should contain the build version. -# e.g. "0=20200106-1728" -# This value will be added automatically via the build scripts -0=${buildId} diff --git a/upc/org.eclipse.cdt.core.parser.upc/about.properties b/upc/org.eclipse.cdt.core.parser.upc/about.properties deleted file mode 100644 index 6ca4627ab1a..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/about.properties +++ /dev/null @@ -1,32 +0,0 @@ -############################################################################### -# Copyright (c) 2007, 2020 Contributors to the Eclipse Foundation -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -############################################################################### -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# NOTE TO TRANSLATOR: Please do not translate the featureVersion variable. - - -blurb=C/C++ UPC (Unified Parallel C) Support\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -Copyright (c) 2007, 2020 Contributors to the Eclipse Foundation -\n\ -See the NOTICE file(s) distributed with this work for additional\n\ -information regarding copyright ownership.\n\ -\n\ -Visit http://www.eclipse.org/cdt diff --git a/upc/org.eclipse.cdt.core.parser.upc/build.properties b/upc/org.eclipse.cdt.core.parser.upc/build.properties deleted file mode 100644 index 25089d690a3..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/build.properties +++ /dev/null @@ -1,26 +0,0 @@ -############################################################################### -# Copyright (c) 2007, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - about.html,\ - plugin.properties,\ - plugin.xml,\ - about.ini,\ - about.mappings,\ - about.properties,\ - templates/,\ - cdt_logo_icon32.png -src.includes = about.html diff --git a/upc/org.eclipse.cdt.core.parser.upc/cdt_logo_icon32.png b/upc/org.eclipse.cdt.core.parser.upc/cdt_logo_icon32.png deleted file mode 100644 index 470ca81b327..00000000000 Binary files a/upc/org.eclipse.cdt.core.parser.upc/cdt_logo_icon32.png and /dev/null differ diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/build.xml b/upc/org.eclipse.cdt.core.parser.upc/grammar/build.xml deleted file mode 100644 index b97eb6b1517..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/grammar/build.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - Generates the UPC parser from LPG grammar files - - - - - - - Generate the UPC parser - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/parserBuild.properties b/upc/org.eclipse.cdt.core.parser.upc/grammar/parserBuild.properties deleted file mode 100644 index ad47d0cf5df..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/grammar/parserBuild.properties +++ /dev/null @@ -1,18 +0,0 @@ -############################################################################### -# Copyright (c) 2010 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - - -lpg_exe=D:/lpg/lpgdistribution/lpgexe/lpg.exe -lpg_template=D:/newWorkspace/cdt_70_ies/org.eclipse.cdt.core.lrparser/grammar/template -lpg_include_loc=D:/newWorkspace/cdt_70_ies/org.eclipse.cdt.core.lrparser/grammar diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g deleted file mode 100644 index ee708cf409e..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g +++ /dev/null @@ -1,25 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2006, 2008 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.parser.upc -%options template=LRSecondaryParserTemplate.g - - -$Import - C99ExpressionParser.g -$End - -$Import - UPCGrammarExtensions.g -$End diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCGrammarExtensions.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCGrammarExtensions.g deleted file mode 100644 index 0794fb657d3..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCGrammarExtensions.g +++ /dev/null @@ -1,223 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2006, 2009 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - - -$Define - $build_action_class /. UPCParserAction ./ - $node_factory_create_expression /. new UPCASTNodeFactory() ./ - $parser_factory_create_expression /. UPCSecondaryParserFactory.getDefault() ./ -$End - - -$Globals -/. -import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory; -import org.eclipse.cdt.core.dom.parser.upc.UPCSecondaryParserFactory; -import org.eclipse.cdt.core.dom.parser.upc.UPCParserAction; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -./ -$End - - -$Terminals -- Additional keywords defined by UPC - MYTHREAD - THREADS - UPC_MAX_BLOCKSIZE - relaxed - shared - strict - upc_barrier - upc_localsizeof - upc_blocksizeof - upc_elemsizeof - upc_notify - upc_fence - upc_wait - upc_forall -$End - - - -$Rules -- UPC grammar extensions to C99 - ------------------------------------------------------------------------------------ --- Expressions ------------------------------------------------------------------------------------ - - -literal - ::= 'MYTHREAD' - /. $Build consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); $EndBuild ./ - | 'THREADS' - /. $Build consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); $EndBuild ./ - | 'UPC_MAX_BLOCKSIZE' - /. $Build consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); $EndBuild ./ - - --- causes ambiguities because of no type information, solution is SGLR -unary_expression - ::= 'upc_localsizeof' unary_expression - /. $Build consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); $EndBuild ./ - | 'upc_localsizeof' '(' type_id ')' - /. $Build consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); $EndBuild ./ - | 'upc_blocksizeof' unary_expression - /. $Build consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); $EndBuild ./ - | 'upc_blocksizeof' '(' type_id ')' - /. $Build consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); $EndBuild ./ - | 'upc_elemsizeof' unary_expression - /. $Build consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); $EndBuild ./ - | 'upc_elemsizeof' '(' type_id ')' - /. $Build consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); $EndBuild ./ - - ------------------------------------------------------------------------------------ --- Declarations ------------------------------------------------------------------------------------ - - -type_qualifier - ::= shared_type_qualifier - | reference_type_qualifier - --- causes ambiguities in parameter declarations, inherant in grammar --- for example: int foo(int shared []); --- does the [] bind to shared or is it shared with infinite block size array? --- TODO: probably just resolved in the same way as dangling else - -shared_type_qualifier - ::= 'shared' layout_qualifier -- don't consume anything, the presense of the - -- layout_qualifier will determine that 'shared' token was encountered - | 'shared' /. $Build consumeToken(); $EndBuild ./ - -reference_type_qualifier - ::= 'relaxed' /. $Build consumeToken(); $EndBuild ./ - | 'strict' /. $Build consumeToken(); $EndBuild ./ - -layout_qualifier - ::= '[' constant_expression ']' - /. $Build consumeLayoutQualifier(true, false); $EndBuild ./ - | '[' '*' ']' - /. $Build consumeLayoutQualifier(false, true); $EndBuild ./ - | '[' ']' - /. $Build consumeLayoutQualifier(false, false); $EndBuild ./ - - - ------------------------------------------------------------------------------------ --- Statements ------------------------------------------------------------------------------------ - -statement - ::= synchronization_statement - -synchronization_statement - ::= 'upc_notify' expression ';' - /. $Build consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); $EndBuild ./ - | 'upc_notify' ';' - /. $Build consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); $EndBuild ./ - | 'upc_wait' expression ';' - /. $Build consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); $EndBuild ./ - | 'upc_wait' ';' - /. $Build consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); $EndBuild ./ - | 'upc_barrier' expression ';' - /. $Build consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); $EndBuild ./ - | 'upc_barrier' ';' - /. $Build consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); $EndBuild ./ - | 'upc_fence' ';' - /. $Build consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); $EndBuild ./ - - -iteration_statement - ::= 'upc_forall' '(' expression ';' expression ';' expression ';' affinity ')' statement - /. $Build consumeStatementUPCForallLoop(true, true, true, true); $EndBuild ./ - - | 'upc_forall' '(' expression ';' expression ';' expression ';' ')' statement - /. $Build consumeStatementUPCForallLoop(true, true, true, false); $EndBuild ./ - - | 'upc_forall' '(' expression ';' expression ';' ';' affinity ')' statement - /. $Build consumeStatementUPCForallLoop(true, true, false, true); $EndBuild ./ - - | 'upc_forall' '(' expression ';' expression ';' ';' ')' statement - /. $Build consumeStatementUPCForallLoop(true, true, false, false); $EndBuild ./ - - | 'upc_forall' '(' expression ';' ';' expression ';' affinity ')' statement - /. $Build consumeStatementUPCForallLoop(true, false, true, true); $EndBuild ./ - - | 'upc_forall' '(' expression ';' ';' expression ';' ')' statement - /. $Build consumeStatementUPCForallLoop(true, false, true, false); $EndBuild ./ - - | 'upc_forall' '(' expression ';' ';' ';' affinity ')' statement - /. $Build consumeStatementUPCForallLoop(true, false, false, true); $EndBuild ./ - - | 'upc_forall' '(' expression ';' ';' ';' ')' statement - /. $Build consumeStatementUPCForallLoop(true, false, false, false); $EndBuild ./ - - | 'upc_forall' '(' ';' expression ';' expression ';' affinity ')' statement - /. $Build consumeStatementUPCForallLoop(false, true, true, true); $EndBuild ./ - - | 'upc_forall' '(' ';' expression ';' expression ';' ')' statement - /. $Build consumeStatementUPCForallLoop(false, true, true, false); $EndBuild ./ - - | 'upc_forall' '(' ';' expression ';' ';' affinity ')' statement - /. $Build consumeStatementUPCForallLoop(false, true, false, true); $EndBuild ./ - - | 'upc_forall' '(' ';' expression ';' ';' ')' statement - /. $Build consumeStatementUPCForallLoop(false, true, false, false); $EndBuild ./ - - | 'upc_forall' '(' ';' ';' expression ';' affinity ')' statement - /. $Build consumeStatementUPCForallLoop(false, false, true, true); $EndBuild ./ - - | 'upc_forall' '(' ';' ';' expression ';' ')' statement - /. $Build consumeStatementUPCForallLoop(false, false, true, false); $EndBuild ./ - - | 'upc_forall' '(' ';' ';' ';' affinity ')' statement - /. $Build consumeStatementUPCForallLoop(false, false, false, true); $EndBuild ./ - - | 'upc_forall' '(' ';' ';' ';' ')' statement - /. $Build consumeStatementUPCForallLoop(false, false, false, false); $EndBuild ./ - - | 'upc_forall' '(' declaration expression ';' expression ';' affinity ')' statement - /. $Build consumeStatementUPCForallLoop(true, true, true, true); $EndBuild ./ - - | 'upc_forall' '(' declaration expression ';' expression ';' ')' statement - /. $Build consumeStatementUPCForallLoop(true, true, true, false); $EndBuild ./ - - | 'upc_forall' '(' declaration expression ';' ';' affinity ')' statement - /. $Build consumeStatementUPCForallLoop(true, true, false, true); $EndBuild ./ - - | 'upc_forall' '(' declaration expression ';' ';' ')' statement - /. $Build consumeStatementUPCForallLoop(true, true, false, false); $EndBuild ./ - - | 'upc_forall' '(' declaration ';' expression ';' affinity ')' statement - /. $Build consumeStatementUPCForallLoop(true, false, true, true); $EndBuild ./ - - | 'upc_forall' '(' declaration ';' expression ';' ')' statement - /. $Build consumeStatementUPCForallLoop(true, false, true, false); $EndBuild ./ - - | 'upc_forall' '(' declaration ';' ';' affinity ')' statement - /. $Build consumeStatementUPCForallLoop(true, false, false, true); $EndBuild ./ - - | 'upc_forall' '(' declaration ';' ';' ')' statement - /. $Build consumeStatementUPCForallLoop(true, false, false, false); $EndBuild ./ - -affinity - ::= expression - | 'continue' - /. $Build consumeToken(); $EndBuild ./ - -$End - - diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCNoCastExpressionParser.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCNoCastExpressionParser.g deleted file mode 100644 index d8a51bc3eba..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCNoCastExpressionParser.g +++ /dev/null @@ -1,25 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2006, 2008 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.parser.upc -%options template=LRSecondaryParserTemplate.g - - -$Import - C99NoCastExpressionParser.g -$End - -$Import - UPCGrammarExtensions.g -$End \ No newline at end of file diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCParser.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCParser.g deleted file mode 100644 index 926b6ebd0ce..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCParser.g +++ /dev/null @@ -1,26 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2006, 2008 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.parser.upc -%options template=LRParserTemplate.g - - -$Import - C99Parser.g -$End - -$Import - UPCGrammarExtensions.g -$End - diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCSizeofExpressionParser.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCSizeofExpressionParser.g deleted file mode 100644 index 20f8aca9a89..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCSizeofExpressionParser.g +++ /dev/null @@ -1,32 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2006, 2009 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.dom.parser.upc -%options template=LRSecondaryParserTemplate.g - - -$Import - C99SizeofExpressionParser.g -$End - -$Import - UPCGrammarExtensions.g -$DropRules - -unary_expression - ::= 'upc_localsizeof' '(' type_id ')' - | 'upc_blocksizeof' '(' type_id ')' - | 'upc_elemsizeof' '(' type_id ')' - -$End \ No newline at end of file diff --git a/upc/org.eclipse.cdt.core.parser.upc/plugin.properties b/upc/org.eclipse.cdt.core.parser.upc/plugin.properties deleted file mode 100644 index 245c61d5d18..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/plugin.properties +++ /dev/null @@ -1,18 +0,0 @@ -############################################################################### -# Copyright (c) 2007, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# properties file for org.eclipse.cdt.core.parser.upc -Bundle-Name.0 = UPC Parser Plug-in -Bundle-Vendor.0 = Eclipse CDT -Bundle-Name.1 = UPC Parser Plug-in -upcSourceName = UPC Source File \ No newline at end of file diff --git a/upc/org.eclipse.cdt.core.parser.upc/plugin.xml b/upc/org.eclipse.cdt.core.parser.upc/plugin.xml deleted file mode 100644 index c1469b3df4b..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/plugin.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/DOMToUPCTokenMap.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/DOMToUPCTokenMap.java deleted file mode 100644 index c84ca241dc9..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/DOMToUPCTokenMap.java +++ /dev/null @@ -1,441 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.parser.upc; - -import static org.eclipse.cdt.core.parser.IToken.tAMPER; -import static org.eclipse.cdt.core.parser.IToken.tAMPERASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tAND; -import static org.eclipse.cdt.core.parser.IToken.tARROW; -import static org.eclipse.cdt.core.parser.IToken.tASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tBITCOMPLEMENT; -import static org.eclipse.cdt.core.parser.IToken.tBITOR; -import static org.eclipse.cdt.core.parser.IToken.tBITORASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tCHAR; -import static org.eclipse.cdt.core.parser.IToken.tCOLON; -import static org.eclipse.cdt.core.parser.IToken.tCOMMA; -import static org.eclipse.cdt.core.parser.IToken.tCOMPLETION; -import static org.eclipse.cdt.core.parser.IToken.tDECR; -import static org.eclipse.cdt.core.parser.IToken.tDIV; -import static org.eclipse.cdt.core.parser.IToken.tDIVASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tDOT; -import static org.eclipse.cdt.core.parser.IToken.tELLIPSIS; -import static org.eclipse.cdt.core.parser.IToken.tEND_OF_INPUT; -import static org.eclipse.cdt.core.parser.IToken.tEOC; -import static org.eclipse.cdt.core.parser.IToken.tEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tFLOATINGPT; -import static org.eclipse.cdt.core.parser.IToken.tGT; -import static org.eclipse.cdt.core.parser.IToken.tGTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tIDENTIFIER; -import static org.eclipse.cdt.core.parser.IToken.tINCR; -import static org.eclipse.cdt.core.parser.IToken.tINTEGER; -import static org.eclipse.cdt.core.parser.IToken.tLBRACE; -import static org.eclipse.cdt.core.parser.IToken.tLBRACKET; -import static org.eclipse.cdt.core.parser.IToken.tLCHAR; -import static org.eclipse.cdt.core.parser.IToken.tLPAREN; -import static org.eclipse.cdt.core.parser.IToken.tLSTRING; -import static org.eclipse.cdt.core.parser.IToken.tLT; -import static org.eclipse.cdt.core.parser.IToken.tLTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tMINUS; -import static org.eclipse.cdt.core.parser.IToken.tMINUSASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tMOD; -import static org.eclipse.cdt.core.parser.IToken.tMODASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tNOT; -import static org.eclipse.cdt.core.parser.IToken.tNOTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tOR; -import static org.eclipse.cdt.core.parser.IToken.tPLUS; -import static org.eclipse.cdt.core.parser.IToken.tPLUSASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tQUESTION; -import static org.eclipse.cdt.core.parser.IToken.tRBRACE; -import static org.eclipse.cdt.core.parser.IToken.tRBRACKET; -import static org.eclipse.cdt.core.parser.IToken.tRPAREN; -import static org.eclipse.cdt.core.parser.IToken.tSEMI; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTL; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTLASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTR; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTRASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSTAR; -import static org.eclipse.cdt.core.parser.IToken.tSTARASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSTRING; -import static org.eclipse.cdt.core.parser.IToken.tUNKNOWN_CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF16CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF16STRING; -import static org.eclipse.cdt.core.parser.IToken.tUTF32CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF32STRING; -import static org.eclipse.cdt.core.parser.IToken.tXOR; -import static org.eclipse.cdt.core.parser.IToken.tXORASSIGN; -import static org.eclipse.cdt.core.parser.IToken.t__Bool; -import static org.eclipse.cdt.core.parser.IToken.t__Complex; -import static org.eclipse.cdt.core.parser.IToken.t__Imaginary; -import static org.eclipse.cdt.core.parser.IToken.t_auto; -import static org.eclipse.cdt.core.parser.IToken.t_break; -import static org.eclipse.cdt.core.parser.IToken.t_case; -import static org.eclipse.cdt.core.parser.IToken.t_char; -import static org.eclipse.cdt.core.parser.IToken.t_const; -import static org.eclipse.cdt.core.parser.IToken.t_continue; -import static org.eclipse.cdt.core.parser.IToken.t_default; -import static org.eclipse.cdt.core.parser.IToken.t_do; -import static org.eclipse.cdt.core.parser.IToken.t_double; -import static org.eclipse.cdt.core.parser.IToken.t_else; -import static org.eclipse.cdt.core.parser.IToken.t_enum; -import static org.eclipse.cdt.core.parser.IToken.t_extern; -import static org.eclipse.cdt.core.parser.IToken.t_float; -import static org.eclipse.cdt.core.parser.IToken.t_for; -import static org.eclipse.cdt.core.parser.IToken.t_goto; -import static org.eclipse.cdt.core.parser.IToken.t_if; -import static org.eclipse.cdt.core.parser.IToken.t_inline; -import static org.eclipse.cdt.core.parser.IToken.t_int; -import static org.eclipse.cdt.core.parser.IToken.t_long; -import static org.eclipse.cdt.core.parser.IToken.t_register; -import static org.eclipse.cdt.core.parser.IToken.t_restrict; -import static org.eclipse.cdt.core.parser.IToken.t_return; -import static org.eclipse.cdt.core.parser.IToken.t_short; -import static org.eclipse.cdt.core.parser.IToken.t_signed; -import static org.eclipse.cdt.core.parser.IToken.t_sizeof; -import static org.eclipse.cdt.core.parser.IToken.t_static; -import static org.eclipse.cdt.core.parser.IToken.t_struct; -import static org.eclipse.cdt.core.parser.IToken.t_switch; -import static org.eclipse.cdt.core.parser.IToken.t_typedef; -import static org.eclipse.cdt.core.parser.IToken.t_union; -import static org.eclipse.cdt.core.parser.IToken.t_unsigned; -import static org.eclipse.cdt.core.parser.IToken.t_void; -import static org.eclipse.cdt.core.parser.IToken.t_volatile; -import static org.eclipse.cdt.core.parser.IToken.t_while; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_And; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_AndAnd; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_AndAssign; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Arrow; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Assign; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Bang; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Caret; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_CaretAssign; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Colon; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Comma; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Completion; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Dot; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_DotDotDot; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_EOF_TOKEN; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_EQ; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_EndOfCompletion; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_GE; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_GT; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Invalid; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_LE; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_LT; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_LeftBrace; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_LeftBracket; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_LeftParen; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_LeftShift; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_LeftShiftAssign; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Minus; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_MinusAssign; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_MinusMinus; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_NE; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Or; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_OrAssign; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_OrOr; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Percent; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_PercentAssign; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Plus; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_PlusAssign; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_PlusPlus; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Question; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_RightBrace; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_RightBracket; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_RightParen; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_RightShift; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_RightShiftAssign; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_SemiColon; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Slash; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_SlashAssign; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Star; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_StarAssign; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Tilde; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK__Bool; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK__Complex; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK__Imaginary; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_auto; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_break; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_case; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_char; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_charconst; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_const; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_continue; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_default; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_do; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_double; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_else; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_enum; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_extern; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_float; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_floating; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_for; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_goto; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_identifier; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_if; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_inline; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_int; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_integer; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_long; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_register; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_restrict; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_return; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_short; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_signed; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_sizeof; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_static; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_stringlit; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_struct; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_switch; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_typedef; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_union; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_unsigned; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_void; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_volatile; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_while; - -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.parser.IToken; - -/** - * Maps token kinds from CPreprocessor to the tokens kinds - * created by LPG. - * - * TODO UPC keywords need to be syntax highlighted - * - * @author Mike Kucera - */ -@SuppressWarnings("nls") -public class DOMToUPCTokenMap implements IDOMTokenMap { - - @Override - public int getEOFTokenKind() { - return TK_EOF_TOKEN; - } - - @Override - public int getEOCTokenKind() { - return TK_EndOfCompletion; - } - - @Override - public int mapKind(IToken token) { - - switch (token.getType()) { - case tIDENTIFIER: - Integer keywordKind = UPCKeyword.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; - - default: - assert false : "token not recognized by the UPC parser: " + token.getType(); - return TK_Invalid; - } - } - -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/IUPCNodeFactory.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/IUPCNodeFactory.java deleted file mode 100644 index f96bcff5f1d..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/IUPCNodeFactory.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2011 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.parser.upc; - -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.ast.IASTStatement; -import org.eclipse.cdt.core.dom.ast.c.ICNodeFactory; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTCompositeTypeSpecifier; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTElaboratedTypeSpecifier; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTEnumerationSpecifier; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTForallStatement; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSimpleDeclSpecifier; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTTypedefNameSpecifier; - -public interface IUPCNodeFactory extends ICNodeFactory { - - public void setUseUPCSizeofExpressions(int op); - - public void setUseC99SizeofExpressions(); - - public IUPCASTKeywordExpression newKeywordExpression(int keywordKind); - - public IUPCASTSynchronizationStatement newSyncronizationStatment(IASTExpression barrierExpression, - int statmentKind); - - public IUPCASTForallStatement newForallStatement(IASTStatement init, IASTExpression condition, - IASTExpression iterationExpression, IASTStatement body, IASTExpression affinity); - - @Override - public IUPCASTSimpleDeclSpecifier newSimpleDeclSpecifier(); - - @Override - public IUPCASTCompositeTypeSpecifier newCompositeTypeSpecifier(int key, IASTName name); - - @Override - public IUPCASTElaboratedTypeSpecifier newElaboratedTypeSpecifier(int kind, IASTName name); - - @Override - public IUPCASTEnumerationSpecifier newEnumerationSpecifier(IASTName name); - - @Override - public IUPCASTTypedefNameSpecifier newTypedefNameSpecifier(IASTName name); - -} \ No newline at end of file diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCASTNodeFactory.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCASTNodeFactory.java deleted file mode 100644 index 3484859427a..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCASTNodeFactory.java +++ /dev/null @@ -1,129 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.parser.upc; - -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.ast.IASTStatement; -import org.eclipse.cdt.core.dom.ast.IASTTypeId; -import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTCompositeTypeSpecifier; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTElaboratedTypeSpecifier; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTEnumerationSpecifier; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTForallStatement; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSimpleDeclSpecifier; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTTypedefNameSpecifier; -import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; -import org.eclipse.cdt.internal.core.dom.parser.upc.ast.UPCASTCompositeTypeSpecifier; -import org.eclipse.cdt.internal.core.dom.parser.upc.ast.UPCASTElaboratedTypeSpecifier; -import org.eclipse.cdt.internal.core.dom.parser.upc.ast.UPCASTEnumerationSpecifier; -import org.eclipse.cdt.internal.core.dom.parser.upc.ast.UPCASTForallStatement; -import org.eclipse.cdt.internal.core.dom.parser.upc.ast.UPCASTKeywordExpression; -import org.eclipse.cdt.internal.core.dom.parser.upc.ast.UPCASTSimpleDeclSpecifier; -import org.eclipse.cdt.internal.core.dom.parser.upc.ast.UPCASTSynchronizationStatement; -import org.eclipse.cdt.internal.core.dom.parser.upc.ast.UPCASTTypeIdSizeofExpression; -import org.eclipse.cdt.internal.core.dom.parser.upc.ast.UPCASTTypedefNameSpecifier; -import org.eclipse.cdt.internal.core.dom.parser.upc.ast.UPCASTUnarySizeofExpression; - -/** - * Creates AST nodes that are specific to the UPC parser. - * - * The methods in ASTNodeFactory that build nodes for declaration - * specifiers are overridden here to replace those nodes with the UPC nodes for - * declaration specifiers. These UPC specific nodes add support - * for 'strict', 'relaxed' and 'shared'. - */ -@SuppressWarnings("restriction") -public class UPCASTNodeFactory extends CNodeFactory implements IUPCNodeFactory { - - private boolean useUPCSizeofExpressions = false; - private int currentUPCSizofExpressionOperator = 0; - - @Override - public void setUseUPCSizeofExpressions(int op) { - useUPCSizeofExpressions = true; - currentUPCSizofExpressionOperator = op; - } - - @Override - public void setUseC99SizeofExpressions() { - useUPCSizeofExpressions = false; - } - - @Override - public IASTTypeIdExpression newTypeIdExpression(int operator, IASTTypeId typeId) { - if (useUPCSizeofExpressions) { - assert operator == IASTTypeIdExpression.op_sizeof; - return new UPCASTTypeIdSizeofExpression(currentUPCSizofExpressionOperator, typeId); - } - - return super.newTypeIdExpression(operator, typeId); - } - - @Override - public IASTUnaryExpression newUnaryExpression(int operator, IASTExpression operand) { - if (useUPCSizeofExpressions) { - assert operator == IASTUnaryExpression.op_sizeof; - return new UPCASTUnarySizeofExpression(currentUPCSizofExpressionOperator, operand); - } - - return super.newUnaryExpression(operator, operand); - } - - @Override - public IUPCASTKeywordExpression newKeywordExpression(int keywordKind) { - return new UPCASTKeywordExpression(keywordKind); - } - - @Override - public IUPCASTSynchronizationStatement newSyncronizationStatment(IASTExpression barrierExpression, - int statmentKind) { - return new UPCASTSynchronizationStatement(barrierExpression, statmentKind); - } - - @Override - public IUPCASTForallStatement newForallStatement(IASTStatement init, IASTExpression condition, - IASTExpression iterationExpression, IASTStatement body, IASTExpression affinity) { - return new UPCASTForallStatement(init, condition, iterationExpression, body, affinity); - } - - @Override - public IUPCASTSimpleDeclSpecifier newSimpleDeclSpecifier() { - return new UPCASTSimpleDeclSpecifier(); - } - - @Override - public IUPCASTCompositeTypeSpecifier newCompositeTypeSpecifier(int key, IASTName name) { - return new UPCASTCompositeTypeSpecifier(key, name); - } - - @Override - public IUPCASTElaboratedTypeSpecifier newElaboratedTypeSpecifier(int kind, IASTName name) { - return new UPCASTElaboratedTypeSpecifier(kind, name); - } - - @Override - public IUPCASTEnumerationSpecifier newEnumerationSpecifier(IASTName name) { - return new UPCASTEnumerationSpecifier(name); - } - - @Override - public IUPCASTTypedefNameSpecifier newTypedefNameSpecifier(IASTName name) { - return new UPCASTTypedefNameSpecifier(name); - } - -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCKeyword.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCKeyword.java deleted file mode 100644 index 0b03b24a9df..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCKeyword.java +++ /dev/null @@ -1,93 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.parser.upc; - -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_MYTHREAD; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_THREADS; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_UPC_MAX_BLOCKSIZE; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_relaxed; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_shared; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_strict; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_upc_barrier; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_upc_blocksizeof; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_upc_elemsizeof; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_upc_fence; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_upc_forall; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_upc_localsizeof; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_upc_notify; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_upc_wait; - -import org.eclipse.cdt.core.dom.lrparser.c99.C99Language; -import org.eclipse.cdt.core.model.ICLanguageKeywords; -import org.eclipse.cdt.core.parser.util.CharArrayMap; - -/** - * Enumeration of keywords that UPC adds to C99. - * - * @author Mike Kucera - */ -public enum UPCKeyword { - - MYTHREAD(TK_MYTHREAD), THREADS(TK_THREADS), UPC_MAX_BLOCKSIZE(TK_UPC_MAX_BLOCKSIZE), relaxed(TK_relaxed), - shared(TK_shared), strict(TK_strict), upc_barrier(TK_upc_barrier), upc_localsizeof(TK_upc_localsizeof), - upc_blocksizeof(TK_upc_blocksizeof), upc_elemsizeof(TK_upc_elemsizeof), upc_notify(TK_upc_notify), - upc_fence(TK_upc_fence), upc_wait(TK_upc_wait), upc_forall(TK_upc_forall); - - private final int tokenKind; - - private static final CharArrayMap tokenMap = new CharArrayMap<>(); - private static final String[] upcKeywords; - private static final String[] allKeywords; - - UPCKeyword(int tokenKind) { - this.tokenKind = tokenKind; - } - - static { - UPCKeyword[] keywords = values(); - upcKeywords = new String[keywords.length]; - for (int i = 0; i < keywords.length; i++) { - UPCKeyword keyword = keywords[i]; - String name = keyword.name(); - upcKeywords[i] = name; - tokenMap.put(name.toCharArray(), keyword.tokenKind); - } - - // TODO change to GCC language when gcc support is added - ICLanguageKeywords c99Keywords = (ICLanguageKeywords) C99Language.getDefault() - .getAdapter(ICLanguageKeywords.class); - String[] c99ks = c99Keywords.getKeywords(); - allKeywords = new String[upcKeywords.length + c99ks.length]; - System.arraycopy(c99ks, 0, allKeywords, 0, c99ks.length); - System.arraycopy(upcKeywords, 0, allKeywords, c99ks.length, upcKeywords.length); - } - - public int getTokenKind() { - return tokenKind; - } - - public static String[] getUPCOnlyKeywords() { - return upcKeywords; - } - - public static String[] getAllKeywords() { - return allKeywords; - } - - public static Integer getTokenKind(char[] image) { - if (image == null) - return null; - return tokenMap.get(image); - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCLanguageKeywords.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCLanguageKeywords.java deleted file mode 100644 index 82ec27a2622..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCLanguageKeywords.java +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.parser.upc; - -import org.eclipse.cdt.core.dom.parser.CLanguageKeywords; -import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration; -import org.eclipse.cdt.core.parser.ParserLanguage; - -public class UPCLanguageKeywords extends CLanguageKeywords { - - public UPCLanguageKeywords(IScannerExtensionConfiguration config) { - super(ParserLanguage.C, config); - } - - private static String[] upcKeywords = UPCKeyword.getAllKeywords(); - - @Override - public String[] getKeywords() { - return upcKeywords; - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCParserAction.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCParserAction.java deleted file mode 100644 index 74b3f8dbfae..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCParserAction.java +++ /dev/null @@ -1,216 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.parser.upc; - -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Completion; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_relaxed; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_shared; -import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_strict; - -import org.eclipse.cdt.core.dom.ast.IASTDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTStatement; -import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.ast.c.ICASTDeclSpecifier; -import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTDeclSpecifier; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTForallStatement; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; - -import lpg.lpgjavaruntime.IToken; - -/** - * Extension to the C99ParserAction that adds support fot building - * an AST with UPC specific nodes. - */ -public class UPCParserAction extends C99BuildASTParserAction { - - private IUPCNodeFactory nodeFactory; - - /** - * TODO why is the nodeFactory passed as an argument - * @param nodeFactory - * @param parser - * @param tu - */ - public UPCParserAction(ITokenStream parser, ScopedStack astStack, IUPCNodeFactory nodeFactory, - ISecondaryParserFactory parserFactory) { - super(parser, astStack, nodeFactory, parserFactory); - this.nodeFactory = nodeFactory; - nodeFactory.setUseC99SizeofExpressions(); - } - - @Override - protected boolean isCompletionToken(IToken token) { - return token.getKind() == TK_Completion; - } - - /************************************************************************************** - * Semantic actions - **************************************************************************************/ - - public void consumeExpressionUnarySizeofOperator(int upcOp) { - nodeFactory.setUseUPCSizeofExpressions(upcOp); - super.consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); - nodeFactory.setUseC99SizeofExpressions(); - } - - public void consumeExpressionSizeofTypeId(int upcOp) { - nodeFactory.setUseUPCSizeofExpressions(upcOp); - super.consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); - nodeFactory.setUseC99SizeofExpressions(); - } - - /** - * constant ::= 'MYTHREAD' | 'THREADS' | 'UPC_MAX_BLOCKSIZE' - */ - public void consumeKeywordExpression(int keywordKind) { - IUPCASTKeywordExpression expr = nodeFactory.newKeywordExpression(keywordKind); - setOffsetAndLength(expr); - astStack.push(expr); - } - - /** - * synchronization_statement ::= 'upc_notify' expression ';' - * | 'upc_notify' ';' - * | 'upc_wait' expression ';' - * | 'upc_wait' ';' - * | 'upc_barrier' expression ';' - * | 'upc_barrier' ';' - * | 'upc_fence' ';' - */ - public void consumeStatementSynchronizationStatement(int statementKind, boolean hasBarrierExpr) { - IASTExpression barrierExpression = hasBarrierExpr ? (IASTExpression) astStack.pop() : null; - IUPCASTSynchronizationStatement statement = nodeFactory.newSyncronizationStatment(barrierExpression, - statementKind); - setOffsetAndLength(statement); - astStack.push(statement); - } - - /** - * iteration_statement - * ::= 'upc_forall' '(' expression ';' expression ';' expression ';' affinity ')' statement - * | 'upc_forall' '(' declaration expression ';' expression ';' affinity ')' statement - */ - public void consumeStatementUPCForallLoop(boolean hasExpr1, boolean hasExpr2, boolean hasExpr3, - boolean hasAffinity) { - IASTStatement body = (IASTStatement) astStack.pop(); - - boolean affinityContinue = false; - IASTExpression affinity = null; - if (hasAffinity) { - Object o = astStack.pop(); - if (o instanceof IASTExpression) - affinity = (IASTExpression) o; - else if (o instanceof IToken) - affinityContinue = true; - } - - IASTExpression expr3 = hasExpr3 ? (IASTExpression) astStack.pop() : null; - IASTExpression expr2 = hasExpr2 ? (IASTExpression) astStack.pop() : null; - - IASTStatement initializer = nodeFactory.newNullStatement(); - if (hasExpr1) { // may be an expression or a declaration - Object node = astStack.pop(); - if (node instanceof IASTExpression) - initializer = nodeFactory.newExpressionStatement((IASTExpression) node); - else if (node instanceof IASTDeclaration) - initializer = nodeFactory.newDeclarationStatement((IASTDeclaration) node); - } - - IUPCASTForallStatement forStat = nodeFactory.newForallStatement(initializer, expr2, expr3, body, affinity); - forStat.setAffinityContinue(affinityContinue); - setOffsetAndLength(forStat); - astStack.push(forStat); - } - - /** - * Temporary object used during the parsing of UPC declaration specifiers. - * Stored temporarily on the astStack, but does not become part of the AST. - * Makes parsing of layout qualifiers easier. - * - * @author Mike - */ - private static class UPCParserActionLayoutQualifier { - public boolean hasStar = false; - public IASTExpression expression = null; - } - - /** - * layout_qualifier ::= '[' constant_expression ']' - * | '[' '*' ']' - * | '[' ']' - */ - public void consumeLayoutQualifier(boolean hasExpression, boolean hasStar) { - UPCParserActionLayoutQualifier layoutQualifier = new UPCParserActionLayoutQualifier(); - layoutQualifier.hasStar = hasStar; - if (hasExpression) { - layoutQualifier.expression = (IASTExpression) astStack.pop(); - } - astStack.push(layoutQualifier); - } - - /** - * Overrides setSpecifier to add support for temporary layout qualifier nodes. - */ - @Override - public void setSpecifier(ICASTDeclSpecifier declSpec, Object specifier) { - if (specifier instanceof IToken) - setTokenSpecifier((IUPCASTDeclSpecifier) declSpec, (IToken) specifier); - else - setLayoutQualifier((IUPCASTDeclSpecifier) declSpec, (UPCParserActionLayoutQualifier) specifier); - } - - /** - * Support for new declaration specifier keywords. - * - * 'shared' without [] is handled here - * 'shared' with [] is handled in setLayoutQualifier(). - */ - protected void setTokenSpecifier(IUPCASTDeclSpecifier node, IToken token) { - switch (token.getKind()) { - case TK_relaxed: - node.setReferenceType(IUPCASTDeclSpecifier.rt_relaxed); - break; - case TK_strict: - node.setReferenceType(IUPCASTDeclSpecifier.rt_strict); - break; - case TK_shared: - node.setSharedQualifier(IUPCASTDeclSpecifier.sh_shared_default_block_size); - break; - default: - super.setSpecifier(node, token); - } - } - - /** - * Handles layout qualifiers with block size specified. - */ - protected void setLayoutQualifier(IUPCASTDeclSpecifier node, UPCParserActionLayoutQualifier layoutQualifier) { - if (layoutQualifier.hasStar) { - node.setSharedQualifier(IUPCASTDeclSpecifier.sh_shared_pure_allocation); - } else if (layoutQualifier.expression != null) { - node.setSharedQualifier(IUPCASTDeclSpecifier.sh_shared_constant_expression); - node.setBlockSizeExpression(layoutQualifier.expression); - } else { - node.setSharedQualifier(IUPCASTDeclSpecifier.sh_shared_indefinite_allocation); - } - } - -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCSecondaryParserFactory.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCSecondaryParserFactory.java deleted file mode 100644 index a0d722dce38..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCSecondaryParserFactory.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.core.dom.parser.upc; - -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.internal.core.dom.parser.upc.UPCExpressionParser; -import org.eclipse.cdt.internal.core.dom.parser.upc.UPCNoCastExpressionParser; -import org.eclipse.cdt.internal.core.dom.parser.upc.UPCSizeofExpressionParser; - -public class UPCSecondaryParserFactory implements ISecondaryParserFactory { - - private static final UPCSecondaryParserFactory DEFAULT_INSTANCE = new UPCSecondaryParserFactory(); - - public static UPCSecondaryParserFactory getDefault() { - return DEFAULT_INSTANCE; - } - - @Override - public ISecondaryParser getExpressionParser(ITokenStream stream, Map properties) { - return new UPCExpressionParser(stream, properties); - } - - @Override - public ISecondaryParser getNoCastExpressionParser(ITokenStream stream, - Map properties) { - return new UPCNoCastExpressionParser(stream, properties); - } - - @Override - public ISecondaryParser getSizeofExpressionParser(ITokenStream stream, - Map properties) { - return new UPCSizeofExpressionParser(stream, properties); - } - -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/UPCLanguage.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/UPCLanguage.java deleted file mode 100644 index ef608a6f632..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/UPCLanguage.java +++ /dev/null @@ -1,90 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.upc; - -import java.util.Map; - -import org.eclipse.cdt.core.dom.ILinkage; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage; -import org.eclipse.cdt.core.dom.lrparser.IParser; -import org.eclipse.cdt.core.dom.lrparser.ScannerExtensionConfiguration; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration; -import org.eclipse.cdt.core.dom.parser.c.ANSICParserExtensionConfiguration; -import org.eclipse.cdt.core.dom.parser.upc.DOMToUPCTokenMap; -import org.eclipse.cdt.core.dom.parser.upc.UPCLanguageKeywords; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.model.ICLanguageKeywords; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.internal.core.dom.parser.upc.UPCParser; - -/** - * Implementation of the ILanguage extension point, adds UPC as a language to CDT. - * - * @author Mike Kucera - */ -public class UPCLanguage extends BaseExtensibleLanguage { - - public static final String ID = "org.eclipse.cdt.core.parser.upc.upc"; //$NON-NLS-1$ - - public static final String UPC_CONTENT_TYPE_ID = "org.eclipse.cdt.core.parser.upc.upcSource"; //$NON-NLS-1$ - - private static final UPCLanguage myDefault = new UPCLanguage(); - - public static UPCLanguage getDefault() { - return myDefault; - } - - @Override - protected IParser getParser(IScanner scanner, IIndex index, Map properties) { - return new UPCParser(scanner, new DOMToUPCTokenMap(), getBuiltinBindingsProvider(), index, properties); - } - - @Override - public String getId() { - return ID; - } - - @Override - public int getLinkageID() { - return ILinkage.C_LINKAGE_ID; - } - - private static final ICLanguageKeywords upcKeywords = new UPCLanguageKeywords( - ScannerExtensionConfiguration.createC()); - - @Override - public T getAdapter(Class adapter) { - if (ICLanguageKeywords.class.equals(adapter)) - return adapter.cast(upcKeywords); - - return super.getAdapter(adapter); - } - - @Override - protected ParserLanguage getParserLanguage() { - return ParserLanguage.C; - } - - @Override - protected IScannerExtensionConfiguration getScannerExtensionConfiguration() { - return ScannerExtensionConfiguration.createC(); - } - - protected IBuiltinBindingsProvider getBuiltinBindingsProvider() { - return new ANSICParserExtensionConfiguration().getBuiltinBindingsProvider(); - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTCompositeTypeSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTCompositeTypeSpecifier.java deleted file mode 100644 index 0e7bce3d57e..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTCompositeTypeSpecifier.java +++ /dev/null @@ -1,22 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.upc.ast; - -import org.eclipse.cdt.core.dom.ast.c.ICASTCompositeTypeSpecifier; - -public interface IUPCASTCompositeTypeSpecifier extends IUPCASTDeclSpecifier, ICASTCompositeTypeSpecifier { - - @Override - public IUPCASTCompositeTypeSpecifier copy(); -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTDeclSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTDeclSpecifier.java deleted file mode 100644 index 4a54bc07f85..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTDeclSpecifier.java +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.upc.ast; - -import org.eclipse.cdt.core.dom.ast.ASTNodeProperty; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.c.ICASTDeclSpecifier; - -public interface IUPCASTDeclSpecifier extends ICASTDeclSpecifier { - - public static final ASTNodeProperty BLOCK_SIZE_EXPRESSION = new ASTNodeProperty( - "IUPCASTDeclSpecifier.BLOCK_SIZE_EXPRESSION - IUPCASTDeclSpecifier block size expression"); //$NON-NLS-1$ - - public static final int rt_unspecified = 0; - - public static final int rt_strict = 1; - - public static final int rt_relaxed = 2; - - public static final int sh_not_shared = 0; - - public static final int sh_shared_default_block_size = 1; - - public static final int sh_shared_pure_allocation = 2; - - public static final int sh_shared_indefinite_allocation = 3; - - public static final int sh_shared_constant_expression = 4; - - public int getReferenceType(); - - public void setReferenceType(int referenceType); - - public int getSharedQualifier(); - - public void setSharedQualifier(int shared); - - public IASTExpression getBlockSizeExpression(); - - public void setBlockSizeExpression(IASTExpression expr); - - @Override - public IUPCASTDeclSpecifier copy(); -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTElaboratedTypeSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTElaboratedTypeSpecifier.java deleted file mode 100644 index 3db445c48ed..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTElaboratedTypeSpecifier.java +++ /dev/null @@ -1,22 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.upc.ast; - -import org.eclipse.cdt.core.dom.ast.c.ICASTElaboratedTypeSpecifier; - -public interface IUPCASTElaboratedTypeSpecifier extends IUPCASTDeclSpecifier, ICASTElaboratedTypeSpecifier { - - @Override - public IUPCASTElaboratedTypeSpecifier copy(); -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTEnumerationSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTEnumerationSpecifier.java deleted file mode 100644 index 7e4c580f946..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTEnumerationSpecifier.java +++ /dev/null @@ -1,22 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.upc.ast; - -import org.eclipse.cdt.core.dom.ast.c.ICASTEnumerationSpecifier; - -public interface IUPCASTEnumerationSpecifier extends IUPCASTDeclSpecifier, ICASTEnumerationSpecifier { - - @Override - public IUPCASTEnumerationSpecifier copy(); -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTForallStatement.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTForallStatement.java deleted file mode 100644 index eb94ba43aa3..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTForallStatement.java +++ /dev/null @@ -1,60 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.upc.ast; - -import org.eclipse.cdt.core.dom.ast.ASTNodeProperty; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTForStatement; -import org.eclipse.cdt.core.dom.ast.IASTStatement; - -public interface IUPCASTForallStatement extends IASTForStatement { - - public static final ASTNodeProperty AFFINITY = new ASTNodeProperty( - "IUPCASTForallStatement.AFFINITY - IASTExpression affinity for IUPCASTForallStatement"); //$NON-NLS-1$ - - @Override - public IASTStatement getInitializerStatement(); - - @Override - public void setInitializerStatement(IASTStatement statement); - - @Override - public IASTExpression getConditionExpression(); - - @Override - public void setConditionExpression(IASTExpression condition); - - @Override - public IASTExpression getIterationExpression(); - - @Override - public void setIterationExpression(IASTExpression iterator); - - public IASTExpression getAffinityExpresiion(); - - public void setAffinityExpression(IASTExpression affinity); - - public boolean isAffinityContinue(); - - public void setAffinityContinue(boolean affinityContinue); - - @Override - public IASTStatement getBody(); - - @Override - public void setBody(IASTStatement statement); - - @Override - public IUPCASTForallStatement copy(); -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTKeywordExpression.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTKeywordExpression.java deleted file mode 100644 index 31fe55b5624..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTKeywordExpression.java +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.upc.ast; - -import org.eclipse.cdt.core.dom.ast.IASTExpression; - -public interface IUPCASTKeywordExpression extends IASTExpression { - - public static final int kw_threads = 1; - - public static final int kw_mythread = 2; - - public static final int kw_upc_max_block_size = 3; - - public int getKeywordKind(); - - public void setKeywordKind(int kind); - - @Override - public IUPCASTKeywordExpression copy(); -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTLayoutQualifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTLayoutQualifier.java deleted file mode 100644 index 80d0f127e38..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTLayoutQualifier.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.upc.ast; - -import org.eclipse.cdt.core.dom.ast.IASTExpression; - -public interface IUPCASTLayoutQualifier { - - public boolean isIndefiniteBlockAllocation(); - - public void setIndefiniteBlockAllocation(boolean allocation); - - public boolean isPureBlockAllocation(); - - public void setPureBlockAllocation(boolean allocation); - - public IASTExpression getBlockSizeExpression(); - - public void setBlockSizeExpression(IASTExpression expr); - - public IUPCASTLayoutQualifier copy(); -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTSimpleDeclSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTSimpleDeclSpecifier.java deleted file mode 100644 index 74c0719029d..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTSimpleDeclSpecifier.java +++ /dev/null @@ -1,22 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.upc.ast; - -import org.eclipse.cdt.core.dom.ast.c.ICASTSimpleDeclSpecifier; - -public interface IUPCASTSimpleDeclSpecifier extends IUPCASTDeclSpecifier, ICASTSimpleDeclSpecifier { - - @Override - public IUPCASTSimpleDeclSpecifier copy(); -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTSynchronizationStatement.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTSynchronizationStatement.java deleted file mode 100644 index 7c49de0ea36..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTSynchronizationStatement.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.upc.ast; - -import org.eclipse.cdt.core.dom.ast.ASTNodeProperty; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTStatement; - -public interface IUPCASTSynchronizationStatement extends IASTStatement { - - public static final ASTNodeProperty BARRIER_EXPRESSION = new ASTNodeProperty( - "IUPCASTSynchronizationStatement.BARRIER_EXPRESSION - IASTExpression barrier for IUPCASTSynchronizationStatement"); //$NON-NLS-1$ - - public final int st_upc_notify = 1; - - public final int st_upc_wait = 2; - - public final int st_upc_barrier = 3; - - public final int st_upc_fence = 4; - - public IASTExpression getBarrierExpression(); - - public void setBarrierExpression(IASTExpression expr); - - public int getStatementKind(); - - public void setStatementKind(int kind); - - @Override - public IUPCASTSynchronizationStatement copy(); -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTTypeIdSizeofExpression.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTTypeIdSizeofExpression.java deleted file mode 100644 index 9453f5c564a..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTTypeIdSizeofExpression.java +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.upc.ast; - -import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression; - -public interface IUPCASTTypeIdSizeofExpression extends IASTTypeIdExpression { - - public final int upc_localsizeof = 1; - - public final int upc_blocksizeof = 2; - - public final int upc_elemsizeof = 3; - - public int getUPCSizeofOperator(); - - public void setUPCSizeofOperator(int upcSizeofOperator); - - @Override - public IUPCASTTypeIdSizeofExpression copy(); -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTTypedefNameSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTTypedefNameSpecifier.java deleted file mode 100644 index 4a925d9fde1..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTTypedefNameSpecifier.java +++ /dev/null @@ -1,23 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.upc.ast; - -import org.eclipse.cdt.core.dom.ast.c.ICASTTypedefNameSpecifier; - -public interface IUPCASTTypedefNameSpecifier extends IUPCASTDeclSpecifier, ICASTTypedefNameSpecifier { - - @Override - public IUPCASTTypedefNameSpecifier copy(); - -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTUnarySizeofExpression.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTUnarySizeofExpression.java deleted file mode 100644 index 7046087077a..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTUnarySizeofExpression.java +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.dom.upc.ast; - -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; - -public interface IUPCASTUnarySizeofExpression extends IASTUnaryExpression { - - public final int upc_localsizeof = 1; - - public final int upc_blocksizeof = 2; - - public final int upc_elemsizeof = 3; - - public int getUPCSizeofOperator(); - - public void setUPCSizeofOperator(int upcSizeofOperator); - - @Override - public IUPCASTUnarySizeofExpression copy(); -} \ No newline at end of file diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java deleted file mode 100644 index e32ac3c7a85..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java +++ /dev/null @@ -1,2060 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2011 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.parser.upc; - -import java.util.List; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.IASTCastExpression; -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory; -import org.eclipse.cdt.core.dom.parser.upc.UPCParserAction; -import org.eclipse.cdt.core.dom.parser.upc.UPCSecondaryParserFactory; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; - -import lpg.lpgjavaruntime.BadParseException; -import lpg.lpgjavaruntime.BadParseSymFileException; -import lpg.lpgjavaruntime.DiagnoseParser; -import lpg.lpgjavaruntime.ErrorToken; -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.LexStream; -import lpg.lpgjavaruntime.Monitor; -import lpg.lpgjavaruntime.NotBacktrackParseTableException; -import lpg.lpgjavaruntime.NullExportedSymbolsException; -import lpg.lpgjavaruntime.NullTerminalSymbolsException; -import lpg.lpgjavaruntime.ParseErrorCodes; -import lpg.lpgjavaruntime.ParseTable; -import lpg.lpgjavaruntime.PrsStream; -import lpg.lpgjavaruntime.RuleAction; -import lpg.lpgjavaruntime.Token; -import lpg.lpgjavaruntime.UndefinedEofSymbolException; -import lpg.lpgjavaruntime.UnimplementedTerminalsException; - -public class UPCExpressionParser extends PrsStream - implements RuleAction, ITokenStream, ITokenCollector, ISecondaryParser { - private static ParseTable prs = new UPCExpressionParserprs(); - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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 UPCExpressionParser(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), UPCExpressionParserprs.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(" " + UPCExpressionParsersym.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " - + UPCExpressionParsersym.orderedTerminalSymbols[UPCExpressionParserprs.EOFT_SYMBOL])); - } - } - - @Override - public String[] orderedTerminalSymbols() { - return UPCExpressionParsersym.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return UPCExpressionParsersym.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return UPCExpressionParserprs.EOFT_SYMBOL; - } - - public PrsStream getParseStream() { - return 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, this, prs, this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException( - "Regenerate UPCExpressionParserprs.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- UPCExpressionParsersym.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 UPCParserAction action; - private IASTCompletionNode compNode; - - public UPCExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, - IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new UPCParserAction(this, astStack, new UPCASTNodeFactory(), UPCSecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - public IASTExpression 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 (IASTExpression) action.getParseResult(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return UPCExpressionParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "UPCExpressionParser"; - } - - private ITokenMap tokenMap = null; - - @Override - public void setTokens(List tokens) { - resetTokenStream(); - addToken(new Token(null, 0, 0, 0)); // dummy token - for (IToken token : tokens) { - token.setKind(tokenMap.mapKind(token.getKind())); - addToken(token); - } - addToken(new Token(null, 0, 0, UPCExpressionParsersym.TK_EOF_TOKEN)); - } - - public UPCExpressionParser(ITokenStream stream, Map properties) { // constructor for creating secondary parser - initActions(properties); - tokenMap = new TokenMap(UPCExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols()); - } - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 ::= 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 ::= { 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 init_declarator_list ; - // - case 129: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 130: declaration_specifiers ::= simple_declaration_specifiers - // - case 130: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 131: declaration_specifiers ::= struct_or_union_declaration_specifiers - // - case 131: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 132: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 132: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 133: declaration_specifiers ::= enum_declaration_specifiers - // - case 133: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 134: declaration_specifiers ::= 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 { 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 { 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 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 { enumerator_list_opt comma_opt } - // - case 205: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { 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 ::= 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 ( 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 ::= pointer_seq function_direct_declarator - // - case 234: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) - // - case 235: { - action.consumeDirectDeclaratorFunctionDeclaratorKnR(); - break; - } - - // - // Rule 237: knr_function_declarator ::= 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 ::= [ 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 ::= [ 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 array_modifier_type_qualifiers assignment_expression ] - // - case 245: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); - break; - } - - // - // Rule 246: array_modifier ::= [ 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 ::= [ 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 type_qualifier_list - // - case 252: { - action.consumePointerTypeQualifierList(); - break; - } - - // - // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook 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 ::= pointer_seq - // - case 269: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 270: abstract_declarator ::= 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 ::= ( parameter_type_list ) - // - case 280: { - action.consumeDirectDeclaratorFunctionDeclarator(false, true); - break; - } - - // - // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( 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 { initializer_seq comma_opt } end_initializer_list - // - case 284: { - action.consumeInitializerList(); - break; - } - - // - // Rule 285: initializer_list ::= { } - // - 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 ::= 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 ::= function_declarator function_body - // - case 311: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 312: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement - // - case 312: { - action.consumeFunctionDefinitionKnR(); - break; - } - - // - // Rule 313: normal_function_definition ::= declaration_specifiers function_declarator function_body - // - case 313: { - action.consumeFunctionDefinition(true); - break; - } - - // - // Rule 314: function_body ::= { } - // - case 314: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 315: function_body ::= { block_item_list } - // - case 315: { - action.consumeStatementCompoundStatement(true); - break; - } - - // - // Rule 317: expression_parser_start ::= ERROR_TOKEN - // - case 317: { - action.consumeEmpty(); - break; - } - - // - // Rule 318: literal ::= MYTHREAD - // - case 318: { - action.consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); - break; - } - - // - // Rule 319: literal ::= THREADS - // - case 319: { - action.consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); - break; - } - - // - // Rule 320: literal ::= UPC_MAX_BLOCKSIZE - // - case 320: { - action.consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); - break; - } - - // - // Rule 321: unary_expression ::= upc_localsizeof unary_expression - // - case 321: { - action.consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); - break; - } - - // - // Rule 322: unary_expression ::= upc_localsizeof ( type_id ) - // - case 322: { - action.consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); - break; - } - - // - // Rule 323: unary_expression ::= upc_blocksizeof unary_expression - // - case 323: { - action.consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); - break; - } - - // - // Rule 324: unary_expression ::= upc_blocksizeof ( type_id ) - // - case 324: { - action.consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); - break; - } - - // - // Rule 325: unary_expression ::= upc_elemsizeof unary_expression - // - case 325: { - action.consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); - break; - } - - // - // Rule 326: unary_expression ::= upc_elemsizeof ( type_id ) - // - case 326: { - action.consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); - break; - } - - // - // Rule 330: shared_type_qualifier ::= shared - // - case 330: { - action.consumeToken(); - break; - } - - // - // Rule 331: reference_type_qualifier ::= relaxed - // - case 331: { - action.consumeToken(); - break; - } - - // - // Rule 332: reference_type_qualifier ::= strict - // - case 332: { - action.consumeToken(); - break; - } - - // - // Rule 333: layout_qualifier ::= [ constant_expression ] - // - case 333: { - action.consumeLayoutQualifier(true, false); - break; - } - - // - // Rule 334: layout_qualifier ::= [ * ] - // - case 334: { - action.consumeLayoutQualifier(false, true); - break; - } - - // - // Rule 335: layout_qualifier ::= [ ] - // - case 335: { - action.consumeLayoutQualifier(false, false); - break; - } - - // - // Rule 337: synchronization_statement ::= upc_notify expression ; - // - case 337: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); - break; - } - - // - // Rule 338: synchronization_statement ::= upc_notify ; - // - case 338: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); - break; - } - - // - // Rule 339: synchronization_statement ::= upc_wait expression ; - // - case 339: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); - break; - } - - // - // Rule 340: synchronization_statement ::= upc_wait ; - // - case 340: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); - break; - } - - // - // Rule 341: synchronization_statement ::= upc_barrier expression ; - // - case 341: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); - break; - } - - // - // Rule 342: synchronization_statement ::= upc_barrier ; - // - case 342: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); - break; - } - - // - // Rule 343: synchronization_statement ::= upc_fence ; - // - case 343: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); - break; - } - - // - // Rule 344: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement - // - case 344: { - action.consumeStatementUPCForallLoop(true, true, true, true); - break; - } - - // - // Rule 345: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement - // - case 345: { - action.consumeStatementUPCForallLoop(true, true, true, false); - break; - } - - // - // Rule 346: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement - // - case 346: { - action.consumeStatementUPCForallLoop(true, true, false, true); - break; - } - - // - // Rule 347: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement - // - case 347: { - action.consumeStatementUPCForallLoop(true, true, false, false); - break; - } - - // - // Rule 348: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement - // - case 348: { - action.consumeStatementUPCForallLoop(true, false, true, true); - break; - } - - // - // Rule 349: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement - // - case 349: { - action.consumeStatementUPCForallLoop(true, false, true, false); - break; - } - - // - // Rule 350: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement - // - case 350: { - action.consumeStatementUPCForallLoop(true, false, false, true); - break; - } - - // - // Rule 351: iteration_statement ::= upc_forall ( expression ; ; ; ) statement - // - case 351: { - action.consumeStatementUPCForallLoop(true, false, false, false); - break; - } - - // - // Rule 352: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement - // - case 352: { - action.consumeStatementUPCForallLoop(false, true, true, true); - break; - } - - // - // Rule 353: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement - // - case 353: { - action.consumeStatementUPCForallLoop(false, true, true, false); - break; - } - - // - // Rule 354: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement - // - case 354: { - action.consumeStatementUPCForallLoop(false, true, false, true); - break; - } - - // - // Rule 355: iteration_statement ::= upc_forall ( ; expression ; ; ) statement - // - case 355: { - action.consumeStatementUPCForallLoop(false, true, false, false); - break; - } - - // - // Rule 356: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement - // - case 356: { - action.consumeStatementUPCForallLoop(false, false, true, true); - break; - } - - // - // Rule 357: iteration_statement ::= upc_forall ( ; ; expression ; ) statement - // - case 357: { - action.consumeStatementUPCForallLoop(false, false, true, false); - break; - } - - // - // Rule 358: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement - // - case 358: { - action.consumeStatementUPCForallLoop(false, false, false, true); - break; - } - - // - // Rule 359: iteration_statement ::= upc_forall ( ; ; ; ) statement - // - case 359: { - action.consumeStatementUPCForallLoop(false, false, false, false); - break; - } - - // - // Rule 360: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement - // - case 360: { - action.consumeStatementUPCForallLoop(true, true, true, true); - break; - } - - // - // Rule 361: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement - // - case 361: { - action.consumeStatementUPCForallLoop(true, true, true, false); - break; - } - - // - // Rule 362: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement - // - case 362: { - action.consumeStatementUPCForallLoop(true, true, false, true); - break; - } - - // - // Rule 363: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement - // - case 363: { - action.consumeStatementUPCForallLoop(true, true, false, false); - break; - } - - // - // Rule 364: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement - // - case 364: { - action.consumeStatementUPCForallLoop(true, false, true, true); - break; - } - - // - // Rule 365: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement - // - case 365: { - action.consumeStatementUPCForallLoop(true, false, true, false); - break; - } - - // - // Rule 366: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement - // - case 366: { - action.consumeStatementUPCForallLoop(true, false, false, true); - break; - } - - // - // Rule 367: iteration_statement ::= upc_forall ( declaration ; ; ) statement - // - case 367: { - action.consumeStatementUPCForallLoop(true, false, false, false); - break; - } - - // - // Rule 369: affinity ::= continue - // - case 369: { - action.consumeToken(); - break; - } - - default: - break; - } - return; - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java deleted file mode 100644 index cf182b9df9e..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java +++ /dev/null @@ -1,764 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2011 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.parser.upc; - -public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UPCExpressionParsersym { - - public interface IsKeyword { - public final static byte isKeyword[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static byte isKeyword[] = IsKeyword.isKeyword; - - public final boolean isKeyword(int index) { - return isKeyword[index] != 0; - } - - public interface BaseCheck { - public final static short baseCheck[] = { 0, 0, 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, 1, 2, 4, 2, 4, 2, 4, 1, 1, 2, 1, 1, 1, 3, 3, 2, 1, 3, - 2, 3, 2, 3, 2, 2, 11, 10, 10, 9, 10, 9, 9, 8, 10, 9, 9, 8, 9, 8, 8, 7, 10, 9, 9, 8, 9, 8, 8, 7, 1, 1, - -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -132, 0, 0, 0, 0, 0, -81, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -62, 0, 0, 0, 0, 0, 0, 0, 0, 0, -40, 0, 0, 0, 0, 0, 0, 0, 0, -175, 0, -153, 0, - -120, 0, 0, 0, 0, -88, 0, -90, 0, -4, 0, -17, 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, 0, 0, 0, -224, -44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -207, 0, -19, -193, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -148, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -82, - -20, 0, -145, 0, 0, 0, 0, 0, 0, 0, 0, -115, -116, -85, 0, 0, 0, 0, -21, 0, 0, 0, 0, -117, 0, 0, 0, 0, 0, - 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, -22, 0, -141, 0, 0, 0, 0, 0, - 0, 0, 0, -208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -80, 0, -45, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -131, 0, 0, 0, 0, 0, 0, 0, 0, 0, -199, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -133, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, -23, 0, 0, 0, 0, 0, -125, -144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, -41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, 0, 0, 0, 0, 0, 0, 0, 0, 0, -74, 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, -66, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -68, 0, 0, 0, 0, 0, 0, 0, 0, 0, -76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -69, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -70, 0, 0, 0, 0, 0, 0, 0, 0, 0, -77, 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, -72, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -137, 0, 0, 0, 0, 0, 0, 0, 0, 0, -79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -160, 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, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -196, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -226, 0, 0, 0, 0, 0, 0, 0, 0, 0, -205, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -134, 0, -211, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -217, 0, 0, 0, 0, 0, 0, 0, 0, 0, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -10, 0, 0, 0, 0, 0, 0, 0, 0, -11, 0, 0, 0, 0, 0, 0, 0, -27, -225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -61, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28, 0, 0, 0, 0, 0, 0, 0, -97, 0, -12, 0, 0, 0, 0, 0, - 0, 0, 0, -50, 0, 0, 0, 0, 0, 0, 0, 0, 0, -95, 0, 0, 0, 0, 0, -174, -118, -86, -147, -29, -36, 0, -98, 0, - 0, 0, 0, -99, 0, -59, 0, 0, 0, 0, 0, 0, 0, 0, 0, -100, 0, 0, 0, 0, 0, 0, 0, 0, 0, -212, 0, 0, 0, 0, 0, - -164, 0, 0, 0, 0, 0, 0, 0, 0, -92, 0, -101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -128, -119, -135, 0, - 0, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -202, 0, 0, 0, 0, 0, 0, -183, -37, 0, 0, 0, 0, - 0, 0, -58, 0, 0, 0, 0, 0, 0, 0, 0, 0, -139, 0, 0, 0, 0, 0, 0, -102, -206, 0, 0, 0, 0, -103, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -89, -146, 0, 0, 0, 0, -55, 0, 0, 0, 0, 0, 0, 0, 0, 0, -104, 0, 0, 0, - -136, 0, 0, 0, 0, 0, 0, 0, -197, 0, 0, -195, 0, -158, -105, 0, 0, 0, 0, 0, -56, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -51, 0, 0, 0, 0, 0, 0, 0, 0, 0, -87, 0, -52, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -186, 0, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -127, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -93, -91, -210, 0, 0, -106, 0, 0, -54, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -219, -130, -169, -182, -154, -84, 0, 0, 0, 0, 0, 0, -94, 0, 0, 0, 0, -189, 0, 0, 0, 0, 0, 0, 0, - -107, 0, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -96, 0, 0, 0, 0, 0, -143, 0, 0, 0, 0, - 0, -152, 0, 0, 0, 0, 0, 0, 0, 0, -42, -156, 0, 0, 0, 0, -151, 0, -108, -165, 0, 0, 0, 0, 0, 0, 0, 0, - -163, 0, 0, 0, 0, 0, 0, 0, -109, -110, 0, 0, -46, 0, 0, 0, 0, 0, 0, 0, 0, -111, 0, -47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -48, 0, 0, 0, 0, 0, 0, 0, 0, -129, -168, -187, -159, -162, -39, -138, -181, -173, 0, - 0, 0, 0, 0, -112, 0, -113, 0, -8, 0, 0, 0, 0, 0, 0, -114, 0, 0, 0, 0, 0, -121, -123, 0, 0, 0, 0, 0, -15, - 0, 0, 0, 0, 0, 0, -16, 0, 0, 0, 0, 0, 0, 0, -18, 0, 0, 0, -140, 0, -60, 0, 0, 0, 0, -31, 0, -185, 0, - -38, 0, -149, -167, 0, -172, 0, -32, -166, -220, 0, 0, 0, 0, -155, 0, 0, 0, 0, 0, -33, -170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -34, 0, 0, 0, 0, -122, 0, 0, 0, 0, 0, -35, 0, 0, -200, -190, 0, 0, -203, -171, 0, 0, 0, - 0, 0, -126, 0, 0, 0, 0, -176, 0, 0, 0, 0, 0, 0, -142, 0, 0, 0, 0, 0, -184, 0, -192, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -178, -201, -179, -150, -216, 0, -188, 0, 0, -204, 0, 0, -180, 0, -213, - -177, 0, -191, -215, -221, 0, -209, 0, -214, 0, 0, -198, 0, 0, -194, 0, -222, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -218, 0, 0, 0, -223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[index]; - } - - public interface BaseAction { - public final static char baseAction[] = { 89, 10, 105, 22, 22, 21, 21, 46, 46, 72, 72, 1, 1, 2, 2, 2, 2, 3, 3, - 3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 62, 62, 73, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, - 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 106, 31, 28, 90, 90, 74, 74, 48, 107, 107, 107, 107, 107, 107, 107, - 108, 108, 108, 109, 109, 114, 114, 115, 115, 110, 110, 111, 111, 111, 117, 117, 112, 112, 112, 112, 112, - 113, 113, 113, 113, 113, 116, 116, 27, 27, 27, 27, 27, 35, 35, 35, 80, 80, 75, 75, 75, 75, 76, 76, 76, - 77, 77, 77, 78, 78, 78, 79, 79, 79, 118, 118, 119, 119, 120, 36, 38, 38, 38, 38, 38, 56, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 66, 63, 63, 91, 92, 68, 68, 64, 64, 64, 69, 81, 81, 82, 82, 70, 70, 70, - 33, 93, 93, 83, 84, 84, 84, 65, 65, 94, 85, 85, 86, 86, 71, 71, 23, 24, 24, 24, 37, 53, 53, 39, 39, 39, - 39, 42, 42, 44, 40, 40, 41, 45, 45, 121, 121, 43, 122, 122, 95, 95, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 87, 54, 54, 54, 54, 30, 59, 59, 58, 58, 58, 60, 60, 55, 55, 96, 96, 47, 47, 61, 61, 61, 49, 49, 49, 50, - 51, 51, 51, 52, 52, 52, 52, 67, 67, 32, 32, 34, 98, 97, 97, 97, 97, 88, 99, 100, 100, 101, 101, 102, - 102, 123, 123, 124, 124, 125, 125, 125, 125, 127, 127, 126, 126, 126, 128, 129, 129, 89, 89, 2, 2, 2, 6, - 6, 6, 6, 6, 6, 23, 23, 25, 25, 26, 26, 103, 103, 103, 107, 130, 130, 130, 130, 130, 130, 130, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 131, 131, 1, 1263, 17, 21, 18, 443, 1260, 45, 524, 486, 295, 578, 542, 1064, 730, 1163, 1105, 1221, - 1190, 75, 92, 76, 430, 136, 214, 327, 328, 525, 20, 17, 21, 18, 443, 43, 44, 138, 135, 137, 161, 618, - 20, 17, 21, 18, 443, 43, 45, 524, 486, 838, 578, 542, 1064, 730, 1163, 1695, 140, 167, 551, 28, 123, - 1701, 6, 144, 147, 150, 153, 277, 439, 39, 397, 40, 1676, 65, 441, 1473, 1397, 1524, 1553, 1587, 1229, - 556, 20, 17, 21, 18, 443, 1260, 45, 524, 486, 428, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 282, - 232, 618, 20, 17, 21, 18, 443, 43, 45, 1268, 1747, 283, 132, 1701, 66, 347, 20, 17, 21, 18, 443, 1260, - 45, 524, 486, 428, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 282, 225, 180, 492, 219, 1617, 222, - 1746, 224, 225, 230, 288, 283, 657, 1701, 1759, 32, 59, 1875, 830, 1862, 1425, 294, 391, 136, 214, 327, - 328, 133, 768, 151, 88, 289, 329, 316, 64, 138, 135, 137, 161, 799, 1256, 256, 214, 327, 328, 1702, 290, - 200, 201, 649, 20, 17, 21, 18, 443, 325, 140, 167, 276, 28, 28, 1701, 1701, 144, 147, 150, 153, 291, - 439, 1774, 142, 28, 32, 1701, 284, 1473, 1397, 1524, 1553, 1587, 1229, 587, 20, 17, 21, 18, 443, 1260, - 45, 524, 486, 380, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 282, 1673, 618, 20, 17, 21, 18, 443, - 43, 45, 524, 486, 283, 1307, 1701, 281, 20, 17, 21, 18, 443, 1260, 45, 524, 486, 1794, 578, 542, 1064, - 730, 1163, 1105, 1221, 1190, 75, 736, 235, 240, 618, 20, 17, 21, 18, 443, 43, 45, 1280, 292, 618, 20, - 17, 21, 18, 443, 1260, 45, 524, 486, 22, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 92, 804, 20, - 17, 21, 18, 443, 1260, 45, 524, 486, 1806, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 1593, 461, - 20, 17, 21, 18, 443, 43, 45, 524, 486, 982, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 94, 243, 188, - 335, 618, 20, 17, 21, 18, 443, 43, 40, 53, 441, 256, 214, 327, 328, 235, 314, 20, 17, 21, 18, 443, 1260, - 45, 524, 486, 1614, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 1674, 242, 241, 618, 20, 17, 21, - 18, 443, 1260, 45, 524, 486, 838, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 93, 618, 20, 17, 21, - 18, 443, 1260, 45, 524, 486, 19, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 86, 618, 20, 17, 21, - 18, 443, 1260, 45, 524, 486, 838, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 85, 618, 20, 17, 21, - 18, 443, 1260, 45, 524, 486, 535, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 84, 618, 20, 17, 21, - 18, 443, 1260, 45, 524, 486, 838, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 83, 618, 20, 17, 21, - 18, 443, 1260, 45, 524, 486, 536, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 82, 618, 20, 17, 21, - 18, 443, 1260, 45, 524, 486, 838, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 81, 618, 20, 17, 21, - 18, 443, 1260, 45, 524, 486, 547, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 80, 618, 20, 17, 21, - 18, 443, 1260, 45, 524, 486, 838, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 79, 618, 20, 17, 21, - 18, 443, 1260, 45, 524, 486, 1257, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 78, 618, 20, 17, 21, - 18, 443, 1260, 45, 524, 486, 838, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 77, 618, 20, 17, 21, - 18, 443, 1260, 45, 524, 486, 1322, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 76, 618, 20, 17, 21, - 18, 443, 1260, 45, 524, 486, 838, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 74, 618, 20, 17, 21, - 18, 443, 1260, 45, 524, 486, 23, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 1833, 618, 20, 17, 21, - 18, 443, 1260, 45, 524, 486, 171, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 75, 1835, 618, 20, 17, - 21, 18, 443, 43, 45, 524, 486, 736, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 94, 618, 20, 17, 21, - 18, 443, 43, 45, 524, 486, 333, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 94, 1727, 680, 20, 17, 21, - 18, 443, 323, 1854, 220, 1617, 222, 1746, 224, 225, 230, 243, 187, 618, 20, 17, 21, 18, 443, 43, 45, - 524, 486, 213, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 94, 618, 20, 17, 21, 18, 443, 43, 45, 524, - 486, 613, 578, 542, 1064, 730, 1163, 1105, 1221, 1190, 94, 618, 20, 17, 21, 18, 443, 43, 39, 1864, 618, - 20, 17, 21, 18, 443, 43, 38, 176, 618, 20, 17, 21, 18, 443, 43, 45, 524, 486, 203, 578, 542, 1064, 730, - 1163, 1105, 1221, 1190, 94, 618, 20, 17, 21, 18, 443, 43, 45, 524, 486, 238, 578, 542, 1064, 730, 1163, - 1105, 1686, 225, 180, 618, 20, 17, 21, 18, 443, 43, 37, 204, 618, 20, 17, 21, 18, 443, 43, 45, 524, 486, - 380, 1375, 136, 214, 327, 328, 654, 854, 385, 1019, 885, 243, 31, 835, 139, 135, 137, 161, 81, 1741, - 618, 20, 17, 21, 18, 443, 43, 45, 524, 486, 115, 578, 542, 1064, 1647, 141, 167, 277, 275, 28, 1002, - 1701, 145, 148, 151, 154, 979, 439, 219, 1617, 222, 1746, 224, 225, 230, 325, 1677, 341, 268, 1258, 537, - 273, 264, 256, 214, 327, 328, 278, 1814, 1417, 265, 838, 886, 188, 1752, 275, 618, 20, 17, 21, 18, 443, - 43, 36, 25, 219, 1617, 222, 1746, 224, 225, 230, 274, 232, 1323, 268, 1258, 537, 273, 1845, 1030, 243, - 31, 1747, 28, 262, 1701, 1321, 618, 20, 17, 21, 18, 443, 43, 45, 524, 486, 6, 578, 542, 1064, 730, 1635, - 719, 400, 243, 1784, 451, 275, 1727, 480, 219, 1617, 222, 1746, 224, 225, 230, 220, 1617, 222, 1746, - 224, 225, 230, 1875, 864, 838, 270, 1258, 537, 273, 618, 20, 17, 21, 18, 443, 43, 45, 524, 486, 511, - 578, 542, 1566, 243, 189, 280, 136, 214, 327, 328, 24, 583, 199, 201, 243, 297, 32, 80, 146, 135, 137, - 161, 1837, 618, 20, 17, 21, 18, 443, 43, 45, 524, 486, 211, 578, 1616, 618, 20, 17, 21, 18, 443, 43, 45, - 524, 486, 1799, 578, 1634, 618, 20, 17, 21, 18, 443, 43, 45, 524, 486, 378, 1381, 618, 20, 17, 21, 18, - 443, 43, 45, 524, 486, 632, 1413, 618, 20, 17, 21, 18, 443, 43, 35, 1343, 136, 214, 327, 328, 430, 20, - 17, 21, 18, 443, 43, 36, 143, 135, 137, 161, 618, 20, 17, 21, 18, 443, 43, 45, 524, 1431, 247, 358, 881, - 243, 299, 295, 249, 142, 167, 618, 20, 17, 21, 18, 443, 43, 45, 524, 1528, 674, 883, 838, 883, 6, 848, - 136, 214, 327, 328, 1747, 1836, 909, 1783, 1788, 1670, 196, 661, 149, 135, 137, 161, 279, 281, 232, 193, - 278, 711, 20, 17, 21, 18, 443, 321, 275, 136, 214, 327, 328, 219, 1617, 222, 1746, 224, 225, 230, 926, - 152, 135, 137, 161, 1131, 235, 1845, 268, 1258, 537, 273, 430, 20, 17, 21, 18, 443, 43, 36, 1321, 880, - 6, 136, 214, 327, 328, 235, 244, 70, 599, 523, 1678, 1842, 334, 155, 135, 137, 161, 430, 20, 17, 21, 18, - 443, 43, 36, 120, 706, 333, 275, 618, 20, 17, 21, 18, 443, 43, 48, 229, 200, 248, 618, 20, 17, 21, 18, - 443, 43, 47, 268, 1258, 537, 273, 618, 20, 17, 21, 18, 443, 43, 46, 267, 924, 601, 113, 974, 235, 6, - 518, 924, 441, 1784, 508, 508, 508, 1848, 20, 657, 487, 508, 742, 20, 17, 21, 18, 443, 41, 550, 243, - 1259, 1259, 198, 1702, 912, 175, 88, 1259, 1485, 645, 1702, 773, 20, 17, 21, 18, 443, 34, 773, 20, 17, - 21, 18, 443, 33, 285, 6, 1774, 260, 261, 391, 1398, 6, 1740, 1350, 260, 370, 6, 1398, 518, 1740, 340, - 657, 486, 32, 194, 6, 370, 6, 386, 32, 657, 210, 198, 88, 930, 1839, 770, 370, 1608, 88, 6, 957, 1684, - 198, 88, 1558, 1850, 770, 90, 1608, 370, 6, 419, 1702, 198, 88, 925, 228, 770, 1702, 1608, 370, 6, 812, - 181, 247, 716, 198, 88, 661, 57, 770, 370, 1608, 854, 508, 382, 1350, 198, 88, 508, 978, 770, 1085, - 1608, 275, 1727, 896, 382, 198, 88, 1859, 1259, 770, 6, 1608, 518, 198, 938, 255, 214, 327, 328, 1485, - 1834, 270, 1258, 537, 273, 980, 1022, 255, 214, 327, 328, 235, 169, 235, 539, 1006, 260, 441, 1784, - 1847, 518, 1740, 508, 838, 508, 838, 382, 1852, 723, 518, 518, 526, 235, 245, 192, 246, 193, 382, 484, - 198, 747, 1259, 235, 526, 226, 1485, 231, 1736, 1672, 255, 214, 327, 328, 449, 296, 235, 1856, 373, - 1940, 737, 255, 214, 327, 328, 298, 1940, 205, 1940, 1940, 260, 1940, 1033, 1543, 1940, 1740, 182, 206, - 1940, 1940, 1940, 1940, 1940, 193, 1940, 1940, 709, 1940, 195, 210, 1940, 1940, 1940, 1940, 1851, 1672, - 1940, 1290, 1940, 1940, 1940, 1940, 1940, 1787, 1850, 1940, 0, 330, 699, 0, 20, 180, 0, 1, 2167, 0, 1, - 2178, 0 }; - } - - public final static char baseAction[] = BaseAction.baseAction; - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - public final int lhs(int index) { - return lhs[index]; - } - - public interface TermCheck { - public final static byte termCheck[] = { 0, 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 0, 32, 33, 34, 35, 36, 37, 0, 0, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 0, 53, 54, 55, 0, 1, 0, 3, 8, 5, 4, 0, 0, 0, 2, 11, 12, 0, 14, 6, 7, 9, 10, 0, 1, - 38, 3, 0, 0, 25, 26, 27, 4, 6, 7, 68, 32, 33, 34, 35, 36, 37, 19, 31, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 0, 1, 0, 3, 60, 5, 4, 0, 62, 63, 0, 11, 12, 61, 14, 64, 65, 66, 67, 0, - 0, 64, 65, 66, 67, 25, 26, 27, 76, 0, 62, 63, 32, 33, 34, 35, 36, 37, 0, 19, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 0, 1, 0, 3, 60, 5, 0, 0, 62, 63, 4, 11, 12, 31, 14, 64, 65, 66, 67, - 0, 1, 0, 3, 0, 0, 25, 26, 27, 5, 56, 57, 0, 32, 33, 34, 35, 36, 37, 19, 8, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 0, 1, 0, 3, 60, 38, 39, 0, 1, 2, 0, 11, 12, 0, 14, 5, 70, 71, 0, 1, - 0, 3, 0, 1, 0, 25, 26, 27, 77, 78, 6, 7, 32, 33, 34, 35, 36, 37, 70, 71, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 0, 53, 54, 55, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 58, 13, 0, 15, 16, 17, 18, 68, 20, - 21, 22, 23, 24, 59, 0, 31, 28, 29, 30, 74, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 1, 13, 3, 15, 16, - 17, 18, 0, 20, 21, 22, 23, 24, 58, 0, 0, 28, 29, 30, 5, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 1, 13, - 3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 58, 0, 1, 28, 29, 30, 0, 39, 0, 1, 0, 3, 89, 0, 0, 2, 2, 11, - 12, 0, 14, 11, 12, 4, 14, 56, 57, 52, 0, 0, 0, 25, 26, 27, 73, 25, 26, 27, 32, 33, 34, 35, 36, 37, 31, - 31, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 1, 13, 3, 15, - 16, 17, 18, 0, 20, 21, 22, 23, 24, 0, 56, 57, 28, 29, 30, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 1, 13, 3, - 15, 16, 17, 18, 0, 20, 21, 22, 23, 24, 0, 0, 58, 28, 29, 30, 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, 10, 0, 0, 13, - 0, 15, 16, 17, 18, 0, 20, 21, 22, 23, 24, 68, 0, 58, 28, 29, 30, 5, 38, 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, - 10, 56, 57, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 60, 28, 29, 30, 0, 1, 2, 3, 4, 74, 6, - 7, 8, 9, 10, 56, 57, 13, 52, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 31, 0, 28, 29, 30, 0, 1, 2, 3, - 4, 0, 6, 7, 8, 9, 10, 59, 0, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 61, 0, 31, 28, 29, 30, 0, 1, - 2, 3, 4, 73, 6, 7, 8, 9, 10, 0, 31, 13, 0, 15, 16, 17, 18, 5, 20, 21, 22, 23, 24, 0, 61, 0, 28, 29, 30, - 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, 10, 59, 0, 13, 0, 15, 16, 17, 18, 0, 20, 21, 22, 23, 24, 0, 1, 2, 28, 29, - 30, 0, 1, 2, 3, 4, 72, 6, 7, 8, 9, 10, 0, 38, 13, 0, 15, 16, 17, 18, 38, 20, 21, 22, 23, 24, 0, 0, 75, - 28, 29, 30, 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, 10, 0, 0, 13, 0, 15, 16, 17, 18, 0, 20, 21, 22, 23, 24, 0, 1, - 2, 28, 29, 30, 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, 10, 0, 0, 13, 0, 15, 16, 17, 18, 38, 20, 21, 22, 23, 24, 0, - 0, 0, 28, 29, 30, 0, 1, 2, 3, 4, 72, 6, 7, 8, 9, 10, 0, 69, 13, 19, 15, 16, 17, 18, 0, 20, 21, 22, 23, - 24, 0, 0, 0, 28, 29, 30, 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, 10, 0, 69, 13, 19, 15, 16, 17, 18, 0, 20, 21, 22, - 23, 24, 0, 0, 0, 28, 29, 30, 0, 0, 2, 0, 4, 5, 11, 12, 5, 14, 0, 11, 12, 0, 14, 2, 0, 0, 5, 0, 25, 26, - 27, 0, 0, 25, 26, 27, 5, 0, 0, 31, 32, 33, 34, 35, 36, 37, 19, 39, 11, 12, 39, 14, 31, 0, 0, 2, 0, 4, 0, - 0, 39, 5, 25, 26, 27, 11, 12, 0, 14, 32, 33, 34, 35, 36, 37, 0, 0, 0, 19, 25, 26, 27, 0, 52, 31, 0, 32, - 33, 34, 35, 36, 37, 0, 11, 12, 39, 14, 0, 0, 0, 2, 4, 4, 0, 19, 0, 0, 25, 26, 27, 11, 12, 0, 14, 32, 33, - 34, 35, 36, 37, 0, 0, 19, 0, 25, 26, 27, 69, 0, 31, 0, 32, 33, 34, 35, 36, 37, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 0, 0, 19, 0, 0, 0, 1, 2, 0, 59, 5, 11, 12, 0, 14, 11, 12, 0, 14, 11, 12, 0, 14, 0, 0, - 25, 26, 27, 0, 25, 26, 27, 0, 25, 26, 27, 31, 5, 0, 11, 12, 0, 14, 19, 39, 0, 1, 2, 0, 4, 0, 0, 0, 25, - 26, 27, 0, 1, 2, 0, 4, 0, 0, 0, 0, 0, 0, 19, 0, 19, 38, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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; - - @Override - public final int termCheck(int index) { - return termCheck[index]; - } - - public interface TermAction { - public final static char termAction[] = { 0, 1940, 1951, 1723, 1952, 1326, 1, 1231, 1182, 1487, 1715, 1708, - 2155, 2156, 1688, 2157, 1953, 1954, 1955, 1956, 1940, 1173, 722, 2258, 2259, 2260, 2271, 437, 2272, - 1568, 1116, 557, 254, 2104, 2105, 2103, 2158, 2106, 2102, 183, 89, 2109, 2114, 2113, 2111, 2112, 2110, - 2115, 2116, 2108, 2117, 2118, 2119, 65, 1250, 1523, 1305, 1940, 1, 49, 1, 1403, 192, 1661, 60, 32, 52, - 1738, 1, 1, 62, 1, 647, 473, 1966, 1967, 1940, 1951, 760, 1952, 54, 51, 1, 1, 1, 1661, 647, 473, 1012, - 1, 1, 1, 1, 1, 1, 1545, 1675, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 192, 1, 1, 1, 1940, 1, 50, 1, 2137, - 191, 1661, 61, 1649, 1638, 184, 1, 1, 1351, 1, 1475, 1463, 1240, 611, 287, 326, 1475, 1463, 1240, 611, - 1, 1, 1, 1261, 55, 1649, 1638, 1, 1, 1, 1, 1, 1, 272, 3167, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 191, 1, - 1, 1, 1940, 1, 63, 1, 2137, 192, 1940, 73, 1649, 1638, 580, 1, 1, 624, 1, 1475, 1463, 1240, 611, 1940, - 1951, 1940, 1952, 1940, 64, 1, 1, 1, 1946, 1512, 1531, 66, 1, 1, 1, 1, 1, 1, 1609, 1403, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 192, 1, 1, 1, 1940, 1951, 1940, 1952, 2137, 1879, 1945, 1, 2167, 1541, 1940, 2155, - 2156, 71, 2157, 1944, 1450, 1437, 1940, 1951, 1940, 1952, 1, 1937, 53, 2271, 437, 2272, 1211, 1729, 647, - 473, 2104, 2105, 2103, 2158, 2106, 2102, 1450, 1437, 2109, 2114, 2113, 2111, 2112, 2110, 2115, 2116, - 2108, 2117, 2118, 2119, 330, 1250, 1523, 1305, 1, 1951, 1723, 1952, 1500, 1944, 1231, 1182, 1487, 1715, - 1708, 1940, 1943, 1688, 1940, 1953, 1954, 1955, 1956, 1153, 1173, 722, 2258, 2259, 2260, 2199, 1940, - 1928, 1568, 1116, 557, 409, 678, 1940, 1951, 1723, 1952, 1626, 1944, 1231, 1182, 1487, 1715, 1708, 186, - 3307, 1688, 3307, 1953, 1954, 1955, 1956, 69, 1173, 722, 2258, 2259, 2260, 1943, 1, 59, 1568, 1116, 557, - 91, 1054, 1, 1951, 1723, 1952, 1326, 29, 1231, 1182, 1487, 1715, 1708, 185, 3331, 1688, 3331, 1953, - 1954, 1955, 1956, 3167, 1173, 722, 2258, 2259, 2260, 1943, 1940, 2179, 1568, 1116, 557, 130, 91, 207, - 3333, 1940, 3333, 1927, 271, 223, 1542, 1544, 2155, 2156, 1940, 2157, 2155, 2156, 1430, 2157, 1512, - 1531, 29, 58, 1940, 1940, 2271, 437, 2272, 1358, 2271, 437, 2272, 2104, 2105, 2103, 2158, 2106, 2102, - 624, 624, 2109, 2114, 2113, 2111, 2112, 2110, 2115, 2116, 2108, 2117, 2118, 2119, 1940, 1951, 1723, - 1952, 1326, 1944, 1231, 1182, 1487, 1715, 1708, 209, 1951, 1688, 1952, 1953, 1954, 1955, 1956, 202, - 1173, 722, 2258, 2259, 2260, 1940, 1512, 1531, 1568, 1116, 557, 1940, 1951, 1723, 1952, 1599, 1944, - 1231, 1182, 1487, 1715, 1708, 208, 1376, 1688, 1376, 1953, 1954, 1955, 1956, 57, 1173, 722, 2258, 2259, - 2260, 257, 72, 1943, 1568, 1116, 557, 1940, 1, 1, 1, 1, 1940, 1, 1, 1, 1, 1, 1940, 1940, 1, 1940, 1, 1, - 1, 1, 56, 1, 1, 1, 1, 1, 1191, 1940, 1943, 1, 1, 1, 1948, 1671, 1940, 1951, 1723, 1952, 1326, 1940, - 1231, 1182, 1487, 1715, 1708, 1512, 1531, 1688, 1, 1953, 1954, 1955, 1956, 3167, 1173, 722, 2258, 2259, - 2260, 70, 1940, 2257, 1568, 1116, 557, 1, 1951, 1723, 1952, 1326, 409, 1231, 1182, 1487, 1715, 1708, - 1512, 1531, 1688, 1947, 1953, 1954, 1955, 1956, 3167, 1173, 722, 2258, 2259, 2260, 1940, 1075, 293, - 1568, 1116, 557, 1940, 1951, 1723, 1952, 1326, 1940, 1231, 1182, 1487, 1715, 1708, 2199, 221, 1688, 1, - 1953, 1954, 1955, 1956, 3167, 1173, 722, 2258, 2259, 2260, 1428, 67, 1133, 1568, 1116, 557, 1940, 1951, - 1723, 1952, 1326, 1358, 1231, 1182, 1487, 1715, 1708, 1940, 624, 1688, 1, 1953, 1954, 1955, 1956, 1950, - 1173, 722, 2258, 2259, 2260, 1940, 1525, 1940, 1568, 1116, 557, 1940, 1951, 1734, 1952, 1326, 30, 1231, - 1182, 1487, 1715, 1708, 2198, 30, 1688, 1940, 1953, 1954, 1955, 1956, 1940, 1173, 722, 2258, 2259, 2260, - 1, 2167, 1541, 1568, 1116, 557, 1940, 1951, 1745, 1952, 1326, 1270, 1231, 1182, 1487, 1715, 1708, 1940, - 487, 1688, 1940, 1953, 1954, 1955, 1956, 1969, 1173, 722, 2258, 2259, 2260, 1940, 68, 1949, 1568, 1116, - 557, 1940, 1951, 1758, 1952, 1326, 212, 1231, 1182, 1487, 1715, 1708, 1940, 208, 1688, 1940, 1953, 1954, - 1955, 1956, 1940, 1173, 722, 2258, 2259, 2260, 254, 2167, 1541, 1568, 1116, 557, 1940, 1951, 1769, 1952, - 1326, 1940, 1231, 1182, 1487, 1715, 1708, 1940, 1940, 1688, 1940, 1953, 1954, 1955, 1956, 2781, 1173, - 722, 2258, 2259, 2260, 1940, 324, 1940, 1568, 1116, 557, 1940, 1951, 1780, 1952, 1326, 1270, 1231, 1182, - 1487, 1715, 1708, 1940, 1095, 1688, 3167, 1953, 1954, 1955, 1956, 1940, 1173, 722, 2258, 2259, 2260, - 1940, 322, 1940, 1568, 1116, 557, 1, 1951, 1723, 1952, 1326, 1940, 1231, 1182, 1487, 1715, 1708, 1940, - 589, 1688, 3167, 1953, 1954, 1955, 1956, 1940, 1173, 722, 2258, 2259, 2260, 1940, 249, 1940, 1568, 1116, - 557, 20, 1940, 1931, 1940, 1931, 1931, 2155, 2156, 1946, 2157, 1940, 180, 180, 1, 180, 1546, 1940, 1940, - 1946, 42, 2271, 437, 2272, 286, 1940, 180, 180, 180, 432, 131, 1940, 1931, 180, 180, 180, 180, 180, 180, - 3167, 1931, 2155, 2156, 1945, 2157, 624, 266, 132, 1546, 1, 1, 43, 1940, 1945, 1946, 2271, 437, 2272, - 2155, 2156, 1940, 2157, 2104, 2105, 2103, 2158, 2106, 2102, 1940, 1940, 1940, 3167, 2271, 437, 2272, - 133, 432, 624, 1940, 2104, 2105, 2103, 2158, 2106, 2102, 1940, 2155, 2156, 1945, 2157, 1, 269, 134, - 1546, 254, 254, 1940, 1368, 1940, 1940, 2271, 437, 2272, 2155, 2156, 1940, 2157, 2104, 2105, 2103, 2158, - 2106, 2102, 1940, 1940, 1743, 1940, 2271, 437, 2272, 991, 1940, 624, 1940, 2104, 2105, 2103, 2158, 2106, - 2102, 970, 949, 928, 907, 886, 844, 865, 823, 802, 781, 250, 1940, 1812, 1940, 251, 1, 1934, 1296, 252, - 2199, 1946, 1, 1, 1940, 1, 1, 1, 1940, 1, 2155, 2156, 1940, 2157, 1940, 190, 1, 1, 1, 253, 1, 1, 1, - 1940, 2271, 437, 2272, 624, 1950, 1940, 2155, 2156, 1940, 2157, 186, 1945, 263, 2167, 1296, 190, 1, 190, - 1940, 1940, 2271, 437, 2272, 269, 2167, 1296, 1940, 254, 1940, 1940, 1940, 1940, 1940, 1940, 185, 1940, - 207, 472, 1940, 1940, 1940, 1940, 1940, 624, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, - 624, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, - 1940, 1940, 1940, 1949 }; - } - - public final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[index]; - } - - public interface Asb { - public final static char asb[] = { 0, 133, 1, 206, 98, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 60, 10, 80, 77, 84, 82, 90, 88, 92, 91, 94, 93, 66, 206, 10, 10, 10, 10, 10, 418, 418, 459, 206, - 304, 304, 339, 10, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 304, 304, 304, 304, 304, 304, 102, 109, - 343, 197, 385, 302, 301, 311, 3, 323, 129, 323, 129, 129, 323, 129, 323, 30, 255, 77, 77, 82, 82, 82, - 82, 80, 80, 88, 84, 84, 91, 90, 490, 93, 92, 157, 157, 157, 157, 131, 382, 131, 339, 343, 200, 102, 53, - 230, 304, 427, 388, 230, 129, 418, 418, 129, 418, 206, 382, 107, 343, 331, 53, 102, 229, 197, 304, 337, - 30, 303, 390, 102, 230, 131, 352, 131, 421, 107, 331, 331, 206, 206, 102, 230, 385, 485, 484, 343, 390, - 304, 131, 352, 421, 421, 423, 308, 331, 53, 102, 102, 304, 427, 388, 337, 352, 382, 345, 352, 421, 423, - 492, 423, 382, 105, 495, 418, 206, 307, 53, 331, 390, 352, 347, 423, 382, 206, 418, 60, 109, 102, 418, - 206, 331, 304, 303, 382, 193, 206, 192, 225, 343, 382, 102, 419, 347, 206, 225 }; - } - - public final static char asb[] = Asb.asb; - - @Override - public final int asb(int index) { - return asb[index]; - } - - public interface Asr { - public final static byte asr[] = { 0, 89, 0, 5, 68, 38, 58, 39, 75, 31, 13, 15, 16, 17, 18, 2, 9, 10, 8, 4, 6, - 7, 20, 21, 22, 23, 24, 28, 29, 30, 1, 3, 53, 54, 55, 48, 40, 45, 43, 44, 42, 41, 46, 47, 49, 50, 51, 37, - 34, 32, 33, 36, 35, 11, 12, 14, 26, 25, 27, 0, 31, 2, 61, 76, 9, 10, 69, 79, 80, 81, 82, 83, 85, 84, 86, - 87, 88, 4, 62, 63, 6, 7, 57, 56, 64, 65, 66, 67, 70, 71, 8, 72, 73, 74, 52, 75, 77, 78, 68, 39, 89, 38, - 58, 5, 0, 5, 52, 31, 61, 9, 10, 8, 4, 6, 7, 20, 21, 13, 28, 29, 30, 2, 15, 16, 17, 18, 22, 23, 24, 1, 3, - 19, 0, 13, 15, 16, 17, 18, 1, 3, 2, 9, 10, 8, 4, 6, 7, 20, 21, 22, 23, 24, 28, 29, 30, 60, 0, 8, 4, 6, - 7, 62, 63, 56, 57, 64, 65, 66, 67, 70, 71, 72, 73, 74, 77, 78, 69, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 58, 39, 52, 89, 19, 68, 75, 5, 38, 0, 58, 5, 32, 11, 12, 14, 25, 26, 27, 15, 16, 17, 18, 22, 23, 24, - 3, 9, 10, 8, 6, 7, 20, 21, 13, 28, 29, 30, 4, 2, 1, 0, 32, 58, 5, 9, 10, 8, 4, 6, 7, 20, 21, 13, 28, 29, - 30, 2, 1, 3, 15, 16, 17, 18, 22, 23, 24, 0, 12, 32, 37, 14, 36, 35, 34, 11, 33, 25, 26, 27, 61, 76, 9, - 10, 8, 6, 7, 62, 63, 56, 57, 64, 65, 66, 67, 70, 71, 72, 73, 74, 77, 78, 69, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 4, 2, 31, 38, 39, 5, 0, 69, 31, 61, 0, 48, 40, 45, 43, 44, 42, 41, 46, 47, 49, 50, 51, 68, - 75, 37, 34, 32, 33, 36, 35, 11, 12, 14, 25, 26, 27, 38, 1, 5, 39, 2, 31, 4, 0, 75, 5, 4, 1, 2, 68, 0, - 33, 40, 11, 41, 53, 34, 42, 35, 43, 44, 36, 12, 45, 46, 32, 54, 37, 55, 47, 48, 14, 49, 50, 51, 1, 3, - 25, 26, 27, 60, 5, 52, 0, 4, 2, 31, 39, 5, 33, 40, 11, 41, 53, 34, 42, 35, 43, 44, 36, 12, 45, 46, 32, - 54, 37, 55, 47, 48, 14, 49, 50, 51, 25, 26, 27, 59, 3, 1, 0, 1, 3, 5, 52, 38, 0, 4, 33, 40, 11, 41, 53, - 34, 42, 35, 43, 44, 36, 12, 45, 46, 32, 54, 37, 55, 47, 48, 14, 49, 50, 51, 1, 3, 25, 26, 27, 59, 0, 5, - 39, 13, 15, 16, 17, 18, 1, 3, 2, 9, 10, 8, 4, 6, 7, 20, 21, 22, 23, 24, 28, 29, 30, 0, 2, 5, 38, 39, 75, - 31, 68, 0, 5, 38, 52, 69, 0 }; - } - - public final static byte asr[] = Asr.asr; - - @Override - public final int asr(int index) { - return asr[index]; - } - - public interface Nasb { - public final static byte nasb[] = { 0, 36, 35, 26, 35, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 35, 105, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 26, 105, 105, 105, 105, 105, 66, 66, 109, 106, 87, 87, 90, - 1, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 106, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 87, 87, 87, 87, 87, 87, 48, 9, 39, 46, 89, 44, 44, 58, 17, 59, 19, 59, 62, 62, 59, - 61, 59, 53, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 10, 10, 10, 10, 10, 73, - 35, 112, 35, 50, 48, 124, 47, 87, 94, 86, 47, 7, 7, 7, 7, 7, 26, 103, 73, 35, 79, 124, 48, 47, 42, 87, - 69, 28, 35, 96, 48, 47, 15, 73, 35, 73, 24, 79, 73, 26, 26, 48, 47, 68, 44, 44, 39, 96, 87, 35, 120, 73, - 7, 64, 13, 73, 124, 48, 48, 87, 94, 86, 75, 73, 103, 83, 99, 7, 64, 35, 35, 103, 23, 35, 7, 26, 81, 124, - 42, 116, 120, 71, 64, 103, 26, 7, 21, 25, 48, 7, 26, 42, 87, 87, 103, 84, 26, 35, 71, 39, 103, 48, 35, - 71, 26, 77 }; - } - - public final static byte nasb[] = Nasb.nasb; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - public interface Nasr { - public final static char nasr[] = { 0, 80, 78, 77, 68, 76, 75, 1, 0, 5, 34, 32, 0, 100, 0, 92, 0, 103, 0, 91, 0, - 98, 0, 88, 10, 34, 5, 0, 80, 79, 78, 77, 68, 76, 75, 0, 10, 89, 0, 30, 54, 0, 23, 0, 29, 0, 10, 5, 22, - 0, 5, 10, 0, 68, 63, 64, 65, 66, 56, 35, 0, 94, 69, 0, 62, 0, 73, 0, 21, 51, 50, 42, 40, 10, 0, 51, 50, - 42, 40, 30, 0, 102, 0, 10, 72, 0, 10, 21, 0, 21, 50, 51, 10, 0, 30, 54, 10, 27, 0, 10, 33, 70, 0, 46, 0, - 33, 10, 31, 0, 10, 90, 0, 51, 50, 30, 0, 95, 10, 27, 0, 82, 10, 33, 0, 59, 0 }; - } - - public final static char nasr[] = Nasr.nasr; - - @Override - public final int nasr(int index) { - return nasr[index]; - } - - public interface TerminalIndex { - public final static char terminalIndex[] = { 0, 85, 2, 86, 9, 87, 10, 11, 8, 6, 7, 48, 64, 68, 76, 81, 82, 83, - 84, 3, 12, 13, 93, 94, 95, 96, 97, 98, 100, 101, 102, 1, 69, 44, 55, 60, 63, 72, 42, 90, 47, 52, 56, 61, - 62, 66, 67, 74, 75, 78, 79, 80, 91, 54, 70, 73, 16, 17, 89, 30, 107, 4, 14, 15, 18, 19, 20, 21, 29, 31, - 22, 23, 24, 25, 26, 92, 5, 27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 108, 45, 46, 49, 50, 51, 53, - 57, 58, 59, 65, 71, 77, 88, 99, 103, 104, 105, 106 }; - } - - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - - @Override - public final int terminalIndex(int index) { - return terminalIndex[index]; - } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = { 0, 114, 0, 0, 0, 116, 120, 121, 122, 123, 0, 124, 125, 126, 127, - 128, 129, 130, 131, 0, 132, 111, 110, 142, 0, 0, 0, 135, 0, 163, 0, 115, 119, 154, 0, 141, 0, 0, 0, 159, - 161, 0, 162, 0, 0, 0, 112, 118, 134, 172, 173, 174, 0, 150, 160, 169, 144, 0, 164, 167, 168, 171, 0, - 145, 146, 147, 148, 149, 151, 0, 153, 158, 113, 117, 133, 136, 137, 138, 139, 140, 143, 0, 152, 156, 0, - 0, 157, 166, 176, 109, 0, 0, 0, 155, 0, 165, 170, 175, 0, 177, 178, 0, 179, 180, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - - @Override - public final int nonterminalIndex(int index) { - return nonterminalIndex[index]; - } - - public interface ScopePrefix { - public final static char scopePrefix[] = { 120, 151, 130, 59, 69, 159, 26, 186, 35, 87, 105, 75, 6, 12, 16, 40, - 83, 52, 141, 208, 215, 219, 52, 52, 195, 52, 1, 1, 1, 44, 47, 92, 115, 47, 223, 20, 145, 202, 202, 177, - 137, 165, 165, 165, 165, 165, 95, 95, 95 }; - } - - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - - @Override - public final int scopePrefix(int index) { - return scopePrefix[index]; - } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { 128, 128, 128, 4, 4, 128, 32, 192, 10, 4, 10, 80, 10, 10, 10, 10, 4, - 4, 139, 10, 10, 4, 56, 80, 199, 65, 4, 4, 4, 10, 50, 4, 10, 118, 10, 23, 148, 205, 212, 180, 139, 167, - 169, 171, 173, 175, 102, 97, 110 }; - } - - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - - @Override - public final int scopeSuffix(int index) { - return scopeSuffix[index]; - } - - public interface ScopeLhs { - public final static char scopeLhs[] = { 65, 63, 65, 29, 29, 63, 32, 111, 52, 29, 45, 29, 6, 6, 6, 52, 29, 29, - 70, 6, 5, 5, 29, 29, 19, 29, 103, 102, 101, 50, 61, 29, 42, 53, 3, 88, 70, 7, 5, 112, 70, 79, 78, 77, - 76, 75, 45, 43, 45 }; - } - - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - - @Override - public final int scopeLhs(int index) { - return scopeLhs[index]; - } - - public interface ScopeLa { - public final static byte scopeLa[] = { 52, 52, 52, 58, 58, 52, 52, 95, 39, 58, 39, 15, 39, 39, 39, 39, 58, 58, - 75, 39, 39, 58, 4, 15, 68, 32, 58, 58, 58, 39, 2, 58, 39, 1, 39, 69, 1, 39, 39, 101, 75, 1, 53, 54, 54, - 48, 2, 2, 2 }; - } - - public final static byte scopeLa[] = ScopeLa.scopeLa; - - @Override - public final int scopeLa(int index) { - return scopeLa[index]; - } - - public interface ScopeStateSet { - public final static byte scopeStateSet[] = { 29, 29, 29, 33, 33, 29, 19, -1, 37, 33, 9, 33, 44, 44, 44, 37, 33, - 33, 5, 44, 44, 44, 33, 33, 78, 33, 17, 1, 3, 37, 39, 33, 9, 11, 44, 105, 5, 50, 44, -1, 5, 30, 30, 30, - 30, 30, 9, 9, 9 }; - } - - public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet; - - @Override - public final int scopeStateSet(int index) { - return scopeStateSet[index]; - } - - public interface ScopeRhs { - public final static char scopeRhs[] = { 0, 155, 31, 0, 110, 0, 154, 2, 30, 0, 111, 0, 154, 2, 29, 0, 154, 2, 28, - 0, 206, 117, 0, 31, 149, 0, 169, 204, 117, 19, 141, 0, 112, 0, 0, 165, 117, 2, 157, 0, 165, 117, 2, 0, - 168, 2, 0, 161, 117, 0, 172, 0, 194, 117, 31, 0, 9, 110, 0, 127, 32, 194, 117, 31, 0, 69, 132, 110, 0, - 127, 194, 117, 32, 31, 0, 194, 117, 32, 31, 0, 132, 110, 0, 127, 32, 31, 0, 127, 194, 117, 31, 0, 127, - 31, 0, 149, 0, 2, 0, 165, 111, 0, 2, 111, 0, 165, 117, 2, 149, 0, 2, 0, 164, 111, 0, 160, 2, 0, 159, 0, - 169, 192, 117, 19, 108, 201, 53, 0, 112, 0, 169, 192, 117, 19, 201, 53, 0, 140, 0, 113, 0, 200, 117, - 140, 0, 117, 140, 0, 155, 113, 0, 188, 117, 19, 199, 108, 198, 175, 0, 188, 117, 19, 198, 175, 0, 187, - 0, 148, 0, 147, 0, 146, 0, 145, 0, 144, 0, 214, 94, 0, 77, 2, 115, 111, 113, 0, 214, 128, 138, 2, 98, 0, - 53, 0, 0, 138, 78, 125, 0, 29, 132, 0, 154, 2, 0, 111, 121, 0, 154, 2, 13, 0, 111, 119, 0, 197, 2, 112, - 0, 138, 31, 112, 0, 138, 2, 0 }; - } - - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - - @Override - public final int scopeRhs(int index) { - return scopeRhs[index]; - } - - public interface ScopeState { - public final static char scopeState[] = { 0, 1425, 0, 428, 0, 1834, 1672, 1788, 0, 1085, 1350, 472, 1541, 1343, - 1296, 1259, 0, 437, 0, 589, 487, 451, 1322, 1257, 547, 536, 535, 397, 0, 1229, 508, 370, 0, 1746, 1617, - 1258, 537, 1350, 1774, 1296, 1259, 1546, 1608, 0, 1715, 1708, 1688, 1568, 1116, 557, 1626, 1599, 1500, - 397, 409, 1211, 1270, 1358, 1450, 1437, 1403, 1531, 1512, 1475, 1463, 1240, 611, 1661, 1649, 1638, 647, - 473, 1487, 1326, 1231, 1182, 1173, 722, 1191, 1153, 1133, 589, 1095, 1075, 1054, 1033, 737, 1012, 699, - 678, 624, 991, 970, 949, 928, 907, 886, 865, 844, 823, 802, 781, 370, 760, 657, 487, 451, 0 }; - } - - public final static char scopeState[] = ScopeState.scopeState; - - @Override - public final int scopeState(int index) { - return scopeState[index]; - } - - public interface InSymb { - public final static char inSymb[] = { 0, 0, 196, 117, 181, 30, 29, 28, 13, 21, 20, 7, 6, 4, 8, 10, 9, 112, 2, - 116, 115, 119, 118, 121, 120, 123, 122, 125, 124, 113, 38, 2, 2, 2, 2, 2, 76, 61, 2, 31, 154, 138, 140, - 117, 7, 6, 63, 62, 4, 67, 66, 65, 64, 56, 57, 8, 71, 70, 73, 72, 78, 77, 74, 88, 87, 86, 84, 85, 83, 82, - 81, 80, 79, 69, 154, 154, 154, 154, 154, 197, 138, 128, 117, 31, 2, 158, 157, 182, 26, 183, 175, 184, - 55, 54, 185, 53, 186, 187, 108, 115, 115, 118, 118, 118, 118, 116, 116, 120, 119, 119, 122, 121, 138, - 124, 123, 128, 128, 128, 128, 128, 19, 141, 161, 137, 32, 127, 117, 4, 168, 117, 2, 31, 198, 176, 176, - 201, 176, 68, 117, 19, 137, 4, 117, 127, 194, 166, 165, 134, 117, 167, 117, 155, 4, 108, 19, 108, 19, - 117, 4, 137, 194, 32, 127, 4, 2, 147, 149, 117, 38, 165, 199, 117, 19, 117, 204, 117, 137, 117, 127, - 127, 160, 117, 2, 161, 19, 188, 140, 189, 117, 192, 108, 193, 169, 38, 206, 61, 31, 207, 117, 166, 117, - 117, 117, 192, 169, 69, 38, 153, 69, 155, 61, 31, 166, 165, 202, 188, 200, 68, 160, 2, 117, 169, 155, - 38, 38, 68, 161 }; - } - - public final static char inSymb[] = InSymb.inSymb; - - @Override - public final int inSymb(int index) { - return inSymb[index]; - } - - public interface Name { - public final static String name[] = { "", "[", "(", "{", ".", "->", "++", "--", "&", "*", "+", "-", "~", "!", - "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "...", "=", - "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", "$empty", "auto", "break", "case", - "char", "const", "continue", "default", "do", "double", "else", "enum", "extern", "float", "for", - "goto", "if", "inline", "int", "long", "register", "restrict", "return", "short", "signed", "sizeof", - "static", "struct", "switch", "typedef", "union", "unsigned", "void", "volatile", "while", "_Bool", - "_Complex", "_Imaginary", "integer", "floating", "charconst", "stringlit", "identifier", "Completion", - "EndOfCompletion", "Invalid", "RightBracket", "RightParen", "RightBrace", "SemiColon", "MYTHREAD", - "THREADS", "UPC_MAX_BLOCKSIZE", "relaxed", "shared", "strict", "upc_barrier", "upc_localsizeof", - "upc_blocksizeof", "upc_elemsizeof", "upc_notify", "upc_fence", "upc_wait", "upc_forall", "ERROR_TOKEN", - "EOF_TOKEN", "expression_parser_start", "]", ")", "}", ";", "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_list_actual", "constant_expression", "declaration_specifiers", - "simple_declaration_specifiers", "struct_or_union_declaration_sp" + "ecifiers", - "elaborated_declaration_specifi" + "ers", "enum_declaration_specifiers", - "typdef_name_declaration_specif" + "iers", "no_type_declaration_specifier", "type_qualifier", - "no_type_declaration_specifiers", "simple_type_specifier", "struct_or_union_specifier", - "elaborated_specifier", "enum_specifier", "type_name_specifier", "initializer", "declarator", - "struct_or_union", "struct_declaration_list", "struct_declaration", "specifier_qualifier_list", - "struct_declarator_list", "complete_struct_declarator", "enumerator_list", "enumerator", - "direct_declarator", "pointer_seq", "array_direct_declarator", "basic_direct_declarator", - "array_modifier", "parameter_type_list", "identifier_list", "array_modifier_type_qualifiers", - "type_qualifier_list", "parameter_list", "parameter_declaration", "complete_parameter_declarator", - "abstract_declarator", "direct_abstract_declarator", "basic_direct_abstract_declarat" + "or", - "array_direct_abstract_declarat" + "or", "initializer_seq", "designated_initializer", "designation", - "designator_list", "designator", "layout_qualifier" }; - } - - public final static String name[] = Name.name; - - @Override - public final String name(int index) { - return name[index]; - } - - public final static int ERROR_SYMBOL = 60, SCOPE_UBOUND = 48, SCOPE_SIZE = 49, MAX_NAME_LENGTH = 38; - - @Override - public final int getErrorSymbol() { - return ERROR_SYMBOL; - } - - @Override - public final int getScopeUbound() { - return SCOPE_UBOUND; - } - - @Override - public final int getScopeSize() { - return SCOPE_SIZE; - } - - @Override - public final int getMaxNameLength() { - return MAX_NAME_LENGTH; - } - - public final static int NUM_STATES = 226, NT_OFFSET = 107, LA_STATE_OFFSET = 2309, MAX_LA = 2, NUM_RULES = 369, - NUM_NONTERMINALS = 131, NUM_SYMBOLS = 238, SEGMENT_SIZE = 8192, START_STATE = 510, IDENTIFIER_SYMBOL = 0, - EOFT_SYMBOL = 89, EOLT_SYMBOL = 89, ACCEPT_ACTION = 1927, ERROR_ACTION = 1940; - - public final static boolean BACKTRACK = true; - - @Override - public final int getNumStates() { - return NUM_STATES; - } - - @Override - public final int getNtOffset() { - return NT_OFFSET; - } - - @Override - public final int getLaStateOffset() { - return LA_STATE_OFFSET; - } - - @Override - public final int getMaxLa() { - return MAX_LA; - } - - @Override - public final int getNumRules() { - return NUM_RULES; - } - - @Override - public final int getNumNonterminals() { - return NUM_NONTERMINALS; - } - - @Override - public final int getNumSymbols() { - return NUM_SYMBOLS; - } - - @Override - public final int getSegmentSize() { - return SEGMENT_SIZE; - } - - @Override - public final int getStartState() { - return START_STATE; - } - - @Override - public final int getStartSymbol() { - return lhs[0]; - } - - public final int getIdentifierSymbol() { - return IDENTIFIER_SYMBOL; - } - - @Override - public final int getEoftSymbol() { - return EOFT_SYMBOL; - } - - @Override - public final int getEoltSymbol() { - return EOLT_SYMBOL; - } - - @Override - public final int getAcceptAction() { - return ACCEPT_ACTION; - } - - @Override - public final int getErrorAction() { - return ERROR_ACTION; - } - - @Override - public final boolean isValidForParser() { - return isValidForParser; - } - - @Override - public final boolean getBacktrack() { - return BACKTRACK; - } - - @Override - public final int originalState(int state) { - return -baseCheck[state]; - } - - @Override - public final int asi(int state) { - return asb[originalState(state)]; - } - - @Override - public final int nasi(int state) { - return nasb[originalState(state)]; - } - - @Override - public final int inSymbol(int state) { - return inSymb[originalState(state)]; - } - - @Override - public final int ntAction(int state, int sym) { - return baseAction[state + sym]; - } - - @Override - public final int tAction(int state, int sym) { - int i = baseAction[state], k = i + sym; - return termAction[termCheck[k] == sym ? k : i]; - } - - @Override - public final int lookAhead(int la_state, int sym) { - int k = la_state + sym; - return termAction[termCheck[k] == sym ? k : la_state]; - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParsersym.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParsersym.java deleted file mode 100644 index 0cb5a646528..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParsersym.java +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2010 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.parser.upc; - -public interface UPCExpressionParsersym { - public final static int TK_auto = 33, TK_break = 90, TK_case = 91, TK_char = 40, TK_const = 11, TK_continue = 92, - TK_default = 93, TK_do = 94, TK_double = 41, TK_else = 95, TK_enum = 53, TK_extern = 34, TK_float = 42, - TK_for = 96, TK_goto = 97, TK_if = 98, TK_inline = 35, TK_int = 43, TK_long = 44, TK_register = 36, - TK_restrict = 12, TK_return = 99, TK_short = 45, TK_signed = 46, TK_sizeof = 13, TK_static = 32, - TK_struct = 54, TK_switch = 100, TK_typedef = 37, TK_union = 55, TK_unsigned = 47, TK_void = 48, - TK_volatile = 14, TK_while = 101, TK__Bool = 49, TK__Complex = 50, TK__Imaginary = 51, TK_integer = 15, - TK_floating = 16, TK_charconst = 17, TK_stringlit = 18, TK_identifier = 1, TK_Completion = 3, - TK_EndOfCompletion = 5, TK_Invalid = 102, TK_LeftBracket = 31, TK_LeftParen = 2, TK_LeftBrace = 19, - TK_Dot = 61, TK_Arrow = 76, TK_PlusPlus = 9, TK_MinusMinus = 10, TK_And = 8, TK_Star = 4, TK_Plus = 6, - TK_Minus = 7, TK_Tilde = 20, TK_Bang = 21, TK_Slash = 62, TK_Percent = 63, TK_RightShift = 56, - TK_LeftShift = 57, TK_LT = 64, TK_GT = 65, TK_LE = 66, TK_GE = 67, TK_EQ = 70, TK_NE = 71, TK_Caret = 72, - TK_Or = 73, TK_AndAnd = 74, TK_OrOr = 77, TK_Question = 78, TK_Colon = 68, TK_DotDotDot = 59, - TK_Assign = 69, TK_StarAssign = 79, TK_SlashAssign = 80, TK_PercentAssign = 81, TK_PlusAssign = 82, - TK_MinusAssign = 83, TK_RightShiftAssign = 84, TK_LeftShiftAssign = 85, TK_AndAssign = 86, - TK_CaretAssign = 87, TK_OrAssign = 88, TK_Comma = 38, TK_RightBracket = 58, TK_RightParen = 39, - TK_RightBrace = 52, TK_SemiColon = 75, TK_MYTHREAD = 22, TK_THREADS = 23, TK_UPC_MAX_BLOCKSIZE = 24, - TK_relaxed = 25, TK_shared = 26, TK_strict = 27, TK_upc_barrier = 103, TK_upc_localsizeof = 28, - TK_upc_blocksizeof = 29, TK_upc_elemsizeof = 30, TK_upc_notify = 104, TK_upc_fence = 105, TK_upc_wait = 106, - TK_upc_forall = 107, TK_ERROR_TOKEN = 60, TK_EOF_TOKEN = 89; - - public final static String orderedTerminalSymbols[] = { "", "identifier", "LeftParen", "Completion", "Star", - "EndOfCompletion", "Plus", "Minus", "And", "PlusPlus", "MinusMinus", "const", "restrict", "sizeof", - "volatile", "integer", "floating", "charconst", "stringlit", "LeftBrace", "Tilde", "Bang", "MYTHREAD", - "THREADS", "UPC_MAX_BLOCKSIZE", "relaxed", "shared", "strict", "upc_localsizeof", "upc_blocksizeof", - "upc_elemsizeof", "LeftBracket", "static", "auto", "extern", "inline", "register", "typedef", "Comma", - "RightParen", "char", "double", "float", "int", "long", "short", "signed", "unsigned", "void", "_Bool", - "_Complex", "_Imaginary", "RightBrace", "enum", "struct", "union", "RightShift", "LeftShift", - "RightBracket", "DotDotDot", "ERROR_TOKEN", "Dot", "Slash", "Percent", "LT", "GT", "LE", "GE", "Colon", - "Assign", "EQ", "NE", "Caret", "Or", "AndAnd", "SemiColon", "Arrow", "OrOr", "Question", "StarAssign", - "SlashAssign", "PercentAssign", "PlusAssign", "MinusAssign", "RightShiftAssign", "LeftShiftAssign", - "AndAssign", "CaretAssign", "OrAssign", "EOF_TOKEN", "break", "case", "continue", "default", "do", "else", - "for", "goto", "if", "return", "switch", "while", "Invalid", "upc_barrier", "upc_notify", "upc_fence", - "upc_wait", "upc_forall" }; - - public final static boolean isValidForParser = true; -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java deleted file mode 100644 index deadf0d623a..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java +++ /dev/null @@ -1,2053 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2011 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.parser.upc; - -import java.util.List; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory; -import org.eclipse.cdt.core.dom.parser.upc.UPCParserAction; -import org.eclipse.cdt.core.dom.parser.upc.UPCSecondaryParserFactory; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; - -import lpg.lpgjavaruntime.BadParseException; -import lpg.lpgjavaruntime.BadParseSymFileException; -import lpg.lpgjavaruntime.DiagnoseParser; -import lpg.lpgjavaruntime.ErrorToken; -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.LexStream; -import lpg.lpgjavaruntime.Monitor; -import lpg.lpgjavaruntime.NotBacktrackParseTableException; -import lpg.lpgjavaruntime.NullExportedSymbolsException; -import lpg.lpgjavaruntime.NullTerminalSymbolsException; -import lpg.lpgjavaruntime.ParseErrorCodes; -import lpg.lpgjavaruntime.ParseTable; -import lpg.lpgjavaruntime.PrsStream; -import lpg.lpgjavaruntime.RuleAction; -import lpg.lpgjavaruntime.Token; -import lpg.lpgjavaruntime.UndefinedEofSymbolException; -import lpg.lpgjavaruntime.UnimplementedTerminalsException; - -public class UPCNoCastExpressionParser extends PrsStream - implements RuleAction, ITokenStream, ITokenCollector, ISecondaryParser { - private static ParseTable prs = new UPCNoCastExpressionParserprs(); - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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 UPCNoCastExpressionParser(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), UPCNoCastExpressionParserprs.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(" " + UPCNoCastExpressionParsersym.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " - + UPCNoCastExpressionParsersym.orderedTerminalSymbols[UPCNoCastExpressionParserprs.EOFT_SYMBOL])); - } - } - - @Override - public String[] orderedTerminalSymbols() { - return UPCNoCastExpressionParsersym.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return UPCNoCastExpressionParsersym.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return UPCNoCastExpressionParserprs.EOFT_SYMBOL; - } - - public PrsStream getParseStream() { - return 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, this, prs, this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException( - "Regenerate UPCNoCastExpressionParserprs.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error( - new BadParseSymFileException("Bad Parser Symbol File -- UPCNoCastExpressionParsersym.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 UPCParserAction action; - private IASTCompletionNode compNode; - - public UPCNoCastExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, - IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new UPCParserAction(this, astStack, new UPCASTNodeFactory(), UPCSecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - public IASTExpression 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 (IASTExpression) action.getParseResult(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return UPCNoCastExpressionParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "UPCNoCastExpressionParser"; - } - - private ITokenMap tokenMap = null; - - @Override - public void setTokens(List tokens) { - resetTokenStream(); - addToken(new Token(null, 0, 0, 0)); // dummy token - for (IToken token : tokens) { - token.setKind(tokenMap.mapKind(token.getKind())); - addToken(token); - } - addToken(new Token(null, 0, 0, UPCNoCastExpressionParsersym.TK_EOF_TOKEN)); - } - - public UPCNoCastExpressionParser(ITokenStream stream, Map properties) { // constructor for creating secondary parser - initActions(properties); - tokenMap = new TokenMap(UPCNoCastExpressionParsersym.orderedTerminalSymbols, - stream.getOrderedTerminalSymbols()); - } - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 45: multiplicative_expression ::= multiplicative_expression * cast_expression - // - case 45: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); - break; - } - - // - // Rule 46: multiplicative_expression ::= multiplicative_expression / cast_expression - // - case 46: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); - break; - } - - // - // Rule 47: multiplicative_expression ::= multiplicative_expression % cast_expression - // - case 47: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); - break; - } - - // - // Rule 49: additive_expression ::= additive_expression + multiplicative_expression - // - case 49: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); - break; - } - - // - // Rule 50: additive_expression ::= additive_expression - multiplicative_expression - // - case 50: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); - break; - } - - // - // Rule 52: shift_expression ::= shift_expression << additive_expression - // - case 52: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); - break; - } - - // - // Rule 53: shift_expression ::= shift_expression >> additive_expression - // - case 53: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); - break; - } - - // - // Rule 55: relational_expression ::= relational_expression < shift_expression - // - case 55: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); - break; - } - - // - // Rule 56: relational_expression ::= relational_expression > shift_expression - // - case 56: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); - break; - } - - // - // Rule 57: relational_expression ::= relational_expression <= shift_expression - // - case 57: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); - break; - } - - // - // Rule 58: relational_expression ::= relational_expression >= shift_expression - // - case 58: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); - break; - } - - // - // Rule 60: equality_expression ::= equality_expression == relational_expression - // - case 60: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); - break; - } - - // - // Rule 61: equality_expression ::= equality_expression != relational_expression - // - case 61: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); - break; - } - - // - // Rule 63: and_expression ::= and_expression & equality_expression - // - case 63: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); - break; - } - - // - // Rule 65: exclusive_or_expression ::= exclusive_or_expression ^ and_expression - // - case 65: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); - break; - } - - // - // Rule 67: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression - // - case 67: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); - break; - } - - // - // Rule 69: logical_and_expression ::= logical_and_expression && inclusive_or_expression - // - case 69: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); - break; - } - - // - // Rule 71: logical_or_expression ::= logical_or_expression || logical_and_expression - // - case 71: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); - break; - } - - // - // Rule 73: conditional_expression ::= logical_or_expression ? expression : assignment_expression - // - case 73: { - action.consumeExpressionConditional(); - break; - } - - // - // Rule 75: assignment_expression ::= unary_expression = assignment_expression - // - case 75: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); - break; - } - - // - // Rule 76: assignment_expression ::= unary_expression *= assignment_expression - // - case 76: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); - break; - } - - // - // Rule 77: assignment_expression ::= unary_expression /= assignment_expression - // - case 77: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); - break; - } - - // - // Rule 78: assignment_expression ::= unary_expression %= assignment_expression - // - case 78: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); - break; - } - - // - // Rule 79: assignment_expression ::= unary_expression += assignment_expression - // - case 79: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); - break; - } - - // - // Rule 80: assignment_expression ::= unary_expression -= assignment_expression - // - case 80: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); - break; - } - - // - // Rule 81: assignment_expression ::= unary_expression <<= assignment_expression - // - case 81: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); - break; - } - - // - // Rule 82: assignment_expression ::= unary_expression >>= assignment_expression - // - case 82: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); - break; - } - - // - // Rule 83: assignment_expression ::= unary_expression &= assignment_expression - // - case 83: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); - break; - } - - // - // Rule 84: assignment_expression ::= unary_expression ^= assignment_expression - // - case 84: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); - break; - } - - // - // Rule 85: assignment_expression ::= unary_expression |= assignment_expression - // - case 85: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); - break; - } - - // - // Rule 88: expression_list ::= expression_list_actual - // - case 88: { - action.consumeExpressionList(); - break; - } - - // - // Rule 90: expression_list_opt ::= $Empty - // - case 90: { - action.consumeEmpty(); - break; - } - - // - // Rule 100: statement ::= ERROR_TOKEN - // - case 100: { - action.consumeStatementProblem(); - break; - } - - // - // Rule 101: labeled_statement ::= identifier_token : statement - // - case 101: { - action.consumeStatementLabeled(); - break; - } - - // - // Rule 102: labeled_statement ::= case constant_expression : statement - // - case 102: { - action.consumeStatementCase(); - break; - } - - // - // Rule 103: labeled_statement ::= default : statement - // - case 103: { - action.consumeStatementDefault(); - break; - } - - // - // Rule 104: compound_statement ::= { } - // - case 104: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 105: compound_statement ::= { block_item_list } - // - case 105: { - action.consumeStatementCompoundStatement(true); - break; - } - - // - // Rule 109: block_item ::= declaration - // - case 109: { - action.consumeStatementDeclarationWithDisambiguation(); - break; - } - - // - // Rule 110: expression_statement ::= ; - // - case 110: { - action.consumeStatementNull(); - break; - } - - // - // Rule 111: expression_statement ::= expression_in_statement ; - // - case 111: { - action.consumeStatementExpression(); - break; - } - - // - // Rule 112: selection_statement ::= if ( expression ) statement - // - case 112: { - action.consumeStatementIf(false); - break; - } - - // - // Rule 113: selection_statement ::= if ( expression ) statement else statement - // - case 113: { - action.consumeStatementIf(true); - break; - } - - // - // Rule 114: selection_statement ::= switch ( expression ) statement - // - case 114: { - action.consumeStatementSwitch(); - break; - } - - // - // Rule 116: expression_opt ::= $Empty - // - case 116: { - action.consumeEmpty(); - break; - } - - // - // Rule 117: iteration_statement ::= do statement while ( expression ) ; - // - case 117: { - action.consumeStatementDoLoop(true); - break; - } - - // - // Rule 118: iteration_statement ::= do statement - // - case 118: { - action.consumeStatementDoLoop(false); - break; - } - - // - // Rule 119: iteration_statement ::= while ( expression ) statement - // - case 119: { - action.consumeStatementWhileLoop(); - break; - } - - // - // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement - // - case 120: { - action.consumeStatementForLoop(); - break; - } - - // - // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement - // - case 121: { - action.consumeStatementForLoop(); - break; - } - - // - // Rule 122: jump_statement ::= goto identifier_token ; - // - case 122: { - action.consumeStatementGoto(); - break; - } - - // - // Rule 123: jump_statement ::= continue ; - // - case 123: { - action.consumeStatementContinue(); - break; - } - - // - // Rule 124: jump_statement ::= break ; - // - case 124: { - action.consumeStatementBreak(); - break; - } - - // - // Rule 125: jump_statement ::= return ; - // - case 125: { - action.consumeStatementReturn(false); - break; - } - - // - // Rule 126: jump_statement ::= return expression ; - // - case 126: { - action.consumeStatementReturn(true); - break; - } - - // - // Rule 127: declaration ::= declaration_specifiers ; - // - case 127: { - action.consumeDeclarationSimple(false); - break; - } - - // - // Rule 128: declaration ::= declaration_specifiers init_declarator_list ; - // - case 128: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 129: declaration_specifiers ::= simple_declaration_specifiers - // - case 129: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 130: declaration_specifiers ::= struct_or_union_declaration_specifiers - // - case 130: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 131: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 131: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 132: declaration_specifiers ::= enum_declaration_specifiers - // - case 132: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 133: declaration_specifiers ::= typdef_name_declaration_specifiers - // - case 133: { - action.consumeDeclarationSpecifiersTypedefName(); - break; - } - - // - // Rule 158: init_declarator ::= complete_declarator = initializer - // - case 158: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 160: storage_class_specifier ::= storage_class_specifier_token - // - case 160: { - action.consumeToken(); - break; - } - - // - // Rule 166: simple_type_specifier ::= simple_type_specifier_token - // - case 166: { - action.consumeToken(); - break; - } - - // - // Rule 179: type_name_specifier ::= identifier_token - // - case 179: { - action.consumeToken(); - break; - } - - // - // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { struct_declaration_list_opt } - // - case 180: { - action.consumeTypeSpecifierComposite(false); - break; - } - - // - // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { struct_declaration_list_opt } - // - case 181: { - action.consumeTypeSpecifierComposite(true); - break; - } - - // - // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token - // - case 186: { - action.consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); - break; - } - - // - // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token - // - case 187: { - action.consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); - break; - } - - // - // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token - // - case 188: { - action.consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); - break; - } - - // - // Rule 194: struct_declaration ::= specifier_qualifier_list struct_declarator_list ; - // - case 194: { - action.consumeStructDeclaration(true); - break; - } - - // - // Rule 195: struct_declaration ::= specifier_qualifier_list ; - // - case 195: { - action.consumeStructDeclaration(false); - break; - } - - // - // Rule 196: struct_declaration ::= ERROR_TOKEN - // - case 196: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 202: struct_declarator ::= : constant_expression - // - case 202: { - action.consumeBitField(false); - break; - } - - // - // Rule 203: struct_declarator ::= declarator : constant_expression - // - case 203: { - action.consumeBitField(true); - break; - } - - // - // Rule 204: enum_specifier ::= enum enum_specifier_hook { enumerator_list_opt comma_opt } - // - case 204: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { enumerator_list_opt comma_opt } - // - case 205: { - action.consumeTypeSpecifierEnumeration(true); - break; - } - - // - // Rule 211: enumerator ::= identifier_token - // - case 211: { - action.consumeEnumerator(false); - break; - } - - // - // Rule 212: enumerator ::= identifier_token = constant_expression - // - case 212: { - action.consumeEnumerator(true); - break; - } - - // - // Rule 213: type_qualifier ::= type_qualifier_token - // - case 213: { - action.consumeToken(); - break; - } - - // - // Rule 217: function_specifier ::= inline - // - case 217: { - action.consumeToken(); - break; - } - - // - // Rule 219: declarator ::= pointer_seq direct_declarator - // - case 219: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 224: basic_direct_declarator ::= declarator_id_name - // - case 224: { - action.consumeDirectDeclaratorIdentifier(); - break; - } - - // - // Rule 225: basic_direct_declarator ::= ( declarator ) - // - case 225: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 226: declarator_id_name ::= identifier - // - case 226: { - action.consumeIdentifierName(); - break; - } - - // - // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier - // - case 227: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier - // - case 228: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( parameter_type_list ) - // - case 230: { - action.consumeDirectDeclaratorFunctionDeclarator(true, true); - break; - } - - // - // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) - // - case 231: { - action.consumeDirectDeclaratorFunctionDeclarator(true, false); - break; - } - - // - // Rule 233: function_declarator ::= pointer_seq function_direct_declarator - // - case 233: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) - // - case 234: { - action.consumeDirectDeclaratorFunctionDeclaratorKnR(); - break; - } - - // - // Rule 236: knr_function_declarator ::= pointer_seq knr_direct_declarator - // - case 236: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 237: identifier_list ::= identifier - // - case 237: { - action.consumeIdentifierKnR(); - break; - } - - // - // Rule 238: identifier_list ::= identifier_list , identifier - // - case 238: { - action.consumeIdentifierKnR(); - break; - } - - // - // Rule 239: array_modifier ::= [ ] - // - case 239: { - action.consumeDirectDeclaratorArrayModifier(false); - break; - } - - // - // Rule 240: array_modifier ::= [ array_modifier_type_qualifiers ] - // - case 240: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); - break; - } - - // - // Rule 241: array_modifier ::= [ assignment_expression ] - // - case 241: { - action.consumeDirectDeclaratorArrayModifier(true); - break; - } - - // - // Rule 242: array_modifier ::= [ array_modifier_type_qualifiers assignment_expression ] - // - case 242: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); - break; - } - - // - // Rule 243: array_modifier ::= [ static assignment_expression ] - // - case 243: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); - break; - } - - // - // Rule 244: array_modifier ::= [ static array_modifier_type_qualifiers assignment_expression ] - // - case 244: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); - break; - } - - // - // Rule 245: array_modifier ::= [ array_modifier_type_qualifiers static assignment_expression ] - // - case 245: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); - break; - } - - // - // Rule 246: array_modifier ::= [ * ] - // - case 246: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); - break; - } - - // - // Rule 247: array_modifier ::= [ array_modifier_type_qualifiers * ] - // - case 247: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); - break; - } - - // - // Rule 249: pointer_seq ::= pointer_hook * pointer_hook - // - case 249: { - action.consumePointer(); - break; - } - - // - // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook - // - case 250: { - action.consumePointer(); - break; - } - - // - // Rule 251: pointer_seq ::= pointer_hook * pointer_hook type_qualifier_list - // - case 251: { - action.consumePointerTypeQualifierList(); - break; - } - - // - // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook type_qualifier_list - // - case 252: { - action.consumePointerTypeQualifierList(); - break; - } - - // - // Rule 256: parameter_type_list ::= parameter_list - // - case 256: { - action.consumeEmpty(); - break; - } - - // - // Rule 257: parameter_type_list ::= parameter_list , ... - // - case 257: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 258: parameter_type_list ::= ... - // - case 258: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator - // - case 261: { - action.consumeParameterDeclaration(); - break; - } - - // - // Rule 262: parameter_declaration ::= declaration_specifiers - // - case 262: { - action.consumeParameterDeclarationWithoutDeclarator(); - break; - } - - // - // Rule 265: type_id ::= specifier_qualifier_list - // - case 265: { - action.consumeTypeId(false); - break; - } - - // - // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator - // - case 266: { - action.consumeTypeId(true); - break; - } - - // - // Rule 268: abstract_declarator ::= pointer_seq - // - case 268: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 269: abstract_declarator ::= pointer_seq direct_abstract_declarator - // - case 269: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) - // - case 273: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 274: array_direct_abstract_declarator ::= array_modifier - // - case 274: { - action.consumeDirectDeclaratorArrayDeclarator(false); - break; - } - - // - // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier - // - case 275: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier - // - case 276: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 277: function_direct_abstract_declarator ::= ( ) - // - case 277: { - action.consumeDirectDeclaratorFunctionDeclarator(false, false); - break; - } - - // - // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) - // - case 278: { - action.consumeDirectDeclaratorFunctionDeclarator(true, false); - break; - } - - // - // Rule 279: function_direct_abstract_declarator ::= ( parameter_type_list ) - // - case 279: { - action.consumeDirectDeclaratorFunctionDeclarator(false, true); - break; - } - - // - // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_type_list ) - // - case 280: { - action.consumeDirectDeclaratorFunctionDeclarator(true, true); - break; - } - - // - // Rule 281: initializer ::= assignment_expression - // - case 281: { - action.consumeInitializer(); - break; - } - - // - // Rule 282: initializer ::= initializer_list - // - case 282: { - action.consumeInitializer(); - break; - } - - // - // Rule 283: initializer_list ::= start_initializer_list { initializer_seq comma_opt } end_initializer_list - // - case 283: { - action.consumeInitializerList(); - break; - } - - // - // Rule 284: initializer_list ::= { } - // - case 284: { - action.consumeInitializerList(); - break; - } - - // - // Rule 285: start_initializer_list ::= $Empty - // - case 285: { - action.initializerListStart(); - break; - } - - // - // Rule 286: end_initializer_list ::= $Empty - // - case 286: { - action.initializerListEnd(); - break; - } - - // - // Rule 291: designated_initializer ::= designation = initializer - // - case 291: { - action.consumeInitializerDesignated(); - break; - } - - // - // Rule 295: designator_base ::= [ constant_expression ] - // - case 295: { - action.consumeDesignatorArray(); - break; - } - - // - // Rule 296: designator_base ::= . identifier_token - // - case 296: { - action.consumeDesignatorField(); - break; - } - - // - // Rule 297: designator ::= [ constant_expression ] - // - case 297: { - action.consumeDesignatorArray(); - break; - } - - // - // Rule 298: designator ::= . identifier_token - // - case 298: { - action.consumeDesignatorField(); - break; - } - - // - // Rule 299: translation_unit ::= external_declaration_list - // - case 299: { - action.consumeTranslationUnit(); - break; - } - - // - // Rule 300: translation_unit ::= $Empty - // - case 300: { - action.consumeTranslationUnit(); - break; - } - - // - // Rule 305: external_declaration ::= ; - // - case 305: { - action.consumeDeclarationEmpty(); - break; - } - - // - // Rule 306: external_declaration ::= ERROR_TOKEN - // - case 306: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 310: function_definition ::= function_declarator function_body - // - case 310: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 311: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement - // - case 311: { - action.consumeFunctionDefinitionKnR(); - break; - } - - // - // Rule 312: normal_function_definition ::= declaration_specifiers function_declarator function_body - // - case 312: { - action.consumeFunctionDefinition(true); - break; - } - - // - // Rule 313: function_body ::= { } - // - case 313: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 314: function_body ::= { block_item_list } - // - case 314: { - action.consumeStatementCompoundStatement(true); - break; - } - - // - // Rule 316: no_cast_start ::= ERROR_TOKEN - // - case 316: { - action.consumeEmpty(); - break; - } - - // - // Rule 317: literal ::= MYTHREAD - // - case 317: { - action.consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); - break; - } - - // - // Rule 318: literal ::= THREADS - // - case 318: { - action.consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); - break; - } - - // - // Rule 319: literal ::= UPC_MAX_BLOCKSIZE - // - case 319: { - action.consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); - break; - } - - // - // Rule 320: unary_expression ::= upc_localsizeof unary_expression - // - case 320: { - action.consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); - break; - } - - // - // Rule 321: unary_expression ::= upc_localsizeof ( type_id ) - // - case 321: { - action.consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); - break; - } - - // - // Rule 322: unary_expression ::= upc_blocksizeof unary_expression - // - case 322: { - action.consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); - break; - } - - // - // Rule 323: unary_expression ::= upc_blocksizeof ( type_id ) - // - case 323: { - action.consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); - break; - } - - // - // Rule 324: unary_expression ::= upc_elemsizeof unary_expression - // - case 324: { - action.consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); - break; - } - - // - // Rule 325: unary_expression ::= upc_elemsizeof ( type_id ) - // - case 325: { - action.consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); - break; - } - - // - // Rule 329: shared_type_qualifier ::= shared - // - case 329: { - action.consumeToken(); - break; - } - - // - // Rule 330: reference_type_qualifier ::= relaxed - // - case 330: { - action.consumeToken(); - break; - } - - // - // Rule 331: reference_type_qualifier ::= strict - // - case 331: { - action.consumeToken(); - break; - } - - // - // Rule 332: layout_qualifier ::= [ constant_expression ] - // - case 332: { - action.consumeLayoutQualifier(true, false); - break; - } - - // - // Rule 333: layout_qualifier ::= [ * ] - // - case 333: { - action.consumeLayoutQualifier(false, true); - break; - } - - // - // Rule 334: layout_qualifier ::= [ ] - // - case 334: { - action.consumeLayoutQualifier(false, false); - break; - } - - // - // Rule 336: synchronization_statement ::= upc_notify expression ; - // - case 336: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); - break; - } - - // - // Rule 337: synchronization_statement ::= upc_notify ; - // - case 337: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); - break; - } - - // - // Rule 338: synchronization_statement ::= upc_wait expression ; - // - case 338: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); - break; - } - - // - // Rule 339: synchronization_statement ::= upc_wait ; - // - case 339: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); - break; - } - - // - // Rule 340: synchronization_statement ::= upc_barrier expression ; - // - case 340: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); - break; - } - - // - // Rule 341: synchronization_statement ::= upc_barrier ; - // - case 341: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); - break; - } - - // - // Rule 342: synchronization_statement ::= upc_fence ; - // - case 342: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); - break; - } - - // - // Rule 343: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement - // - case 343: { - action.consumeStatementUPCForallLoop(true, true, true, true); - break; - } - - // - // Rule 344: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement - // - case 344: { - action.consumeStatementUPCForallLoop(true, true, true, false); - break; - } - - // - // Rule 345: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement - // - case 345: { - action.consumeStatementUPCForallLoop(true, true, false, true); - break; - } - - // - // Rule 346: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement - // - case 346: { - action.consumeStatementUPCForallLoop(true, true, false, false); - break; - } - - // - // Rule 347: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement - // - case 347: { - action.consumeStatementUPCForallLoop(true, false, true, true); - break; - } - - // - // Rule 348: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement - // - case 348: { - action.consumeStatementUPCForallLoop(true, false, true, false); - break; - } - - // - // Rule 349: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement - // - case 349: { - action.consumeStatementUPCForallLoop(true, false, false, true); - break; - } - - // - // Rule 350: iteration_statement ::= upc_forall ( expression ; ; ; ) statement - // - case 350: { - action.consumeStatementUPCForallLoop(true, false, false, false); - break; - } - - // - // Rule 351: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement - // - case 351: { - action.consumeStatementUPCForallLoop(false, true, true, true); - break; - } - - // - // Rule 352: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement - // - case 352: { - action.consumeStatementUPCForallLoop(false, true, true, false); - break; - } - - // - // Rule 353: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement - // - case 353: { - action.consumeStatementUPCForallLoop(false, true, false, true); - break; - } - - // - // Rule 354: iteration_statement ::= upc_forall ( ; expression ; ; ) statement - // - case 354: { - action.consumeStatementUPCForallLoop(false, true, false, false); - break; - } - - // - // Rule 355: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement - // - case 355: { - action.consumeStatementUPCForallLoop(false, false, true, true); - break; - } - - // - // Rule 356: iteration_statement ::= upc_forall ( ; ; expression ; ) statement - // - case 356: { - action.consumeStatementUPCForallLoop(false, false, true, false); - break; - } - - // - // Rule 357: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement - // - case 357: { - action.consumeStatementUPCForallLoop(false, false, false, true); - break; - } - - // - // Rule 358: iteration_statement ::= upc_forall ( ; ; ; ) statement - // - case 358: { - action.consumeStatementUPCForallLoop(false, false, false, false); - break; - } - - // - // Rule 359: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement - // - case 359: { - action.consumeStatementUPCForallLoop(true, true, true, true); - break; - } - - // - // Rule 360: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement - // - case 360: { - action.consumeStatementUPCForallLoop(true, true, true, false); - break; - } - - // - // Rule 361: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement - // - case 361: { - action.consumeStatementUPCForallLoop(true, true, false, true); - break; - } - - // - // Rule 362: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement - // - case 362: { - action.consumeStatementUPCForallLoop(true, true, false, false); - break; - } - - // - // Rule 363: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement - // - case 363: { - action.consumeStatementUPCForallLoop(true, false, true, true); - break; - } - - // - // Rule 364: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement - // - case 364: { - action.consumeStatementUPCForallLoop(true, false, true, false); - break; - } - - // - // Rule 365: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement - // - case 365: { - action.consumeStatementUPCForallLoop(true, false, false, true); - break; - } - - // - // Rule 366: iteration_statement ::= upc_forall ( declaration ; ; ) statement - // - case 366: { - action.consumeStatementUPCForallLoop(true, false, false, false); - break; - } - - // - // Rule 368: affinity ::= continue - // - case 368: { - action.consumeToken(); - break; - } - - default: - break; - } - return; - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java deleted file mode 100644 index 0f4d098f517..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java +++ /dev/null @@ -1,752 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2011 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.parser.upc; - -public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UPCNoCastExpressionParsersym { - - 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, 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, 1, 2, 4, 2, 4, 2, 4, 1, 1, 2, 1, 1, 1, 3, 3, 2, 1, 3, 2, - 3, 2, 3, 2, 2, 11, 10, 10, 9, 10, 9, 9, 8, 10, 9, 9, 8, 9, 8, 8, 7, 10, 9, 9, 8, 9, 8, 8, 7, 1, 1, -38, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -127, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, -129, 0, -77, -81, - -138, 0, 0, 0, 0, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -179, 0, 0, 0, 0, 0, 0, -172, 0, 0, 0, 0, 0, 0, - -86, 0, 0, 0, 0, 0, 0, 0, -39, 0, -40, 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, -61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -145, 0, 0, -4, 0, -88, -142, 0, -18, -117, -180, 0, 0, 0, 0, - 0, -135, 0, -196, -35, 0, -203, 0, 0, 0, 0, 0, -36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -194, 0, -209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -213, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -57, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -82, 0, -79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -89, -19, -84, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, -121, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -96, 0, 0, 0, 0, - 0, 0, 0, 0, -21, 0, 0, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -130, 0, -141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -73, 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, -63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -74, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -65, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -75, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -76, 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, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -95, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -71, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, -72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -143, 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, 0, 0, 0, -158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -166, 0, 0, 0, 0, 0, 0, 0, 0, 0, -193, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22, 0, 0, - 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, -208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, - 0, 0, 0, 0, -131, 0, -132, 0, -78, -93, 0, -24, -222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -165, 0, -150, -144, -133, 0, 0, 0, 0, 0, -122, 0, -25, -184, 0, -10, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -26, 0, 0, -177, 0, 0, 0, 0, -113, -83, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -161, -85, -155, 0, 0, -28, 0, 0, 0, 0, 0, 0, -44, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -29, 0, 0, 0, 0, 0, 0, 0, 0, -94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -192, 0, 0, 0, 0, 0, -210, - 0, -7, 0, 0, 0, 0, 0, 0, 0, -58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -54, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -199, 0, 0, -11, 0, 0, 0, 0, 0, 0, 0, 0, -55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -91, 0, -56, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -221, 0, -136, 0, 0, 0, 0, 0, 0, 0, -97, 0, -98, 0, -114, -207, 0, 0, -48, 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, -99, -100, -101, 0, - 0, -162, -102, 0, 0, -49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -223, 0, 0, - 0, 0, -51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, -216, -80, -87, 0, -8, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -103, -151, 0, -153, -104, 0, 0, 0, 0, 0, -182, -90, 0, -163, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -92, -156, -126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -105, 0, 0, -183, 0, 0, - 0, 0, -171, 0, 0, 0, 0, -106, 0, 0, 0, 0, -140, 0, 0, 0, 0, -124, 0, 0, 0, 0, 0, 0, 0, -149, 0, 0, 0, 0, - 0, 0, 0, -169, 0, -1, 0, 0, -107, 0, 0, -108, 0, -109, 0, -148, 0, 0, -160, 0, 0, 0, 0, 0, 0, 0, -12, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -110, 0, 0, -13, 0, 0, 0, 0, 0, 0, 0, -14, 0, 0, 0, 0, 0, 0, 0, -37, -45, - 0, 0, 0, 0, 0, 0, 0, -186, -164, 0, -46, 0, 0, 0, 0, 0, 0, 0, -47, 0, 0, 0, 0, 0, 0, 0, 0, -178, -15, 0, - 0, 0, 0, 0, 0, 0, -159, 0, 0, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -174, -111, -173, -17, 0, -112, 0, - -181, 0, 0, -118, -31, 0, 0, 0, -189, -32, -200, 0, 0, -120, -137, 0, 0, 0, 0, 0, 0, -170, 0, 0, 0, 0, - 0, 0, 0, -119, 0, 0, -33, 0, 0, 0, 0, -146, -152, 0, 0, 0, -123, 0, -34, -204, 0, -167, 0, -168, -185, - 0, 0, -201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -139, 0, 0, 0, 0, 0, -187, 0, 0, -115, 0, 0, 0, 0, 0, 0, 0, 0, - -197, -198, 0, -188, 0, 0, 0, 0, 0, -195, 0, 0, 0, -116, 0, -147, -212, 0, -175, 0, -41, -176, -206, 0, - 0, 0, 0, 0, 0, 0, -217, 0, 0, 0, 0, 0, -191, 0, 0, 0, 0, 0, 0, 0, 0, 0, -42, 0, 0, 0, 0, 0, -218, 0, 0, - 0, -59, 0, 0, 0, 0, 0, 0, -215, -211, -220, -219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 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; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[index]; - } - - public interface BaseAction { - public final static char baseAction[] = { 89, 11, 105, 22, 22, 21, 21, 46, 46, 72, 72, 1, 1, 2, 2, 2, 2, 3, 3, - 3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 62, 62, 73, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 8, 8, 8, 8, 9, 9, 9, 10, - 10, 10, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 106, 31, 30, 90, 90, 74, 74, 47, 107, 107, 107, 107, 107, 107, 107, 108, - 108, 108, 109, 109, 114, 114, 115, 115, 110, 110, 111, 111, 111, 117, 117, 112, 112, 112, 112, 112, 113, - 113, 113, 113, 113, 116, 116, 27, 27, 27, 27, 27, 33, 33, 33, 80, 80, 75, 75, 75, 75, 76, 76, 76, 77, - 77, 77, 78, 78, 78, 79, 79, 79, 118, 118, 119, 119, 120, 34, 36, 36, 36, 36, 36, 56, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 66, 63, 63, 91, 92, 68, 68, 64, 64, 64, 69, 81, 81, 82, 82, 70, 70, 70, 37, - 93, 93, 83, 84, 84, 84, 65, 65, 94, 85, 85, 86, 86, 71, 71, 23, 24, 24, 24, 35, 53, 53, 39, 39, 39, 39, - 42, 42, 44, 40, 40, 41, 45, 45, 121, 121, 43, 122, 122, 95, 95, 28, 28, 28, 28, 28, 28, 28, 28, 28, 87, - 54, 54, 54, 54, 29, 59, 59, 58, 58, 58, 60, 60, 55, 55, 96, 96, 52, 52, 61, 61, 61, 48, 48, 48, 49, 50, - 50, 50, 51, 51, 51, 51, 67, 67, 32, 32, 38, 98, 97, 97, 97, 97, 88, 99, 100, 100, 101, 101, 102, 102, - 123, 123, 124, 124, 125, 125, 125, 125, 127, 127, 126, 126, 126, 128, 129, 129, 89, 89, 2, 2, 2, 6, 6, - 6, 6, 6, 6, 23, 23, 25, 25, 26, 26, 103, 103, 103, 107, 130, 130, 130, 130, 130, 130, 130, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 131, 131, 1, 1304, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 675, 721, 1186, 1162, 1236, 1223, - 1277, 1246, 74, 91, 450, 1811, 135, 213, 326, 327, 80, 1213, 582, 588, 88, 278, 137, 134, 136, 160, 606, - 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, 675, 721, 1186, 1162, 1236, 1223, 1708, 175, 139, 166, 275, - 1796, 1549, 28, 119, 143, 146, 149, 152, 1717, 431, 231, 191, 31, 191, 31, 513, 1245, 1273, 1504, 1533, - 1548, 1184, 542, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 424, 721, 1186, 1162, 1236, 1223, 1277, - 1246, 74, 281, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, 282, 721, 1186, 1162, 1236, 1712, 1717, - 351, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 424, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, - 281, 225, 179, 25, 277, 24, 583, 176, 287, 59, 53, 815, 282, 396, 1832, 555, 293, 63, 1717, 915, 443, - 526, 191, 1784, 135, 213, 326, 327, 443, 288, 255, 213, 326, 327, 137, 134, 136, 160, 1570, 274, 1728, - 398, 255, 213, 326, 327, 914, 289, 926, 19, 219, 1450, 221, 1535, 223, 224, 229, 139, 166, 269, 628, - 399, 272, 284, 143, 146, 149, 152, 290, 431, 326, 255, 213, 326, 327, 735, 1245, 1273, 1504, 1533, 1548, - 1184, 574, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 210, 721, 1186, 1162, 1236, 1223, 1277, 1246, - 74, 281, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, 282, 721, 1186, 1162, 1609, 776, 1717, 281, - 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 1756, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 1221, - 194, 239, 615, 78, 661, 276, 294, 291, 606, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 193, 721, - 1186, 1162, 1236, 1223, 1277, 1246, 74, 91, 766, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 1778, - 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 1580, 470, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, - 743, 721, 1186, 1162, 1236, 1223, 1277, 1246, 93, 64, 1179, 334, 606, 20, 17, 21, 18, 518, 43, 44, 1406, - 513, 22, 191, 187, 316, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 1613, 721, 1186, 1162, 1236, - 1223, 1277, 1246, 74, 1693, 328, 240, 606, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 443, 721, - 1186, 1162, 1236, 1223, 1277, 1246, 74, 92, 606, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 1244, - 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 85, 606, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, - 443, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 84, 606, 20, 17, 21, 18, 518, 1295, 44, 670, 654, - 1106, 1410, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 83, 606, 20, 17, 21, 18, 518, 1295, 44, 670, - 654, 1106, 443, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 82, 606, 20, 17, 21, 18, 518, 1295, 44, - 670, 654, 1106, 1787, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 81, 606, 20, 17, 21, 18, 518, 1295, - 44, 670, 654, 1106, 443, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 80, 606, 20, 17, 21, 18, 518, - 1295, 44, 670, 654, 1106, 1809, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 79, 606, 20, 17, 21, 18, - 518, 1295, 44, 670, 654, 1106, 443, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 78, 606, 20, 17, 21, - 18, 518, 1295, 44, 670, 654, 1106, 23, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 77, 606, 20, 17, 21, - 18, 518, 1295, 44, 670, 654, 1106, 443, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 76, 606, 20, 17, - 21, 18, 518, 1295, 44, 670, 654, 1106, 273, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 75, 606, 20, - 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 443, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 73, 606, - 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 279, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, 1814, - 606, 20, 17, 21, 18, 518, 1295, 44, 670, 654, 1106, 443, 721, 1186, 1162, 1236, 1223, 1277, 1246, 74, - 1817, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, 280, 721, 1186, 1162, 1236, 1223, 1277, 1246, - 93, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, 139, 721, 1186, 1162, 1236, 1223, 1277, 1246, 93, - 638, 20, 17, 21, 18, 518, 324, 1818, 606, 20, 17, 21, 18, 518, 43, 40, 606, 20, 17, 21, 18, 518, 43, 44, - 670, 654, 1106, 212, 721, 1186, 1162, 1236, 1223, 1277, 1246, 93, 606, 20, 17, 21, 18, 518, 43, 44, 670, - 654, 1106, 349, 721, 1186, 1162, 1236, 1223, 1277, 1246, 93, 670, 20, 17, 21, 18, 518, 322, 1862, 191, - 186, 537, 1752, 88, 225, 179, 16, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, 202, 721, 1186, - 1162, 1236, 1223, 1277, 1246, 93, 135, 213, 326, 327, 712, 1727, 152, 398, 191, 188, 138, 134, 136, 160, - 743, 510, 6, 113, 1665, 606, 20, 17, 21, 18, 518, 43, 39, 203, 510, 24, 1743, 1214, 443, 140, 166, 274, - 241, 678, 383, 171, 144, 147, 150, 153, 197, 431, 218, 1450, 221, 1535, 223, 224, 229, 225, 1565, 267, - 628, 399, 272, 260, 263, 135, 213, 326, 327, 941, 814, 88, 264, 28, 230, 142, 134, 136, 160, 1717, 1684, - 606, 20, 17, 21, 18, 518, 43, 44, 1408, 277, 193, 325, 135, 213, 326, 327, 274, 141, 166, 1709, 798, - 1761, 145, 134, 136, 160, 261, 218, 1450, 221, 1535, 223, 224, 229, 191, 296, 267, 628, 399, 272, 443, - 1239, 702, 20, 17, 21, 18, 518, 320, 981, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, 230, 721, - 1186, 1611, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, 72, 721, 1562, 606, 20, 17, 21, 18, 518, - 43, 38, 1826, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1106, 647, 1575, 606, 20, 17, 21, 18, 518, 43, - 44, 670, 654, 1106, 72, 1606, 53, 218, 1450, 221, 1535, 223, 224, 229, 227, 1826, 324, 450, 742, 191, - 298, 1859, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1445, 606, 20, 17, 21, 18, 518, 43, 44, 670, - 1522, 218, 1450, 221, 1535, 223, 224, 229, 28, 198, 200, 151, 458, 804, 1717, 1859, 813, 818, 1215, 579, - 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1446, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1447, 554, - 1181, 228, 199, 200, 606, 20, 17, 21, 18, 518, 43, 44, 670, 654, 1451, 606, 20, 17, 21, 18, 518, 43, 44, - 670, 1526, 502, 291, 844, 1728, 734, 20, 17, 21, 18, 518, 41, 1826, 1550, 219, 1450, 221, 1535, 223, - 224, 229, 614, 53, 277, 53, 646, 135, 213, 326, 327, 274, 63, 855, 1763, 839, 1735, 148, 134, 136, 160, - 218, 1450, 221, 1535, 223, 224, 229, 885, 232, 385, 267, 628, 399, 272, 1239, 135, 213, 326, 327, 1707, - 510, 710, 227, 981, 902, 151, 134, 136, 160, 679, 135, 213, 326, 327, 77, 1360, 1214, 180, 1727, 743, - 154, 134, 136, 160, 435, 20, 17, 21, 18, 518, 43, 36, 435, 20, 17, 21, 18, 518, 43, 36, 53, 243, 505, - 1743, 259, 187, 246, 1023, 350, 1751, 467, 1764, 743, 659, 333, 435, 20, 17, 21, 18, 518, 43, 36, 606, - 20, 17, 21, 18, 518, 43, 37, 1722, 87, 315, 332, 483, 195, 247, 606, 20, 17, 21, 18, 518, 43, 36, 606, - 20, 17, 21, 18, 518, 43, 35, 361, 606, 20, 17, 21, 18, 518, 43, 47, 805, 88, 1183, 606, 20, 17, 21, 18, - 518, 43, 46, 606, 20, 17, 21, 18, 518, 43, 45, 274, 385, 606, 20, 17, 21, 18, 518, 34, 390, 743, 1727, - 510, 606, 20, 17, 21, 18, 518, 33, 267, 628, 399, 272, 124, 513, 896, 53, 1214, 809, 1727, 53, 242, 266, - 930, 53, 520, 1805, 369, 63, 53, 805, 1797, 1767, 243, 707, 369, 254, 213, 326, 327, 369, 682, 1784, - 197, 520, 259, 87, 537, 1023, 445, 1751, 197, 53, 1655, 87, 537, 197, 541, 932, 87, 537, 1655, 124, 369, - 53, 180, 1655, 933, 529, 57, 682, 1784, 528, 63, 1759, 369, 771, 274, 1728, 197, 510, 813, 87, 537, 124, - 254, 213, 326, 327, 1655, 550, 197, 1848, 871, 87, 537, 197, 269, 628, 399, 272, 1655, 715, 169, 855, - 845, 1565, 254, 213, 326, 327, 124, 209, 510, 510, 901, 897, 329, 63, 204, 743, 516, 480, 743, 743, 28, - 1664, 1799, 510, 1214, 197, 1717, 88, 659, 254, 213, 326, 327, 842, 192, 1565, 209, 244, 516, 1214, 245, - 295, 28, 53, 737, 1532, 1224, 89, 1717, 63, 1724, 1799, 259, 53, 659, 1324, 1727, 1751, 283, 181, 884, - 479, 39, 743, 659, 557, 1033, 259, 192, 1921, 1065, 1921, 1751, 87, 712, 1921, 1921, 1921, 1921, 1812, - 1224, 1476, 234, 87, 1636, 297, 1921, 1921, 1921, 1921, 1921, 1921, 1860, 1921, 1921, 205, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 939, 1921, 0, 329, 701, 0, 20, 179, 0, 1, 2147, 0, - 1, 2158, 0 }; - } - - public final static char baseAction[] = BaseAction.baseAction; - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - public final int lhs(int index) { - return lhs[index]; - } - - public interface TermCheck { - public final static byte termCheck[] = { 0, 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 16, 17, 18, 19, - 20, 21, 22, 0, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 0, 1, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 0, 53, 54, 55, 0, 1, 0, 3, 2, 5, 0, 0, 8, 9, 10, 5, 12, 13, 14, 0, 1, 2, 16, 17, 0, - 0, 73, 0, 1, 23, 3, 6, 7, 70, 71, 0, 32, 33, 34, 35, 36, 37, 15, 72, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 0, 1, 52, 3, 60, 5, 0, 61, 8, 9, 10, 0, 12, 13, 14, 64, 65, 66, 67, 8, 9, - 10, 76, 12, 13, 14, 0, 68, 64, 65, 66, 67, 32, 33, 34, 35, 36, 37, 0, 0, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 0, 1, 0, 3, 60, 5, 0, 0, 8, 9, 10, 0, 12, 13, 14, 8, 9, 10, 0, 12, 13, - 14, 0, 1, 0, 3, 56, 57, 4, 23, 0, 0, 32, 33, 34, 35, 36, 37, 56, 57, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 0, 1, 0, 3, 60, 0, 4, 0, 8, 9, 10, 61, 12, 13, 14, 8, 9, 10, 0, 12, 13, 14, - 4, 77, 78, 0, 64, 65, 66, 67, 62, 63, 32, 33, 34, 35, 36, 37, 0, 0, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 0, 53, 54, 55, 0, 1, 2, 3, 4, 5, 6, 7, 62, 63, 0, 11, 2, 0, 0, 5, 16, 17, 18, 19, 20, 21, - 22, 74, 24, 25, 26, 27, 28, 29, 30, 31, 32, 23, 38, 0, 1, 2, 3, 4, 5, 6, 7, 0, 0, 0, 11, 4, 0, 39, 5, - 16, 17, 18, 19, 20, 21, 22, 58, 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 0, 11, - 0, 11, 2, 38, 4, 15, 16, 17, 18, 19, 20, 21, 22, 58, 24, 25, 26, 27, 28, 29, 30, 31, 0, 23, 0, 62, 63, - 59, 4, 0, 8, 9, 10, 69, 12, 13, 14, 0, 1, 2, 75, 4, 52, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 32, - 33, 34, 35, 36, 37, 23, 72, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 1, 2, 3, 4, 5, 6, 7, 0, - 59, 0, 11, 2, 5, 4, 0, 16, 17, 18, 19, 20, 21, 22, 0, 24, 25, 26, 27, 28, 29, 30, 31, 0, 23, 0, 0, 1, 2, - 3, 4, 5, 6, 7, 11, 0, 0, 11, 39, 0, 5, 5, 16, 17, 18, 19, 20, 21, 22, 58, 24, 25, 26, 27, 28, 29, 30, - 31, 0, 1, 2, 0, 1, 2, 3, 4, 0, 6, 7, 0, 56, 57, 11, 38, 39, 39, 0, 16, 17, 18, 19, 20, 21, 22, 58, 24, - 25, 26, 27, 28, 29, 30, 31, 0, 1, 89, 3, 0, 0, 1, 2, 3, 4, 0, 6, 7, 0, 68, 15, 11, 0, 1, 2, 15, 16, 17, - 18, 19, 20, 21, 22, 60, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, 2, 3, 4, 38, 6, 7, 0, 0, 1, 11, 3, 74, 0, - 15, 16, 17, 18, 19, 20, 21, 22, 15, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, 2, 3, 4, 23, 6, 7, 0, 0, 1, - 11, 3, 69, 6, 7, 16, 17, 18, 19, 20, 21, 22, 0, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, 2, 3, 4, 0, 6, 7, - 0, 0, 1, 11, 3, 0, 6, 7, 16, 17, 18, 19, 20, 21, 22, 0, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, 2, 3, 4, - 0, 6, 7, 0, 0, 5, 11, 0, 1, 23, 3, 16, 17, 18, 19, 20, 21, 22, 15, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, - 2, 3, 4, 0, 6, 7, 0, 4, 0, 11, 39, 0, 1, 38, 16, 17, 18, 19, 20, 21, 22, 0, 24, 25, 26, 27, 28, 29, 30, - 31, 0, 1, 2, 3, 4, 0, 6, 7, 0, 0, 0, 11, 0, 1, 5, 3, 16, 17, 18, 19, 20, 21, 22, 15, 24, 25, 26, 27, 28, - 29, 30, 31, 0, 1, 2, 3, 4, 59, 6, 7, 59, 0, 0, 11, 2, 0, 70, 71, 16, 17, 18, 19, 20, 21, 22, 0, 24, 25, - 26, 27, 28, 29, 30, 31, 0, 23, 2, 58, 4, 5, 0, 0, 8, 9, 10, 0, 12, 13, 14, 0, 0, 0, 1, 2, 0, 4, 0, 23, - 8, 9, 10, 5, 12, 13, 14, 0, 32, 33, 34, 35, 36, 37, 23, 39, 23, 0, 0, 2, 0, 38, 0, 0, 32, 33, 34, 35, - 36, 37, 8, 9, 10, 0, 12, 13, 14, 0, 56, 57, 23, 8, 9, 10, 0, 12, 13, 14, 0, 0, 52, 0, 56, 57, 32, 33, - 34, 35, 36, 37, 73, 38, 0, 0, 15, 32, 33, 34, 35, 36, 37, 8, 9, 10, 0, 12, 13, 14, 0, 0, 0, 0, 8, 9, 10, - 5, 12, 13, 14, 69, 0, 0, 0, 0, 15, 32, 33, 34, 35, 36, 37, 8, 9, 10, 0, 12, 13, 14, 0, 0, 0, 0, 8, 9, - 10, 23, 12, 13, 14, 0, 1, 2, 0, 15, 5, 15, 15, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 23, 15, - 15, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 75, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 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; - - @Override - public final int termCheck(int index) { - return termCheck[index]; - } - - public interface TermAction { - public final static char termAction[] = { 0, 1921, 1932, 1710, 1933, 1639, 68, 1624, 1363, 2135, 2136, 2137, - 1647, 2251, 655, 2252, 62, 1696, 1685, 1506, 1934, 1935, 1936, 1937, 66, 1226, 1123, 2238, 2239, 2240, - 1326, 1171, 1115, 2084, 2085, 2083, 2138, 2086, 2082, 1921, 2159, 2089, 2094, 2093, 2091, 2092, 2090, - 2095, 2096, 2088, 2097, 2098, 2099, 1, 1383, 653, 515, 1921, 1, 32, 1, 1816, 191, 1921, 59, 1, 1, 1, - 1929, 1, 1, 1, 1, 2147, 1502, 1947, 1948, 61, 51, 612, 1921, 1932, 1842, 1933, 1284, 724, 1385, 1372, - 253, 1, 1, 1, 1, 1, 1, 1523, 1334, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 191, 1, 1, 1, 1921, 1, 1928, 1, - 2117, 190, 182, 441, 1, 1, 1, 1921, 1, 1, 1, 1481, 1465, 1454, 1414, 2135, 2136, 2137, 439, 2251, 655, - 2252, 54, 1151, 1481, 1465, 1454, 1414, 1, 1, 1, 1, 1, 1, 58, 183, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 190, 1, 1, 1, 1921, 1, 72, 1, 2117, 191, 1921, 248, 1, 1, 1, 286, 1, 1, 1, 2135, 2136, 2137, 60, 2251, - 655, 2252, 1921, 1932, 48, 1933, 1425, 1492, 1675, 1075, 1921, 1921, 1, 1, 1, 1, 1, 1, 1425, 1492, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 191, 1, 1, 1, 1921, 1932, 50, 1933, 2117, 70, 1675, 249, 2135, 2136, 2137, - 1318, 2251, 655, 2252, 1, 1, 1, 1921, 1, 1, 1, 400, 406, 1852, 1921, 1481, 1465, 1454, 1414, 1667, 1656, - 2084, 2085, 2083, 2138, 2086, 2082, 1921, 1921, 2089, 2094, 2093, 2091, 2092, 2090, 2095, 2096, 2088, - 2097, 2098, 2099, 88, 1383, 653, 515, 1, 1932, 1710, 1933, 1585, 1925, 1624, 1363, 1667, 1656, 1, 1647, - 1503, 1921, 1921, 1927, 1696, 1685, 1506, 1934, 1935, 1936, 1937, 471, 1226, 1123, 2238, 2239, 2240, - 1326, 1171, 1115, 680, 630, 760, 1921, 1932, 1710, 1933, 1616, 1925, 1624, 1363, 49, 43, 1921, 1647, - 1675, 1, 1926, 1931, 1696, 1685, 1506, 1934, 1935, 1936, 1937, 1924, 1226, 1123, 2238, 2239, 2240, 1326, - 1171, 1115, 1054, 64, 67, 1, 1932, 1710, 1933, 1639, 29, 1624, 1363, 1921, 1349, 265, 1647, 1503, 1396, - 1, 3109, 1696, 1685, 1506, 1934, 1935, 1936, 1937, 1924, 1226, 1123, 2238, 2239, 2240, 1326, 1171, 1115, - 129, 630, 1, 1667, 1656, 2179, 253, 1921, 2135, 2136, 2137, 991, 2251, 655, 2252, 262, 2147, 1272, 1930, - 1, 29, 970, 949, 928, 907, 886, 844, 865, 823, 802, 781, 1921, 2084, 2085, 2083, 2138, 2086, 2082, 630, - 1334, 2089, 2094, 2093, 2091, 2092, 2090, 2095, 2096, 2088, 2097, 2098, 2099, 1921, 1932, 1710, 1933, - 1639, 1925, 1624, 1363, 1921, 2179, 268, 1647, 1503, 1927, 253, 1921, 1696, 1685, 1506, 1934, 1935, - 1936, 1937, 57, 1226, 1123, 2238, 2239, 2240, 1326, 1171, 1115, 65, 630, 1921, 1921, 1932, 1710, 1933, - 1593, 1925, 1624, 1363, 1349, 1921, 1, 1647, 1926, 1921, 1927, 90, 1696, 1685, 1506, 1934, 1935, 1936, - 1937, 1924, 1226, 1123, 2238, 2239, 2240, 1326, 1171, 1115, 1, 2147, 1502, 1921, 1, 1, 1, 1, 1921, 1, 1, - 71, 1425, 1492, 1, 1861, 1926, 90, 1921, 1, 1, 1, 1, 1, 1, 1, 1924, 1, 1, 1, 1, 1, 1, 1, 1, 1921, 1932, - 1908, 1933, 256, 1, 1932, 1710, 1933, 1639, 1921, 1624, 1363, 211, 1012, 1525, 1647, 253, 2147, 1502, - 3109, 1696, 1685, 1506, 1934, 1935, 1936, 1937, 2237, 1226, 1123, 2238, 2239, 2240, 1326, 1171, 1115, - 1921, 1932, 1710, 1933, 1639, 1211, 1624, 1363, 1921, 185, 3233, 1647, 3233, 471, 271, 3109, 1696, 1685, - 1506, 1934, 1935, 1936, 1937, 3109, 1226, 1123, 2238, 2239, 2240, 1326, 1171, 1115, 1921, 1932, 1710, - 1933, 1639, 630, 1624, 1363, 53, 184, 3239, 1647, 3239, 1095, 1284, 724, 1696, 1685, 1506, 1934, 1935, - 1936, 1937, 1921, 1226, 1123, 2238, 2239, 2240, 1326, 1171, 1115, 1921, 1932, 1718, 1933, 1639, 1921, - 1624, 1363, 52, 206, 3240, 1647, 3240, 1921, 1284, 724, 1696, 1685, 1506, 1934, 1935, 1936, 1937, 329, - 1226, 1123, 2238, 2239, 2240, 1326, 1171, 1115, 1921, 1932, 1723, 1933, 1639, 1, 1624, 1363, 325, 30, - 1927, 1647, 208, 1932, 1909, 1933, 1696, 1685, 1506, 1934, 1935, 1936, 1937, 3109, 1226, 1123, 2238, - 2239, 2240, 1326, 1171, 1115, 1921, 1932, 1746, 1933, 1639, 1921, 1624, 1363, 63, 1274, 1, 1647, 1926, - 1, 1918, 489, 1696, 1685, 1506, 1934, 1935, 1936, 1937, 1921, 1226, 1123, 2238, 2239, 2240, 1326, 1171, - 1115, 1921, 1932, 1758, 1933, 1639, 1921, 1624, 1363, 323, 1921, 1921, 1647, 207, 531, 1925, 531, 1696, - 1685, 1506, 1934, 1935, 1936, 1937, 3109, 1226, 1123, 2238, 2239, 2240, 1326, 1171, 1115, 1, 1932, 1710, - 1933, 1639, 2178, 1624, 1363, 2179, 1921, 270, 1647, 380, 1921, 1385, 1372, 1696, 1685, 1506, 1934, - 1935, 1936, 1937, 1921, 1226, 1123, 2238, 2239, 2240, 1326, 1171, 1115, 20, 630, 1912, 1924, 1912, 1912, - 56, 30, 179, 179, 179, 69, 179, 179, 179, 220, 130, 268, 2147, 1272, 55, 253, 285, 1912, 2135, 2136, - 2137, 519, 2251, 655, 2252, 1921, 179, 179, 179, 179, 179, 179, 630, 1912, 630, 222, 1921, 417, 1921, - 1950, 131, 207, 2084, 2085, 2083, 2138, 2086, 2082, 2135, 2136, 2137, 132, 2251, 655, 2252, 1921, 1425, - 1492, 630, 2135, 2136, 2137, 1921, 2251, 655, 2252, 1921, 321, 519, 1921, 1425, 1492, 2084, 2085, 2083, - 2138, 2086, 2082, 612, 3035, 201, 133, 3109, 2084, 2085, 2083, 2138, 2086, 2082, 2135, 2136, 2137, 250, - 2251, 655, 2252, 1921, 42, 1, 1921, 1, 1, 1, 1931, 1, 1, 1, 591, 1921, 1921, 292, 251, 3109, 2084, 2085, - 2083, 2138, 2086, 2082, 2135, 2136, 2137, 252, 2251, 655, 2252, 1921, 1921, 1921, 1921, 2135, 2136, - 2137, 1131, 2251, 655, 2252, 1, 1915, 1272, 189, 1398, 1927, 1601, 1714, 1921, 189, 189, 1187, 1921, - 1921, 1921, 1921, 1921, 1921, 185, 1921, 1921, 1921, 1921, 630, 184, 206, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1411, 1921, 1930, 1921, 1921, 1926 }; - } - - public final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[index]; - } - - public interface Asb { - public final static char asb[] = { 0, 443, 1, 89, 69, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 119, 31, - 51, 48, 55, 53, 61, 59, 63, 62, 65, 64, 37, 89, 119, 119, 119, 119, 318, 318, 263, 119, 354, 354, 472, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 318, 318, 318, 318, 29, 267, 80, 321, 316, 315, 235, 112, 247, 27, 247, 27, 27, 247, - 27, 247, 139, 269, 318, 73, 48, 48, 53, 53, 53, 53, 51, 51, 59, 55, 55, 62, 61, 402, 64, 63, 195, 195, - 195, 195, 387, 29, 263, 267, 83, 73, 162, 170, 318, 404, 324, 170, 27, 354, 354, 27, 354, 89, 387, 5, - 267, 255, 162, 73, 169, 80, 318, 261, 139, 317, 326, 73, 170, 29, 357, 29, 390, 5, 255, 255, 89, 89, 73, - 170, 321, 397, 396, 267, 326, 318, 29, 357, 390, 390, 392, 77, 255, 162, 73, 73, 318, 404, 324, 261, - 357, 387, 436, 357, 390, 392, 467, 392, 387, 3, 470, 354, 89, 76, 162, 255, 326, 357, 438, 392, 387, 89, - 354, 31, 7, 73, 354, 89, 255, 318, 317, 387, 231, 89, 230, 108, 267, 387, 73, 355, 438, 89, 108 }; - } - - public final static char asb[] = Asb.asb; - - @Override - public final int asb(int index) { - return asb[index]; - } - - public interface Asr { - public final static byte asr[] = { 0, 89, 0, 5, 52, 23, 61, 16, 17, 11, 4, 6, 7, 24, 25, 18, 29, 30, 31, 2, 19, - 20, 21, 22, 26, 27, 28, 1, 3, 15, 0, 23, 2, 61, 76, 16, 17, 69, 79, 80, 81, 82, 83, 85, 84, 86, 87, 88, - 4, 62, 63, 6, 7, 57, 56, 64, 65, 66, 67, 70, 71, 11, 72, 73, 74, 52, 75, 77, 78, 68, 39, 89, 38, 58, 5, - 0, 69, 23, 61, 0, 58, 5, 32, 8, 9, 10, 12, 13, 14, 19, 20, 21, 22, 26, 27, 28, 3, 16, 17, 11, 6, 7, 24, - 25, 18, 29, 30, 31, 4, 2, 1, 0, 5, 68, 38, 58, 39, 75, 23, 18, 19, 20, 21, 22, 2, 16, 17, 11, 4, 6, 7, - 24, 25, 26, 27, 28, 29, 30, 31, 1, 3, 53, 54, 55, 48, 40, 45, 43, 44, 42, 41, 46, 47, 49, 50, 51, 37, - 34, 32, 33, 36, 35, 8, 9, 10, 13, 12, 14, 0, 32, 58, 5, 16, 17, 11, 4, 6, 7, 24, 25, 18, 29, 30, 31, 2, - 1, 3, 19, 20, 21, 22, 26, 27, 28, 0, 11, 4, 6, 7, 62, 63, 56, 57, 64, 65, 66, 67, 70, 71, 72, 73, 74, - 77, 78, 69, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 58, 39, 52, 89, 15, 68, 75, 5, 38, 0, 48, 40, 45, - 43, 44, 42, 41, 46, 47, 49, 50, 51, 68, 75, 37, 34, 32, 33, 36, 35, 8, 9, 10, 12, 13, 14, 38, 1, 5, 39, - 2, 23, 4, 0, 9, 32, 37, 10, 36, 35, 34, 8, 33, 12, 13, 14, 61, 76, 16, 17, 11, 6, 7, 62, 63, 56, 57, 64, - 65, 66, 67, 70, 71, 72, 73, 74, 77, 78, 69, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 4, 2, 23, 38, 39, 5, - 0, 4, 2, 23, 39, 5, 33, 40, 8, 41, 53, 34, 42, 35, 43, 44, 36, 9, 45, 46, 32, 54, 37, 55, 47, 48, 10, - 49, 50, 51, 12, 13, 14, 59, 3, 1, 0, 33, 40, 8, 41, 53, 34, 42, 35, 43, 44, 36, 9, 45, 46, 32, 54, 37, - 55, 47, 48, 10, 49, 50, 51, 1, 3, 12, 13, 14, 60, 5, 52, 0, 1, 3, 5, 52, 38, 0, 2, 5, 38, 39, 75, 23, - 68, 0, 4, 33, 40, 8, 41, 53, 34, 42, 35, 43, 44, 36, 9, 45, 46, 32, 54, 37, 55, 47, 48, 10, 49, 50, 51, - 1, 3, 12, 13, 14, 59, 0, 75, 5, 4, 1, 2, 68, 0, 18, 19, 20, 21, 22, 1, 3, 2, 16, 17, 11, 4, 6, 7, 24, - 25, 26, 27, 28, 29, 30, 31, 60, 0, 5, 38, 52, 69, 0, 5, 39, 18, 19, 20, 21, 22, 1, 3, 2, 16, 17, 11, 4, - 6, 7, 24, 25, 26, 27, 28, 29, 30, 31, 0 }; - } - - public final static byte asr[] = Asr.asr; - - @Override - public final int asr(int index) { - return asr[index]; - } - - public interface Nasb { - public final static byte nasb[] = { 0, 99, 35, 26, 35, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 102, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 26, 102, 102, 102, 102, 10, 10, 85, 1, 21, 21, 122, 103, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 103, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 10, 10, 10, 10, 12, 57, 48, 84, 15, 15, 65, 52, 66, 19, 66, 82, 82, 66, 81, 66, 60, 35, 10, - 50, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 12, 12, 12, 12, 79, 35, 106, 35, 54, - 50, 110, 49, 10, 89, 9, 49, 7, 7, 7, 7, 7, 26, 44, 79, 35, 42, 110, 50, 49, 36, 10, 75, 28, 35, 91, 50, - 49, 68, 79, 35, 79, 24, 42, 79, 26, 26, 50, 49, 74, 15, 15, 57, 91, 10, 35, 114, 79, 7, 97, 17, 79, 110, - 50, 50, 10, 89, 9, 38, 79, 44, 94, 70, 7, 97, 35, 35, 44, 23, 35, 7, 26, 46, 110, 36, 118, 114, 77, 97, - 44, 26, 7, 112, 25, 50, 7, 26, 36, 10, 10, 44, 95, 26, 35, 77, 57, 44, 50, 35, 77, 26, 40 }; - } - - public final static byte nasb[] = Nasb.nasb; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - public interface Nasr { - public final static char nasr[] = { 0, 80, 78, 77, 68, 76, 75, 1, 0, 11, 21, 0, 38, 32, 0, 28, 0, 100, 0, 91, 0, - 73, 0, 88, 11, 38, 5, 0, 80, 79, 78, 77, 68, 76, 75, 0, 23, 0, 50, 49, 42, 40, 29, 0, 46, 0, 102, 0, 11, - 5, 22, 0, 103, 0, 5, 11, 0, 29, 54, 0, 68, 63, 64, 65, 66, 56, 33, 0, 92, 0, 11, 37, 70, 0, 21, 50, 49, - 42, 40, 11, 0, 94, 69, 0, 21, 49, 50, 11, 0, 29, 54, 11, 27, 0, 11, 72, 0, 62, 0, 11, 89, 0, 37, 11, 31, - 0, 50, 49, 29, 0, 59, 0, 98, 0, 82, 11, 37, 0, 95, 11, 27, 0, 11, 90, 0 }; - } - - public final static char nasr[] = Nasr.nasr; - - @Override - public final int nasr(int index) { - return nasr[index]; - } - - public interface TerminalIndex { - public final static char terminalIndex[] = { 0, 85, 2, 86, 9, 87, 10, 11, 48, 64, 76, 8, 96, 97, 98, 3, 6, 7, - 68, 81, 82, 83, 84, 1, 12, 13, 93, 94, 95, 100, 101, 102, 69, 44, 55, 60, 63, 72, 42, 90, 47, 52, 56, - 61, 62, 66, 67, 74, 75, 78, 79, 80, 91, 54, 70, 73, 16, 17, 89, 30, 107, 4, 14, 15, 18, 19, 20, 21, 29, - 31, 22, 23, 24, 25, 26, 92, 5, 27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 108, 45, 46, 49, 50, 51, - 53, 57, 58, 59, 65, 71, 77, 88, 99, 103, 104, 105, 106 }; - } - - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - - @Override - public final int terminalIndex(int index) { - return terminalIndex[index]; - } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = { 0, 114, 0, 0, 0, 116, 120, 121, 122, 123, 124, 0, 125, 126, 127, - 128, 129, 130, 131, 0, 132, 111, 110, 142, 0, 0, 0, 135, 163, 0, 0, 115, 119, 141, 0, 0, 0, 154, 0, 159, - 161, 0, 162, 0, 0, 0, 112, 134, 172, 173, 174, 0, 118, 150, 160, 169, 144, 0, 164, 167, 168, 171, 0, - 145, 146, 147, 148, 149, 151, 0, 153, 158, 113, 117, 133, 136, 137, 138, 139, 140, 143, 0, 152, 156, 0, - 0, 157, 166, 176, 109, 0, 0, 0, 155, 0, 165, 170, 175, 0, 177, 178, 0, 179, 180, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - - @Override - public final int nonterminalIndex(int index) { - return nonterminalIndex[index]; - } - - public interface ScopePrefix { - public final static char scopePrefix[] = { 120, 151, 130, 59, 69, 159, 26, 186, 35, 87, 105, 75, 6, 12, 16, 40, - 83, 52, 141, 202, 212, 216, 52, 52, 195, 52, 1, 1, 1, 44, 47, 92, 115, 47, 220, 20, 145, 206, 177, 137, - 165, 165, 165, 165, 165, 95, 95, 95 }; - } - - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - - @Override - public final int scopePrefix(int index) { - return scopePrefix[index]; - } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { 128, 128, 128, 4, 4, 128, 32, 192, 10, 4, 10, 80, 10, 10, 10, 10, 4, - 4, 139, 10, 10, 4, 56, 80, 199, 65, 4, 4, 4, 10, 50, 4, 10, 118, 10, 23, 148, 209, 180, 139, 167, 169, - 171, 173, 175, 102, 97, 110 }; - } - - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - - @Override - public final int scopeSuffix(int index) { - return scopeSuffix[index]; - } - - public interface ScopeLhs { - public final static char scopeLhs[] = { 65, 63, 65, 28, 28, 63, 32, 111, 51, 28, 45, 28, 6, 6, 6, 51, 28, 28, - 70, 6, 5, 5, 28, 28, 19, 28, 103, 102, 101, 49, 61, 28, 42, 53, 3, 88, 70, 5, 112, 70, 79, 78, 77, 76, - 75, 45, 43, 45 }; - } - - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - - @Override - public final int scopeLhs(int index) { - return scopeLhs[index]; - } - - public interface ScopeLa { - public final static byte scopeLa[] = { 52, 52, 52, 58, 58, 52, 52, 95, 39, 58, 39, 19, 39, 39, 39, 39, 58, 58, - 75, 39, 39, 58, 4, 19, 68, 32, 58, 58, 58, 39, 2, 58, 39, 1, 39, 69, 1, 39, 101, 75, 1, 53, 54, 54, 48, - 2, 2, 2 }; - } - - public final static byte scopeLa[] = ScopeLa.scopeLa; - - @Override - public final int scopeLa(int index) { - return scopeLa[index]; - } - - public interface ScopeStateSet { - public final static byte scopeStateSet[] = { 28, 28, 28, 32, 32, 28, 19, -1, 36, 32, 9, 32, 43, 43, 43, 36, 32, - 32, 5, 43, 43, 43, 32, 32, 76, 32, 17, 1, 3, 36, 38, 32, 9, 11, 43, 103, 5, 43, -1, 5, 29, 29, 29, 29, - 29, 9, 9, 9 }; - } - - public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet; - - @Override - public final int scopeStateSet(int index) { - return scopeStateSet[index]; - } - - public interface ScopeRhs { - public final static char scopeRhs[] = { 0, 154, 23, 0, 110, 0, 159, 2, 31, 0, 111, 0, 159, 2, 30, 0, 159, 2, 29, - 0, 206, 118, 0, 31, 149, 0, 169, 204, 118, 15, 145, 0, 112, 0, 0, 165, 118, 2, 156, 0, 165, 118, 2, 0, - 168, 2, 0, 161, 118, 0, 172, 0, 194, 118, 23, 0, 9, 110, 0, 127, 32, 194, 118, 23, 0, 69, 132, 110, 0, - 127, 194, 118, 32, 23, 0, 194, 118, 32, 23, 0, 132, 110, 0, 127, 32, 23, 0, 127, 194, 118, 23, 0, 127, - 23, 0, 149, 0, 2, 0, 165, 111, 0, 2, 111, 0, 165, 118, 2, 149, 0, 2, 0, 164, 111, 0, 160, 2, 0, 159, 0, - 169, 192, 118, 15, 108, 201, 53, 0, 112, 0, 169, 192, 118, 15, 201, 53, 0, 144, 0, 113, 0, 200, 118, - 144, 0, 118, 144, 0, 155, 113, 0, 188, 118, 15, 199, 108, 198, 175, 0, 188, 118, 15, 198, 175, 0, 187, - 0, 148, 0, 147, 0, 146, 0, 145, 0, 144, 0, 214, 94, 0, 77, 2, 115, 111, 113, 0, 214, 128, 138, 2, 98, 0, - 53, 0, 0, 138, 78, 125, 0, 29, 132, 0, 159, 2, 18, 0, 159, 2, 0, 111, 119, 0, 197, 2, 112, 0, 138, 23, - 112, 0, 138, 2, 0 }; - } - - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - - @Override - public final int scopeRhs(int index) { - return scopeRhs[index]; - } - - public interface ScopeState { - public final static char scopeState[] = { 0, 555, 0, 424, 0, 1797, 1224, 1763, 0, 1476, 520, 1396, 1502, 1360, - 1272, 1214, 0, 655, 0, 591, 489, 450, 1809, 1787, 1410, 1244, 398, 0, 1184, 510, 369, 0, 1535, 1450, - 628, 399, 520, 1743, 1272, 1214, 1503, 1655, 0, 1616, 1593, 1585, 471, 406, 1334, 612, 1385, 1372, 1349, - 1492, 1425, 1481, 1465, 1454, 1414, 1675, 1667, 1656, 1284, 724, 1696, 1685, 1647, 1639, 1624, 1363, - 1226, 1123, 1506, 1326, 1171, 1115, 1187, 1151, 1131, 591, 1095, 1075, 1054, 1033, 737, 1012, 701, 680, - 630, 991, 970, 949, 928, 907, 886, 865, 844, 823, 802, 781, 369, 760, 659, 489, 450, 0 }; - } - - public final static char scopeState[] = ScopeState.scopeState; - - @Override - public final int scopeState(int index) { - return scopeState[index]; - } - - public interface InSymb { - public final static char inSymb[] = { 0, 0, 196, 118, 181, 31, 30, 29, 18, 25, 24, 7, 6, 4, 11, 17, 16, 2, 112, - 116, 115, 119, 117, 121, 120, 123, 122, 125, 124, 113, 38, 2, 2, 2, 2, 159, 138, 144, 118, 76, 61, 2, - 23, 7, 6, 63, 62, 4, 67, 66, 65, 64, 56, 57, 11, 71, 70, 73, 72, 78, 77, 74, 88, 87, 86, 84, 85, 83, 82, - 81, 80, 79, 69, 159, 159, 159, 159, 128, 118, 23, 2, 157, 156, 182, 13, 183, 175, 184, 55, 54, 185, 53, - 186, 187, 108, 197, 138, 115, 115, 117, 117, 117, 117, 116, 116, 120, 119, 119, 122, 121, 138, 124, 123, - 128, 128, 128, 128, 15, 145, 161, 136, 32, 127, 118, 4, 168, 118, 2, 23, 198, 176, 176, 201, 176, 68, - 118, 15, 136, 4, 118, 127, 194, 166, 165, 134, 118, 167, 118, 154, 4, 108, 15, 108, 15, 118, 4, 136, - 194, 32, 127, 4, 2, 147, 149, 118, 38, 165, 199, 118, 15, 118, 204, 118, 136, 118, 127, 127, 160, 118, - 2, 161, 15, 188, 144, 189, 118, 192, 108, 193, 169, 38, 206, 61, 23, 207, 118, 166, 118, 118, 118, 192, - 169, 69, 38, 153, 69, 154, 61, 23, 166, 165, 202, 188, 200, 68, 160, 2, 118, 169, 154, 38, 38, 68, - 161 }; - } - - public final static char inSymb[] = InSymb.inSymb; - - @Override - public final int inSymb(int index) { - return inSymb[index]; - } - - public interface Name { - public final static String name[] = { "", "[", "(", "{", ".", "->", "++", "--", "&", "*", "+", "-", "~", "!", - "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "...", "=", - "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", "$empty", "auto", "break", "case", - "char", "const", "continue", "default", "do", "double", "else", "enum", "extern", "float", "for", - "goto", "if", "inline", "int", "long", "register", "restrict", "return", "short", "signed", "sizeof", - "static", "struct", "switch", "typedef", "union", "unsigned", "void", "volatile", "while", "_Bool", - "_Complex", "_Imaginary", "integer", "floating", "charconst", "stringlit", "identifier", "Completion", - "EndOfCompletion", "Invalid", "RightBracket", "RightParen", "RightBrace", "SemiColon", "MYTHREAD", - "THREADS", "UPC_MAX_BLOCKSIZE", "relaxed", "shared", "strict", "upc_barrier", "upc_localsizeof", - "upc_blocksizeof", "upc_elemsizeof", "upc_notify", "upc_fence", "upc_wait", "upc_forall", "ERROR_TOKEN", - "EOF_TOKEN", "no_cast_start", "]", ")", "}", ";", "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_list_actual", "constant_expression", "declaration_specifiers", - "simple_declaration_specifiers", "struct_or_union_declaration_sp" + "ecifiers", - "elaborated_declaration_specifi" + "ers", "enum_declaration_specifiers", - "typdef_name_declaration_specif" + "iers", "no_type_declaration_specifier", "type_qualifier", - "no_type_declaration_specifiers", "simple_type_specifier", "struct_or_union_specifier", - "elaborated_specifier", "enum_specifier", "type_name_specifier", "initializer", "declarator", - "struct_or_union", "struct_declaration_list", "struct_declaration", "specifier_qualifier_list", - "struct_declarator_list", "complete_struct_declarator", "enumerator_list", "enumerator", - "direct_declarator", "pointer_seq", "array_direct_declarator", "basic_direct_declarator", - "array_modifier", "parameter_type_list", "identifier_list", "array_modifier_type_qualifiers", - "type_qualifier_list", "parameter_list", "parameter_declaration", "complete_parameter_declarator", - "abstract_declarator", "direct_abstract_declarator", "basic_direct_abstract_declarat" + "or", - "array_direct_abstract_declarat" + "or", "initializer_seq", "designated_initializer", "designation", - "designator_list", "designator", "layout_qualifier" }; - } - - public final static String name[] = Name.name; - - @Override - public final String name(int index) { - return name[index]; - } - - public final static int ERROR_SYMBOL = 60, SCOPE_UBOUND = 47, SCOPE_SIZE = 48, MAX_NAME_LENGTH = 38; - - @Override - public final int getErrorSymbol() { - return ERROR_SYMBOL; - } - - @Override - public final int getScopeUbound() { - return SCOPE_UBOUND; - } - - @Override - public final int getScopeSize() { - return SCOPE_SIZE; - } - - @Override - public final int getMaxNameLength() { - return MAX_NAME_LENGTH; - } - - public final static int NUM_STATES = 223, NT_OFFSET = 107, LA_STATE_OFFSET = 2289, MAX_LA = 2, NUM_RULES = 368, - NUM_NONTERMINALS = 131, NUM_SYMBOLS = 238, SEGMENT_SIZE = 8192, START_STATE = 1603, IDENTIFIER_SYMBOL = 0, - EOFT_SYMBOL = 89, EOLT_SYMBOL = 89, ACCEPT_ACTION = 1908, ERROR_ACTION = 1921; - - public final static boolean BACKTRACK = true; - - @Override - public final int getNumStates() { - return NUM_STATES; - } - - @Override - public final int getNtOffset() { - return NT_OFFSET; - } - - @Override - public final int getLaStateOffset() { - return LA_STATE_OFFSET; - } - - @Override - public final int getMaxLa() { - return MAX_LA; - } - - @Override - public final int getNumRules() { - return NUM_RULES; - } - - @Override - public final int getNumNonterminals() { - return NUM_NONTERMINALS; - } - - @Override - public final int getNumSymbols() { - return NUM_SYMBOLS; - } - - @Override - public final int getSegmentSize() { - return SEGMENT_SIZE; - } - - @Override - public final int getStartState() { - return START_STATE; - } - - @Override - public final int getStartSymbol() { - return lhs[0]; - } - - public final int getIdentifierSymbol() { - return IDENTIFIER_SYMBOL; - } - - @Override - public final int getEoftSymbol() { - return EOFT_SYMBOL; - } - - @Override - public final int getEoltSymbol() { - return EOLT_SYMBOL; - } - - @Override - public final int getAcceptAction() { - return ACCEPT_ACTION; - } - - @Override - public final int getErrorAction() { - return ERROR_ACTION; - } - - @Override - public final boolean isValidForParser() { - return isValidForParser; - } - - @Override - public final boolean getBacktrack() { - return BACKTRACK; - } - - @Override - public final int originalState(int state) { - return -baseCheck[state]; - } - - @Override - public final int asi(int state) { - return asb[originalState(state)]; - } - - @Override - public final int nasi(int state) { - return nasb[originalState(state)]; - } - - @Override - public final int inSymbol(int state) { - return inSymb[originalState(state)]; - } - - @Override - public final int ntAction(int state, int sym) { - return baseAction[state + sym]; - } - - @Override - public final int tAction(int state, int sym) { - int i = baseAction[state], k = i + sym; - return termAction[termCheck[k] == sym ? k : i]; - } - - @Override - public final int lookAhead(int la_state, int sym) { - int k = la_state + sym; - return termAction[termCheck[k] == sym ? k : la_state]; - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParsersym.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParsersym.java deleted file mode 100644 index 716b8fa1e2c..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParsersym.java +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2010 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.parser.upc; - -public interface UPCNoCastExpressionParsersym { - public final static int TK_auto = 33, TK_break = 90, TK_case = 91, TK_char = 40, TK_const = 8, TK_continue = 92, - TK_default = 93, TK_do = 94, TK_double = 41, TK_else = 95, TK_enum = 53, TK_extern = 34, TK_float = 42, - TK_for = 96, TK_goto = 97, TK_if = 98, TK_inline = 35, TK_int = 43, TK_long = 44, TK_register = 36, - TK_restrict = 9, TK_return = 99, TK_short = 45, TK_signed = 46, TK_sizeof = 18, TK_static = 32, - TK_struct = 54, TK_switch = 100, TK_typedef = 37, TK_union = 55, TK_unsigned = 47, TK_void = 48, - TK_volatile = 10, TK_while = 101, TK__Bool = 49, TK__Complex = 50, TK__Imaginary = 51, TK_integer = 19, - TK_floating = 20, TK_charconst = 21, TK_stringlit = 22, TK_identifier = 1, TK_Completion = 3, - TK_EndOfCompletion = 5, TK_Invalid = 102, TK_LeftBracket = 23, TK_LeftParen = 2, TK_LeftBrace = 15, - TK_Dot = 61, TK_Arrow = 76, TK_PlusPlus = 16, TK_MinusMinus = 17, TK_And = 11, TK_Star = 4, TK_Plus = 6, - TK_Minus = 7, TK_Tilde = 24, TK_Bang = 25, TK_Slash = 62, TK_Percent = 63, TK_RightShift = 56, - TK_LeftShift = 57, TK_LT = 64, TK_GT = 65, TK_LE = 66, TK_GE = 67, TK_EQ = 70, TK_NE = 71, TK_Caret = 72, - TK_Or = 73, TK_AndAnd = 74, TK_OrOr = 77, TK_Question = 78, TK_Colon = 68, TK_DotDotDot = 59, - TK_Assign = 69, TK_StarAssign = 79, TK_SlashAssign = 80, TK_PercentAssign = 81, TK_PlusAssign = 82, - TK_MinusAssign = 83, TK_RightShiftAssign = 84, TK_LeftShiftAssign = 85, TK_AndAssign = 86, - TK_CaretAssign = 87, TK_OrAssign = 88, TK_Comma = 38, TK_RightBracket = 58, TK_RightParen = 39, - TK_RightBrace = 52, TK_SemiColon = 75, TK_MYTHREAD = 26, TK_THREADS = 27, TK_UPC_MAX_BLOCKSIZE = 28, - TK_relaxed = 12, TK_shared = 13, TK_strict = 14, TK_upc_barrier = 103, TK_upc_localsizeof = 29, - TK_upc_blocksizeof = 30, TK_upc_elemsizeof = 31, TK_upc_notify = 104, TK_upc_fence = 105, TK_upc_wait = 106, - TK_upc_forall = 107, TK_ERROR_TOKEN = 60, TK_EOF_TOKEN = 89; - - public final static String orderedTerminalSymbols[] = { "", "identifier", "LeftParen", "Completion", "Star", - "EndOfCompletion", "Plus", "Minus", "const", "restrict", "volatile", "And", "relaxed", "shared", "strict", - "LeftBrace", "PlusPlus", "MinusMinus", "sizeof", "integer", "floating", "charconst", "stringlit", - "LeftBracket", "Tilde", "Bang", "MYTHREAD", "THREADS", "UPC_MAX_BLOCKSIZE", "upc_localsizeof", - "upc_blocksizeof", "upc_elemsizeof", "static", "auto", "extern", "inline", "register", "typedef", "Comma", - "RightParen", "char", "double", "float", "int", "long", "short", "signed", "unsigned", "void", "_Bool", - "_Complex", "_Imaginary", "RightBrace", "enum", "struct", "union", "RightShift", "LeftShift", - "RightBracket", "DotDotDot", "ERROR_TOKEN", "Dot", "Slash", "Percent", "LT", "GT", "LE", "GE", "Colon", - "Assign", "EQ", "NE", "Caret", "Or", "AndAnd", "SemiColon", "Arrow", "OrOr", "Question", "StarAssign", - "SlashAssign", "PercentAssign", "PlusAssign", "MinusAssign", "RightShiftAssign", "LeftShiftAssign", - "AndAssign", "CaretAssign", "OrAssign", "EOF_TOKEN", "break", "case", "continue", "default", "do", "else", - "for", "goto", "if", "return", "switch", "while", "Invalid", "upc_barrier", "upc_notify", "upc_fence", - "upc_wait", "upc_forall" }; - - public final static boolean isValidForParser = true; -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java deleted file mode 100644 index f180117b510..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java +++ /dev/null @@ -1,2032 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2011 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.parser.upc; - -import java.util.List; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.IASTCastExpression; -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.dom.lrparser.IParser; -import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory; -import org.eclipse.cdt.core.dom.parser.upc.UPCParserAction; -import org.eclipse.cdt.core.dom.parser.upc.UPCSecondaryParserFactory; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; - -import lpg.lpgjavaruntime.BadParseException; -import lpg.lpgjavaruntime.BadParseSymFileException; -import lpg.lpgjavaruntime.DiagnoseParser; -import lpg.lpgjavaruntime.ErrorToken; -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.LexStream; -import lpg.lpgjavaruntime.Monitor; -import lpg.lpgjavaruntime.NotBacktrackParseTableException; -import lpg.lpgjavaruntime.NullExportedSymbolsException; -import lpg.lpgjavaruntime.NullTerminalSymbolsException; -import lpg.lpgjavaruntime.ParseErrorCodes; -import lpg.lpgjavaruntime.ParseTable; -import lpg.lpgjavaruntime.PrsStream; -import lpg.lpgjavaruntime.RuleAction; -import lpg.lpgjavaruntime.UndefinedEofSymbolException; -import lpg.lpgjavaruntime.UnimplementedTerminalsException; - -public class UPCParser extends PrsStream - implements RuleAction, ITokenStream, ITokenCollector, IParser - -{ - private static ParseTable prs = new UPCParserprs(); - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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 UPCParser(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), UPCParserprs.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(" " + UPCParsersym.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " - + UPCParsersym.orderedTerminalSymbols[UPCParserprs.EOFT_SYMBOL])); - } - } - - @Override - public String[] orderedTerminalSymbols() { - return UPCParsersym.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return UPCParsersym.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return UPCParserprs.EOFT_SYMBOL; - } - - public PrsStream getParseStream() { - return 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, this, prs, this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException("Regenerate UPCParserprs.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- UPCParsersym.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 UPCParserAction action; - private IASTCompletionNode compNode; - - public UPCParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, - IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new UPCParserAction(this, astStack, new UPCASTNodeFactory(), UPCSecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - 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(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return UPCParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "UPCParser"; - } - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 ::= 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 ::= { 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 init_declarator_list ; - // - case 129: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 130: declaration_specifiers ::= simple_declaration_specifiers - // - case 130: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 131: declaration_specifiers ::= struct_or_union_declaration_specifiers - // - case 131: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 132: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 132: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 133: declaration_specifiers ::= enum_declaration_specifiers - // - case 133: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 134: declaration_specifiers ::= 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 { 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 { 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 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 { enumerator_list_opt comma_opt } - // - case 205: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { 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 ::= 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 ( 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 ::= pointer_seq function_direct_declarator - // - case 234: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) - // - case 235: { - action.consumeDirectDeclaratorFunctionDeclaratorKnR(); - break; - } - - // - // Rule 237: knr_function_declarator ::= 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 ::= [ 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 ::= [ 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 array_modifier_type_qualifiers assignment_expression ] - // - case 245: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); - break; - } - - // - // Rule 246: array_modifier ::= [ 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 ::= [ 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 type_qualifier_list - // - case 252: { - action.consumePointerTypeQualifierList(); - break; - } - - // - // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook 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 ::= pointer_seq - // - case 269: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 270: abstract_declarator ::= 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 ::= ( parameter_type_list ) - // - case 280: { - action.consumeDirectDeclaratorFunctionDeclarator(false, true); - break; - } - - // - // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( 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 { initializer_seq comma_opt } end_initializer_list - // - case 284: { - action.consumeInitializerList(); - break; - } - - // - // Rule 285: initializer_list ::= { } - // - 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 ::= 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 ::= function_declarator function_body - // - case 311: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 312: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement - // - case 312: { - action.consumeFunctionDefinitionKnR(); - break; - } - - // - // Rule 313: normal_function_definition ::= declaration_specifiers function_declarator function_body - // - case 313: { - action.consumeFunctionDefinition(true); - break; - } - - // - // Rule 314: function_body ::= { } - // - case 314: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 315: function_body ::= { block_item_list } - // - case 315: { - action.consumeStatementCompoundStatement(true); - break; - } - - // - // Rule 316: literal ::= MYTHREAD - // - case 316: { - action.consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); - break; - } - - // - // Rule 317: literal ::= THREADS - // - case 317: { - action.consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); - break; - } - - // - // Rule 318: literal ::= UPC_MAX_BLOCKSIZE - // - case 318: { - action.consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); - break; - } - - // - // Rule 319: unary_expression ::= upc_localsizeof unary_expression - // - case 319: { - action.consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); - break; - } - - // - // Rule 320: unary_expression ::= upc_localsizeof ( type_id ) - // - case 320: { - action.consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); - break; - } - - // - // Rule 321: unary_expression ::= upc_blocksizeof unary_expression - // - case 321: { - action.consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); - break; - } - - // - // Rule 322: unary_expression ::= upc_blocksizeof ( type_id ) - // - case 322: { - action.consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); - break; - } - - // - // Rule 323: unary_expression ::= upc_elemsizeof unary_expression - // - case 323: { - action.consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); - break; - } - - // - // Rule 324: unary_expression ::= upc_elemsizeof ( type_id ) - // - case 324: { - action.consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); - break; - } - - // - // Rule 328: shared_type_qualifier ::= shared - // - case 328: { - action.consumeToken(); - break; - } - - // - // Rule 329: reference_type_qualifier ::= relaxed - // - case 329: { - action.consumeToken(); - break; - } - - // - // Rule 330: reference_type_qualifier ::= strict - // - case 330: { - action.consumeToken(); - break; - } - - // - // Rule 331: layout_qualifier ::= [ constant_expression ] - // - case 331: { - action.consumeLayoutQualifier(true, false); - break; - } - - // - // Rule 332: layout_qualifier ::= [ * ] - // - case 332: { - action.consumeLayoutQualifier(false, true); - break; - } - - // - // Rule 333: layout_qualifier ::= [ ] - // - case 333: { - action.consumeLayoutQualifier(false, false); - break; - } - - // - // Rule 335: synchronization_statement ::= upc_notify expression ; - // - case 335: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); - break; - } - - // - // Rule 336: synchronization_statement ::= upc_notify ; - // - case 336: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); - break; - } - - // - // Rule 337: synchronization_statement ::= upc_wait expression ; - // - case 337: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); - break; - } - - // - // Rule 338: synchronization_statement ::= upc_wait ; - // - case 338: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); - break; - } - - // - // Rule 339: synchronization_statement ::= upc_barrier expression ; - // - case 339: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); - break; - } - - // - // Rule 340: synchronization_statement ::= upc_barrier ; - // - case 340: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); - break; - } - - // - // Rule 341: synchronization_statement ::= upc_fence ; - // - case 341: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); - break; - } - - // - // Rule 342: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement - // - case 342: { - action.consumeStatementUPCForallLoop(true, true, true, true); - break; - } - - // - // Rule 343: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement - // - case 343: { - action.consumeStatementUPCForallLoop(true, true, true, false); - break; - } - - // - // Rule 344: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement - // - case 344: { - action.consumeStatementUPCForallLoop(true, true, false, true); - break; - } - - // - // Rule 345: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement - // - case 345: { - action.consumeStatementUPCForallLoop(true, true, false, false); - break; - } - - // - // Rule 346: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement - // - case 346: { - action.consumeStatementUPCForallLoop(true, false, true, true); - break; - } - - // - // Rule 347: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement - // - case 347: { - action.consumeStatementUPCForallLoop(true, false, true, false); - break; - } - - // - // Rule 348: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement - // - case 348: { - action.consumeStatementUPCForallLoop(true, false, false, true); - break; - } - - // - // Rule 349: iteration_statement ::= upc_forall ( expression ; ; ; ) statement - // - case 349: { - action.consumeStatementUPCForallLoop(true, false, false, false); - break; - } - - // - // Rule 350: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement - // - case 350: { - action.consumeStatementUPCForallLoop(false, true, true, true); - break; - } - - // - // Rule 351: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement - // - case 351: { - action.consumeStatementUPCForallLoop(false, true, true, false); - break; - } - - // - // Rule 352: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement - // - case 352: { - action.consumeStatementUPCForallLoop(false, true, false, true); - break; - } - - // - // Rule 353: iteration_statement ::= upc_forall ( ; expression ; ; ) statement - // - case 353: { - action.consumeStatementUPCForallLoop(false, true, false, false); - break; - } - - // - // Rule 354: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement - // - case 354: { - action.consumeStatementUPCForallLoop(false, false, true, true); - break; - } - - // - // Rule 355: iteration_statement ::= upc_forall ( ; ; expression ; ) statement - // - case 355: { - action.consumeStatementUPCForallLoop(false, false, true, false); - break; - } - - // - // Rule 356: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement - // - case 356: { - action.consumeStatementUPCForallLoop(false, false, false, true); - break; - } - - // - // Rule 357: iteration_statement ::= upc_forall ( ; ; ; ) statement - // - case 357: { - action.consumeStatementUPCForallLoop(false, false, false, false); - break; - } - - // - // Rule 358: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement - // - case 358: { - action.consumeStatementUPCForallLoop(true, true, true, true); - break; - } - - // - // Rule 359: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement - // - case 359: { - action.consumeStatementUPCForallLoop(true, true, true, false); - break; - } - - // - // Rule 360: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement - // - case 360: { - action.consumeStatementUPCForallLoop(true, true, false, true); - break; - } - - // - // Rule 361: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement - // - case 361: { - action.consumeStatementUPCForallLoop(true, true, false, false); - break; - } - - // - // Rule 362: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement - // - case 362: { - action.consumeStatementUPCForallLoop(true, false, true, true); - break; - } - - // - // Rule 363: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement - // - case 363: { - action.consumeStatementUPCForallLoop(true, false, true, false); - break; - } - - // - // Rule 364: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement - // - case 364: { - action.consumeStatementUPCForallLoop(true, false, false, true); - break; - } - - // - // Rule 365: iteration_statement ::= upc_forall ( declaration ; ; ) statement - // - case 365: { - action.consumeStatementUPCForallLoop(true, false, false, false); - break; - } - - // - // Rule 367: affinity ::= continue - // - case 367: { - action.consumeToken(); - break; - } - - default: - break; - } - return; - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java deleted file mode 100644 index 93384714537..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java +++ /dev/null @@ -1,1064 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2011 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.parser.upc; - -public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym { - - 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, 2, 4, 2, 4, 2, 4, 1, 1, 2, 1, 1, 1, 3, 3, 2, 1, 3, 2, 3, - 2, 3, 2, 2, 11, 10, 10, 9, 10, 9, 9, 8, 10, 9, 9, 8, 9, 8, 8, 7, 10, 9, 9, 8, 9, 8, 8, 7, 1, 1, -118, - -275, 0, -16, -304, 0, 0, 0, 0, 0, 0, -19, 0, 0, -57, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, -21, 0, 0, 0, 0, 0, - 0, 0, -7, 0, 0, 0, 0, 0, -43, 0, 0, 0, 0, 0, -23, 0, 0, 0, 0, 0, 0, -22, 0, 0, 0, 0, 0, -11, -13, -81, - -4, 0, 0, -279, 0, 0, 0, 0, 0, 0, -34, 0, 0, 0, 0, 0, 0, -28, 0, -45, 0, -9, 0, 0, 0, 0, 0, 0, -110, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30, 0, 0, 0, 0, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -31, 0, 0, 0, - -26, 0, 0, 0, 0, 0, 0, 0, -39, -24, 0, 0, 0, 0, 0, 0, 0, 0, -40, 0, 0, 0, 0, 0, 0, 0, 0, -243, 0, 0, - -65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -27, 0, 0, - 0, 0, -51, -300, 0, 0, -32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -53, 0, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -25, 0, -134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -68, 0, 0, -61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -69, 0, 0, 0, 0, -129, 0, 0, -48, 0, 0, -47, 0, 0, 0, 0, - 0, 0, 0, -70, 0, 0, 0, 0, -35, 0, 0, -85, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -36, 0, 0, -259, 0, - -20, 0, -71, -14, -192, 0, 0, 0, 0, 0, -86, 0, 0, 0, -320, 0, 0, 0, 0, 0, 0, -41, 0, 0, 0, 0, 0, 0, 0, - 0, -185, 0, 0, 0, 0, 0, 0, 0, 0, -72, 0, 0, 0, 0, 0, 0, 0, 0, 0, -99, 0, 0, 0, -237, 0, 0, 0, 0, 0, 0, - 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, -321, 0, 0, -79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -119, 0, 0, 0, -42, -98, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -88, 0, 0, -161, 0, 0, 0, 0, 0, 0, 0, 0, -37, 0, 0, -227, 0, 0, - 0, 0, 0, -46, 0, 0, -73, 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, -33, -74, 0, 0, 0, 0, 0, 0, 0, 0, 0, -75, 0, 0, -91, 0, 0, 0, -78, 0, 0, 0, 0, 0, 0, - -76, 0, 0, 0, 0, 0, 0, 0, -114, 0, -87, 0, 0, -80, 0, 0, 0, 0, 0, 0, 0, -90, 0, 0, -241, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -162, 0, 0, -93, 0, 0, 0, 0, 0, 0, 0, -198, 0, 0, 0, 0, -54, 0, - 0, -154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -94, 0, -180, -271, 0, 0, 0, 0, 0, 0, 0, 0, 0, -104, 0, - 0, 0, 0, 0, 0, -5, 0, -127, 0, 0, -128, 0, 0, 0, 0, 0, 0, 0, 0, 0, -116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -96, 0, 0, -58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -176, 0, 0, 0, 0, 0, 0, 0, -97, -130, 0, 0, -164, 0, 0, - -84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -38, 0, 0, 0, -105, 0, -106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -113, 0, -302, 0, 0, 0, 0, 0, 0, -120, 0, 0, 0, 0, 0, - 0, 0, -166, 0, 0, 0, -107, 0, 0, 0, 0, 0, 0, -108, 0, 0, -59, 0, 0, 0, -109, 0, 0, 0, 0, 0, 0, -200, 0, - 0, 0, 0, 0, 0, 0, -167, 0, 0, -152, 0, 0, 0, 0, 0, 0, 0, -111, 0, 0, -60, 0, 0, 0, -201, 0, 0, 0, 0, 0, - 0, -112, 0, 0, 0, 0, 0, 0, 0, -168, 0, 0, -155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -62, 0, 0, 0, -115, 0, 0, - 0, 0, 0, 0, -156, 0, 0, 0, 0, 0, 0, 0, -169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -117, 0, 0, -95, 0, 0, 0, - -150, 0, 0, 0, 0, 0, 0, -175, 0, 0, 0, 0, 0, 0, 0, -170, 0, 0, 0, -158, 0, 0, 0, 0, 0, 0, -178, 0, 0, - -131, 0, 0, 0, -188, 0, 0, 0, 0, 0, 0, -193, 0, 0, 0, 0, 0, 0, 0, -171, 0, 0, -177, 0, 0, 0, 0, 0, 0, 0, - -195, 0, 0, -132, 0, 0, 0, -196, 0, 0, 0, 0, 0, 0, -202, 0, 0, 0, 0, 0, 0, 0, -172, 0, 0, 0, -209, 0, 0, - 0, 0, 0, 0, -210, 0, 0, -133, 0, 0, 0, -208, 0, 0, 0, 0, 0, 0, -203, 0, 0, 0, 0, 0, 0, 0, -173, 0, 0, 0, - -211, 0, 0, 0, 0, 0, 0, -212, 0, 0, -55, 0, 0, 0, -240, 0, 0, 0, 0, 0, 0, -204, 0, 0, 0, 0, 0, 0, 0, - -174, 0, 0, 0, -213, 0, 0, 0, 0, 0, 0, -214, 0, 0, -56, 0, 0, 0, -276, 0, 0, 0, 0, 0, 0, -205, 0, 0, 0, - 0, 0, 0, 0, -238, 0, 0, 0, -215, 0, 0, 0, 0, 0, 0, -216, 0, 0, -63, 0, 0, 0, -277, 0, 0, 0, 0, 0, 0, - -206, 0, 0, 0, 0, 0, 0, 0, -239, 0, 0, 0, -217, 0, 0, 0, 0, 0, 0, -218, 0, 0, -64, 0, 0, 0, -163, 0, 0, - 0, 0, 0, 0, -207, 0, 0, 0, 0, 0, 0, 0, -255, 0, 0, 0, -219, 0, 0, 0, 0, 0, 0, -179, 0, 0, 0, 0, -220, 0, - -230, -89, 0, 0, 0, 0, -225, 0, 0, 0, 0, 0, 0, 0, 0, -265, 0, 0, -221, -226, 0, 0, 0, 0, 0, 0, -181, 0, - 0, 0, 0, -323, 0, 0, -260, -273, 0, 0, 0, 0, -222, 0, 0, 0, 0, 0, 0, 0, -270, 0, 0, -261, -262, 0, 0, 0, - 0, 0, 0, -182, 0, 0, 0, 0, -322, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -295, 0, 0, - -263, 0, 0, 0, 0, 0, 0, 0, -183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -268, 0, 0, 0, 0, 0, 0, 0, 0, -184, - 0, -303, 0, 0, -233, 0, 0, 0, 0, 0, 0, 0, -246, 0, 0, 0, 0, -223, 0, 0, -101, 0, 0, 0, 0, -224, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -153, -319, 0, 0, -231, -232, 0, 0, 0, 0, 0, 0, -248, 0, 0, 0, 0, -278, 0, -121, 0, 0, - 0, 0, -249, 0, 0, 0, 0, 0, 0, 0, 0, 0, -242, 0, -324, 0, 0, -251, 0, 0, 0, 0, 0, 0, 0, -250, 0, 0, 0, 0, - -269, 0, -50, 0, 0, 0, 0, -296, -301, 0, 0, 0, 0, 0, 0, 0, 0, -316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, - 0, 0, 0, 0, 0, 0, 0, -191, 0, 0, 0, 0, 0, -281, -283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -293, 0, 0, 0, 0, -44, 0, 0, -253, 0, 0, 0, 0, 0, 0, 0, -229, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -49, 0, 0, -252, 0, -194, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -157, 0, 0, 0, 0, 0, - 0, -149, 0, 0, -342, 0, 0, 0, 0, 0, 0, 0, -234, 0, 0, 0, 0, 0, 0, -148, 0, -235, 0, 0, 0, 0, -264, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -258, 0, 0, 0, 0, 0, 0, -102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -257, 0, -160, 0, 0, 0, -291, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, -297, - -146, 0, 0, 0, -298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -315, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -285, -299, -144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -294, 0, 0, 0, 0, 0, 0, - 0, -103, 0, -306, 0, 0, 0, -309, 0, 0, 0, -312, 0, 0, 0, 0, 0, 0, -254, 0, 0, 0, 0, -314, 0, 0, 0, 0, 0, - -329, 0, 0, 0, -317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -287, 0, 0, 0, 0, -334, -326, -272, 0, 0, -289, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -290, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -330, 0, 0, 0, 0, - -336, -331, 0, 0, 0, -341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -343, 0, 0, 0, 0, -340, -338, 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, -346, 0, 0, 0, 0, -359, -345, 0, 0, 0, -349, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -350, 0, 0, 0, 0, 0, -347, 0, 0, 0, -352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -355, 0, 0, 0, 0, 0, -351, 0, 0, 0, -360, 0, 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, -353, 0, 0, 0, -363, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -364, 0, 0, 0, 0, 0, -356, 0, 0, 0, - -366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -367, 0, 0, 0, 0, 0, - -361, 0, 0, 0, -368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -370, 0, - 0, 0, 0, 0, -365, 0, 0, 0, -371, 0, 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, -369, 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, 0, 0, 0, -377, 0, 0, 0, 0, 0, -372, 0, 0, 0, -378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -379, 0, 0, 0, 0, 0, -374, 0, 0, 0, -380, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -381, 0, 0, 0, 0, 0, -382, 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, -145, 0, 0, -159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -267, 0, 0, 0, -138, 0, 0, 0, 0, 0, 0, 0, 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, -318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0, -139, -12, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -143, 0, 0, 0, -15, 0, 0, 0, 0, 0, 0, -17, 0, 0, -135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -197, -82, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -136, 0, 0, -274, 0, 0, 0, 0, 0, 0, 0, -137, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -92, 0, -52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -122, 0, 0, 0, 0, -123, 0, -124, 0, 0, 0, 0, -151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, 0, 0, 0, 0, -126, - 0, 0, -256, 0, 0, 0, -266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -83, 0, -292, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -305, 0, 0, 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, -228, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -327, 0, 0, 0, 0, 0, 0, 0, -328, 0, 0, 0, 0, 0, 0, 0, -332, 0, 0, 0, 0, 0, 0, - 0, 0, -333, 0, 0, 0, 0, 0, -335, 0, 0, 0, 0, 0, -348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -354, - 0, 0, 0, 0, 0, 0, 0, 0, -357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -358, 0, 0, 0, 0, 0, -375, 0, - 0, 0, 0, 0, -244, 0, 0, 0, 0, 0, 0, 0, 0, -245, 0, 0, 0, 0, 0, 0, 0, -280, 0, 0, 0, 0, 0, 0, 0, -282, 0, - 0, 0, 0, 0, 0, 0, -284, 0, 0, 0, 0, 0, 0, -286, 0, -307, 0, 0, 0, 0, 0, -310, 0, 0, 0, 0, 0, 0, 0, 0, - -311, 0, 0, 0, 0, 0, -313, 0, -337, 0, 0, 0, 0, 0, 0, -339, 0, -187, 0, 0, 0, 0, 0, -189, 0, 0, 0, 0, 0, - 0, 0, 0, -190, 0, -288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[index]; - } - - public interface BaseAction { - public final static char baseAction[] = { 111, 1, 130, 39, 39, 11, 11, 49, 49, 3, 3, 2, 2, 5, 5, 5, 5, 6, 6, 6, - 7, 8, 8, 8, 8, 8, 8, 8, 8, 82, 82, 94, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 12, 12, 12, 12, 13, 13, - 13, 15, 15, 15, 17, 17, 17, 17, 17, 26, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 18, 14, 4, 112, 112, 95, 95, 60, 19, 19, 19, 19, 19, 19, 19, 20, - 20, 20, 16, 16, 96, 96, 73, 73, 21, 21, 22, 22, 22, 68, 68, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 51, - 51, 33, 33, 33, 33, 33, 54, 54, 54, 88, 88, 83, 83, 83, 83, 84, 84, 84, 85, 85, 85, 86, 86, 86, 87, 87, - 87, 97, 97, 89, 89, 90, 55, 57, 57, 57, 57, 57, 69, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 77, - 74, 74, 113, 114, 79, 79, 75, 75, 75, 91, 98, 98, 99, 99, 92, 92, 92, 58, 115, 115, 100, 101, 101, 101, - 76, 76, 116, 102, 102, 103, 103, 93, 93, 35, 36, 36, 36, 56, 59, 59, 45, 45, 45, 45, 41, 41, 42, 46, 46, - 47, 43, 43, 104, 104, 48, 118, 118, 117, 117, 52, 52, 52, 52, 52, 52, 52, 52, 52, 105, 61, 61, 61, 61, - 40, 80, 80, 71, 71, 71, 72, 72, 63, 63, 119, 119, 62, 62, 81, 81, 81, 64, 64, 64, 65, 66, 66, 66, 67, - 67, 67, 67, 78, 78, 50, 50, 53, 121, 120, 120, 120, 120, 106, 122, 123, 123, 124, 124, 125, 125, 111, - 111, 126, 126, 107, 107, 107, 107, 127, 127, 108, 108, 108, 109, 110, 110, 5, 5, 5, 9, 9, 9, 9, 9, 9, - 35, 35, 37, 37, 38, 38, 128, 128, 128, 19, 25, 25, 25, 25, 25, 25, 25, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 44, 44, 362, 2858, 1259, 2059, 2895, 17, - 21, 18, 522, 883, 45, 72, 535, 618, 2751, 577, 20, 651, 2078, 17, 21, 18, 522, 43, 40, 2045, 632, 717, - 680, 838, 805, 848, 75, 1922, 92, 136, 214, 325, 326, 2558, 2916, 875, 552, 225, 230, 1922, 220, 492, - 222, 224, 232, 510, 2077, 275, 138, 135, 137, 161, 56, 2043, 72, 2213, 379, 180, 2883, 270, 1127, 1101, - 273, 140, 167, 1901, 500, 862, 144, 147, 150, 153, 2137, 426, 401, 766, 2151, 2627, 1689, 2631, 2742, - 2749, 1740, 433, 940, 1186, 111, 87, 1024, 1252, 136, 214, 325, 326, 1145, 72, 420, 225, 233, 96, 1910, - 1059, 1226, 95, 97, 98, 99, 100, 334, 138, 135, 137, 161, 793, 2055, 552, 225, 230, 2509, 219, 492, 222, - 224, 295, 140, 167, 1912, 129, 1728, 144, 147, 150, 153, 160, 426, 510, 2181, 311, 2627, 1689, 2631, - 2742, 2749, 1740, 656, 2601, 432, 20, 2832, 313, 17, 21, 18, 522, 883, 45, 1760, 535, 618, 401, 577, - 2108, 651, 157, 446, 439, 875, 420, 225, 234, 229, 632, 717, 680, 838, 805, 848, 75, 2150, 282, 1669, - 372, 294, 2317, 2412, 432, 20, 2318, 1663, 17, 21, 18, 522, 883, 45, 283, 535, 618, 938, 577, 2651, 651, - 20, 1903, 327, 17, 21, 18, 522, 323, 632, 717, 680, 838, 805, 848, 75, 2861, 282, 2751, 129, 20, 331, - 288, 17, 21, 18, 522, 43, 45, 228, 535, 1278, 2751, 283, 20, 314, 938, 17, 21, 18, 522, 43, 45, 2466, - 535, 618, 2503, 577, 20, 651, 289, 17, 21, 18, 522, 43, 36, 2135, 632, 717, 1497, 290, 2850, 940, 1626, - 2528, 90, 20, 2558, 2850, 17, 21, 18, 522, 883, 45, 2048, 535, 618, 232, 577, 2217, 651, 188, 2284, 332, - 180, 2839, 1898, 291, 128, 632, 717, 680, 838, 805, 848, 75, 2217, 282, 187, 2558, 2918, 401, 766, 2268, - 2049, 476, 940, 1186, 111, 87, 279, 2839, 2560, 283, 128, 202, 938, 136, 214, 325, 326, 96, 2320, 1059, - 104, 95, 97, 98, 99, 100, 334, 2839, 368, 226, 3101, 88, 138, 135, 137, 161, 2210, 159, 552, 225, 230, - 1586, 219, 492, 222, 224, 2917, 140, 167, 341, 2918, 659, 144, 147, 150, 153, 699, 426, 129, 2879, 688, - 2627, 1689, 2631, 2742, 2749, 1740, 2626, 1431, 20, 129, 1609, 17, 21, 18, 522, 883, 45, 3092, 535, 618, - 2320, 577, 1811, 651, 72, 1, 368, 1186, 111, 87, 673, 2766, 632, 717, 680, 838, 805, 848, 75, 2317, 282, - 96, 2317, 1059, 109, 95, 97, 98, 99, 100, 334, 1905, 261, 855, 2839, 2575, 283, 196, 688, 938, 2290, - 1458, 20, 275, 510, 17, 21, 18, 522, 883, 45, 284, 535, 618, 315, 577, 110, 651, 242, 2839, 940, 244, - 340, 88, 292, 2767, 632, 717, 680, 838, 805, 848, 75, 1450, 781, 2478, 2117, 20, 108, 240, 17, 21, 18, - 522, 43, 45, 2296, 535, 618, 2503, 577, 20, 651, 2562, 17, 21, 18, 522, 43, 36, 145, 632, 717, 680, 838, - 805, 848, 94, 2318, 1697, 2801, 1891, 20, 2221, 333, 17, 21, 18, 522, 883, 45, 2041, 535, 618, 2503, - 577, 20, 651, 247, 17, 21, 18, 522, 43, 36, 557, 632, 717, 680, 838, 805, 848, 75, 2362, 784, 20, 129, - 998, 17, 21, 18, 522, 883, 45, 72, 535, 618, 105, 577, 2676, 651, 20, 72, 248, 17, 21, 18, 522, 321, - 632, 717, 680, 838, 805, 848, 75, 2569, 1325, 2751, 2217, 20, 1613, 241, 17, 21, 18, 522, 883, 45, 2917, - 535, 618, 125, 577, 510, 651, 1966, 429, 2217, 306, 31, 2217, 1578, 31, 632, 717, 680, 838, 805, 848, - 75, 2751, 92, 20, 1193, 2898, 17, 21, 18, 522, 43, 45, 1983, 535, 618, 2751, 577, 20, 651, 662, 17, 21, - 18, 522, 43, 39, 2924, 632, 717, 680, 838, 805, 848, 94, 2829, 129, 940, 305, 2751, 88, 20, 2567, 659, - 17, 21, 18, 522, 883, 45, 1292, 535, 618, 2217, 577, 189, 651, 2917, 312, 2217, 124, 1573, 1233, 211, - 1252, 632, 717, 680, 838, 805, 848, 75, 2751, 86, 20, 688, 285, 17, 21, 18, 522, 883, 45, 25, 535, 618, - 24, 577, 2917, 651, 2217, 112, 297, 309, 303, 304, 310, 2320, 632, 717, 680, 838, 805, 848, 75, 2751, - 85, 20, 19, 2324, 17, 21, 18, 522, 883, 45, 2407, 535, 618, 2751, 577, 20, 651, 2570, 17, 21, 18, 522, - 43, 38, 2897, 632, 717, 680, 838, 805, 848, 75, 2751, 84, 20, 129, 1739, 17, 21, 18, 522, 883, 45, 2836, - 535, 618, 2751, 577, 20, 651, 2882, 17, 21, 18, 522, 43, 37, 2847, 632, 717, 680, 838, 805, 848, 75, - 2751, 83, 20, 2148, 1829, 17, 21, 18, 522, 883, 45, 276, 535, 618, 2751, 577, 20, 651, 2657, 17, 21, 18, - 522, 43, 35, 2320, 632, 717, 680, 838, 805, 848, 75, 2751, 82, 20, 231, 277, 17, 21, 18, 522, 883, 45, - 2682, 535, 618, 2751, 577, 20, 651, 2840, 17, 21, 18, 522, 43, 36, 2316, 632, 717, 680, 838, 805, 848, - 75, 2751, 81, 20, 235, 2782, 17, 21, 18, 522, 883, 45, 74, 535, 618, 2751, 577, 20, 651, 2837, 17, 21, - 18, 522, 43, 48, 2707, 632, 717, 680, 838, 805, 848, 75, 2751, 80, 20, 129, 519, 17, 21, 18, 522, 883, - 45, 2885, 535, 618, 2751, 577, 20, 651, 2826, 17, 21, 18, 522, 43, 47, 2320, 632, 717, 680, 838, 805, - 848, 75, 2751, 79, 20, 1491, 2468, 17, 21, 18, 522, 883, 45, 2553, 535, 618, 2751, 577, 20, 651, 2317, - 17, 21, 18, 522, 43, 46, 2320, 632, 717, 680, 838, 805, 848, 75, 2751, 78, 20, 1508, 2207, 17, 21, 18, - 522, 883, 45, 2315, 535, 618, 2701, 577, 20, 651, 2317, 17, 21, 18, 522, 319, 22, 2320, 632, 717, 680, - 838, 805, 848, 75, 2751, 77, 20, 1509, 2114, 17, 21, 18, 522, 883, 45, 2118, 535, 618, 2726, 577, 20, - 651, 2317, 17, 21, 18, 522, 41, 243, 2320, 632, 717, 680, 838, 805, 848, 75, 2751, 76, 20, 1543, 1930, - 17, 21, 18, 522, 883, 45, 2394, 535, 618, 2776, 577, 20, 651, 2317, 17, 21, 18, 522, 34, 245, 2320, 632, - 717, 680, 838, 805, 848, 75, 2751, 1358, 20, 1843, 2854, 17, 21, 18, 522, 883, 45, 2868, 535, 618, 2776, - 577, 20, 651, 2356, 17, 21, 18, 522, 33, 246, 2320, 632, 717, 680, 838, 805, 848, 75, 2751, 1391, 20, - 23, 2925, 17, 21, 18, 522, 883, 45, 2917, 535, 618, 339, 577, 2477, 651, 2935, 1929, 256, 214, 325, 326, - 129, 2902, 632, 717, 680, 838, 805, 848, 75, 2751, 93, 20, 2856, 2924, 17, 21, 18, 522, 883, 45, 2917, - 535, 618, 337, 577, 2217, 651, 299, 2951, 2857, 255, 214, 325, 326, 2469, 632, 717, 680, 838, 805, 848, - 75, 2751, 74, 20, 2954, 2955, 17, 21, 18, 522, 43, 45, 2917, 535, 618, 335, 577, 2317, 651, 1895, 429, - 181, 306, 256, 214, 325, 326, 632, 717, 680, 838, 805, 848, 94, 1424, 1661, 2751, 28, 20, 2958, 938, 17, - 21, 18, 522, 43, 45, 2917, 535, 618, 127, 577, 662, 651, 28, 28, 296, 938, 938, 905, 2935, 213, 632, - 717, 680, 838, 805, 848, 94, 2917, 305, 2751, 123, 20, 2845, 2024, 17, 21, 18, 522, 43, 45, 2917, 535, - 618, 3125, 577, 2732, 651, 28, 2839, 940, 938, 338, 88, 2867, 203, 632, 717, 680, 838, 805, 848, 94, - 1483, 2405, 2751, 1613, 20, 2606, 2936, 17, 21, 18, 522, 43, 45, 2917, 535, 618, 3132, 577, 2941, 651, - 2355, 916, 302, 304, 310, 2320, 386, 1521, 632, 717, 680, 838, 805, 848, 94, 387, 2017, 2751, 1907, 20, - 2320, 958, 17, 21, 18, 522, 43, 45, 2946, 535, 618, 2027, 577, 2924, 651, 220, 368, 1186, 111, 87, 2953, - 2965, 204, 632, 717, 680, 838, 805, 848, 94, 2056, 96, 275, 1059, 109, 95, 97, 98, 99, 100, 334, 346, - 3262, 3262, 268, 1127, 1101, 273, 688, 291, 368, 1186, 111, 87, 210, 2917, 2917, 1821, 3134, 3140, 1952, - 267, 205, 1457, 1614, 96, 110, 1059, 109, 95, 97, 98, 99, 100, 334, 2924, 136, 214, 325, 326, 129, 659, - 688, 147, 368, 1186, 111, 87, 107, 3262, 3262, 2405, 2284, 1613, 180, 146, 135, 137, 161, 96, 110, 1059, - 109, 95, 97, 98, 99, 100, 334, 3262, 3262, 767, 1912, 688, 3262, 2320, 688, 519, 940, 1186, 111, 87, - 107, 3262, 182, 72, 2053, 136, 214, 325, 326, 308, 106, 96, 110, 1059, 102, 95, 97, 98, 99, 100, 334, - 3262, 3262, 1731, 139, 135, 137, 161, 3262, 3262, 875, 552, 225, 1006, 108, 220, 492, 222, 984, 141, - 167, 1923, 1773, 510, 145, 148, 151, 154, 2751, 426, 20, 2317, 3262, 17, 21, 18, 522, 43, 45, 1929, 535, - 618, 210, 577, 369, 651, 129, 940, 1932, 2821, 88, 1564, 1614, 2962, 632, 717, 680, 838, 1599, 278, - 1591, 3262, 552, 225, 230, 1013, 219, 492, 222, 224, 298, 2848, 659, 275, 255, 214, 325, 326, 2839, 940, - 264, 336, 88, 3262, 3262, 268, 1127, 1101, 273, 552, 225, 230, 1516, 219, 492, 222, 224, 3262, 3262, - 2320, 275, 1929, 265, 28, 1811, 2320, 938, 699, 401, 469, 274, 510, 268, 1127, 1101, 273, 280, 2924, - 2751, 1492, 20, 3262, 2863, 17, 21, 18, 522, 43, 45, 1889, 535, 618, 2898, 577, 260, 651, 255, 214, 325, - 326, 262, 2320, 1895, 1212, 632, 717, 680, 1475, 3262, 552, 225, 488, 2130, 219, 492, 222, 474, 256, - 214, 325, 326, 2917, 2924, 2751, 3155, 20, 206, 160, 17, 21, 18, 522, 43, 45, 2915, 535, 618, 195, 577, - 3262, 651, 1424, 2839, 940, 2917, 126, 88, 3002, 2917, 632, 1443, 3018, 2917, 3262, 3262, 3157, 1551, - 156, 446, 562, 940, 1186, 111, 87, 2917, 591, 1373, 3164, 3262, 3262, 2917, 692, 413, 3039, 2320, 96, - 3262, 1059, 103, 95, 97, 98, 99, 100, 334, 281, 501, 605, 940, 1186, 111, 87, 2917, 2320, 1929, 3055, - 3262, 648, 940, 1186, 111, 87, 3262, 96, 2125, 1059, 120, 95, 97, 98, 99, 100, 334, 96, 3262, 1059, 115, - 95, 97, 98, 99, 100, 334, 691, 940, 1186, 111, 87, 3262, 255, 214, 325, 326, 734, 940, 1186, 111, 87, - 3262, 96, 3262, 1059, 1678, 95, 97, 98, 99, 100, 334, 96, 3262, 1059, 365, 95, 97, 98, 99, 100, 334, - 777, 940, 1186, 111, 87, 2917, 2320, 3262, 3064, 3262, 820, 940, 1186, 111, 87, 1912, 96, 2171, 1059, - 357, 95, 97, 98, 99, 100, 334, 96, 3262, 1059, 114, 95, 97, 98, 99, 100, 334, 863, 940, 1186, 111, 87, - 2917, 2320, 3262, 118, 3262, 906, 940, 1186, 111, 87, 3262, 96, 2243, 1059, 364, 95, 97, 98, 99, 100, - 334, 96, 3262, 1059, 363, 95, 97, 98, 99, 100, 334, 949, 940, 1186, 111, 87, 2917, 2320, 3262, 3086, - 3262, 992, 940, 1186, 111, 87, 3262, 96, 2269, 1059, 361, 95, 97, 98, 99, 100, 334, 96, 3262, 1059, 356, - 95, 97, 98, 99, 100, 334, 1035, 940, 1186, 111, 87, 3262, 2320, 3262, 3262, 3262, 1078, 940, 1186, 111, - 87, 3262, 96, 2279, 1059, 355, 95, 97, 98, 99, 100, 334, 96, 3262, 1059, 353, 95, 97, 98, 99, 100, 334, - 1121, 940, 1186, 111, 87, 3262, 2320, 3262, 3262, 3262, 1164, 940, 1186, 111, 87, 3262, 96, 2315, 1059, - 349, 95, 97, 98, 99, 100, 334, 96, 3262, 1059, 122, 95, 97, 98, 99, 100, 334, 1207, 940, 1186, 111, 87, - 3262, 2320, 3262, 3262, 3262, 1250, 940, 1186, 111, 87, 3262, 96, 2341, 1059, 362, 95, 97, 98, 99, 100, - 334, 96, 3262, 1059, 360, 95, 97, 98, 99, 100, 334, 1293, 940, 1186, 111, 87, 3262, 2320, 3262, 3262, - 3262, 1336, 940, 1186, 111, 87, 3262, 96, 2377, 1059, 359, 95, 97, 98, 99, 100, 334, 96, 3262, 1059, - 354, 95, 97, 98, 99, 100, 334, 1379, 940, 1186, 111, 87, 3262, 2320, 3262, 3262, 3262, 1422, 940, 1186, - 111, 87, 3262, 96, 2423, 1059, 352, 95, 97, 98, 99, 100, 334, 96, 3262, 1059, 351, 95, 97, 98, 99, 100, - 334, 1465, 940, 1186, 111, 87, 3262, 2320, 3262, 3262, 3262, 1508, 940, 1186, 111, 87, 3262, 96, 2449, - 1059, 348, 95, 97, 98, 99, 100, 334, 96, 3262, 1059, 347, 95, 97, 98, 99, 100, 334, 1551, 940, 1186, - 111, 87, 3262, 2320, 3262, 3262, 3262, 1594, 940, 1186, 111, 87, 3262, 96, 2459, 1059, 345, 95, 97, 98, - 99, 100, 334, 96, 3262, 1059, 121, 95, 97, 98, 99, 100, 334, 1637, 940, 1186, 111, 87, 3262, 2320, 3262, - 3262, 3262, 1680, 940, 1186, 111, 87, 3262, 96, 2485, 1059, 358, 95, 97, 98, 99, 100, 334, 96, 3262, - 1059, 350, 95, 97, 98, 99, 100, 334, 1723, 940, 1186, 111, 87, 3262, 2320, 3262, 3262, 3262, 1766, 940, - 1186, 111, 87, 3262, 96, 2495, 1059, 346, 95, 97, 98, 99, 100, 334, 96, 3262, 1059, 344, 95, 97, 98, 99, - 100, 334, 1809, 940, 1186, 111, 87, 3262, 2320, 3262, 3262, 3262, 1852, 940, 1186, 111, 87, 3262, 96, - 2531, 1059, 343, 95, 97, 98, 99, 100, 334, 96, 3262, 1059, 342, 95, 97, 98, 99, 100, 334, 2751, 3262, - 20, 401, 766, 17, 21, 18, 522, 43, 45, 3262, 535, 618, 3262, 577, 3262, 651, 1916, 766, 3262, 3262, - 2751, 3262, 20, 3262, 1455, 17, 21, 18, 522, 43, 45, 3262, 535, 618, 3262, 577, 3262, 1344, 3262, 3262, - 3262, 3262, 552, 225, 230, 3262, 219, 492, 222, 224, 3262, 3262, 2914, 940, 1916, 766, 88, 552, 225, - 230, 160, 219, 492, 222, 224, 3262, 116, 3262, 2398, 3262, 3262, 2751, 1950, 20, 3262, 1668, 17, 21, 18, - 522, 43, 45, 3262, 535, 618, 3262, 577, 3262, 1351, 3262, 156, 446, 3262, 3262, 3262, 552, 225, 230, - 591, 219, 492, 222, 224, 136, 214, 325, 326, 136, 214, 325, 326, 3262, 3262, 1668, 3262, 3262, 199, 201, - 3262, 3262, 1951, 3262, 143, 135, 137, 161, 149, 135, 137, 161, 3262, 1964, 3262, 3262, 2751, 3262, 20, - 142, 167, 17, 21, 18, 522, 43, 45, 3262, 535, 618, 3262, 1377, 3262, 2751, 3262, 20, 200, 201, 17, 21, - 18, 522, 43, 45, 3262, 535, 618, 2751, 1384, 20, 3262, 3262, 17, 21, 18, 522, 43, 45, 3262, 535, 618, - 2751, 1410, 20, 3262, 2021, 17, 21, 18, 522, 43, 45, 2076, 535, 618, 2751, 1417, 20, 3262, 3262, 17, 21, - 18, 522, 43, 45, 3262, 535, 1285, 2576, 1912, 20, 3262, 3262, 17, 21, 18, 522, 43, 44, 136, 214, 325, - 326, 1984, 1861, 3262, 136, 214, 325, 326, 3262, 3262, 3262, 3262, 278, 3262, 3262, 3262, 152, 135, 137, - 161, 3262, 3262, 3262, 155, 135, 137, 161, 875, 552, 225, 230, 3262, 220, 492, 222, 224, 28, 3262, 2751, - 938, 20, 2848, 659, 17, 21, 18, 522, 43, 45, 2751, 1311, 20, 3262, 275, 17, 21, 18, 522, 43, 45, 3262, - 1318, 3262, 3262, 3262, 268, 1127, 1101, 273, 3262, 2360, 659, 129, 368, 1811, 3262, 88, 3262, 3262, - 3262, 3262, 510, 1889, 3262, 3262, 3262, 1068, 129, 368, 3262, 3262, 88, 129, 368, 129, 368, 88, 3262, - 88, 2037, 659, 1068, 369, 1811, 260, 198, 1068, 3262, 1068, 3262, 129, 368, 1895, 1212, 88, 129, 368, - 3262, 2894, 88, 198, 3262, 2183, 659, 1068, 198, 3262, 198, 3262, 1068, 1628, 3262, 198, 260, 762, 3262, - 2388, 659, 2388, 659, 3262, 1167, 1212, 198, 3262, 1628, 3262, 3262, 198, 1266, 1628, 3262, 1628, 3262, - 1299, 198, 1332, 796, 875, 3262, 2914, 368, 3262, 3262, 88, 3262, 3262, 3262, 1628, 1811, 275, 1811, - 1365, 1628, 116, 2916, 940, 1398, 3262, 88, 796, 3262, 270, 1127, 1101, 273, 2063, 1200, 3262, 366, - 3262, 193, 3262, 688, 3262, 3262, 3262, 1476, 2984, 260, 3262, 260, 2916, 940, 2110, 659, 88, 1167, - 1212, 2004, 1212, 2611, 3262, 2089, 193, 3262, 366, 3262, 3262, 2023, 1723, 2984, 2916, 940, 3262, 3262, - 88, 3262, 1621, 3262, 2916, 940, 3262, 2135, 88, 3262, 366, 198, 2916, 940, 3262, 2161, 88, 3262, 366, - 3262, 2095, 2916, 940, 2197, 3262, 88, 366, 2916, 940, 3262, 3262, 88, 2207, 2916, 940, 366, 796, 88, - 2233, 3262, 2167, 366, 3262, 3262, 2305, 3262, 3262, 366, 2203, 2916, 940, 3262, 3262, 88, 3262, 3262, - 2239, 3262, 2916, 940, 2351, 3262, 88, 366, 3262, 2275, 3262, 3262, 3262, 2387, 194, 2311, 366, 3262, - 2916, 940, 3262, 2383, 88, 3262, 2916, 940, 3262, 3262, 88, 2413, 2839, 940, 366, 3109, 88, 2521, 3262, - 2419, 366, 2839, 940, 3262, 3117, 88, 1703, 3262, 2455, 2839, 940, 3262, 2955, 88, 3262, 1704, 3262, - 2839, 940, 3262, 2982, 88, 3262, 1974, 2491, 2839, 940, 3262, 3149, 88, 2527, 1978, 2914, 940, 2839, - 940, 88, 3010, 88, 1982, 2839, 940, 3262, 3027, 88, 3262, 116, 3262, 2000, 2839, 940, 3262, 3033, 88, - 2022, 2914, 940, 2839, 940, 88, 3080, 88, 3262, 2094, 2914, 940, 129, 940, 88, 116, 88, 2166, 129, 940, - 3262, 3262, 88, 3262, 116, 3262, 1633, 129, 940, 129, 940, 88, 1648, 88, 3262, 3262, 3262, 3262, 3262, - 3262, 3262, 1763, 3262, 1931, 3262, 3262, 1994, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, - 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 2131, 3262, 3262, 3262, - 3262, 3262, 3262, 3262, 3262, 2347, 3262, 0, 328, 837, 0, 11, 227, 0, 3270, 1, 0, 1, 3500, 0, 8, 10, 0, - 1656, 119, 0, 180, 20, 0, 1, 3489, 0, 113, 2099, 0 }; - } - - public final static char baseAction[] = BaseAction.baseAction; - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - 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, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 0, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 0, 72, 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, 0, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 0, 72, 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, 0, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 0, 72, 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, 0, 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, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 0, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 0, 1, 2, 3, 4, 92, 0, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 1, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 0, 1, 2, 0, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 0, 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, 37, 38, 39, 40, 41, 42, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0, 1, 2, 3, 4, 5, 0, 1, - 0, 3, 0, 1, 6, 3, 0, 0, 6, 0, 1, 2, 5, 0, 1, 2, 0, 25, 26, 0, 0, 1, 2, 0, 4, 6, 0, 0, 0, 0, 1, 2, 25, 0, - 5, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 0, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 0, 1, 2, 3, 4, 5, 43, 44, 45, 46, 47, 48, 55, 76, 77, 71, 87, 0, 0, 75, 2, 55, 5, 5, 74, 25, - 26, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 73, 76, 77, 25, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 0, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 0, 1, 55, 3, 0, 5, 0, 1, 0, - 3, 2, 0, 0, 1, 0, 3, 87, 71, 0, 0, 73, 75, 0, 1, 6, 3, 26, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 0, 0, 0, 2, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 0, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 0, 72, 0, 1, 4, 3, 0, 5, 75, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 83, 84, 85, 86, 0, 26, 0, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 0, 93, 0, 0, 2, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 87, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 0, - 72, 0, 1, 4, 3, 0, 5, 81, 82, 43, 44, 45, 46, 47, 48, 83, 84, 85, 86, 83, 84, 85, 86, 55, 55, 0, 91, 26, - 0, 4, 75, 0, 1, 2, 3, 0, 1, 9, 3, 0, 0, 88, 89, 4, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 0, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 0, 72, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 0, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 0, 1, 0, 3, 81, 82, 0, 1, 2, - 3, 4, 5, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 4, 0, 5, 5, - 5, 0, 5, 2, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 49, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 2, 90, 4, 0, 1, 0, 1, 2, 3, 4, 5, 78, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 71, 0, 73, 72, 95, 96, 73, 0, 78, 81, 82, 0, 43, 44, 45, 46, 47, 48, 0, 1, - 0, 3, 2, 55, 49, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 0, 0, 79, 78, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 0, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 0, 79, 0, 0, 76, 77, 0, 7, 8, 7, 8, 0, 0, 1, 2, 3, 4, 5, 72, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 1, 2, 3, 4, 5, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 0, 0, 1, 78, 3, 0, 90, 7, 8, 0, 5, 55, 88, 89, 0, 6, 0, 0, 0, 2, 6, 0, 6, 0, 1, 2, 3, 4, - 78, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 1, 2, 3, 4, 0, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 1, 2, 3, 4, 73, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 1, 2, 3, 4, 0, 0, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 1, 2, 3, 4, 75, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 0, 1, 2, 3, 4, 0, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 0, 1, 2, 3, 4, 74, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 0, 1, 2, 3, 4, 74, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 1, 2, - 3, 4, 74, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 1, 2, 3, 4, 74, 0, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 1, 2, 0, 4, 5, 0, 0, 2, 6, 0, 0, - 2, 0, 0, 0, 10, 11, 5, 0, 6, 0, 0, 2, 0, 25, 4, 71, 0, 5, 0, 0, 0, 1, 2, 0, 4, 0, 25, 28, 5, 0, 0, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 0, 0, 2, 0, 25, 55, 43, 44, 45, 46, 47, 48, 0, 0, 2, 0, - 4, 73, 43, 44, 45, 46, 47, 48, 43, 44, 45, 46, 47, 48, 80, 55, 0, 0, 0, 0, 0, 5, 5, 5, 5, 73, 0, 0, 94, - 79, 0, 5, 76, 77, 71, 5, 9, 0, 0, 55, 55, 25, 25, 0, 25, 27, 76, 77, 0, 91, 2, 55, 55, 0, 55, 0, 0, 0, - 71, 6, 0, 92, 6, 6, 0, 80, 6, 0, 0, 0, 6, 0, 0, 0, 6, 6, 0, 80, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 73, 0, - 73, 0, 0, 0, 0, 0, 0, 72, 79, 0, 0, 72, 0, 0, 0, 0, 0, 71, 71, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 74, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static byte termCheck[] = TermCheck.termCheck; - - @Override - public final int termCheck(int index) { - return termCheck[index]; - } - - public interface TermAction { - public final static char termAction[] = { 0, 3262, 6600, 1, 6598, 1, 1219, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, - 1868, 727, 1594, 1080, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 183, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 254, 3269, 8, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, - 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, - 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, - 3247, 3247, 3247, 3247, 3247, 3247, 1, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, 3247, - 3247, 3247, 3247, 3247, 184, 3247, 3262, 6600, 1, 6598, 1, 1219, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, - 1868, 727, 1594, 1080, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 287, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3262, 3269, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, - 1080, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 71, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3262, 6600, - 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, - 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 131, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3262, 3273, 2852, 3274, 1189, 1908, 3262, - 1123, 1090, 1156, 1420, 1387, 1354, 3275, 3276, 3277, 3278, 987, 382, 3578, 3579, 3580, 1321, 921, 574, - 3262, 3501, 3477, 3478, 3479, 3591, 450, 3592, 3426, 3427, 3425, 3480, 3428, 3424, 1, 3489, 678, 3262, - 3477, 3478, 3479, 3591, 450, 3592, 3426, 3427, 3425, 3480, 3428, 3424, 3262, 3431, 3436, 3435, 3433, - 3434, 3432, 3437, 3438, 3430, 3439, 3440, 3441, 371, 681, 427, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, - 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, - 821, 1868, 727, 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, - 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, - 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, - 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 6600, - 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, - 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 6600, 1, 6598, 1, - 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, - 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, - 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, - 821, 1868, 727, 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, - 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, - 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, - 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 6600, - 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, - 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 6600, 1, 6598, 1, - 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, - 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, - 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, - 821, 1868, 727, 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, - 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, - 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, - 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 6600, - 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, - 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 6600, 1, 6598, 1, - 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, - 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, - 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, - 821, 1868, 727, 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, - 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, - 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, - 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 6600, - 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, - 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 6600, 1, 6598, 1, - 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, - 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, - 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, - 821, 1868, 727, 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, - 1594, 1080, 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 3271, 3363, 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, - 3262, 6600, 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, - 1028, 1094, 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 6600, - 1, 6598, 1, 3272, 870, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3271, 3363, 1028, 1094, - 951, 973, 1160, 457, 1087, 1030, 1134, 1972, 1120, 821, 1868, 727, 1594, 1080, 3262, 1, 1, 1, 1, 3272, - 3262, 3273, 55, 3274, 3262, 3273, 739, 3274, 3262, 236, 751, 254, 3489, 678, 224, 1, 3489, 678, 3262, - 3271, 3569, 3262, 263, 3489, 1838, 3262, 1, 561, 3262, 59, 3262, 1, 3256, 1838, 224, 3262, 3268, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 132, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3262, 1, 1, 1, 1, 3272, - 3477, 3478, 3479, 3591, 450, 3592, 802, 593, 2752, 224, 301, 237, 1, 224, 2781, 802, 224, 3268, 1540, - 3271, 3569, 3477, 3478, 3479, 3591, 450, 3592, 3426, 3427, 3425, 3480, 3428, 3424, 3267, 593, 2752, 224, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 133, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3262, 1, 802, 1, - 43, 192, 186, 6595, 11, 6595, 3238, 60, 185, 6596, 3262, 6596, 300, 224, 230, 113, 3267, 224, 207, 6599, - 233, 6599, 3459, 3477, 3478, 3479, 3591, 450, 3592, 3426, 3427, 3425, 3480, 3428, 3424, 134, 3262, 3262, - 407, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3262, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 49, 192, - 3262, 1, 1288, 1, 62, 191, 1340, 69, 61, 3477, 3478, 3479, 3591, 450, 3592, 3426, 3427, 3425, 3480, - 3428, 3424, 2738, 2724, 2710, 2693, 63, 3459, 158, 1307, 1274, 1241, 1208, 1175, 1109, 1142, 1076, 1043, - 1010, 250, 3259, 223, 328, 643, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3234, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 3262, 191, 3262, 1, 428, 1, 3262, 192, 1255, 1222, 1, 1, 1, 1, 1, 1, 2738, 2724, 2710, - 2693, 2738, 2724, 2710, 2693, 802, 3235, 51, 607, 3459, 65, 1288, 640, 1, 393, 678, 3274, 3262, 3273, - 2557, 3274, 3262, 3262, 2630, 2579, 924, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3262, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 3262, 192, 3477, 3478, 3479, 3591, 450, 3592, 3426, 3427, 3425, 3480, 3428, - 3424, 67, 3431, 3436, 3435, 3433, 3434, 3432, 3437, 3438, 3430, 3439, 3440, 3441, 371, 681, 427, 3262, - 3273, 3262, 3274, 1255, 1222, 1, 3273, 2852, 3274, 851, 3266, 73, 1123, 1090, 1156, 1420, 1387, 1354, - 3275, 3276, 3277, 3278, 987, 382, 3578, 3579, 3580, 1321, 921, 574, 50, 3262, 3262, 1, 1288, 3262, 3268, - 3266, 3241, 3262, 3268, 708, 3477, 3478, 3479, 3591, 450, 3592, 3426, 3427, 3425, 3480, 3428, 3424, 872, - 3431, 3436, 3435, 3433, 3434, 3432, 3437, 3438, 3430, 3439, 3440, 3441, 371, 681, 427, 266, 249, 2781, - 1953, 1, 1, 3244, 3262, 3273, 2852, 3274, 886, 3266, 3265, 1123, 1090, 1156, 1420, 1387, 1354, 3275, - 3276, 3277, 3278, 987, 382, 3578, 3579, 3580, 1321, 921, 574, 1643, 1, 3267, 3269, 1818, 1836, 3267, 58, - 3265, 1255, 1222, 130, 3477, 3478, 3479, 3591, 450, 3592, 209, 3273, 3262, 3274, 2940, 802, 1406, 1, - 3273, 2852, 3274, 1189, 29, 6557, 1123, 1090, 1156, 1420, 1387, 1354, 3275, 3276, 3277, 3278, 987, 382, - 3578, 3579, 3580, 1321, 921, 574, 3262, 3262, 3521, 3265, 3477, 3478, 3479, 3591, 450, 3592, 3426, 3427, - 3425, 3480, 3428, 3424, 3262, 3431, 3436, 3435, 3433, 3434, 3432, 3437, 3438, 3430, 3439, 3440, 3441, - 52, 3521, 54, 68, 593, 2752, 3262, 2829, 2818, 2829, 2818, 64, 3262, 3273, 2852, 3274, 621, 3266, 29, - 1123, 1090, 1156, 1420, 1387, 1354, 3275, 3276, 3277, 3278, 987, 382, 3578, 3579, 3580, 1321, 921, 574, - 3262, 3273, 2852, 3274, 1189, 3266, 221, 1123, 1090, 1156, 1420, 1387, 1354, 3275, 3276, 3277, 3278, - 987, 382, 3578, 3579, 3580, 1321, 921, 574, 3262, 3273, 2852, 3274, 1189, 3262, 6557, 1123, 1090, 1156, - 1420, 1387, 1354, 3275, 3276, 3277, 3278, 987, 382, 3578, 3579, 3580, 1321, 921, 574, 53, 208, 941, - 3265, 941, 1, 1953, 2829, 2818, 3262, 3268, 802, 2630, 2579, 1, 1112, 3262, 3262, 3262, 3166, 870, 3262, - 1244, 3262, 3273, 2852, 3274, 1189, 3265, 6557, 1123, 1090, 1156, 1420, 1387, 1354, 3275, 3276, 3277, - 3278, 987, 382, 3578, 3579, 3580, 1321, 921, 574, 1, 3273, 2852, 3274, 1189, 212, 6557, 1123, 1090, - 1156, 1420, 1387, 1354, 3275, 3276, 3277, 3278, 987, 382, 3578, 3579, 3580, 1321, 921, 574, 3262, 3273, - 2852, 3274, 1189, 3267, 6557, 1123, 1090, 1156, 1420, 1387, 1354, 3275, 3276, 3277, 3278, 987, 382, - 3578, 3579, 3580, 1321, 921, 574, 3262, 3273, 2867, 3274, 1189, 3262, 3262, 1123, 1090, 1156, 1420, - 1387, 1354, 3275, 3276, 3277, 3278, 987, 382, 3578, 3579, 3580, 1321, 921, 574, 3262, 3273, 2872, 3274, - 1189, 1505, 3262, 1123, 1090, 1156, 1420, 1387, 1354, 3275, 3276, 3277, 3278, 987, 382, 3578, 3579, - 3580, 1321, 921, 574, 3262, 3273, 2874, 3274, 1189, 3262, 3262, 1123, 1090, 1156, 1420, 1387, 1354, - 3275, 3276, 3277, 3278, 987, 382, 3578, 3579, 3580, 1321, 921, 574, 3262, 3273, 2890, 3274, 1189, 682, - 3262, 1123, 1090, 1156, 1420, 1387, 1354, 3275, 3276, 3277, 3278, 987, 382, 3578, 3579, 3580, 1321, 921, - 574, 3262, 3273, 2852, 3274, 1189, 1765, 3262, 1123, 1090, 1156, 1420, 1387, 1354, 3275, 3276, 3277, - 3278, 987, 382, 3578, 3579, 3580, 1321, 921, 574, 3262, 3273, 2895, 3274, 1189, 1989, 257, 1123, 1090, - 1156, 1420, 1387, 1354, 3275, 3276, 3277, 3278, 987, 382, 3578, 3579, 3580, 1321, 921, 574, 1, 3273, - 2852, 3274, 1189, 1472, 3262, 1123, 1090, 1156, 1420, 1387, 1354, 3275, 3276, 3277, 3278, 987, 382, - 3578, 3579, 3580, 1321, 921, 574, 20, 180, 3253, 230, 3253, 3253, 32, 3262, 637, 234, 3262, 119, 3172, - 1, 3262, 3262, 3288, 3289, 3272, 251, 1463, 3262, 1, 3181, 1, 3253, 254, 731, 57, 91, 70, 252, 269, - 3489, 1838, 3262, 254, 253, 3271, 3250, 3272, 72, 56, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 3253, 271, 3262, 676, 89, 3271, 1007, 1, 1, 1, 1, 1, 1, 269, 293, 2781, 272, 254, 3253, 3477, - 3478, 3479, 3591, 450, 3592, 3477, 3478, 3479, 3591, 450, 3592, 963, 802, 1, 3262, 1, 3262, 1, 117, - 3272, 3268, 3272, 91, 3262, 66, 960, 3521, 286, 3270, 593, 2752, 448, 908, 2557, 30, 208, 802, 1575, - 117, 3271, 30, 3271, 3629, 593, 2752, 3262, 607, 3183, 802, 1645, 324, 802, 202, 322, 320, 1439, 6557, - 42, 1908, 6557, 6557, 3262, 1061, 6557, 3262, 190, 190, 6557, 1, 190, 1, 186, 185, 3262, 1488, 207, - 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 2613, 117, 3262, 3267, 3262, 3262, 3262, 3262, - 3262, 3262, 3269, 3520, 3262, 3262, 908, 3262, 3262, 3262, 3262, 3262, 3291, 6183, 3262, 3262, 3262, - 3262, 558, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 1610, - 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 748, 3262, 3262, 3274, 3262, - 3273 }; - } - - public final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[index]; - } - - public interface Asb { - public final static char asb[] = { 0, 523, 5, 58, 398, 523, 60, 355, 30, 7, 42, 353, 42, 353, 353, 42, 353, 42, - 400, 600, 60, 46, 557, 355, 400, 181, 186, 185, 518, 107, 600, 517, 359, 301, 353, 104, 104, 353, 104, - 60, 600, 481, 600, 605, 400, 60, 268, 605, 198, 60, 360, 323, 380, 84, 84, 84, 84, 84, 84, 84, 84, 301, - 84, 84, 84, 141, 158, 163, 161, 169, 165, 172, 171, 174, 173, 175, 355, 222, 355, 255, 600, 470, 60, - 607, 326, 400, 58, 271, 323, 423, 147, 301, 607, 252, 355, 84, 107, 517, 359, 182, 82, 82, 82, 82, 182, - 182, 104, 557, 557, 557, 64, 557, 557, 182, 359, 192, 84, 192, 380, 481, 481, 564, 380, 380, 380, 380, - 380, 104, 104, 639, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 355, - 222, 255, 255, 470, 470, 481, 476, 480, 60, 423, 323, 300, 268, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 480, 252, 196, 357, 182, 84, 182, 182, 182, 182, 378, 378, 84, 358, 84, 84, 360, 64, 192, 64, 178, - 430, 198, 600, 602, 479, 478, 481, 481, 481, 481, 481, 481, 323, 161, 161, 158, 158, 165, 165, 163, 163, - 163, 163, 171, 169, 173, 172, 192, 174, 222, 252, 261, 222, 255, 257, 559, 257, 470, 423, 602, 600, 607, - 84, 84, 323, 301, 62, 196, 82, 82, 182, 82, 182, 481, 557, 481, 481, 359, 64, 84, 564, 481, 570, 605, - 484, 484, 484, 484, 355, 84, 222, 263, 257, 252, 84, 104, 423, 470, 570, 476, 323, 323, 257, 2, 82, 182, - 82, 182, 82, 182, 82, 64, 84, 64, 64, 481, 607, 252, 181, 84, 180, 252, 470, 252, 194, 521, 104, 84, 1, - 638, 182, 82, 638, 182, 82, 82, 182, 639, 182, 481, 358, 481, 263, 84, 141, 198, 323, 104, 84, 64, 481, - 638, 638, 182, 64, 481, 638, 638, 182, 638, 182, 82, 481, 639, 182, 64, 323, 64, 64, 481, 64, 481, 638, - 64, 64, 481, 64, 481, 638, 64, 481, 638, 638, 182, 64, 481, 64, 64, 64, 481, 64, 64, 64, 481, 64, 64, - 481, 64, 481, 638, 64, 64, 64, 64, 64, 64, 481, 64 }; - } - - public final static char asb[] = Asb.asb; - - @Override - public final int asb(int index) { - return asb[index]; - } - - public interface Asr { - public final static byte asr[] = { 0, 75, 55, 80, 0, 87, 0, 68, 12, 69, 70, 13, 14, 15, 16, 3, 10, 11, 9, 7, 8, - 17, 18, 78, 19, 20, 21, 22, 23, 24, 64, 56, 61, 59, 60, 58, 57, 62, 63, 65, 66, 67, 55, 74, 71, 73, 50, - 43, 51, 52, 53, 44, 49, 54, 45, 46, 47, 48, 25, 5, 4, 2, 1, 0, 30, 31, 6, 35, 37, 32, 28, 33, 42, 34, - 27, 29, 36, 39, 41, 38, 40, 26, 25, 5, 2, 13, 14, 15, 16, 19, 20, 21, 10, 11, 9, 4, 7, 8, 17, 18, 12, - 22, 23, 24, 1, 3, 0, 50, 56, 43, 57, 68, 51, 58, 52, 59, 60, 53, 44, 61, 62, 49, 69, 54, 70, 63, 64, 45, - 65, 66, 67, 1, 3, 46, 47, 48, 5, 75, 71, 25, 0, 55, 2, 80, 94, 10, 11, 75, 97, 98, 99, 100, 101, 103, - 102, 104, 105, 106, 4, 81, 82, 7, 8, 77, 76, 83, 84, 85, 86, 88, 89, 9, 90, 91, 92, 72, 95, 96, 78, 73, - 74, 71, 25, 5, 0, 2, 5, 75, 71, 73, 25, 55, 74, 0, 5, 72, 55, 80, 2, 13, 14, 15, 16, 19, 20, 21, 1, 3, - 10, 11, 9, 4, 7, 8, 17, 18, 12, 22, 23, 24, 6, 0, 50, 56, 43, 57, 68, 51, 58, 52, 59, 60, 53, 44, 61, - 62, 49, 69, 54, 70, 63, 64, 45, 65, 66, 67, 1, 3, 46, 47, 48, 26, 5, 72, 0, 1, 3, 5, 72, 71, 0, 25, 5, - 4, 1, 2, 74, 0, 78, 5, 49, 43, 44, 45, 46, 47, 48, 10, 11, 9, 4, 7, 8, 17, 18, 12, 22, 23, 24, 2, 1, 3, - 13, 14, 15, 16, 19, 20, 21, 0, 49, 10, 11, 9, 4, 7, 8, 17, 18, 12, 22, 23, 24, 2, 1, 3, 13, 14, 15, 16, - 19, 20, 21, 78, 5, 0, 50, 56, 43, 57, 68, 51, 58, 52, 59, 60, 53, 44, 61, 62, 49, 69, 54, 70, 63, 64, - 45, 65, 66, 67, 46, 47, 48, 1, 3, 6, 0, 87, 93, 72, 30, 31, 6, 35, 37, 32, 28, 33, 42, 34, 27, 29, 36, - 39, 41, 38, 40, 26, 25, 5, 12, 13, 14, 15, 16, 10, 11, 9, 7, 8, 17, 18, 19, 20, 21, 22, 23, 24, 4, 2, 1, - 3, 68, 69, 70, 64, 56, 61, 59, 60, 58, 57, 62, 63, 65, 66, 67, 54, 51, 49, 50, 53, 52, 43, 44, 45, 47, - 46, 48, 0, 49, 54, 53, 52, 51, 50, 80, 94, 10, 11, 9, 7, 8, 81, 82, 76, 77, 83, 84, 85, 86, 88, 89, 90, - 91, 92, 95, 96, 75, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 25, 43, 44, 45, 46, 47, 48, 4, 1, 2, - 55, 71, 73, 5, 0, 9, 4, 7, 8, 81, 82, 76, 77, 83, 84, 85, 86, 88, 89, 90, 91, 92, 95, 96, 74, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 78, 73, 72, 6, 5, 71, 25, 75, 0, 87, 50, 56, 43, 57, 68, 51, 58, - 52, 59, 60, 53, 44, 61, 62, 49, 69, 54, 70, 63, 64, 45, 65, 66, 67, 1, 3, 4, 46, 47, 48, 25, 5, 26, 2, - 0, 5, 71, 72, 75, 0, 5, 73, 4, 2, 55, 0, 50, 56, 43, 57, 68, 51, 58, 52, 59, 60, 53, 44, 61, 62, 49, 69, - 54, 70, 63, 64, 45, 65, 66, 67, 1, 3, 46, 47, 48, 79, 4, 0, 4, 2, 55, 73, 5, 50, 56, 43, 57, 68, 51, 58, - 52, 59, 60, 53, 44, 61, 62, 49, 69, 54, 70, 63, 64, 45, 65, 66, 67, 1, 3, 46, 47, 48, 79, 0, 27, 5, 73, - 12, 13, 14, 15, 16, 1, 3, 2, 10, 11, 9, 4, 7, 8, 17, 18, 19, 20, 21, 22, 23, 24, 0 }; - } - - public final static byte asr[] = Asr.asr; - - @Override - public final int asr(int index) { - return asr[index]; - } - - public interface Nasb { - public final static char nasb[] = { 0, 105, 34, 64, 24, 88, 145, 20, 124, 37, 125, 22, 125, 16, 16, 125, 15, - 125, 119, 142, 147, 34, 34, 20, 138, 65, 44, 44, 34, 34, 142, 34, 55, 83, 7, 7, 7, 7, 7, 46, 34, 158, - 142, 157, 115, 147, 82, 157, 61, 127, 109, 84, 164, 53, 53, 53, 53, 53, 53, 53, 53, 83, 53, 53, 53, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 86, 138, 34, 138, 34, 13, 129, 79, 94, 27, 64, 52, 84, 103, 34, - 83, 160, 138, 34, 53, 34, 34, 75, 65, 71, 71, 71, 71, 65, 65, 7, 34, 34, 34, 39, 34, 34, 65, 55, 34, 53, - 34, 1, 158, 158, 136, 164, 164, 164, 164, 164, 92, 92, 58, 72, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 72, 53, 34, 168, 138, 7, 13, 138, 158, 134, 34, 147, 103, 84, 83, 99, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 158, 56, 138, 34, 65, 53, 65, 65, 65, 65, 69, 172, 72, 34, 72, - 72, 109, 39, 34, 39, 34, 34, 151, 142, 155, 44, 44, 158, 158, 158, 158, 158, 158, 84, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 138, 56, 64, 181, 7, 101, 34, 34, 138, 103, 133, 142, - 79, 53, 53, 84, 83, 34, 51, 71, 71, 65, 174, 65, 158, 34, 158, 158, 75, 39, 53, 11, 158, 140, 157, 152, - 152, 152, 152, 152, 53, 168, 147, 101, 56, 53, 7, 103, 99, 140, 9, 84, 84, 101, 35, 71, 65, 71, 65, 71, - 65, 174, 39, 72, 39, 39, 158, 79, 56, 65, 53, 34, 56, 99, 56, 50, 34, 7, 53, 18, 177, 65, 71, 177, 65, - 71, 71, 65, 174, 65, 158, 34, 158, 147, 53, 67, 61, 84, 7, 53, 39, 158, 177, 177, 65, 39, 158, 177, 177, - 65, 177, 65, 71, 158, 174, 65, 39, 84, 39, 39, 158, 39, 158, 177, 39, 39, 158, 39, 158, 177, 39, 158, - 177, 177, 65, 39, 158, 39, 39, 39, 158, 39, 39, 39, 158, 39, 39, 158, 39, 158, 177, 39, 39, 39, 39, 39, - 39, 158, 39 }; - } - - public final static char nasb[] = Nasb.nasb; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - public interface Nasr { - public final static char nasr[] = { 0, 88, 86, 85, 79, 84, 83, 2, 0, 41, 46, 66, 65, 40, 0, 116, 91, 0, 125, 0, - 110, 0, 113, 0, 41, 1, 104, 88, 87, 86, 85, 79, 84, 83, 0, 123, 0, 128, 0, 2, 18, 1, 19, 0, 52, 0, 41, - 43, 40, 0, 106, 53, 1, 8, 0, 1, 49, 0, 1, 112, 0, 8, 53, 0, 1, 3, 0, 121, 0, 33, 51, 3, 1, 14, 0, 18, 2, - 73, 49, 1, 33, 0, 1, 8, 39, 0, 114, 0, 1, 33, 107, 0, 94, 0, 1, 33, 51, 16, 0, 35, 0, 82, 0, 80, 0, 126, - 1, 33, 0, 1, 33, 2, 18, 96, 0, 33, 1, 127, 0, 79, 74, 75, 76, 77, 69, 54, 0, 43, 48, 41, 46, 40, 0, 11, - 41, 46, 65, 66, 1, 0, 1, 33, 40, 61, 0, 43, 48, 46, 41, 1, 0, 8, 53, 50, 0, 65, 66, 1, 11, 0, 117, 1, - 33, 0, 1, 58, 14, 0, 99, 1, 58, 0, 33, 51, 1, 68, 0, 1, 44, 11, 0, 1, 58, 92, 0 }; - } - - public final static char nasr[] = Nasr.nasr; - - @Override - public final int nasr(int index) { - return nasr[index]; - } - - public interface TerminalIndex { - public final static char terminalIndex[] = { 0, 85, 2, 86, 9, 87, 3, 10, 11, 8, 6, 7, 68, 81, 82, 83, 84, 12, - 13, 93, 94, 95, 100, 101, 102, 92, 107, 49, 77, 45, 46, 50, 51, 57, 58, 59, 65, 71, 99, 103, 104, 105, - 106, 48, 64, 76, 96, 97, 98, 69, 44, 55, 60, 63, 72, 1, 47, 52, 56, 61, 62, 66, 67, 74, 75, 78, 79, 80, - 54, 70, 73, 42, 91, 90, 29, 31, 16, 17, 89, 30, 4, 14, 15, 18, 19, 20, 21, 108, 22, 23, 24, 25, 26, 53, - 5, 27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 88 }; - } - - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - - @Override - public final int terminalIndex(int index) { - return terminalIndex[index]; - } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = { 0, 0, 113, 112, 0, 0, 0, 0, 115, 119, 120, 110, 121, 122, 114, - 123, 136, 124, 132, 135, 0, 0, 0, 0, 0, 0, 125, 126, 127, 128, 129, 130, 0, 140, 131, 148, 0, 0, 0, 109, - 0, 170, 0, 173, 197, 167, 169, 0, 171, 111, 118, 139, 172, 0, 147, 0, 0, 0, 162, 158, 134, 168, 117, - 181, 184, 185, 186, 0, 0, 150, 0, 174, 180, 138, 151, 152, 153, 154, 157, 159, 179, 183, 0, 142, 143, - 144, 145, 146, 149, 155, 156, 0, 161, 166, 116, 133, 137, 141, 0, 160, 164, 0, 0, 165, 175, 178, 188, - 193, 0, 0, 195, 0, 0, 0, 0, 163, 0, 176, 177, 182, 187, 0, 189, 190, 0, 191, 192, 194, 196, 0, 0 }; - } - - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - - @Override - public final int nonterminalIndex(int index) { - return nonterminalIndex[index]; - } - - public interface ScopePrefix { - public final static char scopePrefix[] = { 120, 151, 130, 59, 69, 159, 26, 186, 35, 87, 105, 75, 6, 12, 16, 40, - 83, 52, 141, 195, 212, 219, 223, 52, 52, 199, 52, 1, 1, 1, 44, 47, 92, 115, 47, 227, 20, 145, 206, 206, - 177, 137, 165, 165, 165, 165, 165, 95, 95, 95 }; - } - - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - - @Override - public final int scopePrefix(int index) { - return scopePrefix[index]; - } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { 128, 128, 128, 4, 4, 128, 32, 192, 10, 4, 10, 80, 10, 10, 10, 10, 4, - 4, 139, 128, 10, 10, 4, 56, 80, 203, 65, 4, 4, 4, 10, 50, 4, 10, 118, 10, 23, 148, 209, 216, 180, 139, - 167, 169, 171, 173, 175, 102, 97, 110 }; - } - - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - - @Override - public final int scopeSuffix(int index) { - return scopeSuffix[index]; - } - - public interface ScopeLhs { - public final static char scopeLhs[] = { 76, 74, 76, 52, 52, 74, 50, 22, 67, 52, 43, 52, 9, 9, 9, 67, 52, 52, 92, - 16, 9, 8, 8, 52, 52, 32, 52, 128, 125, 124, 65, 81, 52, 41, 59, 6, 106, 92, 10, 8, 23, 92, 87, 86, 85, - 84, 83, 43, 48, 43 }; - } - - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - - @Override - public final int scopeLhs(int index) { - return scopeLhs[index]; - } - - public interface ScopeLa { - public final static byte scopeLa[] = { 72, 72, 72, 78, 78, 72, 72, 93, 73, 78, 73, 13, 73, 73, 73, 73, 78, 78, - 25, 72, 73, 73, 78, 4, 13, 74, 49, 78, 78, 78, 73, 2, 78, 73, 1, 73, 75, 1, 73, 73, 28, 25, 1, 68, 69, - 69, 64, 2, 2, 2 }; - } - - public final static byte scopeLa[] = ScopeLa.scopeLa; - - @Override - public final int scopeLa(int index) { - return scopeLa[index]; - } - - public interface ScopeStateSet { - public final static char scopeStateSet[] = { 153, 153, 153, 126, 126, 153, 49, 10, 130, 126, 139, 126, 60, 60, - 60, 130, 126, 126, 5, 9, 60, 60, 60, 126, 126, 94, 126, 137, 1, 3, 130, 132, 126, 139, 144, 60, 123, 5, - 66, 60, 10, 5, 154, 154, 154, 154, 154, 139, 141, 139 }; - } - - public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; - - @Override - public final int scopeStateSet(int index) { - return scopeStateSet[index]; - } - - public interface ScopeRhs { - public final static char scopeRhs[] = { 0, 167, 55, 0, 109, 0, 169, 2, 24, 0, 110, 0, 169, 2, 23, 0, 169, 2, 22, - 0, 229, 108, 0, 31, 157, 0, 189, 227, 108, 6, 160, 0, 111, 0, 0, 178, 108, 2, 172, 0, 178, 108, 2, 0, - 188, 2, 0, 168, 108, 0, 184, 0, 212, 108, 55, 0, 9, 109, 0, 141, 49, 212, 108, 55, 0, 69, 131, 109, 0, - 141, 212, 108, 49, 55, 0, 212, 108, 49, 55, 0, 131, 109, 0, 141, 49, 55, 0, 141, 212, 108, 55, 0, 141, - 55, 0, 148, 0, 2, 0, 176, 110, 0, 2, 110, 0, 178, 108, 2, 148, 0, 2, 0, 174, 110, 0, 166, 2, 0, 167, 0, - 189, 209, 108, 6, 109, 223, 68, 0, 111, 0, 189, 209, 108, 6, 223, 68, 0, 165, 0, 112, 0, 222, 108, 165, - 0, 108, 165, 0, 163, 112, 0, 205, 108, 6, 221, 109, 220, 186, 0, 205, 108, 6, 220, 186, 0, 195, 0, 154, - 0, 153, 0, 152, 0, 151, 0, 150, 0, 126, 32, 0, 77, 2, 114, 110, 112, 0, 126, 118, 121, 2, 35, 0, 53, - 135, 0, 203, 108, 6, 0, 121, 96, 138, 0, 29, 131, 0, 169, 2, 0, 110, 120, 0, 169, 2, 12, 0, 110, 118, 0, - 219, 2, 115, 0, 121, 55, 115, 0, 121, 2, 0 }; - } - - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - - @Override - public final int scopeRhs(int index) { - return scopeRhs[index]; - } - - public interface ScopeState { - public final static char scopeState[] = { 0, 372, 0, 432, 0, 2902, 2984, 2879, 0, 1013, 2531, 2521, 2495, 2485, - 2459, 2449, 2423, 2413, 2387, 2377, 2351, 2341, 2315, 2305, 2279, 2269, 2243, 2233, 2207, 2197, 2171, - 2161, 2135, 2125, 2099, 2089, 2063, 2053, 2027, 2017, 1989, 1731, 1765, 682, 1697, 457, 767, 1663, 0, - 748, 558, 1843, 1543, 1509, 1508, 1491, 519, 2766, 640, 0, 1420, 1387, 1354, 1321, 921, 574, 886, 2766, - 1818, 607, 1908, 2557, 1953, 2738, 2724, 2710, 2693, 2630, 2579, 2829, 2818, 2752, 593, 1288, 1255, - 1222, 1189, 851, 1156, 621, 1123, 1090, 987, 382, 1645, 748, 1610, 1575, 1540, 1505, 1472, 1439, 1406, - 1373, 940, 1340, 1307, 1274, 1241, 1208, 1175, 1142, 1109, 1076, 1043, 1010, 905, 368, 973, 872, 640, - 802, 837, 558, 519, 0, 1127, 1101, 552, 492, 369, 2898, 1838, 2781, 1811, 1628, 0, 450, 0, 500, 429, - 369, 2767, 1760, 2613, 2575, 1838, 2560, 1811, 448, 678, 1898, 0, 1740, 368, 659, 429, 0 }; - } - - public final static char scopeState[] = ScopeState.scopeState; - - @Override - public final int scopeState(int index) { - return scopeState[index]; - } - - public interface InSymb { - public final static char inSymb[] = { 0, 0, 218, 140, 108, 233, 108, 211, 190, 47, 191, 186, 192, 70, 69, 193, - 68, 194, 195, 108, 2, 1, 148, 211, 225, 204, 153, 148, 197, 155, 108, 150, 6, 55, 220, 198, 198, 223, - 198, 168, 147, 166, 108, 2, 108, 71, 55, 2, 75, 168, 108, 167, 2, 24, 23, 22, 12, 18, 17, 8, 7, 4, 9, - 11, 10, 115, 119, 122, 120, 133, 124, 135, 134, 137, 136, 138, 109, 6, 109, 6, 147, 4, 168, 108, 234, - 108, 140, 49, 141, 108, 116, 4, 108, 6, 160, 4, 155, 150, 203, 40, 38, 41, 39, 36, 29, 27, 34, 42, 33, - 28, 32, 37, 35, 125, 6, 31, 30, 109, 108, 169, 121, 165, 2, 2, 2, 2, 2, 94, 80, 2, 55, 82, 81, 4, 76, - 77, 8, 7, 89, 88, 86, 85, 84, 83, 90, 9, 92, 91, 96, 95, 221, 108, 6, 108, 4, 147, 178, 140, 179, 108, - 108, 141, 212, 187, 106, 105, 104, 102, 103, 101, 100, 99, 98, 97, 75, 224, 108, 6, 5, 121, 108, 121, - 121, 121, 109, 2, 2, 2, 126, 2, 2, 108, 74, 167, 74, 202, 109, 118, 108, 2, 173, 172, 169, 169, 169, - 169, 169, 219, 121, 120, 120, 119, 119, 124, 124, 122, 122, 122, 122, 134, 133, 136, 135, 121, 137, 6, - 205, 165, 206, 108, 209, 109, 210, 147, 108, 2, 108, 71, 212, 49, 141, 4, 71, 108, 158, 110, 121, 158, - 175, 121, 28, 121, 121, 203, 74, 71, 168, 188, 108, 2, 118, 118, 118, 118, 118, 74, 108, 108, 209, 189, - 75, 71, 108, 187, 108, 168, 141, 141, 227, 108, 110, 121, 110, 121, 110, 175, 110, 118, 2, 118, 118, - 178, 108, 205, 222, 74, 166, 189, 187, 189, 71, 229, 80, 55, 230, 110, 121, 110, 110, 121, 110, 110, - 121, 110, 175, 121, 126, 178, 71, 74, 156, 75, 167, 80, 55, 118, 151, 110, 110, 121, 118, 151, 110, 110, - 121, 110, 121, 110, 175, 110, 118, 93, 167, 118, 118, 151, 118, 151, 110, 118, 118, 151, 118, 151, 110, - 118, 151, 110, 110, 121, 118, 175, 118, 118, 118, 151, 118, 118, 118, 151, 118, 118, 151, 118, 151, 110, - 118, 118, 118, 118, 118, 118, 151, 118 }; - } - - public final static char inSymb[] = InSymb.inSymb; - - @Override - public final int inSymb(int index) { - return inSymb[index]; - } - - public interface Name { - public final static String name[] = { "", "[", "(", "{", ".", "->", "++", "--", "&", "*", "+", "-", "~", "!", - "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "...", "=", - "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", "$empty", "auto", "break", "case", - "char", "const", "continue", "default", "do", "double", "else", "enum", "extern", "float", "for", - "goto", "if", "inline", "int", "long", "register", "restrict", "return", "short", "signed", "sizeof", - "static", "struct", "switch", "typedef", "union", "unsigned", "void", "volatile", "while", "_Bool", - "_Complex", "_Imaginary", "integer", "floating", "charconst", "stringlit", "identifier", "Completion", - "EndOfCompletion", "Invalid", "RightBracket", "RightParen", "RightBrace", "SemiColon", "MYTHREAD", - "THREADS", "UPC_MAX_BLOCKSIZE", "relaxed", "shared", "strict", "upc_barrier", "upc_localsizeof", - "upc_blocksizeof", "upc_elemsizeof", "upc_notify", "upc_fence", "upc_wait", "upc_forall", "ERROR_TOKEN", - "EOF_TOKEN", "]", ")", "}", ";", "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", "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", "layout_qualifier", "affinity" }; - } - - public final static String name[] = Name.name; - - @Override - public final String name(int index) { - return name[index]; - } - - public final static int ERROR_SYMBOL = 26, SCOPE_UBOUND = 49, SCOPE_SIZE = 50, MAX_NAME_LENGTH = 38; - - @Override - public final int getErrorSymbol() { - return ERROR_SYMBOL; - } - - @Override - public final int getScopeUbound() { - return SCOPE_UBOUND; - } - - @Override - public final int getScopeSize() { - return SCOPE_SIZE; - } - - @Override - public final int getMaxNameLength() { - return MAX_NAME_LENGTH; - } - - public final static int NUM_STATES = 383, NT_OFFSET = 107, LA_STATE_OFFSET = 3629, MAX_LA = 2147483647, - NUM_RULES = 367, NUM_NONTERMINALS = 130, NUM_SYMBOLS = 237, SEGMENT_SIZE = 8192, START_STATE = 1523, - IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 87, EOLT_SYMBOL = 87, ACCEPT_ACTION = 3234, ERROR_ACTION = 3262; - - public final static boolean BACKTRACK = true; - - @Override - public final int getNumStates() { - return NUM_STATES; - } - - @Override - public final int getNtOffset() { - return NT_OFFSET; - } - - @Override - public final int getLaStateOffset() { - return LA_STATE_OFFSET; - } - - @Override - public final int getMaxLa() { - return MAX_LA; - } - - @Override - public final int getNumRules() { - return NUM_RULES; - } - - @Override - public final int getNumNonterminals() { - return NUM_NONTERMINALS; - } - - @Override - public final int getNumSymbols() { - return NUM_SYMBOLS; - } - - @Override - public final int getSegmentSize() { - return SEGMENT_SIZE; - } - - @Override - public final int getStartState() { - return START_STATE; - } - - @Override - public final int getStartSymbol() { - return lhs[0]; - } - - public final int getIdentifierSymbol() { - return IDENTIFIER_SYMBOL; - } - - @Override - public final int getEoftSymbol() { - return EOFT_SYMBOL; - } - - @Override - public final int getEoltSymbol() { - return EOLT_SYMBOL; - } - - @Override - public final int getAcceptAction() { - return ACCEPT_ACTION; - } - - @Override - public final int getErrorAction() { - return ERROR_ACTION; - } - - @Override - public final boolean isValidForParser() { - return isValidForParser; - } - - @Override - public final boolean getBacktrack() { - return BACKTRACK; - } - - @Override - public final int originalState(int state) { - return -baseCheck[state]; - } - - @Override - public final int asi(int state) { - return asb[originalState(state)]; - } - - @Override - public final int nasi(int state) { - return nasb[originalState(state)]; - } - - @Override - public final int inSymbol(int state) { - return inSymb[originalState(state)]; - } - - @Override - public final int ntAction(int state, int sym) { - return baseAction[state + sym]; - } - - @Override - public final int tAction(int state, int sym) { - int i = baseAction[state], k = i + sym; - return termAction[termCheck[k] == sym ? k : i]; - } - - @Override - public final int lookAhead(int la_state, int sym) { - int k = la_state + sym; - return termAction[termCheck[k] == sym ? k : la_state]; - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParsersym.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParsersym.java deleted file mode 100644 index d63ed9d500b..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParsersym.java +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2010 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.parser.upc; - -public interface UPCParsersym { - public final static int TK_auto = 50, TK_break = 29, TK_case = 30, TK_char = 56, TK_const = 43, TK_continue = 27, - TK_default = 31, TK_do = 32, TK_double = 57, TK_else = 93, TK_enum = 68, TK_extern = 51, TK_float = 58, - TK_for = 33, TK_goto = 34, TK_if = 35, TK_inline = 52, TK_int = 59, TK_long = 60, TK_register = 53, - TK_restrict = 44, TK_return = 36, TK_short = 61, TK_signed = 62, TK_sizeof = 12, TK_static = 49, - TK_struct = 69, TK_switch = 37, TK_typedef = 54, TK_union = 70, TK_unsigned = 63, TK_void = 64, - TK_volatile = 45, TK_while = 28, TK__Bool = 65, TK__Complex = 66, TK__Imaginary = 67, TK_integer = 13, - TK_floating = 14, TK_charconst = 15, TK_stringlit = 16, TK_identifier = 1, TK_Completion = 3, - TK_EndOfCompletion = 5, TK_Invalid = 107, TK_LeftBracket = 55, TK_LeftParen = 2, TK_LeftBrace = 6, - TK_Dot = 80, TK_Arrow = 94, TK_PlusPlus = 10, TK_MinusMinus = 11, TK_And = 9, TK_Star = 4, TK_Plus = 7, - TK_Minus = 8, TK_Tilde = 17, TK_Bang = 18, TK_Slash = 81, TK_Percent = 82, TK_RightShift = 76, - TK_LeftShift = 77, TK_LT = 83, TK_GT = 84, TK_LE = 85, TK_GE = 86, TK_EQ = 88, TK_NE = 89, TK_Caret = 90, - TK_Or = 91, TK_AndAnd = 92, TK_OrOr = 95, TK_Question = 96, TK_Colon = 74, TK_DotDotDot = 79, - TK_Assign = 75, TK_StarAssign = 97, TK_SlashAssign = 98, TK_PercentAssign = 99, TK_PlusAssign = 100, - TK_MinusAssign = 101, TK_RightShiftAssign = 102, TK_LeftShiftAssign = 103, TK_AndAssign = 104, - TK_CaretAssign = 105, TK_OrAssign = 106, TK_Comma = 71, TK_RightBracket = 78, TK_RightParen = 73, - TK_RightBrace = 72, TK_SemiColon = 25, TK_MYTHREAD = 19, TK_THREADS = 20, TK_UPC_MAX_BLOCKSIZE = 21, - TK_relaxed = 46, TK_shared = 47, TK_strict = 48, TK_upc_barrier = 38, TK_upc_localsizeof = 22, - TK_upc_blocksizeof = 23, TK_upc_elemsizeof = 24, TK_upc_notify = 39, TK_upc_fence = 40, TK_upc_wait = 41, - TK_upc_forall = 42, TK_ERROR_TOKEN = 26, TK_EOF_TOKEN = 87; - - public final static String orderedTerminalSymbols[] = { "", "identifier", "LeftParen", "Completion", "Star", - "EndOfCompletion", "LeftBrace", "Plus", "Minus", "And", "PlusPlus", "MinusMinus", "sizeof", "integer", - "floating", "charconst", "stringlit", "Tilde", "Bang", "MYTHREAD", "THREADS", "UPC_MAX_BLOCKSIZE", - "upc_localsizeof", "upc_blocksizeof", "upc_elemsizeof", "SemiColon", "ERROR_TOKEN", "continue", "while", - "break", "case", "default", "do", "for", "goto", "if", "return", "switch", "upc_barrier", "upc_notify", - "upc_fence", "upc_wait", "upc_forall", "const", "restrict", "volatile", "relaxed", "shared", "strict", - "static", "auto", "extern", "inline", "register", "typedef", "LeftBracket", "char", "double", "float", - "int", "long", "short", "signed", "unsigned", "void", "_Bool", "_Complex", "_Imaginary", "enum", "struct", - "union", "Comma", "RightBrace", "RightParen", "Colon", "Assign", "RightShift", "LeftShift", "RightBracket", - "DotDotDot", "Dot", "Slash", "Percent", "LT", "GT", "LE", "GE", "EOF_TOKEN", "EQ", "NE", "Caret", "Or", - "AndAnd", "else", "Arrow", "OrOr", "Question", "StarAssign", "SlashAssign", "PercentAssign", "PlusAssign", - "MinusAssign", "RightShiftAssign", "LeftShiftAssign", "AndAssign", "CaretAssign", "OrAssign", "Invalid" }; - - public final static boolean isValidForParser = true; -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java deleted file mode 100644 index 4a33ca69ac1..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java +++ /dev/null @@ -1,2029 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2011 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.parser.upc; - -import java.util.List; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.IASTCastExpression; -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; -import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory; -import org.eclipse.cdt.core.dom.parser.upc.UPCParserAction; -import org.eclipse.cdt.core.dom.parser.upc.UPCSecondaryParserFactory; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.parser.IScanner; - -import lpg.lpgjavaruntime.BadParseException; -import lpg.lpgjavaruntime.BadParseSymFileException; -import lpg.lpgjavaruntime.DiagnoseParser; -import lpg.lpgjavaruntime.ErrorToken; -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.LexStream; -import lpg.lpgjavaruntime.Monitor; -import lpg.lpgjavaruntime.NotBacktrackParseTableException; -import lpg.lpgjavaruntime.NullExportedSymbolsException; -import lpg.lpgjavaruntime.NullTerminalSymbolsException; -import lpg.lpgjavaruntime.ParseErrorCodes; -import lpg.lpgjavaruntime.ParseTable; -import lpg.lpgjavaruntime.PrsStream; -import lpg.lpgjavaruntime.RuleAction; -import lpg.lpgjavaruntime.Token; -import lpg.lpgjavaruntime.UndefinedEofSymbolException; -import lpg.lpgjavaruntime.UnimplementedTerminalsException; - -public class UPCSizeofExpressionParser extends PrsStream - implements RuleAction, ITokenStream, ITokenCollector, ISecondaryParser { - private static ParseTable prs = new UPCSizeofExpressionParserprs(); - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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 UPCSizeofExpressionParser(LexStream lexStream) { - super(lexStream); - - try { - super.remapTerminalSymbols(orderedTerminalSymbols(), UPCSizeofExpressionParserprs.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(" " + UPCSizeofExpressionParsersym.orderedTerminalSymbols[id.intValue()]); - } - System.out.println(); - } catch (UndefinedEofSymbolException e) { - throw new Error(new UndefinedEofSymbolException("The Lexer does not implement the Eof symbol " - + UPCSizeofExpressionParsersym.orderedTerminalSymbols[UPCSizeofExpressionParserprs.EOFT_SYMBOL])); - } - } - - @Override - public String[] orderedTerminalSymbols() { - return UPCSizeofExpressionParsersym.orderedTerminalSymbols; - } - - public String getTokenKindName(int kind) { - return UPCSizeofExpressionParsersym.orderedTerminalSymbols[kind]; - } - - public int getEOFTokenKind() { - return UPCSizeofExpressionParserprs.EOFT_SYMBOL; - } - - public PrsStream getParseStream() { - return 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, this, prs, this); - } catch (NotBacktrackParseTableException e) { - throw new Error(new NotBacktrackParseTableException( - "Regenerate UPCSizeofExpressionParserprs.java with -BACKTRACK option")); - } catch (BadParseSymFileException e) { - throw new Error( - new BadParseSymFileException("Bad Parser Symbol File -- UPCSizeofExpressionParsersym.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 UPCParserAction action; - private IASTCompletionNode compNode; - - public UPCSizeofExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, - IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new UPCParserAction(this, astStack, new UPCASTNodeFactory(), UPCSecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - public IASTExpression 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 (IASTExpression) action.getParseResult(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return UPCSizeofExpressionParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "UPCSizeofExpressionParser"; - } - - private ITokenMap tokenMap = null; - - @Override - public void setTokens(List tokens) { - resetTokenStream(); - addToken(new Token(null, 0, 0, 0)); // dummy token - for (IToken token : tokens) { - token.setKind(tokenMap.mapKind(token.getKind())); - addToken(token); - } - addToken(new Token(null, 0, 0, UPCSizeofExpressionParsersym.TK_EOF_TOKEN)); - } - - public UPCSizeofExpressionParser(ITokenStream stream, Map properties) { // constructor for creating secondary parser - initActions(properties); - tokenMap = new TokenMap(UPCSizeofExpressionParsersym.orderedTerminalSymbols, - stream.getOrderedTerminalSymbols()); - } - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 43: cast_expression ::= ( type_id ) cast_expression - // - case 43: { - action.consumeExpressionCast(IASTCastExpression.op_cast); - break; - } - - // - // Rule 45: multiplicative_expression ::= multiplicative_expression * cast_expression - // - case 45: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); - break; - } - - // - // Rule 46: multiplicative_expression ::= multiplicative_expression / cast_expression - // - case 46: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); - break; - } - - // - // Rule 47: multiplicative_expression ::= multiplicative_expression % cast_expression - // - case 47: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); - break; - } - - // - // Rule 49: additive_expression ::= additive_expression + multiplicative_expression - // - case 49: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); - break; - } - - // - // Rule 50: additive_expression ::= additive_expression - multiplicative_expression - // - case 50: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); - break; - } - - // - // Rule 52: shift_expression ::= shift_expression << additive_expression - // - case 52: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); - break; - } - - // - // Rule 53: shift_expression ::= shift_expression >> additive_expression - // - case 53: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); - break; - } - - // - // Rule 55: relational_expression ::= relational_expression < shift_expression - // - case 55: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); - break; - } - - // - // Rule 56: relational_expression ::= relational_expression > shift_expression - // - case 56: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); - break; - } - - // - // Rule 57: relational_expression ::= relational_expression <= shift_expression - // - case 57: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); - break; - } - - // - // Rule 58: relational_expression ::= relational_expression >= shift_expression - // - case 58: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); - break; - } - - // - // Rule 60: equality_expression ::= equality_expression == relational_expression - // - case 60: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); - break; - } - - // - // Rule 61: equality_expression ::= equality_expression != relational_expression - // - case 61: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); - break; - } - - // - // Rule 63: and_expression ::= and_expression & equality_expression - // - case 63: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); - break; - } - - // - // Rule 65: exclusive_or_expression ::= exclusive_or_expression ^ and_expression - // - case 65: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); - break; - } - - // - // Rule 67: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression - // - case 67: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); - break; - } - - // - // Rule 69: logical_and_expression ::= logical_and_expression && inclusive_or_expression - // - case 69: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); - break; - } - - // - // Rule 71: logical_or_expression ::= logical_or_expression || logical_and_expression - // - case 71: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); - break; - } - - // - // Rule 73: conditional_expression ::= logical_or_expression ? expression : assignment_expression - // - case 73: { - action.consumeExpressionConditional(); - break; - } - - // - // Rule 75: assignment_expression ::= unary_expression = assignment_expression - // - case 75: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); - break; - } - - // - // Rule 76: assignment_expression ::= unary_expression *= assignment_expression - // - case 76: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); - break; - } - - // - // Rule 77: assignment_expression ::= unary_expression /= assignment_expression - // - case 77: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); - break; - } - - // - // Rule 78: assignment_expression ::= unary_expression %= assignment_expression - // - case 78: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); - break; - } - - // - // Rule 79: assignment_expression ::= unary_expression += assignment_expression - // - case 79: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); - break; - } - - // - // Rule 80: assignment_expression ::= unary_expression -= assignment_expression - // - case 80: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); - break; - } - - // - // Rule 81: assignment_expression ::= unary_expression <<= assignment_expression - // - case 81: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); - break; - } - - // - // Rule 82: assignment_expression ::= unary_expression >>= assignment_expression - // - case 82: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); - break; - } - - // - // Rule 83: assignment_expression ::= unary_expression &= assignment_expression - // - case 83: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); - break; - } - - // - // Rule 84: assignment_expression ::= unary_expression ^= assignment_expression - // - case 84: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); - break; - } - - // - // Rule 85: assignment_expression ::= unary_expression |= assignment_expression - // - case 85: { - action.consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); - break; - } - - // - // Rule 88: expression_list ::= expression_list_actual - // - case 88: { - action.consumeExpressionList(); - break; - } - - // - // Rule 90: expression_list_opt ::= $Empty - // - case 90: { - action.consumeEmpty(); - break; - } - - // - // Rule 100: statement ::= ERROR_TOKEN - // - case 100: { - action.consumeStatementProblem(); - break; - } - - // - // Rule 101: labeled_statement ::= identifier_token : statement - // - case 101: { - action.consumeStatementLabeled(); - break; - } - - // - // Rule 102: labeled_statement ::= case constant_expression : statement - // - case 102: { - action.consumeStatementCase(); - break; - } - - // - // Rule 103: labeled_statement ::= default : statement - // - case 103: { - action.consumeStatementDefault(); - break; - } - - // - // Rule 104: compound_statement ::= { } - // - case 104: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 105: compound_statement ::= { block_item_list } - // - case 105: { - action.consumeStatementCompoundStatement(true); - break; - } - - // - // Rule 109: block_item ::= declaration - // - case 109: { - action.consumeStatementDeclarationWithDisambiguation(); - break; - } - - // - // Rule 110: expression_statement ::= ; - // - case 110: { - action.consumeStatementNull(); - break; - } - - // - // Rule 111: expression_statement ::= expression_in_statement ; - // - case 111: { - action.consumeStatementExpression(); - break; - } - - // - // Rule 112: selection_statement ::= if ( expression ) statement - // - case 112: { - action.consumeStatementIf(false); - break; - } - - // - // Rule 113: selection_statement ::= if ( expression ) statement else statement - // - case 113: { - action.consumeStatementIf(true); - break; - } - - // - // Rule 114: selection_statement ::= switch ( expression ) statement - // - case 114: { - action.consumeStatementSwitch(); - break; - } - - // - // Rule 116: expression_opt ::= $Empty - // - case 116: { - action.consumeEmpty(); - break; - } - - // - // Rule 117: iteration_statement ::= do statement while ( expression ) ; - // - case 117: { - action.consumeStatementDoLoop(true); - break; - } - - // - // Rule 118: iteration_statement ::= do statement - // - case 118: { - action.consumeStatementDoLoop(false); - break; - } - - // - // Rule 119: iteration_statement ::= while ( expression ) statement - // - case 119: { - action.consumeStatementWhileLoop(); - break; - } - - // - // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement - // - case 120: { - action.consumeStatementForLoop(); - break; - } - - // - // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement - // - case 121: { - action.consumeStatementForLoop(); - break; - } - - // - // Rule 122: jump_statement ::= goto identifier_token ; - // - case 122: { - action.consumeStatementGoto(); - break; - } - - // - // Rule 123: jump_statement ::= continue ; - // - case 123: { - action.consumeStatementContinue(); - break; - } - - // - // Rule 124: jump_statement ::= break ; - // - case 124: { - action.consumeStatementBreak(); - break; - } - - // - // Rule 125: jump_statement ::= return ; - // - case 125: { - action.consumeStatementReturn(false); - break; - } - - // - // Rule 126: jump_statement ::= return expression ; - // - case 126: { - action.consumeStatementReturn(true); - break; - } - - // - // Rule 127: declaration ::= declaration_specifiers ; - // - case 127: { - action.consumeDeclarationSimple(false); - break; - } - - // - // Rule 128: declaration ::= declaration_specifiers init_declarator_list ; - // - case 128: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 129: declaration_specifiers ::= simple_declaration_specifiers - // - case 129: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 130: declaration_specifiers ::= struct_or_union_declaration_specifiers - // - case 130: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 131: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 131: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 132: declaration_specifiers ::= enum_declaration_specifiers - // - case 132: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 133: declaration_specifiers ::= typdef_name_declaration_specifiers - // - case 133: { - action.consumeDeclarationSpecifiersTypedefName(); - break; - } - - // - // Rule 158: init_declarator ::= complete_declarator = initializer - // - case 158: { - action.consumeDeclaratorWithInitializer(true); - break; - } - - // - // Rule 160: storage_class_specifier ::= storage_class_specifier_token - // - case 160: { - action.consumeToken(); - break; - } - - // - // Rule 166: simple_type_specifier ::= simple_type_specifier_token - // - case 166: { - action.consumeToken(); - break; - } - - // - // Rule 179: type_name_specifier ::= identifier_token - // - case 179: { - action.consumeToken(); - break; - } - - // - // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { struct_declaration_list_opt } - // - case 180: { - action.consumeTypeSpecifierComposite(false); - break; - } - - // - // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { struct_declaration_list_opt } - // - case 181: { - action.consumeTypeSpecifierComposite(true); - break; - } - - // - // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token - // - case 186: { - action.consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); - break; - } - - // - // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token - // - case 187: { - action.consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); - break; - } - - // - // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token - // - case 188: { - action.consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); - break; - } - - // - // Rule 194: struct_declaration ::= specifier_qualifier_list struct_declarator_list ; - // - case 194: { - action.consumeStructDeclaration(true); - break; - } - - // - // Rule 195: struct_declaration ::= specifier_qualifier_list ; - // - case 195: { - action.consumeStructDeclaration(false); - break; - } - - // - // Rule 196: struct_declaration ::= ERROR_TOKEN - // - case 196: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 202: struct_declarator ::= : constant_expression - // - case 202: { - action.consumeBitField(false); - break; - } - - // - // Rule 203: struct_declarator ::= declarator : constant_expression - // - case 203: { - action.consumeBitField(true); - break; - } - - // - // Rule 204: enum_specifier ::= enum enum_specifier_hook { enumerator_list_opt comma_opt } - // - case 204: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { enumerator_list_opt comma_opt } - // - case 205: { - action.consumeTypeSpecifierEnumeration(true); - break; - } - - // - // Rule 211: enumerator ::= identifier_token - // - case 211: { - action.consumeEnumerator(false); - break; - } - - // - // Rule 212: enumerator ::= identifier_token = constant_expression - // - case 212: { - action.consumeEnumerator(true); - break; - } - - // - // Rule 213: type_qualifier ::= type_qualifier_token - // - case 213: { - action.consumeToken(); - break; - } - - // - // Rule 217: function_specifier ::= inline - // - case 217: { - action.consumeToken(); - break; - } - - // - // Rule 219: declarator ::= pointer_seq direct_declarator - // - case 219: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 224: basic_direct_declarator ::= declarator_id_name - // - case 224: { - action.consumeDirectDeclaratorIdentifier(); - break; - } - - // - // Rule 225: basic_direct_declarator ::= ( declarator ) - // - case 225: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 226: declarator_id_name ::= identifier - // - case 226: { - action.consumeIdentifierName(); - break; - } - - // - // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier - // - case 227: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier - // - case 228: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( parameter_type_list ) - // - case 230: { - action.consumeDirectDeclaratorFunctionDeclarator(true, true); - break; - } - - // - // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) - // - case 231: { - action.consumeDirectDeclaratorFunctionDeclarator(true, false); - break; - } - - // - // Rule 233: function_declarator ::= pointer_seq function_direct_declarator - // - case 233: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) - // - case 234: { - action.consumeDirectDeclaratorFunctionDeclaratorKnR(); - break; - } - - // - // Rule 236: knr_function_declarator ::= pointer_seq knr_direct_declarator - // - case 236: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 237: identifier_list ::= identifier - // - case 237: { - action.consumeIdentifierKnR(); - break; - } - - // - // Rule 238: identifier_list ::= identifier_list , identifier - // - case 238: { - action.consumeIdentifierKnR(); - break; - } - - // - // Rule 239: array_modifier ::= [ ] - // - case 239: { - action.consumeDirectDeclaratorArrayModifier(false); - break; - } - - // - // Rule 240: array_modifier ::= [ array_modifier_type_qualifiers ] - // - case 240: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); - break; - } - - // - // Rule 241: array_modifier ::= [ assignment_expression ] - // - case 241: { - action.consumeDirectDeclaratorArrayModifier(true); - break; - } - - // - // Rule 242: array_modifier ::= [ array_modifier_type_qualifiers assignment_expression ] - // - case 242: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); - break; - } - - // - // Rule 243: array_modifier ::= [ static assignment_expression ] - // - case 243: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); - break; - } - - // - // Rule 244: array_modifier ::= [ static array_modifier_type_qualifiers assignment_expression ] - // - case 244: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); - break; - } - - // - // Rule 245: array_modifier ::= [ array_modifier_type_qualifiers static assignment_expression ] - // - case 245: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); - break; - } - - // - // Rule 246: array_modifier ::= [ * ] - // - case 246: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); - break; - } - - // - // Rule 247: array_modifier ::= [ array_modifier_type_qualifiers * ] - // - case 247: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); - break; - } - - // - // Rule 249: pointer_seq ::= pointer_hook * pointer_hook - // - case 249: { - action.consumePointer(); - break; - } - - // - // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook - // - case 250: { - action.consumePointer(); - break; - } - - // - // Rule 251: pointer_seq ::= pointer_hook * pointer_hook type_qualifier_list - // - case 251: { - action.consumePointerTypeQualifierList(); - break; - } - - // - // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook type_qualifier_list - // - case 252: { - action.consumePointerTypeQualifierList(); - break; - } - - // - // Rule 256: parameter_type_list ::= parameter_list - // - case 256: { - action.consumeEmpty(); - break; - } - - // - // Rule 257: parameter_type_list ::= parameter_list , ... - // - case 257: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 258: parameter_type_list ::= ... - // - case 258: { - action.consumePlaceHolder(); - break; - } - - // - // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator - // - case 261: { - action.consumeParameterDeclaration(); - break; - } - - // - // Rule 262: parameter_declaration ::= declaration_specifiers - // - case 262: { - action.consumeParameterDeclarationWithoutDeclarator(); - break; - } - - // - // Rule 265: type_id ::= specifier_qualifier_list - // - case 265: { - action.consumeTypeId(false); - break; - } - - // - // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator - // - case 266: { - action.consumeTypeId(true); - break; - } - - // - // Rule 268: abstract_declarator ::= pointer_seq - // - case 268: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 269: abstract_declarator ::= pointer_seq direct_abstract_declarator - // - case 269: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) - // - case 273: { - action.consumeDirectDeclaratorBracketed(); - break; - } - - // - // Rule 274: array_direct_abstract_declarator ::= array_modifier - // - case 274: { - action.consumeDirectDeclaratorArrayDeclarator(false); - break; - } - - // - // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier - // - case 275: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier - // - case 276: { - action.consumeDirectDeclaratorArrayDeclarator(true); - break; - } - - // - // Rule 277: function_direct_abstract_declarator ::= ( ) - // - case 277: { - action.consumeDirectDeclaratorFunctionDeclarator(false, false); - break; - } - - // - // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) - // - case 278: { - action.consumeDirectDeclaratorFunctionDeclarator(true, false); - break; - } - - // - // Rule 279: function_direct_abstract_declarator ::= ( parameter_type_list ) - // - case 279: { - action.consumeDirectDeclaratorFunctionDeclarator(false, true); - break; - } - - // - // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_type_list ) - // - case 280: { - action.consumeDirectDeclaratorFunctionDeclarator(true, true); - break; - } - - // - // Rule 281: initializer ::= assignment_expression - // - case 281: { - action.consumeInitializer(); - break; - } - - // - // Rule 282: initializer ::= initializer_list - // - case 282: { - action.consumeInitializer(); - break; - } - - // - // Rule 283: initializer_list ::= start_initializer_list { initializer_seq comma_opt } end_initializer_list - // - case 283: { - action.consumeInitializerList(); - break; - } - - // - // Rule 284: initializer_list ::= { } - // - case 284: { - action.consumeInitializerList(); - break; - } - - // - // Rule 285: start_initializer_list ::= $Empty - // - case 285: { - action.initializerListStart(); - break; - } - - // - // Rule 286: end_initializer_list ::= $Empty - // - case 286: { - action.initializerListEnd(); - break; - } - - // - // Rule 291: designated_initializer ::= designation = initializer - // - case 291: { - action.consumeInitializerDesignated(); - break; - } - - // - // Rule 295: designator_base ::= [ constant_expression ] - // - case 295: { - action.consumeDesignatorArray(); - break; - } - - // - // Rule 296: designator_base ::= . identifier_token - // - case 296: { - action.consumeDesignatorField(); - break; - } - - // - // Rule 297: designator ::= [ constant_expression ] - // - case 297: { - action.consumeDesignatorArray(); - break; - } - - // - // Rule 298: designator ::= . identifier_token - // - case 298: { - action.consumeDesignatorField(); - break; - } - - // - // Rule 299: translation_unit ::= external_declaration_list - // - case 299: { - action.consumeTranslationUnit(); - break; - } - - // - // Rule 300: translation_unit ::= $Empty - // - case 300: { - action.consumeTranslationUnit(); - break; - } - - // - // Rule 305: external_declaration ::= ; - // - case 305: { - action.consumeDeclarationEmpty(); - break; - } - - // - // Rule 306: external_declaration ::= ERROR_TOKEN - // - case 306: { - action.consumeDeclarationProblem(); - break; - } - - // - // Rule 310: function_definition ::= function_declarator function_body - // - case 310: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 311: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement - // - case 311: { - action.consumeFunctionDefinitionKnR(); - break; - } - - // - // Rule 312: normal_function_definition ::= declaration_specifiers function_declarator function_body - // - case 312: { - action.consumeFunctionDefinition(true); - break; - } - - // - // Rule 313: function_body ::= { } - // - case 313: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 314: function_body ::= { block_item_list } - // - case 314: { - action.consumeStatementCompoundStatement(true); - break; - } - - // - // Rule 316: no_sizeof_type_id_start ::= ERROR_TOKEN - // - case 316: { - action.consumeEmpty(); - break; - } - - // - // Rule 317: literal ::= MYTHREAD - // - case 317: { - action.consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); - break; - } - - // - // Rule 318: literal ::= THREADS - // - case 318: { - action.consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); - break; - } - - // - // Rule 319: literal ::= UPC_MAX_BLOCKSIZE - // - case 319: { - action.consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); - break; - } - - // - // Rule 320: unary_expression ::= upc_localsizeof unary_expression - // - case 320: { - action.consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); - break; - } - - // - // Rule 321: unary_expression ::= upc_blocksizeof unary_expression - // - case 321: { - action.consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); - break; - } - - // - // Rule 322: unary_expression ::= upc_elemsizeof unary_expression - // - case 322: { - action.consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); - break; - } - - // - // Rule 326: shared_type_qualifier ::= shared - // - case 326: { - action.consumeToken(); - break; - } - - // - // Rule 327: reference_type_qualifier ::= relaxed - // - case 327: { - action.consumeToken(); - break; - } - - // - // Rule 328: reference_type_qualifier ::= strict - // - case 328: { - action.consumeToken(); - break; - } - - // - // Rule 329: layout_qualifier ::= [ constant_expression ] - // - case 329: { - action.consumeLayoutQualifier(true, false); - break; - } - - // - // Rule 330: layout_qualifier ::= [ * ] - // - case 330: { - action.consumeLayoutQualifier(false, true); - break; - } - - // - // Rule 331: layout_qualifier ::= [ ] - // - case 331: { - action.consumeLayoutQualifier(false, false); - break; - } - - // - // Rule 333: synchronization_statement ::= upc_notify expression ; - // - case 333: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); - break; - } - - // - // Rule 334: synchronization_statement ::= upc_notify ; - // - case 334: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); - break; - } - - // - // Rule 335: synchronization_statement ::= upc_wait expression ; - // - case 335: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); - break; - } - - // - // Rule 336: synchronization_statement ::= upc_wait ; - // - case 336: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); - break; - } - - // - // Rule 337: synchronization_statement ::= upc_barrier expression ; - // - case 337: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); - break; - } - - // - // Rule 338: synchronization_statement ::= upc_barrier ; - // - case 338: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); - break; - } - - // - // Rule 339: synchronization_statement ::= upc_fence ; - // - case 339: { - action.consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); - break; - } - - // - // Rule 340: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement - // - case 340: { - action.consumeStatementUPCForallLoop(true, true, true, true); - break; - } - - // - // Rule 341: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement - // - case 341: { - action.consumeStatementUPCForallLoop(true, true, true, false); - break; - } - - // - // Rule 342: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement - // - case 342: { - action.consumeStatementUPCForallLoop(true, true, false, true); - break; - } - - // - // Rule 343: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement - // - case 343: { - action.consumeStatementUPCForallLoop(true, true, false, false); - break; - } - - // - // Rule 344: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement - // - case 344: { - action.consumeStatementUPCForallLoop(true, false, true, true); - break; - } - - // - // Rule 345: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement - // - case 345: { - action.consumeStatementUPCForallLoop(true, false, true, false); - break; - } - - // - // Rule 346: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement - // - case 346: { - action.consumeStatementUPCForallLoop(true, false, false, true); - break; - } - - // - // Rule 347: iteration_statement ::= upc_forall ( expression ; ; ; ) statement - // - case 347: { - action.consumeStatementUPCForallLoop(true, false, false, false); - break; - } - - // - // Rule 348: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement - // - case 348: { - action.consumeStatementUPCForallLoop(false, true, true, true); - break; - } - - // - // Rule 349: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement - // - case 349: { - action.consumeStatementUPCForallLoop(false, true, true, false); - break; - } - - // - // Rule 350: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement - // - case 350: { - action.consumeStatementUPCForallLoop(false, true, false, true); - break; - } - - // - // Rule 351: iteration_statement ::= upc_forall ( ; expression ; ; ) statement - // - case 351: { - action.consumeStatementUPCForallLoop(false, true, false, false); - break; - } - - // - // Rule 352: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement - // - case 352: { - action.consumeStatementUPCForallLoop(false, false, true, true); - break; - } - - // - // Rule 353: iteration_statement ::= upc_forall ( ; ; expression ; ) statement - // - case 353: { - action.consumeStatementUPCForallLoop(false, false, true, false); - break; - } - - // - // Rule 354: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement - // - case 354: { - action.consumeStatementUPCForallLoop(false, false, false, true); - break; - } - - // - // Rule 355: iteration_statement ::= upc_forall ( ; ; ; ) statement - // - case 355: { - action.consumeStatementUPCForallLoop(false, false, false, false); - break; - } - - // - // Rule 356: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement - // - case 356: { - action.consumeStatementUPCForallLoop(true, true, true, true); - break; - } - - // - // Rule 357: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement - // - case 357: { - action.consumeStatementUPCForallLoop(true, true, true, false); - break; - } - - // - // Rule 358: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement - // - case 358: { - action.consumeStatementUPCForallLoop(true, true, false, true); - break; - } - - // - // Rule 359: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement - // - case 359: { - action.consumeStatementUPCForallLoop(true, true, false, false); - break; - } - - // - // Rule 360: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement - // - case 360: { - action.consumeStatementUPCForallLoop(true, false, true, true); - break; - } - - // - // Rule 361: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement - // - case 361: { - action.consumeStatementUPCForallLoop(true, false, true, false); - break; - } - - // - // Rule 362: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement - // - case 362: { - action.consumeStatementUPCForallLoop(true, false, false, true); - break; - } - - // - // Rule 363: iteration_statement ::= upc_forall ( declaration ; ; ) statement - // - case 363: { - action.consumeStatementUPCForallLoop(true, false, false, false); - break; - } - - // - // Rule 365: affinity ::= continue - // - case 365: { - action.consumeToken(); - break; - } - - default: - break; - } - return; - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java deleted file mode 100644 index f1183fcb399..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java +++ /dev/null @@ -1,741 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2011 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.parser.upc; - -public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UPCSizeofExpressionParsersym { - - 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, 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, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 3, 3, 2, 1, 3, 2, 3, 2, 3, - 2, 2, 11, 10, 10, 9, 10, 9, 9, 8, 10, 9, 9, 8, 9, 8, 8, 7, 10, 9, 9, 8, 9, 8, 8, 7, 1, 1, -39, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -80, 0, 0, 0, 0, -163, -120, 0, -74, 0, 0, 0, 0, - -145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -174, 0, -108, -36, -37, 0, 0, - 0, 0, -82, 0, 0, -4, 0, -32, 0, -17, 0, 0, 0, 0, 0, 0, 0, 0, -126, 0, -33, 0, 0, 0, 0, -45, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -136, 0, 0, -57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -72, 0, - 0, 0, 0, -141, -70, -121, 0, 0, -54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -194, 0, -19, 0, - 0, 0, 0, 0, 0, -71, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -122, 0, 0, - 0, -123, 0, 0, -124, 0, -183, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -20, 0, 0, 0, 0, 0, 0, 0, 0, -21, 0, -49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -50, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -113, 0, 0, 0, 0, 0, 0, 0, 0, 0, -59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -131, 0, 0, 0, 0, 0, 0, 0, 0, 0, -61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -139, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -150, 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, -66, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -166, 0, 0, 0, 0, 0, 0, 0, 0, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -167, 0, 0, 0, 0, 0, 0, 0, 0, 0, -69, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -197, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -149, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, -184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129, 0, 0, 0, 0, 0, 0, 0, 0, - -193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -84, 0, 0, 0, 0, 0, 0, 0, 0, 0, -198, 0, 0, -73, 0, 0, 0, 0, 0, 0, - 0, -199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -127, 0, 0, 0, 0, 0, 0, 0, 0, -107, 0, 0, 0, -173, -180, 0, 0, -77, -78, -89, 0, -213, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -81, -85, 0, 0, 0, 0, -24, 0, 0, -142, -135, 0, - -25, -155, -146, -144, 0, 0, -161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -152, -35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -147, 0, 0, 0, 0, 0, -26, 0, -160, -27, -28, 0, 0, 0, -87, - 0, 0, 0, -164, 0, -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -40, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -29, 0, 0, -90, 0, -58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -171, 0, 0, 0, 0, 0, -55, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, -190, -172, -91, -116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -92, -93, 0, 0, 0, 0, 0, 0, 0, -41, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -134, 0, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -212, 0, - -94, -154, -118, -185, -157, -95, 0, 0, -96, 0, -97, 0, -98, 0, -176, 0, 0, -46, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -162, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, -99, 0, -47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -79, -207, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -177, -100, - -76, -168, -101, -102, -110, 0, 0, 0, 0, 0, -191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -192, -56, -83, 0, 0, -103, 0, -203, -204, -104, 0, 0, 0, -195, -86, 0, 0, 0, 0, 0, 0, 0, 0, -105, 0, 0, - 0, 0, -88, -156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -106, -201, 0, - -210, 0, 0, 0, 0, -115, 0, 0, 0, 0, 0, 0, 0, -140, 0, 0, 0, 0, 0, 0, 0, 0, 0, -214, 0, 0, 0, -7, 0, 0, - 0, 0, 0, 0, 0, -151, 0, 0, 0, 0, 0, 0, 0, -11, 0, 0, 0, 0, 0, 0, 0, -109, 0, -111, 0, -128, 0, 0, 0, 0, - 0, 0, 0, 0, -12, 0, 0, 0, 0, 0, 0, 0, -13, 0, 0, 0, 0, 0, 0, 0, -14, 0, 0, 0, 0, 0, 0, 0, -38, -42, 0, - 0, 0, 0, 0, 0, 0, -137, -143, 0, -43, 0, 0, 0, 0, 0, 0, 0, -44, 0, 0, 0, 0, 0, 0, 0, 0, -117, -1, -170, - -169, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15, 0, 0, 0, 0, 0, 0, -158, 0, 0, 0, 0, 0, 0, -16, - 0, 0, 0, 0, 0, 0, -18, -114, -209, 0, -178, -179, -130, -31, -182, 0, -159, 0, 0, 0, -202, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -206, -189, 0, -175, -211, 0, 0, 0, 0, -188, 0, 0, 0, -34, 0, - -165, 0, 0, 0, 0, 0, -133, -138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -186, 0, 0, 0, -187, 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, 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; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[index]; - } - - public interface BaseAction { - public final static char baseAction[] = { 89, 11, 105, 21, 21, 26, 26, 41, 41, 71, 71, 1, 1, 2, 2, 2, 2, 3, 3, - 3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 61, 61, 72, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 10, - 10, 10, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 106, 48, 42, 90, 90, 74, 74, 43, 107, 107, 107, 107, 107, 107, 107, 108, - 108, 108, 109, 109, 114, 114, 115, 115, 110, 110, 111, 111, 111, 117, 117, 112, 112, 112, 112, 112, 113, - 113, 113, 113, 113, 116, 116, 27, 27, 27, 27, 27, 30, 30, 30, 80, 80, 75, 75, 75, 75, 76, 76, 76, 77, - 77, 77, 78, 78, 78, 79, 79, 79, 118, 118, 119, 119, 120, 31, 33, 33, 33, 33, 33, 55, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 65, 62, 62, 91, 92, 67, 67, 63, 63, 63, 68, 81, 81, 82, 82, 69, 69, 69, 51, - 93, 93, 83, 84, 84, 84, 64, 64, 94, 85, 85, 86, 86, 70, 70, 22, 23, 23, 23, 32, 50, 50, 34, 34, 34, 34, - 37, 37, 39, 35, 35, 36, 40, 40, 121, 121, 38, 122, 122, 95, 95, 28, 28, 28, 28, 28, 28, 28, 28, 28, 87, - 52, 52, 52, 52, 29, 58, 58, 57, 57, 57, 59, 59, 53, 53, 96, 96, 73, 73, 60, 60, 60, 44, 44, 44, 45, 46, - 46, 46, 47, 47, 47, 47, 66, 66, 49, 49, 54, 98, 97, 97, 97, 97, 88, 99, 100, 100, 101, 101, 102, 102, - 123, 123, 124, 124, 125, 125, 125, 125, 127, 127, 126, 126, 126, 128, 129, 129, 89, 89, 2, 2, 2, 6, 6, - 6, 22, 22, 24, 24, 25, 25, 103, 103, 103, 107, 130, 130, 130, 130, 130, 130, 130, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 131, - 131, 1, 1289, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 760, 693, 1190, 1044, 1243, 1196, 1247, 1246, - 74, 91, 866, 135, 213, 323, 324, 227, 184, 529, 25, 137, 134, 136, 160, 582, 20, 17, 21, 18, 439, 1286, - 44, 684, 554, 728, 392, 693, 1190, 1044, 1243, 1196, 1247, 1246, 74, 281, 139, 166, 690, 1635, 6, 324, - 324, 143, 146, 149, 152, 53, 432, 1332, 40, 448, 125, 31, 69, 435, 1480, 1184, 1527, 1539, 1553, 1156, - 1500, 541, 282, 125, 31, 1098, 19, 1633, 648, 20, 17, 21, 18, 439, 42, 44, 684, 554, 1365, 287, 354, 20, - 17, 21, 18, 439, 1286, 44, 684, 554, 728, 392, 693, 1190, 1044, 1243, 1196, 1247, 1246, 74, 281, 288, - 284, 325, 1747, 1412, 293, 195, 225, 179, 1440, 648, 20, 17, 21, 18, 439, 42, 44, 684, 554, 728, 25, - 693, 1190, 1044, 1243, 1196, 1548, 282, 135, 213, 323, 324, 1633, 24, 393, 237, 137, 134, 136, 160, 59, - 324, 125, 187, 289, 648, 20, 17, 21, 18, 439, 42, 44, 684, 554, 728, 22, 693, 1190, 1044, 1499, 139, - 166, 125, 1743, 392, 290, 1146, 143, 146, 149, 152, 324, 432, 681, 20, 17, 21, 18, 439, 322, 1480, 1184, - 1527, 1539, 1553, 1156, 615, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 23, 693, 1190, 1044, 1243, - 1196, 1247, 1246, 74, 281, 281, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 1740, 693, 1190, 1044, - 1243, 1196, 1247, 1246, 74, 750, 239, 125, 186, 1725, 210, 769, 1680, 282, 125, 188, 125, 296, 1633, - 648, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 291, 693, 1190, 1044, 1243, 1196, 1247, 1246, 74, 91, - 714, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 1745, 693, 1190, 1044, 1243, 1196, 1247, 1246, 74, - 792, 474, 20, 17, 21, 18, 439, 42, 44, 684, 554, 728, 364, 693, 1190, 1044, 1243, 1196, 1247, 1246, 93, - 15, 331, 648, 20, 17, 21, 18, 439, 42, 44, 684, 1419, 435, 648, 20, 17, 21, 18, 439, 42, 44, 684, 1421, - 834, 315, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 39, 693, 1190, 1044, 1243, 1196, 1247, 1246, 74, - 876, 240, 648, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 237, 693, 1190, 1044, 1243, 1196, 1247, - 1246, 74, 92, 648, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 241, 693, 1190, 1044, 1243, 1196, 1247, - 1246, 74, 85, 648, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 237, 693, 1190, 1044, 1243, 1196, 1247, - 1246, 74, 84, 648, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 243, 693, 1190, 1044, 1243, 1196, 1247, - 1246, 74, 83, 648, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 237, 693, 1190, 1044, 1243, 1196, 1247, - 1246, 74, 82, 648, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 329, 693, 1190, 1044, 1243, 1196, 1247, - 1246, 74, 81, 648, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 237, 693, 1190, 1044, 1243, 1196, 1247, - 1246, 74, 80, 648, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 242, 693, 1190, 1044, 1243, 1196, 1247, - 1246, 74, 79, 648, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 237, 693, 1190, 1044, 1243, 1196, 1247, - 1246, 74, 78, 648, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 244, 693, 1190, 1044, 1243, 1196, 1247, - 1246, 74, 77, 648, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 237, 693, 1190, 1044, 1243, 1196, 1247, - 1246, 74, 76, 648, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 245, 693, 1190, 1044, 1243, 1196, 1247, - 1246, 74, 75, 648, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 237, 693, 1190, 1044, 1243, 1196, 1247, - 1246, 74, 73, 648, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 295, 693, 1190, 1044, 1243, 1196, 1247, - 1246, 74, 918, 648, 20, 17, 21, 18, 439, 1286, 44, 684, 554, 728, 401, 693, 1190, 1044, 1243, 1196, - 1247, 1246, 74, 960, 648, 20, 17, 21, 18, 439, 42, 44, 684, 554, 728, 25, 693, 1190, 1044, 1243, 1196, - 1247, 1246, 93, 648, 20, 17, 21, 18, 439, 42, 44, 684, 554, 728, 322, 693, 1190, 1044, 1243, 1196, 1247, - 1246, 93, 1237, 125, 298, 1002, 549, 20, 17, 21, 18, 439, 42, 43, 648, 20, 17, 21, 18, 439, 42, 44, 684, - 554, 728, 212, 693, 1190, 1044, 1243, 1196, 1247, 1246, 93, 648, 20, 17, 21, 18, 439, 42, 44, 684, 554, - 728, 6, 693, 1190, 1044, 1243, 1196, 1247, 1246, 93, 767, 28, 400, 1582, 541, 541, 1633, 531, 792, 686, - 225, 179, 648, 20, 17, 21, 18, 439, 42, 44, 684, 554, 728, 202, 693, 1190, 1044, 1243, 1196, 1247, 1246, - 93, 135, 213, 323, 324, 275, 276, 768, 414, 138, 134, 136, 160, 73, 180, 1538, 6, 389, 28, 400, 25, 25, - 6, 1633, 203, 482, 1743, 1749, 1197, 135, 213, 323, 324, 1202, 140, 166, 25, 145, 134, 136, 160, 144, - 147, 150, 153, 274, 432, 348, 6, 1635, 1255, 218, 1257, 221, 1410, 223, 224, 229, 1702, 631, 239, 267, - 1155, 1154, 272, 1635, 450, 263, 6, 186, 77, 1786, 1302, 277, 446, 274, 619, 264, 402, 1423, 871, 218, - 1257, 221, 1410, 223, 224, 229, 1605, 1834, 87, 267, 1155, 1154, 272, 209, 524, 1497, 648, 20, 17, 21, - 18, 439, 42, 44, 1334, 1335, 228, 771, 1494, 1744, 747, 261, 648, 20, 17, 21, 18, 439, 42, 44, 684, 554, - 728, 587, 693, 1190, 1044, 1243, 1579, 648, 20, 17, 21, 18, 439, 42, 44, 684, 554, 728, 626, 693, 1190, - 1530, 681, 20, 17, 21, 18, 439, 321, 274, 1637, 253, 6, 480, 324, 219, 1257, 221, 1410, 223, 224, 229, - 1213, 1772, 623, 269, 1155, 1154, 272, 648, 20, 17, 21, 18, 439, 42, 44, 684, 554, 728, 273, 693, 1456, - 592, 488, 218, 1257, 221, 1410, 223, 224, 229, 648, 20, 17, 21, 18, 439, 42, 44, 1364, 1771, 648, 20, - 17, 21, 18, 439, 42, 44, 684, 554, 728, 324, 1495, 648, 20, 17, 21, 18, 439, 42, 44, 684, 554, 728, 253, - 1498, 667, 846, 454, 291, 324, 733, 198, 200, 773, 1213, 750, 279, 800, 1793, 482, 1743, 1533, 648, 20, - 17, 21, 18, 439, 42, 44, 684, 554, 1409, 278, 227, 280, 874, 218, 1257, 221, 1410, 223, 224, 229, 648, - 20, 17, 21, 18, 439, 42, 40, 129, 1771, 648, 20, 17, 21, 18, 439, 42, 44, 684, 554, 1414, 648, 20, 17, - 21, 18, 439, 42, 44, 684, 554, 1417, 388, 87, 648, 20, 17, 21, 18, 439, 42, 39, 199, 200, 1213, 209, - 875, 75, 238, 324, 131, 590, 620, 1151, 135, 213, 323, 324, 875, 1699, 1506, 1744, 142, 134, 136, 160, - 294, 218, 1257, 221, 1410, 223, 224, 229, 277, 225, 274, 541, 6, 788, 274, 1637, 672, 1497, 541, 653, - 351, 141, 166, 631, 61, 808, 267, 1155, 1154, 272, 269, 1155, 1154, 272, 547, 135, 213, 323, 324, 828, - 689, 1525, 1335, 148, 134, 136, 160, 135, 213, 323, 324, 495, 204, 1741, 87, 151, 134, 136, 160, 181, - 1534, 135, 213, 323, 324, 820, 324, 1194, 237, 154, 134, 136, 160, 440, 20, 17, 21, 18, 439, 42, 36, - 440, 20, 17, 21, 18, 439, 42, 36, 297, 194, 719, 230, 260, 246, 681, 20, 17, 21, 18, 439, 320, 330, 440, - 20, 17, 21, 18, 439, 42, 36, 648, 20, 17, 21, 18, 439, 42, 38, 867, 1637, 625, 283, 869, 247, 219, 1257, - 221, 1410, 223, 224, 229, 648, 20, 17, 21, 18, 439, 42, 37, 648, 20, 17, 21, 18, 439, 42, 36, 648, 20, - 17, 21, 18, 439, 42, 35, 70, 648, 20, 17, 21, 18, 439, 42, 47, 481, 870, 395, 648, 20, 17, 21, 18, 439, - 42, 46, 648, 20, 17, 21, 18, 439, 42, 45, 274, 361, 508, 454, 361, 681, 20, 17, 21, 18, 439, 41, 495, - 631, 1780, 495, 267, 1155, 1154, 272, 681, 20, 17, 21, 18, 439, 34, 872, 1194, 231, 1635, 1194, 266, - 1635, 681, 20, 17, 21, 18, 439, 33, 6, 127, 541, 87, 623, 876, 127, 6, 826, 315, 57, 366, 1500, 259, - 251, 1302, 259, 1394, 366, 1679, 1394, 495, 1679, 254, 213, 323, 324, 197, 254, 213, 323, 324, 831, 169, - 197, 113, 181, 197, 1907, 1907, 234, 809, 87, 205, 495, 287, 495, 127, 427, 87, 377, 1670, 495, 183, - 171, 427, 631, 1907, 1670, 1792, 197, 423, 197, 1907, 1792, 495, 1907, 1907, 1194, 254, 213, 323, 324, - 426, 1907, 255, 213, 323, 324, 192, 530, 1194, 1907, 1907, 423, 1907, 423, 89, 717, 1907, 1907, 1150, - 1774, 1012, 259, 127, 1907, 1907, 1580, 507, 1679, 1907, 192, 548, 193, 1838, 1907, 259, 1907, 1907, - 1907, 1413, 1907, 1679, 1532, 1774, 1907, 254, 213, 323, 324, 255, 213, 323, 324, 255, 213, 323, 324, - 1907, 1907, 1907, 1907, 1907, 1907, 561, 1753, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1842, 1907, 0, 326, 673, 0, 20, 179, 0, 1, 2133, 0, 1, 2144, - 0 }; - } - - public final static char baseAction[] = BaseAction.baseAction; - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - public final int lhs(int index) { - return lhs[index]; - } - - public interface TermCheck { - public final static byte termCheck[] = { 0, 0, 1, 2, 3, 4, 0, 6, 7, 8, 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 0, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 0, 0, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 0, 53, 54, 55, 0, 1, 0, 3, 0, 5, 6, 7, 8, 9, 10, 11, 0, 0, 2, 2, 0, 4, 0, 19, 0, 38, - 64, 65, 66, 67, 14, 14, 16, 17, 0, 1, 2, 33, 34, 35, 36, 37, 56, 57, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 0, 1, 0, 3, 60, 5, 6, 7, 8, 9, 10, 11, 0, 1, 0, 3, 0, 61, 0, 19, 6, 7, 8, 9, - 10, 11, 64, 65, 66, 67, 70, 71, 76, 33, 34, 35, 36, 37, 74, 0, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 0, 1, 0, 3, 60, 5, 6, 7, 8, 9, 10, 11, 0, 1, 0, 0, 1, 0, 3, 19, 6, 7, 8, 9, 10, - 11, 64, 65, 66, 67, 70, 71, 0, 33, 34, 35, 36, 37, 0, 24, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 0, 1, 0, 3, 60, 59, 6, 7, 8, 9, 10, 11, 0, 0, 0, 2, 14, 5, 5, 19, 6, 7, 8, 9, 10, - 11, 0, 14, 0, 1, 2, 5, 0, 33, 34, 35, 36, 37, 77, 78, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 39, 53, 54, 55, 0, 1, 2, 3, 4, 5, 0, 61, 38, 39, 0, 5, 12, 13, 58, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 14, 25, 26, 27, 28, 29, 30, 31, 32, 0, 0, 1, 2, 3, 4, 5, 68, 0, 1, 0, 3, 39, 12, 13, 5, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 58, 25, 26, 27, 28, 29, 30, 31, 32, 0, 1, 2, 0, 61, 5, 0, 1, 2, 3, 4, 5, 0, 0, 14, - 39, 0, 4, 12, 13, 4, 15, 16, 17, 18, 58, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 39, 0, 0, - 1, 2, 0, 4, 6, 7, 8, 9, 10, 11, 0, 0, 0, 14, 12, 13, 52, 19, 6, 7, 8, 9, 10, 11, 0, 1, 15, 3, 0, 68, 59, - 33, 34, 35, 36, 37, 62, 63, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 1, 2, 3, 4, 5, 0, 1, 0, - 3, 0, 0, 12, 13, 0, 15, 16, 17, 18, 5, 20, 21, 22, 23, 0, 25, 26, 27, 28, 29, 30, 31, 32, 73, 0, 1, 2, - 3, 4, 5, 0, 0, 0, 1, 4, 3, 12, 13, 0, 15, 16, 17, 18, 39, 20, 21, 22, 23, 58, 25, 26, 27, 28, 29, 30, - 31, 32, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 38, 12, 13, 72, 15, 16, 17, 18, 0, 20, 21, 22, 23, 58, 25, - 26, 27, 28, 29, 30, 31, 32, 0, 62, 63, 56, 57, 5, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 0, 12, 13, 0, - 15, 16, 17, 18, 60, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, 1, 2, 3, 4, 0, 1, 2, 0, 4, 0, - 52, 12, 13, 4, 15, 16, 17, 18, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, 1, 2, 3, 4, 0, - 74, 2, 0, 4, 0, 0, 12, 13, 4, 15, 16, 17, 18, 14, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, - 1, 2, 3, 4, 0, 62, 63, 0, 1, 5, 3, 12, 13, 72, 15, 16, 17, 18, 0, 20, 21, 22, 23, 0, 25, 26, 27, 28, 29, - 30, 31, 32, 0, 1, 2, 3, 4, 0, 15, 2, 0, 0, 38, 69, 12, 13, 5, 15, 16, 17, 18, 14, 20, 21, 22, 23, 0, 25, - 26, 27, 28, 29, 30, 31, 32, 0, 1, 2, 3, 4, 0, 1, 2, 0, 56, 57, 0, 12, 13, 75, 15, 16, 17, 18, 0, 20, 21, - 22, 23, 0, 25, 26, 27, 28, 29, 30, 31, 32, 0, 59, 2, 0, 4, 5, 6, 7, 8, 9, 10, 11, 0, 0, 14, 12, 13, 5, - 75, 19, 0, 0, 0, 1, 0, 3, 0, 6, 7, 8, 9, 10, 11, 33, 34, 35, 36, 37, 0, 39, 19, 0, 56, 57, 24, 0, 24, 6, - 7, 8, 9, 10, 11, 0, 33, 34, 35, 36, 37, 14, 19, 0, 0, 1, 52, 12, 13, 6, 7, 8, 9, 10, 11, 0, 33, 34, 35, - 36, 37, 0, 19, 0, 56, 57, 0, 0, 0, 6, 7, 8, 9, 10, 11, 69, 33, 34, 35, 36, 37, 0, 19, 2, 89, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 14, 33, 34, 35, 36, 37, 0, 0, 59, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 14, 0, 0, - 0, 0, 14, 0, 0, 0, 0, 0, 24, 0, 73, 24, 69, 24, 0, 0, 68, 0, 24, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 38, 38, - 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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; - - @Override - public final int termCheck(int index) { - return termCheck[index]; - } - - public interface TermAction { - public final static char termAction[] = { 0, 1907, 1918, 1739, 1919, 1654, 1, 2121, 2122, 2123, 2234, 387, 2235, - 1646, 1625, 59, 1662, 1732, 1718, 1703, 2070, 1920, 1921, 1922, 1923, 253, 1482, 1448, 2224, 2225, 2226, - 1609, 1323, 563, 2071, 2069, 2124, 2072, 2068, 54, 88, 2075, 2080, 2079, 2077, 2078, 2076, 2081, 2082, - 2074, 2083, 2084, 2085, 182, 1251, 1185, 1085, 1907, 1, 183, 1, 286, 191, 1, 1, 1, 1, 1, 1, 32, 265, - 1784, 1496, 62, 1, 61, 1, 70, 739, 1469, 1458, 1426, 455, 1225, 597, 1933, 1934, 1, 2133, 1481, 1, 1, 1, - 1, 1, 695, 706, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 191, 1, 1, 1, 1907, 1, 1907, 1, 2103, 190, 1, 1, 1, - 1, 1, 1, 1907, 1918, 1907, 1919, 63, 450, 60, 1, 2121, 2122, 2123, 2234, 387, 2235, 1469, 1458, 1426, - 455, 1396, 1383, 437, 1, 1, 1, 1, 1, 1291, 1907, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 190, 1, 1, 1, 1907, - 1, 1, 1, 2103, 191, 1, 1, 1, 1, 1, 1, 1907, 2145, 248, 1907, 1918, 72, 1919, 1, 2121, 2122, 2123, 2234, - 387, 2235, 1469, 1458, 1426, 455, 1396, 1383, 1907, 1, 1, 1, 1, 1, 1907, 1193, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 191, 1, 1, 1, 1907, 1918, 1907, 1919, 2103, 2165, 2121, 2122, 2123, 2234, 387, 2235, 1907, - 1, 249, 1496, 1054, 1911, 1913, 2070, 1, 1, 1, 1, 1, 1, 1907, 597, 1, 2133, 1481, 1913, 1907, 2071, - 2069, 2124, 2072, 2068, 498, 1526, 2075, 2080, 2079, 2077, 2078, 2076, 2081, 2082, 2074, 2083, 2084, - 2085, 1912, 1251, 1185, 1085, 1, 1918, 1739, 1919, 1587, 1911, 1, 628, 1775, 1912, 292, 90, 1646, 1625, - 1910, 1662, 1732, 1718, 1703, 652, 1920, 1921, 1922, 1923, 1106, 1482, 1448, 2224, 2225, 2226, 1609, - 1323, 563, 1907, 1907, 1918, 1739, 1919, 1617, 1911, 1126, 185, 3149, 1907, 3149, 90, 1646, 1625, 1913, - 1662, 1732, 1718, 1703, 1033, 1920, 1921, 1922, 1923, 1910, 1482, 1448, 2224, 2225, 2226, 1609, 1323, - 563, 1, 1901, 1224, 1907, 1095, 1913, 1, 1918, 1739, 1919, 1654, 29, 1907, 1, 597, 1912, 48, 253, 1646, - 1625, 1690, 1662, 1732, 1718, 1703, 1910, 1920, 1921, 1922, 1923, 3031, 1482, 1448, 2224, 2225, 2226, - 1609, 1323, 563, 1912, 129, 262, 2133, 1224, 51, 1, 2121, 2122, 2123, 2234, 387, 2235, 68, 64, 250, 597, - 1373, 1275, 29, 2070, 1, 1, 1, 1, 1, 1, 184, 3150, 1350, 3150, 1907, 991, 2165, 2071, 2069, 2124, 2072, - 2068, 1682, 1671, 2075, 2080, 2079, 2077, 2078, 2076, 2081, 2082, 2074, 2083, 2084, 2085, 1907, 1918, - 1739, 1919, 1654, 1911, 206, 3151, 1907, 3151, 66, 1907, 1646, 1625, 1, 1662, 1732, 1718, 1703, 1913, - 1920, 1921, 1922, 1923, 1907, 1482, 1448, 2224, 2225, 2226, 1609, 1323, 563, 534, 1907, 1918, 1739, - 1919, 1595, 1911, 50, 256, 208, 1918, 1690, 1919, 1646, 1625, 58, 1662, 1732, 1718, 1703, 1912, 1920, - 1921, 1922, 1923, 1910, 1482, 1448, 2224, 2225, 2226, 1609, 1323, 563, 251, 1907, 1, 1, 1, 1, 2121, - 2122, 2123, 2234, 387, 2235, 1554, 1, 1, 1308, 1, 1, 1, 1, 1907, 1, 1, 1, 1, 1910, 1, 1, 1, 1, 1, 1, 1, - 1, 1907, 1682, 1671, 695, 706, 1915, 71, 252, 1907, 1918, 1739, 1919, 1654, 2121, 2122, 2123, 2234, 387, - 2235, 1907, 1646, 1625, 1907, 1662, 1732, 1718, 1703, 2223, 1920, 1921, 1922, 1923, 3031, 1482, 1448, - 2224, 2225, 2226, 1609, 1323, 563, 1, 1918, 1739, 1919, 1654, 268, 2133, 1224, 67, 253, 49, 1914, 1646, - 1625, 1690, 1662, 1732, 1718, 1703, 597, 1920, 1921, 1922, 1923, 3031, 1482, 1448, 2224, 2225, 2226, - 1609, 1323, 563, 1907, 1918, 1739, 1919, 1654, 268, 1291, 1496, 211, 253, 1907, 1907, 1646, 1625, 1065, - 1662, 1732, 1718, 1703, 597, 1920, 1921, 1922, 1923, 3031, 1482, 1448, 2224, 2225, 2226, 1609, 1323, - 563, 1907, 1918, 1739, 1919, 1654, 1907, 1682, 1671, 207, 552, 1917, 552, 1646, 1625, 1308, 1662, 1732, - 1718, 1703, 57, 1920, 1921, 1922, 1923, 65, 1482, 1448, 2224, 2225, 2226, 1609, 1323, 563, 1907, 1918, - 1746, 1919, 1654, 270, 1350, 1411, 1, 1, 1407, 1074, 1646, 1625, 1917, 1662, 1732, 1718, 1703, 597, - 1920, 1921, 1922, 1923, 1907, 1482, 1448, 2224, 2225, 2226, 1609, 1323, 563, 1, 1918, 1739, 1919, 1654, - 253, 2133, 1481, 1907, 695, 706, 1907, 1646, 1625, 1916, 1662, 1732, 1718, 1703, 56, 1920, 1921, 1922, - 1923, 1907, 1482, 1448, 2224, 2225, 2226, 1609, 1323, 563, 20, 2164, 1898, 53, 1898, 1898, 179, 179, - 179, 179, 179, 179, 285, 1907, 1898, 1373, 1275, 425, 1916, 179, 1907, 130, 1907, 1918, 42, 1919, 55, - 2121, 2122, 2123, 2234, 387, 2235, 179, 179, 179, 179, 179, 1907, 1898, 2070, 131, 695, 706, 3031, 271, - 1199, 2121, 2122, 2123, 2234, 387, 2235, 52, 2071, 2069, 2124, 2072, 2068, 597, 2070, 132, 1, 1904, 425, - 1373, 1275, 2121, 2122, 2123, 2234, 387, 2235, 69, 2071, 2069, 2124, 2072, 2068, 1907, 2070, 133, 695, - 706, 201, 1907, 1907, 2121, 2122, 2123, 2234, 387, 2235, 970, 2071, 2069, 2124, 2072, 2068, 222, 2070, - 1701, 1894, 949, 928, 907, 886, 865, 823, 844, 802, 781, 760, 597, 2071, 2069, 2124, 2072, 2068, 326, - 1907, 2165, 1907, 1907, 220, 1907, 1198, 30, 30, 207, 189, 189, 189, 1895, 1907, 1907, 1907, 1907, 597, - 1907, 1907, 1907, 1907, 1907, 1137, 1907, 534, 1245, 576, 1333, 1907, 1907, 1158, 1907, 185, 184, 206, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 467, 1936, 2928 }; - } - - public final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[index]; - } - - public interface Asb { - public final static char asb[] = { 0, 403, 1, 149, 105, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 67, 10, 87, 84, 91, 89, 97, 95, 99, 98, 101, 100, 73, 149, 10, 368, 368, 432, 149, 286, 286, 329, - 10, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 286, 286, 109, 116, 333, 140, 335, 284, 283, 301, 3, - 313, 136, 313, 136, 136, 313, 136, 313, 30, 237, 84, 84, 89, 89, 89, 89, 87, 87, 95, 91, 91, 98, 97, 65, - 100, 99, 138, 228, 138, 329, 333, 143, 109, 53, 173, 286, 371, 338, 173, 136, 368, 368, 136, 368, 149, - 228, 114, 333, 321, 53, 109, 172, 140, 286, 327, 30, 285, 340, 109, 173, 138, 198, 138, 231, 114, 321, - 321, 149, 149, 109, 173, 335, 290, 289, 333, 340, 286, 138, 198, 231, 231, 233, 298, 321, 53, 109, 109, - 286, 371, 338, 327, 198, 228, 60, 198, 231, 233, 427, 233, 228, 112, 430, 368, 149, 297, 53, 321, 340, - 198, 62, 233, 228, 149, 368, 67, 116, 109, 368, 149, 321, 286, 285, 228, 293, 149, 292, 168, 333, 228, - 109, 369, 62, 149, 168 }; - } - - public final static char asb[] = Asb.asb; - - @Override - public final int asb(int index) { - return asb[index]; - } - - public interface Asr { - public final static byte asr[] = { 0, 89, 0, 5, 68, 38, 58, 39, 75, 14, 18, 20, 21, 22, 23, 2, 16, 17, 15, 4, - 12, 13, 25, 26, 27, 28, 29, 30, 31, 32, 1, 3, 53, 54, 55, 48, 40, 45, 43, 44, 42, 41, 46, 47, 49, 50, - 51, 37, 34, 19, 33, 36, 35, 6, 7, 8, 10, 9, 11, 0, 75, 5, 4, 1, 2, 68, 0, 14, 2, 61, 76, 16, 17, 69, 79, - 80, 81, 82, 83, 85, 84, 86, 87, 88, 4, 62, 63, 12, 13, 57, 56, 64, 65, 66, 67, 70, 71, 15, 72, 73, 74, - 52, 75, 77, 78, 68, 39, 89, 38, 58, 5, 0, 5, 52, 14, 61, 16, 17, 15, 4, 12, 13, 25, 26, 18, 30, 31, 32, - 2, 20, 21, 22, 23, 27, 28, 29, 1, 3, 24, 0, 58, 5, 19, 6, 7, 8, 9, 10, 11, 20, 21, 22, 23, 27, 28, 29, - 3, 16, 17, 15, 12, 13, 25, 26, 18, 30, 31, 32, 4, 2, 1, 0, 19, 58, 5, 16, 17, 15, 4, 12, 13, 25, 26, 18, - 30, 31, 32, 2, 1, 3, 20, 21, 22, 23, 27, 28, 29, 0, 33, 40, 6, 41, 53, 34, 42, 35, 43, 44, 36, 7, 45, - 46, 19, 54, 37, 55, 47, 48, 8, 49, 50, 51, 1, 3, 9, 10, 11, 60, 5, 52, 0, 1, 3, 5, 52, 38, 0, 7, 19, 37, - 8, 36, 35, 34, 6, 33, 9, 10, 11, 61, 76, 16, 17, 15, 12, 13, 62, 63, 56, 57, 64, 65, 66, 67, 70, 71, 72, - 73, 74, 77, 78, 69, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 4, 2, 14, 38, 39, 5, 0, 2, 39, 14, 68, 75, - 5, 38, 0, 69, 14, 61, 0, 48, 40, 45, 43, 44, 42, 41, 46, 47, 49, 50, 51, 68, 75, 37, 34, 19, 33, 36, 35, - 6, 7, 8, 9, 10, 11, 38, 1, 5, 39, 2, 14, 4, 0, 4, 2, 14, 39, 5, 33, 40, 6, 41, 53, 34, 42, 35, 43, 44, - 36, 7, 45, 46, 19, 54, 37, 55, 47, 48, 8, 49, 50, 51, 9, 10, 11, 59, 3, 1, 0, 4, 33, 40, 6, 41, 53, 34, - 42, 35, 43, 44, 36, 7, 45, 46, 19, 54, 37, 55, 47, 48, 8, 49, 50, 51, 1, 3, 9, 10, 11, 59, 0, 18, 20, - 21, 22, 23, 1, 3, 2, 16, 17, 15, 4, 12, 13, 25, 26, 27, 28, 29, 30, 31, 32, 60, 0, 5, 38, 52, 69, 0, 5, - 39, 18, 20, 21, 22, 23, 1, 3, 2, 16, 17, 15, 4, 12, 13, 25, 26, 27, 28, 29, 30, 31, 32, 0 }; - } - - public final static byte asr[] = Asr.asr; - - @Override - public final int asr(int index) { - return asr[index]; - } - - public interface Nasb { - public final static byte nasb[] = { 0, 100, 37, 28, 37, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 37, 103, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 28, 103, 21, 21, 121, 104, 78, 78, 85, 1, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 104, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 78, 78, 42, 47, 13, 40, 84, 51, 51, 58, 9, 59, 19, 59, 69, 69, 59, 68, 59, 53, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 48, 66, 37, 89, 37, 44, 42, 107, 41, 78, 95, 77, 41, 7, 7, - 7, 7, 7, 28, 23, 66, 37, 75, 107, 42, 41, 124, 78, 62, 30, 37, 97, 42, 41, 38, 66, 37, 66, 26, 75, 66, - 28, 28, 42, 41, 61, 51, 51, 13, 97, 78, 37, 109, 66, 7, 82, 11, 66, 107, 42, 42, 78, 95, 77, 71, 66, 23, - 16, 113, 7, 82, 37, 37, 23, 25, 37, 7, 28, 80, 107, 124, 117, 109, 64, 82, 23, 28, 7, 93, 27, 42, 7, 28, - 124, 78, 78, 23, 17, 28, 37, 64, 13, 23, 42, 37, 64, 28, 73 }; - } - - public final static byte nasb[] = Nasb.nasb; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - public interface Nasr { - public final static char nasr[] = { 0, 80, 78, 77, 67, 76, 75, 1, 0, 103, 0, 100, 0, 29, 52, 0, 11, 71, 0, 91, - 0, 72, 0, 41, 0, 88, 11, 54, 5, 0, 80, 79, 78, 77, 67, 76, 75, 0, 92, 0, 11, 5, 21, 0, 5, 11, 0, 5, 54, - 49, 0, 28, 0, 67, 62, 63, 64, 65, 55, 30, 0, 26, 46, 45, 37, 35, 11, 0, 94, 68, 0, 46, 45, 37, 35, 29, - 0, 11, 26, 0, 102, 0, 61, 0, 26, 45, 46, 11, 0, 46, 45, 29, 0, 98, 0, 29, 52, 11, 27, 0, 11, 89, 0, 51, - 11, 48, 0, 58, 0, 82, 11, 51, 0, 11, 51, 69, 0, 95, 11, 27, 0, 11, 90, 0, 22, 0 }; - } - - public final static char nasr[] = Nasr.nasr; - - @Override - public final int nasr(int index) { - return nasr[index]; - } - - public interface TerminalIndex { - public final static char terminalIndex[] = { 0, 85, 2, 86, 9, 87, 48, 64, 76, 96, 97, 98, 10, 11, 1, 8, 6, 7, - 68, 69, 81, 82, 83, 84, 3, 12, 13, 93, 94, 95, 100, 101, 102, 44, 55, 60, 63, 72, 42, 90, 47, 52, 56, - 61, 62, 66, 67, 74, 75, 78, 79, 80, 91, 54, 70, 73, 16, 17, 89, 30, 107, 4, 14, 15, 18, 19, 20, 21, 29, - 31, 22, 23, 24, 25, 26, 92, 5, 27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 108, 45, 46, 49, 50, 51, - 53, 57, 58, 59, 65, 71, 77, 88, 99, 103, 104, 105, 106 }; - } - - public final static char terminalIndex[] = TerminalIndex.terminalIndex; - - @Override - public final int terminalIndex(int index) { - return terminalIndex[index]; - } - - public interface NonterminalIndex { - public final static char nonterminalIndex[] = { 0, 114, 0, 0, 0, 116, 120, 121, 122, 123, 124, 0, 125, 126, 127, - 128, 129, 130, 131, 0, 132, 110, 142, 0, 0, 0, 111, 135, 163, 0, 141, 0, 0, 0, 159, 161, 0, 162, 0, 0, - 0, 112, 0, 134, 172, 173, 174, 0, 115, 119, 150, 154, 160, 169, 0, 144, 0, 164, 167, 168, 171, 0, 145, - 146, 147, 148, 149, 151, 0, 153, 158, 113, 117, 118, 133, 136, 137, 138, 139, 140, 143, 0, 152, 156, 0, - 0, 157, 166, 176, 109, 0, 0, 0, 155, 0, 165, 170, 175, 0, 177, 178, 0, 179, 180, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - } - - public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; - - @Override - public final int nonterminalIndex(int index) { - return nonterminalIndex[index]; - } - - public interface ScopePrefix { - public final static char scopePrefix[] = { 108, 139, 118, 47, 57, 147, 12, 174, 21, 75, 93, 63, 28, 71, 40, 129, - 199, 203, 40, 40, 183, 40, 1, 1, 1, 32, 35, 80, 103, 35, 207, 6, 133, 190, 190, 165, 125, 153, 153, 153, - 153, 153, 83, 83, 83 }; - } - - public final static char scopePrefix[] = ScopePrefix.scopePrefix; - - @Override - public final int scopePrefix(int index) { - return scopePrefix[index]; - } - - public interface ScopeSuffix { - public final static char scopeSuffix[] = { 116, 116, 116, 4, 4, 116, 18, 180, 26, 4, 26, 68, 26, 4, 4, 127, 26, - 4, 44, 68, 187, 53, 4, 4, 4, 26, 38, 4, 26, 106, 26, 9, 136, 193, 196, 168, 127, 155, 157, 159, 161, - 163, 90, 85, 98 }; - } - - public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; - - @Override - public final int scopeSuffix(int index) { - return scopeSuffix[index]; - } - - public interface ScopeLhs { - public final static char scopeLhs[] = { 64, 62, 64, 28, 28, 62, 49, 111, 47, 28, 40, 28, 47, 28, 28, 69, 5, 5, - 28, 28, 19, 28, 103, 102, 101, 45, 60, 28, 37, 50, 3, 88, 69, 7, 5, 112, 69, 79, 78, 77, 76, 75, 40, 38, - 40 }; - } - - public final static char scopeLhs[] = ScopeLhs.scopeLhs; - - @Override - public final int scopeLhs(int index) { - return scopeLhs[index]; - } - - public interface ScopeLa { - public final static byte scopeLa[] = { 52, 52, 52, 58, 58, 52, 52, 95, 39, 58, 39, 20, 39, 58, 58, 75, 39, 58, - 4, 20, 68, 19, 58, 58, 58, 39, 2, 58, 39, 1, 39, 69, 1, 39, 39, 101, 75, 1, 53, 54, 54, 48, 2, 2, 2 }; - } - - public final static byte scopeLa[] = ScopeLa.scopeLa; - - @Override - public final int scopeLa(int index) { - return scopeLa[index]; - } - - public interface ScopeStateSet { - public final static byte scopeStateSet[] = { 25, 25, 25, 29, 29, 25, 19, -1, 33, 29, 9, 29, 33, 29, 29, 5, 40, - 40, 29, 29, 74, 29, 17, 1, 3, 33, 35, 29, 9, 11, 40, 101, 5, 46, 40, -1, 5, 26, 26, 26, 26, 26, 9, 9, - 9 }; - } - - public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet; - - @Override - public final int scopeStateSet(int index) { - return scopeStateSet[index]; - } - - public interface ScopeRhs { - public final static char scopeRhs[] = { 0, 150, 14, 0, 110, 0, 206, 118, 0, 31, 149, 0, 168, 204, 118, 24, 161, - 0, 112, 0, 0, 164, 118, 2, 152, 0, 111, 0, 164, 118, 2, 0, 167, 2, 0, 159, 118, 0, 172, 0, 194, 118, 14, - 0, 9, 110, 0, 127, 19, 194, 118, 14, 0, 69, 132, 110, 0, 127, 194, 118, 19, 14, 0, 194, 118, 19, 14, 0, - 132, 110, 0, 127, 19, 14, 0, 127, 194, 118, 14, 0, 127, 14, 0, 144, 0, 2, 0, 165, 111, 0, 2, 111, 0, - 164, 118, 2, 144, 0, 2, 0, 164, 111, 0, 157, 2, 0, 159, 0, 168, 192, 118, 24, 108, 201, 53, 0, 112, 0, - 168, 192, 118, 24, 201, 53, 0, 158, 0, 113, 0, 200, 118, 158, 0, 118, 158, 0, 155, 113, 0, 188, 118, 24, - 199, 108, 198, 174, 0, 188, 118, 24, 198, 174, 0, 187, 0, 148, 0, 147, 0, 146, 0, 145, 0, 144, 0, 214, - 94, 0, 77, 2, 115, 111, 113, 0, 214, 133, 155, 2, 98, 0, 53, 0, 0, 155, 78, 125, 0, 29, 132, 0, 180, 2, - 0, 111, 121, 0, 111, 119, 0, 197, 2, 112, 0, 155, 14, 112, 0, 155, 2, 0 }; - } - - public final static char scopeRhs[] = ScopeRhs.scopeRhs; - - @Override - public final int scopeRhs(int index) { - return scopeRhs[index]; - } - - public interface ScopeState { - public final static char scopeState[] = { 0, 1412, 0, 392, 0, 1772, 1774, 1749, 0, 1605, 1302, 1407, 1481, 1332, - 1224, 1194, 0, 387, 0, 576, 467, 400, 1146, 1098, 0, 1156, 495, 366, 0, 1410, 1257, 1155, 1154, 1302, - 1500, 1224, 1194, 1496, 1670, 0, 1732, 1718, 1703, 1609, 1323, 563, 1617, 1595, 1587, 1098, 1291, 498, - 1308, 534, 1396, 1383, 1350, 706, 695, 1469, 1458, 1426, 455, 1690, 1682, 1671, 1373, 1275, 1662, 1654, - 1646, 1625, 1482, 1448, 1158, 1126, 1106, 576, 1074, 1054, 1033, 1012, 717, 991, 673, 652, 597, 970, - 949, 928, 907, 886, 865, 844, 823, 802, 781, 760, 366, 739, 631, 467, 400, 0 }; - } - - public final static char scopeState[] = ScopeState.scopeState; - - @Override - public final int scopeState(int index) { - return scopeState[index]; - } - - public interface InSymb { - public final static char inSymb[] = { 0, 0, 196, 118, 181, 32, 31, 30, 18, 26, 25, 13, 12, 4, 15, 17, 16, 112, - 2, 116, 115, 119, 117, 121, 120, 123, 122, 125, 124, 113, 38, 2, 76, 61, 2, 14, 180, 155, 158, 118, 13, - 12, 63, 62, 4, 67, 66, 65, 64, 56, 57, 15, 71, 70, 73, 72, 78, 77, 74, 88, 87, 86, 84, 85, 83, 82, 81, - 80, 79, 69, 180, 197, 155, 133, 118, 14, 2, 153, 152, 182, 10, 183, 174, 184, 55, 54, 185, 53, 186, 187, - 108, 115, 115, 117, 117, 117, 117, 116, 116, 120, 119, 119, 122, 121, 155, 124, 123, 133, 24, 161, 159, - 136, 19, 127, 118, 4, 167, 118, 2, 14, 198, 175, 175, 201, 175, 68, 118, 24, 136, 4, 118, 127, 194, 165, - 164, 134, 118, 166, 118, 150, 4, 108, 24, 108, 24, 118, 4, 136, 194, 19, 127, 4, 2, 142, 144, 118, 38, - 164, 199, 118, 24, 118, 204, 118, 136, 118, 127, 127, 157, 118, 2, 159, 24, 188, 158, 189, 118, 192, - 108, 193, 168, 38, 206, 61, 14, 207, 118, 165, 118, 118, 118, 192, 168, 69, 38, 148, 69, 150, 61, 14, - 165, 164, 202, 188, 200, 68, 157, 2, 118, 168, 150, 38, 38, 68, 159 }; - } - - public final static char inSymb[] = InSymb.inSymb; - - @Override - public final int inSymb(int index) { - return inSymb[index]; - } - - public interface Name { - public final static String name[] = { "", "[", "(", "{", ".", "->", "++", "--", "&", "*", "+", "-", "~", "!", - "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "...", "=", - "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", "$empty", "auto", "break", "case", - "char", "const", "continue", "default", "do", "double", "else", "enum", "extern", "float", "for", - "goto", "if", "inline", "int", "long", "register", "restrict", "return", "short", "signed", "sizeof", - "static", "struct", "switch", "typedef", "union", "unsigned", "void", "volatile", "while", "_Bool", - "_Complex", "_Imaginary", "integer", "floating", "charconst", "stringlit", "identifier", "Completion", - "EndOfCompletion", "Invalid", "RightBracket", "RightParen", "RightBrace", "SemiColon", "MYTHREAD", - "THREADS", "UPC_MAX_BLOCKSIZE", "relaxed", "shared", "strict", "upc_barrier", "upc_localsizeof", - "upc_blocksizeof", "upc_elemsizeof", "upc_notify", "upc_fence", "upc_wait", "upc_forall", "ERROR_TOKEN", - "EOF_TOKEN", "no_sizeof_type_id_start", "]", ")", "}", ";", "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_list_actual", "constant_expression", "declaration_specifiers", - "simple_declaration_specifiers", "struct_or_union_declaration_sp" + "ecifiers", - "elaborated_declaration_specifi" + "ers", "enum_declaration_specifiers", - "typdef_name_declaration_specif" + "iers", "no_type_declaration_specifier", "type_qualifier", - "no_type_declaration_specifiers", "simple_type_specifier", "struct_or_union_specifier", - "elaborated_specifier", "enum_specifier", "type_name_specifier", "initializer", "declarator", - "struct_or_union", "struct_declaration_list", "struct_declaration", "specifier_qualifier_list", - "struct_declarator_list", "complete_struct_declarator", "enumerator_list", "enumerator", - "direct_declarator", "pointer_seq", "array_direct_declarator", "basic_direct_declarator", - "array_modifier", "parameter_type_list", "identifier_list", "array_modifier_type_qualifiers", - "type_qualifier_list", "parameter_list", "parameter_declaration", "complete_parameter_declarator", - "abstract_declarator", "direct_abstract_declarator", "basic_direct_abstract_declarat" + "or", - "array_direct_abstract_declarat" + "or", "initializer_seq", "designated_initializer", "designation", - "designator_list", "designator", "layout_qualifier" }; - } - - public final static String name[] = Name.name; - - @Override - public final String name(int index) { - return name[index]; - } - - public final static int ERROR_SYMBOL = 60, SCOPE_UBOUND = 44, SCOPE_SIZE = 45, MAX_NAME_LENGTH = 38; - - @Override - public final int getErrorSymbol() { - return ERROR_SYMBOL; - } - - @Override - public final int getScopeUbound() { - return SCOPE_UBOUND; - } - - @Override - public final int getScopeSize() { - return SCOPE_SIZE; - } - - @Override - public final int getMaxNameLength() { - return MAX_NAME_LENGTH; - } - - public final static int NUM_STATES = 214, NT_OFFSET = 107, LA_STATE_OFFSET = 2272, MAX_LA = 2, NUM_RULES = 365, - NUM_NONTERMINALS = 131, NUM_SYMBOLS = 238, SEGMENT_SIZE = 8192, START_STATE = 1700, IDENTIFIER_SYMBOL = 0, - EOFT_SYMBOL = 89, EOLT_SYMBOL = 89, ACCEPT_ACTION = 1894, ERROR_ACTION = 1907; - - public final static boolean BACKTRACK = true; - - @Override - public final int getNumStates() { - return NUM_STATES; - } - - @Override - public final int getNtOffset() { - return NT_OFFSET; - } - - @Override - public final int getLaStateOffset() { - return LA_STATE_OFFSET; - } - - @Override - public final int getMaxLa() { - return MAX_LA; - } - - @Override - public final int getNumRules() { - return NUM_RULES; - } - - @Override - public final int getNumNonterminals() { - return NUM_NONTERMINALS; - } - - @Override - public final int getNumSymbols() { - return NUM_SYMBOLS; - } - - @Override - public final int getSegmentSize() { - return SEGMENT_SIZE; - } - - @Override - public final int getStartState() { - return START_STATE; - } - - @Override - public final int getStartSymbol() { - return lhs[0]; - } - - public final int getIdentifierSymbol() { - return IDENTIFIER_SYMBOL; - } - - @Override - public final int getEoftSymbol() { - return EOFT_SYMBOL; - } - - @Override - public final int getEoltSymbol() { - return EOLT_SYMBOL; - } - - @Override - public final int getAcceptAction() { - return ACCEPT_ACTION; - } - - @Override - public final int getErrorAction() { - return ERROR_ACTION; - } - - @Override - public final boolean isValidForParser() { - return isValidForParser; - } - - @Override - public final boolean getBacktrack() { - return BACKTRACK; - } - - @Override - public final int originalState(int state) { - return -baseCheck[state]; - } - - @Override - public final int asi(int state) { - return asb[originalState(state)]; - } - - @Override - public final int nasi(int state) { - return nasb[originalState(state)]; - } - - @Override - public final int inSymbol(int state) { - return inSymb[originalState(state)]; - } - - @Override - public final int ntAction(int state, int sym) { - return baseAction[state + sym]; - } - - @Override - public final int tAction(int state, int sym) { - int i = baseAction[state], k = i + sym; - return termAction[termCheck[k] == sym ? k : i]; - } - - @Override - public final int lookAhead(int la_state, int sym) { - int k = la_state + sym; - return termAction[termCheck[k] == sym ? k : la_state]; - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParsersym.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParsersym.java deleted file mode 100644 index 49e0551fcea..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParsersym.java +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2010 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.dom.parser.upc; - -public interface UPCSizeofExpressionParsersym { - public final static int TK_auto = 33, TK_break = 90, TK_case = 91, TK_char = 40, TK_const = 6, TK_continue = 92, - TK_default = 93, TK_do = 94, TK_double = 41, TK_else = 95, TK_enum = 53, TK_extern = 34, TK_float = 42, - TK_for = 96, TK_goto = 97, TK_if = 98, TK_inline = 35, TK_int = 43, TK_long = 44, TK_register = 36, - TK_restrict = 7, TK_return = 99, TK_short = 45, TK_signed = 46, TK_sizeof = 18, TK_static = 19, - TK_struct = 54, TK_switch = 100, TK_typedef = 37, TK_union = 55, TK_unsigned = 47, TK_void = 48, - TK_volatile = 8, TK_while = 101, TK__Bool = 49, TK__Complex = 50, TK__Imaginary = 51, TK_integer = 20, - TK_floating = 21, TK_charconst = 22, TK_stringlit = 23, TK_identifier = 1, TK_Completion = 3, - TK_EndOfCompletion = 5, TK_Invalid = 102, TK_LeftBracket = 14, TK_LeftParen = 2, TK_LeftBrace = 24, - TK_Dot = 61, TK_Arrow = 76, TK_PlusPlus = 16, TK_MinusMinus = 17, TK_And = 15, TK_Star = 4, TK_Plus = 12, - TK_Minus = 13, TK_Tilde = 25, TK_Bang = 26, TK_Slash = 62, TK_Percent = 63, TK_RightShift = 56, - TK_LeftShift = 57, TK_LT = 64, TK_GT = 65, TK_LE = 66, TK_GE = 67, TK_EQ = 70, TK_NE = 71, TK_Caret = 72, - TK_Or = 73, TK_AndAnd = 74, TK_OrOr = 77, TK_Question = 78, TK_Colon = 68, TK_DotDotDot = 59, - TK_Assign = 69, TK_StarAssign = 79, TK_SlashAssign = 80, TK_PercentAssign = 81, TK_PlusAssign = 82, - TK_MinusAssign = 83, TK_RightShiftAssign = 84, TK_LeftShiftAssign = 85, TK_AndAssign = 86, - TK_CaretAssign = 87, TK_OrAssign = 88, TK_Comma = 38, TK_RightBracket = 58, TK_RightParen = 39, - TK_RightBrace = 52, TK_SemiColon = 75, TK_MYTHREAD = 27, TK_THREADS = 28, TK_UPC_MAX_BLOCKSIZE = 29, - TK_relaxed = 9, TK_shared = 10, TK_strict = 11, TK_upc_barrier = 103, TK_upc_localsizeof = 30, - TK_upc_blocksizeof = 31, TK_upc_elemsizeof = 32, TK_upc_notify = 104, TK_upc_fence = 105, TK_upc_wait = 106, - TK_upc_forall = 107, TK_ERROR_TOKEN = 60, TK_EOF_TOKEN = 89; - - public final static String orderedTerminalSymbols[] = { "", "identifier", "LeftParen", "Completion", "Star", - "EndOfCompletion", "const", "restrict", "volatile", "relaxed", "shared", "strict", "Plus", "Minus", - "LeftBracket", "And", "PlusPlus", "MinusMinus", "sizeof", "static", "integer", "floating", "charconst", - "stringlit", "LeftBrace", "Tilde", "Bang", "MYTHREAD", "THREADS", "UPC_MAX_BLOCKSIZE", "upc_localsizeof", - "upc_blocksizeof", "upc_elemsizeof", "auto", "extern", "inline", "register", "typedef", "Comma", - "RightParen", "char", "double", "float", "int", "long", "short", "signed", "unsigned", "void", "_Bool", - "_Complex", "_Imaginary", "RightBrace", "enum", "struct", "union", "RightShift", "LeftShift", - "RightBracket", "DotDotDot", "ERROR_TOKEN", "Dot", "Slash", "Percent", "LT", "GT", "LE", "GE", "Colon", - "Assign", "EQ", "NE", "Caret", "Or", "AndAnd", "SemiColon", "Arrow", "OrOr", "Question", "StarAssign", - "SlashAssign", "PercentAssign", "PlusAssign", "MinusAssign", "RightShiftAssign", "LeftShiftAssign", - "AndAssign", "CaretAssign", "OrAssign", "EOF_TOKEN", "break", "case", "continue", "default", "do", "else", - "for", "goto", "if", "return", "switch", "while", "Invalid", "upc_barrier", "upc_notify", "upc_fence", - "upc_wait", "upc_forall" }; - - public final static boolean isValidForParser = true; -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTCompositeTypeSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTCompositeTypeSpecifier.java deleted file mode 100644 index 354feaa8f81..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTCompositeTypeSpecifier.java +++ /dev/null @@ -1,127 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.parser.upc.ast; - -import org.eclipse.cdt.core.dom.ast.ASTVisitor; -import org.eclipse.cdt.core.dom.ast.IASTDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTCompositeTypeSpecifier; -import org.eclipse.cdt.internal.core.dom.parser.c.CASTCompositeTypeSpecifier; - -@SuppressWarnings("restriction") -public class UPCASTCompositeTypeSpecifier extends CASTCompositeTypeSpecifier implements IUPCASTCompositeTypeSpecifier { - - private int referenceType; - private int sharedQualifier; - private IASTExpression blockSizeExpression; - - public UPCASTCompositeTypeSpecifier() { - } - - public UPCASTCompositeTypeSpecifier(int key, IASTName name) { - super(key, name); - } - - public UPCASTCompositeTypeSpecifier(int key, IASTName name, IASTExpression blockSizeExpression) { - super(key, name); - setBlockSizeExpression(blockSizeExpression); - } - - @Override - public UPCASTCompositeTypeSpecifier copy() { - return copy(CopyStyle.withoutLocations); - } - - @Override - public UPCASTCompositeTypeSpecifier copy(CopyStyle style) { - UPCASTCompositeTypeSpecifier copy = new UPCASTCompositeTypeSpecifier(); - copy.referenceType = referenceType; - copy.sharedQualifier = sharedQualifier; - copy.setBlockSizeExpression(blockSizeExpression == null ? null : blockSizeExpression.copy(style)); - return copy(copy, style); - } - - @Override - public IASTExpression getBlockSizeExpression() { - return blockSizeExpression; - } - - @Override - public int getReferenceType() { - return referenceType; - } - - @Override - public int getSharedQualifier() { - return sharedQualifier; - } - - @Override - public void setBlockSizeExpression(IASTExpression expr) { - this.blockSizeExpression = expr; - if (expr != null) { - expr.setParent(this); - expr.setPropertyInParent(BLOCK_SIZE_EXPRESSION); - } - - } - - @Override - public void setReferenceType(int referenceType) { - this.referenceType = referenceType; - } - - @Override - public void setSharedQualifier(int shared) { - this.sharedQualifier = shared; - } - - @Override - public boolean accept(ASTVisitor action) { - if (action.shouldVisitDeclSpecifiers) { - switch (action.visit(this)) { - case ASTVisitor.PROCESS_ABORT: - return false; - case ASTVisitor.PROCESS_SKIP: - return true; - default: - break; - } - } - if (getName() != null) - if (!getName().accept(action)) - return false; - if (blockSizeExpression != null) - if (!blockSizeExpression.accept(action)) - return false; - - IASTDeclaration[] decls = getMembers(); - for (int i = 0; i < decls.length; i++) - if (!decls[i].accept(action)) - return false; - - if (action.shouldVisitDeclSpecifiers) { - switch (action.leave(this)) { - case ASTVisitor.PROCESS_ABORT: - return false; - case ASTVisitor.PROCESS_SKIP: - return true; - default: - break; - } - } - return true; - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTElaboratedTypeSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTElaboratedTypeSpecifier.java deleted file mode 100644 index 73fba20ddfc..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTElaboratedTypeSpecifier.java +++ /dev/null @@ -1,124 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.parser.upc.ast; - -import org.eclipse.cdt.core.dom.ast.ASTVisitor; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTElaboratedTypeSpecifier; -import org.eclipse.cdt.internal.core.dom.parser.c.CASTElaboratedTypeSpecifier; - -@SuppressWarnings("restriction") -public class UPCASTElaboratedTypeSpecifier extends CASTElaboratedTypeSpecifier - implements IUPCASTElaboratedTypeSpecifier { - - private int referenceType; - private int sharedQualifier; - private IASTExpression blockSizeExpression; - - public UPCASTElaboratedTypeSpecifier() { - } - - public UPCASTElaboratedTypeSpecifier(int kind, IASTName name) { - super(kind, name); - } - - public UPCASTElaboratedTypeSpecifier(int kind, IASTName name, IASTExpression blockSizeExpression) { - super(kind, name); - setBlockSizeExpression(blockSizeExpression); - } - - @Override - public UPCASTElaboratedTypeSpecifier copy() { - return copy(CopyStyle.withoutLocations); - } - - @Override - public UPCASTElaboratedTypeSpecifier copy(CopyStyle style) { - IASTName name = getName(); - UPCASTElaboratedTypeSpecifier copy = new UPCASTElaboratedTypeSpecifier(getKind(), - name == null ? null : name.copy(style)); - copy.referenceType = referenceType; - copy.sharedQualifier = sharedQualifier; - copy.setBlockSizeExpression(blockSizeExpression == null ? null : blockSizeExpression.copy(style)); - return copy(copy, style); - } - - @Override - public IASTExpression getBlockSizeExpression() { - return blockSizeExpression; - } - - @Override - public int getReferenceType() { - return referenceType; - } - - @Override - public int getSharedQualifier() { - return sharedQualifier; - } - - @Override - public void setBlockSizeExpression(IASTExpression expr) { - this.blockSizeExpression = expr; - if (expr != null) { - expr.setParent(this); - expr.setPropertyInParent(BLOCK_SIZE_EXPRESSION); - } - } - - @Override - public void setReferenceType(int referenceType) { - this.referenceType = referenceType; - } - - @Override - public void setSharedQualifier(int shared) { - this.sharedQualifier = shared; - } - - @Override - public boolean accept(ASTVisitor action) { - if (action.shouldVisitDeclSpecifiers) { - switch (action.visit(this)) { - case ASTVisitor.PROCESS_ABORT: - return false; - case ASTVisitor.PROCESS_SKIP: - return true; - default: - break; - } - } - if (getName() != null) - if (!getName().accept(action)) - return false; - if (blockSizeExpression != null) - if (!blockSizeExpression.accept(action)) - return false; - - if (action.shouldVisitDeclSpecifiers) { - switch (action.leave(this)) { - case ASTVisitor.PROCESS_ABORT: - return false; - case ASTVisitor.PROCESS_SKIP: - return true; - default: - break; - } - } - return true; - } - -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTEnumerationSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTEnumerationSpecifier.java deleted file mode 100644 index 6a29d094b2a..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTEnumerationSpecifier.java +++ /dev/null @@ -1,126 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.parser.upc.ast; - -import org.eclipse.cdt.core.dom.ast.ASTVisitor; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTEnumerationSpecifier; -import org.eclipse.cdt.internal.core.dom.parser.c.CASTEnumerationSpecifier; - -@SuppressWarnings("restriction") -public class UPCASTEnumerationSpecifier extends CASTEnumerationSpecifier implements IUPCASTEnumerationSpecifier { - - private int referenceType; - private int sharedQualifier; - private IASTExpression blockSizeExpression; - - public UPCASTEnumerationSpecifier() { - } - - public UPCASTEnumerationSpecifier(IASTName name) { - super(name); - } - - public UPCASTEnumerationSpecifier(IASTName name, IASTExpression blockSizeExpression) { - super(name); - setBlockSizeExpression(blockSizeExpression); - } - - @Override - public UPCASTEnumerationSpecifier copy() { - return copy(CopyStyle.withoutLocations); - } - - @Override - public UPCASTEnumerationSpecifier copy(CopyStyle style) { - UPCASTEnumerationSpecifier copy = new UPCASTEnumerationSpecifier(); - copy.referenceType = referenceType; - copy.sharedQualifier = sharedQualifier; - copy.setBlockSizeExpression(blockSizeExpression == null ? null : blockSizeExpression.copy(style)); - return copy(copy, style); - } - - @Override - public IASTExpression getBlockSizeExpression() { - return blockSizeExpression; - } - - @Override - public int getReferenceType() { - return referenceType; - } - - @Override - public int getSharedQualifier() { - return sharedQualifier; - } - - @Override - public void setBlockSizeExpression(IASTExpression expr) { - this.blockSizeExpression = expr; - if (expr != null) { - expr.setParent(this); - expr.setPropertyInParent(BLOCK_SIZE_EXPRESSION); - } - } - - @Override - public void setReferenceType(int referenceType) { - this.referenceType = referenceType; - } - - @Override - public void setSharedQualifier(int shared) { - this.sharedQualifier = shared; - } - - @Override - public boolean accept(ASTVisitor action) { - if (action.shouldVisitDeclSpecifiers) { - switch (action.visit(this)) { - case ASTVisitor.PROCESS_ABORT: - return false; - case ASTVisitor.PROCESS_SKIP: - return true; - default: - break; - } - } - if (getName() != null) - if (!getName().accept(action)) - return false; - if (blockSizeExpression != null) - if (!blockSizeExpression.accept(action)) - return false; - - IASTEnumerator[] etors = getEnumerators(); - for (int i = 0; i < etors.length; i++) { - if (!etors[i].accept(action)) - return false; - } - if (action.shouldVisitDeclSpecifiers) { - switch (action.leave(this)) { - case ASTVisitor.PROCESS_ABORT: - return false; - case ASTVisitor.PROCESS_SKIP: - return true; - default: - break; - } - } - return true; - } - -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTForallStatement.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTForallStatement.java deleted file mode 100644 index 6471b7e663c..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTForallStatement.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2014 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - * Sergey Prigogin (Google) - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.parser.upc.ast; - -import org.eclipse.cdt.core.dom.ast.ASTVisitor; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTStatement; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTForallStatement; -import org.eclipse.cdt.internal.core.dom.parser.c.CASTForStatement; - -@SuppressWarnings("restriction") -public class UPCASTForallStatement extends CASTForStatement implements IUPCASTForallStatement { - private IASTExpression affinity; - private boolean affinityContinue; - - public UPCASTForallStatement() { - } - - public UPCASTForallStatement(IASTStatement init, IASTExpression condition, IASTExpression iterationExpression, - IASTStatement body, IASTExpression affinity) { - super(init, condition, iterationExpression, body); - setAffinityExpression(affinity); - } - - @Override - public UPCASTForallStatement copy() { - return copy(CopyStyle.withoutLocations); - } - - @Override - public UPCASTForallStatement copy(CopyStyle style) { - UPCASTForallStatement copy = new UPCASTForallStatement(); - copy.setAffinityExpression(affinity == null ? null : affinity.copy(style)); - return copy(copy, style); - } - - @Override - public boolean isAffinityContinue() { - return affinityContinue; - } - - @Override - public IASTExpression getAffinityExpresiion() { - return affinity; - } - - @Override - public void setAffinityExpression(IASTExpression affinity) { - if (affinity != null) - this.affinityContinue = false; - this.affinity = affinity; - if (affinity != null) { - affinity.setParent(this); - affinity.setPropertyInParent(AFFINITY); - } - } - - @Override - public void setAffinityContinue(boolean affinityContinue) { - if (affinityContinue) - this.affinity = null; - this.affinityContinue = affinityContinue; - } - - @Override - public boolean accept(ASTVisitor visitor) { - if (visitor.shouldVisitStatements) { - switch (visitor.visit(this)) { - case ASTVisitor.PROCESS_ABORT: - return false; - case ASTVisitor.PROCESS_SKIP: - return true; - } - } - - if (!acceptByAttributeSpecifiers(visitor)) - return false; - - IASTStatement initializer = super.getInitializerStatement(); - if (initializer != null && !initializer.accept(visitor)) - return false; - - IASTExpression condition = super.getConditionExpression(); - if (condition != null && !condition.accept(visitor)) - return false; - - IASTExpression iteration = super.getIterationExpression(); - if (iteration != null && !iteration.accept(visitor)) - return false; - - if (affinity != null && !affinity.accept(visitor)) - return false; - - IASTStatement body = super.getBody(); - if (body != null && !body.accept(visitor)) - return false; - - if (visitor.shouldVisitStatements) { - switch (visitor.leave(this)) { - case ASTVisitor.PROCESS_ABORT: - return false; - case ASTVisitor.PROCESS_SKIP: - return true; - } - } - return true; - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTKeywordExpression.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTKeywordExpression.java deleted file mode 100644 index fe0d6768098..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTKeywordExpression.java +++ /dev/null @@ -1,93 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.parser.upc.ast; - -import org.eclipse.cdt.core.dom.ast.ASTVisitor; -import org.eclipse.cdt.core.dom.ast.IBasicType.Kind; -import org.eclipse.cdt.core.dom.ast.IType; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; -import org.eclipse.cdt.internal.core.dom.parser.ASTNode; -import org.eclipse.cdt.internal.core.dom.parser.c.CBasicType; - -@SuppressWarnings("restriction") -public class UPCASTKeywordExpression extends ASTNode implements IUPCASTKeywordExpression { - - private int keywordKind; - - public UPCASTKeywordExpression() { - } - - public UPCASTKeywordExpression(int keywordKind) { - this.keywordKind = keywordKind; - } - - @Override - public UPCASTKeywordExpression copy() { - return copy(CopyStyle.withoutLocations); - } - - @Override - public UPCASTKeywordExpression copy(CopyStyle style) { - UPCASTKeywordExpression copy = new UPCASTKeywordExpression(keywordKind); - return copy(copy, style); - } - - @Override - public int getKeywordKind() { - return keywordKind; - } - - @Override - public void setKeywordKind(int kind) { - this.keywordKind = kind; - - } - - @Override - public IType getExpressionType() { - return new CBasicType(Kind.eInt, 0, this); - } - - @Override - public boolean isLValue() { - return false; - } - - @Override - public ValueCategory getValueCategory() { - return ValueCategory.PRVALUE; - } - - @Override - public boolean accept(ASTVisitor visitor) { - if (visitor.shouldVisitExpressions) { - switch (visitor.visit(this)) { - case ASTVisitor.PROCESS_ABORT: - return false; - case ASTVisitor.PROCESS_SKIP: - return true; - } - } - if (visitor.shouldVisitExpressions) { - switch (visitor.leave(this)) { - case ASTVisitor.PROCESS_ABORT: - return false; - case ASTVisitor.PROCESS_SKIP: - return true; - } - } - return true; - } - -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTLayoutQualifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTLayoutQualifier.java deleted file mode 100644 index 78c1968d24a..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTLayoutQualifier.java +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.parser.upc.ast; - -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTLayoutQualifier; -import org.eclipse.cdt.internal.core.dom.parser.ASTNode; - -@SuppressWarnings("restriction") -public class UPCASTLayoutQualifier extends ASTNode implements IUPCASTLayoutQualifier { - - private boolean isPure; - private boolean isIndefinite; - private IASTExpression blockSizeExpression; - - @Override - public UPCASTLayoutQualifier copy() { - return copy(CopyStyle.withoutLocations); - } - - @Override - public UPCASTLayoutQualifier copy(CopyStyle style) { - UPCASTLayoutQualifier copy = new UPCASTLayoutQualifier(); - copy.isPure = isPure; - copy.isIndefinite = isIndefinite; - copy.setBlockSizeExpression(blockSizeExpression == null ? null : blockSizeExpression.copy(style)); - return copy(copy, style); - } - - @Override - public IASTExpression getBlockSizeExpression() { - return blockSizeExpression; - } - - @Override - public boolean isIndefiniteBlockAllocation() { - return isIndefinite; - } - - @Override - public boolean isPureBlockAllocation() { - return isPure; - } - - @Override - public void setBlockSizeExpression(IASTExpression expr) { - this.blockSizeExpression = expr; - } - - @Override - public void setIndefiniteBlockAllocation(boolean allocation) { - this.isIndefinite = allocation; - } - - @Override - public void setPureBlockAllocation(boolean allocation) { - this.isPure = allocation; - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSimpleDeclSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSimpleDeclSpecifier.java deleted file mode 100644 index 90c934a9e77..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSimpleDeclSpecifier.java +++ /dev/null @@ -1,112 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.parser.upc.ast; - -import org.eclipse.cdt.core.dom.ast.ASTVisitor; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSimpleDeclSpecifier; -import org.eclipse.cdt.internal.core.dom.parser.c.CASTSimpleDeclSpecifier; - -@SuppressWarnings("restriction") -public class UPCASTSimpleDeclSpecifier extends CASTSimpleDeclSpecifier implements IUPCASTSimpleDeclSpecifier { - - private int referenceType; - private int sharedQualifier; - private IASTExpression blockSizeExpression; - - public UPCASTSimpleDeclSpecifier() { - } - - public UPCASTSimpleDeclSpecifier(IASTExpression blockSizeExpression) { - setBlockSizeExpression(blockSizeExpression); - } - - @Override - public UPCASTSimpleDeclSpecifier copy() { - return copy(CopyStyle.withoutLocations); - } - - @Override - public UPCASTSimpleDeclSpecifier copy(CopyStyle style) { - UPCASTSimpleDeclSpecifier copy = new UPCASTSimpleDeclSpecifier(); - copy.referenceType = referenceType; - copy.sharedQualifier = sharedQualifier; - copy.setBlockSizeExpression(blockSizeExpression == null ? null : blockSizeExpression.copy(style)); - return copy(copy, style); - } - - @Override - public IASTExpression getBlockSizeExpression() { - return blockSizeExpression; - } - - @Override - public int getReferenceType() { - return referenceType; - } - - @Override - public int getSharedQualifier() { - return sharedQualifier; - } - - @Override - public void setBlockSizeExpression(IASTExpression expr) { - this.blockSizeExpression = expr; - if (expr != null) { - expr.setParent(this); - expr.setPropertyInParent(BLOCK_SIZE_EXPRESSION); - } - } - - @Override - public void setReferenceType(int referenceType) { - this.referenceType = referenceType; - } - - @Override - public void setSharedQualifier(int shared) { - this.sharedQualifier = shared; - } - - @Override - public boolean accept(ASTVisitor action) { - if (action.shouldVisitDeclSpecifiers) { - switch (action.visit(this)) { - case ASTVisitor.PROCESS_ABORT: - return false; - case ASTVisitor.PROCESS_SKIP: - return true; - default: - break; - } - } - if (blockSizeExpression != null) - if (!blockSizeExpression.accept(action)) - return false; - - if (action.shouldVisitDeclSpecifiers) { - switch (action.leave(this)) { - case ASTVisitor.PROCESS_ABORT: - return false; - case ASTVisitor.PROCESS_SKIP: - return true; - default: - break; - } - } - return true; - } - -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSynchronizationStatement.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSynchronizationStatement.java deleted file mode 100644 index b97fc33ce1a..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSynchronizationStatement.java +++ /dev/null @@ -1,98 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2014 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - * Sergey Prigogin (Google) - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.parser.upc.ast; - -import org.eclipse.cdt.core.dom.ast.ASTVisitor; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; -import org.eclipse.cdt.internal.core.dom.parser.ASTAttributeOwner; - -@SuppressWarnings("restriction") -public class UPCASTSynchronizationStatement extends ASTAttributeOwner implements IUPCASTSynchronizationStatement { - private int statmentKind; - private IASTExpression barrierExpression; - - public UPCASTSynchronizationStatement() { - } - - public UPCASTSynchronizationStatement(IASTExpression barrierExpression, int statmentKind) { - setBarrierExpression(barrierExpression); - this.statmentKind = statmentKind; - } - - @Override - public UPCASTSynchronizationStatement copy() { - return copy(CopyStyle.withoutLocations); - } - - @Override - public UPCASTSynchronizationStatement copy(CopyStyle style) { - UPCASTSynchronizationStatement copy = new UPCASTSynchronizationStatement(); - copy.statmentKind = statmentKind; - copy.setBarrierExpression(barrierExpression == null ? null : barrierExpression.copy(style)); - return copy(copy, style); - } - - @Override - public IASTExpression getBarrierExpression() { - return barrierExpression; - } - - @Override - public int getStatementKind() { - return statmentKind; - } - - @Override - public void setBarrierExpression(IASTExpression expr) { - this.barrierExpression = expr; - if (expr != null) { - expr.setParent(this); - expr.setPropertyInParent(BARRIER_EXPRESSION); - } - } - - @Override - public void setStatementKind(int kind) { - this.statmentKind = kind; - } - - @Override - public boolean accept(ASTVisitor visitor) { - if (visitor.shouldVisitStatements) { - switch (visitor.visit(this)) { - case ASTVisitor.PROCESS_ABORT: - return false; - case ASTVisitor.PROCESS_SKIP: - return true; - } - } - - if (!acceptByAttributeSpecifiers(visitor)) - return false; - if (barrierExpression != null && !barrierExpression.accept(visitor)) - return false; - - if (visitor.shouldVisitStatements) { - switch (visitor.leave(this)) { - case ASTVisitor.PROCESS_ABORT: - return false; - case ASTVisitor.PROCESS_SKIP: - return true; - } - } - return true; - } -} \ No newline at end of file diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypeIdSizeofExpression.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypeIdSizeofExpression.java deleted file mode 100644 index 70f523bb0c6..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypeIdSizeofExpression.java +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.parser.upc.ast; - -import org.eclipse.cdt.core.dom.ast.IASTTypeId; -import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTTypeIdSizeofExpression; -import org.eclipse.cdt.internal.core.dom.parser.c.CASTTypeIdExpression; - -@SuppressWarnings("restriction") -public class UPCASTTypeIdSizeofExpression extends CASTTypeIdExpression implements IUPCASTTypeIdSizeofExpression { - private int upcSizeofOperator; - - public UPCASTTypeIdSizeofExpression() { - this(null); - } - - public UPCASTTypeIdSizeofExpression(IASTTypeId typeId) { - super(IASTTypeIdExpression.op_sizeof, typeId); - } - - public UPCASTTypeIdSizeofExpression(int upcSizeofOperator, IASTTypeId typeId) { - super(IASTTypeIdExpression.op_sizeof, typeId); - this.upcSizeofOperator = upcSizeofOperator; - } - - @Override - public UPCASTTypeIdSizeofExpression copy() { - return copy(CopyStyle.withoutLocations); - } - - @Override - public UPCASTTypeIdSizeofExpression copy(CopyStyle style) { - UPCASTTypeIdSizeofExpression copy = new UPCASTTypeIdSizeofExpression(); - copy.setUPCSizeofOperator(upcSizeofOperator); - IASTTypeId typeId = getTypeId(); - copy.setTypeId(typeId == null ? null : typeId.copy(style)); - return copy(copy, style); - } - - @Override - public int getUPCSizeofOperator() { - return upcSizeofOperator; - } - - @Override - public void setUPCSizeofOperator(int upcSizeofOperator) { - this.upcSizeofOperator = upcSizeofOperator; - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypedefNameSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypedefNameSpecifier.java deleted file mode 100644 index 00063b0d064..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypedefNameSpecifier.java +++ /dev/null @@ -1,122 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.parser.upc.ast; - -import org.eclipse.cdt.core.dom.ast.ASTVisitor; -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTTypedefNameSpecifier; -import org.eclipse.cdt.internal.core.dom.parser.c.CASTTypedefNameSpecifier; - -@SuppressWarnings("restriction") -public class UPCASTTypedefNameSpecifier extends CASTTypedefNameSpecifier implements IUPCASTTypedefNameSpecifier { - - private int referenceType; - private int sharedQualifier; - private IASTExpression blockSizeExpression; - - public UPCASTTypedefNameSpecifier() { - } - - public UPCASTTypedefNameSpecifier(IASTName name) { - super(name); - } - - public UPCASTTypedefNameSpecifier(IASTName name, IASTExpression blockSizeExpression) { - super(name); - setBlockSizeExpression(blockSizeExpression); - } - - @Override - public UPCASTTypedefNameSpecifier copy() { - return copy(CopyStyle.withoutLocations); - } - - @Override - public UPCASTTypedefNameSpecifier copy(CopyStyle style) { - IASTName name = getName(); - UPCASTTypedefNameSpecifier copy = new UPCASTTypedefNameSpecifier(name == null ? null : name.copy(style)); - copy.referenceType = referenceType; - copy.sharedQualifier = sharedQualifier; - copy.setBlockSizeExpression(blockSizeExpression == null ? null : blockSizeExpression.copy(style)); - return copy(copy, style); - } - - @Override - public IASTExpression getBlockSizeExpression() { - return blockSizeExpression; - } - - @Override - public int getReferenceType() { - return referenceType; - } - - @Override - public int getSharedQualifier() { - return sharedQualifier; - } - - @Override - public void setBlockSizeExpression(IASTExpression expr) { - this.blockSizeExpression = expr; - if (expr != null) { - expr.setParent(this); - expr.setPropertyInParent(BLOCK_SIZE_EXPRESSION); - } - } - - @Override - public void setReferenceType(int referenceType) { - this.referenceType = referenceType; - } - - @Override - public void setSharedQualifier(int shared) { - this.sharedQualifier = shared; - } - - @Override - public boolean accept(ASTVisitor action) { - if (action.shouldVisitDeclSpecifiers) { - switch (action.visit(this)) { - case ASTVisitor.PROCESS_ABORT: - return false; - case ASTVisitor.PROCESS_SKIP: - return true; - default: - break; - } - } - if (getName() != null) - if (!getName().accept(action)) - return false; - if (blockSizeExpression != null) - if (!blockSizeExpression.accept(action)) - return false; - - if (action.shouldVisitDeclSpecifiers) { - switch (action.leave(this)) { - case ASTVisitor.PROCESS_ABORT: - return false; - case ASTVisitor.PROCESS_SKIP: - return true; - default: - break; - } - } - return true; - } - -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTUnarySizeofExpression.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTUnarySizeofExpression.java deleted file mode 100644 index 6d84b973adb..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTUnarySizeofExpression.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.dom.parser.upc.ast; - -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; -import org.eclipse.cdt.internal.core.dom.parser.c.CASTUnaryExpression; - -@SuppressWarnings("restriction") -public class UPCASTUnarySizeofExpression extends CASTUnaryExpression implements IUPCASTUnarySizeofExpression { - - private int upcSizeofOperator; - - public UPCASTUnarySizeofExpression() { - this(null); - } - - public UPCASTUnarySizeofExpression(IASTExpression operand) { - super(IASTUnaryExpression.op_sizeof, operand); - } - - public UPCASTUnarySizeofExpression(int upcSizeofOperator, IASTExpression operand) { - super(IASTUnaryExpression.op_sizeof, operand); - this.upcSizeofOperator = upcSizeofOperator; - } - - @Override - public UPCASTUnarySizeofExpression copy() { - return copy(CopyStyle.withoutLocations); - } - - @Override - public UPCASTUnarySizeofExpression copy(CopyStyle style) { - UPCASTUnarySizeofExpression copy = new UPCASTUnarySizeofExpression(); - copy.setUPCSizeofOperator(upcSizeofOperator); - IASTExpression operand = getOperand(); - copy.setOperand(operand == null ? null : operand.copy(style)); - return copy(copy, style); - } - - @Override - public int getUPCSizeofOperator() { - return upcSizeofOperator; - } - - @Override - public void setUPCSizeofOperator(int upcSizeofOperator) { - this.upcSizeofOperator = upcSizeofOperator; - } -} diff --git a/upc/org.eclipse.cdt.core.parser.upc/templates/default-templates.properties b/upc/org.eclipse.cdt.core.parser.upc/templates/default-templates.properties deleted file mode 100644 index c82ff2b8fed..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/templates/default-templates.properties +++ /dev/null @@ -1,17 +0,0 @@ -############################################################################### -# Copyright (c) 2007 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - - -forallLoop = upc_forall loop -upcMaxBlocksize = UPC_MAX_BLOCKSIZE keyword diff --git a/upc/org.eclipse.cdt.core.parser.upc/templates/default-templates.xml b/upc/org.eclipse.cdt.core.parser.upc/templates/default-templates.xml deleted file mode 100644 index 3fae38dd7c4..00000000000 --- a/upc/org.eclipse.cdt.core.parser.upc/templates/default-templates.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.classpath b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.classpath deleted file mode 100644 index c4a519dc515..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.project b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.project deleted file mode 100644 index f2fdffda5cc..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.project +++ /dev/null @@ -1,29 +0,0 @@ - - - org.eclipse.cdt.managedbuilder.bupc.ui - - - org.eclipse.ptp.pldt.upc_mine - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.settings/org.eclipse.jdt.core.prefs b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 2b6ecff8a01..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,464 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.cleanOutputFolder=clean -org.eclipse.jdt.core.builder.duplicateResourceTask=warning -org.eclipse.jdt.core.builder.invalidClasspath=abort -org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore -org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch, *.xtend -org.eclipse.jdt.core.circularClasspath=error -org.eclipse.jdt.core.classpath.exclusionPatterns=enabled -org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error -org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled -org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error -org.eclipse.jdt.core.codeComplete.argumentPrefixes= -org.eclipse.jdt.core.codeComplete.argumentSuffixes= -org.eclipse.jdt.core.codeComplete.fieldPrefixes= -org.eclipse.jdt.core.codeComplete.fieldSuffixes= -org.eclipse.jdt.core.codeComplete.localPrefixes= -org.eclipse.jdt.core.codeComplete.localSuffixes= -org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.8 -org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false -org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 -org.eclipse.jdt.core.formatter.align_type_members_on_columns=false -org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false -org.eclipse.jdt.core.formatter.align_with_spaces=false -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_assignment=0 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 -org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 -org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 -org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 -org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 -org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 -org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 -org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 -org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 -org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_after_package=1 -org.eclipse.jdt.core.formatter.blank_lines_before_field=0 -org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 -org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 -org.eclipse.jdt.core.formatter.blank_lines_before_method=1 -org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 -org.eclipse.jdt.core.formatter.blank_lines_before_package=0 -org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 -org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 -org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true -org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false -org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true -org.eclipse.jdt.core.formatter.comment.format_block_comments=false -org.eclipse.jdt.core.formatter.comment.format_header=false -org.eclipse.jdt.core.formatter.comment.format_html=true -org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false -org.eclipse.jdt.core.formatter.comment.format_line_comments=false -org.eclipse.jdt.core.formatter.comment.format_source_code=true -org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false -org.eclipse.jdt.core.formatter.comment.indent_root_tags=false -org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert -org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert -org.eclipse.jdt.core.formatter.comment.line_length=80 -org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true -org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true -org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false -org.eclipse.jdt.core.formatter.compact_else_if=true -org.eclipse.jdt.core.formatter.continuation_indentation=2 -org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 -org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off -org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on -org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false -org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true -org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_empty_lines=false -org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true -org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false -org.eclipse.jdt.core.formatter.indentation.size=4 -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert -org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert -org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert -org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.join_lines_in_comments=true -org.eclipse.jdt.core.formatter.join_wrapped_lines=true -org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false -org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false -org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false -org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false -org.eclipse.jdt.core.formatter.lineSplit=120 -org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false -org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false -org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 -org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 -org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines -org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true -org.eclipse.jdt.core.formatter.tabulation.char=tab -org.eclipse.jdt.core.formatter.tabulation.size=4 -org.eclipse.jdt.core.formatter.use_on_off_tags=true -org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false -org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true -org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true -org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true -org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true -org.eclipse.jdt.core.incompatibleJDKLevel=ignore -org.eclipse.jdt.core.incompleteClasspath=error -org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.settings/org.eclipse.jdt.launching.prefs b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.settings/org.eclipse.jdt.launching.prefs deleted file mode 100644 index f8a131b56e0..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.settings/org.eclipse.jdt.launching.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=warning -org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=warning diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.settings/org.eclipse.jdt.ui.prefs b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index e44576346c4..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,133 +0,0 @@ -cleanup.add_default_serial_version_id=true -cleanup.add_generated_serial_version_id=false -cleanup.add_missing_annotations=true -cleanup.add_missing_deprecated_annotations=true -cleanup.add_missing_methods=false -cleanup.add_missing_nls_tags=false -cleanup.add_missing_override_annotations=true -cleanup.add_missing_override_annotations_interface_methods=true -cleanup.add_serial_version_id=false -cleanup.always_use_blocks=true -cleanup.always_use_parentheses_in_expressions=false -cleanup.always_use_this_for_non_static_field_access=false -cleanup.always_use_this_for_non_static_method_access=false -cleanup.convert_functional_interfaces=false -cleanup.convert_to_enhanced_for_loop=false -cleanup.correct_indentation=false -cleanup.format_source_code=true -cleanup.format_source_code_changes_only=false -cleanup.insert_inferred_type_arguments=false -cleanup.make_local_variable_final=true -cleanup.make_parameters_final=false -cleanup.make_private_fields_final=true -cleanup.make_type_abstract_if_missing_method=false -cleanup.make_variable_declarations_final=false -cleanup.never_use_blocks=false -cleanup.never_use_parentheses_in_expressions=true -cleanup.organize_imports=true -cleanup.qualify_static_field_accesses_with_declaring_class=false -cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -cleanup.qualify_static_member_accesses_with_declaring_class=false -cleanup.qualify_static_method_accesses_with_declaring_class=false -cleanup.remove_private_constructors=true -cleanup.remove_redundant_modifiers=false -cleanup.remove_redundant_semicolons=true -cleanup.remove_redundant_type_arguments=true -cleanup.remove_trailing_whitespaces=true -cleanup.remove_trailing_whitespaces_all=true -cleanup.remove_trailing_whitespaces_ignore_empty=false -cleanup.remove_unnecessary_casts=true -cleanup.remove_unnecessary_nls_tags=false -cleanup.remove_unused_imports=true -cleanup.remove_unused_local_variables=false -cleanup.remove_unused_private_fields=true -cleanup.remove_unused_private_members=false -cleanup.remove_unused_private_methods=true -cleanup.remove_unused_private_types=true -cleanup.sort_members=false -cleanup.sort_members_all=false -cleanup.use_anonymous_class_creation=false -cleanup.use_blocks=false -cleanup.use_blocks_only_for_return_and_throw=false -cleanup.use_lambda=true -cleanup.use_parentheses_in_expressions=false -cleanup.use_this_for_non_static_field_access=false -cleanup.use_this_for_non_static_field_access_only_if_necessary=true -cleanup.use_this_for_non_static_method_access=false -cleanup.use_this_for_non_static_method_access_only_if_necessary=true -cleanup_profile=_CDT -cleanup_settings_version=2 -eclipse.preferences.version=1 -editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true -formatter_profile=_CDT -formatter_settings_version=14 -internal.default.compliance=user -org.eclipse.jdt.ui.exception.name=e -org.eclipse.jdt.ui.gettersetter.use.is=true -org.eclipse.jdt.ui.ignorelowercasenames=true -org.eclipse.jdt.ui.importorder=java;javax;org;com; -org.eclipse.jdt.ui.keywordthis=false -org.eclipse.jdt.ui.ondemandthreshold=1000 -org.eclipse.jdt.ui.overrideannotation=true -org.eclipse.jdt.ui.staticondemandthreshold=1000 -org.eclipse.jdt.ui.text.custom_code_templates= -sp_cleanup.add_default_serial_version_id=true -sp_cleanup.add_generated_serial_version_id=false -sp_cleanup.add_missing_annotations=true -sp_cleanup.add_missing_deprecated_annotations=true -sp_cleanup.add_missing_methods=false -sp_cleanup.add_missing_nls_tags=false -sp_cleanup.add_missing_override_annotations=true -sp_cleanup.add_missing_override_annotations_interface_methods=true -sp_cleanup.add_serial_version_id=false -sp_cleanup.always_use_blocks=true -sp_cleanup.always_use_parentheses_in_expressions=false -sp_cleanup.always_use_this_for_non_static_field_access=false -sp_cleanup.always_use_this_for_non_static_method_access=false -sp_cleanup.convert_functional_interfaces=false -sp_cleanup.convert_to_enhanced_for_loop=false -sp_cleanup.correct_indentation=false -sp_cleanup.format_source_code=true -sp_cleanup.format_source_code_changes_only=false -sp_cleanup.insert_inferred_type_arguments=false -sp_cleanup.make_local_variable_final=true -sp_cleanup.make_parameters_final=false -sp_cleanup.make_private_fields_final=true -sp_cleanup.make_type_abstract_if_missing_method=false -sp_cleanup.make_variable_declarations_final=false -sp_cleanup.never_use_blocks=false -sp_cleanup.never_use_parentheses_in_expressions=true -sp_cleanup.on_save_use_additional_actions=true -sp_cleanup.organize_imports=true -sp_cleanup.qualify_static_field_accesses_with_declaring_class=false -sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_with_declaring_class=false -sp_cleanup.qualify_static_method_accesses_with_declaring_class=false -sp_cleanup.remove_private_constructors=true -sp_cleanup.remove_redundant_modifiers=false -sp_cleanup.remove_redundant_semicolons=true -sp_cleanup.remove_redundant_type_arguments=true -sp_cleanup.remove_trailing_whitespaces=true -sp_cleanup.remove_trailing_whitespaces_all=true -sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true -sp_cleanup.remove_unnecessary_nls_tags=false -sp_cleanup.remove_unused_imports=true -sp_cleanup.remove_unused_local_variables=false -sp_cleanup.remove_unused_private_fields=true -sp_cleanup.remove_unused_private_members=false -sp_cleanup.remove_unused_private_methods=true -sp_cleanup.remove_unused_private_types=true -sp_cleanup.sort_members=false -sp_cleanup.sort_members_all=false -sp_cleanup.use_anonymous_class_creation=false -sp_cleanup.use_blocks=false -sp_cleanup.use_blocks_only_for_return_and_throw=false -sp_cleanup.use_lambda=true -sp_cleanup.use_parentheses_in_expressions=false -sp_cleanup.use_this_for_non_static_field_access=false -sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true -sp_cleanup.use_this_for_non_static_method_access=false -sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.settings/org.eclipse.ltk.core.refactoring.prefs b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.settings/org.eclipse.ltk.core.refactoring.prefs deleted file mode 100644 index 4594a5466d7..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.settings/org.eclipse.ltk.core.refactoring.prefs +++ /dev/null @@ -1,3 +0,0 @@ -#Tue May 26 16:43:18 EDT 2009 -eclipse.preferences.version=1 -org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.settings/org.eclipse.pde.api.tools.prefs b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.settings/org.eclipse.pde.api.tools.prefs deleted file mode 100644 index ec9fbf321d0..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.settings/org.eclipse.pde.api.tools.prefs +++ /dev/null @@ -1,184 +0,0 @@ -ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error -API_USE_SCAN_FIELD_SEVERITY=Error -API_USE_SCAN_METHOD_SEVERITY=Error -API_USE_SCAN_TYPE_SEVERITY=Error -CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_FIELD=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_ADDED_METHOD=Error -CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error -CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error -CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error -ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error -ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error -ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -FIELD_ELEMENT_TYPE_ADDED_VALUE=Error -FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error -FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error -FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error -ILLEGAL_EXTEND=Warning -ILLEGAL_IMPLEMENT=Warning -ILLEGAL_INSTANTIATE=Warning -ILLEGAL_OVERRIDE=Warning -ILLEGAL_REFERENCE=Warning -INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -INVALID_ANNOTATION=Ignore -INVALID_JAVADOC_TAG=Error -INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning -LEAK_EXTEND=Warning -LEAK_FIELD_DECL=Warning -LEAK_IMPLEMENT=Warning -LEAK_METHOD_PARAM=Warning -LEAK_METHOD_RETURN_TYPE=Warning -METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -MISSING_EE_DESCRIPTIONS=Warning -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -UNUSED_PROBLEM_FILTERS=Warning -automatically_removed_unused_problem_filters=false -changed_execution_env=Error -eclipse.preferences.version=1 -incompatible_api_component_version=Error -incompatible_api_component_version_include_major_without_breaking_change=Disabled -incompatible_api_component_version_include_minor_without_api_change=Disabled -incompatible_api_component_version_report_major_without_breaking_change=Warning -incompatible_api_component_version_report_minor_without_api_change=Warning -invalid_since_tag_version=Error -malformed_since_tag=Error -missing_since_tag=Error -report_api_breakage_when_major_version_incremented=Disabled -report_resolution_errors_api_component=Warning diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.settings/org.eclipse.pde.prefs b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.settings/org.eclipse.pde.prefs deleted file mode 100644 index d2dc703ba9e..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,35 +0,0 @@ -compilers.f.unresolved-features=1 -compilers.f.unresolved-plugins=1 -compilers.incompatible-environment=1 -compilers.p.build=1 -compilers.p.build.bin.includes=1 -compilers.p.build.encodings=2 -compilers.p.build.java.compiler=2 -compilers.p.build.java.compliance=1 -compilers.p.build.missing.output=2 -compilers.p.build.output.library=1 -compilers.p.build.source.library=1 -compilers.p.build.src.includes=1 -compilers.p.deprecated=1 -compilers.p.discouraged-class=1 -compilers.p.internal=1 -compilers.p.missing-packages=2 -compilers.p.missing-version-export-package=2 -compilers.p.missing-version-import-package=2 -compilers.p.missing-version-require-bundle=2 -compilers.p.no-required-att=0 -compilers.p.no.automatic.module=1 -compilers.p.not-externalized-att=1 -compilers.p.service.component.without.lazyactivation=1 -compilers.p.unknown-attribute=1 -compilers.p.unknown-class=1 -compilers.p.unknown-element=1 -compilers.p.unknown-identifier=1 -compilers.p.unknown-resource=1 -compilers.p.unresolved-ex-points=0 -compilers.p.unresolved-import=0 -compilers.s.create-docs=false -compilers.s.doc-folder=doc -compilers.s.open-tags=1 -compilers.use-project=true -eclipse.preferences.version=1 diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/META-INF/MANIFEST.MF b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/META-INF/MANIFEST.MF deleted file mode 100644 index 5f2521ae9bd..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/META-INF/MANIFEST.MF +++ /dev/null @@ -1,22 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %Bundle-Name -Bundle-SymbolicName: org.eclipse.cdt.managedbuilder.bupc.ui;singleton:=true -Bundle-Version: 1.0.200.qualifier -Bundle-ClassPath: org.eclipse.cdt.managedbuilder.bupc.ui -Bundle-Activator: org.eclipse.cdt.managedbuilder.bupc.ui.UPCWizardsPlugin -Require-Bundle: org.eclipse.cdt.ui, - org.eclipse.cdt.core, - org.eclipse.cdt.managedbuilder.core, - org.eclipse.cdt.core.parser.upc, - org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.ui.editors, - org.eclipse.core.resources -Import-Package: org.eclipse.cdt.ui.wizards, - org.eclipse.ui.wizards.newresource -Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Bundle-Vendor: %Bundle-Vendor -Bundle-Localization: plugin -Automatic-Module-Name: org.eclipse.cdt.managedbuilder.bupc.ui diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/about.html b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/about.html deleted file mode 100644 index 164f781a8fd..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/about.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    November 30, 2017

    -

    License

    - -

    - The Eclipse Foundation makes available all content in this plug-in - ("Content"). Unless otherwise indicated below, the Content - is provided to you under the terms and conditions of the Eclipse - Public License Version 2.0 ("EPL"). A copy of the EPL is - available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    - If you did not receive this Content directly from the Eclipse - Foundation, the Content is being redistributed by another party - ("Redistributor") and different terms and conditions may - apply to your use of any object code in the Content. Check the - Redistributor's license that was provided with the Content. If no such - license exists, contact the Redistributor. Unless otherwise indicated - below, the terms and conditions of the EPL still apply to any source - code in the Content and such source code may be obtained at http://www.eclipse.org. -

    - - - \ No newline at end of file diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/about.ini b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/about.ini deleted file mode 100644 index e07a7bb377e..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/about.ini +++ /dev/null @@ -1,24 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=cdt_logo_icon32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (translated) -# needed for primary features only - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/about.mappings b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/about.mappings deleted file mode 100644 index 936a8039c3e..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/about.mappings +++ /dev/null @@ -1,9 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -# The following should contain the build version. -# e.g. "0=20200106-1728" -# This value will be added automatically via the build scripts -0=${buildId} diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/about.properties b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/about.properties deleted file mode 100644 index b6925faf51d..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/about.properties +++ /dev/null @@ -1,32 +0,0 @@ -############################################################################### -# Copyright (c) 2010, 2020 Contributors to the Eclipse Foundation -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -############################################################################### -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# NOTE TO TRANSLATOR: Please do not translate the featureVersion variable. - - -blurb=C/C++ Berkeley UPC (Unified Parallel C) Toolchain Support\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -Copyright (c) 2010, 2020 Contributors to the Eclipse Foundation -\n\ -See the NOTICE file(s) distributed with this work for additional\n\ -information regarding copyright ownership.\n\ -\n\ -Visit http://www.eclipse.org/cdt diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/build.properties b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/build.properties deleted file mode 100644 index 386b370c500..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/build.properties +++ /dev/null @@ -1,14 +0,0 @@ -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - plugin.xml,\ - templates/,\ - build.properties,\ - about.html,\ - plugin.properties,\ - cdt_logo_icon32.png,\ - about.ini,\ - about.mappings,\ - about.properties -src.includes = about.html diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/cdt_logo_icon32.png b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/cdt_logo_icon32.png deleted file mode 100644 index 470ca81b327..00000000000 Binary files a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/cdt_logo_icon32.png and /dev/null differ diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/plugin.properties b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/plugin.properties deleted file mode 100644 index 451b1fd453f..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/plugin.properties +++ /dev/null @@ -1,79 +0,0 @@ -#Properties file for org.eclipse.cdt.managedbuilder.bupc.ui -extension.name = UPC toolchain -tool.compiler = Berkeley UPC Compiler - -optionCategory.compiler.general = General - -option.compiler.preprocess = Preprocess only (-E) -option.compiler.debug = Debug -option.compiler.opt = Generate optimized objects -option.compiler.opt.exp = Enable experimental UPC translator optimizations - -optionCategory.compiler.upc = UPC options -option.compiler.network = Network API -enumeratedOptionValue.default = Default -enumeratedOptionValue.mpi = MPI -enumeratedOptionValue.udp = UDP -enumeratedOptionValue.elan = ELAN -enumeratedOptionValue.lapi = IBM LAPI -enumeratedOptionValue.gm = Myrinet GM -enumeratedOptionValue.smp = SMP -enumeratedOptionValue.vapi = VAPI -enumeratedOptionValue.ibv = OpenIB -enumeratedOptionValue.sci = Dolphin SCI -enumeratedOptionValue.shmem = SHMEM -enumeratedOptionValue.portals = Cray XT Portals -enumeratedOptionValue.dcmf = BlueGene/P DCMF -option.compiler.sharedheap = -shared-heap= -option.compiler.fixedthreads = -T= - -optionCategory.compiler.symbols = Symbols -option.compiler.defsymbols = Defined symbols (-D) -option.compiler.undefsymbols = Undefined symbols (-U) - -optionCategory.compiler.dirs = Directories -option.compiler.incpath = Include paths (-I) - -optionCategory.compiler.advanced = Advanced options -option.compiler.pthreads = -pthreads= - -optionCategory.compiler.misc = Miscellaneous -option.compiler.other = Other options -option.compiler.verbose = Verbose (-v) -option.compiler.extraverbose = Extra verbose (-vv) - -inputType.upc = UPC sources -outputType.obj = Object Files - -tool.linker = Berkeley UPC Linker - -optionCategory.linker.general = General -option.linker.debug = Debug -option.linker.strip = Strip the symbolic information from the final executable - -optionCategory.linker.upc = UPC options -option.linker.network = Network API - -option.linker.sharedheap = -shared-heap= -option.linker.fixedthreads = -T= - -optionCategory.linker.libs = Libraries -option.linker.libs = Libraries (-l) -option.linker.libpaths = Library search path (-L) - -optionCategory.linker.advanced = Advanced options -option.linker.pthreads = -pthreads= -option.linker.other = Other options - -outputType.exe = Executables -toolChain.linux.name = Linux Berkeley UPC -toolChain.macosx.name = MacOSX Berkeley UPC -targetPlatform.name = Debug Platform - -configuration.debug.desc = Debug configuration -configuration.debug.name = Debug -configuration.release.desc = Release configuration -configuration.release.name = Release - -Bundle-Vendor = Eclipse CDT -Bundle-Name = Berkeley UPC Tool Chain \ No newline at end of file diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/plugin.xml b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/plugin.xml deleted file mode 100644 index 0c2510e5735..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/plugin.xml +++ /dev/null @@ -1,742 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/src/org/eclipse/cdt/managedbuilder/bupc/ui/UPCWizardsPlugin.java b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/src/org/eclipse/cdt/managedbuilder/bupc/ui/UPCWizardsPlugin.java deleted file mode 100644 index 4b658de93dd..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/src/org/eclipse/cdt/managedbuilder/bupc/ui/UPCWizardsPlugin.java +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2010, University of Florida and others. - * - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * Max Billingsley III - initial API and implementation - ****************************************************************************/ -package org.eclipse.cdt.managedbuilder.bupc.ui; - -import java.util.MissingResourceException; -import java.util.ResourceBundle; - -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; - -/** - * Based on plugin class for PLDT Wizards (MPI & OpenMP) - */ -public class UPCWizardsPlugin extends AbstractUIPlugin { - //The shared instance. - private static UPCWizardsPlugin plugin; - //Resource bundle. - private ResourceBundle resourceBundle; - - /** - * The constructor. - */ - public UPCWizardsPlugin() { - super(); - plugin = this; - } - - /** - * This method is called upon plug-in activation - */ - @Override - public void start(BundleContext context) throws Exception { - super.start(context); - } - - /** - * This method is called when the plug-in is stopped - */ - @Override - public void stop(BundleContext context) throws Exception { - super.stop(context); - plugin = null; - resourceBundle = null; - } - - /** - * Returns the shared instance. - */ - public static UPCWizardsPlugin getDefault() { - return plugin; - } - - /** - * Returns the string from the plugin's resource bundle, - * or 'key' if not found. - */ - public static String getResourceString(String key) { - ResourceBundle bundle = UPCWizardsPlugin.getDefault().getResourceBundle(); - try { - return (bundle != null) ? bundle.getString(key) : key; - } catch (MissingResourceException e) { - return key; - } - } - - /** - * Returns the plugin's resource bundle, - */ - public ResourceBundle getResourceBundle() { - try { - if (resourceBundle == null) - resourceBundle = ResourceBundle - .getBundle("org.eclipse.cdt.managedbuilder.ui.tests.TestsPluginResources"); //$NON-NLS-1$ - } catch (MissingResourceException x) { - resourceBundle = null; - } - return resourceBundle; - } - - /** - * Returns an image descriptor for the image file at the given - * plug-in relative path. - * - * @param path the path - * @return the image descriptor - */ - public static ImageDescriptor getImageDescriptor(String path) { - return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.cdt.managedbuilder.ui.tests", path); //$NON-NLS-1$ - } - - public static String getPluginId() { - return "org.eclipse.ptp.pldt.upc.wizard"; //$NON-NLS-1$ - } -} diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/templates/src/Basename.upc b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/templates/src/Basename.upc deleted file mode 100644 index e60a304291f..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/templates/src/Basename.upc +++ /dev/null @@ -1,15 +0,0 @@ -/* - ============================================================================ - Name : $(baseName).upc - Author : $(author) - Version : - Copyright : $(copyright) - Description : UPC Hello world program - ============================================================================ -*/ -#include - -int main(int argc, char *argv[]) { - printf("Hello, I am %d of %d.\n", MYTHREAD, THREADS); - return 0; -} diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/templates/template.properties b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/templates/template.properties deleted file mode 100644 index 772f31f9a80..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/templates/template.properties +++ /dev/null @@ -1,15 +0,0 @@ -HelloWorld.upcAnsitemplate.label=Hello World UPC Project -HelloWorld.CAnsitemplate.description=A skeletal Managed C Hello World project. Creates a folder for sources and another for include. -HelloWorld.basics.label=Basic Settings -HelloWorld.basics.description=Basic properties of a project -HelloWorld.author.label=Author -HelloWorld.author.description=Name of the author -HelloWorld.copyright.label=Copyright notice -HelloWorld.copyright.description=Your copyright notice -HelloWorld.copyright.default=Your copyright notice -HelloWorld.message.default=Hello UPC World -HelloWorld.message.description=Your hello world greeting message -HelloWorld.message.label=Hello world greeting -HelloWorld.sourceDir.label=Source -HelloWorld.sourceDir.description=Directory for hello world project source files -HelloWorld.sourceDir.default=src diff --git a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/templates/template.xml b/upc/org.eclipse.cdt.managedbuilder.bupc.ui/templates/template.xml deleted file mode 100644 index ed7f5cc94f5..00000000000 --- a/upc/org.eclipse.cdt.managedbuilder.bupc.ui/templates/template.xml +++ /dev/null @@ -1,65 +0,0 @@ - - \ No newline at end of file diff --git a/upc/pom.xml b/upc/pom.xml deleted file mode 100644 index 71ccb4e93e0..00000000000 --- a/upc/pom.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - 4.0.0 - - - org.eclipse.cdt - cdt-parent - 10.0.0-SNAPSHOT - - - org.eclipse.cdt.upc-parent - pom - diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.classpath b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.classpath deleted file mode 100644 index eca7bdba8f0..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.project b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.project deleted file mode 100644 index 78df19795f6..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.eclipse.cdt.core.lrparser.xlc.tests - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.settings/org.eclipse.jdt.core.prefs b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index ad05599159f..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,464 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.cleanOutputFolder=clean -org.eclipse.jdt.core.builder.duplicateResourceTask=warning -org.eclipse.jdt.core.builder.invalidClasspath=abort -org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore -org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch, *.xtend -org.eclipse.jdt.core.circularClasspath=error -org.eclipse.jdt.core.classpath.exclusionPatterns=enabled -org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error -org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled -org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error -org.eclipse.jdt.core.codeComplete.argumentPrefixes= -org.eclipse.jdt.core.codeComplete.argumentSuffixes= -org.eclipse.jdt.core.codeComplete.fieldPrefixes= -org.eclipse.jdt.core.codeComplete.fieldSuffixes= -org.eclipse.jdt.core.codeComplete.localPrefixes= -org.eclipse.jdt.core.codeComplete.localSuffixes= -org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=ignore -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore -org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore -org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.8 -org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false -org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 -org.eclipse.jdt.core.formatter.align_type_members_on_columns=false -org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false -org.eclipse.jdt.core.formatter.align_with_spaces=false -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_assignment=0 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 -org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 -org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 -org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 -org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 -org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 -org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 -org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 -org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 -org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_after_package=1 -org.eclipse.jdt.core.formatter.blank_lines_before_field=0 -org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 -org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 -org.eclipse.jdt.core.formatter.blank_lines_before_method=1 -org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 -org.eclipse.jdt.core.formatter.blank_lines_before_package=0 -org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 -org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 -org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true -org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false -org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true -org.eclipse.jdt.core.formatter.comment.format_block_comments=false -org.eclipse.jdt.core.formatter.comment.format_header=false -org.eclipse.jdt.core.formatter.comment.format_html=true -org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false -org.eclipse.jdt.core.formatter.comment.format_line_comments=false -org.eclipse.jdt.core.formatter.comment.format_source_code=true -org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false -org.eclipse.jdt.core.formatter.comment.indent_root_tags=false -org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert -org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert -org.eclipse.jdt.core.formatter.comment.line_length=80 -org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true -org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true -org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false -org.eclipse.jdt.core.formatter.compact_else_if=true -org.eclipse.jdt.core.formatter.continuation_indentation=2 -org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 -org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off -org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on -org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false -org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true -org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_empty_lines=false -org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true -org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false -org.eclipse.jdt.core.formatter.indentation.size=4 -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert -org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert -org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert -org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.join_lines_in_comments=true -org.eclipse.jdt.core.formatter.join_wrapped_lines=true -org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false -org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false -org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false -org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false -org.eclipse.jdt.core.formatter.lineSplit=120 -org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false -org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false -org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 -org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 -org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines -org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true -org.eclipse.jdt.core.formatter.tabulation.char=tab -org.eclipse.jdt.core.formatter.tabulation.size=4 -org.eclipse.jdt.core.formatter.use_on_off_tags=true -org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false -org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true -org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true -org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true -org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true -org.eclipse.jdt.core.incompatibleJDKLevel=ignore -org.eclipse.jdt.core.incompleteClasspath=error -org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.settings/org.eclipse.jdt.launching.prefs b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.settings/org.eclipse.jdt.launching.prefs deleted file mode 100644 index f8a131b56e0..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.settings/org.eclipse.jdt.launching.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=warning -org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=warning diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.settings/org.eclipse.jdt.ui.prefs b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index e44576346c4..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,133 +0,0 @@ -cleanup.add_default_serial_version_id=true -cleanup.add_generated_serial_version_id=false -cleanup.add_missing_annotations=true -cleanup.add_missing_deprecated_annotations=true -cleanup.add_missing_methods=false -cleanup.add_missing_nls_tags=false -cleanup.add_missing_override_annotations=true -cleanup.add_missing_override_annotations_interface_methods=true -cleanup.add_serial_version_id=false -cleanup.always_use_blocks=true -cleanup.always_use_parentheses_in_expressions=false -cleanup.always_use_this_for_non_static_field_access=false -cleanup.always_use_this_for_non_static_method_access=false -cleanup.convert_functional_interfaces=false -cleanup.convert_to_enhanced_for_loop=false -cleanup.correct_indentation=false -cleanup.format_source_code=true -cleanup.format_source_code_changes_only=false -cleanup.insert_inferred_type_arguments=false -cleanup.make_local_variable_final=true -cleanup.make_parameters_final=false -cleanup.make_private_fields_final=true -cleanup.make_type_abstract_if_missing_method=false -cleanup.make_variable_declarations_final=false -cleanup.never_use_blocks=false -cleanup.never_use_parentheses_in_expressions=true -cleanup.organize_imports=true -cleanup.qualify_static_field_accesses_with_declaring_class=false -cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -cleanup.qualify_static_member_accesses_with_declaring_class=false -cleanup.qualify_static_method_accesses_with_declaring_class=false -cleanup.remove_private_constructors=true -cleanup.remove_redundant_modifiers=false -cleanup.remove_redundant_semicolons=true -cleanup.remove_redundant_type_arguments=true -cleanup.remove_trailing_whitespaces=true -cleanup.remove_trailing_whitespaces_all=true -cleanup.remove_trailing_whitespaces_ignore_empty=false -cleanup.remove_unnecessary_casts=true -cleanup.remove_unnecessary_nls_tags=false -cleanup.remove_unused_imports=true -cleanup.remove_unused_local_variables=false -cleanup.remove_unused_private_fields=true -cleanup.remove_unused_private_members=false -cleanup.remove_unused_private_methods=true -cleanup.remove_unused_private_types=true -cleanup.sort_members=false -cleanup.sort_members_all=false -cleanup.use_anonymous_class_creation=false -cleanup.use_blocks=false -cleanup.use_blocks_only_for_return_and_throw=false -cleanup.use_lambda=true -cleanup.use_parentheses_in_expressions=false -cleanup.use_this_for_non_static_field_access=false -cleanup.use_this_for_non_static_field_access_only_if_necessary=true -cleanup.use_this_for_non_static_method_access=false -cleanup.use_this_for_non_static_method_access_only_if_necessary=true -cleanup_profile=_CDT -cleanup_settings_version=2 -eclipse.preferences.version=1 -editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true -formatter_profile=_CDT -formatter_settings_version=14 -internal.default.compliance=user -org.eclipse.jdt.ui.exception.name=e -org.eclipse.jdt.ui.gettersetter.use.is=true -org.eclipse.jdt.ui.ignorelowercasenames=true -org.eclipse.jdt.ui.importorder=java;javax;org;com; -org.eclipse.jdt.ui.keywordthis=false -org.eclipse.jdt.ui.ondemandthreshold=1000 -org.eclipse.jdt.ui.overrideannotation=true -org.eclipse.jdt.ui.staticondemandthreshold=1000 -org.eclipse.jdt.ui.text.custom_code_templates= -sp_cleanup.add_default_serial_version_id=true -sp_cleanup.add_generated_serial_version_id=false -sp_cleanup.add_missing_annotations=true -sp_cleanup.add_missing_deprecated_annotations=true -sp_cleanup.add_missing_methods=false -sp_cleanup.add_missing_nls_tags=false -sp_cleanup.add_missing_override_annotations=true -sp_cleanup.add_missing_override_annotations_interface_methods=true -sp_cleanup.add_serial_version_id=false -sp_cleanup.always_use_blocks=true -sp_cleanup.always_use_parentheses_in_expressions=false -sp_cleanup.always_use_this_for_non_static_field_access=false -sp_cleanup.always_use_this_for_non_static_method_access=false -sp_cleanup.convert_functional_interfaces=false -sp_cleanup.convert_to_enhanced_for_loop=false -sp_cleanup.correct_indentation=false -sp_cleanup.format_source_code=true -sp_cleanup.format_source_code_changes_only=false -sp_cleanup.insert_inferred_type_arguments=false -sp_cleanup.make_local_variable_final=true -sp_cleanup.make_parameters_final=false -sp_cleanup.make_private_fields_final=true -sp_cleanup.make_type_abstract_if_missing_method=false -sp_cleanup.make_variable_declarations_final=false -sp_cleanup.never_use_blocks=false -sp_cleanup.never_use_parentheses_in_expressions=true -sp_cleanup.on_save_use_additional_actions=true -sp_cleanup.organize_imports=true -sp_cleanup.qualify_static_field_accesses_with_declaring_class=false -sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_with_declaring_class=false -sp_cleanup.qualify_static_method_accesses_with_declaring_class=false -sp_cleanup.remove_private_constructors=true -sp_cleanup.remove_redundant_modifiers=false -sp_cleanup.remove_redundant_semicolons=true -sp_cleanup.remove_redundant_type_arguments=true -sp_cleanup.remove_trailing_whitespaces=true -sp_cleanup.remove_trailing_whitespaces_all=true -sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true -sp_cleanup.remove_unnecessary_nls_tags=false -sp_cleanup.remove_unused_imports=true -sp_cleanup.remove_unused_local_variables=false -sp_cleanup.remove_unused_private_fields=true -sp_cleanup.remove_unused_private_members=false -sp_cleanup.remove_unused_private_methods=true -sp_cleanup.remove_unused_private_types=true -sp_cleanup.sort_members=false -sp_cleanup.sort_members_all=false -sp_cleanup.use_anonymous_class_creation=false -sp_cleanup.use_blocks=false -sp_cleanup.use_blocks_only_for_return_and_throw=false -sp_cleanup.use_lambda=true -sp_cleanup.use_parentheses_in_expressions=false -sp_cleanup.use_this_for_non_static_field_access=false -sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true -sp_cleanup.use_this_for_non_static_method_access=false -sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.settings/org.eclipse.pde.api.tools.prefs b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.settings/org.eclipse.pde.api.tools.prefs deleted file mode 100644 index ec9fbf321d0..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.settings/org.eclipse.pde.api.tools.prefs +++ /dev/null @@ -1,184 +0,0 @@ -ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error -API_USE_SCAN_FIELD_SEVERITY=Error -API_USE_SCAN_METHOD_SEVERITY=Error -API_USE_SCAN_TYPE_SEVERITY=Error -CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_FIELD=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_ADDED_METHOD=Error -CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error -CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error -CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error -ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error -ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error -ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -FIELD_ELEMENT_TYPE_ADDED_VALUE=Error -FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error -FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error -FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error -ILLEGAL_EXTEND=Warning -ILLEGAL_IMPLEMENT=Warning -ILLEGAL_INSTANTIATE=Warning -ILLEGAL_OVERRIDE=Warning -ILLEGAL_REFERENCE=Warning -INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -INVALID_ANNOTATION=Ignore -INVALID_JAVADOC_TAG=Error -INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning -LEAK_EXTEND=Warning -LEAK_FIELD_DECL=Warning -LEAK_IMPLEMENT=Warning -LEAK_METHOD_PARAM=Warning -LEAK_METHOD_RETURN_TYPE=Warning -METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -MISSING_EE_DESCRIPTIONS=Warning -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -UNUSED_PROBLEM_FILTERS=Warning -automatically_removed_unused_problem_filters=false -changed_execution_env=Error -eclipse.preferences.version=1 -incompatible_api_component_version=Error -incompatible_api_component_version_include_major_without_breaking_change=Disabled -incompatible_api_component_version_include_minor_without_api_change=Disabled -incompatible_api_component_version_report_major_without_breaking_change=Warning -incompatible_api_component_version_report_minor_without_api_change=Warning -invalid_since_tag_version=Error -malformed_since_tag=Error -missing_since_tag=Error -report_api_breakage_when_major_version_incremented=Disabled -report_resolution_errors_api_component=Warning diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.settings/org.eclipse.pde.prefs b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.settings/org.eclipse.pde.prefs deleted file mode 100644 index 51a63ec9988..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,35 +0,0 @@ -compilers.f.unresolved-features=1 -compilers.f.unresolved-plugins=1 -compilers.incompatible-environment=1 -compilers.p.build=1 -compilers.p.build.bin.includes=1 -compilers.p.build.encodings=2 -compilers.p.build.java.compiler=2 -compilers.p.build.java.compliance=1 -compilers.p.build.missing.output=2 -compilers.p.build.output.library=1 -compilers.p.build.source.library=1 -compilers.p.build.src.includes=1 -compilers.p.deprecated=1 -compilers.p.discouraged-class=1 -compilers.p.internal=1 -compilers.p.missing-packages=2 -compilers.p.missing-version-export-package=2 -compilers.p.missing-version-import-package=2 -compilers.p.missing-version-require-bundle=2 -compilers.p.no-required-att=0 -compilers.p.no.automatic.module=1 -compilers.p.not-externalized-att=2 -compilers.p.service.component.without.lazyactivation=1 -compilers.p.unknown-attribute=1 -compilers.p.unknown-class=1 -compilers.p.unknown-element=1 -compilers.p.unknown-identifier=1 -compilers.p.unknown-resource=1 -compilers.p.unresolved-ex-points=0 -compilers.p.unresolved-import=0 -compilers.s.create-docs=false -compilers.s.doc-folder=doc -compilers.s.open-tags=1 -compilers.use-project=true -eclipse.preferences.version=1 diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/META-INF/MANIFEST.MF b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/META-INF/MANIFEST.MF deleted file mode 100644 index fb5b4056d09..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/META-INF/MANIFEST.MF +++ /dev/null @@ -1,19 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: Tests -Bundle-SymbolicName: org.eclipse.cdt.core.lrparser.xlc.tests -Bundle-Vendor: Eclipse CDT -Bundle-Version: 1.0.0.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Require-Bundle: org.junit, - org.eclipse.cdt.core.lrparser;bundle-version="5.1.0", - org.eclipse.cdt.core.lrparser.xlc;bundle-version="1.0.0", - org.eclipse.cdt.core.tests;bundle-version="5.1.0", - org.eclipse.cdt.core;bundle-version="5.1.0", - org.eclipse.cdt.core.lrparser.tests;bundle-version="5.1.0", - org.eclipse.core.runtime;bundle-version="3.5.0", - org.eclipse.core.resources;bundle-version="3.5.0" -Export-Package: org.eclipse.cdt.core.parser.xlc.tests, - org.eclipse.cdt.core.parser.xlc.tests.base, - org.eclipse.cdt.core.parser.xlc.tests.suite -Automatic-Module-Name: org.eclipse.cdt.core.lrparser.xlc.tests diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/about.html b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/about.html deleted file mode 100644 index 164f781a8fd..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/about.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    November 30, 2017

    -

    License

    - -

    - The Eclipse Foundation makes available all content in this plug-in - ("Content"). Unless otherwise indicated below, the Content - is provided to you under the terms and conditions of the Eclipse - Public License Version 2.0 ("EPL"). A copy of the EPL is - available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    - If you did not receive this Content directly from the Eclipse - Foundation, the Content is being redistributed by another party - ("Redistributor") and different terms and conditions may - apply to your use of any object code in the Content. Check the - Redistributor's license that was provided with the Content. If no such - license exists, contact the Redistributor. Unless otherwise indicated - below, the terms and conditions of the EPL still apply to any source - code in the Content and such source code may be obtained at http://www.eclipse.org. -

    - - - \ No newline at end of file diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/build.properties b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/build.properties deleted file mode 100644 index 765c0a2bea7..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/build.properties +++ /dev/null @@ -1,20 +0,0 @@ -############################################################################### -# Copyright (c) 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - about.html -src.includes = about.html 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 deleted file mode 100644 index 63d91e07771..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/VectorExtensionsTest.java +++ /dev/null @@ -1,146 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests; - -import org.eclipse.cdt.core.dom.ast.IASTCompoundStatement; -import org.eclipse.cdt.core.dom.ast.IASTDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTExpressionStatement; -import org.eclipse.cdt.core.dom.ast.IASTFunctionCallExpression; -import org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition; -import org.eclipse.cdt.core.dom.ast.IASTIdExpression; -import org.eclipse.cdt.core.dom.ast.IASTName; -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()); - } -} 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 deleted file mode 100644 index 59e08e4958c..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcExtensionsTest.java +++ /dev/null @@ -1,218 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -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"; - - parse(code, getCLanguage(), true); - parse(code, getCPPLanguage(), true); - } - - public void testFuncPredefinedIdentifier() { - 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"; - - parse(code, getCLanguage(), true); - parse(code, getCPPLanguage(), true); - } - - public void testLongLong() { - 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"; - - 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"; - - parse(code, getCLanguage(), true); - } - - public void testTrailingCommaInEnum() { - 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"; - - 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"; - - parse(code, getCLanguage(), true); - } - - public void testFunctionLikeMacrosVariableArguments() { - 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"; - - 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"; - - parse(code, getCLanguage(), true); - } - - public void testPredefinedMacroNamesCpp() { - 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"; - - parse(code, getCLanguage(), false); - } - - public void testPragma() { - 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"; - - parse(code, getCLanguage(), true); - } - - public void testLineDirective() { - 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) {} "; - - parse(code, getCLanguage(), true); - } - - public void testRestrictCPPOn() { - 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) {} "; - - 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 " + "}"; - - 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 "; - - 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"; - - 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" + "} "; - - 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 deleted file mode 100644 index 42a42ae5268..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcExtensionsTestSuite.java +++ /dev/null @@ -1,29 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests; - -import junit.framework.Test; -import junit.framework.TestSuite; - -public class XlcExtensionsTestSuite extends TestSuite { - - public static Test suite() { - 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 deleted file mode 100644 index 64a4fca6ddc..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcTestBase.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.lrparser.tests.ParseHelper; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestCase; - -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); - options.setCheckPreprocessorProblems(true); - options.setCheckBindings(checkBindings); - return ParseHelper.parse(code, language, options); - } - - 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 deleted file mode 100644 index b6bdfef9014..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcCompletionHangingTest.java +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRCompletionHangingTest; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; - -import junit.framework.TestSuite; - -public class XlcCompletionHangingTest extends LRCompletionHangingTest { - - public static TestSuite suite() { - return new TestSuite(XlcCompletionHangingTest.class); - } - - //TODO ??? overwrite some failed test cases - @Override - public void testCompletionTemplateClassForCPP() throws Exception { - } - - @Override - public void testCompletionGnuCPP() throws Exception { - } - - @Override - protected XlcCLanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - protected XlcCPPLanguage getCPPLanguage() { - 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"; - 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 deleted file mode 100644 index 47f0aa25cef..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPImplicitNameTests.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRCPPImplicitNameTests; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRCPPImplicitNameTests extends LRCPPImplicitNameTests { - public static TestSuite suite() { - return suite(XlcLRCPPImplicitNameTests.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index 9936cdfd898..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPSpecTest.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRCPPSpecTest; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRCPPSpecTest extends LRCPPSpecTest { - public static TestSuite suite() { - return suite(XlcLRCPPSpecTest.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index b9d4cbb7587..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPTests.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRCPPTests; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.parser.ParserLanguage; - -import junit.framework.TestSuite; - -public class XlcLRCPPTests extends LRCPPTests { - public static TestSuite suite() { - return suite(XlcLRCPPTests.class); - } - - //CDT_70_FIX_FROM_50-#9 - @Override - public void testStaticAssertions_294730() throws Exception { - String code = getAboveComment(); - code = code.replaceAll("static_assert", "__static_assert"); - parseAndCheckBindings(code, ParserLanguage.CPP); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index d6498da5229..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCSpecTests.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRCSpecTests; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRCSpecTests extends LRCSpecTests { - public static TestSuite suite() { - return suite(XlcLRCSpecTests.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index 6e0a818e472..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCommentTests.java +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRCommentTests; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRCommentTests extends LRCommentTests { - - public static TestSuite suite() { - return suite(XlcLRCommentTests.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index 9606a171601..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCompleteParser2Tests.java +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRCompleteParser2Tests; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRCompleteParser2Tests extends LRCompleteParser2Tests { - - public static TestSuite suite() { - return suite(XlcLRCompleteParser2Tests.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index 0a53f887e7b..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCompletionBasicTest.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRCompletionBasicTest; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRCompletionBasicTest extends LRCompletionBasicTest { - public static TestSuite suite() { - return suite(XlcLRCompletionBasicTest.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index a943b3032a0..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCompletionParseTest.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRCompletionParseTest; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRCompletionParseTest extends LRCompletionParseTest { - public static TestSuite suite() { - return new TestSuite(XlcLRCompletionParseTest.class); - } - - @Override - 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 deleted file mode 100644 index 2be4bce40ff..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDOMLocationMacroTests.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRDOMLocationMacroTests; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRDOMLocationMacroTests extends LRDOMLocationMacroTests { - public static TestSuite suite() { - return suite(XlcLRDOMLocationMacroTests.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index 9920a915e09..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDOMLocationTests.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRDOMLocationTests; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRDOMLocationTests extends LRDOMLocationTests { - public static TestSuite suite() { - return suite(XlcLRDOMLocationTests.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index 0ea3ab34d23..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDOMPreprocessorInformationTest.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRDOMPreprocessorInformationTest; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRDOMPreprocessorInformationTest extends LRDOMPreprocessorInformationTest { - public static TestSuite suite() { - return suite(XlcLRDOMPreprocessorInformationTest.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index bfb7b3083d3..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRDigraphTrigraphTests.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRDigraphTrigraphTests; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRDigraphTrigraphTests extends LRDigraphTrigraphTests { - - public static TestSuite suite() { - return new TestSuite(XlcLRDigraphTrigraphTests.class); - } - - @Override - 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 deleted file mode 100644 index 593c137e193..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRGCCCompleteParseExtensionsTest.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRGCCCompleteParseExtensionsTest; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRGCCCompleteParseExtensionsTest extends LRGCCCompleteParseExtensionsTest { - public static TestSuite suite() { - return suite(XlcLRGCCCompleteParseExtensionsTest.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index f21a19a567d..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRGCCTests.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRGCCTests; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRGCCTests extends LRGCCTests { - public static TestSuite suite() { - return suite(XlcLRGCCTests.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index f77ab28e359..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRImageLocationTests.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRImageLocationTests; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRImageLocationTests extends LRImageLocationTests { - public static TestSuite suite() { - return suite(XlcLRImageLocationTests.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index 4c39e6a024d..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRInactiveCodeTests.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRInactiveCodeTests; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRInactiveCodeTests extends LRInactiveCodeTests { - public static TestSuite suite() { - return suite(XlcLRInactiveCodeTests.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index 9e1f5d2957f..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRKnRTests.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRKnRTests; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRKnRTests extends LRKnRTests { - public static TestSuite suite() { - return suite(XlcLRKnRTests.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index 6d394b7e3f1..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRNodeSelectorTest.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRNodeSelectorTest; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRNodeSelectorTest extends LRNodeSelectorTest { - public static TestSuite suite() { - return suite(XlcLRNodeSelectorTest.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index 4db01c58b36..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRParserTestSuite.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -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 - // DOMSelectionParseTest - // GCCCompleteParseExtensionsTest - // 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()); - - } - }; - } -} 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 deleted file mode 100644 index 76538c7f922..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRQuickParser2Tests.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRQuickParser2Tests; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRQuickParser2Tests extends LRQuickParser2Tests { - public static TestSuite suite() { - return new TestSuite(XlcLRQuickParser2Tests.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index 0ac2dc498bb..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRSelectionParseTest.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRSelectionParseTest; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRSelectionParseTest extends LRSelectionParseTest { - - public XlcLRSelectionParseTest() { - } - - public XlcLRSelectionParseTest(String name) { - super(name); - } - - public static TestSuite suite() { - return new TestSuite(XlcLRSelectionParseTest.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index 051df1b1f7e..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRSemanticsTests.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRSemanticsTests; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRSemanticsTests extends LRSemanticsTests { - public static TestSuite suite() { - return suite(XlcLRSemanticsTests.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index b2998bdb60a..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRTaskParserTest.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRTaskParserTest; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRTaskParserTest extends LRTaskParserTest { - public static TestSuite suite() { - return suite(XlcLRTaskParserTest.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index d6f5e0fb11b..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRTemplateTests.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRTemplateTests; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRTemplateTests extends LRTemplateTests { - public static TestSuite suite() { - return suite(XlcLRTemplateTests.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index c8a2d9617d2..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRTests.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRTests; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRTests extends LRTests { - - public XlcLRTests(String name) { - super(name); - // TODO Auto-generated constructor stub - } - - public static TestSuite suite() { - return suite(XlcLRTests.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index 65d13626662..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRUtilOldTests.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRUtilOldTests; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRUtilOldTests extends LRUtilOldTests { - public static TestSuite suite() { - return suite(XlcLRUtilOldTests.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index c6076bddb4e..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRUtilTests.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.base; - -import org.eclipse.cdt.core.lrparser.tests.LRUtilTests; -import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; -import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; -import org.eclipse.cdt.core.model.ILanguage; - -import junit.framework.TestSuite; - -public class XlcLRUtilTests extends LRUtilTests { - public static TestSuite suite() { - return suite(XlcLRUtilTests.class); - } - - @Override - protected ILanguage getCLanguage() { - return XlcCLanguage.getDefault(); - } - - @Override - 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 deleted file mode 100644 index 9e612d97bc7..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/suite/AutomatedIntegrationSuite.java +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.parser.xlc.tests.suite; - -import org.eclipse.cdt.core.parser.xlc.tests.XlcExtensionsTestSuite; -import org.eclipse.cdt.core.parser.xlc.tests.base.XlcLRParserTestSuite; - -import junit.framework.Test; -import junit.framework.TestSuite; - -public class AutomatedIntegrationSuite extends TestSuite { - - public static Test suite() { - return new TestSuite() { - { - addTest(XlcExtensionsTestSuite.suite()); - addTest(XlcLRParserTestSuite.suite()); - } - }; - } -} diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/.classpath b/xlc/org.eclipse.cdt.core.lrparser.xlc/.classpath deleted file mode 100644 index a7e2cc574de..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/.classpath +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/.project b/xlc/org.eclipse.cdt.core.lrparser.xlc/.project deleted file mode 100644 index 3bfc968624b..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.eclipse.cdt.core.lrparser.xlc - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/.settings/org.eclipse.jdt.core.prefs b/xlc/org.eclipse.cdt.core.lrparser.xlc/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 2b6ecff8a01..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,464 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.cleanOutputFolder=clean -org.eclipse.jdt.core.builder.duplicateResourceTask=warning -org.eclipse.jdt.core.builder.invalidClasspath=abort -org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore -org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch, *.xtend -org.eclipse.jdt.core.circularClasspath=error -org.eclipse.jdt.core.classpath.exclusionPatterns=enabled -org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error -org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled -org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error -org.eclipse.jdt.core.codeComplete.argumentPrefixes= -org.eclipse.jdt.core.codeComplete.argumentSuffixes= -org.eclipse.jdt.core.codeComplete.fieldPrefixes= -org.eclipse.jdt.core.codeComplete.fieldSuffixes= -org.eclipse.jdt.core.codeComplete.localPrefixes= -org.eclipse.jdt.core.codeComplete.localSuffixes= -org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.8 -org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false -org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 -org.eclipse.jdt.core.formatter.align_type_members_on_columns=false -org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false -org.eclipse.jdt.core.formatter.align_with_spaces=false -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_assignment=0 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 -org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 -org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 -org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 -org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 -org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 -org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 -org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 -org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 -org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_after_package=1 -org.eclipse.jdt.core.formatter.blank_lines_before_field=0 -org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 -org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 -org.eclipse.jdt.core.formatter.blank_lines_before_method=1 -org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 -org.eclipse.jdt.core.formatter.blank_lines_before_package=0 -org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 -org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 -org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true -org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false -org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true -org.eclipse.jdt.core.formatter.comment.format_block_comments=false -org.eclipse.jdt.core.formatter.comment.format_header=false -org.eclipse.jdt.core.formatter.comment.format_html=true -org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false -org.eclipse.jdt.core.formatter.comment.format_line_comments=false -org.eclipse.jdt.core.formatter.comment.format_source_code=true -org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false -org.eclipse.jdt.core.formatter.comment.indent_root_tags=false -org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert -org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert -org.eclipse.jdt.core.formatter.comment.line_length=80 -org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true -org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true -org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false -org.eclipse.jdt.core.formatter.compact_else_if=true -org.eclipse.jdt.core.formatter.continuation_indentation=2 -org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 -org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off -org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on -org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false -org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true -org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_empty_lines=false -org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true -org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false -org.eclipse.jdt.core.formatter.indentation.size=4 -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert -org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert -org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert -org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.join_lines_in_comments=true -org.eclipse.jdt.core.formatter.join_wrapped_lines=true -org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false -org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false -org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false -org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false -org.eclipse.jdt.core.formatter.lineSplit=120 -org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false -org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false -org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 -org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 -org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines -org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true -org.eclipse.jdt.core.formatter.tabulation.char=tab -org.eclipse.jdt.core.formatter.tabulation.size=4 -org.eclipse.jdt.core.formatter.use_on_off_tags=true -org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false -org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true -org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true -org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true -org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true -org.eclipse.jdt.core.incompatibleJDKLevel=ignore -org.eclipse.jdt.core.incompleteClasspath=error -org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/.settings/org.eclipse.jdt.launching.prefs b/xlc/org.eclipse.cdt.core.lrparser.xlc/.settings/org.eclipse.jdt.launching.prefs deleted file mode 100644 index f8a131b56e0..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/.settings/org.eclipse.jdt.launching.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=warning -org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=warning diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/.settings/org.eclipse.jdt.ui.prefs b/xlc/org.eclipse.cdt.core.lrparser.xlc/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index e44576346c4..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,133 +0,0 @@ -cleanup.add_default_serial_version_id=true -cleanup.add_generated_serial_version_id=false -cleanup.add_missing_annotations=true -cleanup.add_missing_deprecated_annotations=true -cleanup.add_missing_methods=false -cleanup.add_missing_nls_tags=false -cleanup.add_missing_override_annotations=true -cleanup.add_missing_override_annotations_interface_methods=true -cleanup.add_serial_version_id=false -cleanup.always_use_blocks=true -cleanup.always_use_parentheses_in_expressions=false -cleanup.always_use_this_for_non_static_field_access=false -cleanup.always_use_this_for_non_static_method_access=false -cleanup.convert_functional_interfaces=false -cleanup.convert_to_enhanced_for_loop=false -cleanup.correct_indentation=false -cleanup.format_source_code=true -cleanup.format_source_code_changes_only=false -cleanup.insert_inferred_type_arguments=false -cleanup.make_local_variable_final=true -cleanup.make_parameters_final=false -cleanup.make_private_fields_final=true -cleanup.make_type_abstract_if_missing_method=false -cleanup.make_variable_declarations_final=false -cleanup.never_use_blocks=false -cleanup.never_use_parentheses_in_expressions=true -cleanup.organize_imports=true -cleanup.qualify_static_field_accesses_with_declaring_class=false -cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -cleanup.qualify_static_member_accesses_with_declaring_class=false -cleanup.qualify_static_method_accesses_with_declaring_class=false -cleanup.remove_private_constructors=true -cleanup.remove_redundant_modifiers=false -cleanup.remove_redundant_semicolons=true -cleanup.remove_redundant_type_arguments=true -cleanup.remove_trailing_whitespaces=true -cleanup.remove_trailing_whitespaces_all=true -cleanup.remove_trailing_whitespaces_ignore_empty=false -cleanup.remove_unnecessary_casts=true -cleanup.remove_unnecessary_nls_tags=false -cleanup.remove_unused_imports=true -cleanup.remove_unused_local_variables=false -cleanup.remove_unused_private_fields=true -cleanup.remove_unused_private_members=false -cleanup.remove_unused_private_methods=true -cleanup.remove_unused_private_types=true -cleanup.sort_members=false -cleanup.sort_members_all=false -cleanup.use_anonymous_class_creation=false -cleanup.use_blocks=false -cleanup.use_blocks_only_for_return_and_throw=false -cleanup.use_lambda=true -cleanup.use_parentheses_in_expressions=false -cleanup.use_this_for_non_static_field_access=false -cleanup.use_this_for_non_static_field_access_only_if_necessary=true -cleanup.use_this_for_non_static_method_access=false -cleanup.use_this_for_non_static_method_access_only_if_necessary=true -cleanup_profile=_CDT -cleanup_settings_version=2 -eclipse.preferences.version=1 -editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true -formatter_profile=_CDT -formatter_settings_version=14 -internal.default.compliance=user -org.eclipse.jdt.ui.exception.name=e -org.eclipse.jdt.ui.gettersetter.use.is=true -org.eclipse.jdt.ui.ignorelowercasenames=true -org.eclipse.jdt.ui.importorder=java;javax;org;com; -org.eclipse.jdt.ui.keywordthis=false -org.eclipse.jdt.ui.ondemandthreshold=1000 -org.eclipse.jdt.ui.overrideannotation=true -org.eclipse.jdt.ui.staticondemandthreshold=1000 -org.eclipse.jdt.ui.text.custom_code_templates= -sp_cleanup.add_default_serial_version_id=true -sp_cleanup.add_generated_serial_version_id=false -sp_cleanup.add_missing_annotations=true -sp_cleanup.add_missing_deprecated_annotations=true -sp_cleanup.add_missing_methods=false -sp_cleanup.add_missing_nls_tags=false -sp_cleanup.add_missing_override_annotations=true -sp_cleanup.add_missing_override_annotations_interface_methods=true -sp_cleanup.add_serial_version_id=false -sp_cleanup.always_use_blocks=true -sp_cleanup.always_use_parentheses_in_expressions=false -sp_cleanup.always_use_this_for_non_static_field_access=false -sp_cleanup.always_use_this_for_non_static_method_access=false -sp_cleanup.convert_functional_interfaces=false -sp_cleanup.convert_to_enhanced_for_loop=false -sp_cleanup.correct_indentation=false -sp_cleanup.format_source_code=true -sp_cleanup.format_source_code_changes_only=false -sp_cleanup.insert_inferred_type_arguments=false -sp_cleanup.make_local_variable_final=true -sp_cleanup.make_parameters_final=false -sp_cleanup.make_private_fields_final=true -sp_cleanup.make_type_abstract_if_missing_method=false -sp_cleanup.make_variable_declarations_final=false -sp_cleanup.never_use_blocks=false -sp_cleanup.never_use_parentheses_in_expressions=true -sp_cleanup.on_save_use_additional_actions=true -sp_cleanup.organize_imports=true -sp_cleanup.qualify_static_field_accesses_with_declaring_class=false -sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_with_declaring_class=false -sp_cleanup.qualify_static_method_accesses_with_declaring_class=false -sp_cleanup.remove_private_constructors=true -sp_cleanup.remove_redundant_modifiers=false -sp_cleanup.remove_redundant_semicolons=true -sp_cleanup.remove_redundant_type_arguments=true -sp_cleanup.remove_trailing_whitespaces=true -sp_cleanup.remove_trailing_whitespaces_all=true -sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true -sp_cleanup.remove_unnecessary_nls_tags=false -sp_cleanup.remove_unused_imports=true -sp_cleanup.remove_unused_local_variables=false -sp_cleanup.remove_unused_private_fields=true -sp_cleanup.remove_unused_private_members=false -sp_cleanup.remove_unused_private_methods=true -sp_cleanup.remove_unused_private_types=true -sp_cleanup.sort_members=false -sp_cleanup.sort_members_all=false -sp_cleanup.use_anonymous_class_creation=false -sp_cleanup.use_blocks=false -sp_cleanup.use_blocks_only_for_return_and_throw=false -sp_cleanup.use_lambda=true -sp_cleanup.use_parentheses_in_expressions=false -sp_cleanup.use_this_for_non_static_field_access=false -sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true -sp_cleanup.use_this_for_non_static_method_access=false -sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/.settings/org.eclipse.pde.api.tools.prefs b/xlc/org.eclipse.cdt.core.lrparser.xlc/.settings/org.eclipse.pde.api.tools.prefs deleted file mode 100644 index ec9fbf321d0..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/.settings/org.eclipse.pde.api.tools.prefs +++ /dev/null @@ -1,184 +0,0 @@ -ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error -API_USE_SCAN_FIELD_SEVERITY=Error -API_USE_SCAN_METHOD_SEVERITY=Error -API_USE_SCAN_TYPE_SEVERITY=Error -CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_FIELD=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_ADDED_METHOD=Error -CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error -CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error -CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error -ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error -ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error -ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -FIELD_ELEMENT_TYPE_ADDED_VALUE=Error -FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error -FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error -FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error -ILLEGAL_EXTEND=Warning -ILLEGAL_IMPLEMENT=Warning -ILLEGAL_INSTANTIATE=Warning -ILLEGAL_OVERRIDE=Warning -ILLEGAL_REFERENCE=Warning -INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -INVALID_ANNOTATION=Ignore -INVALID_JAVADOC_TAG=Error -INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning -LEAK_EXTEND=Warning -LEAK_FIELD_DECL=Warning -LEAK_IMPLEMENT=Warning -LEAK_METHOD_PARAM=Warning -LEAK_METHOD_RETURN_TYPE=Warning -METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -MISSING_EE_DESCRIPTIONS=Warning -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -UNUSED_PROBLEM_FILTERS=Warning -automatically_removed_unused_problem_filters=false -changed_execution_env=Error -eclipse.preferences.version=1 -incompatible_api_component_version=Error -incompatible_api_component_version_include_major_without_breaking_change=Disabled -incompatible_api_component_version_include_minor_without_api_change=Disabled -incompatible_api_component_version_report_major_without_breaking_change=Warning -incompatible_api_component_version_report_minor_without_api_change=Warning -invalid_since_tag_version=Error -malformed_since_tag=Error -missing_since_tag=Error -report_api_breakage_when_major_version_incremented=Disabled -report_resolution_errors_api_component=Warning diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/.settings/org.eclipse.pde.prefs b/xlc/org.eclipse.cdt.core.lrparser.xlc/.settings/org.eclipse.pde.prefs deleted file mode 100644 index d2dc703ba9e..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,35 +0,0 @@ -compilers.f.unresolved-features=1 -compilers.f.unresolved-plugins=1 -compilers.incompatible-environment=1 -compilers.p.build=1 -compilers.p.build.bin.includes=1 -compilers.p.build.encodings=2 -compilers.p.build.java.compiler=2 -compilers.p.build.java.compliance=1 -compilers.p.build.missing.output=2 -compilers.p.build.output.library=1 -compilers.p.build.source.library=1 -compilers.p.build.src.includes=1 -compilers.p.deprecated=1 -compilers.p.discouraged-class=1 -compilers.p.internal=1 -compilers.p.missing-packages=2 -compilers.p.missing-version-export-package=2 -compilers.p.missing-version-import-package=2 -compilers.p.missing-version-require-bundle=2 -compilers.p.no-required-att=0 -compilers.p.no.automatic.module=1 -compilers.p.not-externalized-att=1 -compilers.p.service.component.without.lazyactivation=1 -compilers.p.unknown-attribute=1 -compilers.p.unknown-class=1 -compilers.p.unknown-element=1 -compilers.p.unknown-identifier=1 -compilers.p.unknown-resource=1 -compilers.p.unresolved-ex-points=0 -compilers.p.unresolved-import=0 -compilers.s.create-docs=false -compilers.s.doc-folder=doc -compilers.s.open-tags=1 -compilers.use-project=true -eclipse.preferences.version=1 diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/META-INF/MANIFEST.MF b/xlc/org.eclipse.cdt.core.lrparser.xlc/META-INF/MANIFEST.MF deleted file mode 100644 index db79790d4ef..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/META-INF/MANIFEST.MF +++ /dev/null @@ -1,26 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %Bundle-Name.1 -Bundle-SymbolicName: org.eclipse.cdt.core.lrparser.xlc;singleton:=true -Bundle-Version: 5.1.100.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Bundle-Localization: plugin -Require-Bundle: org.eclipse.cdt.core;bundle-version="5.1.0", - org.eclipse.cdt.core.lrparser;bundle-version="5.1.0", - org.eclipse.core.runtime;bundle-version="3.5.0", - org.eclipse.core.resources;bundle-version="3.5.0", - org.eclipse.cdt.ui;bundle-version="5.1.0", - org.eclipse.ui;bundle-version="3.5.0" -Export-Package: org.eclipse.cdt.core.lrparser.xlc, - org.eclipse.cdt.core.lrparser.xlc.action, - org.eclipse.cdt.core.lrparser.xlc.activator, - org.eclipse.cdt.core.lrparser.xlc.ast, - org.eclipse.cdt.core.lrparser.xlc.preferences, - org.eclipse.cdt.internal.core.lrparser.xlc.ast, - org.eclipse.cdt.internal.core.lrparser.xlc.c, - org.eclipse.cdt.internal.core.lrparser.xlc.cpp, - org.eclipse.cdt.internal.core.lrparser.xlc.ui.preferences -Bundle-ActivationPolicy: lazy -Bundle-Activator: org.eclipse.cdt.core.lrparser.xlc.activator.XlcParserPlugin -Bundle-Vendor: %Bundle-Vendor.0 -Automatic-Module-Name: org.eclipse.cdt.core.lrparser.xlc diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/about.html b/xlc/org.eclipse.cdt.core.lrparser.xlc/about.html deleted file mode 100644 index 164f781a8fd..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/about.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    November 30, 2017

    -

    License

    - -

    - The Eclipse Foundation makes available all content in this plug-in - ("Content"). Unless otherwise indicated below, the Content - is provided to you under the terms and conditions of the Eclipse - Public License Version 2.0 ("EPL"). A copy of the EPL is - available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    - If you did not receive this Content directly from the Eclipse - Foundation, the Content is being redistributed by another party - ("Redistributor") and different terms and conditions may - apply to your use of any object code in the Content. Check the - Redistributor's license that was provided with the Content. If no such - license exists, contact the Redistributor. Unless otherwise indicated - below, the terms and conditions of the EPL still apply to any source - code in the Content and such source code may be obtained at http://www.eclipse.org. -

    - - - \ No newline at end of file diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/build.properties b/xlc/org.eclipse.cdt.core.lrparser.xlc/build.properties deleted file mode 100644 index e27218e5989..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/build.properties +++ /dev/null @@ -1,23 +0,0 @@ -############################################################################### -# Copyright (c) 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -source.. = parser/,\ - ui/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - plugin.xml,\ - plugin.properties,\ - about.html -src.includes = about.html diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/build.xml b/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/build.xml deleted file mode 100644 index 8b6cc550cb0..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/build.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/parserBuild.properties b/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/parserBuild.properties deleted file mode 100644 index 819371e3704..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/parserBuild.properties +++ /dev/null @@ -1,17 +0,0 @@ -############################################################################### -# Copyright (c) 2010 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -lpg_exe=D:/lpg/lpgdistribution/lpgexe/lpg.exe -lpg_template=D:/newWorkspace/rdp80_dev/org.eclipse.cdt.core.lrparser/grammar/template -lpg_include_loc=D:/newWorkspace/rdp80_dev/org.eclipse.cdt.core.lrparser/grammar \ No newline at end of file diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcCPPParser.g b/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcCPPParser.g deleted file mode 100644 index 17216a75493..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcCPPParser.g +++ /dev/null @@ -1,110 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2009, 2010 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.lrparser.xlc.cpp -%options template=LRParserTemplate.g - - -$Import - GPPGrammar.g -$End - -$Import - XlcGrammarExtensions.g -$End - -$Globals -/. - import org.eclipse.cdt.core.lrparser.xlc.action.XlcCPPBuildASTParserAction; - import org.eclipse.cdt.core.dom.lrparser.action.gnu.GPPSecondaryParserFactory; - import org.eclipse.cdt.internal.core.lrparser.xlc.ast.XlcCPPNodeFactory; -./ -$End - -$Define - - $build_action_class /. XlcCPPBuildASTParserAction ./ - $parser_factory_create_expression /. GPPSecondaryParserFactory.getDefault() ./ - $node_factory_create_expression /. XlcCPPNodeFactory.getDefault() ./ - -$End - - - -$Terminals - - restrict - -$End - - -$Start - translation_unit -$End - - -$Rules - - -cv_qualifier - ::= 'restrict' - -block_declaration - ::= vector_declaration - | static_assert_declaration - - -identifier_token - ::= 'vector' - | 'pixel' - - -specifier_qualifier - ::= 'typedef' - /. $Build consumeToken(); $EndBuild ./ - - -array_modifier - ::= '[' array_modifier_type_qualifiers ']' - /. $Build consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); $EndBuild ./ - | '[' array_modifier_type_qualifiers assignment_expression ']' - /. $Build consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); $EndBuild ./ - | '[' 'static' assignment_expression ']' - /. $Build consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); $EndBuild ./ - | '[' 'static' array_modifier_type_qualifiers assignment_expression ']' - /. $Build consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); $EndBuild ./ - | '[' array_modifier_type_qualifiers 'static' assignment_expression ']' - /. $Build consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); $EndBuild ./ - | '[' '*' ']' - /. $Build consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); $EndBuild ./ - | '[' array_modifier_type_qualifiers '*' ']' - /. $Build consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); $EndBuild ./ - - -array_modifier_type_qualifiers - ::= type_qualifier_list - -type_qualifier_list - ::= cv_qualifier - | type_qualifier_list cv_qualifier - -member_declaration - ::= static_assert_declaration - -static_assert_declaration - ::= '__static_assert' '(' expression ',' literal ')' ';' - /. $Build consumeCPPASTStaticAssertDeclaration(); $EndBuild ./ - - -$End \ No newline at end of file diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcCParser.g b/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcCParser.g deleted file mode 100644 index 3f625389e77..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcCParser.g +++ /dev/null @@ -1,69 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2009 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - -%options la=2 -%options package=org.eclipse.cdt.internal.core.lrparser.xlc.c -%options template=LRParserTemplate.g - - -$Import - GCCGrammar.g -$End - -$Import - XlcGrammarExtensions.g -$End - - -$Globals -/. - import org.eclipse.cdt.core.lrparser.xlc.action.XlcCBuildASTParserAction; - import org.eclipse.cdt.core.dom.lrparser.action.gnu.GCCSecondaryParserFactory; - import org.eclipse.cdt.internal.core.lrparser.xlc.ast.XlcCNodeFactory; -./ -$End - - -$Define - - $build_action_class /. XlcCBuildASTParserAction ./ - $parser_factory_create_expression /. GCCSecondaryParserFactory.getDefault() ./ - $node_factory_create_expression /. XlcCNodeFactory.getDefault() ./ - -$End - - -$Start - translation_unit -$End - - -$Rules - -declaration - ::= vector_declaration - -identifier_token - ::= 'pixel' - | 'vector' - | 'bool' - -declarator_id_name - ::= 'pixel' - /. $Build consumeIdentifierName(); $EndBuild ./ - | 'vector' - /. $Build consumeIdentifierName(); $EndBuild ./ - | 'bool' - /. $Build consumeIdentifierName(); $EndBuild ./ - -$End \ No newline at end of file diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcGrammarExtensions.g b/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcGrammarExtensions.g deleted file mode 100644 index 96508f17d54..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcGrammarExtensions.g +++ /dev/null @@ -1,97 +0,0 @@ ------------------------------------------------------------------------------------ --- Copyright (c) 2009, 2010 IBM Corporation and others. --- This program and the accompanying materials --- are made available under the terms of the Eclipse Public License 2.0 --- which accompanies this distribution, and is available at --- https://www.eclipse.org/legal/epl-2.0/ --- --- SPDX-License-Identifier: EPL-2.0 --- --- Contributors: --- IBM Corporation - initial API and implementation ------------------------------------------------------------------------------------ - - --- These are additional rules that allow for parsing of GNU extensions. --- This file is intended to be mixed-in with C99Parser.g or GPPParser.g - - -$Terminals - - vector - pixel - bool - - _Decimal32 - _Decimal64 - _Decimal128 - __static_assert - -$End - - - - - -$Rules - - - -simple_type_specifier_token - ::= '_Decimal32' - | '_Decimal64' - | '_Decimal128' - - -type_id - ::= vector_type - /. $Build consumeTypeId(false); $EndBuild ./ - | vector_type abstract_declarator - /. $Build consumeTypeId(true); $EndBuild ./ - -vector_declaration - ::= vector_type init_declarator_list ';' - /. $Build consumeDeclarationSimple(true); $EndBuild ./ - - -vector_type - ::= no_type_declaration_specifiers_opt 'vector' vector_type_specifier all_specifier_qualifier_list_opt - /. $Build consumeVectorTypeSpecifier(); $EndBuild ./ - - -vector_type_specifier - ::= vector_type_specifier_token - /. $Build consumeToken(); $EndBuild ./ - -vector_type_specifier_token - ::= 'pixel' - | 'float' - | 'bool' - | 'signed' - | 'unsigned' - | 'char' - | 'short' - | 'int' - | 'long' - - - -all_specifier_qualifiers - ::= vector_type_specifier - | no_type_declaration_specifiers - -all_specifier_qualifier_list - ::= all_specifier_qualifiers - | all_specifier_qualifier_list all_specifier_qualifiers - -all_specifier_qualifier_list_opt - ::= all_specifier_qualifier_list - | $empty - -no_type_declaration_specifiers_opt - ::= no_type_declaration_specifiers - | $empty - - -$End - 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 deleted file mode 100644 index 43e10c2cdea..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCLanguage.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.xlc; - -import static org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage.getPref; -import static org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage.getProject; - -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.IParser; -import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; -import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcPref; -import org.eclipse.cdt.core.model.ICLanguageKeywords; -import org.eclipse.cdt.core.parser.IScanner; -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$ - - private static XlcCLanguage DEFAULT = new XlcCLanguage(); - - public static XlcCLanguage getDefault() { - return DEFAULT; - } - - @Override - protected IParser getParser(IScanner scanner, IIndex index, Map properties) { - IProject project = getProject(properties); - 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); - } - - @Override - public String getId() { - return ID; - } - - @Override - protected IScannerExtensionConfiguration getScannerExtensionConfiguration() { - return XlcCScannerExtensionConfiguration.getInstance(); - } - - @Override - public T getAdapter(Class adapter) { - if (ICLanguageKeywords.class.equals(adapter)) - return adapter.cast(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 deleted file mode 100644 index 1c627f619c2..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPLanguage.java +++ /dev/null @@ -1,98 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.xlc; - -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.dom.lrparser.IParser; -import org.eclipse.cdt.core.dom.lrparser.LRParserProperties; -import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; -import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcLanguagePreferences; -import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcPref; -import org.eclipse.cdt.core.model.ICLanguageKeywords; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParser; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -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$ - - private static XlcCPPLanguage DEFAULT = new XlcCPPLanguage(); - - public static XlcCPPLanguage getDefault() { - return DEFAULT; - } - - static IProject getProject(Map 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) { - project = file[0].getProject(); - } - - return project; - } - - static boolean getPref(XlcPref key, IProject project) { - return Boolean.valueOf(XlcLanguagePreferences.get(key, project)); - } - - @Override - protected IParser getParser(IScanner scanner, IIndex index, Map properties) { - IProject project = getProject(properties); - 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 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); - - XlcCPPParser parser = new XlcCPPParser(scanner, tokenMap, getBuiltinBindingsProvider(), index, properties); - return parser; - } - - @Override - public String getId() { - return ID; - } - - @Override - protected IScannerExtensionConfiguration getScannerExtensionConfiguration() { - return XlcCPPScannerExtensionConfiguration.getInstance(); - } - - @Override - public T getAdapter(Class adapter) { - if (ICLanguageKeywords.class.equals(adapter)) - return adapter.cast(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 deleted file mode 100644 index 632f5f4f1af..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPScannerExtensionConfiguration.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -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() { - } - - public static synchronized XlcCPPScannerExtensionConfiguration getInstance() { - if (instance == null) - instance = new XlcCPPScannerExtensionConfiguration(); - return instance; - } - - @Override - public boolean supportUTFLiterals() { - return true; - } - - @Override - public char[] supportAdditionalNumericLiteralSuffixes() { - 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 deleted file mode 100644 index 6e8a4495a8c..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPTokenMap.java +++ /dev/null @@ -1,599 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2011 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.xlc; - -import static org.eclipse.cdt.core.parser.IToken.tAMPER; -import static org.eclipse.cdt.core.parser.IToken.tAMPERASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tAND; -import static org.eclipse.cdt.core.parser.IToken.tARROW; -import static org.eclipse.cdt.core.parser.IToken.tARROWSTAR; -import static org.eclipse.cdt.core.parser.IToken.tASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tBITCOMPLEMENT; -import static org.eclipse.cdt.core.parser.IToken.tBITOR; -import static org.eclipse.cdt.core.parser.IToken.tBITORASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tCHAR; -import static org.eclipse.cdt.core.parser.IToken.tCOLON; -import static org.eclipse.cdt.core.parser.IToken.tCOLONCOLON; -import static org.eclipse.cdt.core.parser.IToken.tCOMMA; -import static org.eclipse.cdt.core.parser.IToken.tCOMPLETION; -import static org.eclipse.cdt.core.parser.IToken.tDECR; -import static org.eclipse.cdt.core.parser.IToken.tDIV; -import static org.eclipse.cdt.core.parser.IToken.tDIVASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tDOT; -import static org.eclipse.cdt.core.parser.IToken.tDOTSTAR; -import static org.eclipse.cdt.core.parser.IToken.tELLIPSIS; -import static org.eclipse.cdt.core.parser.IToken.tEND_OF_INPUT; -import static org.eclipse.cdt.core.parser.IToken.tEOC; -import static org.eclipse.cdt.core.parser.IToken.tEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tFLOATINGPT; -import static org.eclipse.cdt.core.parser.IToken.tGT; -import static org.eclipse.cdt.core.parser.IToken.tGTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tIDENTIFIER; -import static org.eclipse.cdt.core.parser.IToken.tINCR; -import static org.eclipse.cdt.core.parser.IToken.tINTEGER; -import static org.eclipse.cdt.core.parser.IToken.tLBRACE; -import static org.eclipse.cdt.core.parser.IToken.tLBRACKET; -import static org.eclipse.cdt.core.parser.IToken.tLCHAR; -import static org.eclipse.cdt.core.parser.IToken.tLPAREN; -import static org.eclipse.cdt.core.parser.IToken.tLSTRING; -import static org.eclipse.cdt.core.parser.IToken.tLT; -import static org.eclipse.cdt.core.parser.IToken.tLTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tMINUS; -import static org.eclipse.cdt.core.parser.IToken.tMINUSASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tMOD; -import static org.eclipse.cdt.core.parser.IToken.tMODASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tNOT; -import static org.eclipse.cdt.core.parser.IToken.tNOTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tOR; -import static org.eclipse.cdt.core.parser.IToken.tPLUS; -import static org.eclipse.cdt.core.parser.IToken.tPLUSASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tPOUND; -import static org.eclipse.cdt.core.parser.IToken.tQUESTION; -import static org.eclipse.cdt.core.parser.IToken.tRBRACE; -import static org.eclipse.cdt.core.parser.IToken.tRBRACKET; -import static org.eclipse.cdt.core.parser.IToken.tRPAREN; -import static org.eclipse.cdt.core.parser.IToken.tSEMI; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTL; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTLASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTR; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTRASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSTAR; -import static org.eclipse.cdt.core.parser.IToken.tSTARASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSTRING; -import static org.eclipse.cdt.core.parser.IToken.tUNKNOWN_CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF16CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF16STRING; -import static org.eclipse.cdt.core.parser.IToken.tUTF32CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF32STRING; -import static org.eclipse.cdt.core.parser.IToken.tXOR; -import static org.eclipse.cdt.core.parser.IToken.tXORASSIGN; -import static org.eclipse.cdt.core.parser.IToken.t__Complex; -import static org.eclipse.cdt.core.parser.IToken.t__Imaginary; -import static org.eclipse.cdt.core.parser.IToken.t_asm; -import static org.eclipse.cdt.core.parser.IToken.t_auto; -import static org.eclipse.cdt.core.parser.IToken.t_bool; -import static org.eclipse.cdt.core.parser.IToken.t_break; -import static org.eclipse.cdt.core.parser.IToken.t_case; -import static org.eclipse.cdt.core.parser.IToken.t_catch; -import static org.eclipse.cdt.core.parser.IToken.t_char; -import static org.eclipse.cdt.core.parser.IToken.t_class; -import static org.eclipse.cdt.core.parser.IToken.t_const; -import static org.eclipse.cdt.core.parser.IToken.t_const_cast; -import static org.eclipse.cdt.core.parser.IToken.t_continue; -import static org.eclipse.cdt.core.parser.IToken.t_default; -import static org.eclipse.cdt.core.parser.IToken.t_delete; -import static org.eclipse.cdt.core.parser.IToken.t_do; -import static org.eclipse.cdt.core.parser.IToken.t_double; -import static org.eclipse.cdt.core.parser.IToken.t_dynamic_cast; -import static org.eclipse.cdt.core.parser.IToken.t_else; -import static org.eclipse.cdt.core.parser.IToken.t_enum; -import static org.eclipse.cdt.core.parser.IToken.t_explicit; -import static org.eclipse.cdt.core.parser.IToken.t_export; -import static org.eclipse.cdt.core.parser.IToken.t_extern; -import static org.eclipse.cdt.core.parser.IToken.t_false; -import static org.eclipse.cdt.core.parser.IToken.t_float; -import static org.eclipse.cdt.core.parser.IToken.t_for; -import static org.eclipse.cdt.core.parser.IToken.t_friend; -import static org.eclipse.cdt.core.parser.IToken.t_goto; -import static org.eclipse.cdt.core.parser.IToken.t_if; -import static org.eclipse.cdt.core.parser.IToken.t_inline; -import static org.eclipse.cdt.core.parser.IToken.t_int; -import static org.eclipse.cdt.core.parser.IToken.t_long; -import static org.eclipse.cdt.core.parser.IToken.t_mutable; -import static org.eclipse.cdt.core.parser.IToken.t_namespace; -import static org.eclipse.cdt.core.parser.IToken.t_new; -import static org.eclipse.cdt.core.parser.IToken.t_operator; -import static org.eclipse.cdt.core.parser.IToken.t_private; -import static org.eclipse.cdt.core.parser.IToken.t_protected; -import static org.eclipse.cdt.core.parser.IToken.t_public; -import static org.eclipse.cdt.core.parser.IToken.t_register; -import static org.eclipse.cdt.core.parser.IToken.t_reinterpret_cast; -import static org.eclipse.cdt.core.parser.IToken.t_restrict; -import static org.eclipse.cdt.core.parser.IToken.t_return; -import static org.eclipse.cdt.core.parser.IToken.t_short; -import static org.eclipse.cdt.core.parser.IToken.t_signed; -import static org.eclipse.cdt.core.parser.IToken.t_sizeof; -import static org.eclipse.cdt.core.parser.IToken.t_static; -import static org.eclipse.cdt.core.parser.IToken.t_static_cast; -import static org.eclipse.cdt.core.parser.IToken.t_struct; -import static org.eclipse.cdt.core.parser.IToken.t_switch; -import static org.eclipse.cdt.core.parser.IToken.t_template; -import static org.eclipse.cdt.core.parser.IToken.t_this; -import static org.eclipse.cdt.core.parser.IToken.t_throw; -import static org.eclipse.cdt.core.parser.IToken.t_true; -import static org.eclipse.cdt.core.parser.IToken.t_try; -import static org.eclipse.cdt.core.parser.IToken.t_typedef; -import static org.eclipse.cdt.core.parser.IToken.t_typeid; -import static org.eclipse.cdt.core.parser.IToken.t_typename; -import static org.eclipse.cdt.core.parser.IToken.t_union; -import static org.eclipse.cdt.core.parser.IToken.t_unsigned; -import static org.eclipse.cdt.core.parser.IToken.t_using; -import static org.eclipse.cdt.core.parser.IToken.t_virtual; -import static org.eclipse.cdt.core.parser.IToken.t_void; -import static org.eclipse.cdt.core.parser.IToken.t_volatile; -import static org.eclipse.cdt.core.parser.IToken.t_wchar_t; -import static org.eclipse.cdt.core.parser.IToken.t_while; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_And; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_AndAnd; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_AndAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_Arrow; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_ArrowStar; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_Assign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_Bang; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_Caret; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_CaretAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_Colon; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_ColonColon; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_Comma; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_Completion; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_Dot; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_DotDotDot; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_DotStar; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_EOF_TOKEN; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_EQ; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_EndOfCompletion; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_GE; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_GT; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_Invalid; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_LE; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_LT; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_LeftBrace; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_LeftBracket; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_LeftParen; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_LeftShift; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_LeftShiftAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_MAX; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_MIN; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_Minus; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_MinusAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_MinusMinus; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_NE; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_Or; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_OrAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_OrOr; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_Percent; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_PercentAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_Plus; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_PlusAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_PlusPlus; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_Question; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_RightBrace; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_RightBracket; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_RightParen; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_RightShift; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_RightShiftAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_SemiColon; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_Slash; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_SlashAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_Star; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_StarAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_Tilde; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK__Imaginary; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK___alignof__; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK___attribute__; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK___declspec; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_asm; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_auto; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_bool; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_break; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_case; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_catch; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_char; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_charconst; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_class; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_const; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_const_cast; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_continue; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_default; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_delete; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_do; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_double; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_dynamic_cast; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_else; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_enum; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_explicit; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_export; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_extern; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_false; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_float; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_floating; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_for; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_friend; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_goto; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_identifier; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_if; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_inline; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_int; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_integer; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_long; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_mutable; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_namespace; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_new; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_operator; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_private; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_protected; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_public; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_register; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_reinterpret_cast; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_restrict; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_return; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_short; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_signed; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_sizeof; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_static; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_static_cast; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_stringlit; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_struct; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_switch; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_template; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_this; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_throw; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_true; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_try; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_typedef; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_typeid; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_typename; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_typeof; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_union; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_unsigned; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_using; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_virtual; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_void; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_volatile; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_wchar_t; -import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.TK_while; - -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.parser.IGCCToken; -import org.eclipse.cdt.core.parser.IToken; - -/** - * Maps tokens types returned by CPreprocessor to token types - * expected by the C++ parser. - * - * @author Mike Kucera - */ -public class 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); - } - - @Override - public int getEOFTokenKind() { - return TK_EOF_TOKEN; - } - - @Override - public int getEOCTokenKind() { - return TK_EndOfCompletion; - } - - @Override - 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; - } - } - -} 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 deleted file mode 100644 index 64e6d9974b8..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCScannerExtensionConfiguration.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.xlc; - -import org.eclipse.cdt.core.dom.parser.c.GCCScannerExtensionConfiguration; - -public class XlcCScannerExtensionConfiguration extends GCCScannerExtensionConfiguration { - - private static XlcCScannerExtensionConfiguration instance; - - private XlcCScannerExtensionConfiguration() { - } - - public static synchronized XlcCScannerExtensionConfiguration getInstance() { - if (instance == null) - instance = new XlcCScannerExtensionConfiguration(); - return instance; - } - - @Override - public boolean supportUTFLiterals() { - return true; - } - - @Override - public char[] supportAdditionalNumericLiteralSuffixes() { - 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 deleted file mode 100644 index 0234fc794fc..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCTokenMap.java +++ /dev/null @@ -1,468 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.xlc; - -import static org.eclipse.cdt.core.parser.IToken.tAMPER; -import static org.eclipse.cdt.core.parser.IToken.tAMPERASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tAND; -import static org.eclipse.cdt.core.parser.IToken.tARROW; -import static org.eclipse.cdt.core.parser.IToken.tASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tBITCOMPLEMENT; -import static org.eclipse.cdt.core.parser.IToken.tBITOR; -import static org.eclipse.cdt.core.parser.IToken.tBITORASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tCHAR; -import static org.eclipse.cdt.core.parser.IToken.tCOLON; -import static org.eclipse.cdt.core.parser.IToken.tCOMMA; -import static org.eclipse.cdt.core.parser.IToken.tCOMPLETION; -import static org.eclipse.cdt.core.parser.IToken.tDECR; -import static org.eclipse.cdt.core.parser.IToken.tDIV; -import static org.eclipse.cdt.core.parser.IToken.tDIVASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tDOT; -import static org.eclipse.cdt.core.parser.IToken.tELLIPSIS; -import static org.eclipse.cdt.core.parser.IToken.tEND_OF_INPUT; -import static org.eclipse.cdt.core.parser.IToken.tEOC; -import static org.eclipse.cdt.core.parser.IToken.tEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tFLOATINGPT; -import static org.eclipse.cdt.core.parser.IToken.tGT; -import static org.eclipse.cdt.core.parser.IToken.tGTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tIDENTIFIER; -import static org.eclipse.cdt.core.parser.IToken.tINCR; -import static org.eclipse.cdt.core.parser.IToken.tINTEGER; -import static org.eclipse.cdt.core.parser.IToken.tLBRACE; -import static org.eclipse.cdt.core.parser.IToken.tLBRACKET; -import static org.eclipse.cdt.core.parser.IToken.tLCHAR; -import static org.eclipse.cdt.core.parser.IToken.tLPAREN; -import static org.eclipse.cdt.core.parser.IToken.tLSTRING; -import static org.eclipse.cdt.core.parser.IToken.tLT; -import static org.eclipse.cdt.core.parser.IToken.tLTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tMINUS; -import static org.eclipse.cdt.core.parser.IToken.tMINUSASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tMOD; -import static org.eclipse.cdt.core.parser.IToken.tMODASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tNOT; -import static org.eclipse.cdt.core.parser.IToken.tNOTEQUAL; -import static org.eclipse.cdt.core.parser.IToken.tOR; -import static org.eclipse.cdt.core.parser.IToken.tPLUS; -import static org.eclipse.cdt.core.parser.IToken.tPLUSASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tQUESTION; -import static org.eclipse.cdt.core.parser.IToken.tRBRACE; -import static org.eclipse.cdt.core.parser.IToken.tRBRACKET; -import static org.eclipse.cdt.core.parser.IToken.tRPAREN; -import static org.eclipse.cdt.core.parser.IToken.tSEMI; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTL; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTLASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTR; -import static org.eclipse.cdt.core.parser.IToken.tSHIFTRASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSTAR; -import static org.eclipse.cdt.core.parser.IToken.tSTARASSIGN; -import static org.eclipse.cdt.core.parser.IToken.tSTRING; -import static org.eclipse.cdt.core.parser.IToken.tUNKNOWN_CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF16CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF16STRING; -import static org.eclipse.cdt.core.parser.IToken.tUTF32CHAR; -import static org.eclipse.cdt.core.parser.IToken.tUTF32STRING; -import static org.eclipse.cdt.core.parser.IToken.tXOR; -import static org.eclipse.cdt.core.parser.IToken.tXORASSIGN; -import static org.eclipse.cdt.core.parser.IToken.t__Bool; -import static org.eclipse.cdt.core.parser.IToken.t__Complex; -import static org.eclipse.cdt.core.parser.IToken.t__Imaginary; -import static org.eclipse.cdt.core.parser.IToken.t_asm; -import static org.eclipse.cdt.core.parser.IToken.t_auto; -import static org.eclipse.cdt.core.parser.IToken.t_break; -import static org.eclipse.cdt.core.parser.IToken.t_case; -import static org.eclipse.cdt.core.parser.IToken.t_char; -import static org.eclipse.cdt.core.parser.IToken.t_const; -import static org.eclipse.cdt.core.parser.IToken.t_continue; -import static org.eclipse.cdt.core.parser.IToken.t_default; -import static org.eclipse.cdt.core.parser.IToken.t_do; -import static org.eclipse.cdt.core.parser.IToken.t_double; -import static org.eclipse.cdt.core.parser.IToken.t_else; -import static org.eclipse.cdt.core.parser.IToken.t_enum; -import static org.eclipse.cdt.core.parser.IToken.t_extern; -import static org.eclipse.cdt.core.parser.IToken.t_float; -import static org.eclipse.cdt.core.parser.IToken.t_for; -import static org.eclipse.cdt.core.parser.IToken.t_goto; -import static org.eclipse.cdt.core.parser.IToken.t_if; -import static org.eclipse.cdt.core.parser.IToken.t_inline; -import static org.eclipse.cdt.core.parser.IToken.t_int; -import static org.eclipse.cdt.core.parser.IToken.t_long; -import static org.eclipse.cdt.core.parser.IToken.t_register; -import static org.eclipse.cdt.core.parser.IToken.t_restrict; -import static org.eclipse.cdt.core.parser.IToken.t_return; -import static org.eclipse.cdt.core.parser.IToken.t_short; -import static org.eclipse.cdt.core.parser.IToken.t_signed; -import static org.eclipse.cdt.core.parser.IToken.t_sizeof; -import static org.eclipse.cdt.core.parser.IToken.t_static; -import static org.eclipse.cdt.core.parser.IToken.t_struct; -import static org.eclipse.cdt.core.parser.IToken.t_switch; -import static org.eclipse.cdt.core.parser.IToken.t_typedef; -import static org.eclipse.cdt.core.parser.IToken.t_union; -import static org.eclipse.cdt.core.parser.IToken.t_unsigned; -import static org.eclipse.cdt.core.parser.IToken.t_void; -import static org.eclipse.cdt.core.parser.IToken.t_volatile; -import static org.eclipse.cdt.core.parser.IToken.t_while; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_And; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_AndAnd; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_AndAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_Arrow; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_Assign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_Bang; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_Caret; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_CaretAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_Colon; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_Comma; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_Completion; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_Dot; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_DotDotDot; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_EOF_TOKEN; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_EQ; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_EndOfCompletion; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_GE; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_GT; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_Invalid; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_LE; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_LT; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_LeftBrace; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_LeftBracket; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_LeftParen; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_LeftShift; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_LeftShiftAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_MAX; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_MIN; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_Minus; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_MinusAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_MinusMinus; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_NE; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_Or; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_OrAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_OrOr; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_Percent; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_PercentAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_Plus; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_PlusAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_PlusPlus; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_Question; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_RightBrace; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_RightBracket; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_RightParen; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_RightShift; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_RightShiftAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_SemiColon; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_Slash; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_SlashAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_Star; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_StarAssign; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_Tilde; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK__Bool; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK__Complex; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK__Imaginary; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK___alignof__; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK___attribute__; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK___declspec; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_asm; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_auto; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_break; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_case; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_char; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_charconst; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_const; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_continue; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_default; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_do; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_double; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_else; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_enum; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_extern; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_float; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_floating; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_for; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_goto; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_identifier; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_if; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_inline; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_int; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_integer; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_long; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_register; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_restrict; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_return; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_short; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_signed; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_sizeof; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_static; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_stringlit; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_struct; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_switch; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_typedef; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_typeof; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_union; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_unsigned; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_void; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_volatile; -import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.TK_while; - -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.parser.IGCCToken; -import org.eclipse.cdt.core.parser.IToken; - -/** - * Maps tokens types returned by CPreprocessor to token types - * expected by the C99 parser. - * - * @author Mike Kucera - */ -public final class XlcCTokenMap implements IDOMTokenMap { - - private final XlcKeywords keywordMap; - - public XlcCTokenMap(boolean supportVectors, boolean supportDecimalFloatingPoint) { - keywordMap = XlcKeywords.createC(supportVectors, supportDecimalFloatingPoint); - } - - @Override - public int getEOFTokenKind() { - return TK_EOF_TOKEN; - } - - @Override - public int getEOCTokenKind() { - return TK_EndOfCompletion; - } - - @Override - 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; - } - } -} 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 deleted file mode 100644 index d8984870628..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcKeywords.java +++ /dev/null @@ -1,123 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.xlc; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.eclipse.cdt.core.dom.parser.CLanguageKeywords; -import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration; -import org.eclipse.cdt.core.model.ICLanguageKeywords; -import org.eclipse.cdt.core.parser.ParserLanguage; -import org.eclipse.cdt.core.parser.util.CharArrayMap; -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 map = new CharArrayMap<>(); - private final ParserLanguage language; - private String[] allKeywords = null; - - public static XlcKeywords createC(boolean supportVectors, boolean supportDecimalFloatingPoint) { - XlcKeywords keywords = new XlcKeywords(ParserLanguage.C); - CharArrayMap map = keywords.map; - 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); - } - 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) { - XlcKeywords keywords = new XlcKeywords(ParserLanguage.CPP); - CharArrayMap map = keywords.map; - 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); - } - 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) { - map.put("_Complex".toCharArray(), XlcCPPParsersym.TK__Complex); - } - 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) { - 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() - : XlcCScannerExtensionConfiguration.getInstance(); - } - - /** - * 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) { - ICLanguageKeywords base = new CLanguageKeywords(language, getConfig(language)); - String[] baseKeywords = base.getKeywords(); - - List keywords = new ArrayList<>(); - keywords.addAll(Arrays.asList(baseKeywords)); - - 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 deleted file mode 100644 index f04c9f70cd1..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/action/XlcCBuildASTParserAction.java +++ /dev/null @@ -1,64 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.xlc.action; - -import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.gnu.GCCBuildASTParserAction; -import org.eclipse.cdt.core.lrparser.xlc.ast.IXlcCASTVectorTypeSpecifier; -import org.eclipse.cdt.core.lrparser.xlc.ast.IXlcCNodeFactory; -import org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym; - -import lpg.lpgjavaruntime.IToken; - -public class XlcCBuildASTParserAction extends GCCBuildASTParserAction { - - private IXlcCNodeFactory nodeFactory; - - public XlcCBuildASTParserAction(ITokenStream parser, ScopedStack astStack, IXlcCNodeFactory nodeFactory, - ISecondaryParserFactory parserFactory) { - super(parser, astStack, nodeFactory, parserFactory); - this.nodeFactory = nodeFactory; - } - - /* - * vector_type - * ::= 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: - declSpec.setPixel(true); - continue; - case XlcCParsersym.TK_bool: - declSpec.setBool(true); - continue; - 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 deleted file mode 100644 index 936ad10bc5e..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/action/XlcCPPBuildASTParserAction.java +++ /dev/null @@ -1,116 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.xlc.action; - -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTStaticAssertDeclaration; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.cpp.ICPPSecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.action.gnu.GPPBuildASTParserAction; -import org.eclipse.cdt.core.lrparser.xlc.ast.IXlcCPPASTModifiedArrayModifier; -import org.eclipse.cdt.core.lrparser.xlc.ast.IXlcCPPASTVectorTypeSpecifier; -import org.eclipse.cdt.core.lrparser.xlc.ast.IXlcCPPNodeFactory; -import org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym; - -import lpg.lpgjavaruntime.IToken; - -public class XlcCPPBuildASTParserAction extends GPPBuildASTParserAction { - - private IXlcCPPNodeFactory nodeFactory; - private final ITokenMap tokenMap; - - public XlcCPPBuildASTParserAction(ITokenStream parser, ScopedStack astStack, IXlcCPPNodeFactory nodeFactory, - ICPPSecondaryParserFactory parserFactory) { - super(parser, astStack, nodeFactory, parserFactory); - this.nodeFactory = nodeFactory; - this.tokenMap = new TokenMap(XlcCPPParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols()); - } - - /* - * vector_type - * ::= 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: - declSpec.setPixel(true); - continue; - case XlcCPPParsersym.TK_vector: - continue; - } - } - - setSpecifier(declSpec, specifier); - } - - setOffsetAndLength(declSpec); - astStack.push(declSpec); - } - - 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) - 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; - } - } - } - - /** - * 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 deleted file mode 100644 index 171ba54c8bd..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/activator/XlcParserPlugin.java +++ /dev/null @@ -1,22 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.xlc.activator; - -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 deleted file mode 100644 index 68a96369df1..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCASTVectorTypeSpecifier.java +++ /dev/null @@ -1,28 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.xlc.ast; - -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/IXlcCNodeFactory.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCNodeFactory.java deleted file mode 100644 index f073516ada9..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCNodeFactory.java +++ /dev/null @@ -1,21 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.xlc.ast; - -import org.eclipse.cdt.core.dom.ast.c.ICNodeFactory; - -public interface IXlcCNodeFactory extends ICNodeFactory { - - public IXlcCASTVectorTypeSpecifier newVectorTypeSpecifier(); -} 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 deleted file mode 100644 index d5aacc9675f..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCPPASTModifiedArrayModifier.java +++ /dev/null @@ -1,104 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.xlc.ast; - -import org.eclipse.cdt.core.dom.ast.IASTArrayModifier; - -/** - * Allow C99 style variable length arrays in XL C++. - * - */ -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 - */ - public void setConst(boolean value); - - /** - * Set true/false that the volatile modifier is used. - * - * @param value - * boolean - */ - public void setVolatile(boolean value); - - /** - * Set true/false that the restrict modifier is used. - * - * @param value - * boolean - */ - public void setRestrict(boolean value); - - /** - * Set true/false that the static modifier is used. - * - * @param value - * boolean - */ - public void setStatic(boolean value); - - /** - * 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); - - /** - */ - @Override - 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 deleted file mode 100644 index 50cd9becaf0..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCPPASTVectorTypeSpecifier.java +++ /dev/null @@ -1,24 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.xlc.ast; - -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 deleted file mode 100644 index 538fbbb32e8..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/ast/IXlcCPPNodeFactory.java +++ /dev/null @@ -1,24 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.xlc.ast; - -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/PreferenceInitializer.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/PreferenceInitializer.java deleted file mode 100644 index b3a8997f521..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/PreferenceInitializer.java +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.xlc.preferences; - -import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; - -public class PreferenceInitializer extends AbstractPreferenceInitializer { - - @Override - public void initializeDefaultPreferences() { - XlcLanguagePreferences.initializeDefaultPreferences(); - } - -} 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 deleted file mode 100644 index 6e7c610ad11..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcLanguagePreferences.java +++ /dev/null @@ -1,97 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.core.lrparser.xlc.preferences; - -import org.eclipse.cdt.core.lrparser.xlc.activator.XlcParserPlugin; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.ProjectScope; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.preferences.DefaultScope; -import org.eclipse.core.runtime.preferences.IScopeContext; -import org.eclipse.core.runtime.preferences.InstanceScope; -import org.osgi.service.prefs.Preferences; - -/** - * TODO trigger the indexer? - * - * @author Mike Kucera - */ -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()) { - 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); - } - - 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) { - return Platform.getPreferencesService().get(key.toString(), null, getPreferences(project)); - } - - private static Preferences[] getPreferences(IProject project) { - 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)); - } - - private static Preferences getPreferences(IScopeContext scope) { - 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 deleted file mode 100644 index 194532c185d..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcPref.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -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"); - - 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/XlcCASTVectorTypeSpecifier.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCASTVectorTypeSpecifier.java deleted file mode 100644 index daafff40eac..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCASTVectorTypeSpecifier.java +++ /dev/null @@ -1,60 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.lrparser.xlc.ast; - -import org.eclipse.cdt.core.lrparser.xlc.ast.IXlcCASTVectorTypeSpecifier; -import org.eclipse.cdt.internal.core.dom.parser.c.CASTSimpleDeclSpecifier; - -@SuppressWarnings("restriction") -public class XlcCASTVectorTypeSpecifier extends CASTSimpleDeclSpecifier implements IXlcCASTVectorTypeSpecifier { - private boolean isPixel; - private boolean isBool; - - public XlcCASTVectorTypeSpecifier() { - super(); - } - - @Override - public XlcCASTVectorTypeSpecifier copy() { - return copy(CopyStyle.withoutLocations); - } - - @Override - public XlcCASTVectorTypeSpecifier copy(CopyStyle style) { - XlcCASTVectorTypeSpecifier copy = new XlcCASTVectorTypeSpecifier(); - copy.isPixel = isPixel; - copy.isBool = isBool; - return copy(copy, style); - } - - @Override - public boolean isPixel() { - return isPixel; - } - - @Override - public void setPixel(boolean isPixel) { - this.isPixel = isPixel; - } - - @Override - public boolean isBool() { - return isBool; - } - - @Override - public void setBool(boolean isBool) { - this.isBool = isBool; - } -} 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 deleted file mode 100644 index 694cdccc238..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCNodeFactory.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.lrparser.xlc.ast; - -import org.eclipse.cdt.core.lrparser.xlc.ast.IXlcCASTVectorTypeSpecifier; -import org.eclipse.cdt.core.lrparser.xlc.ast.IXlcCNodeFactory; -import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; - -@SuppressWarnings("restriction") -public class XlcCNodeFactory extends CNodeFactory implements IXlcCNodeFactory { - - private static final XlcCNodeFactory DEFAULT_INSTANCE = new XlcCNodeFactory(); - - public static XlcCNodeFactory getDefault() { - return DEFAULT_INSTANCE; - } - - @Override - public IXlcCASTVectorTypeSpecifier newVectorTypeSpecifier() { - return new XlcCASTVectorTypeSpecifier(); - } -} 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 deleted file mode 100644 index 3d311bfbfdd..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCPPASTModifiedArrayModifier.java +++ /dev/null @@ -1,108 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.lrparser.xlc.ast; - -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.lrparser.xlc.ast.IXlcCPPASTModifiedArrayModifier; -import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTArrayModifier; - -@SuppressWarnings("restriction") -public class XlcCPPASTModifiedArrayModifier extends CPPASTArrayModifier implements IXlcCPPASTModifiedArrayModifier { - - private boolean isVolatile; - private boolean isRestrict; - private boolean isStatic; - private boolean isConst; - private boolean varSized; - - public XlcCPPASTModifiedArrayModifier() { - } - - public XlcCPPASTModifiedArrayModifier(IASTExpression exp) { - super(exp); - } - - @Override - public XlcCPPASTModifiedArrayModifier copy() { - return copy(CopyStyle.withoutLocations); - } - - @Override - public XlcCPPASTModifiedArrayModifier copy(CopyStyle style) { - IASTExpression exp = getConstantExpression(); - XlcCPPASTModifiedArrayModifier copy = new XlcCPPASTModifiedArrayModifier(exp == null ? null : exp.copy()); - copy.isVolatile = isVolatile; - copy.isRestrict = isRestrict; - copy.isStatic = isStatic; - copy.isConst = isConst; - copy.varSized = varSized; - return copy(copy, style); - } - - @Override - public boolean isConst() { - return isConst; - } - - @Override - public boolean isStatic() { - return isStatic; - } - - @Override - public boolean isRestrict() { - return isRestrict; - } - - @Override - public boolean isVolatile() { - return isVolatile; - } - - @Override - public void setConst(boolean value) { - assertNotFrozen(); - this.isConst = value; - } - - @Override - public void setVolatile(boolean value) { - assertNotFrozen(); - this.isVolatile = value; - } - - @Override - public void setRestrict(boolean value) { - assertNotFrozen(); - this.isRestrict = value; - } - - @Override - public void setStatic(boolean value) { - assertNotFrozen(); - this.isStatic = value; - } - - @Override - public boolean isVariableSized() { - return varSized; - } - - @Override - 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 deleted file mode 100644 index d1681f89a5a..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCPPASTVectorTypeSpecifier.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.lrparser.xlc.ast; - -import org.eclipse.cdt.core.lrparser.xlc.ast.IXlcCPPASTVectorTypeSpecifier; -import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTSimpleDeclSpecifier; - -@SuppressWarnings("restriction") -public class XlcCPPASTVectorTypeSpecifier extends CPPASTSimpleDeclSpecifier implements IXlcCPPASTVectorTypeSpecifier { - - private boolean isPixel; - - public XlcCPPASTVectorTypeSpecifier() { - super(); - } - - @Override - public XlcCPPASTVectorTypeSpecifier copy() { - return copy(CopyStyle.withoutLocations); - } - - @Override - public XlcCPPASTVectorTypeSpecifier copy(CopyStyle style) { - XlcCPPASTVectorTypeSpecifier copy = new XlcCPPASTVectorTypeSpecifier(); - copy.isPixel = isPixel; - return copy(copy, style); - } - - @Override - public boolean isPixel() { - return isPixel; - } - - @Override - 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 deleted file mode 100644 index 720d71076cb..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/ast/XlcCPPNodeFactory.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.lrparser.xlc.ast; - -import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.lrparser.xlc.ast.IXlcCPPASTModifiedArrayModifier; -import org.eclipse.cdt.core.lrparser.xlc.ast.IXlcCPPASTVectorTypeSpecifier; -import org.eclipse.cdt.core.lrparser.xlc.ast.IXlcCPPNodeFactory; -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(); - - public static XlcCPPNodeFactory getDefault() { - return DEFAULT_INSTANCE; - } - - @Override - public IXlcCPPASTVectorTypeSpecifier newVectorTypeSpecifier() { - return new XlcCPPASTVectorTypeSpecifier(); - } - - @Override - 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 deleted file mode 100644 index 19e0999a649..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParser.java +++ /dev/null @@ -1,1878 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2010 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -package org.eclipse.cdt.internal.core.lrparser.xlc.c; - -import java.util.List; -import java.util.Map; - -import org.eclipse.cdt.core.dom.ast.IASTBinaryExpression; -import org.eclipse.cdt.core.dom.ast.IASTCastExpression; -import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; -import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier; -import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression; -import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; -import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; -import org.eclipse.cdt.core.dom.lrparser.IParser; -import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; -import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; -import org.eclipse.cdt.core.dom.lrparser.action.gnu.GCCSecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.action.gnu.GNUBuildASTParserAction; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; -import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.lrparser.xlc.action.XlcCBuildASTParserAction; -import org.eclipse.cdt.core.parser.IScanner; -import org.eclipse.cdt.internal.core.lrparser.xlc.ast.XlcCNodeFactory; - -import lpg.lpgjavaruntime.BadParseException; -import lpg.lpgjavaruntime.BadParseSymFileException; -import lpg.lpgjavaruntime.DiagnoseParser; -import lpg.lpgjavaruntime.ErrorToken; -import lpg.lpgjavaruntime.IToken; -import lpg.lpgjavaruntime.LexStream; -import lpg.lpgjavaruntime.Monitor; -import lpg.lpgjavaruntime.NotBacktrackParseTableException; -import lpg.lpgjavaruntime.NullExportedSymbolsException; -import lpg.lpgjavaruntime.NullTerminalSymbolsException; -import lpg.lpgjavaruntime.ParseErrorCodes; -import lpg.lpgjavaruntime.ParseTable; -import lpg.lpgjavaruntime.PrsStream; -import lpg.lpgjavaruntime.RuleAction; -import lpg.lpgjavaruntime.TokenStream; -import lpg.lpgjavaruntime.UndefinedEofSymbolException; -import lpg.lpgjavaruntime.UnimplementedTerminalsException; - -public class XlcCParser extends PrsStream - implements RuleAction, ITokenStream, ITokenCollector, IParser - -{ - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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])); - } - } - - @Override - 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 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, this, prs, 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 properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new XlcCBuildASTParserAction(this, astStack, XlcCNodeFactory.getDefault(), - GCCSecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - gnuAction = new GNUBuildASTParserAction(this, astStack, XlcCNodeFactory.getDefault()); - gnuAction.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - 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(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return XlcCParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "XlcCParser"; - } - - private GNUBuildASTParserAction gnuAction; - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 ::= 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 ::= { 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 init_declarator_list ; - // - case 129: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 130: declaration_specifiers ::= simple_declaration_specifiers - // - case 130: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 131: declaration_specifiers ::= struct_or_union_declaration_specifiers - // - case 131: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 132: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 132: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 133: declaration_specifiers ::= enum_declaration_specifiers - // - case 133: { - action.consumeDeclarationSpecifiersStructUnionEnum(); - break; - } - - // - // Rule 134: declaration_specifiers ::= 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 { 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 { 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 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 { enumerator_list_opt comma_opt } - // - case 205: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { 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 ::= 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 ( 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 ::= pointer_seq function_direct_declarator - // - case 234: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) - // - case 235: { - action.consumeDirectDeclaratorFunctionDeclaratorKnR(); - break; - } - - // - // Rule 237: knr_function_declarator ::= 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 ::= [ 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 ::= [ 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 array_modifier_type_qualifiers assignment_expression ] - // - case 245: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); - break; - } - - // - // Rule 246: array_modifier ::= [ 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 ::= [ 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 type_qualifier_list - // - case 252: { - action.consumePointerTypeQualifierList(); - break; - } - - // - // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook 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 ::= pointer_seq - // - case 269: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 270: abstract_declarator ::= 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 ::= ( parameter_type_list ) - // - case 280: { - action.consumeDirectDeclaratorFunctionDeclarator(false, true); - break; - } - - // - // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( 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 { initializer_seq comma_opt } end_initializer_list - // - case 284: { - action.consumeInitializerList(); - break; - } - - // - // Rule 285: initializer_list ::= { } - // - 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 ::= 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 ::= function_declarator function_body - // - case 311: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 312: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement - // - case 312: { - action.consumeFunctionDefinitionKnR(); - break; - } - - // - // Rule 313: normal_function_definition ::= declaration_specifiers function_declarator function_body - // - case 313: { - action.consumeFunctionDefinition(true); - break; - } - - // - // Rule 314: function_body ::= { } - // - case 314: { - action.consumeStatementCompoundStatement(false); - break; - } - - // - // Rule 315: function_body ::= { 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 : 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 ::= 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 ::= 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 init_declarator_list ; - // - case 394: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 395: vector_type ::= 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 deleted file mode 100644 index 9b788d3c33a..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParserprs.java +++ /dev/null @@ -1,1146 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2010 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -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; - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - 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; - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - public final int inSymb(int index) { - return inSymb[index]; - } - - public interface Name { - public final static String name[] = { "", "[", "(", "{", ".", "->", "++", "--", "&", "*", "+", "-", "~", "!", - "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "...", "=", - "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", ">?", " - -{ - 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(); - } - - @Override - public IToken getLeftIToken() { - return super.getIToken(getLeftSpan()); - } - - public int getRightSpan() { - return btParser.getLastToken(); - } - - @Override - 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])); - } - } - - @Override - 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 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, this, prs, 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 properties) { - initActions(properties); - action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); - CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); - } - - private void initActions(Map properties) { - ScopedStack astStack = new ScopedStack<>(); - - action = new XlcCPPBuildASTParserAction(this, astStack, XlcCPPNodeFactory.getDefault(), - GPPSecondaryParserFactory.getDefault()); - action.setParserProperties(properties); - - gnuAction = new GNUBuildASTParserAction(this, astStack, XlcCPPNodeFactory.getDefault()); - gnuAction.setParserProperties(properties); - - } - - @Override - public void addToken(IToken token) { - token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called? - super.addToken(token); - } - - @Override - 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(); - } - - @Override - public IASTCompletionNode getCompletionNode() { - return compNode; - } - - // uncomment this method to use with backtracking parser - @Override - public List getRuleTokens() { - return getTokens().subList(getLeftSpan(), getRightSpan() + 1); - } - - @Override - public String[] getOrderedTerminalSymbols() { - return XlcCPPParsersym.orderedTerminalSymbols; - } - - @Override - @SuppressWarnings("nls") - public String getName() { - return "XlcCPPParser"; - } - - private GNUBuildASTParserAction gnuAction; - - @Override - public void ruleAction(int ruleNumber) { - switch (ruleNumber) { - - // - // Rule 1: ::= $Empty - // - case 1: { - action.openASTScope(); - break; - } - - // - // Rule 2: ::= $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 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 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 ) 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 ::= 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 ::= 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 ::= { 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 init_declarator_list_opt ; - // - case 255: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 256: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; - // - case 256: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 257: declaration_specifiers ::= simple_declaration_specifiers - // - case 257: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 258: declaration_specifiers ::= class_declaration_specifiers - // - case 258: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 259: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 259: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 260: declaration_specifiers ::= enum_declaration_specifiers - // - case 260: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 261: declaration_specifiers ::= 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 { enumerator_list_opt comma_opt } - // - case 321: { - action.consumeTypeSpecifierEnumeration(false); - break; - } - - // - // Rule 322: enum_specifier ::= enum enum_specifier_hook identifier_token { 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 { declaration_seq_opt } - // - case 331: { - action.consumeNamespaceDefinition(true); - break; - } - - // - // Rule 332: namespace_definition ::= namespace namespace_definition_hook { 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 { declaration_seq_opt } - // - case 339: { - action.consumeLinkageSpecification(); - break; - } - - // - // Rule 340: linkage_specification ::= extern stringlit 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 ::= ptr_operator_seq direct_declarator - // - case 350: { - action.consumeDeclaratorWithPointer(true); - break; - } - - // - // Rule 352: function_declarator ::= 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 ( parameter_declaration_clause ) cv_qualifier_seq_opt 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 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 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 ::= ptr_operator_seq - // - case 380: { - action.consumeDeclaratorWithPointer(false); - break; - } - - // - // Rule 381: abstract_declarator ::= 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 ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - case 390: { - action.consumeDirectDeclaratorFunctionDeclarator(true); - break; - } - - // - // Rule 391: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt 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 ctor_initializer_list_opt function_body - // - case 409: { - action.consumeFunctionDefinition(false); - break; - } - - // - // Rule 410: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body 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 { initializer_seq , } end_initializer_list - // - case 416: { - action.consumeInitializerList(); - break; - } - - // - // Rule 417: initializer_list ::= start_initializer_list { initializer_seq } end_initializer_list - // - case 417: { - action.consumeInitializerList(); - break; - } - - // - // Rule 418: initializer_list ::= { } - // - 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 { 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 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 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 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 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 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 < 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 ::= 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 < 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 < 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 < template_parameter_list > class identifier_name_opt - // - case 546: { - action.consumeTemplatedTypeTemplateParameter(false); - break; - } - - // - // Rule 547: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression - // - case 547: { - action.consumeTemplatedTypeTemplateParameter(true); - break; - } - - // - // Rule 548: template_id_name ::= identifier_name < 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 ::= simple_declaration_specifiers - // - case 570: { - action.consumeDeclarationSpecifiersSimple(); - break; - } - - // - // Rule 571: declaration_specifiers_inTemplate ::= class_declaration_specifiers - // - case 571: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 572: declaration_specifiers_inTemplate ::= elaborated_declaration_specifiers - // - case 572: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 573: declaration_specifiers_inTemplate ::= enum_declaration_specifiers - // - case 573: { - action.consumeDeclarationSpecifiersComposite(); - break; - } - - // - // Rule 574: declaration_specifiers_inTemplate ::= 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 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 declarator - // - case 588: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 589: exception_declaration ::= type_specifier_seq 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 : 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 ::= typeof_declaration_specifiers - // - case 650: { - action.consumeDeclarationSpecifiersTypeof(); - break; - } - - // - // Rule 663: declarator ::= 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 init_declarator_list ; - // - case 678: { - action.consumeDeclarationSimple(true); - break; - } - - // - // Rule 679: vector_type ::= 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 ::= [ array_modifier_type_qualifiers ] - // - case 704: { - action.consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); - break; - } - - // - // Rule 705: array_modifier ::= [ 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 array_modifier_type_qualifiers assignment_expression ] - // - case 707: { - action.consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); - break; - } - - // - // Rule 708: array_modifier ::= [ 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 ::= [ 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 deleted file mode 100644 index 7ad453ab4de..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java +++ /dev/null @@ -1,2110 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2006, 2010 IBM Corporation and others. -* -* This program and the accompanying materials -* are made available under the terms of the Eclipse Public License 2.0 -* which accompanies this distribution, and is available at -* https://www.eclipse.org/legal/epl-2.0/ -* -* SPDX-License-Identifier: EPL-2.0 -* -* Contributors: -* IBM Corporation - initial API and implementation -*********************************************************************************/ - -// This file was generated by LPG - -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 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 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 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); - } - - @Override - public final int baseCheck(int index) { - return baseCheck[index]; - } - - public final static short rhs[] = baseCheck; - - @Override - public final int rhs(int index) { - return rhs[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 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 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); - } - - @Override - public final int baseAction(int index) { - return baseAction[index]; - } - - public final static char lhs[] = baseAction; - - @Override - public final int lhs(int index) { - return lhs[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; - - @Override - public final int termCheck(int index) { - return termCheck[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 final static char termAction[] = TermAction.termAction; - - @Override - public final int termAction(int index) { - return termAction[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; - - @Override - public final int asb(int index) { - return asb[index]; - } - - 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; - - @Override - public final int asr(int index) { - return asr[index]; - } - - 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; - - @Override - public final int nasb(int index) { - return nasb[index]; - } - - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - 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; - - @Override - public final int inSymb(int index) { - return inSymb[index]; - } - - public interface Name { - public final static String name[] = { "", "[", "(", ".", ".*", "->", "->*", "++", "--", "&", "*", "+", "-", "~", - "!", "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "::", - "...", "=", "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", ">?", " - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 deleted file mode 100644 index a886dd26cc5..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PrefCheckbox.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -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; -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))); - } -} \ No newline at end of file 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 deleted file mode 100644 index 1b067b463fe..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.lrparser.xlc.ui.preferences; - -import java.lang.reflect.Field; - -import org.eclipse.osgi.util.NLS; - -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() { - } - - 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); - - } 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; -} diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.properties b/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.properties deleted file mode 100644 index 2562cc97196..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.properties +++ /dev/null @@ -1,22 +0,0 @@ -############################################################################### -# Copyright (c) 2009, 2010 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -XlcLanguageOptionsPreferencePage_link=These settings are project-specific. The settings listed here override workspace-wide language settings. -XlcLanguageOptionsPreferencePage_group=Support For XL C/C++ Language Extensions - -XlcLanguageOptionsPreferencePage_SUPPORT_VECTOR_TYPES=Allow vector type declarations -XlcLanguageOptionsPreferencePage_SUPPORT_DECIMAL_FLOATING_POINT_TYPES=Allow decimal floating-point types (_Decimal32, _Decimal64, _Decimal128) -XlcLanguageOptionsPreferencePage_SUPPORT_COMPLEX_IN_CPP=Allow complex type in C++ (_Complex) -XlcLanguageOptionsPreferencePage_SUPPORT_RESTRICT_IN_CPP=Allow 'restrict' keyword in C++ (restrict, __restrict, __restrict__) -XlcLanguageOptionsPreferencePage_SUPPORT_STATIC_ASSERT=Allow static assert declarations (__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 deleted file mode 100644 index 141b70c57d9..00000000000 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/XlcLanguageOptionsPreferencePage.java +++ /dev/null @@ -1,127 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -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; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.jface.preference.PreferencePage; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Link; -import org.eclipse.swt.widgets.Listener; -import org.eclipse.ui.IWorkbench; -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 { - - 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()); - 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()) { - Link link = new Link(page, SWT.NONE); - link.setText(PreferenceMessages.XlcLanguageOptionsPreferencePage_link); - link.addListener(SWT.Selection, new Listener() { - @Override - public void handleEvent(Event event) { - PreferencesUtil.createPreferenceDialogOn(getShell(), event.text, null, null).open(); - } - }); - } - - Composite group = ControlFactory.createGroup(page, PreferenceMessages.XlcLanguageOptionsPreferencePage_group, - 1); - initializeCheckboxes(group); - - return page; - } - - @Override - protected void performDefaults() { - for (PrefCheckbox button : checkboxes) { - button.setDefault(); - } - super.performDefaults(); - } - - @Override - public boolean performOk() { - IProject project = getProject(); - 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) - XlcLanguagePreferences.setProjectPreference(key, s, project); - else - XlcLanguagePreferences.setWorkspacePreference(key, s); - } - - private IProject getProject() { - return isPropertyPage() ? (IProject) element.getAdapter(IProject.class) : null; - } - - @Override - public IAdaptable getElement() { - return element; - } - - @Override - public void setElement(IAdaptable element) { - this.element = element; - } - - public boolean isPropertyPage() { - return element != null; - } - - @Override - public void init(IWorkbench workbench) { - // TODO Auto-generated method stub - } - -} diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.classpath b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.classpath deleted file mode 100644 index eca7bdba8f0..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.project b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.project deleted file mode 100644 index ab9159afd4b..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.eclipse.cdt.errorparsers.xlc.tests - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.settings/org.eclipse.jdt.core.prefs b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index ad05599159f..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,464 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.cleanOutputFolder=clean -org.eclipse.jdt.core.builder.duplicateResourceTask=warning -org.eclipse.jdt.core.builder.invalidClasspath=abort -org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore -org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch, *.xtend -org.eclipse.jdt.core.circularClasspath=error -org.eclipse.jdt.core.classpath.exclusionPatterns=enabled -org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error -org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled -org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error -org.eclipse.jdt.core.codeComplete.argumentPrefixes= -org.eclipse.jdt.core.codeComplete.argumentSuffixes= -org.eclipse.jdt.core.codeComplete.fieldPrefixes= -org.eclipse.jdt.core.codeComplete.fieldSuffixes= -org.eclipse.jdt.core.codeComplete.localPrefixes= -org.eclipse.jdt.core.codeComplete.localSuffixes= -org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=ignore -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore -org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore -org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.8 -org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false -org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 -org.eclipse.jdt.core.formatter.align_type_members_on_columns=false -org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false -org.eclipse.jdt.core.formatter.align_with_spaces=false -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_assignment=0 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 -org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 -org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 -org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 -org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 -org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 -org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 -org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 -org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 -org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_after_package=1 -org.eclipse.jdt.core.formatter.blank_lines_before_field=0 -org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 -org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 -org.eclipse.jdt.core.formatter.blank_lines_before_method=1 -org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 -org.eclipse.jdt.core.formatter.blank_lines_before_package=0 -org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 -org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 -org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true -org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false -org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true -org.eclipse.jdt.core.formatter.comment.format_block_comments=false -org.eclipse.jdt.core.formatter.comment.format_header=false -org.eclipse.jdt.core.formatter.comment.format_html=true -org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false -org.eclipse.jdt.core.formatter.comment.format_line_comments=false -org.eclipse.jdt.core.formatter.comment.format_source_code=true -org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false -org.eclipse.jdt.core.formatter.comment.indent_root_tags=false -org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert -org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert -org.eclipse.jdt.core.formatter.comment.line_length=80 -org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true -org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true -org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false -org.eclipse.jdt.core.formatter.compact_else_if=true -org.eclipse.jdt.core.formatter.continuation_indentation=2 -org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 -org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off -org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on -org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false -org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true -org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_empty_lines=false -org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true -org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false -org.eclipse.jdt.core.formatter.indentation.size=4 -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert -org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert -org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert -org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.join_lines_in_comments=true -org.eclipse.jdt.core.formatter.join_wrapped_lines=true -org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false -org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false -org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false -org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false -org.eclipse.jdt.core.formatter.lineSplit=120 -org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false -org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false -org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 -org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 -org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines -org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true -org.eclipse.jdt.core.formatter.tabulation.char=tab -org.eclipse.jdt.core.formatter.tabulation.size=4 -org.eclipse.jdt.core.formatter.use_on_off_tags=true -org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false -org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true -org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true -org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true -org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true -org.eclipse.jdt.core.incompatibleJDKLevel=ignore -org.eclipse.jdt.core.incompleteClasspath=error -org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.settings/org.eclipse.jdt.launching.prefs b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.settings/org.eclipse.jdt.launching.prefs deleted file mode 100644 index f8a131b56e0..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.settings/org.eclipse.jdt.launching.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=warning -org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=warning diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.settings/org.eclipse.jdt.ui.prefs b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index e44576346c4..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,133 +0,0 @@ -cleanup.add_default_serial_version_id=true -cleanup.add_generated_serial_version_id=false -cleanup.add_missing_annotations=true -cleanup.add_missing_deprecated_annotations=true -cleanup.add_missing_methods=false -cleanup.add_missing_nls_tags=false -cleanup.add_missing_override_annotations=true -cleanup.add_missing_override_annotations_interface_methods=true -cleanup.add_serial_version_id=false -cleanup.always_use_blocks=true -cleanup.always_use_parentheses_in_expressions=false -cleanup.always_use_this_for_non_static_field_access=false -cleanup.always_use_this_for_non_static_method_access=false -cleanup.convert_functional_interfaces=false -cleanup.convert_to_enhanced_for_loop=false -cleanup.correct_indentation=false -cleanup.format_source_code=true -cleanup.format_source_code_changes_only=false -cleanup.insert_inferred_type_arguments=false -cleanup.make_local_variable_final=true -cleanup.make_parameters_final=false -cleanup.make_private_fields_final=true -cleanup.make_type_abstract_if_missing_method=false -cleanup.make_variable_declarations_final=false -cleanup.never_use_blocks=false -cleanup.never_use_parentheses_in_expressions=true -cleanup.organize_imports=true -cleanup.qualify_static_field_accesses_with_declaring_class=false -cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -cleanup.qualify_static_member_accesses_with_declaring_class=false -cleanup.qualify_static_method_accesses_with_declaring_class=false -cleanup.remove_private_constructors=true -cleanup.remove_redundant_modifiers=false -cleanup.remove_redundant_semicolons=true -cleanup.remove_redundant_type_arguments=true -cleanup.remove_trailing_whitespaces=true -cleanup.remove_trailing_whitespaces_all=true -cleanup.remove_trailing_whitespaces_ignore_empty=false -cleanup.remove_unnecessary_casts=true -cleanup.remove_unnecessary_nls_tags=false -cleanup.remove_unused_imports=true -cleanup.remove_unused_local_variables=false -cleanup.remove_unused_private_fields=true -cleanup.remove_unused_private_members=false -cleanup.remove_unused_private_methods=true -cleanup.remove_unused_private_types=true -cleanup.sort_members=false -cleanup.sort_members_all=false -cleanup.use_anonymous_class_creation=false -cleanup.use_blocks=false -cleanup.use_blocks_only_for_return_and_throw=false -cleanup.use_lambda=true -cleanup.use_parentheses_in_expressions=false -cleanup.use_this_for_non_static_field_access=false -cleanup.use_this_for_non_static_field_access_only_if_necessary=true -cleanup.use_this_for_non_static_method_access=false -cleanup.use_this_for_non_static_method_access_only_if_necessary=true -cleanup_profile=_CDT -cleanup_settings_version=2 -eclipse.preferences.version=1 -editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true -formatter_profile=_CDT -formatter_settings_version=14 -internal.default.compliance=user -org.eclipse.jdt.ui.exception.name=e -org.eclipse.jdt.ui.gettersetter.use.is=true -org.eclipse.jdt.ui.ignorelowercasenames=true -org.eclipse.jdt.ui.importorder=java;javax;org;com; -org.eclipse.jdt.ui.keywordthis=false -org.eclipse.jdt.ui.ondemandthreshold=1000 -org.eclipse.jdt.ui.overrideannotation=true -org.eclipse.jdt.ui.staticondemandthreshold=1000 -org.eclipse.jdt.ui.text.custom_code_templates= -sp_cleanup.add_default_serial_version_id=true -sp_cleanup.add_generated_serial_version_id=false -sp_cleanup.add_missing_annotations=true -sp_cleanup.add_missing_deprecated_annotations=true -sp_cleanup.add_missing_methods=false -sp_cleanup.add_missing_nls_tags=false -sp_cleanup.add_missing_override_annotations=true -sp_cleanup.add_missing_override_annotations_interface_methods=true -sp_cleanup.add_serial_version_id=false -sp_cleanup.always_use_blocks=true -sp_cleanup.always_use_parentheses_in_expressions=false -sp_cleanup.always_use_this_for_non_static_field_access=false -sp_cleanup.always_use_this_for_non_static_method_access=false -sp_cleanup.convert_functional_interfaces=false -sp_cleanup.convert_to_enhanced_for_loop=false -sp_cleanup.correct_indentation=false -sp_cleanup.format_source_code=true -sp_cleanup.format_source_code_changes_only=false -sp_cleanup.insert_inferred_type_arguments=false -sp_cleanup.make_local_variable_final=true -sp_cleanup.make_parameters_final=false -sp_cleanup.make_private_fields_final=true -sp_cleanup.make_type_abstract_if_missing_method=false -sp_cleanup.make_variable_declarations_final=false -sp_cleanup.never_use_blocks=false -sp_cleanup.never_use_parentheses_in_expressions=true -sp_cleanup.on_save_use_additional_actions=true -sp_cleanup.organize_imports=true -sp_cleanup.qualify_static_field_accesses_with_declaring_class=false -sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_with_declaring_class=false -sp_cleanup.qualify_static_method_accesses_with_declaring_class=false -sp_cleanup.remove_private_constructors=true -sp_cleanup.remove_redundant_modifiers=false -sp_cleanup.remove_redundant_semicolons=true -sp_cleanup.remove_redundant_type_arguments=true -sp_cleanup.remove_trailing_whitespaces=true -sp_cleanup.remove_trailing_whitespaces_all=true -sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true -sp_cleanup.remove_unnecessary_nls_tags=false -sp_cleanup.remove_unused_imports=true -sp_cleanup.remove_unused_local_variables=false -sp_cleanup.remove_unused_private_fields=true -sp_cleanup.remove_unused_private_members=false -sp_cleanup.remove_unused_private_methods=true -sp_cleanup.remove_unused_private_types=true -sp_cleanup.sort_members=false -sp_cleanup.sort_members_all=false -sp_cleanup.use_anonymous_class_creation=false -sp_cleanup.use_blocks=false -sp_cleanup.use_blocks_only_for_return_and_throw=false -sp_cleanup.use_lambda=true -sp_cleanup.use_parentheses_in_expressions=false -sp_cleanup.use_this_for_non_static_field_access=false -sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true -sp_cleanup.use_this_for_non_static_method_access=false -sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.settings/org.eclipse.pde.api.tools.prefs b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.settings/org.eclipse.pde.api.tools.prefs deleted file mode 100644 index ec9fbf321d0..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.settings/org.eclipse.pde.api.tools.prefs +++ /dev/null @@ -1,184 +0,0 @@ -ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error -API_USE_SCAN_FIELD_SEVERITY=Error -API_USE_SCAN_METHOD_SEVERITY=Error -API_USE_SCAN_TYPE_SEVERITY=Error -CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_FIELD=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_ADDED_METHOD=Error -CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error -CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error -CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error -ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error -ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error -ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -FIELD_ELEMENT_TYPE_ADDED_VALUE=Error -FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error -FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error -FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error -ILLEGAL_EXTEND=Warning -ILLEGAL_IMPLEMENT=Warning -ILLEGAL_INSTANTIATE=Warning -ILLEGAL_OVERRIDE=Warning -ILLEGAL_REFERENCE=Warning -INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -INVALID_ANNOTATION=Ignore -INVALID_JAVADOC_TAG=Error -INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning -LEAK_EXTEND=Warning -LEAK_FIELD_DECL=Warning -LEAK_IMPLEMENT=Warning -LEAK_METHOD_PARAM=Warning -LEAK_METHOD_RETURN_TYPE=Warning -METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -MISSING_EE_DESCRIPTIONS=Warning -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -UNUSED_PROBLEM_FILTERS=Warning -automatically_removed_unused_problem_filters=false -changed_execution_env=Error -eclipse.preferences.version=1 -incompatible_api_component_version=Error -incompatible_api_component_version_include_major_without_breaking_change=Disabled -incompatible_api_component_version_include_minor_without_api_change=Disabled -incompatible_api_component_version_report_major_without_breaking_change=Warning -incompatible_api_component_version_report_minor_without_api_change=Warning -invalid_since_tag_version=Error -malformed_since_tag=Error -missing_since_tag=Error -report_api_breakage_when_major_version_incremented=Disabled -report_resolution_errors_api_component=Warning diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.settings/org.eclipse.pde.prefs b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.settings/org.eclipse.pde.prefs deleted file mode 100644 index 51a63ec9988..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,35 +0,0 @@ -compilers.f.unresolved-features=1 -compilers.f.unresolved-plugins=1 -compilers.incompatible-environment=1 -compilers.p.build=1 -compilers.p.build.bin.includes=1 -compilers.p.build.encodings=2 -compilers.p.build.java.compiler=2 -compilers.p.build.java.compliance=1 -compilers.p.build.missing.output=2 -compilers.p.build.output.library=1 -compilers.p.build.source.library=1 -compilers.p.build.src.includes=1 -compilers.p.deprecated=1 -compilers.p.discouraged-class=1 -compilers.p.internal=1 -compilers.p.missing-packages=2 -compilers.p.missing-version-export-package=2 -compilers.p.missing-version-import-package=2 -compilers.p.missing-version-require-bundle=2 -compilers.p.no-required-att=0 -compilers.p.no.automatic.module=1 -compilers.p.not-externalized-att=2 -compilers.p.service.component.without.lazyactivation=1 -compilers.p.unknown-attribute=1 -compilers.p.unknown-class=1 -compilers.p.unknown-element=1 -compilers.p.unknown-identifier=1 -compilers.p.unknown-resource=1 -compilers.p.unresolved-ex-points=0 -compilers.p.unresolved-import=0 -compilers.s.create-docs=false -compilers.s.doc-folder=doc -compilers.s.open-tags=1 -compilers.use-project=true -eclipse.preferences.version=1 diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/META-INF/MANIFEST.MF b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/META-INF/MANIFEST.MF deleted file mode 100644 index 9088d2c9ae7..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/META-INF/MANIFEST.MF +++ /dev/null @@ -1,18 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: xlC Error Parser Tests Plug-in -Bundle-SymbolicName: org.eclipse.cdt.errorparsers.xlc.tests;singleton:=true -Bundle-Version: 5.0.100.qualifier -Bundle-Activator: org.eclipse.cdt.errorparsers.xlc.tests.TestsPlugin -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.core.resources, - org.eclipse.cdt.core, - org.eclipse.cdt.errorparsers.xlc, - org.junit -Bundle-ActivationPolicy: lazy -Export-Package: org.eclipse.cdt.errorparsers.xlc.tests -Bundle-ClassPath: . -Bundle-Vendor: Eclipse.org -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Automatic-Module-Name: org.eclipse.cdt.errorparsers.xlc.tests diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/about.html b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/about.html deleted file mode 100644 index 164f781a8fd..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/about.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    November 30, 2017

    -

    License

    - -

    - The Eclipse Foundation makes available all content in this plug-in - ("Content"). Unless otherwise indicated below, the Content - is provided to you under the terms and conditions of the Eclipse - Public License Version 2.0 ("EPL"). A copy of the EPL is - available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    - If you did not receive this Content directly from the Eclipse - Foundation, the Content is being redistributed by another party - ("Redistributor") and different terms and conditions may - apply to your use of any object code in the Content. Check the - Redistributor's license that was provided with the Content. If no such - license exists, contact the Redistributor. Unless otherwise indicated - below, the terms and conditions of the EPL still apply to any source - code in the Content and such source code may be obtained at http://www.eclipse.org. -

    - - - \ No newline at end of file diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/build.properties b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/build.properties deleted file mode 100644 index 35a8eda06f5..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/build.properties +++ /dev/null @@ -1,18 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = META-INF/,\ - . -jars.compile.order = org.eclipse.cdt.errorparsers.xlc.tests.jar -src.includes = about.html -source.. = src/ diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/AutomatedIntegrationSuite.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/AutomatedIntegrationSuite.java deleted file mode 100644 index 9070a4356d6..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/AutomatedIntegrationSuite.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.errorparsers.xlc.tests; - -import junit.framework.Test; -import junit.framework.TestSuite; - -public class AutomatedIntegrationSuite { - public static void main(String[] args) { - junit.textui.TestRunner.run(AutomatedIntegrationSuite.suite()); - } - - public static Test suite() { - TestSuite suite = new TestSuite("Testsuite for xlc compiler error parser"); - //$JUnit-BEGIN$ - suite.addTestSuite(TestInformationalMessage_1.class); - suite.addTestSuite(TestInformationalMessage_2.class); - suite.addTestSuite(TestInformationalMessage_3.class); - suite.addTestSuite(TestWarning_1.class); - suite.addTestSuite(TestError_1.class); - suite.addTestSuite(TestSevereError_1.class); - suite.addTestSuite(TestSevereError_2.class); - suite.addTestSuite(TestSevereError_3.class); - suite.addTestSuite(TestSevereError_4.class); - suite.addTestSuite(TestSevereError_5.class); - suite.addTestSuite(TestUnrecoverableError_1.class); - suite.addTestSuite(TestUnrecoverableError_2.class); - suite.addTestSuite(TestUnrecoverableError_3.class); - - suite.addTestSuite(TestCompatibility.class); - suite.addTestSuite(TestRedefinition.class); - suite.addTestSuite(TestRedeclaration.class); - suite.addTestSuite(TestCommandOptionNotRecognized.class); - - suite.addTestSuite(TestLinkerCommandOptionNotRecognized.class); - suite.addTestSuite(TestLinkerUndefinedSymbol.class); - suite.addTestSuite(TestLinkerDuplicateSymbol.class); - suite.addTestSuite(TestLinkerSevereError.class); - suite.addTestSuite(TestLinkerErrorWhileReading.class); - suite.addTestSuite(TestLinkerInfo.class); - - //$JUnit-END$ - return suite; - } -} \ No newline at end of file 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 deleted file mode 100644 index a0e7b916ee5..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestCommandOptionNotRecognized.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013, 2013 Andrew Gvozdev and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * Andrew Gvozdev - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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() { - 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)); - } - - 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 deleted file mode 100644 index 8110adb70bf..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestCompatibility.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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() { - 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)); - } - - 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 deleted file mode 100644 index 1c6024136c9..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestError_1.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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. - */ - 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)); - } - - public TestError_1(String name) { - super(name); - 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 deleted file mode 100644 index f40127588f6..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestInformationalMessage_1.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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. - */ - 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)); - } - - 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."; - } -} \ 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 deleted file mode 100644 index a1e44792fce..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestInformationalMessage_2.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013, 2013 Andrew Gvozdev and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * Andrew Gvozdev - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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() { - 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)); - } - - 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 deleted file mode 100644 index 448ac65ec2f..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestInformationalMessage_3.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013, 2013 Andrew Gvozdev and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * Andrew Gvozdev - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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() { - 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)); - } - - 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 deleted file mode 100644 index 5fd4f205e44..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerCommandOptionNotRecognized.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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() { - 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)); - } - - 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 deleted file mode 100644 index f498ca864fd..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerDuplicateSymbol.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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. - */ - 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)); - } - - 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 deleted file mode 100644 index c8a3b116e88..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerErrorWhileReading.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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. - */ - 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)); - } - - 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 deleted file mode 100644 index 4c7fe713125..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerInfo.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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. - */ - 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)); - } - - 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 deleted file mode 100644 index 15daa18f701..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerSevereError.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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. - */ - 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)); - } - - 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 deleted file mode 100644 index 03059ae7d40..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerUndefinedSymbol.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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. - */ - 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)); - } - - 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 deleted file mode 100644 index 4545f8f8aa7..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestRedeclaration.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -public class TestRedeclaration extends TestCase { - /** - * This function tests parseLine function of the - * XlcErrorParser class. The second message generated by - * xlc compiler for symbol redeclaration problem is given as - * input for testing. - */ - 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("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("temp1.c", aix.getFileName(1)); - assertEquals(6, aix.getLineNumber(1)); - assertEquals(IMarkerGenerator.SEVERITY_ERROR_RESOURCE, aix.getSeverity(1)); - } - - 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 deleted file mode 100644 index d2fddf4c6be..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestRedefinition.java +++ /dev/null @@ -1,64 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -public class TestRedefinition extends TestCase { - /** - * This function tests parseLine function of the - * XlcErrorParser class. The second message generated by - * xlc compiler for macro/variable redefinition problem is given as - * input for testing. - */ - 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. - String err_msg1 = "\"temp1.c\", line 5.9: 1506-236 (W) Macro name TEMP_1 has been redefined."; - String err_msg2 = "\"temp1.c\", line 5.9: 1506-358 (I) \"TEMP_1\" is defined on line 3 of temp1.h."; - // variation of the message - String err_msg3 = "\"temp2.c\", line 17.9: 1506-358 (I) \"MACRO_2\" is defined on line 10 of \"temp2.c\"."; - aix.parseLine(err_msg1); - 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) { - 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 deleted file mode 100644 index 09358ce8a63..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_1.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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. - */ - 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)); - } - - public TestSevereError_1(String name) { - super(name); - 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 deleted file mode 100644 index cf7ab77bfab..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_2.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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. - */ - 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)); - } - - public TestSevereError_2(String name) { - super(name); - 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 deleted file mode 100644 index e2a32aa19e5..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_3.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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. - */ - 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)); - } - - 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"; - } -} \ 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 deleted file mode 100644 index ae723851fd7..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_4.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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. - */ - 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)); - } - - 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."; - } -} \ 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 deleted file mode 100644 index 87f6f35fea4..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSevereError_5.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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. - */ - 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)); - } - - public TestSevereError_5(String name) { - super(name); - 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 deleted file mode 100644 index 6ec0025598f..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError_1.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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() { - 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)); - } - - public TestUnrecoverableError_1(String name) { - super(name); - 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 deleted file mode 100644 index ecaa304bc9c..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError_2.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013, 2013 Andrew Gvozdev and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * Andrew Gvozdev - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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() { - 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)); - } - - 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 deleted file mode 100644 index 41615b877db..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError_3.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013, 2013 Andrew Gvozdev and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * Andrew Gvozdev - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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() { - 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)); - } - - 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 deleted file mode 100644 index 632fb9254a3..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestWarning_1.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.errorparsers.xlc.tests; - -import org.eclipse.cdt.core.IMarkerGenerator; - -import junit.framework.TestCase; - -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. - */ - 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)); - } - - public TestWarning_1(String name) { - super(name); - 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 deleted file mode 100644 index 00fa2c7161a..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestsPlugin.java +++ /dev/null @@ -1,103 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.errorparsers.xlc.tests; - -import java.util.MissingResourceException; -import java.util.ResourceBundle; - -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; - -/** - * The main plugin class to be used in the desktop. - */ -public class TestsPlugin extends AbstractUIPlugin { - //The shared instance. - private static TestsPlugin plugin; - //Resource bundle. - private ResourceBundle resourceBundle; - - /** - * The constructor. - */ - public TestsPlugin() { - super(); - plugin = this; - } - - /** - * This method is called upon plug-in activation - */ - @Override - public void start(BundleContext context) throws Exception { - super.start(context); - } - - /** - * This method is called when the plug-in is stopped - */ - @Override - public void stop(BundleContext context) throws Exception { - super.stop(context); - plugin = null; - resourceBundle = null; - } - - /** - * Returns the shared instance. - */ - public static TestsPlugin getDefault() { - return plugin; - } - - /** - * Returns the string from the plugin's resource bundle, - * or 'key' if not found. - */ - public static String getResourceString(String key) { - ResourceBundle bundle = TestsPlugin.getDefault().getResourceBundle(); - try { - return (bundle != null) ? bundle.getString(key) : key; - } catch (MissingResourceException e) { - return key; - } - } - - /** - * Returns the plugin's resource bundle, - */ - public ResourceBundle getResourceBundle() { - try { - if (resourceBundle == null) - resourceBundle = ResourceBundle - .getBundle("org.eclipse.cdt.errorparsers.xlc.tests.TestsPluginResources"); - } catch (MissingResourceException x) { - resourceBundle = null; - } - return resourceBundle; - } - - /** - * Returns an image descriptor for the image file at the given - * plug-in relative path. - * - * @param path the path - * @return the image descriptor - */ - public static ImageDescriptor getImageDescriptor(String path) { - return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.cdt.errorparsers.xlc.tests", path); - } -} 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 deleted file mode 100644 index da531ab13ef..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/XlcErrorParserTester.java +++ /dev/null @@ -1,160 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2014 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - * Andrew Gvozdev - *******************************************************************************/ - -package org.eclipse.cdt.errorparsers.xlc.tests; - -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.fail; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.cdt.core.ErrorParserManager; -import org.eclipse.cdt.core.IErrorParserNamed; -import org.eclipse.cdt.core.IMarkerGenerator; -import org.eclipse.cdt.core.ProblemMarkerInfo; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; - -/* - * Helper tester class to be able to test XlcErrorParser which extends AbstractErrorParser. - */ - -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++); - - XlcErrorParserTester() { - try { - fTempProject.create(null); - } catch (CoreException e) { - e.printStackTrace(); - fail("Exception creating temporary project " + fTempProject.getName() + ": " + e); - } - } - - private class MarkerData { - private String fileName; - private int lineNumber; - private int severity; - private String message; - } - - private List markerDataList = new ArrayList<>(); - - /* - * Dummy class implementing IMarkerGenerator lets get through testing - * without NPE. - */ - private class MockMarkerGenerator implements IMarkerGenerator { - - @Override - public void addMarker(IResource file, int lineNumber, String errorDesc, int severity, String errorVar) { - // dummy - } - - @Override - public void addMarker(ProblemMarkerInfo problemMarkerInfo) { - // dummy - } - - } - - /* - * Class MockErrorParserManager replaces ErrorParserManager - * with the purpose to be able to inquire how the line was parsed. - * fileName, lineNumber, message and severity are populated - * to be accessed from the test cases. - * Relying on internal implementation of ErrorPattern.RecordError() - * to provide necessary data via generateExternalMarker() call - */ - private class MockErrorParserManager extends ErrorParserManager { - - private MockErrorParserManager() { - super(fTempProject, new MockMarkerGenerator()); - } - - /* - * A stub function just to return non-null IFile. - * Necessary to trick ErrorPattern.RecordError() to generate markers. - */ - @Override - public IFile findFileName(String fileName) { - if (fileName != null && fileName.trim().length() > 0) - return fTempProject.getFile(fileName); - return null; - } - - /** - * Called by ErrorPattern.RecordError() for external problem markers - */ - @Override - 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) { - markerData.fileName = rc.getName(); - } else { - markerData.fileName = ""; - } - markerData.lineNumber = lineNumb; - markerData.message = desc; - markerData.severity = sev; - - markerDataList.add(markerData); - } - } - - /** - * Main method called by individual error parser tests. - * @param line one xlC error message - * @return - */ - boolean parseLine(String line) { - IErrorParserNamed errorParser = ErrorParserManager.getErrorParserCopy(XLC_ERROR_PARSER_ID); - assertNotNull(errorParser); - - MockErrorParserManager epManager = new MockErrorParserManager(); - return errorParser.processLine(line, epManager); - } - - int getNumberOfMarkers() { - return markerDataList.size(); - } - - String getFileName(int i) { - return markerDataList.get(i).fileName; - } - - int getLineNumber(int i) { - return markerDataList.get(i).lineNumber; - } - - int getSeverity(int i) { - return markerDataList.get(i).severity; - } - - String getMessage(int i) { - return markerDataList.get(i).message; - } -} diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc/.classpath b/xlc/org.eclipse.cdt.errorparsers.xlc/.classpath deleted file mode 100644 index eca7bdba8f0..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc/.project b/xlc/org.eclipse.cdt.errorparsers.xlc/.project deleted file mode 100644 index 510561ddc19..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.eclipse.cdt.errorparsers.xlc - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc/.settings/org.eclipse.jdt.core.prefs b/xlc/org.eclipse.cdt.errorparsers.xlc/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 2b6ecff8a01..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,464 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.cleanOutputFolder=clean -org.eclipse.jdt.core.builder.duplicateResourceTask=warning -org.eclipse.jdt.core.builder.invalidClasspath=abort -org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore -org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch, *.xtend -org.eclipse.jdt.core.circularClasspath=error -org.eclipse.jdt.core.classpath.exclusionPatterns=enabled -org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error -org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled -org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error -org.eclipse.jdt.core.codeComplete.argumentPrefixes= -org.eclipse.jdt.core.codeComplete.argumentSuffixes= -org.eclipse.jdt.core.codeComplete.fieldPrefixes= -org.eclipse.jdt.core.codeComplete.fieldSuffixes= -org.eclipse.jdt.core.codeComplete.localPrefixes= -org.eclipse.jdt.core.codeComplete.localSuffixes= -org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.8 -org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false -org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 -org.eclipse.jdt.core.formatter.align_type_members_on_columns=false -org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false -org.eclipse.jdt.core.formatter.align_with_spaces=false -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_assignment=0 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 -org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 -org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 -org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 -org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 -org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 -org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 -org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 -org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 -org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_after_package=1 -org.eclipse.jdt.core.formatter.blank_lines_before_field=0 -org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 -org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 -org.eclipse.jdt.core.formatter.blank_lines_before_method=1 -org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 -org.eclipse.jdt.core.formatter.blank_lines_before_package=0 -org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 -org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 -org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true -org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false -org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true -org.eclipse.jdt.core.formatter.comment.format_block_comments=false -org.eclipse.jdt.core.formatter.comment.format_header=false -org.eclipse.jdt.core.formatter.comment.format_html=true -org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false -org.eclipse.jdt.core.formatter.comment.format_line_comments=false -org.eclipse.jdt.core.formatter.comment.format_source_code=true -org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false -org.eclipse.jdt.core.formatter.comment.indent_root_tags=false -org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert -org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert -org.eclipse.jdt.core.formatter.comment.line_length=80 -org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true -org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true -org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false -org.eclipse.jdt.core.formatter.compact_else_if=true -org.eclipse.jdt.core.formatter.continuation_indentation=2 -org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 -org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off -org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on -org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false -org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true -org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_empty_lines=false -org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true -org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false -org.eclipse.jdt.core.formatter.indentation.size=4 -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert -org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert -org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert -org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.join_lines_in_comments=true -org.eclipse.jdt.core.formatter.join_wrapped_lines=true -org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false -org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false -org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false -org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false -org.eclipse.jdt.core.formatter.lineSplit=120 -org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false -org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false -org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 -org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 -org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines -org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true -org.eclipse.jdt.core.formatter.tabulation.char=tab -org.eclipse.jdt.core.formatter.tabulation.size=4 -org.eclipse.jdt.core.formatter.use_on_off_tags=true -org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false -org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true -org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true -org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true -org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true -org.eclipse.jdt.core.incompatibleJDKLevel=ignore -org.eclipse.jdt.core.incompleteClasspath=error -org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc/.settings/org.eclipse.jdt.launching.prefs b/xlc/org.eclipse.cdt.errorparsers.xlc/.settings/org.eclipse.jdt.launching.prefs deleted file mode 100644 index f8a131b56e0..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc/.settings/org.eclipse.jdt.launching.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=warning -org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=warning diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc/.settings/org.eclipse.jdt.ui.prefs b/xlc/org.eclipse.cdt.errorparsers.xlc/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index e44576346c4..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,133 +0,0 @@ -cleanup.add_default_serial_version_id=true -cleanup.add_generated_serial_version_id=false -cleanup.add_missing_annotations=true -cleanup.add_missing_deprecated_annotations=true -cleanup.add_missing_methods=false -cleanup.add_missing_nls_tags=false -cleanup.add_missing_override_annotations=true -cleanup.add_missing_override_annotations_interface_methods=true -cleanup.add_serial_version_id=false -cleanup.always_use_blocks=true -cleanup.always_use_parentheses_in_expressions=false -cleanup.always_use_this_for_non_static_field_access=false -cleanup.always_use_this_for_non_static_method_access=false -cleanup.convert_functional_interfaces=false -cleanup.convert_to_enhanced_for_loop=false -cleanup.correct_indentation=false -cleanup.format_source_code=true -cleanup.format_source_code_changes_only=false -cleanup.insert_inferred_type_arguments=false -cleanup.make_local_variable_final=true -cleanup.make_parameters_final=false -cleanup.make_private_fields_final=true -cleanup.make_type_abstract_if_missing_method=false -cleanup.make_variable_declarations_final=false -cleanup.never_use_blocks=false -cleanup.never_use_parentheses_in_expressions=true -cleanup.organize_imports=true -cleanup.qualify_static_field_accesses_with_declaring_class=false -cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -cleanup.qualify_static_member_accesses_with_declaring_class=false -cleanup.qualify_static_method_accesses_with_declaring_class=false -cleanup.remove_private_constructors=true -cleanup.remove_redundant_modifiers=false -cleanup.remove_redundant_semicolons=true -cleanup.remove_redundant_type_arguments=true -cleanup.remove_trailing_whitespaces=true -cleanup.remove_trailing_whitespaces_all=true -cleanup.remove_trailing_whitespaces_ignore_empty=false -cleanup.remove_unnecessary_casts=true -cleanup.remove_unnecessary_nls_tags=false -cleanup.remove_unused_imports=true -cleanup.remove_unused_local_variables=false -cleanup.remove_unused_private_fields=true -cleanup.remove_unused_private_members=false -cleanup.remove_unused_private_methods=true -cleanup.remove_unused_private_types=true -cleanup.sort_members=false -cleanup.sort_members_all=false -cleanup.use_anonymous_class_creation=false -cleanup.use_blocks=false -cleanup.use_blocks_only_for_return_and_throw=false -cleanup.use_lambda=true -cleanup.use_parentheses_in_expressions=false -cleanup.use_this_for_non_static_field_access=false -cleanup.use_this_for_non_static_field_access_only_if_necessary=true -cleanup.use_this_for_non_static_method_access=false -cleanup.use_this_for_non_static_method_access_only_if_necessary=true -cleanup_profile=_CDT -cleanup_settings_version=2 -eclipse.preferences.version=1 -editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true -formatter_profile=_CDT -formatter_settings_version=14 -internal.default.compliance=user -org.eclipse.jdt.ui.exception.name=e -org.eclipse.jdt.ui.gettersetter.use.is=true -org.eclipse.jdt.ui.ignorelowercasenames=true -org.eclipse.jdt.ui.importorder=java;javax;org;com; -org.eclipse.jdt.ui.keywordthis=false -org.eclipse.jdt.ui.ondemandthreshold=1000 -org.eclipse.jdt.ui.overrideannotation=true -org.eclipse.jdt.ui.staticondemandthreshold=1000 -org.eclipse.jdt.ui.text.custom_code_templates= -sp_cleanup.add_default_serial_version_id=true -sp_cleanup.add_generated_serial_version_id=false -sp_cleanup.add_missing_annotations=true -sp_cleanup.add_missing_deprecated_annotations=true -sp_cleanup.add_missing_methods=false -sp_cleanup.add_missing_nls_tags=false -sp_cleanup.add_missing_override_annotations=true -sp_cleanup.add_missing_override_annotations_interface_methods=true -sp_cleanup.add_serial_version_id=false -sp_cleanup.always_use_blocks=true -sp_cleanup.always_use_parentheses_in_expressions=false -sp_cleanup.always_use_this_for_non_static_field_access=false -sp_cleanup.always_use_this_for_non_static_method_access=false -sp_cleanup.convert_functional_interfaces=false -sp_cleanup.convert_to_enhanced_for_loop=false -sp_cleanup.correct_indentation=false -sp_cleanup.format_source_code=true -sp_cleanup.format_source_code_changes_only=false -sp_cleanup.insert_inferred_type_arguments=false -sp_cleanup.make_local_variable_final=true -sp_cleanup.make_parameters_final=false -sp_cleanup.make_private_fields_final=true -sp_cleanup.make_type_abstract_if_missing_method=false -sp_cleanup.make_variable_declarations_final=false -sp_cleanup.never_use_blocks=false -sp_cleanup.never_use_parentheses_in_expressions=true -sp_cleanup.on_save_use_additional_actions=true -sp_cleanup.organize_imports=true -sp_cleanup.qualify_static_field_accesses_with_declaring_class=false -sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_with_declaring_class=false -sp_cleanup.qualify_static_method_accesses_with_declaring_class=false -sp_cleanup.remove_private_constructors=true -sp_cleanup.remove_redundant_modifiers=false -sp_cleanup.remove_redundant_semicolons=true -sp_cleanup.remove_redundant_type_arguments=true -sp_cleanup.remove_trailing_whitespaces=true -sp_cleanup.remove_trailing_whitespaces_all=true -sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true -sp_cleanup.remove_unnecessary_nls_tags=false -sp_cleanup.remove_unused_imports=true -sp_cleanup.remove_unused_local_variables=false -sp_cleanup.remove_unused_private_fields=true -sp_cleanup.remove_unused_private_members=false -sp_cleanup.remove_unused_private_methods=true -sp_cleanup.remove_unused_private_types=true -sp_cleanup.sort_members=false -sp_cleanup.sort_members_all=false -sp_cleanup.use_anonymous_class_creation=false -sp_cleanup.use_blocks=false -sp_cleanup.use_blocks_only_for_return_and_throw=false -sp_cleanup.use_lambda=true -sp_cleanup.use_parentheses_in_expressions=false -sp_cleanup.use_this_for_non_static_field_access=false -sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true -sp_cleanup.use_this_for_non_static_method_access=false -sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc/.settings/org.eclipse.pde.api.tools.prefs b/xlc/org.eclipse.cdt.errorparsers.xlc/.settings/org.eclipse.pde.api.tools.prefs deleted file mode 100644 index ec9fbf321d0..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc/.settings/org.eclipse.pde.api.tools.prefs +++ /dev/null @@ -1,184 +0,0 @@ -ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error -API_USE_SCAN_FIELD_SEVERITY=Error -API_USE_SCAN_METHOD_SEVERITY=Error -API_USE_SCAN_TYPE_SEVERITY=Error -CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_FIELD=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_ADDED_METHOD=Error -CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error -CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error -CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error -ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error -ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error -ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -FIELD_ELEMENT_TYPE_ADDED_VALUE=Error -FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error -FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error -FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error -ILLEGAL_EXTEND=Warning -ILLEGAL_IMPLEMENT=Warning -ILLEGAL_INSTANTIATE=Warning -ILLEGAL_OVERRIDE=Warning -ILLEGAL_REFERENCE=Warning -INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -INVALID_ANNOTATION=Ignore -INVALID_JAVADOC_TAG=Error -INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning -LEAK_EXTEND=Warning -LEAK_FIELD_DECL=Warning -LEAK_IMPLEMENT=Warning -LEAK_METHOD_PARAM=Warning -LEAK_METHOD_RETURN_TYPE=Warning -METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -MISSING_EE_DESCRIPTIONS=Warning -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -UNUSED_PROBLEM_FILTERS=Warning -automatically_removed_unused_problem_filters=false -changed_execution_env=Error -eclipse.preferences.version=1 -incompatible_api_component_version=Error -incompatible_api_component_version_include_major_without_breaking_change=Disabled -incompatible_api_component_version_include_minor_without_api_change=Disabled -incompatible_api_component_version_report_major_without_breaking_change=Warning -incompatible_api_component_version_report_minor_without_api_change=Warning -invalid_since_tag_version=Error -malformed_since_tag=Error -missing_since_tag=Error -report_api_breakage_when_major_version_incremented=Disabled -report_resolution_errors_api_component=Warning diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc/.settings/org.eclipse.pde.prefs b/xlc/org.eclipse.cdt.errorparsers.xlc/.settings/org.eclipse.pde.prefs deleted file mode 100644 index d2dc703ba9e..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,35 +0,0 @@ -compilers.f.unresolved-features=1 -compilers.f.unresolved-plugins=1 -compilers.incompatible-environment=1 -compilers.p.build=1 -compilers.p.build.bin.includes=1 -compilers.p.build.encodings=2 -compilers.p.build.java.compiler=2 -compilers.p.build.java.compliance=1 -compilers.p.build.missing.output=2 -compilers.p.build.output.library=1 -compilers.p.build.source.library=1 -compilers.p.build.src.includes=1 -compilers.p.deprecated=1 -compilers.p.discouraged-class=1 -compilers.p.internal=1 -compilers.p.missing-packages=2 -compilers.p.missing-version-export-package=2 -compilers.p.missing-version-import-package=2 -compilers.p.missing-version-require-bundle=2 -compilers.p.no-required-att=0 -compilers.p.no.automatic.module=1 -compilers.p.not-externalized-att=1 -compilers.p.service.component.without.lazyactivation=1 -compilers.p.unknown-attribute=1 -compilers.p.unknown-class=1 -compilers.p.unknown-element=1 -compilers.p.unknown-identifier=1 -compilers.p.unknown-resource=1 -compilers.p.unresolved-ex-points=0 -compilers.p.unresolved-import=0 -compilers.s.create-docs=false -compilers.s.doc-folder=doc -compilers.s.open-tags=1 -compilers.use-project=true -eclipse.preferences.version=1 diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc/META-INF/MANIFEST.MF b/xlc/org.eclipse.cdt.errorparsers.xlc/META-INF/MANIFEST.MF deleted file mode 100644 index 9b79b73f553..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc/META-INF/MANIFEST.MF +++ /dev/null @@ -1,16 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.cdt.errorparsers.xlc; singleton:=true -Bundle-Version: 5.0.101.qualifier -Bundle-Activator: org.eclipse.cdt.errorparsers.xlc.Activator -Bundle-Localization: plugin -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.cdt.core, - org.eclipse.core.resources -Bundle-ActivationPolicy: lazy -Export-Package: org.eclipse.cdt.errorparsers.xlc -Bundle-Vendor: %providerName -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Automatic-Module-Name: org.eclipse.cdt.errorparsers.xlc diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc/about.html b/xlc/org.eclipse.cdt.errorparsers.xlc/about.html deleted file mode 100644 index 164f781a8fd..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc/about.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    November 30, 2017

    -

    License

    - -

    - The Eclipse Foundation makes available all content in this plug-in - ("Content"). Unless otherwise indicated below, the Content - is provided to you under the terms and conditions of the Eclipse - Public License Version 2.0 ("EPL"). A copy of the EPL is - available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    - If you did not receive this Content directly from the Eclipse - Foundation, the Content is being redistributed by another party - ("Redistributor") and different terms and conditions may - apply to your use of any object code in the Content. Check the - Redistributor's license that was provided with the Content. If no such - license exists, contact the Redistributor. Unless otherwise indicated - below, the terms and conditions of the EPL still apply to any source - code in the Content and such source code may be obtained at http://www.eclipse.org. -

    - - - \ No newline at end of file diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc/build.properties b/xlc/org.eclipse.cdt.errorparsers.xlc/build.properties deleted file mode 100644 index cdba9cf7df1..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc/build.properties +++ /dev/null @@ -1,21 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - plugin.properties,\ - plugin.xml,\ - about.html -src.includes = about.html diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc/plugin.properties b/xlc/org.eclipse.cdt.errorparsers.xlc/plugin.properties deleted file mode 100755 index 8bed0bb728a..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc/plugin.properties +++ /dev/null @@ -1,58 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2010 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# plugin.properties -# contains externalized strings for plugin.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. -pluginName=xlC Error Parser Test Plugin -providerName=Eclipse CDT - -CDTXLCErrorParser.name=xlC Error Parser - -# Translators: do not translate patterns below. We currently do not support NL versions of the XL C/C++ compilers. -# Following are patterns of xlC compiler messages. While translating the patterns should be replaced -# with corresponding patterns matching localized compiler messages - -# START NON-TRANSLATABLE -# "hello.c", line 5.9: 1506-358 (I) "MACRO" is defined on line 3 of hello.h. -CDTXLCErrorParser.pattern.macro="?([^"]*)"?, line ([0-9]+)\\.[0-9]+:( [0-9]*-[0-9]*)? \\(I\\)\\s*(.*) is defined on line ([0-9]+) of "?([^"]*)"?\\. -CDTXLCErrorParser.pattern.macro.replacement=$4 has been redefined on line $2 of $1 -CDTXLCErrorParser.pattern.macro.crossreference=$4 redefines original definition on line $5 of $6 -CDTXLCErrorParser.pattern.macro.ignore="?([^"]*)"?, line ([0-9]+)\\.[0-9]+:( [0-9]*-[0-9]*)? \\(W\\)\\s*Macro name .* has been redefined\\. -# "src/temp1.c", line 6.6: 1506-343 (S) Redeclaration of fun differs from previous declaration on line 334 of "include/temp1.h". -CDTXLCErrorParser.pattern.redeclaration="?([^"]*)"?, line ([0-9]+)\\.[0-9]+:( [0-9]*-[0-9]*)? \\(S\\)\\s*Redeclaration of (\\w+) differs from previous declaration on line (\\d+) of "?([^"]*)"?\\. -CDTXLCErrorParser.pattern.redeclaration.crossreference=Redeclaration of $4 differs from another declaration on line $2 of "$1". -# "main.cpp", line 10.6: 1540-0064 (S) Syntax error: "name" was expected but "char" was found. -CDTXLCErrorParser.pattern.error="?([^"]*)"?, line ([0-9]+)\\.[0-9]+:( [0-9]*-[0-9]*)? \\([USE]\\)\\s*(.*) -CDTXLCErrorParser.pattern.warning="?([^"]*)"?, line ([0-9]+)\\.[0-9]+:( [0-9]*-[0-9]*)? \\(W\\)\\s*(.*) -CDTXLCErrorParser.pattern.info="?([^"]*)"?, line ([0-9]+)\\.[0-9]+:( [0-9]*-[0-9]*)? \\(I\\)\\s*(.*) -# 1586-346 (U) An error occurred during code generation. The code generation return code was 1. -CDTXLCErrorParser.pattern.error2=\\s*([0-9]*-[0-9]*:?)? \\([USE]\\)\\s*(.*) -# /usr/vacpp/bin/xlc: 1501-216 command option 9 is not recognized - passed to ld -CDTXLCErrorParser.pattern.warning2=/[/\\w]+: [0-9]+-[0-9]+\\s*(.*) -# 1500-030: (I) INFORMATION: clazz::fun(): Additional optimization may be attained by recompiling and specifying MAXMEM option with a value greater than 8192. -# 1540-5336 (I) Global variable "__td __td__Q2_3std13runtime_error" is not used. -CDTXLCErrorParser.pattern.info2=\\s*([0-9]*-[0-9]*:?)? \\(I\\)( INFORMATION:)?\\s*(.*) -# ld: 0711-224 WARNING: Duplicate symbol: symboldupe -# WARNING, ERROR, SEVERE ERROR etc. -CDTXLCErrorParser.pattern.ld.error=ld: ([0-9]+-[0-9]+).*ERROR:\\s*(.*) -CDTXLCErrorParser.pattern.ld.warning=ld: ([0-9]+-[0-9]+)\\s*WARNING:\\s*(.*) -# ld: 0706-012 The -9 flag is not recognized. -CDTXLCErrorParser.pattern.ld.warning2=ld: 0706-012\\s*(.*) -# ld: 0711-987 Error occurred while reading file -CDTXLCErrorParser.pattern.ld.error2=ld: ([0-9]+-[0-9]+)\\s*(Error .*) -# ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. -CDTXLCErrorParser.pattern.ld.info=ld: ([0-9]+-[0-9]+)\\s*(.*) -# END NON-TRANSLATABLE diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc/plugin.xml b/xlc/org.eclipse.cdt.errorparsers.xlc/plugin.xml deleted file mode 100644 index dff6bff116d..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc/plugin.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - 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 deleted file mode 100644 index b6b79497b3c..00000000000 --- a/xlc/org.eclipse.cdt.errorparsers.xlc/src/org/eclipse/cdt/errorparsers/xlc/Activator.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.errorparsers.xlc; - -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; - -/** - * The activator class controls the plug-in life cycle - */ -public class Activator extends AbstractUIPlugin { - - // The plug-in ID - public static final String PLUGIN_ID = "org.eclipse.cdt.errorparsers.xlc"; //$NON-NLS-1$ - - // The shared instance - private static Activator plugin; - - /** - * The constructor - */ - public Activator() { - plugin = this; - } - - @Override - public void start(BundleContext context) throws Exception { - super.start(context); - } - - @Override - public void stop(BundleContext context) throws Exception { - plugin = null; - super.stop(context); - } - - /** - * Returns the shared instance - * - * @return the shared instance - */ - public static Activator getDefault() { - return plugin; - } - -} diff --git a/xlc/org.eclipse.cdt.make.xlc.core/.classpath b/xlc/org.eclipse.cdt.make.xlc.core/.classpath deleted file mode 100644 index 22f30643cba..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/xlc/org.eclipse.cdt.make.xlc.core/.project b/xlc/org.eclipse.cdt.make.xlc.core/.project deleted file mode 100644 index 3c0a75dc578..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.eclipse.cdt.make.xlc.core - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/xlc/org.eclipse.cdt.make.xlc.core/.settings/org.eclipse.jdt.core.prefs b/xlc/org.eclipse.cdt.make.xlc.core/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 2b6ecff8a01..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,464 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.cleanOutputFolder=clean -org.eclipse.jdt.core.builder.duplicateResourceTask=warning -org.eclipse.jdt.core.builder.invalidClasspath=abort -org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore -org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch, *.xtend -org.eclipse.jdt.core.circularClasspath=error -org.eclipse.jdt.core.classpath.exclusionPatterns=enabled -org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error -org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled -org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error -org.eclipse.jdt.core.codeComplete.argumentPrefixes= -org.eclipse.jdt.core.codeComplete.argumentSuffixes= -org.eclipse.jdt.core.codeComplete.fieldPrefixes= -org.eclipse.jdt.core.codeComplete.fieldSuffixes= -org.eclipse.jdt.core.codeComplete.localPrefixes= -org.eclipse.jdt.core.codeComplete.localSuffixes= -org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.8 -org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false -org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 -org.eclipse.jdt.core.formatter.align_type_members_on_columns=false -org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false -org.eclipse.jdt.core.formatter.align_with_spaces=false -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_assignment=0 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 -org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 -org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 -org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 -org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 -org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 -org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 -org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 -org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 -org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_after_package=1 -org.eclipse.jdt.core.formatter.blank_lines_before_field=0 -org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 -org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 -org.eclipse.jdt.core.formatter.blank_lines_before_method=1 -org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 -org.eclipse.jdt.core.formatter.blank_lines_before_package=0 -org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 -org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 -org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true -org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false -org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true -org.eclipse.jdt.core.formatter.comment.format_block_comments=false -org.eclipse.jdt.core.formatter.comment.format_header=false -org.eclipse.jdt.core.formatter.comment.format_html=true -org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false -org.eclipse.jdt.core.formatter.comment.format_line_comments=false -org.eclipse.jdt.core.formatter.comment.format_source_code=true -org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false -org.eclipse.jdt.core.formatter.comment.indent_root_tags=false -org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert -org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert -org.eclipse.jdt.core.formatter.comment.line_length=80 -org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true -org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true -org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false -org.eclipse.jdt.core.formatter.compact_else_if=true -org.eclipse.jdt.core.formatter.continuation_indentation=2 -org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 -org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off -org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on -org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false -org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true -org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_empty_lines=false -org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true -org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false -org.eclipse.jdt.core.formatter.indentation.size=4 -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert -org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert -org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert -org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.join_lines_in_comments=true -org.eclipse.jdt.core.formatter.join_wrapped_lines=true -org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false -org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false -org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false -org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false -org.eclipse.jdt.core.formatter.lineSplit=120 -org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false -org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false -org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 -org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 -org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines -org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true -org.eclipse.jdt.core.formatter.tabulation.char=tab -org.eclipse.jdt.core.formatter.tabulation.size=4 -org.eclipse.jdt.core.formatter.use_on_off_tags=true -org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false -org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true -org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true -org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true -org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true -org.eclipse.jdt.core.incompatibleJDKLevel=ignore -org.eclipse.jdt.core.incompleteClasspath=error -org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/xlc/org.eclipse.cdt.make.xlc.core/.settings/org.eclipse.jdt.launching.prefs b/xlc/org.eclipse.cdt.make.xlc.core/.settings/org.eclipse.jdt.launching.prefs deleted file mode 100644 index f8a131b56e0..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/.settings/org.eclipse.jdt.launching.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=warning -org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=warning diff --git a/xlc/org.eclipse.cdt.make.xlc.core/.settings/org.eclipse.jdt.ui.prefs b/xlc/org.eclipse.cdt.make.xlc.core/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index e44576346c4..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,133 +0,0 @@ -cleanup.add_default_serial_version_id=true -cleanup.add_generated_serial_version_id=false -cleanup.add_missing_annotations=true -cleanup.add_missing_deprecated_annotations=true -cleanup.add_missing_methods=false -cleanup.add_missing_nls_tags=false -cleanup.add_missing_override_annotations=true -cleanup.add_missing_override_annotations_interface_methods=true -cleanup.add_serial_version_id=false -cleanup.always_use_blocks=true -cleanup.always_use_parentheses_in_expressions=false -cleanup.always_use_this_for_non_static_field_access=false -cleanup.always_use_this_for_non_static_method_access=false -cleanup.convert_functional_interfaces=false -cleanup.convert_to_enhanced_for_loop=false -cleanup.correct_indentation=false -cleanup.format_source_code=true -cleanup.format_source_code_changes_only=false -cleanup.insert_inferred_type_arguments=false -cleanup.make_local_variable_final=true -cleanup.make_parameters_final=false -cleanup.make_private_fields_final=true -cleanup.make_type_abstract_if_missing_method=false -cleanup.make_variable_declarations_final=false -cleanup.never_use_blocks=false -cleanup.never_use_parentheses_in_expressions=true -cleanup.organize_imports=true -cleanup.qualify_static_field_accesses_with_declaring_class=false -cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -cleanup.qualify_static_member_accesses_with_declaring_class=false -cleanup.qualify_static_method_accesses_with_declaring_class=false -cleanup.remove_private_constructors=true -cleanup.remove_redundant_modifiers=false -cleanup.remove_redundant_semicolons=true -cleanup.remove_redundant_type_arguments=true -cleanup.remove_trailing_whitespaces=true -cleanup.remove_trailing_whitespaces_all=true -cleanup.remove_trailing_whitespaces_ignore_empty=false -cleanup.remove_unnecessary_casts=true -cleanup.remove_unnecessary_nls_tags=false -cleanup.remove_unused_imports=true -cleanup.remove_unused_local_variables=false -cleanup.remove_unused_private_fields=true -cleanup.remove_unused_private_members=false -cleanup.remove_unused_private_methods=true -cleanup.remove_unused_private_types=true -cleanup.sort_members=false -cleanup.sort_members_all=false -cleanup.use_anonymous_class_creation=false -cleanup.use_blocks=false -cleanup.use_blocks_only_for_return_and_throw=false -cleanup.use_lambda=true -cleanup.use_parentheses_in_expressions=false -cleanup.use_this_for_non_static_field_access=false -cleanup.use_this_for_non_static_field_access_only_if_necessary=true -cleanup.use_this_for_non_static_method_access=false -cleanup.use_this_for_non_static_method_access_only_if_necessary=true -cleanup_profile=_CDT -cleanup_settings_version=2 -eclipse.preferences.version=1 -editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true -formatter_profile=_CDT -formatter_settings_version=14 -internal.default.compliance=user -org.eclipse.jdt.ui.exception.name=e -org.eclipse.jdt.ui.gettersetter.use.is=true -org.eclipse.jdt.ui.ignorelowercasenames=true -org.eclipse.jdt.ui.importorder=java;javax;org;com; -org.eclipse.jdt.ui.keywordthis=false -org.eclipse.jdt.ui.ondemandthreshold=1000 -org.eclipse.jdt.ui.overrideannotation=true -org.eclipse.jdt.ui.staticondemandthreshold=1000 -org.eclipse.jdt.ui.text.custom_code_templates= -sp_cleanup.add_default_serial_version_id=true -sp_cleanup.add_generated_serial_version_id=false -sp_cleanup.add_missing_annotations=true -sp_cleanup.add_missing_deprecated_annotations=true -sp_cleanup.add_missing_methods=false -sp_cleanup.add_missing_nls_tags=false -sp_cleanup.add_missing_override_annotations=true -sp_cleanup.add_missing_override_annotations_interface_methods=true -sp_cleanup.add_serial_version_id=false -sp_cleanup.always_use_blocks=true -sp_cleanup.always_use_parentheses_in_expressions=false -sp_cleanup.always_use_this_for_non_static_field_access=false -sp_cleanup.always_use_this_for_non_static_method_access=false -sp_cleanup.convert_functional_interfaces=false -sp_cleanup.convert_to_enhanced_for_loop=false -sp_cleanup.correct_indentation=false -sp_cleanup.format_source_code=true -sp_cleanup.format_source_code_changes_only=false -sp_cleanup.insert_inferred_type_arguments=false -sp_cleanup.make_local_variable_final=true -sp_cleanup.make_parameters_final=false -sp_cleanup.make_private_fields_final=true -sp_cleanup.make_type_abstract_if_missing_method=false -sp_cleanup.make_variable_declarations_final=false -sp_cleanup.never_use_blocks=false -sp_cleanup.never_use_parentheses_in_expressions=true -sp_cleanup.on_save_use_additional_actions=true -sp_cleanup.organize_imports=true -sp_cleanup.qualify_static_field_accesses_with_declaring_class=false -sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_with_declaring_class=false -sp_cleanup.qualify_static_method_accesses_with_declaring_class=false -sp_cleanup.remove_private_constructors=true -sp_cleanup.remove_redundant_modifiers=false -sp_cleanup.remove_redundant_semicolons=true -sp_cleanup.remove_redundant_type_arguments=true -sp_cleanup.remove_trailing_whitespaces=true -sp_cleanup.remove_trailing_whitespaces_all=true -sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true -sp_cleanup.remove_unnecessary_nls_tags=false -sp_cleanup.remove_unused_imports=true -sp_cleanup.remove_unused_local_variables=false -sp_cleanup.remove_unused_private_fields=true -sp_cleanup.remove_unused_private_members=false -sp_cleanup.remove_unused_private_methods=true -sp_cleanup.remove_unused_private_types=true -sp_cleanup.sort_members=false -sp_cleanup.sort_members_all=false -sp_cleanup.use_anonymous_class_creation=false -sp_cleanup.use_blocks=false -sp_cleanup.use_blocks_only_for_return_and_throw=false -sp_cleanup.use_lambda=true -sp_cleanup.use_parentheses_in_expressions=false -sp_cleanup.use_this_for_non_static_field_access=false -sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true -sp_cleanup.use_this_for_non_static_method_access=false -sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/xlc/org.eclipse.cdt.make.xlc.core/.settings/org.eclipse.pde.api.tools.prefs b/xlc/org.eclipse.cdt.make.xlc.core/.settings/org.eclipse.pde.api.tools.prefs deleted file mode 100644 index ec9fbf321d0..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/.settings/org.eclipse.pde.api.tools.prefs +++ /dev/null @@ -1,184 +0,0 @@ -ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error -API_USE_SCAN_FIELD_SEVERITY=Error -API_USE_SCAN_METHOD_SEVERITY=Error -API_USE_SCAN_TYPE_SEVERITY=Error -CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_FIELD=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_ADDED_METHOD=Error -CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error -CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error -CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error -ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error -ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error -ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -FIELD_ELEMENT_TYPE_ADDED_VALUE=Error -FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error -FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error -FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error -ILLEGAL_EXTEND=Warning -ILLEGAL_IMPLEMENT=Warning -ILLEGAL_INSTANTIATE=Warning -ILLEGAL_OVERRIDE=Warning -ILLEGAL_REFERENCE=Warning -INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -INVALID_ANNOTATION=Ignore -INVALID_JAVADOC_TAG=Error -INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning -LEAK_EXTEND=Warning -LEAK_FIELD_DECL=Warning -LEAK_IMPLEMENT=Warning -LEAK_METHOD_PARAM=Warning -LEAK_METHOD_RETURN_TYPE=Warning -METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -MISSING_EE_DESCRIPTIONS=Warning -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -UNUSED_PROBLEM_FILTERS=Warning -automatically_removed_unused_problem_filters=false -changed_execution_env=Error -eclipse.preferences.version=1 -incompatible_api_component_version=Error -incompatible_api_component_version_include_major_without_breaking_change=Disabled -incompatible_api_component_version_include_minor_without_api_change=Disabled -incompatible_api_component_version_report_major_without_breaking_change=Warning -incompatible_api_component_version_report_minor_without_api_change=Warning -invalid_since_tag_version=Error -malformed_since_tag=Error -missing_since_tag=Error -report_api_breakage_when_major_version_incremented=Disabled -report_resolution_errors_api_component=Warning diff --git a/xlc/org.eclipse.cdt.make.xlc.core/.settings/org.eclipse.pde.prefs b/xlc/org.eclipse.cdt.make.xlc.core/.settings/org.eclipse.pde.prefs deleted file mode 100644 index d2dc703ba9e..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,35 +0,0 @@ -compilers.f.unresolved-features=1 -compilers.f.unresolved-plugins=1 -compilers.incompatible-environment=1 -compilers.p.build=1 -compilers.p.build.bin.includes=1 -compilers.p.build.encodings=2 -compilers.p.build.java.compiler=2 -compilers.p.build.java.compliance=1 -compilers.p.build.missing.output=2 -compilers.p.build.output.library=1 -compilers.p.build.source.library=1 -compilers.p.build.src.includes=1 -compilers.p.deprecated=1 -compilers.p.discouraged-class=1 -compilers.p.internal=1 -compilers.p.missing-packages=2 -compilers.p.missing-version-export-package=2 -compilers.p.missing-version-import-package=2 -compilers.p.missing-version-require-bundle=2 -compilers.p.no-required-att=0 -compilers.p.no.automatic.module=1 -compilers.p.not-externalized-att=1 -compilers.p.service.component.without.lazyactivation=1 -compilers.p.unknown-attribute=1 -compilers.p.unknown-class=1 -compilers.p.unknown-element=1 -compilers.p.unknown-identifier=1 -compilers.p.unknown-resource=1 -compilers.p.unresolved-ex-points=0 -compilers.p.unresolved-import=0 -compilers.s.create-docs=false -compilers.s.doc-folder=doc -compilers.s.open-tags=1 -compilers.use-project=true -eclipse.preferences.version=1 diff --git a/xlc/org.eclipse.cdt.make.xlc.core/META-INF/MANIFEST.MF b/xlc/org.eclipse.cdt.make.xlc.core/META-INF/MANIFEST.MF deleted file mode 100644 index 45d38bc94e2..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/META-INF/MANIFEST.MF +++ /dev/null @@ -1,20 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.cdt.make.xlc.core;singleton:=true -Bundle-Version: 5.2.200.qualifier -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Require-Bundle: org.eclipse.cdt.make.core, - org.eclipse.cdt.core, - org.eclipse.core.resources, - org.eclipse.core.runtime, - org.eclipse.cdt.managedbuilder.core -Export-Package: org.eclipse.cdt.make.xlc.core.activator, - org.eclipse.cdt.make.xlc.core.messages, - org.eclipse.cdt.make.xlc.core.scannerconfig, - org.eclipse.cdt.make.xlc.core.scannerconfig.util -Bundle-ActivationPolicy: lazy -Bundle-Activator: org.eclipse.cdt.make.xlc.core.activator.Activator -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Automatic-Module-Name: org.eclipse.cdt.make.xlc.core diff --git a/xlc/org.eclipse.cdt.make.xlc.core/about.html b/xlc/org.eclipse.cdt.make.xlc.core/about.html deleted file mode 100644 index 164f781a8fd..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/about.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    November 30, 2017

    -

    License

    - -

    - The Eclipse Foundation makes available all content in this plug-in - ("Content"). Unless otherwise indicated below, the Content - is provided to you under the terms and conditions of the Eclipse - Public License Version 2.0 ("EPL"). A copy of the EPL is - available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    - If you did not receive this Content directly from the Eclipse - Foundation, the Content is being redistributed by another party - ("Redistributor") and different terms and conditions may - apply to your use of any object code in the Content. Check the - Redistributor's license that was provided with the Content. If no such - license exists, contact the Redistributor. Unless otherwise indicated - below, the terms and conditions of the EPL still apply to any source - code in the Content and such source code may be obtained at http://www.eclipse.org. -

    - - - \ No newline at end of file diff --git a/xlc/org.eclipse.cdt.make.xlc.core/build.properties b/xlc/org.eclipse.cdt.make.xlc.core/build.properties deleted file mode 100644 index 8b7cd7910f7..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/build.properties +++ /dev/null @@ -1,21 +0,0 @@ -############################################################################### -# Copyright (c) 2007, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - plugin.properties,\ - about.html -src.includes = about.html - diff --git a/xlc/org.eclipse.cdt.make.xlc.core/plugin.properties b/xlc/org.eclipse.cdt.make.xlc.core/plugin.properties deleted file mode 100644 index e5a6ec83529..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/plugin.properties +++ /dev/null @@ -1,17 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -# Plugin Name -pluginName=XL C/C++ Make Core -providerName=Eclipse CDT \ No newline at end of file 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 deleted file mode 100644 index bf0781bbfee..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/activator/Activator.java +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.make.xlc.core.activator; - -import org.eclipse.cdt.core.model.CModelException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Plugin; -import org.eclipse.core.runtime.Status; - -/** - * @author crecoskie - * - */ -public class Activator extends Plugin { - - public static final String PLUGIN_ID = "org.eclipse.cdt.make.xlc.core"; //$NON-NLS-1$ - private static Activator fInstance; - - /** - * - */ - public Activator() { - super(); - if (fInstance == null) { - fInstance = this; - } - } - - public static void log(String e) { - log(createStatus(e)); - } - - public static void log(Throwable e) { - log("Error", e); //$NON-NLS-1$ - } - - public static void log(String message, Throwable e) { - Throwable nestedException; - if (e instanceof CModelException && (nestedException = ((CModelException) e).getException()) != null) { - e = nestedException; - } - log(createStatus(message, e)); - } - - public static IStatus createStatus(String msg) { - return createStatus(msg, null); - } - - public static IStatus createStatus(String msg, Throwable e) { - return new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, msg, e); - } - - public static void log(IStatus status) { - getDefault().getLog().log(status); - } - - private static Plugin getDefault() { - return fInstance; - } - -} diff --git a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/messages/Messages.java b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/messages/Messages.java deleted file mode 100644 index f27630e1f51..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/messages/Messages.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.make.xlc.core.messages; - -import java.util.MissingResourceException; -import java.util.ResourceBundle; - -public class Messages { - private static final String BUNDLE_NAME = "org.eclipse.cdt.make.xlc.core.messages.Messages"; //$NON-NLS-1$ - - private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME); - - private Messages() { - } - - public static String getString(String key) { - try { - return RESOURCE_BUNDLE.getString(key); - } catch (MissingResourceException e) { - return '!' + key + '!'; - } - } -} diff --git a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/messages/Messages.properties b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/messages/Messages.properties deleted file mode 100644 index 14a8b8f0222..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/messages/Messages.properties +++ /dev/null @@ -1,17 +0,0 @@ -############################################################################### -# Copyright (c) 2009, 2010 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -PerFileXLCScannerInfoCollector.0=Updating discovered includes and macros -PerFileXLCScannerInfoCollector.1=Error updating discovered info. -ScannerInfoCollector.Processing=Processing discovered scanner configuration ...\u0020 -ScannerInfoCollector.Updating=Updating Scanner Configuration for project\u0020 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 deleted file mode 100644 index 80ff83e9d4e..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/AbstractXLCBuildOutputParser.java +++ /dev/null @@ -1,415 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM - Initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.make.xlc.core.scannerconfig; - -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; - -import org.eclipse.cdt.core.CCorePlugin; -import org.eclipse.cdt.core.IMarkerGenerator; -import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector; -import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector2; -import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoConsoleParser; -import org.eclipse.cdt.make.internal.core.scannerconfig.util.TraceUtil; -import org.eclipse.cdt.make.internal.core.scannerconfig2.SCProfileInstance; -import org.eclipse.cdt.make.internal.core.scannerconfig2.ScannerConfigProfile.BuildOutputProvider; -import org.eclipse.cdt.make.internal.core.scannerconfig2.ScannerConfigProfileManager; -import org.eclipse.cdt.make.xlc.core.activator.Activator; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.core.runtime.content.IContentTypeManager; - -/** - * @author crecoskie - * - */ -public abstract class AbstractXLCBuildOutputParser implements IScannerInfoConsoleParser { - - protected static final String[] COMPILER_INVOCATION = { "xlc", "xlC"//$NON-NLS-1$ //$NON-NLS-2$ - }; - protected static final String DASHIDASH = "-I-"; //$NON-NLS-1$ - protected static final String DASHI = "-I"; //$NON-NLS-1$ - protected static final String DASHD = "-D"; //$NON-NLS-1$ - - protected IProject fProject; - protected IScannerInfoCollector fCollector; - protected IPath fWorkingDir; - protected IMarkerGenerator fMarkerGenerator; - protected XLCBuildOutputParserUtility fUtility; - - protected boolean fBMultiline = false; - protected String fSMultiline = ""; //$NON-NLS-1$ - - protected String[] fCompilerCommands = { "xlc", "xlC" }; //$NON-NLS-1$ //$NON-NLS-2$ - - /** - * @return Returns the fProject. - */ - protected IProject getProject() { - return fProject; - } - - /** - * @return Returns the fCollector. - */ - protected IScannerInfoCollector getCollector() { - return fCollector; - } - - public void startup(IProject project, IScannerInfoCollector collector) { - fProject = project; - fCollector = collector; - fCompilerCommands = computeCompilerCommands(); - } - - /** - * Returns array of additional compiler commands to look for - * - * @return String[] - */ - protected String[] computeCompilerCommands() { - if (fProject != null) { - SCProfileInstance profileInstance = ScannerConfigProfileManager.getInstance().getSCProfileInstance(fProject, - ScannerConfigProfileManager.NULL_PROFILE_ID); - BuildOutputProvider boProvider = profileInstance.getProfile().getBuildOutputProviderElement(); - if (boProvider != null) { - String compilerCommandsString = boProvider.getScannerInfoConsoleParser().getCompilerCommands(); - if (compilerCommandsString != null && compilerCommandsString.length() > 0) { - String[] compilerCommands = compilerCommandsString.split(",\\s*"); //$NON-NLS-1$ - if (compilerCommands.length > 0) { - String[] compilerInvocation = new String[COMPILER_INVOCATION.length + compilerCommands.length]; - System.arraycopy(COMPILER_INVOCATION, 0, compilerInvocation, 0, COMPILER_INVOCATION.length); - System.arraycopy(compilerCommands, 0, compilerInvocation, COMPILER_INVOCATION.length, - compilerCommands.length); - return compilerInvocation; - } - } - } - } - return COMPILER_INVOCATION; - } - - @Override - public boolean processLine(String line) { - if (line.trim().length() == 0) { - return false; - } - - boolean rc = false; - int lineBreakPos = line.length() - 1; - char[] lineChars = line.toCharArray(); - while (lineBreakPos >= 0 && Character.isWhitespace(lineChars[lineBreakPos])) { - lineBreakPos--; - } - if (lineBreakPos >= 0) { - if (lineChars[lineBreakPos] != '\\' || (lineBreakPos > 0 && lineChars[lineBreakPos - 1] == '\\')) { - lineBreakPos = -1; - } - } - // check for multiline commands (ends with '\') - if (lineBreakPos >= 0) { - fSMultiline += line.substring(0, lineBreakPos); - fBMultiline = true; - return rc; - } - if (fBMultiline) { - line = fSMultiline + line; - fBMultiline = false; - fSMultiline = ""; //$NON-NLS-1$ - } - line = line.trim(); - try { - TraceUtil.outputTrace("XLCBuildOutputParser parsing line: [", line, "]"); //$NON-NLS-1$ //$NON-NLS-2$ - } catch (NoClassDefFoundError e) { - //no problem, as this may be called from a standalone indexer - } - // make\[[0-9]*\]: error_desc - int firstColon = line.indexOf(':'); - String make = line.substring(0, firstColon + 1); - if (firstColon != -1 && make.indexOf("make") != -1) { //$NON-NLS-1$ - boolean enter = false; - String msg = line.substring(firstColon + 1).trim(); - if ((enter = msg.startsWith("Entering directory")) || //$NON-NLS-1$ - (msg.startsWith("Leaving directory"))) { //$NON-NLS-1$ - int s = msg.indexOf('`'); - int e = msg.indexOf('\''); - if (s != -1 && e != -1) { - String dir = msg.substring(s + 1, e); - if (getUtility() != null) { - getUtility().changeMakeDirectory(dir, getDirectoryLevel(line), enter); - } - return rc; - } - } - } - // call sublclass to process a single line - return processSingleLine(line.trim()); - } - - protected synchronized XLCBuildOutputParserUtility getUtility() { - if (fUtility == null) - fUtility = new XLCBuildOutputParserUtility(fProject, fWorkingDir, fMarkerGenerator); - - return fUtility; - } - - protected int getDirectoryLevel(String line) { - int s = line.indexOf('['); - int num = 0; - if (s != -1) { - int e = line.indexOf(']'); - String number = line.substring(s + 1, e).trim(); - try { - num = Integer.parseInt(number); - } catch (NumberFormatException exc) { - } - } - return num; - } - - @Override - public void shutdown() { - if (getUtility() != null) { - getUtility().reportProblems(); - } - - 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); - } - } - } - - /** - * Tokenizes a line into an array of commands. Commands are separated by - * ';', '&&' or '||'. Tokens are separated by whitespace unless found inside - * of quotes, back-quotes, or double quotes. Outside of single-, double- or - * back-quotes a backslash escapes white-spaces, all quotes, the backslash, - * '&' and '|'. A backslash used for escaping is removed. Quotes other than - * the back-quote plus '&&', '||', ';' are removed, also. - * - * @param line - * to tokenize - * @return array of commands - */ - protected String[][] tokenize(String line, boolean escapeInsideDoubleQuotes) { - ArrayList commands = new ArrayList<>(); - ArrayList tokens = new ArrayList<>(); - StringBuffer token = new StringBuffer(); - - final char[] input = line.toCharArray(); - boolean nextEscaped = false; - char currentQuote = 0; - for (int i = 0; i < input.length; i++) { - final char c = input[i]; - final boolean escaped = nextEscaped; - nextEscaped = false; - - if (currentQuote != 0) { - if (c == currentQuote) { - if (escaped) { - token.append(c); - } else { - if (c == '`') { - token.append(c); // preserve back-quotes - } - currentQuote = 0; - } - } else { - if (escapeInsideDoubleQuotes && currentQuote == '"' && c == '\\') { - nextEscaped = !escaped; - if (escaped) { - token.append(c); - } - } else { - if (escaped) { - token.append('\\'); - } - token.append(c); - } - } - } else { - switch (c) { - case '\\': - if (escaped) { - token.append(c); - } else { - nextEscaped = true; - } - break; - case '\'': - case '"': - case '`': - if (escaped) { - token.append(c); - } else { - if (c == '`') { - token.append(c); - } - currentQuote = c; - } - break; - case ';': - if (escaped) { - token.append(c); - } else { - endCommand(token, tokens, commands); - } - break; - case '&': - case '|': - if (escaped || i + 1 >= input.length || input[i + 1] != c) { - token.append(c); - } else { - i++; - endCommand(token, tokens, commands); - } - break; - - default: - if (Character.isWhitespace(c)) { - if (escaped) { - token.append(c); - } else { - endToken(token, tokens); - } - } else { - if (escaped) { - token.append('\\'); // for windows put backslash - // back onto the token. - } - token.append(c); - } - } - } - } - endCommand(token, tokens, commands); - return commands.toArray(new String[commands.size()][]); - } - - protected void endCommand(StringBuffer token, ArrayList tokens, ArrayList commands) { - endToken(token, tokens); - if (!tokens.isEmpty()) { - commands.add(tokens.toArray(new String[tokens.size()])); - tokens.clear(); - } - } - - protected void endToken(StringBuffer token, ArrayList tokens) { - if (token.length() > 0) { - tokens.add(token.toString()); - token.setLength(0); - } - } - - protected boolean processSingleLine(String line) { - boolean rc = false; - String[][] tokens = tokenize(line, true); - for (int i = 0; i < tokens.length; i++) { - String[] command = tokens[i]; - if (processCommand(command)) { - rc = true; - } else { // go inside quotes, if the compiler is called per wrapper - // or shell script - for (int j = 0; j < command.length; j++) { - String[][] subtokens = tokenize(command[j], true); - for (int k = 0; k < subtokens.length; k++) { - String[] subcommand = subtokens[k]; - if (subcommand.length > 1) { // only proceed if there is - // any additional info - if (processCommand(subcommand)) { - rc = true; - } - } - } - } - } - } - return rc; - } - - protected int findCompilerInvocation(String[] tokens) { - for (int i = 0; i < tokens.length; i++) { - final String token = tokens[i].toLowerCase(); - final int searchFromOffset = Math.max(token.lastIndexOf('/'), token.lastIndexOf('\\')) + 1; - for (int j = 0; j < fCompilerCommands.length; j++) { - if (token.indexOf(fCompilerCommands[j], searchFromOffset) != -1) { - return i; - } - } - } - return -1; - } - - @Override - public void startup(IProject project, IPath workingDirectory, IScannerInfoCollector collector, - IMarkerGenerator markerGenerator) { - fProject = project; - fWorkingDir = workingDirectory; - fCollector = collector; - fMarkerGenerator = markerGenerator; - - } - - abstract protected boolean processCommand(String[] tokens); - - protected List getFileExtensionsList() { - IContentTypeManager manager = Platform.getContentTypeManager(); - List extensions = new LinkedList<>(); - IContentType cSource = manager.getContentType(CCorePlugin.CONTENT_TYPE_CSOURCE); - IContentType cppSource = manager.getContentType(CCorePlugin.CONTENT_TYPE_CXXSOURCE); - - String[] cExtensions = cSource.getFileSpecs(IContentType.FILE_EXTENSION_SPEC); - String[] cppExtensions = cppSource.getFileSpecs(IContentType.FILE_EXTENSION_SPEC); - - for (int k = 0; k < cExtensions.length; k++) { - extensions.add("." + cExtensions[k]); //$NON-NLS-1$ - } - - for (int k = 0; k < cppExtensions.length; k++) { - extensions.add("." + cppExtensions[k]); //$NON-NLS-1$ - } - - return extensions; - } - - protected String[] getFileExtensions() { - IContentTypeManager manager = Platform.getContentTypeManager(); - List extensions = new LinkedList<>(); - IContentType cSource = manager.getContentType(CCorePlugin.CONTENT_TYPE_CSOURCE); - IContentType cppSource = manager.getContentType(CCorePlugin.CONTENT_TYPE_CXXSOURCE); - - String[] cExtensions = cSource.getFileSpecs(IContentType.FILE_EXTENSION_SPEC); - String[] cppExtensions = cppSource.getFileSpecs(IContentType.FILE_EXTENSION_SPEC); - - for (int k = 0; k < cExtensions.length; k++) { - extensions.add("." + cExtensions[k]); //$NON-NLS-1$ - } - - for (int k = 0; k < cppExtensions.length; k++) { - extensions.add("." + cppExtensions[k]); //$NON-NLS-1$ - } - - return extensions.toArray(new String[0]); - } - -} 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 deleted file mode 100644 index 59ada9db417..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/PerFileXLCScannerInfoCollector.java +++ /dev/null @@ -1,1664 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.make.xlc.core.scannerconfig; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.SortedSet; -import java.util.TreeSet; - -import org.eclipse.cdt.core.model.CoreModel; -import org.eclipse.cdt.core.settings.model.CIncludePathEntry; -import org.eclipse.cdt.core.settings.model.CMacroEntry; -import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; -import org.eclipse.cdt.core.settings.model.ICLanguageSetting; -import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry; -import org.eclipse.cdt.core.settings.model.ICProjectDescription; -import org.eclipse.cdt.core.settings.model.ICProjectDescriptionManager; -import org.eclipse.cdt.core.settings.model.ICSettingEntry; -import org.eclipse.cdt.core.settings.model.util.CDataUtil; -import org.eclipse.cdt.make.core.MakeCorePlugin; -import org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager; -import org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IDiscoveredPathInfo; -import org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IDiscoveredScannerInfoSerializable; -import org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IPerFileDiscoveredPathInfo; -import org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IPerFileDiscoveredPathInfo2; -import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector3; -import org.eclipse.cdt.make.core.scannerconfig.InfoContext; -import org.eclipse.cdt.make.core.scannerconfig.PathInfo; -import org.eclipse.cdt.make.core.scannerconfig.ScannerInfoTypes; -import org.eclipse.cdt.make.internal.core.scannerconfig.DiscoveredPathInfo; -import org.eclipse.cdt.make.internal.core.scannerconfig.DiscoveredPathManager; -import org.eclipse.cdt.make.internal.core.scannerconfig.DiscoveredScannerInfoStore; -import org.eclipse.cdt.make.internal.core.scannerconfig.ScannerConfigUtil; -import org.eclipse.cdt.make.internal.core.scannerconfig.util.CCommandDSC; -import org.eclipse.cdt.make.internal.core.scannerconfig.util.CygpathTranslator; -import org.eclipse.cdt.make.internal.core.scannerconfig.util.TraceUtil; -import org.eclipse.cdt.make.xlc.core.activator.Activator; -import org.eclipse.cdt.make.xlc.core.messages.Messages; -import org.eclipse.cdt.make.xlc.core.scannerconfig.util.XLCCommandDSC; -import org.eclipse.cdt.managedbuilder.core.IConfiguration; -import org.eclipse.cdt.managedbuilder.core.IInputType; -import org.eclipse.cdt.managedbuilder.core.IManagedBuildInfo; -import org.eclipse.cdt.managedbuilder.core.ITool; -import org.eclipse.cdt.managedbuilder.core.IToolChain; -import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager; -import org.eclipse.cdt.managedbuilder.scannerconfig.IManagedScannerInfoCollector; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.core.runtime.jobs.ISchedulingRule; -import org.eclipse.core.runtime.jobs.Job; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -/** - * @author crecoskie - * - */ -public class PerFileXLCScannerInfoCollector implements IScannerInfoCollector3, IManagedScannerInfoCollector { - - protected class ScannerConfigUpdateJob extends Job { - - private InfoContext fContext; - private IDiscoveredPathInfo fPathInfo; - private boolean fIsDefaultContext; - private List fChangedResources; - - public ScannerConfigUpdateJob(InfoContext context, IDiscoveredPathInfo pathInfo, boolean isDefaultContext, - List changedResources) { - super(Messages.getString("PerFileXLCScannerInfoCollector.0")); //$NON-NLS-1$); - fContext = context; - fPathInfo = pathInfo; - fIsDefaultContext = isDefaultContext; - fChangedResources = changedResources; - } - - @Override - protected IStatus run(IProgressMonitor monitor) { - try { - - // get the scanner info profile ID - - IManagedBuildInfo info = ManagedBuildManager.getBuildInfo(project); - IConfiguration config = info.getDefaultConfiguration(); - - String profileID = config.getToolChain().getScannerConfigDiscoveryProfileId(); - IDiscoveredPathManager manager = MakeCorePlugin.getDefault().getDiscoveryManager(); - - 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 */); - ICConfigurationDescription configDes = cProjectDescription.getActiveConfiguration(); - - IToolChain toolchain = config.getToolChain(); - for (ITool tool : toolchain.getTools()) { - for (IInputType inputType : tool.getInputTypes()) { - IContentType contentType = inputType.getSourceContentType(); - if (contentType != null) { - for (IResource resource : fChangedResources) { - // get language settings for the resource - ICLanguageSetting langSetting = configDes - .getLanguageSettingForFile(resource.getProjectRelativePath(), false); - - if (langSetting == null) { - continue; - } - - // get content type IDs for the setting - String[] contentTypeIDs = langSetting.getSourceContentTypeIds(); - - // 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())) { - found = true; - break; - } - } - - if (!found) { - continue; - } - - // update all the scanner config entries on the setting - updateIncludeSettings(langSetting); - updateMacroSettings(langSetting); - - } - } - - } - } - - 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; - } - - private boolean updateMacroSettings(ICLanguageSetting langSetting) { - ICLanguageSettingEntry[] entries = langSetting.getSettingEntries(ICSettingEntry.MACRO); - List newEntries = new LinkedList<>(); - for (ICLanguageSettingEntry entry : entries) { - newEntries.add(entry); - } - - boolean entriesChanged = false; - - // look for settings corresponding to each path we discovered - Map discSymbols = fPathInfo.getSymbols(); - for (String symbol : discSymbols.keySet()) { - boolean symbolFound = false; - - for (ICLanguageSettingEntry entry : entries) { - if (((CMacroEntry) entry).getName().equals(symbol)) { - symbolFound = true; // it's already there, so don't set it - break; - } - } - - // if we didn't find the path, add it - if (!symbolFound) { - entriesChanged = true; - 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) { - langSetting.setSettingEntries(ICSettingEntry.MACRO, newEntries.toArray(new ICLanguageSettingEntry[0])); - } - - return entriesChanged; - } - - private boolean updateIncludeSettings(ICLanguageSetting langSetting) { - ICLanguageSettingEntry[] entries = langSetting.getSettingEntries(ICSettingEntry.INCLUDE_PATH); - List newEntries = new LinkedList<>(); - for (ICLanguageSettingEntry entry : entries) { - newEntries.add(entry); - } - - boolean entriesChanged = false; - - // look for settings corresponding to each path we discovered - IPath[] discPaths = fPathInfo.getIncludePaths(); - for (IPath path : discPaths) { - boolean pathFound = false; - - for (ICLanguageSettingEntry entry : entries) { - if (((CIncludePathEntry) entry).getLocation().equals(path)) { - pathFound = true; // it's already there, so don't set it - break; - } - } - - // if we didn't find the path, add it - if (!pathFound) { - entriesChanged = true; - 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])); - } - - return entriesChanged; - } - } - - protected class MergedPerFileDiscoveredPathInfo implements IPerFileDiscoveredPathInfo2 { - private IDiscoveredPathInfo fInfo1; - private IPerFileDiscoveredPathInfo2 fInfo2; - - public MergedPerFileDiscoveredPathInfo(IDiscoveredPathInfo info1, IPerFileDiscoveredPathInfo2 info2) { - fInfo1 = info1; - fInfo2 = info2; - } - - private IPerFileDiscoveredPathInfo2 getPerFileInfo1() { - if (fInfo1 instanceof IPerFileDiscoveredPathInfo2) { - return (IPerFileDiscoveredPathInfo2) fInfo1; - } - - else { - return null; - } - } - - @Override - public Map getPathInfoMap() { - synchronized (fLock) { - IPerFileDiscoveredPathInfo2 info1 = getPerFileInfo1(); - if (info1 != null) { - Map map = new HashMap<>(); - map.putAll(info1.getPathInfoMap()); - map.putAll(fInfo2.getPathInfoMap()); - return map; - } - - else { - return fInfo2.getPathInfoMap(); - } - } - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IPerFileDiscoveredPathInfo#getIncludeFiles(org.eclipse.core.runtime.IPath) - */ - @Override - public IPath[] getIncludeFiles(IPath path) { - synchronized (fLock) { - IPerFileDiscoveredPathInfo2 info1 = getPerFileInfo1(); - if (info1 != null) { - List list = new LinkedList<>(); - for (IPath path1 : info1.getIncludeFiles(path)) { - list.add(path1); - } - - for (IPath path1 : fInfo2.getIncludeFiles(path)) { - list.add(path1); - } - return list.toArray(new IPath[0]); - } - - else { - return fInfo2.getIncludeFiles(path); - } - } - } - - @Override - public IPath[] getIncludePaths(IPath path) { - synchronized (fLock) { - - Set pathSet = new HashSet<>(); - - // add project level settings if other info is per project - if (fInfo1 instanceof DiscoveredPathInfo) { - for (IPath path1 : fInfo1.getIncludePaths()) { - pathSet.add(path1); - } - } - - else { - IPerFileDiscoveredPathInfo2 info1 = getPerFileInfo1(); - if (info1 != null) { - // add file level settings - for (IPath path1 : info1.getIncludePaths(path)) { - pathSet.add(path1); - } - } - } - - // add file level settings - for (IPath path2 : fInfo2.getIncludePaths(path)) { - pathSet.add(path2); - } - - return pathSet.toArray(new IPath[0]); - } - } - - @Override - public IPath[] getMacroFiles(IPath path) { - synchronized (fLock) { - Set pathSet = new HashSet<>(); - - IPerFileDiscoveredPathInfo2 info1 = getPerFileInfo1(); - if (info1 != null) { - // add file level settings - for (IPath path1 : info1.getMacroFiles(path)) { - pathSet.add(path1); - } - } - - // add file level settings - for (IPath path2 : fInfo2.getMacroFiles(path)) { - pathSet.add(path2); - } - - return pathSet.toArray(new IPath[0]); - } - } - - @Override - public IPath[] getQuoteIncludePaths(IPath path) { - synchronized (fLock) { - - Set pathSet = new HashSet<>(); - - IPerFileDiscoveredPathInfo2 info1 = getPerFileInfo1(); - if (info1 != null) { - // add file level settings - for (IPath path1 : info1.getQuoteIncludePaths(path)) { - pathSet.add(path1); - } - } - - // add file level settings - for (IPath path2 : fInfo2.getQuoteIncludePaths(path)) { - pathSet.add(path2); - } - - return pathSet.toArray(new IPath[0]); - } - } - - @Override - public Map getSymbols(IPath path) { - synchronized (fLock) { - - Map symbols = new HashMap<>(); - - // add project level settings - Map projectSymbols = fInfo1.getSymbols(); - for (String symbol : projectSymbols.keySet()) { - symbols.put(symbol, projectSymbols.get(symbol)); - } - - IPerFileDiscoveredPathInfo2 info1 = getPerFileInfo1(); - if (info1 != null) { - // add file level settings - symbols.putAll(info1.getSymbols(path)); - } - - // add file level settings - symbols.putAll(fInfo2.getSymbols(path)); - - return symbols; - } - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IPerFileDiscoveredPathInfo#isEmpty(org.eclipse.core.runtime.IPath) - */ - @Override - public boolean isEmpty(IPath path) { - synchronized (fLock) { - boolean info1empty = false; - - IPerFileDiscoveredPathInfo2 info1 = getPerFileInfo1(); - if (info1 != null) { - info1empty = info1.isEmpty(path); - } else { - info1empty = fInfo1.getIncludePaths().length == 0 && fInfo1.getSymbols().size() == 0; - } - - return fInfo2.isEmpty(path) && info1empty; - } - } - - @Override - public IPath[] getIncludePaths() { - synchronized (fLock) { - return fInfo1.getIncludePaths(); - } - } - - @Override - public IProject getProject() { - return fInfo1.getProject(); - } - - @Override - public IDiscoveredScannerInfoSerializable getSerializable() { - return fInfo2.getSerializable(); - } - - @Override - public Map getSymbols() { - synchronized (fLock) { - return fInfo1.getSymbols(); - } - } - - } - - /** - * 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 pathSet = new LinkedHashSet<>(); - // 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 result = new ArrayList<>(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 pathSet = new LinkedHashSet<>(); - // 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 pathSet = new LinkedHashSet<>(); - // 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 getPathInfoMap() { - synchronized (fLock) { - //TODO: do we need to cache this? - return calculatePathInfoMap(); - } - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IDiscoveredPathInfo#getProject() - */ - @Override - public IProject getProject() { - return project; - } - - /* (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 pathSet = new LinkedHashSet<>(); - // 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 - public Map getSymbols() { - // return new HashMap(); - synchronized (fLock) { - return getAllSymbols(); - } - } - - /* - * (non-Javadoc) - * - * @seeorg.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager. - * IDiscoveredPathInfo#getSymbols(org.eclipse.core.runtime.IPath) - */ - @Override - public Map getSymbols(IPath path) { - synchronized (fLock) { - Map definedSymbols = new HashMap<>(); - - // put project data in first so file level data can override it - // use project scope scanner info - if (psi == null) { - generateProjectScannerInfo(); - } - definedSymbols.putAll(psi.definedSymbols); - - // get the command - CCommandDSC cmd = getCommand(path); - if (cmd != null && cmd.isDiscovered()) { - List symbols = cmd.getSymbols(); - for (String symbol : symbols) { - String key = ScannerConfigUtil.getSymbolKey(symbol); - String value = ScannerConfigUtil.getSymbolValue(symbol); - definedSymbols.put(key, value); - } - - } - // use project scope scanner info - if (psi == null) { - generateProjectScannerInfo(); - } - definedSymbols.putAll(psi.definedSymbols); - return definedSymbols; - } - - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IPerFileDiscoveredPathInfo#isEmpty(org.eclipse.core.runtime.IPath) - */ - @Override - public boolean isEmpty(IPath path) { - synchronized (fLock) { - boolean rc = true; - IResource resource = project.getWorkspace().getRoot().findMember(path); - if (resource != null) { - if (resource instanceof IFile) { - rc = (getCommand((IFile) resource) == null); - } else if (resource instanceof IProject) { - synchronized (fLock) { - rc = (psi == null || psi.isEmpty()); - } - } - } - return rc; - } - } - - } - - public static class ProjectScannerInfo { - public Map 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); - } - } - - 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$ - - 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 commandIdCommandMap; // map of all commands - public final Map> commandIdToFilesMap; // command id and set of files it applies to - public final Map fileToCommandIdMap; // maps each file to the corresponding command id - - public ScannerInfoData() { - commandIdCommandMap = new LinkedHashMap<>(); // [commandId, command] - fileToCommandIdMap = new HashMap<>(); // [file, commandId] - commandIdToFilesMap = new HashMap<>(); // [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) { - - 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); - - Map> scannerInfo = new HashMap<>(); - - List includes = new LinkedList<>(); - List symbols = new LinkedList<>(); - - // 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); - - 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); - } - applyFileDeltas(); - } - } - } - } - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.make.internal.core.scannerconfig.DiscoveredScannerInfoStore.IDiscoveredScannerInfoSerializable#getCollectorId() - */ - @Override - public String getCollectorId() { - return COLLECTOR_ID; - } - - /* (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> scannerInfo = (Map>) fProjectSettingsMap - .get(project); - - List 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 symbols = scannerInfo.get(ScannerInfoTypes.SYMBOL_DEFINITIONS); - - 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 commandIds = new ArrayList<>(commandIdCommandMap.keySet()); - Collections.sort(commandIds); - for (Iterator 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 files = commandIdToFilesMap.get(commandId); - if (files != null) { - for (Iterator 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(); - } - } - - } - - protected static final String APPLIES_TO_ATTR = "appliesToFiles"; //$NON-NLS-1$ - - protected static final String CC_ELEM = "compilerCommand"; //$NON-NLS-1$ - - public static final String COLLECTOR_ID = Activator.PLUGIN_ID + ".PerFileXLCScannerInfoCollector"; //$NON-NLS-1$ - - protected static final String FILE_ELEM = "file"; //$NON-NLS-1$ - - protected static final String FILE_TYPE_ATTR = "fileType"; //$NON-NLS-1$ - - protected static final String ID_ATTR = "id"; //$NON-NLS-1$ - - protected static final int INCLUDE_FILE = 3; - - protected static final int INCLUDE_PATH = 1; - - 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 definedSymbols = new HashMap<>(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 - * @return - */ - protected static IPath[] stringListToPathArray(List discovered) { - List allIncludes = new ArrayList<>(discovered.size()); - for (Iterator 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(); - - private Map> fProjectSettingsMap = new HashMap<>(); - - protected final SortedSet freeCommandIdPool; // sorted set of free command ids - protected IProject project; - protected ProjectScannerInfo psi = null; // sum of all scanner info - protected final List 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 siChangedForFileMap; // (file, comandId) map for deltas - protected ScannerInfoData sid; // scanner info data - - /** - * - */ - public PerFileXLCScannerInfoCollector() { - sid = new ScannerInfoData(); - - // siChangedForFileList = new ArrayList(); - siChangedForFileMap = new HashMap<>(); - siChangedForCommandIdList = new ArrayList<>(); - - freeCommandIdPool = new TreeSet<>(); - } - - /** - * @param file - * @param object - */ - protected void addCompilerCommand(IFile file, CCommandDSC cmd) { - synchronized (fLock) { - List existingCommands = new ArrayList<>(sid.commandIdCommandMap.values()); - int index = existingCommands.indexOf(cmd); - if (index != -1) { - cmd = existingCommands.get(index); - } else { - int commandId = -1; - if (!freeCommandIdPool.isEmpty()) { - Integer freeCommandId = freeCommandIdPool.first(); - freeCommandIdPool.remove(freeCommandId); - commandId = freeCommandId.intValue(); - } else { - commandId = ++commandIdCounter; - } - cmd.setCommandId(commandId); - sid.commandIdCommandMap.put(cmd.getCommandIdAsInteger(), cmd); - } - - generateFileDelta(file, cmd); - } - } - - /** - * @param commandId - * @param scannerInfo - */ - protected void addScannerInfo(Integer commandId, Map scannerInfo) { - synchronized (fLock) { - CCommandDSC cmd = sid.commandIdCommandMap.get(commandId); - if (cmd != null) { - List siItem = (List) scannerInfo.get(ScannerInfoTypes.SYMBOL_DEFINITIONS); - cmd.setSymbols(siItem); - siItem = (List) scannerInfo.get(ScannerInfoTypes.INCLUDE_PATHS); - siItem = CygpathTranslator.translateIncludePaths(project, siItem); - siItem = CCommandDSC.makeRelative(project, siItem); - cmd.setIncludes(siItem); - siItem = (List) scannerInfo.get(ScannerInfoTypes.QUOTE_INCLUDE_PATHS); - siItem = CygpathTranslator.translateIncludePaths(project, siItem); - siItem = CCommandDSC.makeRelative(project, siItem); - cmd.setQuoteIncludes(siItem); - - cmd.setDiscovered(true); - } - } - } - - /** - * @param type - * @param object - */ - protected void addScannerInfo(ScannerInfoTypes type, List delta) { - // TODO Auto-generated method stub - - } - - /** - * @param file - * @param cmd - */ - protected void applyFileDeltas() { - synchronized (fLock) { - for (Iterator i = siChangedForFileMap.keySet().iterator(); i.hasNext();) { - IFile file = (IFile) i.next(); - Integer commandId = siChangedForFileMap.get(file); - if (commandId != null) { - - // update sid.commandIdToFilesMap - Set fileSet = sid.commandIdToFilesMap.get(commandId); - if (fileSet == null) { - fileSet = new HashSet<>(); - sid.commandIdToFilesMap.put(commandId, fileSet); - CCommandDSC cmd = sid.commandIdCommandMap.get(commandId); - if (cmd != null) { - cmd.resolveOptions(project); - } - } - if (fileSet.add(file)) { - // update fileToCommandIdsMap - boolean change = true; - Integer oldCommandId = sid.fileToCommandIdMap.get(file); - if (oldCommandId != null) { - if (oldCommandId.equals(commandId)) { - change = false; - } else { - Set oldFileSet = sid.commandIdToFilesMap.get(oldCommandId); - if (oldFileSet != null) { - oldFileSet.remove(file); - } - } - } - if (change) { - sid.fileToCommandIdMap.put(file, commandId); - // TODO generate change event for this resource - // IPath path = file.getFullPath(); - // if (!siChangedForFileList.contains(path)) { - // siChangedForFileList.add(path); - // } - } - } - } - } - generateProjectScannerInfo(); - } - } - - protected Map calculatePathInfoMap() { - synchronized (fLock) { - Map map = new HashMap<>(sid.fileToCommandIdMap.size() + 1); - Map.Entry entry; - IFile file; - CCommandDSC cmd; - PathInfo fpi; - for (Iterator iter = sid.fileToCommandIdMap.entrySet().iterator(); iter.hasNext();) { - entry = (Map.Entry) iter.next(); - file = (IFile) entry.getKey(); - if (file != null) { - cmd = sid.commandIdCommandMap.get(entry.getValue()); - if (cmd != null) { - fpi = createFilePathInfo(cmd); - map.put(file, fpi); - } - } - } - - if (project != null) { - if (psi == null) { - generateProjectScannerInfo(); - } - - fpi = new PathInfo(psi.includePaths, psi.quoteIncludePaths, psi.definedSymbols, psi.includeFiles, - psi.macrosFiles); - map.put(project, fpi); - } - - return map; - } - } - - @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); - } - return; - } - - if ((resource instanceof IFile)) { - - if (((IFile) resource).getProject() == null) { - errorMessage = "project is null";//$NON-NLS-1$ - } else if (!((IFile) resource).getProject().equals(project)) { - errorMessage = "wrong project";//$NON-NLS-1$ - } - if (errorMessage != null) { - TraceUtil.outputError("PerFileSICollector.contributeToScannerConfig : ", errorMessage); //$NON-NLS-1$ - return; - } - - IFile file = (IFile) resource; - - synchronized (fLock) { - for (Iterator i = scannerInfo.keySet().iterator(); i.hasNext();) { - ScannerInfoTypes type = (ScannerInfoTypes) i.next(); - if (type.equals(ScannerInfoTypes.COMPILER_COMMAND)) { - List commands = (List) scannerInfo.get(type); - for (Iterator j = commands.iterator(); j.hasNext();) { - addCompilerCommand(file, (CCommandDSC) j.next()); - } - } else { - addScannerInfo(type, (List) scannerInfo.get(type)); - } - } - } - } - - 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$ - return; - } - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector2#createPathInfoObject() - */ - @Override - public IDiscoveredPathInfo createPathInfoObject() { - 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) { - synchronized (fLock) { - if (resource instanceof IProject) { - fProjectSettingsMap.remove(resource); - } - } - } - - /* (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 changedFiles = sid.fileToCommandIdMap.keySet(); - for (Iterator 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(); - } - } - } - - public void deleteAllPaths(IResource resource) { - synchronized (fLock) { - if (resource instanceof IProject && fProjectSettingsMap != null) { - fProjectSettingsMap.remove(resource); - } - } - } - - public void deleteAllSymbols(IResource resource) { - synchronized (fLock) { - if (resource instanceof IProject && fProjectSettingsMap != null) { - fProjectSettingsMap.remove(resource); - } - } - } - - public void deletePath(IResource resource, String path) { - synchronized (fLock) { - if (resource instanceof IProject && fProjectSettingsMap != null) { - fProjectSettingsMap.remove(resource); - } - } - } - - public void deleteSymbol(IResource resource, String symbol) { - synchronized (fLock) { - if (resource instanceof IProject && fProjectSettingsMap != null) { - fProjectSettingsMap.remove(resource); - } - } - } - - /** - * @param file - * @param cmd - */ - protected void generateFileDelta(IFile file, CCommandDSC cmd) { - synchronized (fLock) { - Integer commandId = cmd.getCommandIdAsInteger(); - Integer oldCommandId = sid.fileToCommandIdMap.get(file); - - if (oldCommandId != null && oldCommandId.equals(commandId)) { - // already exists; remove form delta - siChangedForFileMap.remove(file); - } else { - // new (file, commandId) pair - siChangedForFileMap.put(file, commandId); - } - } - } - - protected void generateProjectScannerInfo() { - synchronized (fLock) { - psi = new ProjectScannerInfo(); - psi.includePaths = getAllIncludePaths(INCLUDE_PATH); - psi.quoteIncludePaths = getAllIncludePaths(QUOTE_INCLUDE_PATH); - psi.includeFiles = getAllIncludePaths(INCLUDE_FILE); - psi.macrosFiles = getAllIncludePaths(MACROS_FILE); - psi.definedSymbols = getAllSymbols(); - } - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.make.internal.core.scannerconfig2.PerFileSICollector#getAllIncludePaths(int) - */ - protected IPath[] getAllIncludePaths(int type) { - synchronized (fLock) { - IProject project = this.getInfoContext().getProject(); - - Map projectScannerInfo = fProjectSettingsMap.get(project); - List includes = null; - - if (projectScannerInfo != null) { - includes = (List) projectScannerInfo.get(ScannerInfoTypes.INCLUDE_PATHS); - } - - List pathList = new LinkedList<>(); - - if (includes != null) { - for (String include : includes) { - pathList.add(new Path(include)); - } - } - - IPath[] fileIncludes = getAllIncludePaths1(type); - - for (IPath include : fileIncludes) { - pathList.add(include); - } - - return pathList.toArray(new IPath[0]); - } - } - - /** - * @param type can be one of the following: - *
  • INCLUDE_PATH - *
  • QUOTE_INCLUDE_PATH - *
  • INCLUDE_FILE - *
  • MACROS_FILE - * - * @return list of IPath(s). - */ - protected IPath[] getAllIncludePaths1(int type) { - synchronized (fLock) { - List allIncludes = new ArrayList<>(); - for (Iterator i = sid.commandIdCommandMap.keySet().iterator(); i.hasNext();) { - Integer cmdId = i.next(); - CCommandDSC cmd = sid.commandIdCommandMap.get(cmdId); - if (cmd.isDiscovered()) { - List discovered = null; - switch (type) { - case INCLUDE_PATH: - discovered = cmd.getIncludes(); - break; - case QUOTE_INCLUDE_PATH: - discovered = cmd.getQuoteIncludes(); - break; - case INCLUDE_FILE: - discovered = cmd.getIncludeFile(); - break; - case MACROS_FILE: - discovered = cmd.getImacrosFile(); - break; - } - for (Iterator j = discovered.iterator(); j.hasNext();) { - String include = j.next(); - // the following line degrades perfomance - // see - // https://bugs.eclipse.org/bugs/show_bug.cgi?id=189127 - // it is not necessary for renaming projects anyway - // include = CCommandDSC.makeRelative(project, new - // Path(include)).toPortableString(); - if (!allIncludes.contains(include)) { - allIncludes.add(include); - } - } - } - } - return stringListToPathArray(allIncludes); - } - } - - protected Map getAllSymbols() { - synchronized (fLock) { - IProject project = this.getInfoContext().getProject(); - - Map projectScannerInfo = fProjectSettingsMap.get(project); - - Map symbols = new HashMap<>(); - - if (projectScannerInfo != null) { - List projectSymbols = (List) projectScannerInfo - .get(ScannerInfoTypes.SYMBOL_DEFINITIONS); - - if (projectSymbols != null) { - - for (String symbol : projectSymbols) { - if (symbol.matches("_Builtin")) //$NON-NLS-1$ - symbols.put(symbol, ""); //$NON-NLS-1$ - else - symbols.put(symbol, "1"); //$NON-NLS-1$ - } - } - } - - Map fileSymbols = getAllSymbols1(); - - symbols.putAll(fileSymbols); - - return symbols; - } - } - - /** - * @return - */ - protected Map getAllSymbols1() { - synchronized (fLock) { - Map symbols = new HashMap<>(); - for (Iterator i = sid.commandIdCommandMap.keySet().iterator(); i.hasNext();) { - Integer cmdId = i.next(); - CCommandDSC cmd = sid.commandIdCommandMap.get(cmdId); - if (cmd.isDiscovered()) { - List discovered = cmd.getSymbols(); - for (Iterator j = discovered.iterator(); j.hasNext();) { - String symbol = (String) j.next(); - String key = ScannerConfigUtil.getSymbolKey(symbol); - String value = ScannerConfigUtil.getSymbolValue(symbol); - symbols.put(key, value); - } - } - } - return symbols; - } - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector#getCollectedScannerInfo(java.lang.Object, org.eclipse.cdt.make.core.scannerconfig.ScannerInfoTypes) - */ - @Override - public List getCollectedScannerInfo(Object resource, ScannerInfoTypes type) { - - List rv = new ArrayList<>(); - // 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 i = sid.commandIdCommandMap.keySet().iterator(); i.hasNext();) { - Integer cmdId = i.next(); - Set 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 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 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) { - Integer cmdId = sid.fileToCommandIdMap.get(file); - if (cmdId != null) { - // get the command - cmd = sid.commandIdCommandMap.get(cmdId); - } - } - return cmd; - } - } - - /** - * @param path - * @return - */ - protected CCommandDSC getCommand(IPath path) { - synchronized (fLock) { - try { - IFile file = project.getWorkspace().getRoot().getFile(path); - return getCommand(file); - } catch (Exception e) { - return null; - } - } - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.managedbuilder.scannerconfig.IManagedScannerInfoCollector#getDefinedSymbols() - */ - @Override - public Map getDefinedSymbols() { - synchronized (fLock) { - return getAllSymbols(); - } - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.managedbuilder.scannerconfig.IManagedScannerInfoCollector#getIncludePaths() - */ - @Override - public List getIncludePaths() { - synchronized (fLock) { - List pathStrings = new LinkedList<>(); - - List paths = Arrays.asList(getAllIncludePaths(INCLUDE_PATH)); - paths.addAll(Arrays.asList(getAllIncludePaths(QUOTE_INCLUDE_PATH))); - - for (IPath path : paths) { - pathStrings.add(path.toString()); - } - - return pathStrings; - } - } - - protected InfoContext getInfoContext() { - return context; - } - - protected void removeUnusedCommands() { - synchronized (fLock) { - for (Iterator i = sid.commandIdToFilesMap.entrySet().iterator(); i.hasNext();) { - Entry entry = (Entry) i.next(); - Integer cmdId = (Integer) entry.getKey(); - Set fileSet = (Set) entry.getValue(); - if (fileSet.isEmpty()) { - // return cmdId to the free command id pool - freeCommandIdPool.add(cmdId); - } - } - for (Iterator i = freeCommandIdPool.iterator(); i.hasNext();) { - Integer cmdId = i.next(); - // the command does not have any files associated; remove - sid.commandIdCommandMap.remove(cmdId); - sid.commandIdToFilesMap.remove(cmdId); - } - while (!freeCommandIdPool.isEmpty()) { - Integer last = freeCommandIdPool.last(); - if (last.intValue() == commandIdCounter) { - freeCommandIdPool.remove(last); - --commandIdCounter; - } else - break; - } - } - } - - protected boolean scannerInfoChanged() { - synchronized (fLock) { - return (!fProjectSettingsMap.isEmpty()) || !siChangedForFileMap.isEmpty(); - } - } - - @Override - public void setInfoContext(InfoContext context) { - synchronized (fLock) { - this.project = context.getProject(); - this.context = context; - - try { - // deserialize from SI store - DiscoveredScannerInfoStore.getInstance().loadDiscoveredScannerInfoFromState(project, context, sid); - } catch (CoreException e) { - MakeCorePlugin.log(e); - } - } - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector2#setProject(org.eclipse.core.resources.IProject) - */ - @Override - public void setProject(IProject project) { - synchronized (fLock) { - setInfoContext(new InfoContext(project)); - } - } - - @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 changedResources = new ArrayList<>(); - 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/PerProjectXLCScannerInfoCollector.java b/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/PerProjectXLCScannerInfoCollector.java deleted file mode 100644 index b5167d3a855..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/PerProjectXLCScannerInfoCollector.java +++ /dev/null @@ -1,24 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2010 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.make.xlc.core.scannerconfig; - -import org.eclipse.cdt.make.internal.core.scannerconfig2.PerProjectSICollector; -import org.eclipse.cdt.managedbuilder.scannerconfig.IManagedScannerInfoCollector; - -/** - * @author laggarcia - * - */ -public class PerProjectXLCScannerInfoCollector extends PerProjectSICollector implements IManagedScannerInfoCollector { -} 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 deleted file mode 100644 index dec8c2aebd4..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XLCBuildOutputParserUtility.java +++ /dev/null @@ -1,707 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2016 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM - Initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.make.xlc.core.scannerconfig; - -import java.io.File; -import java.io.IOException; -import java.net.URI; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Vector; - -import org.eclipse.cdt.core.IMarkerGenerator; -import org.eclipse.cdt.core.ProblemMarkerInfo; -import org.eclipse.cdt.make.core.MakeCorePlugin; -import org.eclipse.cdt.make.internal.core.MakeMessages; -import org.eclipse.cdt.make.internal.core.scannerconfig.util.CCommandDSC; -import org.eclipse.cdt.make.internal.core.scannerconfig.util.KVStringPair; -import org.eclipse.cdt.make.internal.core.scannerconfig.util.SCDOptionsEnum; -import org.eclipse.cdt.make.internal.core.scannerconfig.util.TraceUtil; -import org.eclipse.cdt.make.xlc.core.scannerconfig.util.XLCCommandDSC; -import org.eclipse.cdt.utils.EFSExtensionManager; -import org.eclipse.core.resources.IContainer; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IWorkspaceRoot; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.Path; - -/** - * @author crecoskie - * - */ -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 fDirectoryStack; - private ArrayList fErrors; - private int filesN = 0; - - private IMarkerGenerator fMarkerGenerator; - - private IProject project; - - private int workingDirsN = 0; - - /* - * For tracking the location of files being compiled - */ - private Map fFilesInProject; - private List fCollectedFiles; - private List fNameConflicts; - - protected XLCBuildOutputParserUtility(IPath baseDirectory, IPath workingDirectory) { - fDirectoryStack = new Vector<>(); - fErrors = new ArrayList<>(); - this.fBaseDirectory = baseDirectory; - if (workingDirectory != null) { - pushDirectory(workingDirectory); - } - - } - - /** - * - */ - public XLCBuildOutputParserUtility(IProject project, IPath workingDirectory, IMarkerGenerator markerGenerator) { - fDirectoryStack = new Vector<>(); - fErrors = new ArrayList<>(); - 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 - // for now, get the path from the URI - URI locationURI = resource.getLocationURI(); - IPath path = new Path(locationURI.getPath()); - 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 null - */ - 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 getDirectoryStack() { - return fDirectoryStack; - } - - /** - * @return Returns the fErrors. - */ - protected ArrayList 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$ - ) { - command.addSCOption(new KVStringPair(SCDOptionsEnum.COMMAND.toString(), token)); - continue; - } - 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); - } - } - - public boolean reportProblems() { - boolean reset = false; - for (Iterator 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(':'); - if (column > 0) { - char driveLetter = path.charAt(column - 1); - if (Character.isLowerCase(driveLetter)) { - StringBuilder sb = new StringBuilder(); - if (column - 1 > 0) { - 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 '/' - } - // 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 sdot; - boolean validPrefix; - 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) { - newBuf.append(buf.substring(scp, sdot)); - scp = sdot; - ssp = sdot + 1; - if (ssp < len) { - if (sdot == 0 || buf.charAt(sdot - 1) == '/' || buf.charAt(sdot - 1) == '\\') { - validPrefix = true; - } - char nextChar = buf.charAt(ssp); - if (validPrefix && nextChar == '/') { - ++ssp; - scp = ssp; - } else if (validPrefix && nextChar == '\\') { - ++ssp; - if (ssp < len - 1 && buf.charAt(ssp) == '\\') { - ++ssp; - } - scp = ssp; - } else { - // no path delimiter, must be '.' inside the path - scp = ssp - 1; - } - } - } else if (sdot == ddot) { - ssp = sdot + 2; - } - } - newBuf.append(buf.substring(scp, len)); - - IPath orgPath = new Path(newBuf.toString()); - return orgPath.toString(); - } - - /** - * Called by the console line parsers to find a file with a given name. - * @param fileName - * @return IFile or null - */ - public IFile findFile(String fileName) { - IFile file = findFilePath(fileName); - if (file == null) { - // Try the project's map. - file = findFileName(fileName); - if (file != null) { - // If there is a conflict then try all files in the project. - if (isConflictingName(fileName)) { - file = null; - - // 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); - } - } - } - return file; - } - - /** - * @param filePath - * @return - */ - protected IFile findFilePath(String filePath) { - IPath path = null; - IPath fp = new Path(filePath); - if (fp.isAbsolute()) { - if (getBaseDirectory().isPrefixOf(fp)) { - int segments = getBaseDirectory().matchingFirstSegments(fp); - path = fp.removeFirstSegments(segments); - } else { - path = fp; - } - } else { - path = getWorkingDirectory().append(filePath); - } - - IFile file = null; - // The workspace may throw an IllegalArgumentException - // Catch it and the parser should fallback to scan the entire project. - try { - file = findFileInWorkspace(path); - } catch (Exception e) { - } - - // We have to do another try, on Windows for cases like "TEST.C" vs "test.c" - // We use the java.io.File canonical path. - if (file == null || !file.exists()) { - File f = path.toFile(); - try { - String canon = f.getCanonicalPath(); - path = new Path(canon); - file = findFileInWorkspace(path); - } catch (IOException e1) { - } - } - return (file != null && file.exists()) ? file : null; - } - - /** - * @param fileName - * @return - */ - protected IFile findFileName(String fileName) { - IPath path = new Path(fileName); - return fFilesInProject.get(path.lastSegment()); - } - - protected IFile findFileInWorkspace(IPath path) { - IFile file = null; - if (path.isAbsolute()) { - IWorkspaceRoot root = getProject().getWorkspace().getRoot(); - - // construct a URI, based on the project's locationURI, that points - // to the given path - URI projectURI = project.getLocationURI(); - - URI newURI = EFSExtensionManager.getDefault().createNewURIFromPath(projectURI, path.toString()); - - IFile[] files = root.findFilesForLocationURI(newURI); - - for (int i = 0; i < files.length; i++) { - if (files[i].getProject().equals(getProject())) { - file = files[i]; - break; - } - } - - } else { - file = getProject().getFile(path); - } - return file; - } - - protected void collectFiles(IContainer parent, List result) { - try { - IResource[] resources = parent.members(); - for (int i = 0; i < resources.length; i++) { - IResource resource = resources[i]; - if (resource instanceof IFile) { - result.add(resource); - } else if (resource instanceof IContainer) { - collectFiles((IContainer) resource, result); - } - } - } catch (CoreException e) { - MakeCorePlugin.log(e.getStatus()); - } - } - - protected boolean isConflictingName(String fileName) { - IPath path = new Path(fileName); - return fNameConflicts.contains(path.lastSegment()); - } - - public List translateRelativePaths(IFile file, String fileName, List includes) { - List translatedIncludes = new ArrayList(includes.size()); - 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 - // First try the current working directory - IPath cwd = getWorkingDirectory(); - if (!cwd.isAbsolute()) { - cwd = getBaseDirectory().append(cwd); - } - - IPath filePath = new Path(fileName); - if (!filePath.isAbsolute()) { - // check if the cwd is the right one - // appending fileName to cwd should yield file path - filePath = cwd.append(fileName); - } - 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$ - // 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); - break; - } else { - // remove common segments at the end - IPath tPath = new Path(fileName); - 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()); - if (lastFileSegment.matchingFirstSegments(tPath) == tPath.segmentCount()) { - cwd = filePath.removeLastSegments(tPath.segmentCount()); - } - } - } - - IPath candidatePath = cwd.append(includePath); - File dir = candidatePath.toFile(); - include = candidatePath.toString(); - 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); - } - } - // TODO VMIR for now add unresolved paths as well - translatedIncludes.add(include); - } - return translatedIncludes; - } -} 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 deleted file mode 100644 index c0f7b78c395..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XLCPerFileBuildOutputParser.java +++ /dev/null @@ -1,211 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2013 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM - Initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.make.xlc.core.scannerconfig; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; - -import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector2; -import org.eclipse.cdt.make.core.scannerconfig.ScannerInfoTypes; -import org.eclipse.cdt.make.internal.core.scannerconfig.util.CCommandDSC; -import org.eclipse.cdt.make.internal.core.scannerconfig.util.TraceUtil; -import org.eclipse.cdt.make.xlc.core.activator.Activator; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; - -/** - * @author crecoskie - * - */ -@SuppressWarnings("restriction") -public class XLCPerFileBuildOutputParser extends AbstractXLCBuildOutputParser { - - /* (non-Javadoc) - * @see org.eclipse.cdt.make.xlc.core.scannerconfig.AbstractXLCBuildOutputParser#processCommand(java.lang.String[]) - */ - @Override - 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; - } - } - } - - 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; - } - } - } - } - - 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$ - } - } - - 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 cmdList = new CopyOnWriteArrayList<>(); - cmdList.add(cmd); - Map> sc = new HashMap<>(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 cmdList = new ArrayList(); - // cmdList.add(cmd); - Map> sc = new HashMap>(); - // sc.put(ScannerInfoTypes.COMPILER_COMMAND, cmdList); - - - // put in empty info for the other types - sc.put(ScannerInfoTypes.INCLUDE_PATHS, new LinkedList()); - sc.put(ScannerInfoTypes.SYMBOL_DEFINITIONS, new LinkedList()); - - 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; - - } catch (Throwable e) { - e.printStackTrace(); - return false; - } - } - - protected String getAutoMakeSourcePath(String string) { - // path may be enclosed in single quotes - int firstQuoteIndex = string.indexOf('\''); - int lastQuoteIndex = string.lastIndexOf('\''); - 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); - - } - return null; - } - - 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$ - 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 deleted file mode 100644 index c2a19dce496..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XLCPerProjectBuildOutputParser.java +++ /dev/null @@ -1,173 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2016 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM - Initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.make.xlc.core.scannerconfig; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; - -import org.eclipse.cdt.core.IMarkerGenerator; -import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector2; -import org.eclipse.cdt.make.core.scannerconfig.ScannerInfoTypes; -import org.eclipse.cdt.make.internal.core.MakeMessages; -import org.eclipse.cdt.make.internal.core.scannerconfig.util.TraceUtil; -import org.eclipse.cdt.make.xlc.core.activator.Activator; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; - -/** - * @author crecoskie - * - */ -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 includes = new CopyOnWriteArrayList<>(); - List symbols = new CopyOnWriteArrayList<>(); - List targetSpecificOptions = new CopyOnWriteArrayList<>(); - - 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; - if (token.length() > 2) { - candidate = token.substring(2).trim(); - } else if (j + 1 < tokens.length) { - candidate = tokens[j + 1]; - if (candidate.startsWith("-")) { //$NON-NLS-1$ - candidate = null; - } else { - j++; - } - } - if (candidate != null && candidate.length() > 0) { - if (getUtility() != null) { - candidate = getUtility().normalizePath(candidate); - } - if (!includes.contains(candidate)) { - includes.add(candidate); - } - } - } 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]; - if (candidate.startsWith("-")) { //$NON-NLS-1$ - 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); - - List 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 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> scannerInfo = new HashMap<>(); - 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$ - } - 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 deleted file mode 100644 index 097e6202b9a..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XlCSpecsConsoleParser.java +++ /dev/null @@ -1,187 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.make.xlc.core.scannerconfig; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.eclipse.cdt.core.CCProjectNature; -import org.eclipse.cdt.core.IMarkerGenerator; -import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector; -import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector2; -import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoConsoleParser; -import org.eclipse.cdt.make.core.scannerconfig.ScannerInfoTypes; -import org.eclipse.cdt.make.internal.core.scannerconfig.util.TraceUtil; -import org.eclipse.cdt.make.xlc.core.activator.Activator; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; - -/** - * Parses output of ppuxlc -E -v specs.c or ppuxlc -E -v specs.cpp command - * - * @author laggarcia - * @since 1.0.0 - */ -public class XlCSpecsConsoleParser implements IScannerInfoConsoleParser { - - // pattern for the output line of interest - 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 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$ - "__IBMCPP__", //$NON-NLS-1$ - "__xlC__", //$NON-NLS-1$ - "__IBMC__", //$NON-NLS-1$ - "__xlc__" //$NON-NLS-1$ - }; - - private IProject fProject = null; - - protected IScannerInfoCollector fCollector = null; - - protected List symbols = new ArrayList<>(); - - protected List includes = new ArrayList<>(); - protected List c_includes = new ArrayList<>(); - protected List cpp_includes = new ArrayList<>(); - - 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; - } - - public void setC_lang(boolean c_lang) { - this.c_lang = c_lang; - } - - @Override - 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 { - // use C pattern - c_lang = true; - } - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - /* - * Process an output line from the compiler command line used to retrieve - * standard information about the compiler being used.

    During the - * processing, builds two List objects, one with the standard symbols - * defined in the compiler and other with the standard include directories. - * - * @param line the output line from the compiler command line used @return - * boolean - * - * @see org.eclipse.cdt.make.intrenal.core.scannerconfig.gnu.GCCSpecsConsoleParser#processLine(java.lang.String) - * @since 1.0 - */ - @Override - public boolean processLine(String line) { - boolean rc = false; - TraceUtil.outputTrace("XLCSpecsConsoleParser parsing line: [", line, "]"); //$NON-NLS-1$ //$NON-NLS-2$ - - line = line.trim(); - if (line.length() == 0) { - return false; - } - - // testing the output line against the pattern of interest - Matcher lineMatcher = linePattern.matcher(line); - if (lineMatcher.matches()) { - // getting the arguments from the line of interest from the - // output - // generated in command line - String[] args = lineMatcher.group(1).split(","); //$NON-NLS-1$ - 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 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]); - if (includeMatcher.matches()) { - // if it is a set of include paths, split it - 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 - includes.add(includePaths[j]); - } - } - } - } - } - } - return rc; - } - - @Override - public void shutdown() { - Map> scannerInfo = new HashMap<>(); - - // insert compiler constants, work around buggy xlC option for dumping symbols (it misses a few) - for (String constant : compilerConstants) { - if (!symbols.contains(constant)) - symbols.add(constant); - } - - // add the scanner info - scannerInfo.put(ScannerInfoTypes.INCLUDE_PATHS, includes); - scannerInfo.put(ScannerInfoTypes.SYMBOL_DEFINITIONS, symbols); - - fCollector.contributeToScannerConfig(fProject, 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("Scanner info from \'specs\' file", //$NON-NLS-1$ - "Include paths", includes, new ArrayList(), "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 deleted file mode 100644 index 8f67f092d68..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/XlCSpecsRunSIProvider.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.make.xlc.core.scannerconfig; - -import org.eclipse.cdt.make.internal.core.scannerconfig2.GCCSpecsRunSIProvider; -import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager; -import org.eclipse.cdt.managedbuilder.macros.BuildMacroException; -import org.eclipse.cdt.managedbuilder.macros.IBuildMacroProvider; -import org.eclipse.core.runtime.Path; - -/** - * @author laggarcia - * - */ -public class XlCSpecsRunSIProvider extends GCCSpecsRunSIProvider { - - protected static final String EMPTY_STRING = ""; //$NON-NLS-1$ - - @Override - protected boolean initialize() { - - boolean rc = super.initialize(); - - 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())); - } catch (BuildMacroException e) { - e.printStackTrace(); - return false; - } - } - - return rc; - - } - -} 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 deleted file mode 100644 index cd4b6ad7262..00000000000 --- a/xlc/org.eclipse.cdt.make.xlc.core/src/org/eclipse/cdt/make/xlc/core/scannerconfig/util/XLCCommandDSC.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.make.xlc.core.scannerconfig.util; - -import org.eclipse.cdt.make.internal.core.scannerconfig.util.CCommandDSC; -import org.eclipse.cdt.make.internal.core.scannerconfig.util.KVStringPair; -import org.eclipse.cdt.make.internal.core.scannerconfig.util.SCDOptionsEnum; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.Path; - -/** - * Class that represents a XL C/C++ compiler command and related scanner configuration - */ -public class XLCCommandDSC extends CCommandDSC { - - public XLCCommandDSC(boolean cppFileType) { - super(cppFileType); - } - - public XLCCommandDSC(boolean cppFileType, IProject project) { - super(cppFileType, project); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.make.internal.core.scannerconfig.util.CCommandDSC#addSCOption(org.eclipse.cdt.make.internal.core.scannerconfig.util.KVStringPair) - */ - @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()))) { - String value = option.getValue(); - value = makeRelative(project, new Path(value)).toOSString(); - option = new KVStringPair(option.getKey(), value); - } - compilerCommand.add(option); - } - -} diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.classpath b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.classpath deleted file mode 100644 index eca7bdba8f0..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.project b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.project deleted file mode 100644 index ac6520e0a11..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.eclipse.cdt.managedbuilder.xlc.core - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.settings/org.eclipse.jdt.core.prefs b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 2b6ecff8a01..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,464 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.cleanOutputFolder=clean -org.eclipse.jdt.core.builder.duplicateResourceTask=warning -org.eclipse.jdt.core.builder.invalidClasspath=abort -org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore -org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch, *.xtend -org.eclipse.jdt.core.circularClasspath=error -org.eclipse.jdt.core.classpath.exclusionPatterns=enabled -org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error -org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled -org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error -org.eclipse.jdt.core.codeComplete.argumentPrefixes= -org.eclipse.jdt.core.codeComplete.argumentSuffixes= -org.eclipse.jdt.core.codeComplete.fieldPrefixes= -org.eclipse.jdt.core.codeComplete.fieldSuffixes= -org.eclipse.jdt.core.codeComplete.localPrefixes= -org.eclipse.jdt.core.codeComplete.localSuffixes= -org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.8 -org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false -org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 -org.eclipse.jdt.core.formatter.align_type_members_on_columns=false -org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false -org.eclipse.jdt.core.formatter.align_with_spaces=false -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_assignment=0 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 -org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 -org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 -org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 -org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 -org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 -org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 -org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 -org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 -org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_after_package=1 -org.eclipse.jdt.core.formatter.blank_lines_before_field=0 -org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 -org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 -org.eclipse.jdt.core.formatter.blank_lines_before_method=1 -org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 -org.eclipse.jdt.core.formatter.blank_lines_before_package=0 -org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 -org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 -org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true -org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false -org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true -org.eclipse.jdt.core.formatter.comment.format_block_comments=false -org.eclipse.jdt.core.formatter.comment.format_header=false -org.eclipse.jdt.core.formatter.comment.format_html=true -org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false -org.eclipse.jdt.core.formatter.comment.format_line_comments=false -org.eclipse.jdt.core.formatter.comment.format_source_code=true -org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false -org.eclipse.jdt.core.formatter.comment.indent_root_tags=false -org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert -org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert -org.eclipse.jdt.core.formatter.comment.line_length=80 -org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true -org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true -org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false -org.eclipse.jdt.core.formatter.compact_else_if=true -org.eclipse.jdt.core.formatter.continuation_indentation=2 -org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 -org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off -org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on -org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false -org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true -org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_empty_lines=false -org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true -org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false -org.eclipse.jdt.core.formatter.indentation.size=4 -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert -org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert -org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert -org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.join_lines_in_comments=true -org.eclipse.jdt.core.formatter.join_wrapped_lines=true -org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false -org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false -org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false -org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false -org.eclipse.jdt.core.formatter.lineSplit=120 -org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false -org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false -org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 -org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 -org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines -org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true -org.eclipse.jdt.core.formatter.tabulation.char=tab -org.eclipse.jdt.core.formatter.tabulation.size=4 -org.eclipse.jdt.core.formatter.use_on_off_tags=true -org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false -org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true -org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true -org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true -org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true -org.eclipse.jdt.core.incompatibleJDKLevel=ignore -org.eclipse.jdt.core.incompleteClasspath=error -org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.settings/org.eclipse.jdt.launching.prefs b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.settings/org.eclipse.jdt.launching.prefs deleted file mode 100644 index f8a131b56e0..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.settings/org.eclipse.jdt.launching.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=warning -org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=warning diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.settings/org.eclipse.jdt.ui.prefs b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index e44576346c4..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,133 +0,0 @@ -cleanup.add_default_serial_version_id=true -cleanup.add_generated_serial_version_id=false -cleanup.add_missing_annotations=true -cleanup.add_missing_deprecated_annotations=true -cleanup.add_missing_methods=false -cleanup.add_missing_nls_tags=false -cleanup.add_missing_override_annotations=true -cleanup.add_missing_override_annotations_interface_methods=true -cleanup.add_serial_version_id=false -cleanup.always_use_blocks=true -cleanup.always_use_parentheses_in_expressions=false -cleanup.always_use_this_for_non_static_field_access=false -cleanup.always_use_this_for_non_static_method_access=false -cleanup.convert_functional_interfaces=false -cleanup.convert_to_enhanced_for_loop=false -cleanup.correct_indentation=false -cleanup.format_source_code=true -cleanup.format_source_code_changes_only=false -cleanup.insert_inferred_type_arguments=false -cleanup.make_local_variable_final=true -cleanup.make_parameters_final=false -cleanup.make_private_fields_final=true -cleanup.make_type_abstract_if_missing_method=false -cleanup.make_variable_declarations_final=false -cleanup.never_use_blocks=false -cleanup.never_use_parentheses_in_expressions=true -cleanup.organize_imports=true -cleanup.qualify_static_field_accesses_with_declaring_class=false -cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -cleanup.qualify_static_member_accesses_with_declaring_class=false -cleanup.qualify_static_method_accesses_with_declaring_class=false -cleanup.remove_private_constructors=true -cleanup.remove_redundant_modifiers=false -cleanup.remove_redundant_semicolons=true -cleanup.remove_redundant_type_arguments=true -cleanup.remove_trailing_whitespaces=true -cleanup.remove_trailing_whitespaces_all=true -cleanup.remove_trailing_whitespaces_ignore_empty=false -cleanup.remove_unnecessary_casts=true -cleanup.remove_unnecessary_nls_tags=false -cleanup.remove_unused_imports=true -cleanup.remove_unused_local_variables=false -cleanup.remove_unused_private_fields=true -cleanup.remove_unused_private_members=false -cleanup.remove_unused_private_methods=true -cleanup.remove_unused_private_types=true -cleanup.sort_members=false -cleanup.sort_members_all=false -cleanup.use_anonymous_class_creation=false -cleanup.use_blocks=false -cleanup.use_blocks_only_for_return_and_throw=false -cleanup.use_lambda=true -cleanup.use_parentheses_in_expressions=false -cleanup.use_this_for_non_static_field_access=false -cleanup.use_this_for_non_static_field_access_only_if_necessary=true -cleanup.use_this_for_non_static_method_access=false -cleanup.use_this_for_non_static_method_access_only_if_necessary=true -cleanup_profile=_CDT -cleanup_settings_version=2 -eclipse.preferences.version=1 -editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true -formatter_profile=_CDT -formatter_settings_version=14 -internal.default.compliance=user -org.eclipse.jdt.ui.exception.name=e -org.eclipse.jdt.ui.gettersetter.use.is=true -org.eclipse.jdt.ui.ignorelowercasenames=true -org.eclipse.jdt.ui.importorder=java;javax;org;com; -org.eclipse.jdt.ui.keywordthis=false -org.eclipse.jdt.ui.ondemandthreshold=1000 -org.eclipse.jdt.ui.overrideannotation=true -org.eclipse.jdt.ui.staticondemandthreshold=1000 -org.eclipse.jdt.ui.text.custom_code_templates= -sp_cleanup.add_default_serial_version_id=true -sp_cleanup.add_generated_serial_version_id=false -sp_cleanup.add_missing_annotations=true -sp_cleanup.add_missing_deprecated_annotations=true -sp_cleanup.add_missing_methods=false -sp_cleanup.add_missing_nls_tags=false -sp_cleanup.add_missing_override_annotations=true -sp_cleanup.add_missing_override_annotations_interface_methods=true -sp_cleanup.add_serial_version_id=false -sp_cleanup.always_use_blocks=true -sp_cleanup.always_use_parentheses_in_expressions=false -sp_cleanup.always_use_this_for_non_static_field_access=false -sp_cleanup.always_use_this_for_non_static_method_access=false -sp_cleanup.convert_functional_interfaces=false -sp_cleanup.convert_to_enhanced_for_loop=false -sp_cleanup.correct_indentation=false -sp_cleanup.format_source_code=true -sp_cleanup.format_source_code_changes_only=false -sp_cleanup.insert_inferred_type_arguments=false -sp_cleanup.make_local_variable_final=true -sp_cleanup.make_parameters_final=false -sp_cleanup.make_private_fields_final=true -sp_cleanup.make_type_abstract_if_missing_method=false -sp_cleanup.make_variable_declarations_final=false -sp_cleanup.never_use_blocks=false -sp_cleanup.never_use_parentheses_in_expressions=true -sp_cleanup.on_save_use_additional_actions=true -sp_cleanup.organize_imports=true -sp_cleanup.qualify_static_field_accesses_with_declaring_class=false -sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_with_declaring_class=false -sp_cleanup.qualify_static_method_accesses_with_declaring_class=false -sp_cleanup.remove_private_constructors=true -sp_cleanup.remove_redundant_modifiers=false -sp_cleanup.remove_redundant_semicolons=true -sp_cleanup.remove_redundant_type_arguments=true -sp_cleanup.remove_trailing_whitespaces=true -sp_cleanup.remove_trailing_whitespaces_all=true -sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true -sp_cleanup.remove_unnecessary_nls_tags=false -sp_cleanup.remove_unused_imports=true -sp_cleanup.remove_unused_local_variables=false -sp_cleanup.remove_unused_private_fields=true -sp_cleanup.remove_unused_private_members=false -sp_cleanup.remove_unused_private_methods=true -sp_cleanup.remove_unused_private_types=true -sp_cleanup.sort_members=false -sp_cleanup.sort_members_all=false -sp_cleanup.use_anonymous_class_creation=false -sp_cleanup.use_blocks=false -sp_cleanup.use_blocks_only_for_return_and_throw=false -sp_cleanup.use_lambda=true -sp_cleanup.use_parentheses_in_expressions=false -sp_cleanup.use_this_for_non_static_field_access=false -sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true -sp_cleanup.use_this_for_non_static_method_access=false -sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.settings/org.eclipse.pde.api.tools.prefs b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.settings/org.eclipse.pde.api.tools.prefs deleted file mode 100644 index ec9fbf321d0..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.settings/org.eclipse.pde.api.tools.prefs +++ /dev/null @@ -1,184 +0,0 @@ -ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error -API_USE_SCAN_FIELD_SEVERITY=Error -API_USE_SCAN_METHOD_SEVERITY=Error -API_USE_SCAN_TYPE_SEVERITY=Error -CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_FIELD=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_ADDED_METHOD=Error -CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error -CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error -CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error -ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error -ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error -ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -FIELD_ELEMENT_TYPE_ADDED_VALUE=Error -FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error -FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error -FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error -ILLEGAL_EXTEND=Warning -ILLEGAL_IMPLEMENT=Warning -ILLEGAL_INSTANTIATE=Warning -ILLEGAL_OVERRIDE=Warning -ILLEGAL_REFERENCE=Warning -INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -INVALID_ANNOTATION=Ignore -INVALID_JAVADOC_TAG=Error -INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning -LEAK_EXTEND=Warning -LEAK_FIELD_DECL=Warning -LEAK_IMPLEMENT=Warning -LEAK_METHOD_PARAM=Warning -LEAK_METHOD_RETURN_TYPE=Warning -METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -MISSING_EE_DESCRIPTIONS=Warning -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -UNUSED_PROBLEM_FILTERS=Warning -automatically_removed_unused_problem_filters=false -changed_execution_env=Error -eclipse.preferences.version=1 -incompatible_api_component_version=Error -incompatible_api_component_version_include_major_without_breaking_change=Disabled -incompatible_api_component_version_include_minor_without_api_change=Disabled -incompatible_api_component_version_report_major_without_breaking_change=Warning -incompatible_api_component_version_report_minor_without_api_change=Warning -invalid_since_tag_version=Error -malformed_since_tag=Error -missing_since_tag=Error -report_api_breakage_when_major_version_incremented=Disabled -report_resolution_errors_api_component=Warning diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.settings/org.eclipse.pde.prefs b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.settings/org.eclipse.pde.prefs deleted file mode 100644 index d2dc703ba9e..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,35 +0,0 @@ -compilers.f.unresolved-features=1 -compilers.f.unresolved-plugins=1 -compilers.incompatible-environment=1 -compilers.p.build=1 -compilers.p.build.bin.includes=1 -compilers.p.build.encodings=2 -compilers.p.build.java.compiler=2 -compilers.p.build.java.compliance=1 -compilers.p.build.missing.output=2 -compilers.p.build.output.library=1 -compilers.p.build.source.library=1 -compilers.p.build.src.includes=1 -compilers.p.deprecated=1 -compilers.p.discouraged-class=1 -compilers.p.internal=1 -compilers.p.missing-packages=2 -compilers.p.missing-version-export-package=2 -compilers.p.missing-version-import-package=2 -compilers.p.missing-version-require-bundle=2 -compilers.p.no-required-att=0 -compilers.p.no.automatic.module=1 -compilers.p.not-externalized-att=1 -compilers.p.service.component.without.lazyactivation=1 -compilers.p.unknown-attribute=1 -compilers.p.unknown-class=1 -compilers.p.unknown-element=1 -compilers.p.unknown-identifier=1 -compilers.p.unknown-resource=1 -compilers.p.unresolved-ex-points=0 -compilers.p.unresolved-import=0 -compilers.s.create-docs=false -compilers.s.doc-folder=doc -compilers.s.open-tags=1 -compilers.use-project=true -eclipse.preferences.version=1 diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/META-INF/MANIFEST.MF b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/META-INF/MANIFEST.MF deleted file mode 100644 index eb68e0c60ec..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/META-INF/MANIFEST.MF +++ /dev/null @@ -1,19 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.cdt.managedbuilder.xlc.core;singleton:=true -Bundle-Version: 5.0.100.qualifier -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Require-Bundle: org.eclipse.cdt.managedbuilder.core, - org.eclipse.core.resources, - org.eclipse.core.runtime, - org.eclipse.cdt.core, - org.eclipse.cdt.make.xlc.core, - org.eclipse.cdt.make.core, - org.eclipse.ui -Bundle-ActivationPolicy: lazy -Bundle-Activator: org.eclipse.cdt.managedbuilder.xlc.core.XLCCorePlugin -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Export-Package: org.eclipse.cdt.managedbuilder.xlc.core -Automatic-Module-Name: org.eclipse.cdt.managedbuilder.xlc.core diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/about.html b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/about.html deleted file mode 100644 index 164f781a8fd..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/about.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    November 30, 2017

    -

    License

    - -

    - The Eclipse Foundation makes available all content in this plug-in - ("Content"). Unless otherwise indicated below, the Content - is provided to you under the terms and conditions of the Eclipse - Public License Version 2.0 ("EPL"). A copy of the EPL is - available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    - If you did not receive this Content directly from the Eclipse - Foundation, the Content is being redistributed by another party - ("Redistributor") and different terms and conditions may - apply to your use of any object code in the Content. Check the - Redistributor's license that was provided with the Content. If no such - license exists, contact the Redistributor. Unless otherwise indicated - below, the terms and conditions of the EPL still apply to any source - code in the Content and such source code may be obtained at http://www.eclipse.org. -

    - - - \ No newline at end of file diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/about.ini b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/about.ini deleted file mode 100644 index e07a7bb377e..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/about.ini +++ /dev/null @@ -1,24 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=cdt_logo_icon32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (translated) -# needed for primary features only - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/about.mappings b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/about.mappings deleted file mode 100644 index 936a8039c3e..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/about.mappings +++ /dev/null @@ -1,9 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -# The following should contain the build version. -# e.g. "0=20200106-1728" -# This value will be added automatically via the build scripts -0=${buildId} diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/about.properties b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/about.properties deleted file mode 100644 index d057eae6b2d..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/about.properties +++ /dev/null @@ -1,32 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2020 Contributors to the Eclipse Foundation -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -############################################################################### -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# NOTE TO TRANSLATOR: Please do not translate the featureVersion variable. - - -blurb=C/C++ IBM XLC Compiler Support\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -Copyright (c) 2006, 2020 Contributors to the Eclipse Foundation -\n\ -See the NOTICE file(s) distributed with this work for additional\n\ -information regarding copyright ownership.\n\ -\n\ -Visit http://www.eclipse.org/cdt diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/build.properties b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/build.properties deleted file mode 100644 index cb8d17b1e4e..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/build.properties +++ /dev/null @@ -1,26 +0,0 @@ -############################################################################### -# Copyright (c) 2007, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - plugin.xml,\ - plugin.properties,\ - about.html,\ - about.ini,\ - about.mappings,\ - about.properties,\ - cdt_logo_icon32.png -src.includes = about.html - diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/cdt_logo_icon32.png b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/cdt_logo_icon32.png deleted file mode 100644 index 470ca81b327..00000000000 Binary files a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/cdt_logo_icon32.png and /dev/null differ diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/plugin.properties b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/plugin.properties deleted file mode 100644 index fd953f30990..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/plugin.properties +++ /dev/null @@ -1,25 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -# Plugin Name -pluginName=XL C/C++ Managed Build Core -providerName=Eclipse CDT - -objectFileName=Object File - -profileName=XL C managed make per project scanner discovery profile -profileNameCPP=XL C++ managed make per project scanner discovery profile - -XlcBuiltinSpecsDetectorName=CDT XLC Built-in Compiler Settings -XlcBuildCommandParserName=CDT XLC Build Output Parser diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/plugin.xml b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/plugin.xml deleted file mode 100644 index 272caf0579a..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/plugin.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/src/org/eclipse/cdt/managedbuilder/xlc/core/XLCCorePlugin.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/src/org/eclipse/cdt/managedbuilder/xlc/core/XLCCorePlugin.java deleted file mode 100644 index a996236c37b..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/src/org/eclipse/cdt/managedbuilder/xlc/core/XLCCorePlugin.java +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.managedbuilder.xlc.core; - -import org.eclipse.ui.plugin.AbstractUIPlugin; - -/** - * @author crecoskie - * - */ -public class XLCCorePlugin extends AbstractUIPlugin { - - /** - * - */ - public XLCCorePlugin() { - // TODO Auto-generated constructor stub - } - -} 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 deleted file mode 100644 index edc06ec460a..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/src/org/eclipse/cdt/managedbuilder/xlc/core/XlcBuiltinSpecsDetector.java +++ /dev/null @@ -1,96 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2012 Andrew Gvozdev and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * Andrew Gvozdev - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.managedbuilder.xlc.core; - -import java.util.ArrayList; -import java.util.List; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsEditableProvider; -import org.eclipse.cdt.core.settings.model.ICSettingEntry; -import org.eclipse.cdt.managedbuilder.language.settings.providers.ToolchainBuiltinSpecsDetector; - -/** - * Language settings provider to detect built-in compiler settings for IBM XLC compiler. - */ -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 Pattern OPTIONS_PATTERN = Pattern - .compile("-[^\\s\"']*(\\s*((\".*?\")|('.*?')|([^-\\s][^\\s]+)))?"); //$NON-NLS-1$ - private static final int OPTION_GROUP = 0; - - /* Sample output: - - > xlC -E -V -P -w ~/tmp/spec.C - export XL_CONFIG=/etc/vac.cfg:xlC - /usr/vac/exe/xlCcpp /home/me/tmp/spec.C - -qc++=/usr/vacpp/include -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX50 -D_AIX51 -D_AIX52 -D_IBMR2 -D_POWER -E -P -w -qlanglvl=ansi -qansialias - rm /tmp/xlcW0lt4Jia - rm /tmp/xlcW1lt4Jib - rm /tmp/xlcW2lt4Jic - */ - @SuppressWarnings("nls") - private static final AbstractOptionParser[] optionParsers = { - 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), }; - - @Override - public String getToolchainId() { - return XLC_TOOLCHAIN_ID; - } - - @Override - protected AbstractOptionParser[] getOptionParsers() { - return optionParsers; - } - - @Override - protected List parseOptions(String line) { - List options = new ArrayList<>(); - Matcher optionMatcher = OPTIONS_PATTERN.matcher(line); - while (optionMatcher.find()) { - String option = optionMatcher.group(OPTION_GROUP); - if (option != null) { - options.add(option); - } - } - return options; - } - - @Override - public XlcBuiltinSpecsDetector cloneShallow() throws CloneNotSupportedException { - return (XlcBuiltinSpecsDetector) super.cloneShallow(); - } - - @Override - public XlcBuiltinSpecsDetector clone() throws CloneNotSupportedException { - return (XlcBuiltinSpecsDetector) super.clone(); - } - -} diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.classpath b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.classpath deleted file mode 100644 index eca7bdba8f0..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.project b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.project deleted file mode 100644 index dcc854caa74..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.eclipse.cdt.managedbuilder.xlc.ui - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.settings/org.eclipse.jdt.core.prefs b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 2b6ecff8a01..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,464 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.cleanOutputFolder=clean -org.eclipse.jdt.core.builder.duplicateResourceTask=warning -org.eclipse.jdt.core.builder.invalidClasspath=abort -org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore -org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch, *.xtend -org.eclipse.jdt.core.circularClasspath=error -org.eclipse.jdt.core.classpath.exclusionPatterns=enabled -org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error -org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled -org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error -org.eclipse.jdt.core.codeComplete.argumentPrefixes= -org.eclipse.jdt.core.codeComplete.argumentSuffixes= -org.eclipse.jdt.core.codeComplete.fieldPrefixes= -org.eclipse.jdt.core.codeComplete.fieldSuffixes= -org.eclipse.jdt.core.codeComplete.localPrefixes= -org.eclipse.jdt.core.codeComplete.localSuffixes= -org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.8 -org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false -org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 -org.eclipse.jdt.core.formatter.align_type_members_on_columns=false -org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false -org.eclipse.jdt.core.formatter.align_with_spaces=false -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_assignment=0 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 -org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 -org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 -org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 -org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 -org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 -org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 -org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 -org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 -org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_after_package=1 -org.eclipse.jdt.core.formatter.blank_lines_before_field=0 -org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 -org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 -org.eclipse.jdt.core.formatter.blank_lines_before_method=1 -org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 -org.eclipse.jdt.core.formatter.blank_lines_before_package=0 -org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 -org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 -org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true -org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false -org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true -org.eclipse.jdt.core.formatter.comment.format_block_comments=false -org.eclipse.jdt.core.formatter.comment.format_header=false -org.eclipse.jdt.core.formatter.comment.format_html=true -org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false -org.eclipse.jdt.core.formatter.comment.format_line_comments=false -org.eclipse.jdt.core.formatter.comment.format_source_code=true -org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false -org.eclipse.jdt.core.formatter.comment.indent_root_tags=false -org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert -org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert -org.eclipse.jdt.core.formatter.comment.line_length=80 -org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true -org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true -org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false -org.eclipse.jdt.core.formatter.compact_else_if=true -org.eclipse.jdt.core.formatter.continuation_indentation=2 -org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 -org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off -org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on -org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false -org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true -org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_empty_lines=false -org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true -org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false -org.eclipse.jdt.core.formatter.indentation.size=4 -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert -org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert -org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert -org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.join_lines_in_comments=true -org.eclipse.jdt.core.formatter.join_wrapped_lines=true -org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false -org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false -org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false -org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false -org.eclipse.jdt.core.formatter.lineSplit=120 -org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false -org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false -org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 -org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 -org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines -org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true -org.eclipse.jdt.core.formatter.tabulation.char=tab -org.eclipse.jdt.core.formatter.tabulation.size=4 -org.eclipse.jdt.core.formatter.use_on_off_tags=true -org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false -org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true -org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true -org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true -org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true -org.eclipse.jdt.core.incompatibleJDKLevel=ignore -org.eclipse.jdt.core.incompleteClasspath=error -org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.settings/org.eclipse.jdt.launching.prefs b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.settings/org.eclipse.jdt.launching.prefs deleted file mode 100644 index f8a131b56e0..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.settings/org.eclipse.jdt.launching.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=warning -org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=warning diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.settings/org.eclipse.jdt.ui.prefs b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index e44576346c4..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,133 +0,0 @@ -cleanup.add_default_serial_version_id=true -cleanup.add_generated_serial_version_id=false -cleanup.add_missing_annotations=true -cleanup.add_missing_deprecated_annotations=true -cleanup.add_missing_methods=false -cleanup.add_missing_nls_tags=false -cleanup.add_missing_override_annotations=true -cleanup.add_missing_override_annotations_interface_methods=true -cleanup.add_serial_version_id=false -cleanup.always_use_blocks=true -cleanup.always_use_parentheses_in_expressions=false -cleanup.always_use_this_for_non_static_field_access=false -cleanup.always_use_this_for_non_static_method_access=false -cleanup.convert_functional_interfaces=false -cleanup.convert_to_enhanced_for_loop=false -cleanup.correct_indentation=false -cleanup.format_source_code=true -cleanup.format_source_code_changes_only=false -cleanup.insert_inferred_type_arguments=false -cleanup.make_local_variable_final=true -cleanup.make_parameters_final=false -cleanup.make_private_fields_final=true -cleanup.make_type_abstract_if_missing_method=false -cleanup.make_variable_declarations_final=false -cleanup.never_use_blocks=false -cleanup.never_use_parentheses_in_expressions=true -cleanup.organize_imports=true -cleanup.qualify_static_field_accesses_with_declaring_class=false -cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -cleanup.qualify_static_member_accesses_with_declaring_class=false -cleanup.qualify_static_method_accesses_with_declaring_class=false -cleanup.remove_private_constructors=true -cleanup.remove_redundant_modifiers=false -cleanup.remove_redundant_semicolons=true -cleanup.remove_redundant_type_arguments=true -cleanup.remove_trailing_whitespaces=true -cleanup.remove_trailing_whitespaces_all=true -cleanup.remove_trailing_whitespaces_ignore_empty=false -cleanup.remove_unnecessary_casts=true -cleanup.remove_unnecessary_nls_tags=false -cleanup.remove_unused_imports=true -cleanup.remove_unused_local_variables=false -cleanup.remove_unused_private_fields=true -cleanup.remove_unused_private_members=false -cleanup.remove_unused_private_methods=true -cleanup.remove_unused_private_types=true -cleanup.sort_members=false -cleanup.sort_members_all=false -cleanup.use_anonymous_class_creation=false -cleanup.use_blocks=false -cleanup.use_blocks_only_for_return_and_throw=false -cleanup.use_lambda=true -cleanup.use_parentheses_in_expressions=false -cleanup.use_this_for_non_static_field_access=false -cleanup.use_this_for_non_static_field_access_only_if_necessary=true -cleanup.use_this_for_non_static_method_access=false -cleanup.use_this_for_non_static_method_access_only_if_necessary=true -cleanup_profile=_CDT -cleanup_settings_version=2 -eclipse.preferences.version=1 -editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true -formatter_profile=_CDT -formatter_settings_version=14 -internal.default.compliance=user -org.eclipse.jdt.ui.exception.name=e -org.eclipse.jdt.ui.gettersetter.use.is=true -org.eclipse.jdt.ui.ignorelowercasenames=true -org.eclipse.jdt.ui.importorder=java;javax;org;com; -org.eclipse.jdt.ui.keywordthis=false -org.eclipse.jdt.ui.ondemandthreshold=1000 -org.eclipse.jdt.ui.overrideannotation=true -org.eclipse.jdt.ui.staticondemandthreshold=1000 -org.eclipse.jdt.ui.text.custom_code_templates= -sp_cleanup.add_default_serial_version_id=true -sp_cleanup.add_generated_serial_version_id=false -sp_cleanup.add_missing_annotations=true -sp_cleanup.add_missing_deprecated_annotations=true -sp_cleanup.add_missing_methods=false -sp_cleanup.add_missing_nls_tags=false -sp_cleanup.add_missing_override_annotations=true -sp_cleanup.add_missing_override_annotations_interface_methods=true -sp_cleanup.add_serial_version_id=false -sp_cleanup.always_use_blocks=true -sp_cleanup.always_use_parentheses_in_expressions=false -sp_cleanup.always_use_this_for_non_static_field_access=false -sp_cleanup.always_use_this_for_non_static_method_access=false -sp_cleanup.convert_functional_interfaces=false -sp_cleanup.convert_to_enhanced_for_loop=false -sp_cleanup.correct_indentation=false -sp_cleanup.format_source_code=true -sp_cleanup.format_source_code_changes_only=false -sp_cleanup.insert_inferred_type_arguments=false -sp_cleanup.make_local_variable_final=true -sp_cleanup.make_parameters_final=false -sp_cleanup.make_private_fields_final=true -sp_cleanup.make_type_abstract_if_missing_method=false -sp_cleanup.make_variable_declarations_final=false -sp_cleanup.never_use_blocks=false -sp_cleanup.never_use_parentheses_in_expressions=true -sp_cleanup.on_save_use_additional_actions=true -sp_cleanup.organize_imports=true -sp_cleanup.qualify_static_field_accesses_with_declaring_class=false -sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_with_declaring_class=false -sp_cleanup.qualify_static_method_accesses_with_declaring_class=false -sp_cleanup.remove_private_constructors=true -sp_cleanup.remove_redundant_modifiers=false -sp_cleanup.remove_redundant_semicolons=true -sp_cleanup.remove_redundant_type_arguments=true -sp_cleanup.remove_trailing_whitespaces=true -sp_cleanup.remove_trailing_whitespaces_all=true -sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true -sp_cleanup.remove_unnecessary_nls_tags=false -sp_cleanup.remove_unused_imports=true -sp_cleanup.remove_unused_local_variables=false -sp_cleanup.remove_unused_private_fields=true -sp_cleanup.remove_unused_private_members=false -sp_cleanup.remove_unused_private_methods=true -sp_cleanup.remove_unused_private_types=true -sp_cleanup.sort_members=false -sp_cleanup.sort_members_all=false -sp_cleanup.use_anonymous_class_creation=false -sp_cleanup.use_blocks=false -sp_cleanup.use_blocks_only_for_return_and_throw=false -sp_cleanup.use_lambda=true -sp_cleanup.use_parentheses_in_expressions=false -sp_cleanup.use_this_for_non_static_field_access=false -sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true -sp_cleanup.use_this_for_non_static_method_access=false -sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.settings/org.eclipse.pde.api.tools.prefs b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.settings/org.eclipse.pde.api.tools.prefs deleted file mode 100644 index ec9fbf321d0..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.settings/org.eclipse.pde.api.tools.prefs +++ /dev/null @@ -1,184 +0,0 @@ -ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error -API_USE_SCAN_FIELD_SEVERITY=Error -API_USE_SCAN_METHOD_SEVERITY=Error -API_USE_SCAN_TYPE_SEVERITY=Error -CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_FIELD=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_ADDED_METHOD=Error -CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error -CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error -CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error -ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error -ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error -ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -FIELD_ELEMENT_TYPE_ADDED_VALUE=Error -FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error -FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error -FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error -ILLEGAL_EXTEND=Warning -ILLEGAL_IMPLEMENT=Warning -ILLEGAL_INSTANTIATE=Warning -ILLEGAL_OVERRIDE=Warning -ILLEGAL_REFERENCE=Warning -INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -INVALID_ANNOTATION=Ignore -INVALID_JAVADOC_TAG=Error -INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning -LEAK_EXTEND=Warning -LEAK_FIELD_DECL=Warning -LEAK_IMPLEMENT=Warning -LEAK_METHOD_PARAM=Warning -LEAK_METHOD_RETURN_TYPE=Warning -METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -MISSING_EE_DESCRIPTIONS=Warning -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -UNUSED_PROBLEM_FILTERS=Warning -automatically_removed_unused_problem_filters=false -changed_execution_env=Error -eclipse.preferences.version=1 -incompatible_api_component_version=Error -incompatible_api_component_version_include_major_without_breaking_change=Disabled -incompatible_api_component_version_include_minor_without_api_change=Disabled -incompatible_api_component_version_report_major_without_breaking_change=Warning -incompatible_api_component_version_report_minor_without_api_change=Warning -invalid_since_tag_version=Error -malformed_since_tag=Error -missing_since_tag=Error -report_api_breakage_when_major_version_incremented=Disabled -report_resolution_errors_api_component=Warning diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.settings/org.eclipse.pde.prefs b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.settings/org.eclipse.pde.prefs deleted file mode 100644 index d2dc703ba9e..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,35 +0,0 @@ -compilers.f.unresolved-features=1 -compilers.f.unresolved-plugins=1 -compilers.incompatible-environment=1 -compilers.p.build=1 -compilers.p.build.bin.includes=1 -compilers.p.build.encodings=2 -compilers.p.build.java.compiler=2 -compilers.p.build.java.compliance=1 -compilers.p.build.missing.output=2 -compilers.p.build.output.library=1 -compilers.p.build.source.library=1 -compilers.p.build.src.includes=1 -compilers.p.deprecated=1 -compilers.p.discouraged-class=1 -compilers.p.internal=1 -compilers.p.missing-packages=2 -compilers.p.missing-version-export-package=2 -compilers.p.missing-version-import-package=2 -compilers.p.missing-version-require-bundle=2 -compilers.p.no-required-att=0 -compilers.p.no.automatic.module=1 -compilers.p.not-externalized-att=1 -compilers.p.service.component.without.lazyactivation=1 -compilers.p.unknown-attribute=1 -compilers.p.unknown-class=1 -compilers.p.unknown-element=1 -compilers.p.unknown-identifier=1 -compilers.p.unknown-resource=1 -compilers.p.unresolved-ex-points=0 -compilers.p.unresolved-import=0 -compilers.s.create-docs=false -compilers.s.doc-folder=doc -compilers.s.open-tags=1 -compilers.use-project=true -eclipse.preferences.version=1 diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/META-INF/MANIFEST.MF b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/META-INF/MANIFEST.MF deleted file mode 100644 index 51c54d63010..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/META-INF/MANIFEST.MF +++ /dev/null @@ -1,26 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.cdt.managedbuilder.xlc.ui; singleton := true -Bundle-Version: 6.4.100.qualifier -Bundle-Activator: org.eclipse.cdt.managedbuilder.xlc.ui.XLCUIPlugin -Bundle-Localization: plugin -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.cdt.managedbuilder.core, - org.eclipse.cdt.core, - org.eclipse.core.resources, - org.eclipse.cdt.managedbuilder.ui, - org.eclipse.cdt.ui, - org.eclipse.ui.ide, - org.eclipse.core.variables -Bundle-ActivationPolicy: lazy -Export-Package: org.eclipse.cdt.managedbuilder.xlc.aix, - org.eclipse.cdt.managedbuilder.xlc.ui, - org.eclipse.cdt.managedbuilder.xlc.ui.preferences, - org.eclipse.cdt.managedbuilder.xlc.ui.properties, - org.eclipse.cdt.managedbuilder.xlc.ui.variables, - org.eclipse.cdt.managedbuilder.xlc.ui.wizards -Bundle-Vendor: %providerName -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Automatic-Module-Name: org.eclipse.cdt.managedbuilder.xlc.ui diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/about.html b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/about.html deleted file mode 100644 index 164f781a8fd..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/about.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    November 30, 2017

    -

    License

    - -

    - The Eclipse Foundation makes available all content in this plug-in - ("Content"). Unless otherwise indicated below, the Content - is provided to you under the terms and conditions of the Eclipse - Public License Version 2.0 ("EPL"). A copy of the EPL is - available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    - If you did not receive this Content directly from the Eclipse - Foundation, the Content is being redistributed by another party - ("Redistributor") and different terms and conditions may - apply to your use of any object code in the Content. Check the - Redistributor's license that was provided with the Content. If no such - license exists, contact the Redistributor. Unless otherwise indicated - below, the terms and conditions of the EPL still apply to any source - code in the Content and such source code may be obtained at http://www.eclipse.org. -

    - - - \ No newline at end of file diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/about.ini b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/about.ini deleted file mode 100644 index e07a7bb377e..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/about.ini +++ /dev/null @@ -1,24 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=cdt_logo_icon32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (translated) -# needed for primary features only - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/about.mappings b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/about.mappings deleted file mode 100644 index 936a8039c3e..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/about.mappings +++ /dev/null @@ -1,9 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -# The following should contain the build version. -# e.g. "0=20200106-1728" -# This value will be added automatically via the build scripts -0=${buildId} diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/about.properties b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/about.properties deleted file mode 100644 index b2121faa8ed..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/about.properties +++ /dev/null @@ -1,28 +0,0 @@ -############################################################################### -# Copyright (c) 2007 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# NOTE TO TRANSLATOR: Please do not translate the featureVersion variable. - - -blurb=CDT XL C/C++ Compiler Support\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -(c) Copyright Eclipse contributors and others, 2007, 2010.\n\ -Visit http://www.eclipse.org/cdt diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/build.properties b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/build.properties deleted file mode 100644 index 5d89bc231b3..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/build.properties +++ /dev/null @@ -1,25 +0,0 @@ -############################################################################### -# Copyright (c) 2007, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - plugin.properties,\ - plugin.xml,\ - about.html,\ - about.ini,\ - about.mappings,\ - about.properties,\ - cdt_logo_icon32.png -src.includes = about.html diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/cdt_logo_icon32.png b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/cdt_logo_icon32.png deleted file mode 100644 index 470ca81b327..00000000000 Binary files a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/cdt_logo_icon32.png and /dev/null differ diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.properties b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.properties deleted file mode 100644 index 934ae57a426..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.properties +++ /dev/null @@ -1,454 +0,0 @@ -############################################################################### -# Copyright (c) 2007, 2011 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -pluginName = XL C/C++ Managed Build UI Plugin -providerName = Eclipse CDT - -variableDescription = XL C/C++ Compiler Root Location - -#Build model names -TargetName.xlc.exe=Executable (XL C/C++) -TargetName.xlc.so=Shared Library (XL C/C++) -TargetName.xlc.lib=Static Library(XL C/C++) - -# Default Configuration Names -# START NON-TRANSLATABLE -ConfigName.Rel=Release -ConfigName.Dbg=Debug -# END NON-TRANSLATABLE - -# Generic tool-chain names -ToolChainName.Rel=XL C/C++ Tool Chain -ToolChainName.Dbg=XL C/C++ Tool Chain - -# Generic platform names -PlatformName.Rel=Release Platform -PlatformName.Dbg=Debug Platform - -# Generic builder names -BuilderName.Rel=GNU Make -BuilderName.Dbg=GNU Make - -# Tool names -ToolName.compiler.xlc.c = XL C Compiler -ToolName.compiler.xlc.cpp = XL C++ Compiler -ToolName.linker.xlc.c = XL C Executable Linker -ToolName.linker.xlc.cpp = XL C++ Executable Linker -ToolName.archiver.xlc = Archiver -ToolName.assembler.xlc = XL Assembler -ToolName.linker.xlc.cpp.so = XL C++ Shared Object Linker -ToolName.linker.xlc.c.so = XL C Shared Object Linker - -# Generic Category Names -OptionCategory.Linking = Linking -OptionCategory.Libs = Libraries and Paths -OptionCategory.ifp = Integer and Floating Point -OptionCategory.cc = Compiler Customization -OptionCategory.lm = Listings and Messages -OptionCategory.ecd = Error Checking and Debugging -OptionCategory.Input = Input Control -OptionCategory.Output = Output Control -OptionCategory.Optimize=Optimization -OptionCategory.Comp = Compatibility -OptionCategory.Misc=Miscellaneous -OptionCategory.Assembler=Assembler Options -OptionCategory.General=General -OptionCategory.objcc=Object code control - -# generic names used by multiple options -Option.none = none -Option.default = default - -# Miscellaneous options -Option.compiler.other = Other compiler flags - -# Input Control options -Option.Preproccomments = Preserve comments in pre-processed output (-C) -Option.DefSym = Define a macro name (-D) -Option.InclPaths = Specify an additional search path for #include s (-I) -Option.UndefSym = Undefine a macro name (-U) -Option.altivec = Enable compiler support for vector data types (-qaltivec) -Option.asm = Control the interpretation of and subsequent generation of code for asm statement (-qasm) -Option.asm.default = Default -Option.asm.stdcpp = Standard (-qasm=stdcpp) -Option.asm.gcc = GCC (-qasm=gcc) -Option.Cstdinc = Specify C standard search location (-qc_stdinc) -Option.cppstdinc = Specify C++ standard search location (-qcpp_stdinc) -Option.qcomplexgccincl = Wrap include files in GCC pragmas (-qcomplexgccincl) -Option.Nocplus = Don't recognize C++ comments in C source files(-qnocpluscmt) -Option.Mbcs = Enable recognition of multi-byte characters (-qmbcs) -Option.Digraph = Enable recognition of digraph characters (-qdigraph) -Option.Dollar = Allow $ symbols to be used in identifiers (-qdollar) -Option.Incdirfirst = Change the search path (-qidirfirst) -Option.ignprag = Ignore certain pragmas (-qignprag=) -Option.ignprag.disjoint = disjoint -Option.ignprag.isolated = isolated -Option.ignprag.all = all -Option.ignprag.ibm = IBM(R) -Option.ignprag.omp = omp -Option.Keyword = Treat specified name as a keyword(-qkeyword) -Option.langlvl = Language level (-qlanglvl=) -Option.langlvl.classic = classic -Option.langlvl.extended = extended -Option.langlvl.saa = SAA -Option.langlvl.saal2 = SAA Level 2 -Option.langlvl.stdc89 = C89 standard -Option.langlvl.stdc99 = C99 standard -Option.langlvl.extc89 = C89 with extensions -Option.langlvl.extc99 = C99 with extensions -Option.langlvl.ucs = UCS -Option.Macpstr = Convert pascal string literals into null-terminated string literals (-qmacpstr) -Option.Pascal = Recognize and accept the keyword pascal (-qpascal) -Option.sourcetype = Override source type (-qsourcetype) -Option.sourcetype.c = c -Option.sourcetype.c++ = C++ -Option.sourcetype.assembler = assembler -Option.stdframework = Search standard framework directories (-qstdframework) -Option.frameworkdirs = Specify additional framework directories (-qframeworkdir) -Option.Input = Don't search the default search path directories (-qnostdinc) -Option.Warn.Syntax =Perform syntax checking without generating an object file(-qsyntaxonly)\u0020 -Option.Trigraph=Recognize tri-graph key combinations -Option.Utf=Enable recognition of UTF literal syntax (-qutf) -Option.plus = Compile any file as a C++ file (-+) -Option.cinc = Insert extern "C" {} in the specified include files (-qcinc) -Option.gcc_c_stdinc = Change GCC headers search location (-qgcc_c_stdinc) -Option.gcc_cpp_stdinc = Change G++ headers search location (-qgcc_cpp_stdinc) - -# Output Control options - -Option.Trace=Preview the steps for compilation(-#) -Option.bmaxdata=Maximum size of the area shared by the static data and the heap (-bmaxdata=) -Option.c=Pass the source files through compiler component only(-c) -Option.PreprocOnly=Preprocess the source files and create an output preprocessed source file (-E) -Option.PreprocRemoveComments=Remove comments from preprocessed output (-C!) -Option.M=Create an output file that contains targets for the make command (-M) -Option.ma=Substitute inline code for calls to alloca (-ma) -Option.o=Specify an output location for the files created by the compiler (-o)\u0020 -Option.P=Preprocess the source files and create an output preprocessed source file for each source file(-P) -Option.Assem=Generate an assembler language file for each source file(-S) -Option.Strip=Strip symbol table, line number information and relocation information from source file(-s) -Option.64=Select 64-bit compiler mode(-q64) -Option.Align=Specify what alignment rules compiler uses for compilation(-qalign) -Option.Align.Full=full -Option.Align.Natural=natural -Option.Align.twobyte=two byte -Option.Align.packed=packed -Option.Align.bitpacked=bit packed -Option.alloca=Substitute inline code for calls to function alloca(-qalloca) -Option.Bitfields=Specify if bit fields are signed(-qbitfields) -Option.Bitfields.signed = signed -Option.Bitfields.unsigned = unsigned -Option.Chars=Specify if chars are signed -Option.chars.signed = signed (-qchars=signed) -Option.chars.unsigned = unsigned (-qcharse=unsigned) -Option.enablevmx=Enable generation of VMX instructions(-qenablevmx) -Option.Enum=Specify the amount of storage occupied by enumerations(-qenum=) -Option.enum.Int=Int -Option.enum.Intlong=Intlong -Option.enum.small=small -Option.enum.1=1 -Option.enum.2=2 -Option.enum.4=4 -Option.enum.8=8 -Option.Pic=Generate position independent code suitable for use in libraries(-qpic=) -Option.Pic.Small=Small -Option.Pic.Large=Large -Option.noro=Do not place string literals in read only storage (-qnoro) -Option.noroconst=Do not place constant values in read only storage (-qnoroconst) -Option.roptr=Place constant pointers in read only storage (-qroptr)\u0020 -Option.Statsym=Generate symbols for static variables (-qstatsym ) -Option.xcall=Generate code to treat static functions as external functions (-qxcall ) -Option.funcsect=Place instructions for each function in a separate object file control section or csect (-qfuncsect) -Option.ppline=Enable generation of #line directive in the preprocessed output (-qppline) -Option.upconv=Preserve the unsigned specification when performing integral promotions (-qupconv) -Option.namemangling=Name mangling scheme for external symbol names (-qnamemangling=) -Option.namemangling.v10.name=Name mangling scheme for external symbol names (-qnamemangling=) -Option.namemangling.ansi = ANSI (-qnamemangling=ansi) -Option.namemangling.v6 = VisualAge(R) C++ v6 (-qnamemangling=v6) -Option.namemangling.v5 = VisualAge(R) C++ v5 (-qnamemangling=v5) -Option.namemangling.v4 = VisualAge(R) C++ v4 (-qnamemangling=v4) -Option.namemangling.v3 = Compatibility mode (-qnamemangling=v3) -Option.namemangling.v7=IBM XL C/C++ v7 (-qnamemangling=v7) -Option.namemangling.v8=IBM XL C/C++ v8 (-qnamemangling=v8) -Option.namemangling.v9=IBM XL C/C++ v9 (-qnamemangling=v9) -Option.namemangling.v10=IBM XL C/C++ v10 (-qnamemangling=v10) -Option.objectmodel = Object model (-qobjmodel=) -Option.objectmodel.classic = classic (-qobjmodel=classic) -Option.objectmodel.ibm = IBM(R) (-qobjmodel=ibm) -Option.rtti = Generate RunTime Type Information (-qrtti) -Option.rtti.all = all (-qrrti=all) -Option.rtti.type = type (-qrtti=type) -Option.rtti.dynamiccast = dynamic cast (-qrtti=dynamiccast) -Option.saveopt = Save the command line compiler options into an object file (-qsaveopt) -Option.staticinline = Treat inline functions as static (-qstaticinline) -Option.statsym = Add static variables to the symbol table (-qstatsym) -Option.threaded = Enable multi-threaded execution (-qthreaded) -Option.unique = Generate unique names for static constructor/deconstructor file compilation units (-qunique) -Option.unique.v10 = Generate unique names for static constructor/deconstructor file compilation units (-qunique) -Option.qconcurrentupdate.v11 = Update the operating system while the kernel is running (-qconcurrentupdate) -Option.novftable = Do not generate virtual function table (-qnovftable) -Option.vrsave = Maintain the VRSAVE register (-qvrsave) -Option.weaksymbol = Generate weak symbols (-qweaksymbol) -Option.macros=Emit macro definitions to preprocessed output (-qshowmacros) -Option.macros.all=all (-qshowmacros=all) -Option.macros.pre=predefined (-qshowmacros=pre) -Option.macros.nopre=no macros (-qshowmacros=nopre) -Option.qstackprotect = Protect against malicious code or programming errors that overwrite or corrupt the stack (-qstackprotect=) -Options.timestamps=Suppress insert of implicit timestamps into an object file (-qnotimestamps) -Option.qrestrict = Stop pointers from accessing the same memory that has been addressed by function parameter pointers (-qrestrict=) - -# Optimization options -Option.OptLevel = Optimization level -Option.Optimize.Optimize = -O -Option.Optimize.Level2 = -O2 -Option.Optimize.Level3 = -O3 -Option.Optimize.Level4 = -O4 -Option.Optimize.Level5 = -O5 -Option.inlining = Function inlining -Option.inlining.Q = inline all functions (-Q) -Option.inlining.Qexclamation = disable inlining (-Q!) -Option.Qplus = Specify functions to be inlined(-Q+name1:name2:...:nameN) -Option.Qminus = Specify functions to not inline (-Q-name1:name2:...:nameN) -Option.aggrcopy = Enable destructive copy operations for structs and unions -Option.aggrcopy.nooverlap=no overlap (-qaggrcopy=nooverlap) -Option.aggrcopy.overlap=overlap (-qaggrcopy=overlap) -Option.alias= Apply aliasing instructions to compilation unit (-qalias=) -Option.alias.addrtaken= Variables are not disjoint from pointers (-qalias=addrtaken) -Option.alias.noaddrtaken=Variables are disjoint from pointers unless their address is taken (-qalias=notaddrtaken) -Option.alias.allptrs=Pointers are aliased (-qalias=allptrs) -Option.alias.noallptrs=Pointers are never aliased (-qalias=noallptrs) -Option.alias.ansi=Pointers can only point to an object of the same type (-qalias=ansi) -Option.alias.noansi=Pointers can point to an object of a different type (-qalias=notansi) -Option.alias.typeptr=Pointers to different types are aliased (-qalias=typeptr) -Option.alias.notypeptr=Pointers to different types are never aliased (-qalias=notypeptr) -Option.optimization.arch = Specify the processor architecture to generate code and optimize for (-qarch=) -Option.optimization.arch.ppc64 = PowerPC(R) 64-bit -Option.optimization.arch.ppcgr = PowerPC(R) with graphics instructions -Option.optimization.arch.ppc64gr = PowerPC(R) 64-bit with graphics instructions -Option.optimization.arch.ppc64grsq = PowerPC(R) 64-bit with graphics and square root instructions -Option.optimization.arch.ppc64v = PowerPC(R) 64-bit with AltiVec -Option.optimization.tune = Specify the processor architecture to tune code for (-qtune=) -Option.optimization.tune.auto = auto -Option.optimization.assert = Assert program behaviours (-qassert=) -Option.optimization.Cache = Specify the cache configuration (-qcache=option1:option2:...:optionN) -Option.compact = Avoid transformations that lead to code expansion (-qcompact) -Option.optimization.dataimported = Name the variables to be imported (-qdataimported=name1:name2:...:nameN) -Option.optimization.datalocal = Name the variables which are local (-qdatalocal=name1:name2:...:nameN) -Option.directstorage = Write-through enabled or cache-inhibited storage may be referenced (-qdirectstorage) -Option.optimization.exceptionhandling = Exception handling -Option.optimization.exceptionhandling.eh = Enable exception handling (-qeh) -Option.optimization.exceptionhandling.noeh = Disable exception handling (-qnoeh) -Option.optimization.exceptionhandling.v5 = VisualAge(R) C++ v5.0 compatibility -Option.optimization.exceptionhandling.v6 = VisualAge(R) C++ v6.0 compatibility -Option.fdpr = Include data required by fdpr utility (-qfdpr) -Option.optimization.hot = Perform high-order loop analysis and transformations during optimization (-qhot=) -Option.ignerrno = Perform optimizations which assume errno is not modified by system calls (-qignerrno) -Option.optimization.inline = Attempt to inline functions (-qinline=) -Option.optimization.ipa = Customize interprocedural analysis optimizations(-qipa=) -Option.optimization.isolatedcall = Functions in source file that have no side effects (-qisolated_call=name1:name2:...:nameN) -Option.optimization.keepinlines =\u0020 -Option.largepage = Exploit large page heaps available on POWER4(TM) systems running AIX(R) 5.1D or later (-qlargepage) -Option.libansi = Assume all functions in the name of ansi C function are system functions (-qlibansi) -Option.pdf1 = Tune optimizations through Profile Directed Feedback: first run (-qpdf1) -Option.pdf2 = Tune optimizations through Profile Directed Feedback: second run (-qpdf2) -Option.optimization.Prefetch = Disable generation of prefetching instructions in compiled code (-qnoprefetch) -Option.optimization.procimported = Mark functions as imported (-qprocimported=) -Option.optimization.proclocal = Mark functions as local (-qlocal=) -Option.optimization.procunknown = Mark functions as unknown (-qprocunknown=) -Option.optimization.showpdf = Add additional call and block count profiling information to the executable (-qshowpdf) -Option.optimization.smallstack = Reduce the size of the stack frame (-qsmallstack) -Option.optimization.smp = Enable parallelization of code (-qsmp) -Option.optimization.smp.v10 = Specify parallelization of code (-qsmp=name1:name2:...:nameN) -Option.optimization.smp.v10.tooltip=Possible values: nostackcheck, opt, norec_locks, noomp, nonested_par, \nexplicit, auto, omp, nested_par, noauto, noexplicit, noopt, rec_locks, \nschedule=(runtime | auto | affinity=n | dynamic=n | guided=n | static=n), stackcheck, threshold=n -Option.optimization.Spill = Specify the register allocation spill area (-qspill=) -Option.optimization.Strict=Turn off aggressive optimizations (-qstrict) -Option.optimization.Strict.v10 = Specify the optimizations (-qstrict=name1:name2:...:nameN) -Option.optimization.Strict.v10.tooltip=Possible values: all, none, precision, noprecision, exceptions, noexceptions, \nieeefp, noieeefp, nans, nonans, infinities, noinfinities, subnormals, nosubnormals, \nzerosigns, nozerosigns, operationprecision, nooperationprecision, order, noorder, \nassociation, noassociation, reductionorder, noreductionorder, guards, noguards, library, nolibrary -Option.optimization.loopinduction = Loop induction settings -Option.optimization.strict_induction = Strict induction -Option.optimization.nostrict_induction = No induction -Option.optimization.tocdata = Mark data as local -Option.optimization.w = Specify options to pass to specific compiler components (-W) -Option.optimization.qassert = Provide information about the characteristics of the files that can help to fine-tune optimizations (-qassert=) -Option.optimization.qassert.norefalign = norefalign -Option.optimization.qassert.refalign = refalign -Option.optimization.qlibmpi = Assert that functions with MPI names are in fact MPI functions (-qlibmpi) -Option.optimization.qsimd = Let the compiler automatically take advantage of vector instructions for processors that support them (-qsimd) -Option.optimization.qprefetch = Insert prefetch instructions automatically where there are opportunities to improve code performance (-qprefetch) - -# Linker Options -Option.Linking.b = Control how shared objects are processed by the editor (-b) -Option.linking.brtl = Enable runtime linking for the output file (-brtl) -Option.Linking.e = Set the entry name for the shared executable(-e ) -Option.Linking.f =\u0020 -Option.linking.G = Create a shared object enabled for runtime linking (-G) -Option.Linking.L = Search the path directory for the library files specified by the -lkey option (-L) -Option.Linking.l = Search the specified library file(-l) -Option.linking.r = Produce a relocatable object (-r) -Option.Linking.Z = Specify a prefix for library search path (-Z) -Option.linking.inlglue = Generate fast external linkage (-qinlglue) -Option.linking.lib = Link with standard system libraries (-qlib) -Option.Linking.mkshrobj = Create a shared object from generated object files (-qmkshrobj) -Option.Linking.priority = Specify the priority level for initialization of static objects (-qpriority) -Option.Linker.EnableRun=Enable Run time linking (-brtl) -Option.Linker.NoStartFiles=Do not use standard start files (-nostartfiles) -Option.Linker.NoDefLibs=Do not use default libraries (-nodefaultlibs) -Option.Linker.NoStdLibs=No startup or default libs (-nostdlib) -Option.Linker.Strip=Strip all symbol information (-s) -Option.Linker.Strip.debug=Strip debug symbol information (-S) -Option.Linker.Static=No shared libraries (-bstatic) -Option.Linker.WLinker=Other options (-Wl, [option1,option2,...optionN]) -Option.Linker.Flags=Other linker flags -Option.Libs=Libraries (-l) -Option.Libsearch=Library search path (-L) -Option.UserObjs=Other objects -Option.Linker.Shared=Shared (-qmkshrobj) -Option.Linker.SOName=Shared object name (-o=) -Option.Linker.Implib=Import Library name (-Wl,--out-implib=) -Option.Linker.Defname=DEF file name (-Wl,--output-def=) -Option.linking.bundle = Create a bundle (-bundle) -Option.linking.bundle_loader = Specify the name of bundle loader program (-bundle_loader=) -Option.linking.f = Specify file containing a list of object files for the compiler to pass to the linker (-f) -Option.linking.expfile = Save all the exported symbols in the designated file (-qexpfile=) - -#Archiver options -Option.Archiver.Flags=Other archiver flags - -# Integer and Floating Point options -Option.y = Specify compile time rounding mode (-y) -Option.y.n = n -Option.y.m = m -Option.y.p = p -Option.y.z = z -Option.float = Specify floating point options (-qfloat=) -Option.flttrap = Trap floating point exceptions (-qflttrap=) -Option.longlong = Allow long long integer types in the program -Option.longlong.longlong = Allow long long (-qlonglong) -Option.longlong.nolonglong = Do not allow long long (-qnolonglong) -Option.rndflt = Control compile-time rounding mode of floating point expressions( -qrndflt) -Option.rndflt.nearest = Nearest -Option.rndflt.minusinf = Minus infinity -Option.rndflt.plusinf = Plus infinity -Option.rndflt.zero = Zero -Option.dfp = Decimal floating-point support for types and literals -Option.dfp.enabled = Enabled (-qdfp) -Option.dfp.disabled = Disabled (-qnodfp) - -# Compiler Customization options -Option.B = Determine substitute program path name (-B) -Option.F = Specify alternate configuration file (-F) -Option.t = Add prefix to designated programs (-t) -Option.maxmem = Amount of memory used during optimization (-qmaxmem=) -Option.path = Alternate program name for compiler components (-qpath=) -Option.tls = Specify the thread local storage model (-qtls=) -Option.tls.unsupported=unsupported -Option.tls.default=default -Option.tls.global-dynamic=global-dynamic -Option.tls.initial-exec=initial-exec -Option.tls.local-dynamic=local-dynamic -Option.tls.local-exec=local-exec -Option.tls.notls=No tls - -# Listings and Messages options -Option.V = Report information on the progress of compilation (-V) -Option.Warn.Pedandic=Pedantic (-pedantic) -Option.Warn.PedErrors=Pedantic warnings as errors (-pedantic-errors) -Option.Warn.nowarn=Inhibit all warnings (-w) -Option.Warn.allwarn=All warnings (-Wall) -Option.Warn.toerrs=Warnings as errors (-Werror) -Option.attr = Produce a compiler listing (-qattr) -Option.attr.noattr = Does not produce an attribute listing for identifiers in program (-qnoattr) -Option.attr.fullattr = Report attributes of all identifiers (-qattr=full) -Option.attr.attr = Report attributes of only used identifiers (-qattr) -Option.flag = Specify the minimum severity level of the diagnostic messages (-qflag=) -Option.format = Warn of possible problems with string input and output format specifications (-qformat=) -Option.qskipsrc = Hide the source statements skipped by the compiler (-qskipsrc = hide) -Option.halt = Instruct the compiler to stop after compilation if it encounters errors of specified severity or higher (-qhalt=) -Option.halt.information = Information (-qhalt=i) -Option.halt.warning = Warning (-qhalt=w) -Option.halt.error = Error (-qhalt=e) -Option.halt.severeError = Severe error (-qhalt=s) -Option.halt.unrecoverableError = Unrecoverable error (-qhalt=u) -Option.info = Produce informational messages (-qinfo=) -Option.list = Produce a compiler listing that includes an object listing (-qlist) -Option.listopt = Produce a compiler listing that displays all options in effect(-qlistopt) -Option.phsinfo = Report the time taken in each compilation phase (-qphsinfo) -Option.noprint = Suppress all listings (-qnoprint ) -Option.showinc = Show all included files in the source listing (-qshowinc) -Option.source = Produce a compiler listing and include the source code (-qsource) -Option.srcmsg = Add the corresponding source code lines to the diagnostic messages in stderr file (-qsrcmsg) -Option.suppress = Suppress the specified informational or warning messages (-qsuppress=) -Option.tabsize = Change the tab-size (-qtabsize=) -Option.xref = Produce a cross reference listing of identifiers (-qxref) -Option.xref.noxref = Do not report identifiers in the program (-qnoxref) -Option.xref.fullxref = Report all the identifiers in the program (-qxref = full) -Option.xref.xref = Report only those identifiers which are used (-qxref) -Option.warnfourcharconsts = Enable warning of four-character constants in source -Option.report = Produce listing files that show how sections of code have been optimized (-qreport) -Option.qlistfmt = Creates a report to assist with finding optimization opportunities (-qlistfmt) - -# Error Checking and Debugging -Option.g = Generate debugging information (-g) -Option.optdebug = Enable debugging of optimized code (-qoptdebug) -Option.DebugLevel=Debug Level -Option.Debug.Min=Minimal (-g1) -Option.Debug.Def=Default (-g) -Option.Debug.Max=Maximum (-g3) -Option.Debug.Other=Other debugging flags -Option.Debug.gprof=Generate gprof information (-pg) -Option.Debug.prof=Generate prof information (-p) -Option.Debug.Unref=Include information about unreferenced symbols (-qdbxextra) -Option.p = Generate prof information (-p) -Option.pg = Generate gprof information (-pg) -Option.check = Generate code which performs certain types of runtime checking (-qcheck) -Option.dbxextra = Include all typedefs, structs, unions, enums for debugging (-qdbxextra) -Option.extchk = Generate bind-time type checking information and check for compile time consistency (-qextchk) -Option.fullpath = Preserve absolute path name of source files used with -g option (-qfullpath) -Option.genproto = Produce ANSI prototypes from K&R definitions -Option.genproto.general = Generate prototypes with parameter names -Option.genproto.parmgenproto = Include parameter names in prototypes -Option.heapdebug = Enable debug versions of memory management functions (-qheapdebug) -Option.initauto = Initialize the automatic variables (-qinitauto=) -Option.linedebug = Generate line number and source file name info for the debugger (-qlinedebug) -Option.maxerr = Halt compilation after this many errors (-qmaxerr=) -Option.proto = All functions are prototyped (-qproto) -Option.qfunctrace = Enable tracing for all functions in your program (-qfunctrace) - -# Assembler options -Option.Xlc.Assembler.Flags=Other assembler flags -Option.Xlc.Assembler.warn.suppress=Suppress warnings (-W) -Option.Xlc.Assembler.version=Announce version (-v) - - -# XL C/C++ Preference page -XLCompilerPreferencePage.name = XL C/C++ Compiler -XLCompilerPropertyPage.name = XL C/C++ Compiler - - - - -extension.name = Managed Build Tools Description -tool.name = Abstract XL Compiler -tool.name.0 = Abstract XL Linker -tool.name.1 = Abstract XL Shared Object Linker -tool.compiler.c.abstract = Abstract XL C Compiler -tool.compiler.cpp.abstract = Abstract XL C++ Compiler -tool.compiler.abstract = Abstract XL Compiler -tool.linker.exe.abstract.name = Abstract XL Linker -tool.linker.so.abstract.name = Abstract XL Shared Object Linker -tool.c.compiler.name = Local XL C Compiler -inputType.c.name = Local C Sources -tool.cpp.compiler.name = Local XL C++ Compiler -inputType.c.name.2 = Local C Sources -inputType.cpp.name = Local C++ Sources \ No newline at end of file diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.xml b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.xml deleted file mode 100644 index c8efec759fe..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.xml +++ /dev/null @@ -1,3848 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 deleted file mode 100644 index d65417ddc94..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/aix/AixConfigurationEnvironmentSupplier.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.managedbuilder.xlc.aix; - -import org.eclipse.cdt.managedbuilder.core.IConfiguration; -import org.eclipse.cdt.managedbuilder.envvar.IBuildEnvironmentVariable; -import org.eclipse.cdt.managedbuilder.envvar.IConfigurationEnvironmentVariableSupplier; -import org.eclipse.cdt.managedbuilder.envvar.IEnvironmentVariableProvider; -import org.eclipse.cdt.managedbuilder.internal.envvar.BuildEnvVar; - -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"; - - /* (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) { - - 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) { - - IBuildEnvironmentVariable[] tmp = new IBuildEnvironmentVariable[1]; - tmp[0] = getVariable(VARNAME, configuration, provider); - 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 deleted file mode 100644 index 0a5f64f6558..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/aix/AixPathResolver.java +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.managedbuilder.xlc.aix; - -import org.eclipse.cdt.managedbuilder.core.IBuildPathResolver; -import org.eclipse.cdt.managedbuilder.core.IConfiguration; - -public class AixPathResolver implements IBuildPathResolver { - static final String DELIMITER_AIX = ":"; - - /* (non-Javadoc) - * @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) { - return variableValue.split(DELIMITER_AIX); - } -} diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/Messages.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/Messages.java deleted file mode 100644 index e450d67e429..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/Messages.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2011 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.managedbuilder.xlc.ui; - -import org.eclipse.osgi.util.NLS; - -public class Messages extends NLS { - private static final String BUNDLE_NAME = "org.eclipse.cdt.managedbuilder.xlc.ui.messages"; //$NON-NLS-1$ - public static String XLCompiler_v8; - public static String XLCompiler_v9; - public static String XLCompiler_v10; - public static String XLCompiler_v11; - public static String XLCompilerPreferencePage_0; - public static String XLCompilerPreferencePage_1; - public static String XLCompilerPreferencePage_2; - public static String XLCompilerPreferencePage_3; - public static String XLCompilerPropertyPage_0; - public static String XLCompilerPropertyPage_1; - public static String XLCompilerPropertyPage_2; - public static String XLCSettingsWizardPage_0; - public static String XLCSettingsWizardPage_1; - public static String XLCSettingsWizardPage_2; - public static String XLCSettingsWizardPage_3; - public static String XLCSettingsWizardPage_4; - public static String XLCSettingsWizardPage_5; - static { - // initialize resource bundle - NLS.initializeMessages(BUNDLE_NAME, Messages.class); - } - - private Messages() { - } -} 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 deleted file mode 100644 index b156d235a70..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/XLCProjectMacroSupplier.java +++ /dev/null @@ -1,136 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.managedbuilder.xlc.ui; - -import org.eclipse.cdt.core.cdtvariables.ICdtVariable; -import org.eclipse.cdt.managedbuilder.core.IManagedProject; -import org.eclipse.cdt.managedbuilder.internal.macros.BuildMacro; -import org.eclipse.cdt.managedbuilder.macros.IBuildMacro; -import org.eclipse.cdt.managedbuilder.macros.IBuildMacroProvider; -import org.eclipse.cdt.managedbuilder.macros.IProjectBuildMacroSupplier; -import org.eclipse.cdt.managedbuilder.xlc.ui.preferences.PreferenceConstants; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.QualifiedName; -import org.eclipse.jface.preference.IPreferenceStore; - -/** - * @author crecoskie - * - */ -public class XLCProjectMacroSupplier implements IProjectBuildMacroSupplier { - - /* (non-Javadoc) - * @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) { - - if (macroName.equals(PreferenceConstants.P_XL_COMPILER_ROOT)) { - String compilerPath = null; - - // figure out compiler path from properties and preferences - - // search for property first - IProject theProject = (IProject) project.getOwner(); - try { - compilerPath = theProject - .getPersistentProperty(new QualifiedName("", PreferenceConstants.P_XL_COMPILER_ROOT)); - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - 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); - - return macro; - } - - else - return provider.getMacro(macroName, IBuildMacroProvider.CONTEXT_PROJECT, project, true); - } - - /* (non-Javadoc) - * @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) { - - String macroName = PreferenceConstants.P_XL_COMPILER_ROOT; - - String compilerPath = null; - - // figure out compiler path from properties and preferences - - // search for property first - IProject theProject = (IProject) project.getOwner(); - try { - compilerPath = theProject - .getPersistentProperty(new QualifiedName("", PreferenceConstants.P_XL_COMPILER_ROOT)); - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - 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); - - // 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())) { - 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) { - macros[0] = macro; - 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++) { - macros[k] = parentMacros[k]; - } - macros[foundIndex] = macro; - } - - return macros; - - } - -} diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/XLCUIPlugin.java b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/XLCUIPlugin.java deleted file mode 100644 index e616b72b05d..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/XLCUIPlugin.java +++ /dev/null @@ -1,91 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.managedbuilder.xlc.ui; - -import java.util.MissingResourceException; -import java.util.ResourceBundle; - -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; - -/** - * The main plugin class to be used in the desktop. - */ -public class XLCUIPlugin extends AbstractUIPlugin { - //The shared instance. - private static XLCUIPlugin plugin; - //Resource bundle. - private ResourceBundle resourceBundle; - - /** - * The constructor. - */ - public XLCUIPlugin() { - super(); - plugin = this; - } - - /** - * This method is called upon plug-in activation - */ - @Override - public void start(BundleContext context) throws Exception { - super.start(context); - } - - /** - * This method is called when the plug-in is stopped - */ - @Override - public void stop(BundleContext context) throws Exception { - super.stop(context); - plugin = null; - resourceBundle = null; - } - - /** - * Returns the shared instance. - */ - public static XLCUIPlugin getDefault() { - return plugin; - } - - /** - * Returns the string from the plugin's resource bundle, - * or 'key' if not found. - */ - public static String getResourceString(String key) { - ResourceBundle bundle = XLCUIPlugin.getDefault().getResourceBundle(); - try { - return (bundle != null) ? bundle.getString(key) : key; - } catch (MissingResourceException e) { - return key; - } - } - - /** - * Returns the plugin's resource bundle, - */ - public ResourceBundle getResourceBundle() { - try { - if (resourceBundle == null) - resourceBundle = ResourceBundle.getBundle("org.eclipse.cdt.managedbuilder.gnu.ui.XlcUIPluginResources"); //$NON-NLS-1$ - } catch (MissingResourceException x) { - resourceBundle = null; - } - return resourceBundle; - } - -} diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/messages.properties b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/messages.properties deleted file mode 100644 index 7bb36f0a17d..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/messages.properties +++ /dev/null @@ -1,31 +0,0 @@ -############################################################################### -# Copyright (c) 2007, 2011 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -XLCompiler_v8=v8.0 -XLCompiler_v9=v9.0 -XLCompiler_v10=v10.1 -XLCompiler_v11=v11.1 -XLCompilerPreferencePage_0=XL C/C++ Compiler Preferences -XLCompilerPreferencePage_1=Compiler Root Path: -XLCompilerPreferencePage_2=Compiler Version: -XLCompilerPreferencePage_3=Compiler path does not exist on the local machine. -XLCompilerPropertyPage_0=Compiler Root Path: -XLCompilerPropertyPage_1=Compiler Version: -XLCompilerPropertyPage_2=Compiler path does not exist on the local machine. -XLCSettingsWizardPage_0=XL C/C++ Settings -XLCSettingsWizardPage_1=Compiler Root Path: -XLCSettingsWizardPage_2=Browse... -XLCSettingsWizardPage_3=Compiler Version: -XLCSettingsWizardPage_4=Please select the path to your compiler, and the version of the compiler that you are using. -XLCSettingsWizardPage_5=XL Compiler Settings 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 deleted file mode 100644 index e40749d2d1f..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/preferences/PreferenceConstants.java +++ /dev/null @@ -1,60 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.managedbuilder.xlc.ui.preferences; - -import org.eclipse.cdt.managedbuilder.xlc.ui.Messages; - -/** - * Constant definitions for plug-in preferences - */ -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_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; - public static final String P_XL_COMPILER_VERSION_9_NAME = Messages.XLCompiler_v9; - 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) { - 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)) - return P_XL_COMPILER_VERSION_10; - else if (label.equalsIgnoreCase(P_XL_COMPILER_VERSION_9_NAME)) - return P_XL_COMPILER_VERSION_9; - else - return P_XL_COMPILER_VERSION_8; - } - - 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)) - return P_XL_COMPILER_VERSION_10_NAME; - else if (version.equalsIgnoreCase(P_XL_COMPILER_VERSION_9)) - return P_XL_COMPILER_VERSION_9_NAME; - else - return P_XL_COMPILER_VERSION_8_NAME; - } - -} 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 deleted file mode 100644 index 6bb39a928a9..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/preferences/PreferenceInitializer.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.managedbuilder.xlc.ui.preferences; - -import org.eclipse.cdt.managedbuilder.xlc.ui.XLCUIPlugin; -import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; -import org.eclipse.jface.preference.IPreferenceStore; - -/** - * Class used to initialize default preference values. - */ -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_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 deleted file mode 100644 index 08404edf390..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/preferences/XLCompilerPreferencePage.java +++ /dev/null @@ -1,102 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.managedbuilder.xlc.ui.preferences; - -import org.eclipse.cdt.managedbuilder.xlc.ui.Messages; -import org.eclipse.cdt.managedbuilder.xlc.ui.XLCUIPlugin; -import org.eclipse.jface.dialogs.IMessageProvider; -import org.eclipse.jface.preference.ComboFieldEditor; -import org.eclipse.jface.preference.DirectoryFieldEditor; -import org.eclipse.jface.preference.FieldEditorPreferencePage; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; - -/** - * This class represents a preference page that - * is contributed to the Preferences dialog. By - * subclassing FieldEditorPreferencePage, we - * can use the field support built into JFace that allows - * us to create a page that is small and knows how to - * save, restore and apply itself. - *

    - * This page is used to modify preferences only. They - * are stored in the preference store that belongs to - * the main plug-in class. That way, preferences can - * be accessed directly via the preference store. - */ - -public class XLCompilerPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { - - private String originalMessage; - - public XLCompilerPreferencePage() { - super(FLAT); - setPreferenceStore(XLCUIPlugin.getDefault().getPreferenceStore()); - setDescription(Messages.XLCompilerPreferencePage_0); - } - - /** - * Creates the field editors. Field editors are abstractions of - * the common GUI blocks needed to manipulate various types - * of preferences. Each field editor knows how to save and - * restore itself. - */ - @Override - public void createFieldEditors() { - - DirectoryFieldEditor pathEditor = new DirectoryFieldEditor(PreferenceConstants.P_XL_COMPILER_ROOT, - Messages.XLCompilerPreferencePage_1, getFieldEditorParent()) { - @Override - 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()) { - setMessage(Messages.XLCompilerPreferencePage_3, IMessageProvider.WARNING); - } else { - setMessage(originalMessage); - } - - return true; - } - - @Override - protected boolean checkState() { - return doCheckState(); - } - - }; - - 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 } }; - - addField(new ComboFieldEditor(PreferenceConstants.P_XLC_COMPILER_VERSION, Messages.XLCompilerPreferencePage_2, - versionEntries, getFieldEditorParent())); - - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) - */ - @Override - public void init(IWorkbench workbench) { - originalMessage = getMessage(); - } - -} \ No newline at end of file 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 deleted file mode 100644 index 62e6e821015..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/HiddenOptionApplicabilityCalculator.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.managedbuilder.xlc.ui.properties; - -import org.eclipse.cdt.managedbuilder.core.IBuildObject; -import org.eclipse.cdt.managedbuilder.core.IHoldsOptions; -import org.eclipse.cdt.managedbuilder.core.IOption; -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 { - - /** - * 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) { - return false; - } - - /** - * This function decides if the option for which this class - * is option applicability calculator is used in command line - * or not. - */ - - @Override - public boolean isOptionUsedInCommandLine(IBuildObject configuration, IHoldsOptions holder, IOption option) { - return true; - } - - /** - * This function decides if the option for which this class - * is option applicability calculator is visible or not. - */ - - @Override - 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 deleted file mode 100644 index a7163ebcd0d..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCApplicabilityCalculator.java +++ /dev/null @@ -1,249 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.managedbuilder.xlc.ui.properties; - -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Properties; -import java.util.Set; - -import org.eclipse.cdt.managedbuilder.core.IBuildObject; -import org.eclipse.cdt.managedbuilder.core.IConfiguration; -import org.eclipse.cdt.managedbuilder.core.IFolderInfo; -import org.eclipse.cdt.managedbuilder.core.IHoldsOptions; -import org.eclipse.cdt.managedbuilder.core.IManagedProject; -import org.eclipse.cdt.managedbuilder.core.IOption; -import org.eclipse.cdt.managedbuilder.core.IOptionApplicability; -import org.eclipse.cdt.managedbuilder.xlc.ui.XLCUIPlugin; -import org.eclipse.cdt.managedbuilder.xlc.ui.preferences.PreferenceConstants; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.QualifiedName; -import org.eclipse.jface.preference.IPreferenceStore; - -/** - * @author rkerimov - * - * This applicability calculator hides/shows options that are specific to the XL compiler versions - * - */ - -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 = "+"; - - private static boolean initialized; - private static List versionOrder; - private static Map applicabilityMap; - - public XLCApplicabilityCalculator() { - if (!initialized) { - Properties props = null; - - ClassLoader loader = this.getClass().getClassLoader(); - InputStream input = null; - - if (loader != null) - input = loader.getResourceAsStream(BUNDLE_NAME); - - if (input == null) - input = ClassLoader.getSystemResourceAsStream(BUNDLE_NAME); - - try { - if (input != null) { - props = new Properties(); - props.load(input); - - Set entrySet = props.entrySet(); - Iterator iterator = entrySet.iterator(); - while (iterator.hasNext()) { - Map.Entry entry = (Map.Entry) iterator.next(); - - String key = (String) entry.getKey(); - String value = (String) entry.getValue(); - - if (value == null) - value = ""; - - 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++) { - versionOrder.add(versions[i].trim()); - } - } - } else { - if (applicabilityMap == null) - applicabilityMap = new HashMap(); - - List applicList = (List) applicabilityMap.get(key); - 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)) { - 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++) { - applicList.add(versions[i].trim()); - } - - } - - if (hasGreaterOption) - applicList.add(PROP_VALUE_PLUS); - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } finally { - if (input != null) { - try { - input.close(); - } catch (IOException e) { - // ignore - } - } - } - - initialized = true; - - } - } - - 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) { - IConfiguration config = (IConfiguration) configuration; - IManagedProject managedProject = config.getManagedProject(); - - project = (IProject) managedProject.getOwner(); - } else if (configuration instanceof IFolderInfo) { - IFolderInfo folderInfo = (IFolderInfo) configuration; - - IConfiguration config = folderInfo.getParent(); - - IManagedProject managedProject = config.getManagedProject(); - - project = (IProject) managedProject.getOwner(); - - } - - if (project == null) - return false; - - String currentVersion = null; - try { - currentVersion = project - .getPersistentProperty(new QualifiedName("", PreferenceConstants.P_XLC_COMPILER_VERSION)); - } catch (CoreException e) { - e.printStackTrace(); - } - - 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 applicability list is empty that means all options applicable to all versions - if (applicabilityMap == null) - return true; - - //if applicability list for this option is not defined then option has no applicability restrictions - List applicList = (List) applicabilityMap.get(option.getId()); - if (applicList == null || applicList.isEmpty()) - return true; - - //if version is defined in the list - perfect match - if (applicList.contains(currentVersion)) - return true; - - //if applicability is defined as 'starting from this version and greater', i.e. 'v8.0+', - //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 'greater than' option is specified but no version order exists, consider config error and return false - if (versionOrder == null) - return false; - - //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--) { - String version = (String) applicList.get(k); - - if (versionOrder.contains(version)) { - validVersion = version; - break; - } - } - - //if version that applicability starts with doesn't exist - config error - if (validVersion == null) - return false; - - //compare if current compiler version is greater than the applicability version - if (versionOrder.indexOf(currentVersion) > versionOrder.indexOf(validVersion)) - return true; - } - - return false; - - } - - /* (non-Javadoc) - * @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) { - return isApplicable(configuration, holder, option); - } - - /* (non-Javadoc) - * @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) { - return isApplicable(configuration, holder, option); - } - - /* (non-Javadoc) - * @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) { - 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 deleted file mode 100644 index 44ff5824c09..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCompilerPropertyPage.java +++ /dev/null @@ -1,212 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.managedbuilder.xlc.ui.properties; - -import org.eclipse.cdt.managedbuilder.ui.properties.BuildOptionComboFieldEditor; -import org.eclipse.cdt.managedbuilder.xlc.ui.Messages; -import org.eclipse.cdt.managedbuilder.xlc.ui.XLCUIPlugin; -import org.eclipse.cdt.managedbuilder.xlc.ui.preferences.PreferenceConstants; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.QualifiedName; -import org.eclipse.jface.dialogs.IMessageProvider; -import org.eclipse.jface.preference.DirectoryFieldEditor; -import org.eclipse.jface.preference.FieldEditorPreferencePage; -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.IWorkbenchPropertyPage; - -public class XLCompilerPropertyPage extends FieldEditorPreferencePage implements IWorkbenchPropertyPage { - - protected String originalMessage; - - protected Composite versionParent; - - /* (non-Javadoc) - * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors() - */ - @Override - protected void createFieldEditors() { - createPathEditor(); - createVersionEditor(); - - } - - protected void createPathEditor() { - - Composite parent = getFieldEditorParent(); - - fPathEditor = new DirectoryFieldEditor(PreferenceConstants.P_XL_COMPILER_ROOT, - Messages.XLCompilerPropertyPage_0, parent) { - @Override - 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()) { - setMessage(Messages.XLCompilerPropertyPage_2, IMessageProvider.WARNING); - } else { - setMessage(originalMessage); - } - - return true; - } - - @Override - protected boolean checkState() { - return doCheckState(); - } - - }; - - addField(fPathEditor); - - IProject project = (getElement().getAdapter(IResource.class)).getProject(); - - String currentPath = null; - - try { - currentPath = project.getPersistentProperty(new QualifiedName("", //$NON-NLS-1$ - PreferenceConstants.P_XL_COMPILER_ROOT)); - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - if (currentPath == null) { - // if the property isn't set, then use the workbench preference - IPreferenceStore prefStore = XLCUIPlugin.getDefault().getPreferenceStore(); - currentPath = prefStore.getString(PreferenceConstants.P_XL_COMPILER_ROOT); - } - - fPathEditor.setStringValue(currentPath); - - } - - protected void createVersionEditor() { - - IProject project = (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 }; - - versionParent = getFieldEditorParent(); - - fVersionEditor = new BuildOptionComboFieldEditor(PreferenceConstants.P_XLC_COMPILER_VERSION, - Messages.XLCompilerPropertyPage_1, versionEntries, null, versionParent); - - addField(fVersionEditor); - - String currentVersion = null; - try { - currentVersion = project.getPersistentProperty(new QualifiedName("", //$NON-NLS-1$ - PreferenceConstants.P_XLC_COMPILER_VERSION)); - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - 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); - } - - Combo versionCombo = fVersionEditor.getComboControl(versionParent); - versionCombo.setText(PreferenceConstants.getVersionLabel(currentVersion)); - - } - - protected DirectoryFieldEditor fPathEditor; - - protected BuildOptionComboFieldEditor fVersionEditor; - - // private Composite parent; - - /** - * Constructor for SamplePropertyPage. - */ - public XLCompilerPropertyPage() { - super(FieldEditorPreferencePage.FLAT); - - originalMessage = getMessage(); - } - - @Override - protected void performDefaults() { - // default to whatever is set on the workbench preference - IPreferenceStore prefStore = XLCUIPlugin.getDefault().getPreferenceStore(); - String currentPath = prefStore.getString(PreferenceConstants.P_XL_COMPILER_ROOT); - String currentVersion = prefStore.getString(PreferenceConstants.P_XLC_COMPILER_VERSION); - String currentVersionLabel = PreferenceConstants.getVersionLabel(currentVersion); - if (fPathEditor != null) { - fPathEditor.setStringValue(currentPath); - } - //set the selection to default setting - fVersionEditor.setPreferenceStore(prefStore); - fVersionEditor.setPreferenceName(PreferenceConstants.P_XLC_COMPILER_VERSION); - fVersionEditor.loadDefault(); - //set the text entry to default setting - fVersionEditor.getComboControl(versionParent).setText(currentVersionLabel); - - } - - @Override - public boolean performOk() { - // store the value in the owner text field - try { - IProject project = (getElement().getAdapter(IResource.class)).getProject(); - - if (fPathEditor != null) { - project.setPersistentProperty(new QualifiedName("", //$NON-NLS-1$ - PreferenceConstants.P_XL_COMPILER_ROOT), fPathEditor.getStringValue()); - } - String version = null; - if (fVersionEditor.getSelection() != null) { - version = PreferenceConstants.getVersion(fVersionEditor.getSelection()); - - project.setPersistentProperty(new QualifiedName("", //$NON-NLS-1$ - PreferenceConstants.P_XLC_COMPILER_VERSION), version); - } - } catch (CoreException e) { - return false; - } - return true; - } - - /** - * The element. - */ - private IAdaptable element; - - @Override - public IAdaptable getElement() { - return element; - } - - /** - * Sets the element that owns properties shown on this page. - * - * @param element - * the element - */ - @Override - public void setElement(IAdaptable element) { - this.element = element; - } - -} \ No newline at end of file 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 deleted file mode 100644 index 001e009359f..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCv8ApplicabiltyCalculator.java +++ /dev/null @@ -1,119 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.managedbuilder.xlc.ui.properties; - -import org.eclipse.cdt.managedbuilder.core.IBuildObject; -import org.eclipse.cdt.managedbuilder.core.IConfiguration; -import org.eclipse.cdt.managedbuilder.core.IFolderInfo; -import org.eclipse.cdt.managedbuilder.core.IHoldsOptions; -import org.eclipse.cdt.managedbuilder.core.IManagedProject; -import org.eclipse.cdt.managedbuilder.core.IOption; -import org.eclipse.cdt.managedbuilder.core.IOptionApplicability; -import org.eclipse.cdt.managedbuilder.xlc.ui.XLCUIPlugin; -import org.eclipse.cdt.managedbuilder.xlc.ui.preferences.PreferenceConstants; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.QualifiedName; -import org.eclipse.jface.preference.IPreferenceStore; - -/** - * @author crecoskie - * - */ -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) { - IConfiguration config = (IConfiguration) configuration; - IManagedProject managedProject = config.getManagedProject(); - - IProject project = (IProject) managedProject.getOwner(); - - String currentVersion = null; - try { - currentVersion = project - .getPersistentProperty(new QualifiedName("", PreferenceConstants.P_XLC_COMPILER_VERSION)); - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - 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 (configuration instanceof IFolderInfo) { - IFolderInfo folderInfo = (IFolderInfo) configuration; - - IConfiguration config = folderInfo.getParent(); - - IManagedProject managedProject = config.getManagedProject(); - - IProject project = (IProject) managedProject.getOwner(); - - String currentVersion = null; - try { - currentVersion = project - .getPersistentProperty(new QualifiedName("", PreferenceConstants.P_XLC_COMPILER_VERSION)); - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - 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; - - } - - return false; - - } - - /* (non-Javadoc) - * @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) { - return isVersion8(configuration); - } - - /* (non-Javadoc) - * @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) { - return isVersion8(configuration); - } - - /* (non-Javadoc) - * @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) { - 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 deleted file mode 100644 index 533e9b182e0..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/XLCv9ApplicabilityCalculator.java +++ /dev/null @@ -1,122 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.managedbuilder.xlc.ui.properties; - -import org.eclipse.cdt.managedbuilder.core.IBuildObject; -import org.eclipse.cdt.managedbuilder.core.IConfiguration; -import org.eclipse.cdt.managedbuilder.core.IFolderInfo; -import org.eclipse.cdt.managedbuilder.core.IHoldsOptions; -import org.eclipse.cdt.managedbuilder.core.IManagedProject; -import org.eclipse.cdt.managedbuilder.core.IOption; -import org.eclipse.cdt.managedbuilder.core.IOptionApplicability; -import org.eclipse.cdt.managedbuilder.xlc.ui.XLCUIPlugin; -import org.eclipse.cdt.managedbuilder.xlc.ui.preferences.PreferenceConstants; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.QualifiedName; -import org.eclipse.jface.preference.IPreferenceStore; - -/** - * @author crecoskie - * - * This applicability calculator hides/shows options that are specific to the XL compilers, v9.0 - * - */ -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) { - IConfiguration config = (IConfiguration) configuration; - IManagedProject managedProject = config.getManagedProject(); - - IProject project = (IProject) managedProject.getOwner(); - - String currentVersion = null; - try { - currentVersion = project - .getPersistentProperty(new QualifiedName("", PreferenceConstants.P_XLC_COMPILER_VERSION)); - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - 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 (configuration instanceof IFolderInfo) { - IFolderInfo folderInfo = (IFolderInfo) configuration; - - IConfiguration config = folderInfo.getParent(); - - IManagedProject managedProject = config.getManagedProject(); - - IProject project = (IProject) managedProject.getOwner(); - - String currentVersion = null; - try { - currentVersion = project - .getPersistentProperty(new QualifiedName("", PreferenceConstants.P_XLC_COMPILER_VERSION)); - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - 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; - - } - - return false; - - } - - /* (non-Javadoc) - * @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) { - return isVersion9(configuration); - } - - /* (non-Javadoc) - * @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) { - return isVersion9(configuration); - } - - /* (non-Javadoc) - * @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) { - return isVersion9(configuration); - } - -} diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/applicability.properties b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/applicability.properties deleted file mode 100644 index b8de624fe46..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/properties/applicability.properties +++ /dev/null @@ -1,49 +0,0 @@ -############################################################################### -# Copyright (c) 2007, 2011 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# START NON-TRANSLATABLE -xlc.applicability.version.order=v8.0,v9.0,v10.1,v11.1 - -xlc.c.compiler.option.optimization.arch=v8.0 -xlc.c.compiler.option.optimization.arch.9.0=v9.0,v10.1 -xlc.c.compiler.option.optimization.arch.11.1=v11.1+ -xlc.c.compiler.option.optimization.qassert=v11.1+ -xlc.c.compiler.option.optimization.tune=v8.0 -xlc.c.compiler.option.optimization.tune.9.0=v9.0,v10.1 -xlc.c.compiler.option.optimization.tune.11.1=v11.1+ -xlc.c.compiler.option.optimization.qinline=v11.1+ -xlc.c.compiler.option.optimization.qsimd=v11.1+ -xlc.c.compiler.option.optimization.qprefetch=v11.1+ -xlc.c.compiler.option.ifp.dfp=v9.0+ -xlc.c.compiler.option.preprocessor.PreprocessRemoveComments=v9.0+ -xlc.c.compiler.option.ecd.optdebug=v9.0+ -xlc.c.compiler.option.optimization.smp=v8.0,v9.0 -xlc.c.compiler.option.optimization.smp.v10=v10.1 -xlc.c.compiler.option.optimization.strict=v8.0,v9.0 -xlc.c.compiler.option.optimization.strict.v10=v10.1+ -org.eclipse.cdt.managedbuilder.xlc.ui.cpp.option.output.unique.v10=v10.1 -org.eclipse.cdt.managedbuilder.xlc.ui.cpp.option.namemangling=v8.0,v9.0 -org.eclipse.cdt.managedbuilder.xlc.ui.cpp.option.namemangling.v10=v10.1 -org.eclipse.cdt.managedbuilder.xlc.ui.cpp.option.output.qconcurrentupdate=v11.1 -xlc.c.compiler.option.cc.tls=v8.0,v9.0 -xlc.c.compiler.option.cc.tls.v10=v10.1 -xlc.c.compiler.option.output.macros=v10.1 -xlc.c.compiler.option.output.timestamps=v10.1 -xlc.c.compiler.option.output.qstackprotect=v11.1+ -xlc.c.compiler.option.output.enablevmx=v8.0,v9.0,v10.1,v11.1 -xlc.ui.cpp.option.output.qconcurrentupdate -xlc.c.compiler.option.qfunctrace=v11.1+ -xlc.c.compiler.option.optimization.qrestrict=v11.1+ -xlc.c.compiler.option.lm.qlistfmt=v11.1+ - -# END NON-TRANSLATABLE 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 deleted file mode 100644 index 1557a6744fe..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/variables/DynamicVariableResolver.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.managedbuilder.xlc.ui.variables; - -import org.eclipse.cdt.managedbuilder.xlc.ui.XLCUIPlugin; -import org.eclipse.cdt.managedbuilder.xlc.ui.preferences.PreferenceConstants; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.variables.IDynamicVariable; -import org.eclipse.core.variables.IDynamicVariableResolver; -import org.eclipse.jface.preference.IPreferenceStore; - -/** - * @author crecoskie - * - */ -public class DynamicVariableResolver implements IDynamicVariableResolver { - - /* (non-Javadoc) - * @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 { - - if (variable.getName().equals((PreferenceConstants.P_XL_COMPILER_ROOT))) { - IPreferenceStore prefStore = XLCUIPlugin.getDefault().getPreferenceStore(); - return prefStore.getString(PreferenceConstants.P_XL_COMPILER_ROOT); - } - - return null; - } - -} 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 deleted file mode 100644 index 1f934ef390a..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/wizards/XLCSettingsWizardPage.java +++ /dev/null @@ -1,319 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2015 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.managedbuilder.xlc.ui.wizards; - -import org.eclipse.cdt.managedbuilder.ui.wizards.MBSCustomPage; -import org.eclipse.cdt.managedbuilder.ui.wizards.MBSCustomPageManager; -import org.eclipse.cdt.managedbuilder.xlc.ui.Messages; -import org.eclipse.cdt.managedbuilder.xlc.ui.XLCUIPlugin; -import org.eclipse.cdt.managedbuilder.xlc.ui.preferences.PreferenceConstants; -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.DirectoryDialog; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; - -/** - * @author crecoskie - * - */ -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 Composite composite; - - private BrowseButtonSelectionListener(Composite composite) { - this.composite = composite; - } - - @Override - public void widgetDefaultSelected(SelectionEvent e) { - // meaningless for a button... do nothing - - } - - @Override - public void widgetSelected(SelectionEvent e) { - // open a browse dialog - DirectoryDialog dirDialog = new DirectoryDialog(composite.getShell(), SWT.APPLICATION_MODAL); - String browsedDirectory = dirDialog.open(); - if (browsedDirectory != null) { - fDirTextBox.setText(browsedDirectory); - } - } - } - - private Composite fComposite = null; - - private Text fDirTextBox; - - private Combo fVersionCombo; - - /** - * @param pageID - */ - public XLCSettingsWizardPage(String pageID) { - super(pageID); - setDefaultPreferences(pageID); - } - - /** - * - */ - public XLCSettingsWizardPage() { - super(PAGE_ID); - setDefaultPreferences(PAGE_ID); - } - - private void setDefaultPreferences(String pageID) { - 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); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.managedbuilder.ui.wizards.MBSCustomPage#isCustomPageComplete() - */ - @Override - protected boolean isCustomPageComplete() { - return true; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizardPage#getName() - */ - @Override - public String getName() { - String name = Messages.XLCSettingsWizardPage_0; - return name; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite) - */ - @Override - public void createControl(Composite parent) { - // create a new composite - fComposite = new Composite(parent, SWT.NONE); - fComposite.setBounds(parent.getBounds()); - GridLayout layout = new GridLayout(3, false); - fComposite.setLayout(layout); - fComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); - - // create the first label - Label label1 = new Label(fComposite, SWT.NONE); - label1.setText(Messages.XLCSettingsWizardPage_1); - label1.setVisible(true); - - // create the text box for the path - GridData dirBoxGridData = new GridData(); - dirBoxGridData.grabExcessHorizontalSpace = true; - dirBoxGridData.horizontalAlignment = SWT.FILL; - fDirTextBox = new Text(fComposite, SWT.SINGLE | SWT.BORDER); - fDirTextBox.setLayoutData(dirBoxGridData); - fDirTextBox.setVisible(true); - - // set the default compiler location based on preferences - IPreferenceStore prefStore = XLCUIPlugin.getDefault().getPreferenceStore(); - String compilerPath = prefStore.getString(PreferenceConstants.P_XL_COMPILER_ROOT); - fDirTextBox.setText(compilerPath); - - // update the page manager with the setting - MBSCustomPageManager.addPageProperty(pageID, PreferenceConstants.P_XL_COMPILER_ROOT, fDirTextBox.getText()); - - fDirTextBox.addModifyListener(new ModifyListener() { - - @Override - public void modifyText(ModifyEvent e) { - // update the page manager with the setting - MBSCustomPageManager.addPageProperty(pageID, PreferenceConstants.P_XL_COMPILER_ROOT, - fDirTextBox.getText()); - - } - - }); - - // create the browse button - //String selectedPath = null; - GridData buttonData = new GridData(); - buttonData.horizontalAlignment = SWT.RIGHT; - Button browseButton = new Button(fComposite, SWT.PUSH); - browseButton.setAlignment(SWT.CENTER); - browseButton.setText(Messages.XLCSettingsWizardPage_2); - browseButton.addSelectionListener(new BrowseButtonSelectionListener(fComposite)); - - browseButton.setVisible(true); - - // create the second label - Label label2 = new Label(fComposite, SWT.NONE); - label2.setText(Messages.XLCSettingsWizardPage_3); - - label2.setVisible(true); - - // create the version dropdown - GridData comboData = new GridData(); - comboData.grabExcessHorizontalSpace = true; - comboData.horizontalAlignment = SWT.FILL; - - fVersionCombo = new Combo(fComposite, SWT.READ_ONLY); - fVersionCombo.setLayoutData(comboData); - - // populate the combo - fVersionCombo.add(PreferenceConstants.P_XL_COMPILER_VERSION_8_NAME); - fVersionCombo.add(PreferenceConstants.P_XL_COMPILER_VERSION_9_NAME); - fVersionCombo.add(PreferenceConstants.P_XL_COMPILER_VERSION_10_NAME); - fVersionCombo.add(PreferenceConstants.P_XL_COMPILER_VERSION_11_NAME); - - // set the default based on the workbench preference - String compilerVersion = prefStore.getString(PreferenceConstants.P_XLC_COMPILER_VERSION); - fVersionCombo.setText(PreferenceConstants.getVersionLabel(compilerVersion)); - - // update the page manager with the setting - 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())); - - } - - }); - - fVersionCombo.setVisible(true); - - } - - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.IDialogPage#dispose() - */ - @Override - public void dispose() { - fComposite.dispose(); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.IDialogPage#getControl() - */ - @Override - public Control getControl() { - return fComposite; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.IDialogPage#getDescription() - */ - @Override - public String getDescription() { - return Messages.XLCSettingsWizardPage_4; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.IDialogPage#getErrorMessage() - */ - @Override - public String getErrorMessage() { - // TODO Auto-generated method stub - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.IDialogPage#getImage() - */ - @Override - public Image getImage() { - return wizard.getDefaultPageImage(); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.IDialogPage#getMessage() - */ - @Override - public String getMessage() { - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.IDialogPage#getTitle() - */ - @Override - public String getTitle() { - return Messages.XLCSettingsWizardPage_5; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.IDialogPage#performHelp() - */ - @Override - public void performHelp() { - // TODO Auto-generated method stub - - } - - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.IDialogPage#setDescription(java.lang.String) - */ - @Override - public void setDescription(String description) { - // TODO Auto-generated method stub - - } - - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.IDialogPage#setImageDescriptor(org.eclipse.jface.resource.ImageDescriptor) - */ - @Override - public void setImageDescriptor(ImageDescriptor image) { - // TODO Auto-generated method stub - - } - - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.IDialogPage#setTitle(java.lang.String) - */ - @Override - public void setTitle(String title) { - // TODO Auto-generated method stub - - } - - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.IDialogPage#setVisible(boolean) - */ - @Override - public void setVisible(boolean visible) { - fComposite.setVisible(visible); - } - -} 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 deleted file mode 100644 index f8f74dc7a0a..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/src/org/eclipse/cdt/managedbuilder/xlc/ui/wizards/XLCSettingsWizardRunnable.java +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.managedbuilder.xlc.ui.wizards; - -import java.lang.reflect.InvocationTargetException; - -import org.eclipse.cdt.core.CCorePlugin; -import org.eclipse.cdt.internal.ui.wizards.ICDTCommonProjectWizard; -import org.eclipse.cdt.managedbuilder.ui.wizards.MBSCustomPageManager; -import org.eclipse.cdt.managedbuilder.xlc.ui.preferences.PreferenceConstants; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.QualifiedName; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.jface.wizard.IWizardPage; - -/** - * @author crecoskie - * - */ -public class XLCSettingsWizardRunnable implements IRunnableWithProgress { - - protected String pageId = XLCSettingsWizardPage.PAGE_ID; - - public XLCSettingsWizardRunnable() { - } - - @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(); - - // get a handle to the wizard - IWizardPage[] pages = MBSCustomPageManager.getPages(); - - 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); - - } catch (CoreException e) { - CCorePlugin.log(e); - } - } - } - -} diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.classpath b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.classpath deleted file mode 100644 index 4f83b2397ec..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.project b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.project deleted file mode 100644 index 92de6441e00..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.eclipse.cdt.managedbuilder.xlupc.ui - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.settings/org.eclipse.jdt.core.prefs b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 2b6ecff8a01..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,464 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.cleanOutputFolder=clean -org.eclipse.jdt.core.builder.duplicateResourceTask=warning -org.eclipse.jdt.core.builder.invalidClasspath=abort -org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore -org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch, *.xtend -org.eclipse.jdt.core.circularClasspath=error -org.eclipse.jdt.core.classpath.exclusionPatterns=enabled -org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error -org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled -org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error -org.eclipse.jdt.core.codeComplete.argumentPrefixes= -org.eclipse.jdt.core.codeComplete.argumentSuffixes= -org.eclipse.jdt.core.codeComplete.fieldPrefixes= -org.eclipse.jdt.core.codeComplete.fieldSuffixes= -org.eclipse.jdt.core.codeComplete.localPrefixes= -org.eclipse.jdt.core.codeComplete.localSuffixes= -org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= -org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.8 -org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false -org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 -org.eclipse.jdt.core.formatter.align_type_members_on_columns=false -org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false -org.eclipse.jdt.core.formatter.align_with_spaces=false -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_assignment=0 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 -org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 -org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 -org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 -org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 -org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 -org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 -org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 -org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 -org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_after_package=1 -org.eclipse.jdt.core.formatter.blank_lines_before_field=0 -org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 -org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 -org.eclipse.jdt.core.formatter.blank_lines_before_method=1 -org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 -org.eclipse.jdt.core.formatter.blank_lines_before_package=0 -org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 -org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 -org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true -org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false -org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true -org.eclipse.jdt.core.formatter.comment.format_block_comments=false -org.eclipse.jdt.core.formatter.comment.format_header=false -org.eclipse.jdt.core.formatter.comment.format_html=true -org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false -org.eclipse.jdt.core.formatter.comment.format_line_comments=false -org.eclipse.jdt.core.formatter.comment.format_source_code=true -org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false -org.eclipse.jdt.core.formatter.comment.indent_root_tags=false -org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert -org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert -org.eclipse.jdt.core.formatter.comment.line_length=80 -org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true -org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true -org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false -org.eclipse.jdt.core.formatter.compact_else_if=true -org.eclipse.jdt.core.formatter.continuation_indentation=2 -org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 -org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off -org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on -org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false -org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true -org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_empty_lines=false -org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true -org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false -org.eclipse.jdt.core.formatter.indentation.size=4 -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert -org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert -org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert -org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.join_lines_in_comments=true -org.eclipse.jdt.core.formatter.join_wrapped_lines=true -org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false -org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false -org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false -org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false -org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false -org.eclipse.jdt.core.formatter.lineSplit=120 -org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false -org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false -org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 -org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 -org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines -org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines -org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true -org.eclipse.jdt.core.formatter.tabulation.char=tab -org.eclipse.jdt.core.formatter.tabulation.size=4 -org.eclipse.jdt.core.formatter.use_on_off_tags=true -org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false -org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true -org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true -org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true -org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true -org.eclipse.jdt.core.incompatibleJDKLevel=ignore -org.eclipse.jdt.core.incompleteClasspath=error -org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.settings/org.eclipse.jdt.launching.prefs b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.settings/org.eclipse.jdt.launching.prefs deleted file mode 100644 index f8a131b56e0..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.settings/org.eclipse.jdt.launching.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=warning -org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=warning diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.settings/org.eclipse.jdt.ui.prefs b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index e44576346c4..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,133 +0,0 @@ -cleanup.add_default_serial_version_id=true -cleanup.add_generated_serial_version_id=false -cleanup.add_missing_annotations=true -cleanup.add_missing_deprecated_annotations=true -cleanup.add_missing_methods=false -cleanup.add_missing_nls_tags=false -cleanup.add_missing_override_annotations=true -cleanup.add_missing_override_annotations_interface_methods=true -cleanup.add_serial_version_id=false -cleanup.always_use_blocks=true -cleanup.always_use_parentheses_in_expressions=false -cleanup.always_use_this_for_non_static_field_access=false -cleanup.always_use_this_for_non_static_method_access=false -cleanup.convert_functional_interfaces=false -cleanup.convert_to_enhanced_for_loop=false -cleanup.correct_indentation=false -cleanup.format_source_code=true -cleanup.format_source_code_changes_only=false -cleanup.insert_inferred_type_arguments=false -cleanup.make_local_variable_final=true -cleanup.make_parameters_final=false -cleanup.make_private_fields_final=true -cleanup.make_type_abstract_if_missing_method=false -cleanup.make_variable_declarations_final=false -cleanup.never_use_blocks=false -cleanup.never_use_parentheses_in_expressions=true -cleanup.organize_imports=true -cleanup.qualify_static_field_accesses_with_declaring_class=false -cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -cleanup.qualify_static_member_accesses_with_declaring_class=false -cleanup.qualify_static_method_accesses_with_declaring_class=false -cleanup.remove_private_constructors=true -cleanup.remove_redundant_modifiers=false -cleanup.remove_redundant_semicolons=true -cleanup.remove_redundant_type_arguments=true -cleanup.remove_trailing_whitespaces=true -cleanup.remove_trailing_whitespaces_all=true -cleanup.remove_trailing_whitespaces_ignore_empty=false -cleanup.remove_unnecessary_casts=true -cleanup.remove_unnecessary_nls_tags=false -cleanup.remove_unused_imports=true -cleanup.remove_unused_local_variables=false -cleanup.remove_unused_private_fields=true -cleanup.remove_unused_private_members=false -cleanup.remove_unused_private_methods=true -cleanup.remove_unused_private_types=true -cleanup.sort_members=false -cleanup.sort_members_all=false -cleanup.use_anonymous_class_creation=false -cleanup.use_blocks=false -cleanup.use_blocks_only_for_return_and_throw=false -cleanup.use_lambda=true -cleanup.use_parentheses_in_expressions=false -cleanup.use_this_for_non_static_field_access=false -cleanup.use_this_for_non_static_field_access_only_if_necessary=true -cleanup.use_this_for_non_static_method_access=false -cleanup.use_this_for_non_static_method_access_only_if_necessary=true -cleanup_profile=_CDT -cleanup_settings_version=2 -eclipse.preferences.version=1 -editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true -formatter_profile=_CDT -formatter_settings_version=14 -internal.default.compliance=user -org.eclipse.jdt.ui.exception.name=e -org.eclipse.jdt.ui.gettersetter.use.is=true -org.eclipse.jdt.ui.ignorelowercasenames=true -org.eclipse.jdt.ui.importorder=java;javax;org;com; -org.eclipse.jdt.ui.keywordthis=false -org.eclipse.jdt.ui.ondemandthreshold=1000 -org.eclipse.jdt.ui.overrideannotation=true -org.eclipse.jdt.ui.staticondemandthreshold=1000 -org.eclipse.jdt.ui.text.custom_code_templates= -sp_cleanup.add_default_serial_version_id=true -sp_cleanup.add_generated_serial_version_id=false -sp_cleanup.add_missing_annotations=true -sp_cleanup.add_missing_deprecated_annotations=true -sp_cleanup.add_missing_methods=false -sp_cleanup.add_missing_nls_tags=false -sp_cleanup.add_missing_override_annotations=true -sp_cleanup.add_missing_override_annotations_interface_methods=true -sp_cleanup.add_serial_version_id=false -sp_cleanup.always_use_blocks=true -sp_cleanup.always_use_parentheses_in_expressions=false -sp_cleanup.always_use_this_for_non_static_field_access=false -sp_cleanup.always_use_this_for_non_static_method_access=false -sp_cleanup.convert_functional_interfaces=false -sp_cleanup.convert_to_enhanced_for_loop=false -sp_cleanup.correct_indentation=false -sp_cleanup.format_source_code=true -sp_cleanup.format_source_code_changes_only=false -sp_cleanup.insert_inferred_type_arguments=false -sp_cleanup.make_local_variable_final=true -sp_cleanup.make_parameters_final=false -sp_cleanup.make_private_fields_final=true -sp_cleanup.make_type_abstract_if_missing_method=false -sp_cleanup.make_variable_declarations_final=false -sp_cleanup.never_use_blocks=false -sp_cleanup.never_use_parentheses_in_expressions=true -sp_cleanup.on_save_use_additional_actions=true -sp_cleanup.organize_imports=true -sp_cleanup.qualify_static_field_accesses_with_declaring_class=false -sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_with_declaring_class=false -sp_cleanup.qualify_static_method_accesses_with_declaring_class=false -sp_cleanup.remove_private_constructors=true -sp_cleanup.remove_redundant_modifiers=false -sp_cleanup.remove_redundant_semicolons=true -sp_cleanup.remove_redundant_type_arguments=true -sp_cleanup.remove_trailing_whitespaces=true -sp_cleanup.remove_trailing_whitespaces_all=true -sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true -sp_cleanup.remove_unnecessary_nls_tags=false -sp_cleanup.remove_unused_imports=true -sp_cleanup.remove_unused_local_variables=false -sp_cleanup.remove_unused_private_fields=true -sp_cleanup.remove_unused_private_members=false -sp_cleanup.remove_unused_private_methods=true -sp_cleanup.remove_unused_private_types=true -sp_cleanup.sort_members=false -sp_cleanup.sort_members_all=false -sp_cleanup.use_anonymous_class_creation=false -sp_cleanup.use_blocks=false -sp_cleanup.use_blocks_only_for_return_and_throw=false -sp_cleanup.use_lambda=true -sp_cleanup.use_parentheses_in_expressions=false -sp_cleanup.use_this_for_non_static_field_access=false -sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true -sp_cleanup.use_this_for_non_static_method_access=false -sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.settings/org.eclipse.pde.api.tools.prefs b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.settings/org.eclipse.pde.api.tools.prefs deleted file mode 100644 index ec9fbf321d0..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.settings/org.eclipse.pde.api.tools.prefs +++ /dev/null @@ -1,184 +0,0 @@ -ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error -API_USE_SCAN_FIELD_SEVERITY=Error -API_USE_SCAN_METHOD_SEVERITY=Error -API_USE_SCAN_TYPE_SEVERITY=Error -CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_FIELD=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_ADDED_METHOD=Error -CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error -CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error -CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error -ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error -ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error -ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -FIELD_ELEMENT_TYPE_ADDED_VALUE=Error -FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error -FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error -FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error -ILLEGAL_EXTEND=Warning -ILLEGAL_IMPLEMENT=Warning -ILLEGAL_INSTANTIATE=Warning -ILLEGAL_OVERRIDE=Warning -ILLEGAL_REFERENCE=Warning -INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -INVALID_ANNOTATION=Ignore -INVALID_JAVADOC_TAG=Error -INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning -LEAK_EXTEND=Warning -LEAK_FIELD_DECL=Warning -LEAK_IMPLEMENT=Warning -LEAK_METHOD_PARAM=Warning -LEAK_METHOD_RETURN_TYPE=Warning -METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -MISSING_EE_DESCRIPTIONS=Warning -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -UNUSED_PROBLEM_FILTERS=Warning -automatically_removed_unused_problem_filters=false -changed_execution_env=Error -eclipse.preferences.version=1 -incompatible_api_component_version=Error -incompatible_api_component_version_include_major_without_breaking_change=Disabled -incompatible_api_component_version_include_minor_without_api_change=Disabled -incompatible_api_component_version_report_major_without_breaking_change=Warning -incompatible_api_component_version_report_minor_without_api_change=Warning -invalid_since_tag_version=Error -malformed_since_tag=Error -missing_since_tag=Error -report_api_breakage_when_major_version_incremented=Disabled -report_resolution_errors_api_component=Warning diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.settings/org.eclipse.pde.prefs b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.settings/org.eclipse.pde.prefs deleted file mode 100644 index d2dc703ba9e..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,35 +0,0 @@ -compilers.f.unresolved-features=1 -compilers.f.unresolved-plugins=1 -compilers.incompatible-environment=1 -compilers.p.build=1 -compilers.p.build.bin.includes=1 -compilers.p.build.encodings=2 -compilers.p.build.java.compiler=2 -compilers.p.build.java.compliance=1 -compilers.p.build.missing.output=2 -compilers.p.build.output.library=1 -compilers.p.build.source.library=1 -compilers.p.build.src.includes=1 -compilers.p.deprecated=1 -compilers.p.discouraged-class=1 -compilers.p.internal=1 -compilers.p.missing-packages=2 -compilers.p.missing-version-export-package=2 -compilers.p.missing-version-import-package=2 -compilers.p.missing-version-require-bundle=2 -compilers.p.no-required-att=0 -compilers.p.no.automatic.module=1 -compilers.p.not-externalized-att=1 -compilers.p.service.component.without.lazyactivation=1 -compilers.p.unknown-attribute=1 -compilers.p.unknown-class=1 -compilers.p.unknown-element=1 -compilers.p.unknown-identifier=1 -compilers.p.unknown-resource=1 -compilers.p.unresolved-ex-points=0 -compilers.p.unresolved-import=0 -compilers.s.create-docs=false -compilers.s.doc-folder=doc -compilers.s.open-tags=1 -compilers.use-project=true -eclipse.preferences.version=1 diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/META-INF/MANIFEST.MF b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/META-INF/MANIFEST.MF deleted file mode 100644 index 89b6eafa033..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/META-INF/MANIFEST.MF +++ /dev/null @@ -1,24 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %Bundle-Name.0 -Bundle-SymbolicName: org.eclipse.cdt.managedbuilder.xlupc.ui;singleton:=true -Bundle-Version: 1.1.1.qualifier -Bundle-Activator: org.eclipse.cdt.managedbuilder.xlupc.ui.Activator -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.cdt.managedbuilder.core;bundle-version="5.0.1", - org.eclipse.cdt.core;bundle-version="5.0.2", - org.eclipse.core.resources;bundle-version="3.4.1", - org.eclipse.cdt.managedbuilder.ui;bundle-version="5.0.1", - org.eclipse.cdt.ui;bundle-version="5.0.2", - org.eclipse.ui.ide;bundle-version="3.4.1", - org.eclipse.core.variables;bundle-version="3.2.100", - org.eclipse.cdt.core.parser.upc;bundle-version="5.0.0", - org.eclipse.cdt.managedbuilder.xlc.ui;bundle-version="6.0.0" -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Bundle-ActivationPolicy: lazy -Bundle-Vendor: %Bundle-Vendor.0 -Export-Package: org.eclipse.cdt.managedbuilder.xlupc.ui, - org.eclipse.cdt.managedbuilder.xlupc.ui.wizards -Bundle-Localization: plugin -Automatic-Module-Name: org.eclipse.cdt.managedbuilder.xlupc.ui diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/about.html b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/about.html deleted file mode 100644 index 164f781a8fd..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/about.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    November 30, 2017

    -

    License

    - -

    - The Eclipse Foundation makes available all content in this plug-in - ("Content"). Unless otherwise indicated below, the Content - is provided to you under the terms and conditions of the Eclipse - Public License Version 2.0 ("EPL"). A copy of the EPL is - available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    - If you did not receive this Content directly from the Eclipse - Foundation, the Content is being redistributed by another party - ("Redistributor") and different terms and conditions may - apply to your use of any object code in the Content. Check the - Redistributor's license that was provided with the Content. If no such - license exists, contact the Redistributor. Unless otherwise indicated - below, the terms and conditions of the EPL still apply to any source - code in the Content and such source code may be obtained at http://www.eclipse.org. -

    - - - \ No newline at end of file diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/build.properties b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/build.properties deleted file mode 100644 index 5d28cf185b3..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/build.properties +++ /dev/null @@ -1,21 +0,0 @@ -############################################################################### -# Copyright (c) 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - plugin.xml,\ - plugin.properties,\ - about.html -src.includes = about.html diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/icons/c-project.gif b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/icons/c-project.gif deleted file mode 100644 index 0b693cb5f60..00000000000 Binary files a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/icons/c-project.gif and /dev/null differ diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/plugin.properties b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/plugin.properties deleted file mode 100644 index b0ba262e7bb..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/plugin.properties +++ /dev/null @@ -1,66 +0,0 @@ -############################################################################### -# Copyright (c) 2009, 2011 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -#Properties file for org.eclipse.cdt.managedbuilder.xlupc.ui -Bundle-Vendor.0 = Eclipse CDT -Bundle-Name.0 = XL UPC Managed Build UI Plugin -category.name.1=XL UPC -wizard.name.1=XL UPC Project - -ToolName.compiler.xlupc = XL UPC Compiler -ToolName.linker.xlupc = XL UPC Linker -tool.name.0 = Abstract XL UPC Linker - -TargetName.xlupc.exe=Executable (XL UPC) -TargetName.xlupc.so=Shared Library (XL UPC) -TargetName.xlupc.lib=Static Library(XL UPC) - -ToolChainName.Upc=XL UPC Tool Chain - -ConfigName.Dbg=Debug -ConfigName.Rel=Release - -PlatformName.Rel=Release Platform -PlatformName.Dbg=Debug Platform - -BuildProperty.type.name.xlupc.executable=Executable (XL UPC) -BuildProperty.type.name.xlupc.staticLibrary=Static Library (XL UPC) -BuildProperty.type.name.xlupc.sharedLibrary=Shared Library (XL UPC) - -OptionCategory.upc=XL UPC Compiler Options - -Option.qsourcetype=Use filename suffix to determine the programming language (-qsourcetype) -Option.qsourcetype.default=default -Option.qsourcetype.upc=upc - -Option.runtime=UPC runtime implementation (-qupc=rts=) -Option.runtime.default=default -Option.runtime.lapi=lapi -Option.runtime.smp=smp - -Option.threads=Number of static THREADS (-qupc=threads=) - -Option.compilation=Select either 32-bit or 64-bit compilation mode -Option.compilation.q32=-q32 -Option.compilation.q64=-q64 - - -extension.name = Base Build Properties Definition -tool.linker.exe.name = XL UPC Executable Linker -tool.linker.so.name = XL UPC Shared Object Linker -tool.compiler.abstract.name = Abstract XL UPC Compiler -tool.compiler.name = Local XL UPC Compiler -inputType.upc.name = Local UPC Sources -inputType.c.name = Local C Sources -wizard.description = Create a new XL UPC project \ No newline at end of file diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/plugin.xml b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/plugin.xml deleted file mode 100644 index 521340097fa..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/plugin.xml +++ /dev/null @@ -1,499 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %wizard.description - - - - - - - - - - - - - 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 deleted file mode 100644 index 0c60ca8b38b..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/Activator.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -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() { - } - - @Override - public void start(BundleContext context) throws Exception { - super.start(context); - plugin = this; - } - - @Override - public void stop(BundleContext context) throws Exception { - plugin = null; - super.stop(context); - } - - public static Activator getDefault() { - return plugin; - } - -} 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 deleted file mode 100644 index c51cc76e54f..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/Messages.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.managedbuilder.xlupc.ui; - -import org.eclipse.osgi.util.NLS; - -public class Messages extends NLS { - - private static final String BUNDLE_NAME = "org.eclipse.cdt.managedbuilder.xlupc.ui.messages"; //$NON-NLS-1$ - - static { - NLS.initializeMessages(BUNDLE_NAME, Messages.class); - } - - private Messages() { - } - - public static String UpcProjectWizard_0; - public static String UpcProjectWizard_1; - public static String XLUpcSettingsWizardPage_0; - public static String XLUpcSettingsWizardPage_1; -} diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/messages.properties b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/messages.properties deleted file mode 100644 index 17f1ba746bc..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/messages.properties +++ /dev/null @@ -1,19 +0,0 @@ -############################################################################### -# Copyright (c) 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -UpcProjectWizard_0=UPC Project -UpcProjectWizard_1=Create UPC project of selected type - -XLUpcSettingsWizardPage_0=XL UPC Settings -XLUpcSettingsWizardPage_1=XL Compiler Settings \ No newline at end of file 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 deleted file mode 100644 index ee914ce5390..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/wizards/UpcProjectWizard.java +++ /dev/null @@ -1,104 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM - Initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.managedbuilder.xlupc.ui.wizards; - -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import org.eclipse.cdt.core.CCorePlugin; -import org.eclipse.cdt.core.CProjectNature; -import org.eclipse.cdt.core.dom.upc.UPCLanguage; -import org.eclipse.cdt.managedbuilder.xlupc.ui.Messages; -import org.eclipse.cdt.ui.wizards.CDTCommonProjectWizard; -import org.eclipse.cdt.ui.wizards.CDTMainWizardPage; -import org.eclipse.cdt.ui.wizards.EntryDescriptor; -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 { - - private static final String ARTIFACT_TYPE_UPC_EXE = "org.eclipse.cdt.build.core.buildArtefactType.xlupc.exe"; - private static final String ARTIFACT_TYPE_UPC_EXE_DEFAULT = ARTIFACT_TYPE_UPC_EXE + ".default"; - - private static final String ARTIFACT_TYPE_UPC_SO = "org.eclipse.cdt.build.core.buildArtefactType.xlupc.sharedLib"; - private static final String ARTIFACT_TYPE_UPC_SO_DEFAULT = ARTIFACT_TYPE_UPC_SO + ".default"; - - private static final String ARTIFACT_TYPE_UPC_LIB = "org.eclipse.cdt.build.core.buildArtefactType.xlupc.staticLib"; - private static final String ARTIFACT_TYPE_UPC_LIB_DEFAULT = ARTIFACT_TYPE_UPC_LIB + ".default"; - - private final static String PAGE_NAME = "org.eclipse.cdt.managedbuilder.xlupc.ui.mainpage"; - - private static final Set ALL_TYPES = new HashSet() { - { - 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() { - fMainPage = new CDTMainWizardPage(PAGE_NAME) { - @Override - public List filterItems(List items) { - // filter out all non-UPC project types - if (items != null) { - Iterator iter = items.iterator(); - while (iter.hasNext()) { - EntryDescriptor entryDescriptor = iter.next(); - if (!ALL_TYPES.contains(entryDescriptor.getId())) - iter.remove(); - } - } - return items; - } - }; - - fMainPage.setTitle(Messages.UpcProjectWizard_0); - fMainPage.setDescription(Messages.UpcProjectWizard_1); - addPage(fMainPage); - } - - @Override - protected IProject continueCreation(IProject prj) { - try { - CProjectNature.addCNature(prj, new NullProgressMonitor()); - } catch (CoreException e) { - } - return prj; - } - - @Override - public String[] getNatures() { - 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 }; - } -} diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/wizards/XLUpcSettingsWizardPage.java b/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/wizards/XLUpcSettingsWizardPage.java deleted file mode 100644 index d0a1111f9a6..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/wizards/XLUpcSettingsWizardPage.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.managedbuilder.xlupc.ui.wizards; - -import org.eclipse.cdt.managedbuilder.xlc.ui.wizards.XLCSettingsWizardPage; -import org.eclipse.cdt.managedbuilder.xlupc.ui.Messages; - -/** - * - */ -public class XLUpcSettingsWizardPage extends XLCSettingsWizardPage { - - public static final String PAGE_ID = "org.eclipse.cdt.managedbuilder.xlupc.ui.wizards.XLUpcSettingsWizardPage"; //$NON-NLS-1$ - - public XLUpcSettingsWizardPage(String pageID) { - super(pageID); - } - - public XLUpcSettingsWizardPage() { - super(); - pageID = PAGE_ID; - } - - @Override - public String getName() { - return Messages.XLUpcSettingsWizardPage_0; - } - - @Override - public String getTitle() { - return Messages.XLUpcSettingsWizardPage_1; - } - -} 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 deleted file mode 100644 index 39c52c6e8c4..00000000000 --- a/xlc/org.eclipse.cdt.managedbuilder.xlupc.ui/src/org/eclipse/cdt/managedbuilder/xlupc/ui/wizards/XLUpcSettingsWizardRunnable.java +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2012 IBM Corporation and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.managedbuilder.xlupc.ui.wizards; - -import java.lang.reflect.InvocationTargetException; - -import org.eclipse.cdt.core.CCorePlugin; -import org.eclipse.cdt.core.dom.upc.UPCLanguage; -import org.eclipse.cdt.core.language.ProjectLanguageConfiguration; -import org.eclipse.cdt.core.model.CoreModel; -import org.eclipse.cdt.core.model.LanguageManager; -import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; -import org.eclipse.cdt.core.settings.model.ICProjectDescription; -import org.eclipse.cdt.managedbuilder.ui.wizards.MBSCustomPageManager; -import org.eclipse.cdt.managedbuilder.xlc.ui.wizards.XLCSettingsWizardRunnable; -import org.eclipse.cdt.ui.wizards.CDTCommonProjectWizard; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.Platform; -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 }; - - public XLUpcSettingsWizardRunnable() { - pageId = XLUpcSettingsWizardPage.PAGE_ID; - } - - @Override - public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { - super.run(monitor); - // get a handle to the wizard - IWizardPage[] pages = MBSCustomPageManager.getPages(); - - if (pages != null && pages.length > 0) { - - CDTCommonProjectWizard wizard = (CDTCommonProjectWizard) pages[0].getWizard(); - IProject project = wizard.getLastProject(); - LanguageManager langManager = LanguageManager.getInstance(); - - try { - ProjectLanguageConfiguration langConfig = langManager.getLanguageConfiguration(project); - - ICProjectDescription projectDescription = CoreModel.getDefault().getProjectDescription(project, false); - ICConfigurationDescription configDescription = projectDescription.getActiveConfiguration(); - - IContentTypeManager contentTypeManager = Platform.getContentTypeManager(); - - for (String id : CONTENT_TYPE_IDS) { - if (contentTypeManager.getContentType(id) != null) { - langConfig.addContentTypeMapping(configDescription, id, UPCLanguage.ID); - } - } - - langManager.storeLanguageMappingConfiguration(project, new IContentType[0]); - - } catch (CoreException e) { - CCorePlugin.log(e); - } - } - } -} diff --git a/xlc/org.eclipse.cdt.xlc.feature/.project b/xlc/org.eclipse.cdt.xlc.feature/.project deleted file mode 100644 index 7405ef994aa..00000000000 --- a/xlc/org.eclipse.cdt.xlc.feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.cdt.xlc.feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/xlc/org.eclipse.cdt.xlc.feature/build.properties b/xlc/org.eclipse.cdt.xlc.feature/build.properties deleted file mode 100644 index cbfee450a7d..00000000000 --- a/xlc/org.eclipse.cdt.xlc.feature/build.properties +++ /dev/null @@ -1,16 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2008 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = feature.xml,\ - feature.properties -root = rootfiles diff --git a/xlc/org.eclipse.cdt.xlc.feature/feature.properties b/xlc/org.eclipse.cdt.xlc.feature/feature.properties deleted file mode 100644 index b502882cfa4..00000000000 --- a/xlc/org.eclipse.cdt.xlc.feature/feature.properties +++ /dev/null @@ -1,36 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2010 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=C/C++ IBM XLC Compiler Support - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse CDT - -# "description" property - description of the feature -description=Support for the IBM XL C/C++ compilers. - -# copyright -copyright=\ -Copyright (c) 2006, 2011 IBM Corporation and others.\n\ -This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License 2.0\n\ -which accompanies this distribution, and is available at\n\ -https://www.eclipse.org/legal/epl-2.0/ - diff --git a/xlc/org.eclipse.cdt.xlc.feature/feature.xml b/xlc/org.eclipse.cdt.xlc.feature/feature.xml deleted file mode 100644 index 74c07c5d4b1..00000000000 --- a/xlc/org.eclipse.cdt.xlc.feature/feature.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - diff --git a/xlc/org.eclipse.cdt.xlc.feature/rootfiles/notice.html b/xlc/org.eclipse.cdt.xlc.feature/rootfiles/notice.html deleted file mode 100644 index 008b8018db8..00000000000 --- a/xlc/org.eclipse.cdt.xlc.feature/rootfiles/notice.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

    Eclipse Foundation Software User Agreement

    -

    November 22, 2017

    - -

    Usage Of Content

    - -

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, - INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY - THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS - GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY - APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS - AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE - AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT - USE THE CONTENT.

    - -

    Applicable Licenses

    - -

    - Unless otherwise indicated, all Content made available by the Eclipse - Foundation is provided to you under the terms and conditions of the - Eclipse Public License Version 2.0 ("EPL"). A copy of the - EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    Content includes, but is not limited to, source code, object - code, documentation and other files maintained in the Eclipse - Foundation source code repository ("Repository") in software - modules ("Modules") and made available as downloadable - archives ("Downloads").

    - -
      -
    • Content may be structured and packaged into modules to - facilitate delivering, extending, and upgrading the Content. Typical - modules may include plug-ins ("Plug-ins"), plug-in - fragments ("Fragments"), and features - ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory - or JAR (Java™ ARchive) in a directory named - "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or - Fragments and associated material. Each Feature may be packaged as a - sub-directory in a directory named "features". Within a - Feature, files named "feature.xml" may contain a list of - the names and version numbers of the Plug-ins and/or Fragments - associated with that Feature.
    • -
    • Features may also include other Features ("Included - Features"). Within a Feature, files named - "feature.xml" may contain a list of the names and version - numbers of Included Features.
    • -
    - -

    The terms and conditions governing Plug-ins and Fragments should - be contained in files named "about.html" - ("Abouts"). The terms and conditions governing Features and - Included Features should be contained in files named - "license.html" ("Feature Licenses"). Abouts and - Feature Licenses may be located in any directory of a Download or - Module including, but not limited to the following locations:

    - -
      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of - certain Plug-ins
    • -
    • Feature directories
    • -
    - -

    Note: if a Feature made available by the Eclipse Foundation is - installed using the Provisioning Technology (as defined below), you - must agree to a license ("Feature Update License") during - the installation process. If the Feature contains Included Features, - the Feature Update License should either provide you with the terms - and conditions governing the Included Features or inform you where you - can locate them. Feature Update Licenses may be found in the - "license" property of files named - "feature.properties" found within a Feature. Such Abouts, - Feature Licenses, and Feature Update Licenses contain the terms and - conditions (or references to such terms and conditions) that govern - your use of the associated Content in that directory.

    - -

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY - REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND - CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT - ARE NOT LIMITED TO):

    - - - -

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND - CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, - or Feature Update License is provided, please contact the Eclipse - Foundation to determine what terms and conditions govern that - particular Content.

    - - -

    Use of Provisioning Technology

    - -

    - The Eclipse Foundation makes available provisioning software, examples - of which include, but are not limited to, p2 and the Eclipse Update - Manager ("Provisioning Technology") for the purpose of - allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This - capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about - packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification"). -

    - -

    You may use Provisioning Technology to allow other parties to - install Installable Software. You shall be responsible for enabling - the applicable license agreements relating to the Installable Software - to be presented to, and accepted by, the users of the Provisioning - Technology in accordance with the Specification. By using Provisioning - Technology in such a manner and making it available in accordance with - the Specification, you further acknowledge your agreement to, and the - acquisition of all necessary rights to permit the following:

    - -
      -
    1. A series of actions may occur ("Provisioning - Process") in which a user may execute the Provisioning - Technology on a machine ("Target Machine") with the intent - of installing, extending or updating the functionality of an - Eclipse-based product.
    2. -
    3. During the Provisioning Process, the Provisioning Technology - may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
    4. -
    5. Pursuant to the Specification, you will provide to the user - the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such - Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable - Software Agreement must inform the user of the terms and conditions - that govern the Installable Software and must solicit acceptance by - the end user in the manner prescribed in such Installable Software - Agreement. Upon such indication of agreement by the user, the - provisioning Technology will complete installation of the Installable - Software.
    6. -
    - -

    Cryptography

    - -

    Content may contain encryption software. The country in which - you are currently may have restrictions on the import, possession, and - use, and/or re-export to another country, of encryption software. - BEFORE using any encryption software, please check the country's laws, - regulations and policies concerning the import, possession, or use, - and re-export of encryption software, to see if this is permitted.

    - -

    - Java and all Java-based trademarks are trademarks of - Oracle Corporation in the United States, other countries, or both. -

    - - diff --git a/xlc/org.eclipse.cdt.xlc.feature/sourceTemplateFeature/p2.inf b/xlc/org.eclipse.cdt.xlc.feature/sourceTemplateFeature/p2.inf deleted file mode 100644 index edf5d0d1ab3..00000000000 --- a/xlc/org.eclipse.cdt.xlc.feature/sourceTemplateFeature/p2.inf +++ /dev/null @@ -1 +0,0 @@ -update.matchExp=providedCapabilities.exists(pc | pc.namespace == 'org.eclipse.equinox.p2.iu' && (pc.name == 'org.eclipse.cdt.xlc.source.feature.group' || pc.name == 'org.eclipse.cdt.xlc.feature.source.feature.group')) diff --git a/xlc/org.eclipse.cdt.xlc.sdk-feature/.project b/xlc/org.eclipse.cdt.xlc.sdk-feature/.project deleted file mode 100644 index 7df5619a80a..00000000000 --- a/xlc/org.eclipse.cdt.xlc.sdk-feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.cdt.xlc.sdk-feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/xlc/org.eclipse.cdt.xlc.sdk-feature/build.properties b/xlc/org.eclipse.cdt.xlc.sdk-feature/build.properties deleted file mode 100644 index 75fcb048d29..00000000000 --- a/xlc/org.eclipse.cdt.xlc.sdk-feature/build.properties +++ /dev/null @@ -1,17 +0,0 @@ - ############################################################################### -# Copyright (c) 2006, 2008 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = feature.xml,\ - feature.properties -root = rootfiles -generate.feature@org.eclipse.cdt.xlc.source = org.eclipse.cdt.xlc.feature diff --git a/xlc/org.eclipse.cdt.xlc.sdk-feature/feature-no-source.properties b/xlc/org.eclipse.cdt.xlc.sdk-feature/feature-no-source.properties deleted file mode 100644 index 8c2b2f70c57..00000000000 --- a/xlc/org.eclipse.cdt.xlc.sdk-feature/feature-no-source.properties +++ /dev/null @@ -1 +0,0 @@ -# This file tells the Maven build to not generate sources for this feature diff --git a/xlc/org.eclipse.cdt.xlc.sdk-feature/feature.properties b/xlc/org.eclipse.cdt.xlc.sdk-feature/feature.properties deleted file mode 100644 index 6123503cfc3..00000000000 --- a/xlc/org.eclipse.cdt.xlc.sdk-feature/feature.properties +++ /dev/null @@ -1,36 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2010 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=C/C++ IBM XLC Compiler Support SDK - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse CDT - -# "description" property - description of the feature -description=Support for the IBM XL C/C++ compilers. Software development kit including source code and developer documentation. - -# copyright -copyright=\ -Copyright (c) 2006, 2011 IBM Corporation and others.\n\ -This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License 2.0\n\ -which accompanies this distribution, and is available at\n\ -https://www.eclipse.org/legal/epl-2.0/ - diff --git a/xlc/org.eclipse.cdt.xlc.sdk-feature/feature.xml b/xlc/org.eclipse.cdt.xlc.sdk-feature/feature.xml deleted file mode 100644 index 2ee523badc7..00000000000 --- a/xlc/org.eclipse.cdt.xlc.sdk-feature/feature.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - diff --git a/xlc/org.eclipse.cdt.xlc.sdk-feature/rootfiles/notice.html b/xlc/org.eclipse.cdt.xlc.sdk-feature/rootfiles/notice.html deleted file mode 100644 index 008b8018db8..00000000000 --- a/xlc/org.eclipse.cdt.xlc.sdk-feature/rootfiles/notice.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

    Eclipse Foundation Software User Agreement

    -

    November 22, 2017

    - -

    Usage Of Content

    - -

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, - INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY - THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS - GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY - APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS - AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE - AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT - USE THE CONTENT.

    - -

    Applicable Licenses

    - -

    - Unless otherwise indicated, all Content made available by the Eclipse - Foundation is provided to you under the terms and conditions of the - Eclipse Public License Version 2.0 ("EPL"). A copy of the - EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    Content includes, but is not limited to, source code, object - code, documentation and other files maintained in the Eclipse - Foundation source code repository ("Repository") in software - modules ("Modules") and made available as downloadable - archives ("Downloads").

    - -
      -
    • Content may be structured and packaged into modules to - facilitate delivering, extending, and upgrading the Content. Typical - modules may include plug-ins ("Plug-ins"), plug-in - fragments ("Fragments"), and features - ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory - or JAR (Java™ ARchive) in a directory named - "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or - Fragments and associated material. Each Feature may be packaged as a - sub-directory in a directory named "features". Within a - Feature, files named "feature.xml" may contain a list of - the names and version numbers of the Plug-ins and/or Fragments - associated with that Feature.
    • -
    • Features may also include other Features ("Included - Features"). Within a Feature, files named - "feature.xml" may contain a list of the names and version - numbers of Included Features.
    • -
    - -

    The terms and conditions governing Plug-ins and Fragments should - be contained in files named "about.html" - ("Abouts"). The terms and conditions governing Features and - Included Features should be contained in files named - "license.html" ("Feature Licenses"). Abouts and - Feature Licenses may be located in any directory of a Download or - Module including, but not limited to the following locations:

    - -
      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of - certain Plug-ins
    • -
    • Feature directories
    • -
    - -

    Note: if a Feature made available by the Eclipse Foundation is - installed using the Provisioning Technology (as defined below), you - must agree to a license ("Feature Update License") during - the installation process. If the Feature contains Included Features, - the Feature Update License should either provide you with the terms - and conditions governing the Included Features or inform you where you - can locate them. Feature Update Licenses may be found in the - "license" property of files named - "feature.properties" found within a Feature. Such Abouts, - Feature Licenses, and Feature Update Licenses contain the terms and - conditions (or references to such terms and conditions) that govern - your use of the associated Content in that directory.

    - -

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY - REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND - CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT - ARE NOT LIMITED TO):

    - - - -

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND - CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, - or Feature Update License is provided, please contact the Eclipse - Foundation to determine what terms and conditions govern that - particular Content.

    - - -

    Use of Provisioning Technology

    - -

    - The Eclipse Foundation makes available provisioning software, examples - of which include, but are not limited to, p2 and the Eclipse Update - Manager ("Provisioning Technology") for the purpose of - allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This - capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about - packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification"). -

    - -

    You may use Provisioning Technology to allow other parties to - install Installable Software. You shall be responsible for enabling - the applicable license agreements relating to the Installable Software - to be presented to, and accepted by, the users of the Provisioning - Technology in accordance with the Specification. By using Provisioning - Technology in such a manner and making it available in accordance with - the Specification, you further acknowledge your agreement to, and the - acquisition of all necessary rights to permit the following:

    - -
      -
    1. A series of actions may occur ("Provisioning - Process") in which a user may execute the Provisioning - Technology on a machine ("Target Machine") with the intent - of installing, extending or updating the functionality of an - Eclipse-based product.
    2. -
    3. During the Provisioning Process, the Provisioning Technology - may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
    4. -
    5. Pursuant to the Specification, you will provide to the user - the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such - Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable - Software Agreement must inform the user of the terms and conditions - that govern the Installable Software and must solicit acceptance by - the end user in the manner prescribed in such Installable Software - Agreement. Upon such indication of agreement by the user, the - provisioning Technology will complete installation of the Installable - Software.
    6. -
    - -

    Cryptography

    - -

    Content may contain encryption software. The country in which - you are currently may have restrictions on the import, possession, and - use, and/or re-export to another country, of encryption software. - BEFORE using any encryption software, please check the country's laws, - regulations and policies concerning the import, possession, or use, - and re-export of encryption software, to see if this is permitted.

    - -

    - Java and all Java-based trademarks are trademarks of - Oracle Corporation in the United States, other countries, or both. -

    - - diff --git a/xlc/org.eclipse.cdt.xlc.sdk.branding/.project b/xlc/org.eclipse.cdt.xlc.sdk.branding/.project deleted file mode 100644 index abc89c9e5e3..00000000000 --- a/xlc/org.eclipse.cdt.xlc.sdk.branding/.project +++ /dev/null @@ -1,22 +0,0 @@ - - - org.eclipse.cdt.xlc.sdk.branding - - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - - diff --git a/xlc/org.eclipse.cdt.xlc.sdk.branding/.settings/org.eclipse.pde.api.tools.prefs b/xlc/org.eclipse.cdt.xlc.sdk.branding/.settings/org.eclipse.pde.api.tools.prefs deleted file mode 100644 index ec9fbf321d0..00000000000 --- a/xlc/org.eclipse.cdt.xlc.sdk.branding/.settings/org.eclipse.pde.api.tools.prefs +++ /dev/null @@ -1,184 +0,0 @@ -ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error -API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error -API_USE_SCAN_FIELD_SEVERITY=Error -API_USE_SCAN_METHOD_SEVERITY=Error -API_USE_SCAN_TYPE_SEVERITY=Error -CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_FIELD=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_ADDED_METHOD=Error -CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error -CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error -CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error -ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error -ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error -ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error -ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -FIELD_ELEMENT_TYPE_ADDED_VALUE=Error -FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error -FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error -FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error -FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error -ILLEGAL_EXTEND=Warning -ILLEGAL_IMPLEMENT=Warning -ILLEGAL_INSTANTIATE=Warning -ILLEGAL_OVERRIDE=Warning -ILLEGAL_REFERENCE=Warning -INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error -INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error -INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error -INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error -INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -INVALID_ANNOTATION=Ignore -INVALID_JAVADOC_TAG=Error -INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning -LEAK_EXTEND=Warning -LEAK_FIELD_DECL=Warning -LEAK_IMPLEMENT=Warning -LEAK_METHOD_PARAM=Warning -LEAK_METHOD_RETURN_TYPE=Warning -METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error -METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error -METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error -METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error -METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error -METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error -METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error -METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error -MISSING_EE_DESCRIPTIONS=Warning -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error -TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error -UNUSED_PROBLEM_FILTERS=Warning -automatically_removed_unused_problem_filters=false -changed_execution_env=Error -eclipse.preferences.version=1 -incompatible_api_component_version=Error -incompatible_api_component_version_include_major_without_breaking_change=Disabled -incompatible_api_component_version_include_minor_without_api_change=Disabled -incompatible_api_component_version_report_major_without_breaking_change=Warning -incompatible_api_component_version_report_minor_without_api_change=Warning -invalid_since_tag_version=Error -malformed_since_tag=Error -missing_since_tag=Error -report_api_breakage_when_major_version_incremented=Disabled -report_resolution_errors_api_component=Warning diff --git a/xlc/org.eclipse.cdt.xlc.sdk.branding/.settings/org.eclipse.pde.prefs b/xlc/org.eclipse.cdt.xlc.sdk.branding/.settings/org.eclipse.pde.prefs deleted file mode 100644 index d2dc703ba9e..00000000000 --- a/xlc/org.eclipse.cdt.xlc.sdk.branding/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,35 +0,0 @@ -compilers.f.unresolved-features=1 -compilers.f.unresolved-plugins=1 -compilers.incompatible-environment=1 -compilers.p.build=1 -compilers.p.build.bin.includes=1 -compilers.p.build.encodings=2 -compilers.p.build.java.compiler=2 -compilers.p.build.java.compliance=1 -compilers.p.build.missing.output=2 -compilers.p.build.output.library=1 -compilers.p.build.source.library=1 -compilers.p.build.src.includes=1 -compilers.p.deprecated=1 -compilers.p.discouraged-class=1 -compilers.p.internal=1 -compilers.p.missing-packages=2 -compilers.p.missing-version-export-package=2 -compilers.p.missing-version-import-package=2 -compilers.p.missing-version-require-bundle=2 -compilers.p.no-required-att=0 -compilers.p.no.automatic.module=1 -compilers.p.not-externalized-att=1 -compilers.p.service.component.without.lazyactivation=1 -compilers.p.unknown-attribute=1 -compilers.p.unknown-class=1 -compilers.p.unknown-element=1 -compilers.p.unknown-identifier=1 -compilers.p.unknown-resource=1 -compilers.p.unresolved-ex-points=0 -compilers.p.unresolved-import=0 -compilers.s.create-docs=false -compilers.s.doc-folder=doc -compilers.s.open-tags=1 -compilers.use-project=true -eclipse.preferences.version=1 diff --git a/xlc/org.eclipse.cdt.xlc.sdk.branding/META-INF/MANIFEST.MF b/xlc/org.eclipse.cdt.xlc.sdk.branding/META-INF/MANIFEST.MF deleted file mode 100644 index 4ddfed11ad4..00000000000 --- a/xlc/org.eclipse.cdt.xlc.sdk.branding/META-INF/MANIFEST.MF +++ /dev/null @@ -1,7 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.cdt.xlc.sdk.branding;singleton:=true -Bundle-Version: 10.0.0.qualifier -Bundle-Vendor: %providerName -Bundle-Localization: plugin diff --git a/xlc/org.eclipse.cdt.xlc.sdk.branding/about.html b/xlc/org.eclipse.cdt.xlc.sdk.branding/about.html deleted file mode 100644 index 164f781a8fd..00000000000 --- a/xlc/org.eclipse.cdt.xlc.sdk.branding/about.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    November 30, 2017

    -

    License

    - -

    - The Eclipse Foundation makes available all content in this plug-in - ("Content"). Unless otherwise indicated below, the Content - is provided to you under the terms and conditions of the Eclipse - Public License Version 2.0 ("EPL"). A copy of the EPL is - available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    - If you did not receive this Content directly from the Eclipse - Foundation, the Content is being redistributed by another party - ("Redistributor") and different terms and conditions may - apply to your use of any object code in the Content. Check the - Redistributor's license that was provided with the Content. If no such - license exists, contact the Redistributor. Unless otherwise indicated - below, the terms and conditions of the EPL still apply to any source - code in the Content and such source code may be obtained at http://www.eclipse.org. -

    - - - \ No newline at end of file diff --git a/xlc/org.eclipse.cdt.xlc.sdk.branding/about.ini b/xlc/org.eclipse.cdt.xlc.sdk.branding/about.ini deleted file mode 100644 index e07a7bb377e..00000000000 --- a/xlc/org.eclipse.cdt.xlc.sdk.branding/about.ini +++ /dev/null @@ -1,24 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=cdt_logo_icon32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (translated) -# needed for primary features only - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional diff --git a/xlc/org.eclipse.cdt.xlc.sdk.branding/about.mappings b/xlc/org.eclipse.cdt.xlc.sdk.branding/about.mappings deleted file mode 100644 index 936a8039c3e..00000000000 --- a/xlc/org.eclipse.cdt.xlc.sdk.branding/about.mappings +++ /dev/null @@ -1,9 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -# The following should contain the build version. -# e.g. "0=20200106-1728" -# This value will be added automatically via the build scripts -0=${buildId} diff --git a/xlc/org.eclipse.cdt.xlc.sdk.branding/about.properties b/xlc/org.eclipse.cdt.xlc.sdk.branding/about.properties deleted file mode 100644 index 014093a20b3..00000000000 --- a/xlc/org.eclipse.cdt.xlc.sdk.branding/about.properties +++ /dev/null @@ -1,32 +0,0 @@ -############################################################################### -# Copyright (c) 2008, 2020 Contributors to the Eclipse Foundation -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -############################################################################### -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# NOTE TO TRANSLATOR: Please do not translate the featureVersion variable. - - -blurb=C/C++ IBM XLC Compiler Support SDK\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -Copyright (c) 2008, 2020 Contributors to the Eclipse Foundation -\n\ -See the NOTICE file(s) distributed with this work for additional\n\ -information regarding copyright ownership.\n\ -\n\ -Visit http://www.eclipse.org/cdt diff --git a/xlc/org.eclipse.cdt.xlc.sdk.branding/build.properties b/xlc/org.eclipse.cdt.xlc.sdk.branding/build.properties deleted file mode 100644 index f9952c2d349..00000000000 --- a/xlc/org.eclipse.cdt.xlc.sdk.branding/build.properties +++ /dev/null @@ -1,23 +0,0 @@ -############################################################################### -# Copyright (c) 2005, 2009 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = about.html,\ - about.ini,\ - about.mappings,\ - about.properties,\ - notice.html,\ - plugin.properties,\ - epl-v20.html,\ - META-INF/,\ - cdt_logo_icon32.png -src.includes = about.html diff --git a/xlc/org.eclipse.cdt.xlc.sdk.branding/cdt_logo_icon32.png b/xlc/org.eclipse.cdt.xlc.sdk.branding/cdt_logo_icon32.png deleted file mode 100644 index 470ca81b327..00000000000 Binary files a/xlc/org.eclipse.cdt.xlc.sdk.branding/cdt_logo_icon32.png and /dev/null differ diff --git a/xlc/org.eclipse.cdt.xlc.sdk.branding/epl-v20.html b/xlc/org.eclipse.cdt.xlc.sdk.branding/epl-v20.html deleted file mode 100644 index 008b8018db8..00000000000 --- a/xlc/org.eclipse.cdt.xlc.sdk.branding/epl-v20.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

    Eclipse Foundation Software User Agreement

    -

    November 22, 2017

    - -

    Usage Of Content

    - -

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, - INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY - THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS - GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY - APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS - AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE - AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT - USE THE CONTENT.

    - -

    Applicable Licenses

    - -

    - Unless otherwise indicated, all Content made available by the Eclipse - Foundation is provided to you under the terms and conditions of the - Eclipse Public License Version 2.0 ("EPL"). A copy of the - EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    Content includes, but is not limited to, source code, object - code, documentation and other files maintained in the Eclipse - Foundation source code repository ("Repository") in software - modules ("Modules") and made available as downloadable - archives ("Downloads").

    - -
      -
    • Content may be structured and packaged into modules to - facilitate delivering, extending, and upgrading the Content. Typical - modules may include plug-ins ("Plug-ins"), plug-in - fragments ("Fragments"), and features - ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory - or JAR (Java™ ARchive) in a directory named - "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or - Fragments and associated material. Each Feature may be packaged as a - sub-directory in a directory named "features". Within a - Feature, files named "feature.xml" may contain a list of - the names and version numbers of the Plug-ins and/or Fragments - associated with that Feature.
    • -
    • Features may also include other Features ("Included - Features"). Within a Feature, files named - "feature.xml" may contain a list of the names and version - numbers of Included Features.
    • -
    - -

    The terms and conditions governing Plug-ins and Fragments should - be contained in files named "about.html" - ("Abouts"). The terms and conditions governing Features and - Included Features should be contained in files named - "license.html" ("Feature Licenses"). Abouts and - Feature Licenses may be located in any directory of a Download or - Module including, but not limited to the following locations:

    - -
      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of - certain Plug-ins
    • -
    • Feature directories
    • -
    - -

    Note: if a Feature made available by the Eclipse Foundation is - installed using the Provisioning Technology (as defined below), you - must agree to a license ("Feature Update License") during - the installation process. If the Feature contains Included Features, - the Feature Update License should either provide you with the terms - and conditions governing the Included Features or inform you where you - can locate them. Feature Update Licenses may be found in the - "license" property of files named - "feature.properties" found within a Feature. Such Abouts, - Feature Licenses, and Feature Update Licenses contain the terms and - conditions (or references to such terms and conditions) that govern - your use of the associated Content in that directory.

    - -

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY - REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND - CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT - ARE NOT LIMITED TO):

    - - - -

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND - CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, - or Feature Update License is provided, please contact the Eclipse - Foundation to determine what terms and conditions govern that - particular Content.

    - - -

    Use of Provisioning Technology

    - -

    - The Eclipse Foundation makes available provisioning software, examples - of which include, but are not limited to, p2 and the Eclipse Update - Manager ("Provisioning Technology") for the purpose of - allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This - capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about - packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification"). -

    - -

    You may use Provisioning Technology to allow other parties to - install Installable Software. You shall be responsible for enabling - the applicable license agreements relating to the Installable Software - to be presented to, and accepted by, the users of the Provisioning - Technology in accordance with the Specification. By using Provisioning - Technology in such a manner and making it available in accordance with - the Specification, you further acknowledge your agreement to, and the - acquisition of all necessary rights to permit the following:

    - -
      -
    1. A series of actions may occur ("Provisioning - Process") in which a user may execute the Provisioning - Technology on a machine ("Target Machine") with the intent - of installing, extending or updating the functionality of an - Eclipse-based product.
    2. -
    3. During the Provisioning Process, the Provisioning Technology - may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
    4. -
    5. Pursuant to the Specification, you will provide to the user - the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such - Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable - Software Agreement must inform the user of the terms and conditions - that govern the Installable Software and must solicit acceptance by - the end user in the manner prescribed in such Installable Software - Agreement. Upon such indication of agreement by the user, the - provisioning Technology will complete installation of the Installable - Software.
    6. -
    - -

    Cryptography

    - -

    Content may contain encryption software. The country in which - you are currently may have restrictions on the import, possession, and - use, and/or re-export to another country, of encryption software. - BEFORE using any encryption software, please check the country's laws, - regulations and policies concerning the import, possession, or use, - and re-export of encryption software, to see if this is permitted.

    - -

    - Java and all Java-based trademarks are trademarks of - Oracle Corporation in the United States, other countries, or both. -

    - - diff --git a/xlc/org.eclipse.cdt.xlc.sdk.branding/notice.html b/xlc/org.eclipse.cdt.xlc.sdk.branding/notice.html deleted file mode 100644 index 008b8018db8..00000000000 --- a/xlc/org.eclipse.cdt.xlc.sdk.branding/notice.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

    Eclipse Foundation Software User Agreement

    -

    November 22, 2017

    - -

    Usage Of Content

    - -

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, - INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY - THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS - GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY - APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED - BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS - AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE - AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT - USE THE CONTENT.

    - -

    Applicable Licenses

    - -

    - Unless otherwise indicated, all Content made available by the Eclipse - Foundation is provided to you under the terms and conditions of the - Eclipse Public License Version 2.0 ("EPL"). A copy of the - EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-2.0. - For purposes of the EPL, "Program" will mean the Content. -

    - -

    Content includes, but is not limited to, source code, object - code, documentation and other files maintained in the Eclipse - Foundation source code repository ("Repository") in software - modules ("Modules") and made available as downloadable - archives ("Downloads").

    - -
      -
    • Content may be structured and packaged into modules to - facilitate delivering, extending, and upgrading the Content. Typical - modules may include plug-ins ("Plug-ins"), plug-in - fragments ("Fragments"), and features - ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory - or JAR (Java™ ARchive) in a directory named - "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or - Fragments and associated material. Each Feature may be packaged as a - sub-directory in a directory named "features". Within a - Feature, files named "feature.xml" may contain a list of - the names and version numbers of the Plug-ins and/or Fragments - associated with that Feature.
    • -
    • Features may also include other Features ("Included - Features"). Within a Feature, files named - "feature.xml" may contain a list of the names and version - numbers of Included Features.
    • -
    - -

    The terms and conditions governing Plug-ins and Fragments should - be contained in files named "about.html" - ("Abouts"). The terms and conditions governing Features and - Included Features should be contained in files named - "license.html" ("Feature Licenses"). Abouts and - Feature Licenses may be located in any directory of a Download or - Module including, but not limited to the following locations:

    - -
      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of - certain Plug-ins
    • -
    • Feature directories
    • -
    - -

    Note: if a Feature made available by the Eclipse Foundation is - installed using the Provisioning Technology (as defined below), you - must agree to a license ("Feature Update License") during - the installation process. If the Feature contains Included Features, - the Feature Update License should either provide you with the terms - and conditions governing the Included Features or inform you where you - can locate them. Feature Update Licenses may be found in the - "license" property of files named - "feature.properties" found within a Feature. Such Abouts, - Feature Licenses, and Feature Update Licenses contain the terms and - conditions (or references to such terms and conditions) that govern - your use of the associated Content in that directory.

    - -

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY - REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND - CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT - ARE NOT LIMITED TO):

    - - - -

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND - CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, - or Feature Update License is provided, please contact the Eclipse - Foundation to determine what terms and conditions govern that - particular Content.

    - - -

    Use of Provisioning Technology

    - -

    - The Eclipse Foundation makes available provisioning software, examples - of which include, but are not limited to, p2 and the Eclipse Update - Manager ("Provisioning Technology") for the purpose of - allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This - capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about - packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification"). -

    - -

    You may use Provisioning Technology to allow other parties to - install Installable Software. You shall be responsible for enabling - the applicable license agreements relating to the Installable Software - to be presented to, and accepted by, the users of the Provisioning - Technology in accordance with the Specification. By using Provisioning - Technology in such a manner and making it available in accordance with - the Specification, you further acknowledge your agreement to, and the - acquisition of all necessary rights to permit the following:

    - -
      -
    1. A series of actions may occur ("Provisioning - Process") in which a user may execute the Provisioning - Technology on a machine ("Target Machine") with the intent - of installing, extending or updating the functionality of an - Eclipse-based product.
    2. -
    3. During the Provisioning Process, the Provisioning Technology - may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
    4. -
    5. Pursuant to the Specification, you will provide to the user - the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such - Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable - Software Agreement must inform the user of the terms and conditions - that govern the Installable Software and must solicit acceptance by - the end user in the manner prescribed in such Installable Software - Agreement. Upon such indication of agreement by the user, the - provisioning Technology will complete installation of the Installable - Software.
    6. -
    - -

    Cryptography

    - -

    Content may contain encryption software. The country in which - you are currently may have restrictions on the import, possession, and - use, and/or re-export to another country, of encryption software. - BEFORE using any encryption software, please check the country's laws, - regulations and policies concerning the import, possession, or use, - and re-export of encryption software, to see if this is permitted.

    - -

    - Java and all Java-based trademarks are trademarks of - Oracle Corporation in the United States, other countries, or both. -

    - - diff --git a/xlc/org.eclipse.cdt.xlc.sdk.branding/plugin.properties b/xlc/org.eclipse.cdt.xlc.sdk.branding/plugin.properties deleted file mode 100644 index b654c52e66c..00000000000 --- a/xlc/org.eclipse.cdt.xlc.sdk.branding/plugin.properties +++ /dev/null @@ -1,15 +0,0 @@ -############################################################################### -# Copyright (c) 2005, 2011 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -pluginName=C/C++ IBM XLC Compiler Support SDK -providerName=Eclipse CDT \ No newline at end of file diff --git a/xlc/pom.xml b/xlc/pom.xml deleted file mode 100644 index 0a6f4a786c0..00000000000 --- a/xlc/pom.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - 4.0.0 - - - org.eclipse.cdt - cdt-parent - 10.0.0-SNAPSHOT - - - org.eclipse.cdt.xlc-parent - pom -