Porting to NB7.2 and others improvements.
1.1 --- a/ada.editor/build.xml Tue Oct 02 21:55:21 2012 -0400
1.2 +++ b/ada.editor/build.xml Mon Oct 15 23:38:26 2012 +0200
1.3 @@ -7,72 +7,54 @@
1.4
1.5 <!-- SYNTAX LEXER GENERATOR -->
1.6 <taskdef name="jflex"
1.7 - classname="JFlex.anttask.JFlexTask"
1.8 - classpath="c:/jflex/jflex-1.4.2/lib/JFlex.jar" />
1.9 -
1.10 + classname="JFlex.anttask.JFlexTask"
1.11 + classpath="c:/jflex/jflex-1.4.3/lib/JFlex.jar" />
1.12
1.13 - <!-- SYNTAX LEXER GENERATOR -->
1.14 + <!-- SYNTAX LEXER GENERATOR -->
1.15 <target name="gen-lexer" description="Ada Syntax Lexer">
1.16 <echo message="Rebuilding Ada Syntax Lexer..."/>
1.17 - <jflex file="${basedir}/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95SyntaxLexer.flex"
1.18 + <jflex file="${basedir}/src/org/netbeans/modules/ada/editor/lexer/resources/AdaSyntaxLexer.flex"
1.19 destdir="${basedir}/src"
1.20 - skel="${basedir}/src/org/netbeans/modules/ada/editor/lexer/resources/SyntaxLexer.skeleton"
1.21 + skel="${basedir}/src/org/netbeans/modules/ada/editor/lexer/resources/AdaSyntaxLexer.skeleton"
1.22 />
1.23 </target>
1.24
1.25 -
1.26 <!-- AST LEXER GENERATOR -->
1.27 <target name="gen-astlexer" description="Ada AST Lexer">
1.28 <echo message="Rebuilding Ada AST Lexer..."/>
1.29 - <jflex file="${basedir}/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95ASTLexer.flex"
1.30 + <jflex file="${basedir}/src/org/netbeans/modules/ada/editor/lexer/resources/AdaASTLexer.flex"
1.31 destdir="${basedir}/src"
1.32 - skel="${basedir}/src/org/netbeans/modules/ada/editor/lexer/resources/ASTLexer.skeleton"
1.33 + skel="${basedir}/src/org/netbeans/modules/ada/editor/lexer/resources/AdaASTLexer.skeleton"
1.34 />
1.35 </target>
1.36
1.37 -
1.38 <!-- JAVACUP HANDLER -->
1.39 <taskdef name="javacup"
1.40 classname="java_cup.anttask.CUPTask"
1.41 classpath="${nb_all}/libs.javacup/external/java-cup-11a.jar" />
1.42 -
1.43 +
1.44 <!-- BASE PARSER GENERATOR -->
1.45 - <target name="gen-base-parser" description="Ada Parser baseline">
1.46 + <target name="gen-base-parser" description="Ada Base Parser">
1.47 <echo message="Rebuilding Ada Parser..."/>
1.48 - <javacup srcfile="${basedir}/src/org/netbeans/modules/ada/editor/parser/resources/Ada95Parser.cup"
1.49 + <javacup srcfile="${basedir}/src/org/netbeans/modules/ada/editor/parser/resources/AdaBaseParser.cup"
1.50 destdir="${basedir}/src"
1.51 - parser="Ada95ASTParser"
1.52 - symbols="Ada95ASTSymbols"
1.53 + parser="AdaASTParser"
1.54 + symbols="AdaASTSymbols"
1.55 interface="on"
1.56 force="true"
1.57 />
1.58 </target>
1.59
1.60 <!-- AST PARSER GENERATOR -->
1.61 - <target name="gen-astparser" description="Ada AST Parser">
1.62 + <target name="gen-astparser" description="Ada AST Parser">
1.63 <echo message="Rebuilding Ada AST Parser..."/>
1.64 - <javacup srcfile="${basedir}/src/org/netbeans/modules/ada/editor/parser/resources/Ada95ASTParser.cup"
1.65 + <javacup srcfile="${basedir}/src/org/netbeans/modules/ada/editor/parser/resources/AdaASTParser.cup"
1.66 destdir="${basedir}/src"
1.67 - parser="Ada95ASTParser"
1.68 - symbols="Ada95ASTSymbols"
1.69 + parser="AdaASTParser"
1.70 + symbols="AdaASTSymbols"
1.71 interface="on"
1.72 force="true"
1.73 />
1.74 </target>
1.75
1.76 -<!--
1.77 - <target name="jar" depends="init,compile,jar-prep" unless="is.jar.uptodate">
1.78 - <taskdef name="gsfjar" classname="org.netbeans.modules.gsf.GsfJar" classpath="${nb_all}/contrib/gsf.api/anttask/gsfanttask.jar:${nbantext.jar}"/>
1.79 - <gsfjar jarfile="${cluster}/${module.jar}" compress="${build.package.compress}" index="${build.package.index}" manifest="${manifest.mf}" stamp="${cluster}/.lastModified">
1.80 - <fileset dir="${build.classes.dir}"/>
1.81 - </gsfjar>
1.82 - </target>
1.83 --->
1.84 - <target name="jar" depends="init,compile,jar-prep" unless="is.jar.uptodate">
1.85 - <taskdef name="csljar" classname="org.netbeans.modules.csl.CslJar" classpath="${nb_all}/csl.api/anttask/build/cslanttask.jar:${nbantext.jar}"/>
1.86 - <csljar jarfile="${cluster}/${module.jar}" compress="${build.package.compress}" index="${build.package.index}" manifest="${manifest.mf}" stamp="${cluster}/.lastModified">
1.87 - <fileset dir="${build.classes.dir}"/>
1.88 - </csljar>
1.89 - </target>
1.90 -
1.91 </project>
2.1 --- a/ada.editor/history.txt Tue Oct 02 21:55:21 2012 -0400
2.2 +++ b/ada.editor/history.txt Mon Oct 15 23:38:26 2012 +0200
2.3 @@ -1,32 +1,42 @@
2.4 -0.1.9: dd-mm-2009
2.5 +0.2.2: 11-10-2012
2.6 +- Porting to NB7.2 and others improvements.
2.7 +
2.8 +0.2.1: 12-08-2010
2.9 +- Updated modules dependencies version.
2.10 +
2.11 +0.2.0: 13-10-2009
2.12 +- Added the signing of the nbm file.
2.13 +
2.14 +0.1.9: 01-10-2009
2.15 - Migrates from GSF to CSL for new Parsing & Indexing API
2.16 +- Added improvements on ast parser.
2.17
2.18 0.1.8: 13-09-2009
2.19 -- Add improvements on ast parser, navigator, instant renamer.
2.20 -- Add others AST nodes.
2.21 +- Added improvements on ast parser, navigator, instant renamer.
2.22 +- Added others AST nodes.
2.23
2.24 0.1.7: 01-02-2009
2.25 -- Fix ada generic declaration.
2.26 -- Add improvements on ast parser, navigator, instant renamer.
2.27 -- Add others AST nodes.
2.28 +- Fixed ada generic declaration.
2.29 +- Added improvements on ast parser, navigator, instant renamer.
2.30 +- Added others AST nodes.
2.31
2.32 0.1.6: 05-01-2009
2.33 -- Fix string and char literal
2.34 +- Fixed string and char literal
2.35
2.36 0.1.5: 28-12-2008
2.37 -- Add improvements on ast parser, indexer and navigator.
2.38 +- Added improvements on ast parser, indexer and navigator.
2.39
2.40 0.1.4: 19-12-2008
2.41 -- Add improvements on ast parser, indexer and navigator.
2.42 +- Added improvements on ast parser, indexer and navigator.
2.43
2.44 0.1.3: 19-11-2008
2.45 -- Add initial instant renamer, indexer, occurences finder and navigator.
2.46 +- Added initial instant renamer, indexer, occurences finder and navigator.
2.47
2.48 0.1.2: 18-11-2008
2.49 -- Add initial code folding and semantic analyzer.
2.50 +- Added initial code folding and semantic analyzer.
2.51
2.52 0.1.1: 13-11-2008
2.53 -- Add initial formatter and indent operations
2.54 +- Added initial formatter and indent operations
2.55
2.56 0.1.0: 23-09-2008
2.57 - Initial, very alpha release.
3.1 --- a/ada.editor/manifest.mf Tue Oct 02 21:55:21 2012 -0400
3.2 +++ b/ada.editor/manifest.mf Mon Oct 15 23:38:26 2012 +0200
3.3 @@ -3,5 +3,5 @@
3.4 OpenIDE-Module: org.netbeans.modules.ada.editor
3.5 OpenIDE-Module-Layer: org/netbeans/modules/ada/editor/resources/layer.xml
3.6 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ada/editor/Bundle.properties
3.7 -OpenIDE-Module-Specification-Version: 0.1.10
3.8 +OpenIDE-Module-Specification-Version: 0.2.2
3.9
4.1 --- a/ada.editor/nbproject/project.properties Tue Oct 02 21:55:21 2012 -0400
4.2 +++ b/ada.editor/nbproject/project.properties Mon Oct 15 23:38:26 2012 +0200
4.3 @@ -1,10 +1,13 @@
4.4 auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.tab-size=8
4.5 auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.text-limit-width=80
4.6 auxiliary.org-netbeans-modules-editor-indent.CodeStyle.usedProfile=default
4.7 -javac.source=1.5
4.8 javac.compilerargs=-Xlint -Xlint:-serial
4.9 +javac.source=1.6
4.10 javadoc.arch=${basedir}/arch.xml
4.11
4.12 nbm.homepage=http://wiki.netbeans.org/Ada
4.13 nbm.module.author=Andrea Lucarelli
4.14 nbm.needs.restart=true
4.15 +
4.16 +keystore=nbproject/private/keystore
4.17 +nbm_alias=nbada
4.18 \ No newline at end of file
5.1 --- a/ada.editor/nbproject/project.xml Tue Oct 02 21:55:21 2012 -0400
5.2 +++ b/ada.editor/nbproject/project.xml Mon Oct 15 23:38:26 2012 +0200
5.3 @@ -6,21 +6,12 @@
5.4 <code-name-base>org.netbeans.modules.ada.editor</code-name-base>
5.5 <module-dependencies>
5.6 <dependency>
5.7 - <code-name-base>org.jdesktop.layout</code-name-base>
5.8 - <build-prerequisite/>
5.9 - <compile-dependency/>
5.10 - <run-dependency>
5.11 - <release-version>1</release-version>
5.12 - <specification-version>1.6.1</specification-version>
5.13 - </run-dependency>
5.14 - </dependency>
5.15 - <dependency>
5.16 <code-name-base>org.netbeans.api.annotations.common</code-name-base>
5.17 <build-prerequisite/>
5.18 <compile-dependency/>
5.19 <run-dependency>
5.20 <release-version>1</release-version>
5.21 - <specification-version>1.0.1</specification-version>
5.22 + <specification-version>1.14.1</specification-version>
5.23 </run-dependency>
5.24 </dependency>
5.25 <dependency>
5.26 @@ -29,7 +20,7 @@
5.27 <compile-dependency/>
5.28 <run-dependency>
5.29 <release-version>1</release-version>
5.30 - <specification-version>1.1</specification-version>
5.31 + <specification-version>1.14.1</specification-version>
5.32 </run-dependency>
5.33 </dependency>
5.34 <dependency>
5.35 @@ -37,7 +28,7 @@
5.36 <build-prerequisite/>
5.37 <compile-dependency/>
5.38 <run-dependency>
5.39 - <specification-version>0.1.7</specification-version>
5.40 + <specification-version>0.1.10</specification-version>
5.41 </run-dependency>
5.42 </dependency>
5.43 <dependency>
5.44 @@ -45,8 +36,8 @@
5.45 <build-prerequisite/>
5.46 <compile-dependency/>
5.47 <run-dependency>
5.48 - <release-version>1</release-version>
5.49 - <specification-version>1.9.2</specification-version>
5.50 + <release-version>2</release-version>
5.51 + <specification-version>2.28.1</specification-version>
5.52 </run-dependency>
5.53 </dependency>
5.54 <dependency>
5.55 @@ -55,7 +46,7 @@
5.56 <compile-dependency/>
5.57 <run-dependency>
5.58 <release-version>2</release-version>
5.59 - <specification-version>1.9</specification-version>
5.60 + <specification-version>1.28.1</specification-version>
5.61 </run-dependency>
5.62 </dependency>
5.63 <dependency>
5.64 @@ -64,7 +55,7 @@
5.65 <compile-dependency/>
5.66 <run-dependency>
5.67 <release-version>3</release-version>
5.68 - <specification-version>3.1</specification-version>
5.69 + <specification-version>3.24.1</specification-version>
5.70 </run-dependency>
5.71 </dependency>
5.72 <dependency>
5.73 @@ -73,7 +64,7 @@
5.74 <compile-dependency/>
5.75 <run-dependency>
5.76 <release-version>1</release-version>
5.77 - <specification-version>1.10.1</specification-version>
5.78 + <specification-version>1.26.1</specification-version>
5.79 </run-dependency>
5.80 </dependency>
5.81 <dependency>
5.82 @@ -82,16 +73,7 @@
5.83 <compile-dependency/>
5.84 <run-dependency>
5.85 <release-version>1</release-version>
5.86 - <specification-version>1.22.1</specification-version>
5.87 - </run-dependency>
5.88 - </dependency>
5.89 - <dependency>
5.90 - <code-name-base>org.netbeans.modules.editor.util</code-name-base>
5.91 - <build-prerequisite/>
5.92 - <compile-dependency/>
5.93 - <run-dependency>
5.94 - <release-version>1</release-version>
5.95 - <specification-version>1.25.1</specification-version>
5.96 + <specification-version>1.41.1</specification-version>
5.97 </run-dependency>
5.98 </dependency>
5.99 <dependency>
5.100 @@ -100,7 +82,7 @@
5.101 <compile-dependency/>
5.102 <run-dependency>
5.103 <release-version>2</release-version>
5.104 - <specification-version>1.29</specification-version>
5.105 + <specification-version>1.46.1</specification-version>
5.106 </run-dependency>
5.107 </dependency>
5.108 <dependency>
5.109 @@ -109,7 +91,7 @@
5.110 <compile-dependency/>
5.111 <run-dependency>
5.112 <release-version>1</release-version>
5.113 - <specification-version>1.10.1</specification-version>
5.114 + <specification-version>1.26.1</specification-version>
5.115 </run-dependency>
5.116 </dependency>
5.117 <dependency>
5.118 @@ -118,7 +100,7 @@
5.119 <compile-dependency/>
5.120 <run-dependency>
5.121 <release-version>1</release-version>
5.122 - <specification-version>1.26</specification-version>
5.123 + <specification-version>1.55.1</specification-version>
5.124 </run-dependency>
5.125 </dependency>
5.126 <dependency>
5.127 @@ -127,7 +109,24 @@
5.128 <compile-dependency/>
5.129 <run-dependency>
5.130 <release-version>1</release-version>
5.131 - <specification-version>1.19</specification-version>
5.132 + <specification-version>1.46.1</specification-version>
5.133 + </run-dependency>
5.134 + </dependency>
5.135 + <dependency>
5.136 + <code-name-base>org.netbeans.modules.queries</code-name-base>
5.137 + <build-prerequisite/>
5.138 + <compile-dependency/>
5.139 + <run-dependency>
5.140 + <release-version>1</release-version>
5.141 + <specification-version>1.28.1</specification-version>
5.142 + </run-dependency>
5.143 + </dependency>
5.144 + <dependency>
5.145 + <code-name-base>org.openide.actions</code-name-base>
5.146 + <build-prerequisite/>
5.147 + <compile-dependency/>
5.148 + <run-dependency>
5.149 + <specification-version>6.26.1</specification-version>
5.150 </run-dependency>
5.151 </dependency>
5.152 <dependency>
5.153 @@ -135,7 +134,7 @@
5.154 <build-prerequisite/>
5.155 <compile-dependency/>
5.156 <run-dependency>
5.157 - <specification-version>7.3.1</specification-version>
5.158 + <specification-version>7.46.1</specification-version>
5.159 </run-dependency>
5.160 </dependency>
5.161 <dependency>
5.162 @@ -143,7 +142,7 @@
5.163 <build-prerequisite/>
5.164 <compile-dependency/>
5.165 <run-dependency>
5.166 - <specification-version>7.11</specification-version>
5.167 + <specification-version>7.62.1</specification-version>
5.168 </run-dependency>
5.169 </dependency>
5.170 <dependency>
5.171 @@ -151,7 +150,7 @@
5.172 <build-prerequisite/>
5.173 <compile-dependency/>
5.174 <run-dependency>
5.175 - <specification-version>7.2</specification-version>
5.176 + <specification-version>7.37.1</specification-version>
5.177 </run-dependency>
5.178 </dependency>
5.179 <dependency>
5.180 @@ -159,7 +158,7 @@
5.181 <build-prerequisite/>
5.182 <compile-dependency/>
5.183 <run-dependency>
5.184 - <specification-version>7.7.1</specification-version>
5.185 + <specification-version>7.32.1</specification-version>
5.186 </run-dependency>
5.187 </dependency>
5.188 <dependency>
5.189 @@ -167,7 +166,7 @@
5.190 <build-prerequisite/>
5.191 <compile-dependency/>
5.192 <run-dependency>
5.193 - <specification-version>7.7</specification-version>
5.194 + <specification-version>7.28.1</specification-version>
5.195 </run-dependency>
5.196 </dependency>
5.197 <dependency>
5.198 @@ -175,7 +174,7 @@
5.199 <build-prerequisite/>
5.200 <compile-dependency/>
5.201 <run-dependency>
5.202 - <specification-version>6.21</specification-version>
5.203 + <specification-version>6.49.1</specification-version>
5.204 </run-dependency>
5.205 </dependency>
5.206 <dependency>
5.207 @@ -183,7 +182,15 @@
5.208 <build-prerequisite/>
5.209 <compile-dependency/>
5.210 <run-dependency>
5.211 - <specification-version>7.18.1</specification-version>
5.212 + <specification-version>8.25.1</specification-version>
5.213 + </run-dependency>
5.214 + </dependency>
5.215 + <dependency>
5.216 + <code-name-base>org.openide.util.lookup</code-name-base>
5.217 + <build-prerequisite/>
5.218 + <compile-dependency/>
5.219 + <run-dependency>
5.220 + <specification-version>8.15.1</specification-version>
5.221 </run-dependency>
5.222 </dependency>
5.223 <dependency>
5.224 @@ -191,7 +198,7 @@
5.225 <build-prerequisite/>
5.226 <compile-dependency/>
5.227 <run-dependency>
5.228 - <specification-version>6.24</specification-version>
5.229 + <specification-version>6.55.1</specification-version>
5.230 </run-dependency>
5.231 </dependency>
5.232 </module-dependencies>
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/AdaCookieProvider.java Mon Oct 15 23:38:26 2012 +0200
6.3 @@ -0,0 +1,86 @@
6.4 +/*
6.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
6.6 + *
6.7 + * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
6.8 + *
6.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
6.10 + * Other names may be trademarks of their respective owners.
6.11 + *
6.12 + * The contents of this file are subject to the terms of either the GNU
6.13 + * General Public License Version 2 only ("GPL") or the Common
6.14 + * Development and Distribution License("CDDL") (collectively, the
6.15 + * "License"). You may not use this file except in compliance with the
6.16 + * License. You can obtain a copy of the License at
6.17 + * http://www.netbeans.org/cddl-gplv2.html
6.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
6.19 + * specific language governing permissions and limitations under the
6.20 + * License. When distributing the software, include this License Header
6.21 + * Notice in each file and include the License file at
6.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
6.23 + * particular file as subject to the "Classpath" exception as provided
6.24 + * by Oracle in the GPL Version 2 section of the License file that
6.25 + * accompanied this code. If applicable, add the following below the
6.26 + * License Header, with the fields enclosed by brackets [] replaced by
6.27 + * your own identifying information:
6.28 + * "Portions Copyrighted [year] [name of copyright owner]"
6.29 + *
6.30 + * If you wish your version of this file to be governed by only the CDDL
6.31 + * or only the GPL Version 2, indicate your decision by adding
6.32 + * "[Contributor] elects to include this software in this distribution
6.33 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
6.34 + * single choice of license, a recipient has the option to distribute
6.35 + * your version of this file under either the CDDL, the GPL Version 2 or
6.36 + * to extend the choice of license to its licensees as provided above.
6.37 + * However, if you add GPL Version 2 code and therefore, elected the GPL
6.38 + * Version 2 license, then the option applies only if the new code is
6.39 + * made subject to such option by the copyright holder.
6.40 + *
6.41 + * Contributor(s):
6.42 + *
6.43 + * Portions Copyrighted 2009 Sun Microsystems, Inc.
6.44 + */
6.45 +package org.netbeans.modules.ada.editor;
6.46 +
6.47 +import java.util.Collection;
6.48 +import org.openide.loaders.DataObject;
6.49 +import org.openide.util.Lookup;
6.50 +import org.openide.util.lookup.InstanceContent;
6.51 +
6.52 +/**
6.53 + * Some CND components, like <code>cnd.editor</code> or
6.54 + * <code>cnd.api.project</code> system bridge, want specific cookies in the
6.55 + * C/C++ data objects. Such components should implement their own
6.56 + * {@link AdaCookieProvider}. <code>cnd.source</code> should not depend
6.57 + * on other CND modules.
6.58 + *
6.59 + * @author Alexey Vladykin
6.60 + */
6.61 +public abstract class AdaCookieProvider {
6.62 +
6.63 + public abstract void addLookup(DataObject dao, InstanceContent ic);
6.64 +
6.65 + private static AdaCookieProvider DEFAULT;
6.66 +
6.67 + public static synchronized AdaCookieProvider getDefault() {
6.68 + if (DEFAULT == null) {
6.69 + DEFAULT = new Default();
6.70 + }
6.71 + return DEFAULT;
6.72 + }
6.73 +
6.74 + private static final class Default extends AdaCookieProvider {
6.75 +
6.76 + private final Collection<? extends AdaCookieProvider> providers;
6.77 +
6.78 + public Default() {
6.79 + providers = Lookup.getDefault().lookupAll(AdaCookieProvider.class);
6.80 + }
6.81 +
6.82 + @Override
6.83 + public void addLookup(DataObject dao, InstanceContent ic) {
6.84 + for (AdaCookieProvider provider : providers) {
6.85 + provider.addLookup(dao, ic);
6.86 + }
6.87 + }
6.88 + }
6.89 +}
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
7.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/AdaDataLoader.java Mon Oct 15 23:38:26 2012 +0200
7.3 @@ -0,0 +1,72 @@
7.4 +/*
7.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
7.6 + *
7.7 + * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
7.8 + *
7.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
7.10 + * Other names may be trademarks of their respective owners.
7.11 + *
7.12 + * The contents of this file are subject to the terms of either the GNU
7.13 + * General Public License Version 2 only ("GPL") or the Common
7.14 + * Development and Distribution License("CDDL") (collectively, the
7.15 + * "License"). You may not use this file except in compliance with the
7.16 + * License. You can obtain a copy of the License at
7.17 + * http://www.netbeans.org/cddl-gplv2.html
7.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
7.19 + * specific language governing permissions and limitations under the
7.20 + * License. When distributing the software, include this License Header
7.21 + * Notice in each file and include the License file at
7.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
7.23 + * particular file as subject to the "Classpath" exception as provided
7.24 + * by Oracle in the GPL Version 2 section of the License file that
7.25 + * accompanied this code. If applicable, add the following below the
7.26 + * License Header, with the fields enclosed by brackets [] replaced by
7.27 + * your own identifying information:
7.28 + * "Portions Copyrighted [year] [name of copyright owner]"
7.29 + *
7.30 + * Contributor(s):
7.31 + *
7.32 + * The Original Software is NetBeans. The Initial Developer of the Original
7.33 + * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
7.34 + * Microsystems, Inc. All Rights Reserved.
7.35 + *
7.36 + * If you wish your version of this file to be governed by only the CDDL
7.37 + * or only the GPL Version 2, indicate your decision by adding
7.38 + * "[Contributor] elects to include this software in this distribution
7.39 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
7.40 + * single choice of license, a recipient has the option to distribute
7.41 + * your version of this file under either the CDDL, the GPL Version 2 or
7.42 + * to extend the choice of license to its licensees as provided above.
7.43 + * However, if you add GPL Version 2 code and therefore, elected the GPL
7.44 + * Version 2 license, then the option applies only if the new code is
7.45 + * made subject to such option by the copyright holder.
7.46 + */
7.47 +package org.netbeans.modules.ada.editor;
7.48 +
7.49 +import java.io.IOException;
7.50 +
7.51 +import org.openide.filesystems.FileObject;
7.52 +import org.openide.loaders.DataObjectExistsException;
7.53 +import org.openide.loaders.MultiDataObject;
7.54 +
7.55 +/**
7.56 + *
7.57 + * @author Alexander Simon
7.58 + */
7.59 +public class AdaDataLoader extends SourceAbstractDataLoader {
7.60 +
7.61 +
7.62 + public AdaDataLoader() {
7.63 + super("org.netbeans.modules.ada.editor.AdaDataObject"); // NOI18N
7.64 + }
7.65 +
7.66 + @Override
7.67 + protected String getMimeType() {
7.68 + return AdaMimeResolver.ADA_MIME_TYPE;
7.69 + }
7.70 +
7.71 + @Override
7.72 + protected MultiDataObject createMultiObject(FileObject primaryFile) throws DataObjectExistsException, IOException {
7.73 + return new AdaDataObject(primaryFile, this);
7.74 + }
7.75 +}
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
8.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/AdaDataNode.java Mon Oct 15 23:38:26 2012 +0200
8.3 @@ -0,0 +1,163 @@
8.4 +/*
8.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
8.6 + *
8.7 + * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
8.8 + *
8.9 + * The contents of this file are subject to the terms of either the GNU
8.10 + * General Public License Version 2 only ("GPL") or the Common
8.11 + * Development and Distribution License("CDDL") (collectively, the
8.12 + * "License"). You may not use this file except in compliance with the
8.13 + * License. You can obtain a copy of the License at
8.14 + * http://www.netbeans.org/cddl-gplv2.html
8.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
8.16 + * specific language governing permissions and limitations under the
8.17 + * License. When distributing the software, include this License Header
8.18 + * Notice in each file and include the License file at
8.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
8.20 + * particular file as subject to the "Classpath" exception as provided
8.21 + * by Sun in the GPL Version 2 section of the License file that
8.22 + * accompanied this code. If applicable, add the following below the
8.23 + * License Header, with the fields enclosed by brackets [] replaced by
8.24 + * your own identifying information:
8.25 + * "Portions Copyrighted [year] [name of copyright owner]"
8.26 + *
8.27 + * If you wish your version of this file to be governed by only the CDDL
8.28 + * or only the GPL Version 2, indicate your decision by adding
8.29 + * "[Contributor] elects to include this software in this distribution
8.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
8.31 + * single choice of license, a recipient has the option to distribute
8.32 + * your version of this file under either the CDDL, the GPL Version 2 or
8.33 + * to extend the choice of license to its licensees as provided above.
8.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
8.35 + * Version 2 license, then the option applies only if the new code is
8.36 + * made subject to such option by the copyright holder.
8.37 + *
8.38 + * Contributor(s):
8.39 + *
8.40 + * Portions Copyrighted 2009 Sun Microsystems, Inc.
8.41 + */
8.42 +package org.netbeans.modules.ada.editor;
8.43 +
8.44 +import java.awt.Image;
8.45 +import java.text.DateFormat;
8.46 +import org.openide.filesystems.FileAttributeEvent;
8.47 +import org.openide.filesystems.FileChangeListener;
8.48 +import org.openide.filesystems.FileEvent;
8.49 +import org.openide.filesystems.FileRenameEvent;
8.50 +import org.openide.loaders.DataNode;
8.51 +import org.openide.loaders.DataObject;
8.52 +import org.openide.nodes.FilterNode.Children;
8.53 +import org.openide.util.ImageUtilities;
8.54 +import org.openide.util.Lookup;
8.55 +
8.56 +/**
8.57 + *
8.58 + * @author Andrea Lucarelli
8.59 + */
8.60 +public class AdaDataNode extends SourceDataNode implements FileChangeListener {
8.61 +
8.62 + private static final String ADS_ICON = "/org/netbeans/modules/ada/editor/resources/icons/ads-16.png";
8.63 + private static final String ADB_ICON = "/org/netbeans/modules/ada/editor/resources/icons/adb-16.png";
8.64 + private static final String ADA_SPEC_ICON = "/org/netbeans/modules/ada/editor/resources/icons/ada-spec-16.png";
8.65 + private static final String ADA_BODY_ICON = "/org/netbeans/modules/ada/editor/resources/icons/ada-body-16.png";
8.66 + private AdaDataObject obj;
8.67 + private String displayName;
8.68 + private String tooltip;
8.69 + private Image icon;
8.70 +
8.71 + public AdaDataNode(SourceDataObject obj) {
8.72 + super(obj, obj.getLookup(), ADS_ICON);
8.73 + //Add file change listener to the FileObject:
8.74 + //obj.getPrimaryFile().addFileChangeListener(this);
8.75 + //Set default icon:
8.76 + if (obj.getPrimaryFile().getExt().equalsIgnoreCase("ads")) {
8.77 + setIconBaseWithExtension(ADS_ICON);
8.78 + icon = ImageUtilities.loadImage(ADS_ICON);
8.79 + } else if (obj.getPrimaryFile().getExt().equalsIgnoreCase("adb")) {
8.80 + setIconBaseWithExtension(ADB_ICON);
8.81 + icon = ImageUtilities.loadImage(ADB_ICON);
8.82 + } else {
8.83 + // TODO: manage the contents for set the icon
8.84 + setIconBaseWithExtension(ADA_SPEC_ICON);
8.85 + icon = ImageUtilities.loadImage(ADA_SPEC_ICON);
8.86 + }
8.87 +
8.88 + //Set default tooltip:
8.89 + tooltip = obj.getPrimaryFile().getNameExt();
8.90 + setShortDescription (tooltip);
8.91 + }
8.92 +
8.93 + @Override
8.94 + public String getDisplayName() {
8.95 + if (null != displayName) {
8.96 + return displayName;
8.97 + }
8.98 + return super.getDisplayName();
8.99 + }
8.100 +
8.101 + @Override
8.102 + public String getShortDescription() {
8.103 + if (null != tooltip) {
8.104 + return tooltip;
8.105 + }
8.106 + return super.getShortDescription();
8.107 + }
8.108 +
8.109 + @Override
8.110 + public Image getIcon(int arg0) {
8.111 + if (null != icon) {
8.112 + return icon;
8.113 + }
8.114 + return super.getIcon(arg0);
8.115 + }
8.116 +
8.117 + //When the file changes...
8.118 + @Override
8.119 + public void fileChanged(FileEvent arg0) {
8.120 +
8.121 + //Get the milliseconds and format it:
8.122 + long mills = System.currentTimeMillis();
8.123 + DateFormat dateFormatter = DateFormat.getDateTimeInstance(
8.124 + DateFormat.LONG,
8.125 + DateFormat.LONG);
8.126 + String formatted = dateFormatter.format(mills);
8.127 +
8.128 + //Save the current display name:
8.129 + String oldDisplayName = displayName;
8.130 +
8.131 + //Save the current tooltip:
8.132 + String oldShortDescription = tooltip;
8.133 +
8.134 + //Set the new display name:
8.135 + displayName = "Change (" + formatted + ")";
8.136 +
8.137 + //Set the new tooltip:
8.138 + tooltip = formatted;
8.139 +
8.140 + //Fire change events on the node,
8.141 + //which will immediately refresh it with the new values:
8.142 + fireDisplayNameChange(oldDisplayName, displayName);
8.143 + fireShortDescriptionChange(oldShortDescription, tooltip);
8.144 + fireIconChange();
8.145 + }
8.146 +
8.147 + @Override
8.148 + public void fileFolderCreated(FileEvent arg0) {
8.149 + }
8.150 +
8.151 + @Override
8.152 + public void fileDataCreated(FileEvent arg0) {
8.153 + }
8.154 +
8.155 + @Override
8.156 + public void fileDeleted(FileEvent arg0) {
8.157 + }
8.158 +
8.159 + @Override
8.160 + public void fileRenamed(FileRenameEvent arg0) {
8.161 + }
8.162 +
8.163 + @Override
8.164 + public void fileAttributeChanged(FileAttributeEvent arg0) {
8.165 + }
8.166 +}
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
9.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/AdaDataObject.java Mon Oct 15 23:38:26 2012 +0200
9.3 @@ -0,0 +1,66 @@
9.4 +/*
9.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
9.6 + *
9.7 + * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
9.8 + *
9.9 + * The contents of this file are subject to the terms of either the GNU
9.10 + * General Public License Version 2 only ("GPL") or the Common
9.11 + * Development and Distribution License("CDDL") (collectively, the
9.12 + * "License"). You may not use this file except in compliance with the
9.13 + * License. You can obtain a copy of the License at
9.14 + * http://www.netbeans.org/cddl-gplv2.html
9.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
9.16 + * specific language governing permissions and limitations under the
9.17 + * License. When distributing the software, include this License Header
9.18 + * Notice in each file and include the License file at
9.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
9.20 + * particular file as subject to the "Classpath" exception as provided
9.21 + * by Sun in the GPL Version 2 section of the License file that
9.22 + * accompanied this code. If applicable, add the following below the
9.23 + * License Header, with the fields enclosed by brackets [] replaced by
9.24 + * your own identifying information:
9.25 + * "Portions Copyrighted [year] [name of copyright owner]"
9.26 + *
9.27 + * If you wish your version of this file to be governed by only the CDDL
9.28 + * or only the GPL Version 2, indicate your decision by adding
9.29 + * "[Contributor] elects to include this software in this distribution
9.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
9.31 + * single choice of license, a recipient has the option to distribute
9.32 + * your version of this file under either the CDDL, the GPL Version 2 or
9.33 + * to extend the choice of license to its licensees as provided above.
9.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
9.35 + * Version 2 license, then the option applies only if the new code is
9.36 + * made subject to such option by the copyright holder.
9.37 + *
9.38 + * Contributor(s):
9.39 + *
9.40 + * Portions Copyrighted 2009 Sun Microsystems, Inc.
9.41 + */
9.42 +package org.netbeans.modules.ada.editor;
9.43 +
9.44 +import java.io.IOException;
9.45 +import org.openide.filesystems.FileObject;
9.46 +import org.openide.loaders.DataObjectExistsException;
9.47 +import org.openide.loaders.MultiDataObject;
9.48 +import org.openide.loaders.MultiFileLoader;
9.49 +import org.openide.nodes.CookieSet;
9.50 +import org.openide.nodes.Node;
9.51 +import org.openide.util.Lookup;
9.52 +import org.openide.text.DataEditorSupport;
9.53 +
9.54 +/**
9.55 + *
9.56 + * @author Andrea Lucarelli
9.57 + */
9.58 +public class AdaDataObject extends SourceDataObject {
9.59 +
9.60 + public AdaDataObject(FileObject pf, SourceAbstractDataLoader loader)
9.61 + throws DataObjectExistsException {
9.62 + super(pf, loader);
9.63 + }
9.64 +
9.65 + @Override
9.66 + protected Node createNodeDelegate() {
9.67 + return new AdaDataNode(this);
9.68 + }
9.69 +}
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
10.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/AdaEditorSupport.java Mon Oct 15 23:38:26 2012 +0200
10.3 @@ -0,0 +1,181 @@
10.4 +/*
10.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
10.6 + *
10.7 + * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
10.8 + *
10.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
10.10 + * Other names may be trademarks of their respective owners.
10.11 + *
10.12 + * The contents of this file are subject to the terms of either the GNU
10.13 + * General Public License Version 2 only ("GPL") or the Common
10.14 + * Development and Distribution License("CDDL") (collectively, the
10.15 + * "License"). You may not use this file except in compliance with the
10.16 + * License. You can obtain a copy of the License at
10.17 + * http://www.netbeans.org/cddl-gplv2.html
10.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
10.19 + * specific language governing permissions and limitations under the
10.20 + * License. When distributing the software, include this License Header
10.21 + * Notice in each file and include the License file at
10.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
10.23 + * particular file as subject to the "Classpath" exception as provided
10.24 + * by Oracle in the GPL Version 2 section of the License file that
10.25 + * accompanied this code. If applicable, add the following below the
10.26 + * License Header, with the fields enclosed by brackets [] replaced by
10.27 + * your own identifying information:
10.28 + * "Portions Copyrighted [year] [name of copyright owner]"
10.29 + *
10.30 + * Contributor(s):
10.31 + *
10.32 + * The Original Software is NetBeans. The Initial Developer of the Original
10.33 + * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
10.34 + * Microsystems, Inc. All Rights Reserved.
10.35 + *
10.36 + * If you wish your version of this file to be governed by only the CDDL
10.37 + * or only the GPL Version 2, indicate your decision by adding
10.38 + * "[Contributor] elects to include this software in this distribution
10.39 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
10.40 + * single choice of license, a recipient has the option to distribute
10.41 + * your version of this file under either the CDDL, the GPL Version 2 or
10.42 + * to extend the choice of license to its licensees as provided above.
10.43 + * However, if you add GPL Version 2 code and therefore, elected the GPL
10.44 + * Version 2 license, then the option applies only if the new code is
10.45 + * made subject to such option by the copyright holder.
10.46 + */
10.47 +package org.netbeans.modules.ada.editor;
10.48 +
10.49 +// This file was initially based on org.netbeans.modules.java.JavaEditor
10.50 +// (Rev 61)
10.51 +import java.io.IOException;
10.52 +
10.53 +import org.openide.loaders.DataObject;
10.54 +import org.openide.cookies.CloseCookie;
10.55 +import org.openide.cookies.EditCookie;
10.56 +import org.openide.cookies.EditorCookie;
10.57 +import org.openide.cookies.OpenCookie;
10.58 +import org.openide.cookies.PrintCookie;
10.59 +import org.openide.cookies.SaveCookie;
10.60 +import org.openide.filesystems.FileLock;
10.61 +import org.openide.filesystems.FileObject;
10.62 +import org.openide.loaders.MultiDataObject;
10.63 +import org.openide.text.DataEditorSupport;
10.64 +import org.openide.util.lookup.InstanceContent;
10.65 +import org.openide.windows.CloneableOpenSupport;
10.66 +
10.67 +/**
10.68 + * C/C++/Fortran source-file extension for handling the Editor.
10.69 + * If we plan to use guarded sections, we'd need to implement that
10.70 + * here. For now, this is used to get toggle-breakpoint behavior.
10.71 + */
10.72 +public class AdaEditorSupport extends DataEditorSupport implements EditCookie,
10.73 + EditorCookie, EditorCookie.Observable, OpenCookie, CloseCookie, PrintCookie, ReadOnlySupport {
10.74 +
10.75 + /** SaveCookie for this support instance. The cookie is adding/removing
10.76 + * data object's cookie set depending on if modification flag was set/unset. */
10.77 + private final SaveCookie saveCookie = new SaveCookie() {
10.78 +
10.79 + /** Implements <code>SaveCookie</code> interface. */
10.80 + @Override
10.81 + public void save() throws IOException {
10.82 + AdaEditorSupport.this.saveDocument();
10.83 + AdaEditorSupport.this.getDataObject().setModified(false);
10.84 + }
10.85 + };
10.86 +
10.87 + private final InstanceContent ic;
10.88 + private boolean readonly;
10.89 +
10.90 + /**
10.91 + * Create a new Editor support for the given C/C++/Fortran source.
10.92 + * @param entry The (primary) file entry representing the C/C++/f95 source file
10.93 + */
10.94 + public AdaEditorSupport(SourceDataObject obj) {
10.95 + super(obj, new Environment(obj));
10.96 + this.ic = obj.getInstanceContent();
10.97 + }
10.98 +
10.99 + /**
10.100 + * Overrides superclass method. Adds adding of save cookie if the document has been marked modified.
10.101 + * @return true if the environment accepted being marked as modified
10.102 + * or false if it has refused and the document should remain unmodified
10.103 + */
10.104 + @Override
10.105 + protected boolean notifyModified() {
10.106 + if (!super.notifyModified()) {
10.107 + return false;
10.108 + }
10.109 +
10.110 + addSaveCookie();
10.111 +
10.112 + return true;
10.113 + }
10.114 +
10.115 + /** Overrides superclass method. Adds removing of save cookie. */
10.116 + @Override
10.117 + protected void notifyUnmodified() {
10.118 + super.notifyUnmodified();
10.119 +
10.120 + removeSaveCookie();
10.121 + }
10.122 +
10.123 + @Override
10.124 + protected boolean asynchronousOpen() {
10.125 + return true;
10.126 + }
10.127 +
10.128 + /** Helper method. Adds save cookie to the data object. */
10.129 + private void addSaveCookie() {
10.130 + // Adds save cookie to the data object.
10.131 + ic.add(saveCookie);
10.132 + }
10.133 +
10.134 + /** Helper method. Removes save cookie from the data object. */
10.135 + private void removeSaveCookie() {
10.136 + // Remove save cookie from the data object.
10.137 + ic.remove(saveCookie);
10.138 + }
10.139 +
10.140 + @Override
10.141 + public boolean isReadOnly() {
10.142 + return readonly;
10.143 + }
10.144 +
10.145 + @Override
10.146 + public void setReadOnly(boolean readOnly) {
10.147 + this.readonly = readOnly;
10.148 + }
10.149 +
10.150 + /** Nested class. Environment for this support. Extends <code>DataEditorSupport.Env</code> abstract class. */
10.151 + private static class Environment extends DataEditorSupport.Env {
10.152 +
10.153 + /** Constructor. */
10.154 + public Environment(DataObject obj) {
10.155 + super(obj);
10.156 + }
10.157 +
10.158 + /** Implements abstract superclass method. */
10.159 + @Override
10.160 + protected FileObject getFile() {
10.161 + return getDataObject().getPrimaryFile();
10.162 + }
10.163 +
10.164 + /** Implements abstract superclass method.*/
10.165 + @Override
10.166 + protected FileLock takeLock() throws IOException {
10.167 + ReadOnlySupport readOnly = getDataObject().getLookup().lookup(ReadOnlySupport.class);
10.168 + if (readOnly != null && readOnly.isReadOnly()) {
10.169 + throw new IOException(); // for read only state method must throw IOException
10.170 + } else {
10.171 + return ((MultiDataObject) getDataObject()).getPrimaryEntry().takeLock();
10.172 + }
10.173 + }
10.174 +
10.175 + /**
10.176 + * Overrides superclass method.
10.177 + * @return text editor support (instance of enclosing class)
10.178 + */
10.179 + @Override
10.180 + public CloneableOpenSupport findCloneableOpenSupport() {
10.181 + return getDataObject().getCookie(AdaEditorSupport.class);
10.182 + }
10.183 + } // End of nested Environment class.
10.184 +}
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
11.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/AdaEditorSupportProvider.java Mon Oct 15 23:38:26 2012 +0200
11.3 @@ -0,0 +1,85 @@
11.4 +/*
11.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
11.6 + *
11.7 + * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
11.8 + *
11.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
11.10 + * Other names may be trademarks of their respective owners.
11.11 + *
11.12 + * The contents of this file are subject to the terms of either the GNU
11.13 + * General Public License Version 2 only ("GPL") or the Common
11.14 + * Development and Distribution License("CDDL") (collectively, the
11.15 + * "License"). You may not use this file except in compliance with the
11.16 + * License. You can obtain a copy of the License at
11.17 + * http://www.netbeans.org/cddl-gplv2.html
11.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
11.19 + * specific language governing permissions and limitations under the
11.20 + * License. When distributing the software, include this License Header
11.21 + * Notice in each file and include the License file at
11.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
11.23 + * particular file as subject to the "Classpath" exception as provided
11.24 + * by Oracle in the GPL Version 2 section of the License file that
11.25 + * accompanied this code. If applicable, add the following below the
11.26 + * License Header, with the fields enclosed by brackets [] replaced by
11.27 + * your own identifying information:
11.28 + * "Portions Copyrighted [year] [name of copyright owner]"
11.29 + *
11.30 + * If you wish your version of this file to be governed by only the CDDL
11.31 + * or only the GPL Version 2, indicate your decision by adding
11.32 + * "[Contributor] elects to include this software in this distribution
11.33 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
11.34 + * single choice of license, a recipient has the option to distribute
11.35 + * your version of this file under either the CDDL, the GPL Version 2 or
11.36 + * to extend the choice of license to its licensees as provided above.
11.37 + * However, if you add GPL Version 2 code and therefore, elected the GPL
11.38 + * Version 2 license, then the option applies only if the new code is
11.39 + * made subject to such option by the copyright holder.
11.40 + *
11.41 + * Contributor(s):
11.42 + *
11.43 + * Portions Copyrighted 2009 Sun Microsystems, Inc.
11.44 + */
11.45 +
11.46 +package org.netbeans.modules.ada.editor;
11.47 +
11.48 +import org.openide.loaders.DataObject;
11.49 +import org.openide.util.lookup.InstanceContent;
11.50 +import org.openide.util.lookup.InstanceContent.Convertor;
11.51 +
11.52 +/**
11.53 + * @author Alexey Vladykin
11.54 + */
11.55 +public final class AdaEditorSupportProvider extends AdaCookieProvider {
11.56 + static final CppEditorSupportFactory staticFactory = new CppEditorSupportFactory();
11.57 +
11.58 + @Override
11.59 + public void addLookup(DataObject dao, InstanceContent ic) {
11.60 + SourceDataObject sdao = (SourceDataObject) dao;
11.61 + ic.add(sdao, staticFactory);
11.62 + }
11.63 +
11.64 + private static class CppEditorSupportFactory implements Convertor<SourceDataObject, AdaEditorSupport> {
11.65 + public CppEditorSupportFactory() {
11.66 + }
11.67 +
11.68 + @Override
11.69 + public AdaEditorSupport convert(SourceDataObject obj) {
11.70 + return new AdaEditorSupport(obj);
11.71 + }
11.72 +
11.73 + @Override
11.74 + public Class<? extends AdaEditorSupport> type(SourceDataObject obj) {
11.75 + return AdaEditorSupport.class;
11.76 + }
11.77 +
11.78 + @Override
11.79 + public String id(SourceDataObject obj) {
11.80 + return AdaEditorSupport.class.getName()+obj.getPrimaryFile().getPath();
11.81 + }
11.82 +
11.83 + @Override
11.84 + public String displayName(SourceDataObject obj) {
11.85 + return id(obj);
11.86 + }
11.87 + }
11.88 +}
12.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
12.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/AdaEmbeddingProvider.java Mon Oct 15 23:38:26 2012 +0200
12.3 @@ -0,0 +1,141 @@
12.4 +/*
12.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
12.6 + *
12.7 + * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
12.8 + *
12.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
12.10 + * Other names may be trademarks of their respective owners.
12.11 + *
12.12 + * The contents of this file are subject to the terms of either the GNU
12.13 + * General Public License Version 2 only ("GPL") or the Common
12.14 + * Development and Distribution License("CDDL") (collectively, the
12.15 + * "License"). You may not use this file except in compliance with the
12.16 + * License. You can obtain a copy of the License at
12.17 + * http://www.netbeans.org/cddl-gplv2.html
12.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
12.19 + * specific language governing permissions and limitations under the
12.20 + * License. When distributing the software, include this License Header
12.21 + * Notice in each file and include the License file at
12.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
12.23 + * particular file as subject to the "Classpath" exception as provided
12.24 + * by Oracle in the GPL Version 2 section of the License file that
12.25 + * accompanied this code. If applicable, add the following below the
12.26 + * License Header, with the fields enclosed by brackets [] replaced by
12.27 + * your own identifying information:
12.28 + * "Portions Copyrighted [year] [name of copyright owner]"
12.29 + *
12.30 + * If you wish your version of this file to be governed by only the CDDL
12.31 + * or only the GPL Version 2, indicate your decision by adding
12.32 + * "[Contributor] elects to include this software in this distribution
12.33 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
12.34 + * single choice of license, a recipient has the option to distribute
12.35 + * your version of this file under either the CDDL, the GPL Version 2 or
12.36 + * to extend the choice of license to its licensees as provided above.
12.37 + * However, if you add GPL Version 2 code and therefore, elected the GPL
12.38 + * Version 2 license, then the option applies only if the new code is
12.39 + * made subject to such option by the copyright holder.
12.40 + *
12.41 + * Contributor(s):
12.42 + *
12.43 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
12.44 + */
12.45 +package org.netbeans.modules.ada.editor;
12.46 +
12.47 +import java.util.ArrayList;
12.48 +import java.util.Collection;
12.49 +import java.util.Collections;
12.50 +import java.util.List;
12.51 +import java.util.logging.Logger;
12.52 +import org.netbeans.api.lexer.Token;
12.53 +import org.netbeans.api.lexer.TokenHierarchy;
12.54 +import org.netbeans.api.lexer.TokenSequence;
12.55 +import org.netbeans.modules.parsing.api.Embedding;
12.56 +import org.netbeans.modules.parsing.api.Snapshot;
12.57 +import org.netbeans.modules.parsing.spi.EmbeddingProvider;
12.58 +import org.netbeans.modules.parsing.spi.SchedulerTask;
12.59 +import org.netbeans.modules.parsing.spi.TaskFactory;
12.60 +import org.netbeans.modules.ada.editor.lexer.AdaTokenId;
12.61 +
12.62 +/**
12.63 + * Provides model for html code
12.64 + *
12.65 + * @author Marek Fukala
12.66 + */
12.67 +public class AdaEmbeddingProvider extends EmbeddingProvider {
12.68 +
12.69 + public static final String GENERATED_CODE = "@@@"; //NOI18N
12.70 +
12.71 + @Override
12.72 + public List<Embedding> getEmbeddings(Snapshot snapshot) {
12.73 + TokenHierarchy<CharSequence> th = TokenHierarchy.create(snapshot.getText(), AdaTokenId.language());
12.74 + TokenSequence<AdaTokenId> sequence = th.tokenSequence(AdaTokenId.language());
12.75 +
12.76 + //issue #159775 logging >>>
12.77 + if(sequence == null) {
12.78 + Logger.getLogger("AdaEmbeddingProvider").warning(
12.79 + "TokenHierarchy.tokenSequence(AdaTokenId.language()) == null " +
12.80 + "for static immutable Ada TokenHierarchy!\nFile = '"+
12.81 + snapshot.getSource().getFileObject().getPath() +
12.82 + "' ;snapshot mimepath='" + snapshot.getMimePath() + "'");
12.83 +
12.84 + return Collections.emptyList();
12.85 + }
12.86 + //<<< end of the logging
12.87 +
12.88 + sequence.moveStart();
12.89 + List<Embedding> embeddings = new ArrayList<Embedding>();
12.90 +
12.91 + //marek (workaround): there seems to be a bug in parsing api - if I create
12.92 + //the embedding for each PHPTokenId.T_INLINE_HTML token separatelly then the offsets
12.93 + //translation is broken
12.94 + int from = -1;
12.95 + int len = 0;
12.96 + while (sequence.moveNext()) {
12.97 + Token t = sequence.token();
12.98 + if (t.id() == AdaTokenId.PACKAGE || t.id() == AdaTokenId.PROCEDURE || t.id() == AdaTokenId.FUNCTION) {
12.99 + if(from < 0) {
12.100 + from = sequence.offset();
12.101 + }
12.102 + len += t.length();
12.103 + } else {
12.104 + if(from >= 0) {
12.105 + //lets suppose the text is always html :-(
12.106 + embeddings.add(snapshot.create(from, len, "text/x-ada")); //NOI18N
12.107 + //add only one virtual generated token for a sequence of PHP tokens
12.108 + embeddings.add(snapshot.create(GENERATED_CODE, "text/x-ada"));
12.109 + }
12.110 +
12.111 + from = -1;
12.112 + len = 0;
12.113 + }
12.114 + }
12.115 +
12.116 + if(from >= 0) {
12.117 + embeddings.add(snapshot.create(from, len, "text/x-ada")); //NOI18N
12.118 + }
12.119 +
12.120 + if (embeddings.isEmpty()) {
12.121 + return Collections.emptyList();
12.122 + } else {
12.123 + return Collections.singletonList(Embedding.create(embeddings));
12.124 + }
12.125 + }
12.126 +
12.127 + @Override
12.128 + public int getPriority() {
12.129 + return 110;
12.130 + }
12.131 +
12.132 + @Override
12.133 + public void cancel() {
12.134 + //do nothing
12.135 + }
12.136 +
12.137 + public static final class Factory extends TaskFactory {
12.138 +
12.139 + @Override
12.140 + public Collection<SchedulerTask> create(final Snapshot snapshot) {
12.141 + return Collections.<SchedulerTask>singletonList(new AdaEmbeddingProvider());
12.142 + }
12.143 + }
12.144 +}
13.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/AdaLanguage.java Tue Oct 02 21:55:21 2012 -0400
13.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/AdaLanguage.java Mon Oct 15 23:38:26 2012 +0200
13.3 @@ -39,6 +39,8 @@
13.4
13.5 package org.netbeans.modules.ada.editor;
13.6
13.7 +import java.util.Collections;
13.8 +import java.util.Set;
13.9 import org.netbeans.modules.ada.editor.navigator.AdaInstantRenamer;
13.10 import org.netbeans.api.lexer.Language;
13.11 import org.netbeans.modules.ada.editor.formatter.AdaFormatter;
13.12 @@ -50,8 +52,7 @@
13.13 import org.netbeans.modules.ada.editor.parser.AdaStructureScanner;
13.14 import org.netbeans.modules.ada.editor.parser.AdaParser;
13.15 import org.netbeans.modules.ada.editor.parser.AdaSemanticAnalyzer;
13.16 -import org.netbeans.modules.csl.api.CodeCompletionHandler;
13.17 -import org.netbeans.modules.csl.api.CodeCompletionHandler;
13.18 +import org.netbeans.modules.ada.project.api.AdaSourcePath;
13.19 import org.netbeans.modules.csl.api.CodeCompletionHandler;
13.20 import org.netbeans.modules.csl.api.DeclarationFinder;
13.21 import org.netbeans.modules.csl.api.Formatter;
13.22 @@ -62,14 +63,18 @@
13.23 import org.netbeans.modules.csl.api.SemanticAnalyzer;
13.24 import org.netbeans.modules.csl.api.StructureScanner;
13.25 import org.netbeans.modules.csl.spi.DefaultLanguageConfig;
13.26 +import org.netbeans.modules.csl.spi.LanguageRegistration;
13.27 import org.netbeans.modules.parsing.spi.Parser;
13.28 import org.netbeans.modules.parsing.spi.indexing.EmbeddingIndexerFactory;
13.29 +import org.netbeans.modules.parsing.spi.indexing.PathRecognizerRegistration;
13.30
13.31
13.32 /**
13.33 *
13.34 * @author Andrea Lucarelli
13.35 */
13.36 +@LanguageRegistration(mimeType="text/x-ada") //NOI18N
13.37 +@PathRecognizerRegistration(mimeTypes="text/x-ada", sourcePathIds=AdaSourcePath.SOURCE_CP, libraryPathIds=AdaSourcePath.BOOT_CP, binaryLibraryPathIds={}) //NOI18N
13.38 public class AdaLanguage extends DefaultLanguageConfig {
13.39
13.40 public AdaLanguage() {
13.41 @@ -161,4 +166,14 @@
13.42 return new AdaInstantRenamer();
13.43 }
13.44
13.45 + @Override
13.46 + public Set<String> getLibraryPathIds() {
13.47 + return Collections.singleton(AdaSourcePath.BOOT_CP);
13.48 + }
13.49 +
13.50 + @Override
13.51 + public Set<String> getSourcePathIds() {
13.52 + return Collections.singleton(AdaSourcePath.SOURCE_CP);
13.53 + }
13.54 +
13.55 }
14.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/AdaMimeResolver.java Tue Oct 02 21:55:21 2012 -0400
14.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/AdaMimeResolver.java Mon Oct 15 23:38:26 2012 +0200
14.3 @@ -53,9 +53,9 @@
14.4 * Extensions recognized as being Ada.
14.5 */
14.6 private final static String[] EXTENSIONS = new String[]{
14.7 + "ada", // NOI18N
14.8 "ads", // NOI18N
14.9 - "adb", // NOI18N
14.10 - "ada" // NOI18N
14.11 + "adb" // NOI18N
14.12 };
14.13 /**
14.14 * MIME type for Ada.
14.15 @@ -76,6 +76,7 @@
14.16 return false;
14.17 }
14.18
14.19 + @Override
14.20 public String findMIMEType(FileObject fo) {
14.21 return isAdaExt(fo.getExt()) ? ADA_MIME_TYPE : null;
14.22 }
15.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/AdaVersion.java Tue Oct 02 21:55:21 2012 -0400
15.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
15.3 @@ -1,50 +0,0 @@
15.4 -/*
15.5 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
15.6 - *
15.7 - * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
15.8 - *
15.9 - * The contents of this file are subject to the terms of either the GNU
15.10 - * General Public License Version 2 only ("GPL") or the Common
15.11 - * Development and Distribution License("CDDL") (collectively, the
15.12 - * "License"). You may not use this file except in compliance with the
15.13 - * License. You can obtain a copy of the License at
15.14 - * http://www.netbeans.org/cddl-gplv2.html
15.15 - * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
15.16 - * specific language governing permissions and limitations under the
15.17 - * License. When distributing the software, include this License Header
15.18 - * Notice in each file and include the License file at
15.19 - * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
15.20 - * particular file as subject to the "Classpath" exception as provided
15.21 - * by Sun in the GPL Version 2 section of the License file that
15.22 - * accompanied this code. If applicable, add the following below the
15.23 - * License Header, with the fields enclosed by brackets [] replaced by
15.24 - * your own identifying information:
15.25 - * "Portions Copyrighted [year] [name of copyright owner]"
15.26 - *
15.27 - * If you wish your version of this file to be governed by only the CDDL
15.28 - * or only the GPL Version 2, indicate your decision by adding
15.29 - * "[Contributor] elects to include this software in this distribution
15.30 - * under the [CDDL or GPL Version 2] license." If you do not indicate a
15.31 - * single choice of license, a recipient has the option to distribute
15.32 - * your version of this file under either the CDDL, the GPL Version 2 or
15.33 - * to extend the choice of license to its licensees as provided above.
15.34 - * However, if you add GPL Version 2 code and therefore, elected the GPL
15.35 - * Version 2 license, then the option applies only if the new code is
15.36 - * made subject to such option by the copyright holder.
15.37 - *
15.38 - * Contributor(s):
15.39 - *
15.40 - * Portions Copyrighted 2008 Sun Microsystems, Inc.
15.41 - */
15.42 -
15.43 -package org.netbeans.modules.ada.editor;
15.44 -
15.45 -/**
15.46 - *
15.47 - * @author Andrea Lucarelli
15.48 - */
15.49 -public enum AdaVersion {
15.50 - ADA_83,
15.51 - ADA_95,
15.52 - ADA_2005;
15.53 -}
16.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/Bundle.properties Tue Oct 02 21:55:21 2012 -0400
16.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/Bundle.properties Mon Oct 15 23:38:26 2012 +0200
16.3 @@ -39,4 +39,7 @@
16.4 OpenIDE-Module-Long-Description=\
16.5 Support for editing Ada files.
16.6 OpenIDE-Module-Name=Ada Editor
16.7 -OpenIDE-Module-Short-Description=Support for editing Ada files.
16.8 \ No newline at end of file
16.9 +OpenIDE-Module-Short-Description=Support for editing Ada files.
16.10 +
16.11 +FMT_Not_Valid_FileName=The specified name is not valid for use in a source file: {0}
16.12 +Loaders/text/x-ada/Factories/org-netbeans-modules-ada-editor-AdaDataLoader.instance=Ada Data Loader
17.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/CodeUtils.java Tue Oct 02 21:55:21 2012 -0400
17.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/CodeUtils.java Mon Oct 15 23:38:26 2012 +0200
17.3 @@ -43,14 +43,16 @@
17.4 import org.netbeans.modules.ada.editor.ast.nodes.FormalParameter;
17.5 import org.netbeans.modules.ada.editor.ast.nodes.Identifier;
17.6 import org.netbeans.modules.ada.editor.ast.nodes.MethodDeclaration;
17.7 +import org.netbeans.modules.ada.editor.ast.nodes.MethodInvocation;
17.8 +import org.netbeans.modules.ada.editor.ast.nodes.NameBase;
17.9 import org.netbeans.modules.ada.editor.ast.nodes.PackageBody;
17.10 import org.netbeans.modules.ada.editor.ast.nodes.PackageName;
17.11 import org.netbeans.modules.ada.editor.ast.nodes.PackageSpecification;
17.12 -import org.netbeans.modules.ada.editor.ast.nodes.Reference;
17.13 -import org.netbeans.modules.ada.editor.ast.nodes.Statement;
17.14 import org.netbeans.modules.ada.editor.ast.nodes.SubprogramBody;
17.15 import org.netbeans.modules.ada.editor.ast.nodes.SubprogramSpecification;
17.16 +import org.netbeans.modules.ada.editor.ast.nodes.TypeAccess;
17.17 import org.netbeans.modules.ada.editor.ast.nodes.TypeDeclaration;
17.18 +import org.netbeans.modules.ada.editor.ast.nodes.TypeName;
17.19 import org.netbeans.modules.ada.editor.ast.nodes.Variable;
17.20
17.21 /**
17.22 @@ -96,10 +98,10 @@
17.23 return methodDeclaration.getMethodName();
17.24 }
17.25
17.26 - @CheckForNull // null for RelectionVariable
17.27 + @CheckForNull
17.28 public static String extractVariableName(Variable var) {
17.29 if (var.getName() instanceof Identifier) {
17.30 - Identifier id = (Identifier) var.getName();
17.31 + Identifier id = var.getName();
17.32 StringBuilder varName = new StringBuilder();
17.33
17.34 varName.append(id.getName());
17.35 @@ -109,10 +111,10 @@
17.36 return null;
17.37 }
17.38
17.39 - @CheckForNull // null for RelectionVariable
17.40 + @CheckForNull
17.41 public static String extractTypeName(TypeDeclaration var) {
17.42 if (var.getTypeName() instanceof Identifier) {
17.43 - Identifier id = (Identifier) var.getTypeName();
17.44 + Identifier id = var.getTypeName();
17.45 StringBuilder varName = new StringBuilder();
17.46
17.47 varName.append(id.getName());
17.48 @@ -122,11 +124,38 @@
17.49 return null;
17.50 }
17.51
17.52 + @CheckForNull
17.53 + public static String extractTypeName(NameBase type) {
17.54 + if (type instanceof TypeName) {
17.55 + Identifier id = ((TypeName)type).getTypeName();
17.56 + StringBuilder typeName = new StringBuilder();
17.57 + typeName.append(id.getName());
17.58 + return typeName.toString();
17.59 + } else if (type instanceof TypeAccess) {
17.60 + NameBase name = ((TypeAccess) type).getMember();
17.61 + return extractTypeName(name);
17.62 + }
17.63 +
17.64 + return null;
17.65 + }
17.66 +
17.67 + @CheckForNull
17.68 + public static TypeName extractType(NameBase type) {
17.69 + if (type instanceof TypeName) {
17.70 + return (TypeName)type;
17.71 + } else if (type instanceof TypeAccess) {
17.72 + NameBase name = ((TypeAccess) type).getMember();
17.73 + return extractType(name);
17.74 + }
17.75 +
17.76 + return null;
17.77 + }
17.78 +
17.79 public static String getParamDisplayName(FormalParameter param) {
17.80 Variable var = param.getParameterName();
17.81 StringBuilder paramName = new StringBuilder();
17.82
17.83 - Identifier id = (Identifier) var.getName();
17.84 + Identifier id = var.getName();
17.85 paramName.append(id.getName());
17.86
17.87 return paramName.length() == 0 ? null : paramName.toString();
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
18.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ReadOnlySupport.java Mon Oct 15 23:38:26 2012 +0200
18.3 @@ -0,0 +1,52 @@
18.4 +/*
18.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
18.6 + *
18.7 + * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
18.8 + *
18.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
18.10 + * Other names may be trademarks of their respective owners.
18.11 + *
18.12 + * The contents of this file are subject to the terms of either the GNU
18.13 + * General Public License Version 2 only ("GPL") or the Common
18.14 + * Development and Distribution License("CDDL") (collectively, the
18.15 + * "License"). You may not use this file except in compliance with the
18.16 + * License. You can obtain a copy of the License at
18.17 + * http://www.netbeans.org/cddl-gplv2.html
18.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
18.19 + * specific language governing permissions and limitations under the
18.20 + * License. When distributing the software, include this License Header
18.21 + * Notice in each file and include the License file at
18.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
18.23 + * particular file as subject to the "Classpath" exception as provided
18.24 + * by Oracle in the GPL Version 2 section of the License file that
18.25 + * accompanied this code. If applicable, add the following below the
18.26 + * License Header, with the fields enclosed by brackets [] replaced by
18.27 + * your own identifying information:
18.28 + * "Portions Copyrighted [year] [name of copyright owner]"
18.29 + *
18.30 + * If you wish your version of this file to be governed by only the CDDL
18.31 + * or only the GPL Version 2, indicate your decision by adding
18.32 + * "[Contributor] elects to include this software in this distribution
18.33 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
18.34 + * single choice of license, a recipient has the option to distribute
18.35 + * your version of this file under either the CDDL, the GPL Version 2 or
18.36 + * to extend the choice of license to its licensees as provided above.
18.37 + * However, if you add GPL Version 2 code and therefore, elected the GPL
18.38 + * Version 2 license, then the option applies only if the new code is
18.39 + * made subject to such option by the copyright holder.
18.40 + *
18.41 + * Contributor(s):
18.42 + *
18.43 + * Portions Copyrighted 2009 Sun Microsystems, Inc.
18.44 + */
18.45 +
18.46 +package org.netbeans.modules.ada.editor;
18.47 +
18.48 +/**
18.49 + *
18.50 + * @author Vladimir Voskresensky
18.51 + */
18.52 +public interface ReadOnlySupport {
18.53 + boolean isReadOnly();
18.54 + void setReadOnly(boolean readOnly);
18.55 +}
19.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
19.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/SourceAbstractDataLoader.java Mon Oct 15 23:38:26 2012 +0200
19.3 @@ -0,0 +1,306 @@
19.4 +/*
19.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
19.6 + *
19.7 + * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
19.8 + *
19.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
19.10 + * Other names may be trademarks of their respective owners.
19.11 + *
19.12 + * The contents of this file are subject to the terms of either the GNU
19.13 + * General Public License Version 2 only ("GPL") or the Common
19.14 + * Development and Distribution License("CDDL") (collectively, the
19.15 + * "License"). You may not use this file except in compliance with the
19.16 + * License. You can obtain a copy of the License at
19.17 + * http://www.netbeans.org/cddl-gplv2.html
19.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
19.19 + * specific language governing permissions and limitations under the
19.20 + * License. When distributing the software, include this License Header
19.21 + * Notice in each file and include the License file at
19.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
19.23 + * particular file as subject to the "Classpath" exception as provided
19.24 + * by Oracle in the GPL Version 2 section of the License file that
19.25 + * accompanied this code. If applicable, add the following below the
19.26 + * License Header, with the fields enclosed by brackets [] replaced by
19.27 + * your own identifying information:
19.28 + * "Portions Copyrighted [year] [name of copyright owner]"
19.29 + *
19.30 + * Contributor(s):
19.31 + *
19.32 + * The Original Software is NetBeans. The Initial Developer of the Original
19.33 + * Software is Sun Microsystems, Inc. Portions Copyright 1997-2008 Sun
19.34 + * Microsystems, Inc. All Rights Reserved.
19.35 + *
19.36 + * If you wish your version of this file to be governed by only the CDDL
19.37 + * or only the GPL Version 2, indicate your decision by adding
19.38 + * "[Contributor] elects to include this software in this distribution
19.39 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
19.40 + * single choice of license, a recipient has the option to distribute
19.41 + * your version of this file under either the CDDL, the GPL Version 2 or
19.42 + * to extend the choice of license to its licensees as provided above.
19.43 + * However, if you add GPL Version 2 code and therefore, elected the GPL
19.44 + * Version 2 license, then the option applies only if the new code is
19.45 + * made subject to such option by the copyright holder.
19.46 + */
19.47 +package org.netbeans.modules.ada.editor;
19.48 +
19.49 +import java.io.BufferedReader;
19.50 +import java.io.BufferedWriter;
19.51 +import java.io.File;
19.52 +import java.io.IOException;
19.53 +import java.io.InputStreamReader;
19.54 +import java.io.OutputStreamWriter;
19.55 +import java.nio.charset.Charset;
19.56 +import java.util.Date;
19.57 +import java.util.Map;
19.58 +import java.text.DateFormat;
19.59 +import java.util.HashMap;
19.60 +import javax.swing.JEditorPane;
19.61 +import javax.swing.text.BadLocationException;
19.62 +import javax.swing.text.Document;
19.63 +import javax.swing.text.EditorKit;
19.64 +import org.netbeans.api.queries.FileEncodingQuery;
19.65 +import org.netbeans.modules.editor.indent.api.Reformat;
19.66 +import org.openide.filesystems.FileObject;
19.67 +import org.openide.loaders.MultiDataObject;
19.68 +import org.openide.loaders.FileEntry;
19.69 +import org.openide.loaders.UniFileLoader;
19.70 +import org.openide.modules.InstalledFileLocator;
19.71 +import org.openide.filesystems.FileLock;
19.72 +import org.openide.filesystems.FileUtil;
19.73 +import org.openide.loaders.CreateFromTemplateAttributesProvider;
19.74 +import org.openide.loaders.DataFolder;
19.75 +import org.openide.loaders.DataObject;
19.76 +import org.openide.util.Exceptions;
19.77 +import org.openide.util.Lookup;
19.78 +
19.79 +/**
19.80 + * DataLoader for recognizing C/C++/Fortran (C-C-F) source files.
19.81 + *
19.82 + * It also defines an inner class, AdaFormat, whose derived classes are
19.83 + * used to format template files (e.g. substitute values for parameters such as
19.84 + * __FILENAME__, __NAME__, __DATE__, __TIME__, __USER__, __GUARD_NAME etc.).
19.85 + */
19.86 +public abstract class SourceAbstractDataLoader extends UniFileLoader {
19.87 +
19.88 + protected SourceAbstractDataLoader(String representationClassName) {
19.89 + super(representationClassName);
19.90 + }
19.91 +
19.92 + protected abstract String getMimeType();
19.93 +
19.94 + @Override
19.95 + protected final void initialize() {
19.96 + super.initialize();
19.97 + getExtensions().addMimeType(getMimeType());
19.98 + }
19.99 +
19.100 + @Override
19.101 + protected MultiDataObject.Entry createPrimaryEntry(MultiDataObject obj, FileObject primaryFile) {
19.102 + // Entry for the important file: by default, is preserved
19.103 + // during all operations.
19.104 + return new AdaFormat(obj, primaryFile);
19.105 + }
19.106 +
19.107 + @Override
19.108 + protected String actionsContext() {
19.109 + return "Loaders/text/x-ada+sourcefile/Actions/"; // NOI18N
19.110 + }
19.111 +
19.112 +// Inner class: Substitute important template parameters...
19.113 + /*package*/
19.114 + private static class AdaFormat extends FileEntry.Format {
19.115 +
19.116 + public AdaFormat(MultiDataObject obj, FileObject primaryFile) {
19.117 + super(obj, primaryFile);
19.118 + }
19.119 +
19.120 + @Override
19.121 + protected java.text.Format createFormat(FileObject target, String name, String ext) {
19.122 +
19.123 + Map<String, Object> map = new HashMap<String, Object>();
19.124 +
19.125 + String packageName = target.getPath().replace('/', '_');
19.126 + // add an underscore to the package name if it is not an empty string
19.127 + if (!packageName.isEmpty()) { // NOI18N
19.128 + packageName = packageName + "_"; // NOI18N
19.129 + }
19.130 + map.put("PACKAGE_AND_NAME", packageName + name); // NOI18N
19.131 + map.put("NAME", name); // NOI18N
19.132 + map.put("EXTENSION", ext); // NOI18N
19.133 +// String guardName = (name + "_" + ext).replace('-', '_').replace('.', '_'); // NOI18N
19.134 + String fullName = name + "_" + ext; //NOI18N
19.135 + StringBuilder guardName = new StringBuilder();
19.136 + for (int i = 0; i < fullName.length(); i++) {
19.137 + char c = fullName.charAt(i);
19.138 + guardName.append(Character.isJavaIdentifierPart(c) ? Character.toUpperCase(c) : '_');
19.139 + }
19.140 +
19.141 + map.put("GUARD_NAME", guardName.toString()); // NOI18N
19.142 + /*
19.143 + This is a ugly hack but I don't have a choice. That's because
19.144 + NetBeans will not pass me the name the user typed in as the
19.145 + "root" name; instead I get the substituted name for each
19.146 + template file. In other words, suppose I use the parameter
19.147 + __NAME__ in my template source files. The name passed to
19.148 + createFormat is then the *filename* instead of just the
19.149 + Name: field the user had entered. e.g. if I'm instantiating the
19.150 + following files:
19.151 + __sample___foo.cc
19.152 + __sample___bar.cc
19.153 + Then for the first file, __NAME__ becomes <myname>_foo and in
19.154 + the second file, __NAME__ becomes <myname>_bar. But I really
19.155 + need the Name itself, so that I can for example have have
19.156 + #include "<myname>_externs.h"
19.157 + in the templates!
19.158 + */
19.159 +
19.160 + int crop = name.lastIndexOf('_');
19.161 + if (crop != -1) {
19.162 + name = name.substring(0, crop);
19.163 + }
19.164 + map.put("CROPPEDNAME", name); // NOI18N
19.165 + map.put("DATE", DateFormat.getDateInstance // NOI18N
19.166 + (DateFormat.LONG).format(new Date()));
19.167 + map.put("TIME", DateFormat.getTimeInstance // NOI18N
19.168 + (DateFormat.SHORT).format(new Date()));
19.169 + // map.put("USER", System.getProperty("user.name")); // NOI18N
19.170 + String nbHome = null; //System.getProperty("netbeans.home");
19.171 + File file = InstalledFileLocator.getDefault().locate("lib", null, false); // NOI18N
19.172 + if (file != null) {
19.173 + nbHome = file.getParent();
19.174 + }
19.175 + if (nbHome == null) {
19.176 + nbHome = "";
19.177 + }
19.178 + map.put("NBDIR", nbHome); // NOI18N
19.179 + map.put("QUOTES", "\""); // NOI18N
19.180 +
19.181 + for (CreateFromTemplateAttributesProvider provider :
19.182 + Lookup.getDefault().lookupAll(CreateFromTemplateAttributesProvider.class)) {
19.183 + Map<String, ?> attrs = provider.attributesFor(getDataObject(),
19.184 + DataFolder.findFolder(target), name);
19.185 + if (attrs != null) {
19.186 + for (Map.Entry<String, ?> entry : attrs.entrySet()) {
19.187 + map.put(entry.getKey().toUpperCase(), entry.getValue());
19.188 + }
19.189 + }
19.190 + }
19.191 +
19.192 + org.openide.util.MapFormat format = new org.openide.util.MapFormat(map);
19.193 +
19.194 + // Use "%<%" and "%>%" instead of "__" (which most other templates
19.195 + // use) since "__" is used for many C++ tokens and we don't want
19.196 + // any conflicts with valid code. For example, __FILE__ is a valid
19.197 + // construct in Sun C++ files and the compiler will replace the
19.198 + // current file name during compilation.
19.199 + format.setLeftBrace("%<%"); // NOI18N
19.200 + format.setRightBrace("%>%"); // NOI18N
19.201 + return format;
19.202 + }
19.203 +
19.204 + /**
19.205 + * Creates dataobject from template. Copies the file and applies
19.206 + * substitutions provided by the createFormat method.
19.207 + *
19.208 + * Overriding parent implementation to add encoding conversion (IZ 163832).
19.209 + * Copied with minor modifications from IndentFileEntry (java.source module).
19.210 + *
19.211 + * @param f the folder to create instance in
19.212 + * @param name name of the file or null if it should be chosen automatically
19.213 + * @return created file
19.214 + * @throws java.io.IOException
19.215 + */
19.216 + @Override
19.217 + public FileObject createFromTemplate(FileObject f, String name) throws IOException {
19.218 + // we don't want extension to be taken from template filename for our customized dialog
19.219 + String ext;
19.220 +
19.221 + // use default
19.222 + ext = getFile().getExt();
19.223 +
19.224 + FileObject fo = f.createData(name, ext);
19.225 +
19.226 + java.text.Format frm = createFormat(f, name, ext);
19.227 +
19.228 + EditorKit kit = createEditorKit(getFile().getMIMEType());
19.229 + Document doc = kit.createDefaultDocument();
19.230 +
19.231 + BufferedReader r = new BufferedReader(new InputStreamReader(
19.232 + getFile().getInputStream(), FileEncodingQuery.getEncoding(getFile())));
19.233 + try {
19.234 + FileLock lock = fo.lock();
19.235 + try {
19.236 + Charset encoding = FileEncodingQuery.getEncoding(fo);
19.237 + BufferedWriter w = new BufferedWriter(new OutputStreamWriter(
19.238 + fo.getOutputStream(lock), encoding));
19.239 + try {
19.240 + String current;
19.241 + String line = null;
19.242 + int offset = 0;
19.243 + while ((current = r.readLine()) != null) {
19.244 + if (line != null) {
19.245 + doc.insertString(offset, "\n", null); // NOI18N
19.246 + offset++;
19.247 + }
19.248 + line = frm.format(current);
19.249 + doc.insertString(offset, line, null);
19.250 + offset += line.length();
19.251 + }
19.252 + doc.insertString(doc.getLength(), "\n", null); // NOI18N
19.253 + offset++;
19.254 + Reformat reformat = Reformat.get(doc);
19.255 + reformat.lock();
19.256 + try {
19.257 + reformat.reformat(0, doc.getLength());
19.258 + } finally {
19.259 + reformat.unlock();
19.260 + }
19.261 + w.write(doc.getText(0, doc.getLength()));
19.262 + } catch (BadLocationException ex) {
19.263 + Exceptions.printStackTrace(ex);
19.264 + } finally {
19.265 + w.close();
19.266 + }
19.267 + } finally {
19.268 + lock.releaseLock();
19.269 + }
19.270 + } finally {
19.271 + r.close();
19.272 + }
19.273 +
19.274 + // copy attributes
19.275 + FileUtil.copyAttributes(getFile(), fo);
19.276 +
19.277 + // unmark template state
19.278 + setTemplate(fo, false);
19.279 +
19.280 + return fo;
19.281 + }
19.282 + }
19.283 +
19.284 + private static EditorKit createEditorKit(String mimeType) {
19.285 + EditorKit kit;
19.286 + kit = JEditorPane.createEditorKitForContentType(mimeType);
19.287 + if (kit == null) {
19.288 + kit = new javax.swing.text.DefaultEditorKit();
19.289 + }
19.290 + return kit;
19.291 + }
19.292 +
19.293 + private static boolean setTemplate(FileObject fo, boolean newTempl) throws IOException {
19.294 + boolean oldTempl = false;
19.295 +
19.296 + Object o = fo.getAttribute(DataObject.PROP_TEMPLATE);
19.297 + if ((o instanceof Boolean) && ((Boolean) o).booleanValue()) {
19.298 + oldTempl = true;
19.299 + }
19.300 + if (oldTempl == newTempl) {
19.301 + return false;
19.302 + }
19.303 +
19.304 + fo.setAttribute(DataObject.PROP_TEMPLATE, (newTempl ? Boolean.TRUE : null));
19.305 +
19.306 + return true;
19.307 + }
19.308 +
19.309 +}
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
20.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/SourceDataNode.java Mon Oct 15 23:38:26 2012 +0200
20.3 @@ -0,0 +1,82 @@
20.4 +/*
20.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
20.6 + *
20.7 + * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
20.8 + *
20.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
20.10 + * Other names may be trademarks of their respective owners.
20.11 + *
20.12 + * The contents of this file are subject to the terms of either the GNU
20.13 + * General Public License Version 2 only ("GPL") or the Common
20.14 + * Development and Distribution License("CDDL") (collectively, the
20.15 + * "License"). You may not use this file except in compliance with the
20.16 + * License. You can obtain a copy of the License at
20.17 + * http://www.netbeans.org/cddl-gplv2.html
20.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
20.19 + * specific language governing permissions and limitations under the
20.20 + * License. When distributing the software, include this License Header
20.21 + * Notice in each file and include the License file at
20.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
20.23 + * particular file as subject to the "Classpath" exception as provided
20.24 + * by Oracle in the GPL Version 2 section of the License file that
20.25 + * accompanied this code. If applicable, add the following below the
20.26 + * License Header, with the fields enclosed by brackets [] replaced by
20.27 + * your own identifying information:
20.28 + * "Portions Copyrighted [year] [name of copyright owner]"
20.29 + *
20.30 + * Contributor(s):
20.31 + *
20.32 + * The Original Software is NetBeans. The Initial Developer of the Original
20.33 + * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
20.34 + * Microsystems, Inc. All Rights Reserved.
20.35 + *
20.36 + * If you wish your version of this file to be governed by only the CDDL
20.37 + * or only the GPL Version 2, indicate your decision by adding
20.38 + * "[Contributor] elects to include this software in this distribution
20.39 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
20.40 + * single choice of license, a recipient has the option to distribute
20.41 + * your version of this file under either the CDDL, the GPL Version 2 or
20.42 + * to extend the choice of license to its licensees as provided above.
20.43 + * However, if you add GPL Version 2 code and therefore, elected the GPL
20.44 + * Version 2 license, then the option applies only if the new code is
20.45 + * made subject to such option by the copyright holder.
20.46 + */
20.47 +package org.netbeans.modules.ada.editor;
20.48 +
20.49 +import javax.swing.Action;
20.50 +
20.51 +import org.openide.loaders.DataNode;
20.52 +import org.openide.loaders.DataObject;
20.53 +import org.openide.nodes.Children;
20.54 +import org.openide.util.HelpCtx;
20.55 +import org.openide.util.actions.SystemAction;
20.56 +import org.openide.actions.OpenAction;
20.57 +import org.openide.util.Lookup;
20.58 +
20.59 +/**
20.60 + * A base class for C/C++/Fortran (C-C-F) nodes.
20.61 + */
20.62 +public class SourceDataNode extends DataNode {
20.63 +
20.64 + /** Constructor for this class */
20.65 + public SourceDataNode(DataObject obj, Lookup lookup, String icon) {
20.66 + super(obj, Children.LEAF, lookup);
20.67 + setIconBaseWithExtension(icon);
20.68 + }
20.69 +
20.70 + /**
20.71 + * Overrides default action from DataNode.
20.72 + * Instantiate a template, if isTemplate() returns true.
20.73 + * Opens otherwise.
20.74 + */
20.75 + @Override
20.76 + public Action getPreferredAction() {
20.77 + Action result = super.getPreferredAction();
20.78 + return result == null ? SystemAction.get(OpenAction.class) : result;
20.79 + }
20.80 +
20.81 + @Override
20.82 + public HelpCtx getHelpCtx() {
20.83 + return new HelpCtx("Welcome_ada_home"); // NOI18N
20.84 + }
20.85 +}
21.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
21.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/SourceDataObject.java Mon Oct 15 23:38:26 2012 +0200
21.3 @@ -0,0 +1,162 @@
21.4 +/*
21.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
21.6 + *
21.7 + * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
21.8 + *
21.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
21.10 + * Other names may be trademarks of their respective owners.
21.11 + *
21.12 + * The contents of this file are subject to the terms of either the GNU
21.13 + * General Public License Version 2 only ("GPL") or the Common
21.14 + * Development and Distribution License("CDDL") (collectively, the
21.15 + * "License"). You may not use this file except in compliance with the
21.16 + * License. You can obtain a copy of the License at
21.17 + * http://www.netbeans.org/cddl-gplv2.html
21.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
21.19 + * specific language governing permissions and limitations under the
21.20 + * License. When distributing the software, include this License Header
21.21 + * Notice in each file and include the License file at
21.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
21.23 + * particular file as subject to the "Classpath" exception as provided
21.24 + * by Oracle in the GPL Version 2 section of the License file that
21.25 + * accompanied this code. If applicable, add the following below the
21.26 + * License Header, with the fields enclosed by brackets [] replaced by
21.27 + * your own identifying information:
21.28 + * "Portions Copyrighted [year] [name of copyright owner]"
21.29 + *
21.30 + * Contributor(s):
21.31 + *
21.32 + * The Original Software is NetBeans. The Initial Developer of the Original
21.33 + * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
21.34 + * Microsystems, Inc. All Rights Reserved.
21.35 + *
21.36 + * If you wish your version of this file to be governed by only the CDDL
21.37 + * or only the GPL Version 2, indicate your decision by adding
21.38 + * "[Contributor] elects to include this software in this distribution
21.39 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
21.40 + * single choice of license, a recipient has the option to distribute
21.41 + * your version of this file under either the CDDL, the GPL Version 2 or
21.42 + * to extend the choice of license to its licensees as provided above.
21.43 + * However, if you add GPL Version 2 code and therefore, elected the GPL
21.44 + * Version 2 license, then the option applies only if the new code is
21.45 + * made subject to such option by the copyright holder.
21.46 + */
21.47 +package org.netbeans.modules.ada.editor;
21.48 +
21.49 +import java.io.IOException;
21.50 +
21.51 +import org.openide.filesystems.FileObject;
21.52 +import org.openide.loaders.DataObject;
21.53 +import org.openide.loaders.DataFolder;
21.54 +import org.openide.loaders.MultiDataObject;
21.55 +import org.openide.loaders.MultiFileLoader;
21.56 +import org.openide.loaders.DataObjectExistsException;
21.57 +import org.openide.nodes.Node;
21.58 +import org.openide.nodes.Node.Cookie;
21.59 +import org.openide.util.NbBundle;
21.60 +import org.openide.util.Lookup;
21.61 +import org.openide.util.lookup.AbstractLookup;
21.62 +import org.openide.util.lookup.InstanceContent;
21.63 +
21.64 +/**
21.65 + * Abstract superclass of a C/C++/Fortran DataObject.
21.66 + */
21.67 +public abstract class SourceDataObject extends MultiDataObject {
21.68 + //private static final Logger LOG = Logger.getLogger(SourceDataObject.class.getName());
21.69 +
21.70 + private InstanceContent ic;
21.71 + private Lookup myLookup;
21.72 +
21.73 +
21.74 + public SourceDataObject(FileObject pf, MultiFileLoader loader) throws DataObjectExistsException {
21.75 + super(pf, loader);
21.76 + }
21.77 +
21.78 + final InstanceContent getInstanceContent(){
21.79 + return ic;
21.80 + }
21.81 +
21.82 + @Override
21.83 + public final synchronized Lookup getLookup() {
21.84 + if (myLookup == null) {
21.85 + ic = new InstanceContent();
21.86 + ic.add(this);
21.87 + ic.add(getPrimaryFile());
21.88 + ic.add(this, AdaEditorSupportProvider.staticFactory);
21.89 + AdaCookieProvider.getDefault().addLookup(this, ic);
21.90 + myLookup = new AbstractLookup(ic);
21.91 + }
21.92 + return myLookup;
21.93 + }
21.94 +
21.95 + @Override
21.96 + public final <T extends Cookie> T getCookie(Class<T> type) {
21.97 + if (!Cookie.class.isAssignableFrom(type)) {
21.98 + //Exception exception = new Exception("Class "+Cookie.class.getName()+" does not AssignableFrom "+type.getName()); //NOI18N
21.99 + //LOG.log(Level.INFO, exception.getMessage(), exception);
21.100 + return null;
21.101 + }
21.102 + Object lookupResult = getLookup().lookup(type);
21.103 + if (lookupResult != null) {
21.104 + if (!type.isInstance(lookupResult)) {
21.105 + //Exception exception = new Exception("Class "+lookupResult.getClass().getName()+" is not instance of "+type.getName()); //NOI18N
21.106 + //LOG.log(Level.INFO, exception.getMessage(), exception);
21.107 + return null;
21.108 + }
21.109 + }
21.110 + @SuppressWarnings("unchecked")
21.111 + T res = (T) lookupResult;
21.112 + return res;
21.113 + }
21.114 +
21.115 + @Override
21.116 + protected abstract Node createNodeDelegate();
21.117 +
21.118 + /**
21.119 + * Creates new object from template. Check to make sure the user
21.120 + * has entered a valid string.
21.121 + *
21.122 + * @param df Folder to create the template in
21.123 + * @param name New template name
21.124 + * @exception IOException
21.125 + */
21.126 + @Override
21.127 + protected DataObject handleCreateFromTemplate(DataFolder df, String name)
21.128 + throws IOException {
21.129 +
21.130 + if ((name != null) && (!isValidName(name))) {
21.131 + throw new IOException(NbBundle.getMessage(SourceDataObject.class,
21.132 + "FMT_Not_Valid_FileName", name)); // NOI18N
21.133 + }
21.134 + return super.handleCreateFromTemplate(df, name);
21.135 + }
21.136 +
21.137 + /**
21.138 + * Is the given name a valid template name for our module?
21.139 + * In other words, is it a valid basename for a source/data file
21.140 + * created by our templates, or is it even a valid filename we will
21.141 + * allow you to rename source files to?
21.142 + * <p>
21.143 + * Note that Unix allows you to name files anything (except for null
21.144 + * characters and the slash character) but we're making a stricter
21.145 + * restriction here. We Want To Help You (tm). No blank file names.
21.146 + * No control characters in the filename. No meta characters in the
21.147 + * filename. (Possibly controversial: no whitespace in filename)
21.148 + *
21.149 + * @param name Name to check
21.150 + */
21.151 + static boolean isValidName(String name) {
21.152 + int len = name.length();
21.153 +
21.154 + if (len == 0) {
21.155 + return false;
21.156 + }
21.157 + for (int i = 0; i < len; i++) {
21.158 + char c = name.charAt(i);
21.159 + if (Character.isISOControl(c)) {
21.160 + return false;
21.161 + }
21.162 + }
21.163 + return true;
21.164 + }
21.165 +}
22.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/ASTUtils.java Tue Oct 02 21:55:21 2012 -0400
22.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/ASTUtils.java Mon Oct 15 23:38:26 2012 +0200
22.3 @@ -207,7 +207,7 @@
22.4 public static String resolveVariableName(Variable variable) {
22.5 String name = null;
22.6 if (variable.getName() instanceof Identifier) {
22.7 - name = ((Identifier) variable.getName()).getName();
22.8 + name = (variable.getName()).getName();
22.9 }
22.10 return name;
22.11 }
23.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/AbortStatement.java Tue Oct 02 21:55:21 2012 -0400
23.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/AbortStatement.java Mon Oct 15 23:38:26 2012 +0200
23.3 @@ -52,9 +52,9 @@
23.4 */
23.5 public class AbortStatement extends Statement {
23.6
23.7 - private final ArrayList<Identifier> tasks = new ArrayList<Identifier>();
23.8 + private final ArrayList<TaskName> tasks = new ArrayList<TaskName>();
23.9
23.10 - public AbortStatement(int start, int end, List<Identifier> tasks) {
23.11 + public AbortStatement(int start, int end, List<TaskName> tasks) {
23.12 super(start, end);
23.13
23.14 this.tasks.addAll(tasks);
23.15 @@ -66,7 +66,7 @@
23.16 *
23.17 * @return the list of packages node
23.18 */
23.19 - public List<Identifier> getTasks() {
23.20 + public List<TaskName> getTasks() {
23.21 return tasks;
23.22 }
23.23
24.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/ArrayAccess.java Tue Oct 02 21:55:21 2012 -0400
24.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/ArrayAccess.java Mon Oct 15 23:38:26 2012 +0200
24.3 @@ -83,7 +83,7 @@
24.4 */
24.5 @Override
24.6 public Identifier getName() {
24.7 - return (Identifier) super.getName();
24.8 + return super.getName();
24.9 }
24.10
24.11 @Override
25.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Assignment.java Tue Oct 02 21:55:21 2012 -0400
25.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Assignment.java Mon Oct 15 23:38:26 2012 +0200
25.3 @@ -48,10 +48,10 @@
25.4 */
25.5 public class Assignment extends Statement {
25.6
25.7 - private VariableBase leftHandSide;
25.8 + private NameBase leftHandSide;
25.9 private Expression rightHandSide;
25.10
25.11 - public Assignment(int start, int end, VariableBase leftHandSide, Expression rightHandSide) {
25.12 + public Assignment(int start, int end, NameBase leftHandSide, Expression rightHandSide) {
25.13 super(start, end);
25.14 if (leftHandSide == null ) {//|| rightHandSide == null) { TODO: must be correct
25.15 throw new IllegalArgumentException
25.16 @@ -67,7 +67,7 @@
25.17 *
25.18 * @return the left hand side node
25.19 */
25.20 - public VariableBase getLeftHandSide() {
25.21 + public NameBase getLeftHandSide() {
25.22 return this.leftHandSide;
25.23 }
25.24
26.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/BlockStatement.java Tue Oct 02 21:55:21 2012 -0400
26.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/BlockStatement.java Mon Oct 15 23:38:26 2012 +0200
26.3 @@ -38,8 +38,6 @@
26.4 */
26.5 package org.netbeans.modules.ada.editor.ast.nodes;
26.6
26.7 -import java.util.ArrayList;
26.8 -import java.util.List;
26.9 import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
26.10
26.11 /**
26.12 @@ -59,42 +57,41 @@
26.13 */
26.14 public class BlockStatement extends Statement {
26.15
26.16 - private Identifier label;
26.17 + private Identifier label;
26.18 private Block declarations;
26.19 private Block body;
26.20
26.21 public BlockStatement(int start, int end, Identifier label, Block declarations, Block body) {
26.22 super(start, end);
26.23
26.24 - this.label = label;
26.25 + this.label = label;
26.26 this.declarations = declarations;
26.27 this.body = body;
26.28 }
26.29
26.30 - public Identifier getLabel () {
26.31 - return this.label;
26.32 - }
26.33 + public Identifier getLabel() {
26.34 + return this.label;
26.35 + }
26.36
26.37 /**
26.38 * Retrieves the declaration statements parts of this block
26.39 * @return declaration statements parts of this block
26.40 */
26.41 public Block getDeclarations() {
26.42 - return this.body;
26.43 + return this.declarations;
26.44 }
26.45
26.46 - /**
26.47 + /**
26.48 * Retrieves the body statements parts of this block
26.49 * @return body statements parts of this block
26.50 */
26.51 public Block getBody() {
26.52 return this.body;
26.53 }
26.54 -
26.55 +
26.56 @Override
26.57 public void accept(Visitor visitor) {
26.58 visitor.visit(this);
26.59 }
26.60 -
26.61 }
26.62
27.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/BodyDeclaration.java Tue Oct 02 21:55:21 2012 -0400
27.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/BodyDeclaration.java Mon Oct 15 23:38:26 2012 +0200
27.3 @@ -42,6 +42,8 @@
27.4 * Based on org.netbeans.modules.php.editor.parser.astnodes.BodyDeclaration
27.5 *
27.6 * Base class for package member declarations
27.7 + *
27.8 + * @author Andrea Lucarelli
27.9 */
27.10 public abstract class BodyDeclaration extends Statement {
27.11
28.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/CaseWhen.java Tue Oct 02 21:55:21 2012 -0400
28.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/CaseWhen.java Mon Oct 15 23:38:26 2012 +0200
28.3 @@ -39,6 +39,7 @@
28.4 package org.netbeans.modules.ada.editor.ast.nodes;
28.5
28.6 import java.util.ArrayList;
28.7 +import java.util.Arrays;
28.8 import java.util.List;
28.9 import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
28.10
28.11 @@ -63,16 +64,13 @@
28.12 }
28.13
28.14 this.value = value;
28.15 -
28.16 - for (Statement statement : actions) {
28.17 - this.actions.add(statement);
28.18 - }
28.19 + this.actions.addAll(Arrays.asList(actions));
28.20
28.21 this.isDefault = (value == null) ? true : false;
28.22 }
28.23
28.24 public CaseWhen(int start, int end, Expression value, List<Statement> actions) {
28.25 - this(start, end, value, actions == null ? null : (Statement[]) actions.toArray(new Statement[actions.size()]));
28.26 + this(start, end, value, actions == null ? null : actions.toArray(new Statement[actions.size()]));
28.27 }
28.28
28.29 /**
29.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Dispatch.java Tue Oct 02 21:55:21 2012 -0400
29.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Dispatch.java Mon Oct 15 23:38:26 2012 +0200
29.3 @@ -45,11 +45,11 @@
29.4 * MyPackage.foo,
29.5 * MyPackage.foo(bar : in bar_type)
29.6 */
29.7 -public abstract class Dispatch extends VariableBase {
29.8 +public abstract class Dispatch extends NameBase {
29.9
29.10 - private VariableBase dispatcher;
29.11 + private NameBase dispatcher;
29.12
29.13 - public Dispatch(int start, int end, VariableBase dispatcher) {
29.14 + public Dispatch(int start, int end, NameBase dispatcher) {
29.15 super(start, end);
29.16 this.dispatcher = dispatcher;
29.17 }
29.18 @@ -59,7 +59,7 @@
29.19 *
29.20 * @return dispatcher component of this dispatch expression
29.21 */
29.22 - public VariableBase getDispatcher() {
29.23 + public NameBase getDispatcher() {
29.24 return dispatcher;
29.25 }
29.26 }
30.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/ExitStatement.java Tue Oct 02 21:55:21 2012 -0400
30.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/ExitStatement.java Mon Oct 15 23:38:26 2012 +0200
30.3 @@ -48,10 +48,10 @@
30.4 */
30.5 public class ExitStatement extends Statement {
30.6
30.7 - private String loopName;
30.8 + private Expression loopName;
30.9 private Expression whenCondition;
30.10
30.11 - public ExitStatement(int start, int end, String loopName, Expression whenCondition) {
30.12 + public ExitStatement(int start, int end, Expression loopName, Expression whenCondition) {
30.13 super(start, end);
30.14 this.loopName = loopName;
30.15 this.whenCondition = whenCondition;
30.16 @@ -62,7 +62,7 @@
30.17 *
30.18 * @return the loopName node
30.19 */
30.20 - public String getLoopName() {
30.21 + public Expression getLoopName() {
30.22 return loopName;
30.23 }
30.24
31.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
31.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/FieldAccess.java Mon Oct 15 23:38:26 2012 +0200
31.3 @@ -0,0 +1,78 @@
31.4 +/*
31.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
31.6 + *
31.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
31.8 + *
31.9 + * The contents of this file are subject to the terms of either the GNU
31.10 + * General Public License Version 2 only ("GPL") or the Common
31.11 + * Development and Distribution License("CDDL") (collectively, the
31.12 + * "License"). You may not use this file except in compliance with the
31.13 + * License. You can obtain a copy of the License at
31.14 + * http://www.netbeans.org/cddl-gplv2.html
31.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
31.16 + * specific language governing permissions and limitations under the
31.17 + * License. When distributing the software, include this License Header
31.18 + * Notice in each file and include the License file at
31.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
31.20 + * particular file as subject to the "Classpath" exception as provided
31.21 + * by Sun in the GPL Version 2 section of the License file that
31.22 + * accompanied this code. If applicable, add the following below the
31.23 + * License Header, with the fields enclosed by brackets [] replaced by
31.24 + * your own identifying information:
31.25 + * "Portions Copyrighted [year] [name of copyright owner]"
31.26 + *
31.27 + * If you wish your version of this file to be governed by only the CDDL
31.28 + * or only the GPL Version 2, indicate your decision by adding
31.29 + * "[Contributor] elects to include this software in this distribution
31.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
31.31 + * single choice of license, a recipient has the option to distribute
31.32 + * your version of this file under either the CDDL, the GPL Version 2 or
31.33 + * to extend the choice of license to its licensees as provided above.
31.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
31.35 + * Version 2 license, then the option applies only if the new code is
31.36 + * made subject to such option by the copyright holder.
31.37 + *
31.38 + * Contributor(s):
31.39 + *
31.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
31.41 + */
31.42 +package org.netbeans.modules.ada.editor.ast.nodes;
31.43 +
31.44 +import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
31.45 +
31.46 +/**
31.47 + * Represents a field access
31.48 + * <pre>e.g.<pre>
31.49 + *
31.50 + * MyPackage.Foo
31.51 + */
31.52 +public class FieldAccess extends Dispatch {
31.53 +
31.54 + private Variable field;
31.55 +
31.56 + public FieldAccess(int start, int end, NameBase dispatcher, Variable field) {
31.57 + super(start, end, dispatcher);
31.58 + this.field = field;
31.59 + }
31.60 +
31.61 + /**
31.62 + * Return the field component of this field access
31.63 + *
31.64 + * @return the field component of this field access
31.65 + */
31.66 + public Variable getField() {
31.67 + return field;
31.68 + }
31.69 +
31.70 + /**
31.71 + * see {@link #getField()}
31.72 + */
31.73 + public NameBase getMember() {
31.74 + return getField();
31.75 + }
31.76 +
31.77 + @Override
31.78 + public void accept(Visitor visitor) {
31.79 + visitor.visit(this);
31.80 + }
31.81 +}
32.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/FormalParameter.java Tue Oct 02 21:55:21 2012 -0400
32.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/FormalParameter.java Mon Oct 15 23:38:26 2012 +0200
32.3 @@ -52,13 +52,12 @@
32.4 public enum Mode {
32.5 IN, OUT, IN_OUT, ACCESS;
32.6 }
32.7 -
32.8 private Variable parameterName;
32.9 private Mode parameterMode;
32.10 - private TypeName parameterType;
32.11 + private NameBase parameterType;
32.12 private Expression defaultValue;
32.13
32.14 - public FormalParameter(int start, int end, final Variable parameterName, Mode parameterMode, TypeName type, Expression defaultValue) {
32.15 + public FormalParameter(int start, int end, final Variable parameterName, Mode parameterMode, NameBase type, Expression defaultValue) {
32.16 super(start, end);
32.17
32.18 this.parameterName = parameterName;
32.19 @@ -67,7 +66,7 @@
32.20 this.defaultValue = defaultValue;
32.21 }
32.22
32.23 - public FormalParameter(int start, int end, final Variable parameterName, Mode parameterMode, TypeName type) {
32.24 + public FormalParameter(int start, int end, final Variable parameterName, Mode parameterMode, NameBase type) {
32.25 this(start, end, parameterName, parameterMode, type, null);
32.26 }
32.27
32.28 @@ -85,7 +84,7 @@
32.29 return parameterName;
32.30 }
32.31
32.32 - /**
32.33 + /**
32.34 * @return the mode of this parameter
32.35 */
32.36 public Mode getParameterMode() {
32.37 @@ -95,10 +94,10 @@
32.38 /**
32.39 * @return the type of this parameter
32.40 */
32.41 - public TypeName getParameterType() {
32.42 + public NameBase getParameterType() {
32.43 return parameterType;
32.44 }
32.45 -
32.46 +
32.47 @Override
32.48 public void accept(Visitor visitor) {
32.49 visitor.visit(this);
33.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/GotoStatement.java Tue Oct 02 21:55:21 2012 -0400
33.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/GotoStatement.java Mon Oct 15 23:38:26 2012 +0200
33.3 @@ -47,9 +47,9 @@
33.4 */
33.5 public class GotoStatement extends Statement {
33.6
33.7 - private String labelName;
33.8 + private Expression labelName;
33.9
33.10 - public GotoStatement(int start, int end, String labelName) {
33.11 + public GotoStatement(int start, int end, Expression labelName) {
33.12 super(start, end);
33.13 this.labelName = labelName;
33.14 }
33.15 @@ -59,7 +59,7 @@
33.16 *
33.17 * @return the loopName node
33.18 */
33.19 - public String getLabelName() {
33.20 + public Expression getLabelName() {
33.21 return labelName;
33.22 }
33.23
34.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Identifier.java Tue Oct 02 21:55:21 2012 -0400
34.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Identifier.java Mon Oct 15 23:38:26 2012 +0200
34.3 @@ -36,7 +36,6 @@
34.4 *
34.5 * Portions Copyrighted 2008 Sun Microsystems, Inc.
34.6 */
34.7 -
34.8 package org.netbeans.modules.ada.editor.ast.nodes;
34.9
34.10 import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
34.11 @@ -47,9 +46,8 @@
34.12 * Holds an identifier.
34.13 * Uses for variable name, function name, procedure name and package name.
34.14 * <pre>e.g.<pre>
34.15 - * Foo : Integer; -- Foo is the identifier,
34.16 - * Foo (Foo => Bar) -- Foo is the identifier,
34.17 - * Foo.Bar; -- Foo and Bar are identifiers
34.18 + * Count X Get_Symbol Ethelyn Marion
34.19 + * Snobol_4 X1 Page_Count Store_Next_Item
34.20 *
34.21 * @author Andrea Lucarelli
34.22 */
34.23 @@ -59,7 +57,7 @@
34.24
34.25 public Identifier(int start, int end, String name) {
34.26 super(start, end);
34.27 - this.name = name;
34.28 + this.name = name;
34.29 }
34.30
34.31 public String getName() {
35.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
35.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/InfixExpression.java Mon Oct 15 23:38:26 2012 +0200
35.3 @@ -0,0 +1,126 @@
35.4 +/*
35.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
35.6 + *
35.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
35.8 + *
35.9 + * The contents of this file are subject to the terms of either the GNU
35.10 + * General Public License Version 2 only ("GPL") or the Common
35.11 + * Development and Distribution License("CDDL") (collectively, the
35.12 + * "License"). You may not use this file except in compliance with the
35.13 + * License. You can obtain a copy of the License at
35.14 + * http://www.netbeans.org/cddl-gplv2.html
35.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
35.16 + * specific language governing permissions and limitations under the
35.17 + * License. When distributing the software, include this License Header
35.18 + * Notice in each file and include the License file at
35.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
35.20 + * particular file as subject to the "Classpath" exception as provided
35.21 + * by Sun in the GPL Version 2 section of the License file that
35.22 + * accompanied this code. If applicable, add the following below the
35.23 + * License Header, with the fields enclosed by brackets [] replaced by
35.24 + * your own identifying information:
35.25 + * "Portions Copyrighted [year] [name of copyright owner]"
35.26 + *
35.27 + * If you wish your version of this file to be governed by only the CDDL
35.28 + * or only the GPL Version 2, indicate your decision by adding
35.29 + * "[Contributor] elects to include this software in this distribution
35.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
35.31 + * single choice of license, a recipient has the option to distribute
35.32 + * your version of this file under either the CDDL, the GPL Version 2 or
35.33 + * to extend the choice of license to its licensees as provided above.
35.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
35.35 + * Version 2 license, then the option applies only if the new code is
35.36 + * made subject to such option by the copyright holder.
35.37 + *
35.38 + * Contributor(s):
35.39 + *
35.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
35.41 + */
35.42 +package org.netbeans.modules.ada.editor.ast.nodes;
35.43 +
35.44 +import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
35.45 +
35.46 +/**
35.47 + * Based on org.netbeans.modules.php.editor.parser.astnodes.InfixExpression
35.48 + *
35.49 + * Represents an infix expression
35.50 + * <pre>e.g.<pre> $a + 1,
35.51 + * 3 - 2,
35.52 + * foo() * $a->bar(),
35.53 + * 'string'.$c
35.54 + */
35.55 +public class InfixExpression extends Expression {
35.56 +
35.57 + public enum OperatorType {
35.58 + IS_EQUAL, // '='
35.59 + IS_NOT_EQUAL, // '/='
35.60 + RGREATER, // '<'
35.61 + IS_SMALLER_OR_EQUAL, // '<='
35.62 + LGREATER, // '>'
35.63 + IS_GREATER_OR_EQUAL, // '>='
35.64 + BOOL_OR, // 'or'
35.65 + BOOL_AND, // 'and'
35.66 + BOOL_XOR, // 'xor'
35.67 + STRING_AND, // '&'
35.68 + OR, // '|'
35.69 + EXPON, // '**'
35.70 + PLUS, // '+'
35.71 + MINUS, // '-'
35.72 + MUL, // '*'
35.73 + DIV, // '/'
35.74 + MOD, // 'mod'
35.75 + REM, // 'rem'
35.76 + IN, // 'in'
35.77 + NOT_IN // 'not in'
35.78 + }
35.79 +
35.80 + private Expression left;
35.81 + private InfixExpression.OperatorType operator;
35.82 + private Expression right;
35.83 +
35.84 + public InfixExpression(int start, int end, Expression left, InfixExpression.OperatorType operator, Expression right) {
35.85 + super(start, end);
35.86 +
35.87 + if (right == null || left == null ) {
35.88 + throw new IllegalArgumentException();
35.89 + }
35.90 +
35.91 + this.left = left;
35.92 + this.right = right;
35.93 + this.operator = operator;
35.94 + }
35.95 +
35.96 +
35.97 +
35.98 + /**
35.99 + * Returns the operator of this infix expression.
35.100 + *
35.101 + * @return the infix operator
35.102 + */
35.103 + public InfixExpression.OperatorType getOperator() {
35.104 + return this.operator;
35.105 + }
35.106 +
35.107 + /**
35.108 + * Returns the left operand of this infix expression.
35.109 + *
35.110 + * @return the left operand node
35.111 + */
35.112 + public Expression getLeft() {
35.113 + return this.left;
35.114 + }
35.115 +
35.116 + /**
35.117 + * Returns the right operand of this infix expression.
35.118 + *
35.119 + * @return the right operand node
35.120 + */
35.121 + public Expression getRight() {
35.122 + return this.right;
35.123 + }
35.124 +
35.125 + @Override
35.126 + public void accept(Visitor visitor) {
35.127 + visitor.visit(this);
35.128 + }
35.129 +}
36.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/MethodInvocation.java Tue Oct 02 21:55:21 2012 -0400
36.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/MethodInvocation.java Mon Oct 15 23:38:26 2012 +0200
36.3 @@ -53,7 +53,7 @@
36.4 private MethodName name;
36.5 private final ArrayList<Expression> parameters = new ArrayList<Expression>();
36.6
36.7 - private MethodInvocation(int start, int end, VariableBase dispatcher, MethodName methodName, Expression[] parameters) {
36.8 + private MethodInvocation(int start, int end, NameBase dispatcher, MethodName methodName, Expression[] parameters) {
36.9 super(start, end, dispatcher);
36.10 this.name = methodName;
36.11 for (Expression expression : parameters) {
36.12 @@ -61,8 +61,8 @@
36.13 }
36.14 }
36.15
36.16 - public MethodInvocation(int start, int end, VariableBase dispatcher, MethodName methodName, List<Expression> parameters) {
36.17 - this(start, end, dispatcher, methodName, parameters == null ? null : (Expression[]) parameters.toArray(new Expression[parameters.size()]));
36.18 + public MethodInvocation(int start, int end, NameBase dispatcher, MethodName methodName, List<Expression> parameters) {
36.19 + this(start, end, dispatcher, methodName, parameters == null ? null : parameters.toArray(new Expression[parameters.size()]));
36.20 }
36.21
36.22 /**
37.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
37.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/NameBase.java Mon Oct 15 23:38:26 2012 +0200
37.3 @@ -0,0 +1,57 @@
37.4 +/*
37.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
37.6 + *
37.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
37.8 + *
37.9 + * The contents of this file are subject to the terms of either the GNU
37.10 + * General Public License Version 2 only ("GPL") or the Common
37.11 + * Development and Distribution License("CDDL") (collectively, the
37.12 + * "License"). You may not use this file except in compliance with the
37.13 + * License. You can obtain a copy of the License at
37.14 + * http://www.netbeans.org/cddl-gplv2.html
37.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
37.16 + * specific language governing permissions and limitations under the
37.17 + * License. When distributing the software, include this License Header
37.18 + * Notice in each file and include the License file at
37.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
37.20 + * particular file as subject to the "Classpath" exception as provided
37.21 + * by Sun in the GPL Version 2 section of the License file that
37.22 + * accompanied this code. If applicable, add the following below the
37.23 + * License Header, with the fields enclosed by brackets [] replaced by
37.24 + * your own identifying information:
37.25 + * "Portions Copyrighted [year] [name of copyright owner]"
37.26 + *
37.27 + * If you wish your version of this file to be governed by only the CDDL
37.28 + * or only the GPL Version 2, indicate your decision by adding
37.29 + * "[Contributor] elects to include this software in this distribution
37.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
37.31 + * single choice of license, a recipient has the option to distribute
37.32 + * your version of this file under either the CDDL, the GPL Version 2 or
37.33 + * to extend the choice of license to its licensees as provided above.
37.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
37.35 + * Version 2 license, then the option applies only if the new code is
37.36 + * made subject to such option by the copyright holder.
37.37 + *
37.38 + * Contributor(s):
37.39 + *
37.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
37.41 + */
37.42 +package org.netbeans.modules.ada.editor.ast.nodes;
37.43 +
37.44 +import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
37.45 +
37.46 +/**
37.47 + * This interface is base for all the Ada variables
37.48 + * including simple variable, function invocation, list, dispatch, etc.
37.49 + */
37.50 +public class NameBase extends Expression {
37.51 +
37.52 + public NameBase(int start, int end) {
37.53 + super(start, end);
37.54 + }
37.55 +
37.56 + @Override
37.57 + public void accept(Visitor visitor) {
37.58 + visitor.visit(this);
37.59 + }
37.60 +}
38.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/PackageInstanceCreation.java Tue Oct 02 21:55:21 2012 -0400
38.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/PackageInstanceCreation.java Mon Oct 15 23:38:26 2012 +0200
38.3 @@ -64,7 +64,7 @@
38.4 }
38.5
38.6 public PackageInstanceCreation(int start, int end, PackageName packageName, List<Expression> ctorParams) {
38.7 - this(start, end, packageName, ctorParams == null ? null : (Expression[]) ctorParams.toArray(new Expression[ctorParams.size()]));
38.8 + this(start, end, packageName, ctorParams == null ? null : ctorParams.toArray(new Expression[ctorParams.size()]));
38.9 }
38.10
38.11 /**
39.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/PackageName.java Tue Oct 02 21:55:21 2012 -0400
39.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/PackageName.java Mon Oct 15 23:38:26 2012 +0200
39.3 @@ -40,7 +40,6 @@
39.4 package org.netbeans.modules.ada.editor.ast.nodes;
39.5
39.6 import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
39.7 -import org.netbeans.modules.ada.editor.ast.ASTNode;
39.8
39.9 /**
39.10 * Holds a package name.
39.11 @@ -49,7 +48,7 @@
39.12 *
39.13 * @author Andrea Lucarelli
39.14 */
39.15 -public class PackageName extends ASTNode {
39.16 +public class PackageName extends NameBase {
39.17
39.18 private Identifier packageName;
39.19
40.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Program.java Tue Oct 02 21:55:21 2012 -0400
40.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Program.java Mon Oct 15 23:38:26 2012 +0200
40.3 @@ -39,6 +39,7 @@
40.4
40.5 package org.netbeans.modules.ada.editor.ast.nodes;
40.6
40.7 +import java.util.Arrays;
40.8 import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
40.9 import org.netbeans.modules.ada.editor.ast.ASTNode;
40.10 import java.util.ArrayList;
40.11 @@ -64,13 +65,10 @@
40.12
40.13 private Program(int start, int end, Statement[] statements, List<Comment> commentsList) {
40.14 super(start, end);
40.15 - for (Statement statement : statements) {
40.16 -// statement.setParent(this);
40.17 - this.statements.add(statement);
40.18 - }
40.19 + this.statements.addAll(Arrays.asList(statements));
40.20 for (Comment comment : commentsList) {
40.21 // comment.setParent(this);
40.22 - this.comments.add((Comment) comment);
40.23 + this.comments.add(comment);
40.24 }
40.25
40.26 }
41.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/RaiseStatement.java Tue Oct 02 21:55:21 2012 -0400
41.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/RaiseStatement.java Mon Oct 15 23:38:26 2012 +0200
41.3 @@ -48,9 +48,9 @@
41.4 */
41.5 public class RaiseStatement extends Statement {
41.6
41.7 - private String exceptionName;
41.8 + private Expression exceptionName;
41.9
41.10 - public RaiseStatement(int start, int end, String exceptionName) {
41.11 + public RaiseStatement(int start, int end, Expression exceptionName) {
41.12 super(start, end);
41.13 this.exceptionName = exceptionName;
41.14 }
41.15 @@ -60,7 +60,7 @@
41.16 *
41.17 * @return the exceptionName node
41.18 */
41.19 - public String getExceptionName() {
41.20 + public Expression getExceptionName() {
41.21 return exceptionName;
41.22 }
41.23
42.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
42.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Range.java Mon Oct 15 23:38:26 2012 +0200
42.3 @@ -0,0 +1,86 @@
42.4 +/*
42.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
42.6 + *
42.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
42.8 + *
42.9 + * The contents of this file are subject to the terms of either the GNU
42.10 + * General Public License Version 2 only ("GPL") or the Common
42.11 + * Development and Distribution License("CDDL") (collectively, the
42.12 + * "License"). You may not use this file except in compliance with the
42.13 + * License. You can obtain a copy of the License at
42.14 + * http://www.netbeans.org/cddl-gplv2.html
42.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
42.16 + * specific language governing permissions and limitations under the
42.17 + * License. When distributing the software, include this License Header
42.18 + * Notice in each file and include the License file at
42.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
42.20 + * particular file as subject to the "Classpath" exception as provided
42.21 + * by Sun in the GPL Version 2 section of the License file that
42.22 + * accompanied this code. If applicable, add the following below the
42.23 + * License Header, with the fields enclosed by brackets [] replaced by
42.24 + * your own identifying information:
42.25 + * "Portions Copyrighted [year] [name of copyright owner]"
42.26 + *
42.27 + * If you wish your version of this file to be governed by only the CDDL
42.28 + * or only the GPL Version 2, indicate your decision by adding
42.29 + * "[Contributor] elects to include this software in this distribution
42.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
42.31 + * single choice of license, a recipient has the option to distribute
42.32 + * your version of this file under either the CDDL, the GPL Version 2 or
42.33 + * to extend the choice of license to its licensees as provided above.
42.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
42.35 + * Version 2 license, then the option applies only if the new code is
42.36 + * made subject to such option by the copyright holder.
42.37 + *
42.38 + * Contributor(s):
42.39 + *
42.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
42.41 + */
42.42 +package org.netbeans.modules.ada.editor.ast.nodes;
42.43 +
42.44 +import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
42.45 +
42.46 +/**
42.47 + *
42.48 + * Represents an range expression
42.49 + * <pre>e.g.<pre>
42.50 + */
42.51 +public class Range extends Expression {
42.52 +
42.53 + private Expression left;
42.54 + private Expression right;
42.55 +
42.56 + public Range(int start, int end, Expression left, Expression right) {
42.57 + super(start, end);
42.58 +
42.59 + if (right == null || left == null ) {
42.60 + throw new IllegalArgumentException();
42.61 + }
42.62 +
42.63 + this.left = left;
42.64 + this.right = right;
42.65 + }
42.66 +
42.67 + /**
42.68 + * Returns the left operand of this range expression.
42.69 + *
42.70 + * @return the left operand node
42.71 + */
42.72 + public Expression getLeft() {
42.73 + return this.left;
42.74 + }
42.75 +
42.76 + /**
42.77 + * Returns the right operand of this range expression.
42.78 + *
42.79 + * @return the right operand node
42.80 + */
42.81 + public Expression getRight() {
42.82 + return this.right;
42.83 + }
42.84 +
42.85 + @Override
42.86 + public void accept(Visitor visitor) {
42.87 + visitor.visit(this);
42.88 + }
42.89 +}
43.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Reference.java Tue Oct 02 21:55:21 2012 -0400
43.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Reference.java Mon Oct 15 23:38:26 2012 +0200
43.3 @@ -59,7 +59,7 @@
43.4 this.expression = expression;
43.5 }
43.6
43.7 - public Reference(int start, int end, VariableBase variable) {
43.8 + public Reference(int start, int end, NameBase variable) {
43.9 this(start, end, (Expression)variable);
43.10 }
43.11
44.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Scalar.java Tue Oct 02 21:55:21 2012 -0400
44.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Scalar.java Mon Oct 15 23:38:26 2012 +0200
44.3 @@ -54,20 +54,9 @@
44.4 REAL, // 'real'
44.5 STRING, // 'string'
44.6 UNKNOWN, // unknown scalar in quote expression
44.7 - SYSTEM // system scalars (__CLASS__ / ...)
44.8 -
44.9 + SYSTEM // (NULL, etc.)
44.10 }
44.11 - // 'int'
44.12 - //public static final int TYPE_INT = 0;
44.13 - // 'real'
44.14 - //public static final int TYPE_REAL = 1;
44.15 - // 'string'
44.16 - //public static final int TYPE_STRING = 2;
44.17 - // unknown scalar in quote expression
44.18 - //public static final int TYPE_UNKNOWN = 3;
44.19 - // system scalars (__CLASS__ / ...)
44.20 - //public static final int TYPE_SYSTEM = 4;
44.21 -
44.22 +
44.23 private String stringValue;
44.24 private Type scalarType;
44.25
45.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/SubprogramBody.java Tue Oct 02 21:55:21 2012 -0400
45.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/SubprogramBody.java Mon Oct 15 23:38:26 2012 +0200
45.3 @@ -67,14 +67,14 @@
45.4 */
45.5 public class SubprogramBody extends Statement {
45.6
45.7 - private SubprogramSpecification subprogramSpecification;
45.8 - private Identifier subprogramNameEnd;
45.9 + private SubprogramSpecification subprogramSpecification;
45.10 + private Identifier subprogramNameEnd;
45.11 private Block declarations;
45.12 private Block body;
45.13
45.14 public SubprogramBody(int start, int end, SubprogramSpecification subprogramSpecification, Block declarations, Block body, Identifier subprogramNameEnd) {
45.15 super(start, end);
45.16 - this.subprogramSpecification = subprogramSpecification;
45.17 + this.subprogramSpecification = subprogramSpecification;
45.18 this.declarations = declarations;
45.19 this.body = body;
45.20 this.subprogramNameEnd = subprogramNameEnd;
45.21 @@ -98,11 +98,11 @@
45.22 return body;
45.23 }
45.24
45.25 - public SubprogramSpecification getSubprogramSpecification() {
45.26 - return subprogramSpecification;
45.27 - }
45.28 + public SubprogramSpecification getSubprogramSpecification() {
45.29 + return subprogramSpecification;
45.30 + }
45.31
45.32 - public Identifier getSubprogramNameEnd() {
45.33 + public Identifier getSubprogramNameEnd() {
45.34 return subprogramNameEnd;
45.35 }
45.36
46.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/SubprogramSpecification.java Tue Oct 02 21:55:21 2012 -0400
46.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/SubprogramSpecification.java Mon Oct 15 23:38:26 2012 +0200
46.3 @@ -39,6 +39,7 @@
46.4 package org.netbeans.modules.ada.editor.ast.nodes;
46.5
46.6 import java.util.ArrayList;
46.7 +import java.util.Arrays;
46.8 import java.util.List;
46.9 import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
46.10
46.11 @@ -66,18 +67,16 @@
46.12 super(start, end);
46.13
46.14 this.subprogramName = subprogramName;
46.15 - for (FormalParameter formalParameter : formalParameters) {
46.16 - this.formalParameters.add(formalParameter);
46.17 - }
46.18 + this.formalParameters.addAll(Arrays.asList(formalParameters));
46.19 this.subtypeReturn = subtypeReturn;
46.20 }
46.21
46.22 public SubprogramSpecification(int start, int end, Identifier subprogramName, List<FormalParameter> formalParameters) {
46.23 - this(start, end, subprogramName, (FormalParameter[]) formalParameters.toArray(new FormalParameter[formalParameters.size()]), null);
46.24 + this(start, end, subprogramName, formalParameters.toArray(new FormalParameter[formalParameters.size()]), null);
46.25 }
46.26
46.27 public SubprogramSpecification(int start, int end, Identifier subprogramName, List<FormalParameter> formalParameters, Identifier subtypeReturn) {
46.28 - this(start, end, subprogramName, (FormalParameter[]) formalParameters.toArray(new FormalParameter[formalParameters.size()]), subtypeReturn);
46.29 + this(start, end, subprogramName, formalParameters.toArray(new FormalParameter[formalParameters.size()]), subtypeReturn);
46.30 }
46.31
46.32 public SubprogramSpecification(int start, int end, Identifier subprogramName) {
47.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
47.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/TypeAccess.java Mon Oct 15 23:38:26 2012 +0200
47.3 @@ -0,0 +1,78 @@
47.4 +/*
47.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
47.6 + *
47.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
47.8 + *
47.9 + * The contents of this file are subject to the terms of either the GNU
47.10 + * General Public License Version 2 only ("GPL") or the Common
47.11 + * Development and Distribution License("CDDL") (collectively, the
47.12 + * "License"). You may not use this file except in compliance with the
47.13 + * License. You can obtain a copy of the License at
47.14 + * http://www.netbeans.org/cddl-gplv2.html
47.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
47.16 + * specific language governing permissions and limitations under the
47.17 + * License. When distributing the software, include this License Header
47.18 + * Notice in each file and include the License file at
47.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
47.20 + * particular file as subject to the "Classpath" exception as provided
47.21 + * by Sun in the GPL Version 2 section of the License file that
47.22 + * accompanied this code. If applicable, add the following below the
47.23 + * License Header, with the fields enclosed by brackets [] replaced by
47.24 + * your own identifying information:
47.25 + * "Portions Copyrighted [year] [name of copyright owner]"
47.26 + *
47.27 + * If you wish your version of this file to be governed by only the CDDL
47.28 + * or only the GPL Version 2, indicate your decision by adding
47.29 + * "[Contributor] elects to include this software in this distribution
47.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
47.31 + * single choice of license, a recipient has the option to distribute
47.32 + * your version of this file under either the CDDL, the GPL Version 2 or
47.33 + * to extend the choice of license to its licensees as provided above.
47.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
47.35 + * Version 2 license, then the option applies only if the new code is
47.36 + * made subject to such option by the copyright holder.
47.37 + *
47.38 + * Contributor(s):
47.39 + *
47.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
47.41 + */
47.42 +package org.netbeans.modules.ada.editor.ast.nodes;
47.43 +
47.44 +import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
47.45 +
47.46 +/**
47.47 + * Represents a field access
47.48 + * <pre>e.g.<pre>
47.49 + *
47.50 + * MyPackage.Foo
47.51 + */
47.52 +public class TypeAccess extends Dispatch {
47.53 +
47.54 + private TypeName field;
47.55 +
47.56 + public TypeAccess(int start, int end, NameBase dispatcher, TypeName field) {
47.57 + super(start, end, dispatcher);
47.58 + this.field = field;
47.59 + }
47.60 +
47.61 + /**
47.62 + * Return the field component of this field access
47.63 + *
47.64 + * @return the field component of this field access
47.65 + */
47.66 + public TypeName getField() {
47.67 + return field;
47.68 + }
47.69 +
47.70 + /**
47.71 + * see {@link #getField()}
47.72 + */
47.73 + public NameBase getMember() {
47.74 + return getField();
47.75 + }
47.76 +
47.77 + @Override
47.78 + public void accept(Visitor visitor) {
47.79 + visitor.visit(this);
47.80 + }
47.81 +}
48.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/TypeName.java Tue Oct 02 21:55:21 2012 -0400
48.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/TypeName.java Mon Oct 15 23:38:26 2012 +0200
48.3 @@ -40,7 +40,6 @@
48.4 package org.netbeans.modules.ada.editor.ast.nodes;
48.5
48.6 import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
48.7 -import org.netbeans.modules.ada.editor.ast.ASTNode;
48.8
48.9 /**
48.10 * Holds a type name.
48.11 @@ -49,14 +48,24 @@
48.12 *
48.13 * @author Andrea Lucarelli
48.14 */
48.15 -public class TypeName extends ASTNode {
48.16 +public class TypeName extends NameBase {
48.17
48.18 private Identifier typeName;
48.19 + private String attributeId;
48.20 + private boolean isBaseType = false;
48.21
48.22 public TypeName(int start, int end, Identifier typeName) {
48.23 super(start, end);
48.24 assert (typeName != null);
48.25 this.typeName = typeName;
48.26 +
48.27 + if (typeName.getName().equalsIgnoreCase("boolean") ||
48.28 + typeName.getName().equalsIgnoreCase("character") ||
48.29 + typeName.getName().equalsIgnoreCase("float") ||
48.30 + typeName.getName().equalsIgnoreCase("integer") ||
48.31 + typeName.getName().equalsIgnoreCase("wide_character")) {
48.32 + this.isBaseType = true;
48.33 + }
48.34 }
48.35
48.36 /**
48.37 @@ -67,6 +76,18 @@
48.38 public Identifier getTypeName() {
48.39 return this.typeName;
48.40 }
48.41 +
48.42 + public boolean isIsBaseType() {
48.43 + return isBaseType;
48.44 + }
48.45 +
48.46 + public String getAttributeId() {
48.47 + return attributeId;
48.48 + }
48.49 +
48.50 + public void setAttributeId(String attributeId) {
48.51 + this.attributeId = attributeId;
48.52 + }
48.53
48.54 @Override
48.55 public void accept(Visitor visitor) {
49.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/UnaryOperation.java Tue Oct 02 21:55:21 2012 -0400
49.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/UnaryOperation.java Mon Oct 15 23:38:26 2012 +0200
49.3 @@ -52,7 +52,9 @@
49.4 public enum Operator {
49.5 PLUS, // '+'
49.6 MINUS, // '-'
49.7 - AMP // '&'
49.8 + AMP, // '&'
49.9 + NOT, // 'not'
49.10 + ABS // 'abs'
49.11 }
49.12
49.13 private Expression expression;
50.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Use.java Tue Oct 02 21:55:21 2012 -0400
50.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Use.java Mon Oct 15 23:38:26 2012 +0200
50.3 @@ -54,9 +54,9 @@
50.4 */
50.5 public class Use extends Statement {
50.6
50.7 - private final ArrayList<Identifier> packages = new ArrayList<Identifier>();
50.8 + private final ArrayList<PackageName> packages = new ArrayList<PackageName>();
50.9
50.10 - public Use(int start, int end, List<Identifier> packages) {
50.11 + public Use(int start, int end, List<PackageName> packages) {
50.12 super(start, end);
50.13
50.14 this.packages.addAll(packages);
50.15 @@ -68,7 +68,7 @@
50.16 *
50.17 * @return the list of packages node
50.18 */
50.19 - public List<Identifier> getPackages() {
50.20 + public List<PackageName> getPackages() {
50.21 return packages;
50.22 }
50.23
51.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Variable.java Tue Oct 02 21:55:21 2012 -0400
51.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Variable.java Mon Oct 15 23:38:26 2012 +0200
51.3 @@ -36,7 +36,6 @@
51.4 *
51.5 * Portions Copyrighted 2008 Sun Microsystems, Inc.
51.6 */
51.7 -
51.8 package org.netbeans.modules.ada.editor.ast.nodes;
51.9
51.10 import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
51.11 @@ -55,7 +54,7 @@
51.12 *
51.13 * @author Andrea Lucarelli
51.14 */
51.15 -public class Variable extends VariableBase {
51.16 +public class Variable extends NameBase {
51.17
51.18 public enum Kind {
51.19 DEFAULT,
51.20 @@ -63,10 +62,9 @@
51.21 ALIASED,
51.22 ALIASED_CONSTANT,
51.23 }
51.24 -
51.25 private Identifier name;
51.26 private Kind variableKind;
51.27 - private TypeName variableType;
51.28 + private TypeName variableType;
51.29
51.30 public Variable(int start, int end, Identifier variableName, Variable.Kind kind, TypeName type) {
51.31 super(start, end);
51.32 @@ -75,13 +73,13 @@
51.33 this.variableType = type;
51.34 }
51.35
51.36 - public Variable(int start, int end, Identifier variableName, Variable.Kind kind) {
51.37 - this(start, end, variableName, kind, null);
51.38 - }
51.39 + public Variable(int start, int end, Identifier variableName, Variable.Kind kind) {
51.40 + this(start, end, variableName, kind, null);
51.41 + }
51.42
51.43 - public Variable(int start, int end, Identifier variableName) {
51.44 - this(start, end, variableName, Kind.DEFAULT, null);
51.45 - }
51.46 + public Variable(int start, int end, Identifier variableName) {
51.47 + this(start, end, variableName, Kind.DEFAULT, null);
51.48 + }
51.49
51.50 /**
51.51 * Returns the name (Identifier) of this variable
51.52 @@ -92,7 +90,7 @@
51.53 return this.name;
51.54 }
51.55
51.56 - /**
51.57 + /**
51.58 * Returns the type of this variable
51.59 *
51.60 * @return the type node
51.61 @@ -101,6 +99,16 @@
51.62 return this.variableType;
51.63 }
51.64
51.65 + /**
51.66 + * Returns the kind of this variable
51.67 + *
51.68 + * @return the kind node
51.69 + */
51.70 + public Kind getVariableKind() {
51.71 + return variableKind;
51.72 + }
51.73 +
51.74 +
51.75 @Override
51.76 public void accept(Visitor visitor) {
51.77 visitor.visit(this);
52.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/DefaultTreePathVisitor.java Tue Oct 02 21:55:21 2012 -0400
52.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/DefaultTreePathVisitor.java Mon Oct 15 23:38:26 2012 +0200
52.3 @@ -59,6 +59,7 @@
52.4 import org.netbeans.modules.ada.editor.ast.nodes.GotoStatement;
52.5 import org.netbeans.modules.ada.editor.ast.nodes.Identifier;
52.6 import org.netbeans.modules.ada.editor.ast.nodes.IfStatement;
52.7 +import org.netbeans.modules.ada.editor.ast.nodes.InfixExpression;
52.8 import org.netbeans.modules.ada.editor.ast.nodes.LoopStatement;
52.9 import org.netbeans.modules.ada.editor.ast.nodes.MethodDeclaration;
52.10 import org.netbeans.modules.ada.editor.ast.nodes.NullStatement;
52.11 @@ -70,6 +71,7 @@
52.12 import org.netbeans.modules.ada.editor.ast.nodes.Program;
52.13 import org.netbeans.modules.ada.editor.ast.nodes.QualifiedExpression;
52.14 import org.netbeans.modules.ada.editor.ast.nodes.RaiseStatement;
52.15 +import org.netbeans.modules.ada.editor.ast.nodes.Range;
52.16 import org.netbeans.modules.ada.editor.ast.nodes.Reference;
52.17 import org.netbeans.modules.ada.editor.ast.nodes.ReturnStatement;
52.18 import org.netbeans.modules.ada.editor.ast.nodes.Scalar;
52.19 @@ -115,6 +117,13 @@
52.20 }
52.21
52.22 @Override
52.23 + public void visit(ASTNode node) {
52.24 + path.addFirst(node);
52.25 + super.visit(node);
52.26 + path.removeFirst();
52.27 + }
52.28 +
52.29 + @Override
52.30 public void visit(AbortStatement node) {
52.31 path.addFirst(node);
52.32 super.visit(node);
52.33 @@ -143,6 +152,27 @@
52.34 }
52.35
52.36 @Override
52.37 + public void visit(BlockStatement node) {
52.38 + path.addFirst(node);
52.39 + super.visit(node);
52.40 + path.removeFirst();
52.41 + }
52.42 +
52.43 + @Override
52.44 + public void visit(CaseStatement node) {
52.45 + path.addFirst(node);
52.46 + super.visit(node);
52.47 + path.removeFirst();
52.48 + }
52.49 +
52.50 + @Override
52.51 + public void visit(CaseWhen node) {
52.52 + path.addFirst(node);
52.53 + super.visit(node);
52.54 + path.removeFirst();
52.55 + }
52.56 +
52.57 + @Override
52.58 public void visit(CodeStatement node) {
52.59 path.addFirst(node);
52.60 super.visit(node);
52.61 @@ -199,6 +229,20 @@
52.62 }
52.63
52.64 @Override
52.65 + public void visit(IfStatement node) {
52.66 + path.addFirst(node);
52.67 + super.visit(node);
52.68 + path.removeFirst();
52.69 + }
52.70 +
52.71 + @Override
52.72 + public void visit(InfixExpression node) {
52.73 + path.addFirst(node);
52.74 + super.visit(node);
52.75 + path.removeFirst();
52.76 + }
52.77 +
52.78 + @Override
52.79 public void visit(LoopStatement node) {
52.80 path.addFirst(node);
52.81 super.visit(node);
52.82 @@ -241,6 +285,13 @@
52.83 }
52.84
52.85 @Override
52.86 + public void visit(PackageRenames node) {
52.87 + path.addFirst(node);
52.88 + super.visit(node);
52.89 + path.removeFirst();
52.90 + }
52.91 +
52.92 + @Override
52.93 public void visit(PackageSpecification node) {
52.94 path.addFirst(node);
52.95 super.visit(node);
52.96 @@ -262,6 +313,13 @@
52.97 }
52.98
52.99 @Override
52.100 + public void visit(Range node) {
52.101 + path.addFirst(node);
52.102 + super.visit(node);
52.103 + path.removeFirst();
52.104 + }
52.105 +
52.106 + @Override
52.107 public void visit(RaiseStatement node) {
52.108 path.addFirst(node);
52.109 super.visit(node);
52.110 @@ -360,48 +418,6 @@
52.111 }
52.112
52.113 @Override
52.114 - public void visit(BlockStatement node) {
52.115 - path.addFirst(node);
52.116 - super.visit(node);
52.117 - path.removeFirst();
52.118 - }
52.119 -
52.120 - @Override
52.121 - public void visit(CaseStatement node) {
52.122 - path.addFirst(node);
52.123 - super.visit(node);
52.124 - path.removeFirst();
52.125 - }
52.126 -
52.127 - @Override
52.128 - public void visit(CaseWhen node) {
52.129 - path.addFirst(node);
52.130 - super.visit(node);
52.131 - path.removeFirst();
52.132 - }
52.133 -
52.134 - @Override
52.135 - public void visit(IfStatement node) {
52.136 - path.addFirst(node);
52.137 - super.visit(node);
52.138 - path.removeFirst();
52.139 - }
52.140 -
52.141 - @Override
52.142 - public void visit(PackageRenames node) {
52.143 - path.addFirst(node);
52.144 - super.visit(node);
52.145 - path.removeFirst();
52.146 - }
52.147 -
52.148 - @Override
52.149 - public void visit(ASTNode node) {
52.150 - path.addFirst(node);
52.151 - super.visit(node);
52.152 - path.removeFirst();
52.153 - }
52.154 -
52.155 - @Override
52.156 public void visit(UnaryOperation node) {
52.157 path.addFirst(node);
52.158 super.visit(node);
53.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/DefaultVisitor.java Tue Oct 02 21:55:21 2012 -0400
53.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/DefaultVisitor.java Mon Oct 15 23:38:26 2012 +0200
53.3 @@ -56,6 +56,7 @@
53.4 import org.netbeans.modules.ada.editor.ast.nodes.GotoStatement;
53.5 import org.netbeans.modules.ada.editor.ast.nodes.Identifier;
53.6 import org.netbeans.modules.ada.editor.ast.nodes.IfStatement;
53.7 +import org.netbeans.modules.ada.editor.ast.nodes.InfixExpression;
53.8 import org.netbeans.modules.ada.editor.ast.nodes.LoopStatement;
53.9 import org.netbeans.modules.ada.editor.ast.nodes.MethodDeclaration;
53.10 import org.netbeans.modules.ada.editor.ast.nodes.NullStatement;
53.11 @@ -67,6 +68,7 @@
53.12 import org.netbeans.modules.ada.editor.ast.nodes.Program;
53.13 import org.netbeans.modules.ada.editor.ast.nodes.QualifiedExpression;
53.14 import org.netbeans.modules.ada.editor.ast.nodes.RaiseStatement;
53.15 +import org.netbeans.modules.ada.editor.ast.nodes.Range;
53.16 import org.netbeans.modules.ada.editor.ast.nodes.Reference;
53.17 import org.netbeans.modules.ada.editor.ast.nodes.ReturnStatement;
53.18 import org.netbeans.modules.ada.editor.ast.nodes.Scalar;
53.19 @@ -127,6 +129,22 @@
53.20 scan(node.getStatements());
53.21 }
53.22
53.23 + public void visit(BlockStatement node) {
53.24 + scan(node.getLabel());
53.25 + scan(node.getDeclarations());
53.26 + scan(node.getBody());
53.27 + }
53.28 +
53.29 + public void visit(CaseStatement node) {
53.30 + scan(node.getExpression());
53.31 + scan(node.getBody());
53.32 + }
53.33 +
53.34 + public void visit(CaseWhen node) {
53.35 + scan(node.getValue());
53.36 + scan(node.getActions());
53.37 + }
53.38 +
53.39 public void visit(CodeStatement node) {
53.40 scan(node.getExpression());
53.41 }
53.42 @@ -158,6 +176,17 @@
53.43 public void visit(Identifier node) {
53.44 }
53.45
53.46 + public void visit(IfStatement node) {
53.47 + scan(node.getCondition());
53.48 + scan(node.getTrueStatement());
53.49 + scan(node.getFalseStatement());
53.50 + }
53.51 +
53.52 + public void visit(InfixExpression node) {
53.53 + scan(node.getLeft());
53.54 + scan(node.getRight());
53.55 + }
53.56 +
53.57 public void visit(LoopStatement node) {
53.58 scan(node.getCondition());
53.59 scan(node.getBody());
53.60 @@ -193,6 +222,11 @@
53.61 scan(node.getBody());
53.62 }
53.63
53.64 + public void visit(PackageRenames node) {
53.65 + scan(node.getName());
53.66 + scan(node.getPackageRenames());
53.67 + }
53.68 +
53.69 public void visit(Program node) {
53.70 scan(node.getStatements());
53.71 }
53.72 @@ -202,6 +236,11 @@
53.73 scan(node.getExpression());
53.74 }
53.75
53.76 + public void visit(Range node) {
53.77 + scan(node.getLeft());
53.78 + scan(node.getRight());
53.79 + }
53.80 +
53.81 public void visit(Reference node) {
53.82 scan(node.getExpression());
53.83 }
53.84 @@ -223,7 +262,7 @@
53.85 scan(node.getParentType());
53.86 }
53.87
53.88 - public void visit(TaskName node) {
53.89 + public void visit(TaskName node) {
53.90 scan(node.getTaskName());
53.91 }
53.92
53.93 @@ -263,33 +302,6 @@
53.94 scan(node.getPackages());
53.95 }
53.96
53.97 - public void visit(BlockStatement node) {
53.98 - scan(node.getLabel());
53.99 - scan(node.getDeclarations());
53.100 - scan(node.getBody());
53.101 - }
53.102 -
53.103 - public void visit(CaseStatement node) {
53.104 - scan(node.getExpression());
53.105 - scan(node.getBody());
53.106 - }
53.107 -
53.108 - public void visit(CaseWhen node) {
53.109 - scan(node.getValue());
53.110 - scan(node.getActions());
53.111 - }
53.112 -
53.113 - public void visit(IfStatement node) {
53.114 - scan(node.getCondition());
53.115 - scan(node.getTrueStatement());
53.116 - scan(node.getFalseStatement());
53.117 - }
53.118 -
53.119 - public void visit(PackageRenames node) {
53.120 - scan(node.getName());
53.121 - scan(node.getPackageRenames());
53.122 - }
53.123 -
53.124 public void visit(UnaryOperation node) {
53.125 scan(node.getExpression());
53.126 }
54.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/Visitor.java Tue Oct 02 21:55:21 2012 -0400
54.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/Visitor.java Mon Oct 15 23:38:26 2012 +0200
54.3 @@ -62,6 +62,7 @@
54.4 import org.netbeans.modules.ada.editor.ast.nodes.FormalParameter;
54.5 import org.netbeans.modules.ada.editor.ast.nodes.GotoStatement;
54.6 import org.netbeans.modules.ada.editor.ast.nodes.IfStatement;
54.7 +import org.netbeans.modules.ada.editor.ast.nodes.InfixExpression;
54.8 import org.netbeans.modules.ada.editor.ast.nodes.LoopStatement;
54.9 import org.netbeans.modules.ada.editor.ast.nodes.MethodDeclaration;
54.10 import org.netbeans.modules.ada.editor.ast.nodes.NullStatement;
54.11 @@ -70,6 +71,7 @@
54.12 import org.netbeans.modules.ada.editor.ast.nodes.PackageRenames;
54.13 import org.netbeans.modules.ada.editor.ast.nodes.QualifiedExpression;
54.14 import org.netbeans.modules.ada.editor.ast.nodes.RaiseStatement;
54.15 +import org.netbeans.modules.ada.editor.ast.nodes.Range;
54.16 import org.netbeans.modules.ada.editor.ast.nodes.ReturnStatement;
54.17 import org.netbeans.modules.ada.editor.ast.nodes.Scalar;
54.18 import org.netbeans.modules.ada.editor.ast.nodes.SingleFieldDeclaration;
54.19 @@ -94,10 +96,12 @@
54.20
54.21 public void visit(AbortStatement node);
54.22
54.23 - public void visit(ArrayAccess arrayAccess);
54.24 + public void visit(ArrayAccess arrayAccess);
54.25
54.26 public void visit(Assignment node);
54.27
54.28 + public void visit(Block node);
54.29 +
54.30 public void visit(BlockStatement node);
54.31
54.32 public void visit(CaseStatement node);
54.33 @@ -114,17 +118,19 @@
54.34
54.35 public void visit(FieldsDeclaration node);
54.36
54.37 - public void visit(FormalParameter node);
54.38 + public void visit(FormalParameter node);
54.39
54.40 public void visit(GotoStatement node);
54.41
54.42 public void visit(Identifier node);
54.43
54.44 + public void visit(InfixExpression infixExpression);
54.45 +
54.46 public void visit(IfStatement node);
54.47
54.48 public void visit(LoopStatement node);
54.49
54.50 - public void visit(MethodDeclaration node);
54.51 + public void visit(MethodDeclaration node);
54.52
54.53 public void visit(NullStatement node);
54.54
54.55 @@ -132,7 +138,7 @@
54.56
54.57 public void visit(PackageBody node);
54.58
54.59 - public void visit(PackageInstanceCreation node);
54.60 + public void visit(PackageInstanceCreation node);
54.61
54.62 public void visit(PackageName node);
54.63
54.64 @@ -142,19 +148,21 @@
54.65
54.66 public void visit(QualifiedExpression node);
54.67
54.68 - public void visit(Scalar node);
54.69 + public void visit(Scalar node);
54.70
54.71 - public void visit(SubprogramBody node);
54.72 + public void visit(SubprogramBody node);
54.73
54.74 - public void visit(SubprogramSpecification node);
54.75 + public void visit(SubprogramSpecification node);
54.76
54.77 public void visit(RaiseStatement node);
54.78
54.79 + public void visit(Range node);
54.80 +
54.81 public void visit(ReturnStatement node);
54.82
54.83 public void visit(SingleFieldDeclaration node);
54.84
54.85 - public void visit(SubtypeDeclaration node);
54.86 + public void visit(SubtypeDeclaration node);
54.87
54.88 public void visit(TaskName node);
54.89
54.90 @@ -169,6 +177,4 @@
54.91 public void visit(Use node);
54.92
54.93 public void visit(UnaryOperation node);
54.94 -
54.95 - public void visit(Block node);
54.96 }
55.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/formatter/AdaFormatter.java Tue Oct 02 21:55:21 2012 -0400
55.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/formatter/AdaFormatter.java Mon Oct 15 23:38:26 2012 +0200
55.3 @@ -449,7 +449,7 @@
55.4 try {
55.5 // Iterate in reverse order such that offsets are not affected by our edits
55.6 assert indents.size() == offsets.size();
55.7 - org.netbeans.editor.Formatter editorFormatter = null;
55.8 + //org.netbeans.editor.Formatter editorFormatter = null;
55.9 for (int i = indents.size() - 1; i >= 0; i--) {
55.10 int indent = indents.get(i);
55.11 int lineBegin = offsets.get(i);
55.12 @@ -489,10 +489,10 @@
55.13 assert lineBegin == Utilities.getRowStart(doc, lineBegin);
55.14 context.modifyIndent(lineBegin, indent);
55.15 } else {
55.16 - if (editorFormatter == null) {
55.17 - editorFormatter = doc.getFormatter();
55.18 - }
55.19 - editorFormatter.changeRowIndent(doc, lineBegin, indent);
55.20 +// if (editorFormatter == null) {
55.21 +// editorFormatter = doc.getFormatter();
55.22 +// }
55.23 +// editorFormatter.changeRowIndent(doc, lineBegin, indent);
55.24 }
55.25 }
55.26 }
56.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/formatter/ui/FmtOptions.java Tue Oct 02 21:55:21 2012 -0400
56.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/formatter/ui/FmtOptions.java Mon Oct 15 23:38:26 2012 +0200
56.3 @@ -72,7 +72,6 @@
56.4 import org.netbeans.api.editor.settings.SimpleValueNames;
56.5 import org.netbeans.api.editor.mimelookup.MimeLookup;
56.6
56.7 -import org.netbeans.editor.BaseDocument;
56.8 import org.netbeans.modules.ada.editor.formatter.AdaFormatter;
56.9 import org.netbeans.modules.ada.editor.AdaMimeResolver;
56.10 import org.netbeans.spi.options.OptionsPanelController;
57.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/formatter/ui/FmtTabsIndents.form Tue Oct 02 21:55:21 2012 -0400
57.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/formatter/ui/FmtTabsIndents.form Mon Oct 15 23:38:26 2012 +0200
57.3 @@ -1,23 +1,6 @@
57.4 -<?xml version="1.0" encoding="UTF-8" ?>
57.5 +<?xml version="1.1" encoding="UTF-8" ?>
57.6
57.7 <Form version="1.4" maxVersion="1.4" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
57.8 - <NonVisualComponents>
57.9 - <Component class="javax.swing.JTextField" name="jTextField3">
57.10 - <Properties>
57.11 - <Property name="text" type="java.lang.String" value="jTextField3"/>
57.12 - </Properties>
57.13 - </Component>
57.14 - <Component class="javax.swing.JCheckBox" name="jCheckBox3">
57.15 - <Properties>
57.16 - <Property name="text" type="java.lang.String" value="jCheckBox3"/>
57.17 - <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
57.18 - <Border info="org.netbeans.modules.form.compat2.border.EmptyBorderInfo">
57.19 - <EmptyBorder bottom="0" left="0" right="0" top="0"/>
57.20 - </Border>
57.21 - </Property>
57.22 - </Properties>
57.23 - </Component>
57.24 - </NonVisualComponents>
57.25 <Properties>
57.26 <Property name="name" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
57.27 <ResourceString bundle="org/netbeans/modules/ruby/options/Bundle.properties" key="LBL_Indents" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
57.28 @@ -30,7 +13,7 @@
57.29 <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
57.30 <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
57.31 <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
57.32 - <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="2"/>
57.33 + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
57.34 <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
57.35 <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
57.36 <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
57.37 @@ -39,28 +22,27 @@
57.38 <Layout>
57.39 <DimensionLayout dim="0">
57.40 <Group type="103" groupAlignment="0" attributes="0">
57.41 - <Group type="102" alignment="0" attributes="0">
57.42 + <Group type="102" attributes="0">
57.43 <Component id="continuationIndentSizeLabel" min="-2" max="-2" attributes="0"/>
57.44 - <EmptySpace pref="53" max="32767" attributes="0"/>
57.45 - <Component id="continuationIndentSizeField" min="-2" max="-2" attributes="1"/>
57.46 + <EmptySpace min="53" pref="53" max="53" attributes="0"/>
57.47 + <Component id="continuationIndentSizeField" min="-2" max="-2" attributes="0"/>
57.48 </Group>
57.49 - <Group type="102" alignment="0" attributes="0">
57.50 - <Component id="reformatCommentsCheckBox" min="-2" max="-2" attributes="0"/>
57.51 - <EmptySpace max="-2" attributes="0"/>
57.52 - </Group>
57.53 + <Component id="reformatCommentsCheckBox" min="-2" max="-2" attributes="0"/>
57.54 </Group>
57.55 </DimensionLayout>
57.56 <DimensionLayout dim="1">
57.57 <Group type="103" groupAlignment="0" attributes="0">
57.58 - <Group type="102" alignment="0" attributes="0">
57.59 - <EmptySpace max="-2" attributes="0"/>
57.60 - <Group type="103" groupAlignment="3" attributes="0">
57.61 - <Component id="continuationIndentSizeLabel" alignment="3" min="-2" max="-2" attributes="0"/>
57.62 - <Component id="continuationIndentSizeField" alignment="3" min="-2" max="-2" attributes="0"/>
57.63 + <Group type="102" attributes="0">
57.64 + <EmptySpace min="11" pref="11" max="11" attributes="0"/>
57.65 + <Group type="103" groupAlignment="0" attributes="0">
57.66 + <Group type="102" attributes="0">
57.67 + <EmptySpace min="3" pref="3" max="3" attributes="0"/>
57.68 + <Component id="continuationIndentSizeLabel" min="-2" max="-2" attributes="0"/>
57.69 + </Group>
57.70 + <Component id="continuationIndentSizeField" min="-2" max="-2" attributes="0"/>
57.71 </Group>
57.72 - <EmptySpace max="-2" attributes="0"/>
57.73 + <EmptySpace min="2" pref="2" max="2" attributes="0"/>
57.74 <Component id="reformatCommentsCheckBox" min="-2" max="-2" attributes="0"/>
57.75 - <EmptySpace pref="41" max="32767" attributes="0"/>
57.76 </Group>
57.77 </Group>
57.78 </DimensionLayout>
58.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/formatter/ui/FmtTabsIndents.java Tue Oct 02 21:55:21 2012 -0400
58.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/formatter/ui/FmtTabsIndents.java Mon Oct 15 23:38:26 2012 +0200
58.3 @@ -78,18 +78,11 @@
58.4 // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
58.5 private void initComponents() {
58.6
58.7 - jTextField3 = new javax.swing.JTextField();
58.8 - jCheckBox3 = new javax.swing.JCheckBox();
58.9 continuationIndentSizeLabel = new javax.swing.JLabel();
58.10 continuationIndentSizeField = new javax.swing.JTextField();
58.11 reformatCommentsCheckBox = new javax.swing.JCheckBox();
58.12
58.13 - jTextField3.setText("jTextField3");
58.14 -
58.15 - org.openide.awt.Mnemonics.setLocalizedText(jCheckBox3, "jCheckBox3");
58.16 - jCheckBox3.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
58.17 -
58.18 - setName("null");
58.19 + setName(org.openide.util.NbBundle.getMessage(FmtTabsIndents.class, "LBL_Indents")); // NOI18N
58.20 setOpaque(false);
58.21
58.22 org.openide.awt.Mnemonics.setLocalizedText(continuationIndentSizeLabel, org.openide.util.NbBundle.getMessage(FmtTabsIndents.class, "LBL_ContinuationIndentSize")); // NOI18N
58.23 @@ -99,35 +92,32 @@
58.24 org.openide.awt.Mnemonics.setLocalizedText(reformatCommentsCheckBox, org.openide.util.NbBundle.getMessage(FmtTabsIndents.class, "LBL_ReformatComments")); // NOI18N
58.25 reformatCommentsCheckBox.setEnabled(false);
58.26
58.27 - org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
58.28 + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
58.29 this.setLayout(layout);
58.30 layout.setHorizontalGroup(
58.31 - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
58.32 - .add(layout.createSequentialGroup()
58.33 - .add(continuationIndentSizeLabel)
58.34 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 53, Short.MAX_VALUE)
58.35 - .add(continuationIndentSizeField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
58.36 - .add(layout.createSequentialGroup()
58.37 - .add(reformatCommentsCheckBox)
58.38 - .addContainerGap())
58.39 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
58.40 + .addGroup(layout.createSequentialGroup()
58.41 + .addComponent(continuationIndentSizeLabel)
58.42 + .addGap(53, 53, 53)
58.43 + .addComponent(continuationIndentSizeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
58.44 + .addComponent(reformatCommentsCheckBox)
58.45 );
58.46 layout.setVerticalGroup(
58.47 - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
58.48 - .add(layout.createSequentialGroup()
58.49 - .addContainerGap()
58.50 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
58.51 - .add(continuationIndentSizeLabel)
58.52 - .add(continuationIndentSizeField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
58.53 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
58.54 - .add(reformatCommentsCheckBox)
58.55 - .addContainerGap(41, Short.MAX_VALUE))
58.56 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
58.57 + .addGroup(layout.createSequentialGroup()
58.58 + .addGap(11, 11, 11)
58.59 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
58.60 + .addGroup(layout.createSequentialGroup()
58.61 + .addGap(3, 3, 3)
58.62 + .addComponent(continuationIndentSizeLabel))
58.63 + .addComponent(continuationIndentSizeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
58.64 + .addGap(2, 2, 2)
58.65 + .addComponent(reformatCommentsCheckBox))
58.66 );
58.67 }// </editor-fold>//GEN-END:initComponents
58.68 // Variables declaration - do not modify//GEN-BEGIN:variables
58.69 private javax.swing.JTextField continuationIndentSizeField;
58.70 private javax.swing.JLabel continuationIndentSizeLabel;
58.71 - private javax.swing.JCheckBox jCheckBox3;
58.72 - private javax.swing.JTextField jTextField3;
58.73 private javax.swing.JCheckBox reformatCommentsCheckBox;
58.74 // End of variables declaration//GEN-END:variables
58.75 }
59.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/indexer/AdaElement.java Tue Oct 02 21:55:21 2012 -0400
59.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/indexer/AdaElement.java Mon Oct 15 23:38:26 2012 +0200
59.3 @@ -48,8 +48,9 @@
59.4 import org.openide.filesystems.FileObject;
59.5
59.6 /**
59.7 + * Based on org.netbeans.modules.php.editor.index (Tor Norbye)
59.8 *
59.9 - * @author Tor Norbye
59.10 + * @author Andrea Lucarelli
59.11 */
59.12 public abstract class AdaElement implements Element {
59.13 public abstract String getName();
60.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/indexer/AdaIndexer.java Tue Oct 02 21:55:21 2012 -0400
60.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/indexer/AdaIndexer.java Mon Oct 15 23:38:26 2012 +0200
60.3 @@ -237,7 +237,7 @@
60.4 private static void indexFieldsDeclaration(FieldsDeclaration fieldsDeclaration, IndexDocument document) {
60.5 for (SingleFieldDeclaration field : fieldsDeclaration.getFields()) {
60.6 if (field.getName().getName() instanceof Identifier) {
60.7 - Identifier identifier = (Identifier) field.getName().getName();
60.8 + Identifier identifier = field.getName().getName();
60.9 String signature = createFieldsDeclarationRecord(identifier.getName(), field.getStartOffset());
60.10 document.addPair(FIELD_FIELD, signature, false, true);
60.11 }
60.12 @@ -246,15 +246,15 @@
60.13
60.14 private static String createFieldsDeclarationRecord(String name, int offset) {
60.15 StringBuilder fieldSignature = new StringBuilder();
60.16 - fieldSignature.append(name + ";"); //NOI18N
60.17 - fieldSignature.append(offset + ";"); //NOI18N
60.18 + fieldSignature.append(name).append(";"); //NOI18N
60.19 + fieldSignature.append(offset).append(";"); //NOI18N
60.20 fieldSignature.append(";"); //NOI18N
60.21 return fieldSignature.toString();
60.22 }
60.23
60.24 private static void indexTypeDeclaration(TypeDeclaration typeDeclaration, IndexDocument document) {
60.25 if (typeDeclaration.getTypeName() instanceof Identifier) {
60.26 - Identifier identifier = (Identifier) typeDeclaration.getTypeName();
60.27 + Identifier identifier = typeDeclaration.getTypeName();
60.28 String signature = createTypeDeclarationRecord(identifier.getName(), typeDeclaration.getStartOffset());
60.29 document.addPair(FIELD_FIELD, signature, false, true);
60.30 }
60.31 @@ -430,7 +430,7 @@
60.32 // create a new document for each class
60.33 IndexDocument pkgDocument = support.createDocument(indexable);
60.34 documents.add(pkgDocument);
60.35 - indexPkgSpec((PackageSpecification) node, pkgDocument, root);
60.36 + indexPkgSpec(node, pkgDocument, root);
60.37 List<IdentifierSignature> idSignatures = new ArrayList<IdentifierSignature>();
60.38 for (IdentifierSignature idSign : idSignatures) {
60.39 identifierDocument.addPair(FIELD_IDENTIFIER_DECLARATION, idSign.getSignature(), true, true);
60.40 @@ -443,7 +443,7 @@
60.41 // create a new document for each class
60.42 IndexDocument pkgDocument = support.createDocument(indexable);
60.43 documents.add(pkgDocument);
60.44 - indexPkgBody((PackageBody) node, pkgDocument);
60.45 + indexPkgBody(node, pkgDocument);
60.46 List<IdentifierSignature> idSignatures = new ArrayList<IdentifierSignature>();
60.47 for (IdentifierSignature idSign : idSignatures) {
60.48 identifierDocument.addPair(FIELD_IDENTIFIER_DECLARATION, idSign.getSignature(), true, true);
60.49 @@ -458,7 +458,7 @@
60.50 return;
60.51 }
60.52
60.53 - indexSubprogSpec((SubprogramSpecification) node, defaultDocument, root);
60.54 + indexSubprogSpec(node, defaultDocument, root);
60.55 super.visit(node);
60.56 }
60.57
60.58 @@ -469,7 +469,7 @@
60.59 return;
60.60 }
60.61
60.62 - indexSubprogBody((SubprogramBody) node, defaultDocument, root);
60.63 + indexSubprogBody(node, defaultDocument, root);
60.64 super.visit(node);
60.65 }
60.66 }
61.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/indexer/Element.java Tue Oct 02 21:55:21 2012 -0400
61.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/indexer/Element.java Mon Oct 15 23:38:26 2012 +0200
61.3 @@ -43,7 +43,6 @@
61.4
61.5 import java.util.Set;
61.6 import org.netbeans.modules.csl.api.ElementHandle;
61.7 -import org.netbeans.modules.csl.api.ElementKind;
61.8 import org.netbeans.modules.csl.api.Modifier;
61.9
61.10 /**
61.11 @@ -53,6 +52,5 @@
61.12 public interface Element extends ElementHandle {
61.13 String getName();
61.14 String getIn();
61.15 - ElementKind getKind();
61.16 Set<Modifier> getModifiers();
61.17 }
62.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/Ada95ASTLexer.java Tue Oct 02 21:55:21 2012 -0400
62.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
62.3 @@ -1,1535 +0,0 @@
62.4 -/* The following code was generated by JFlex 1.4.2 on 08/02/09 0.16 */
62.5 -
62.6 -/*
62.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
62.8 - *
62.9 - * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
62.10 - *
62.11 - * The contents of this file are subject to the terms of either the GNU
62.12 - * General Public License Version 2 only ("GPL") or the Common
62.13 - * Development and Distribution License("CDDL") (collectively, the
62.14 - * "License"). You may not use this file except in compliance with the
62.15 - * License. You can obtain a copy of the License at
62.16 - * http://www.netbeans.org/cddl-gplv2.html
62.17 - * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
62.18 - * specific language governing permissions and limitations under the
62.19 - * License. When distributing the software, include this License Header
62.20 - * Notice in each file and include the License file at
62.21 - * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
62.22 - * particular file as subject to the "Classpath" exception as provided
62.23 - * by Sun in the GPL Version 2 section of the License file that
62.24 - * accompanied this code. If applicable, add the following below the
62.25 - * License Header, with the fields enclosed by brackets [] replaced by
62.26 - * your own identifying information:
62.27 - * "Portions Copyrighted [year] [name of copyright owner]"
62.28 - *
62.29 - * If you wish your version of this file to be governed by only the CDDL
62.30 - * or only the GPL Version 2, indicate your decision by adding
62.31 - * "[Contributor] elects to include this software in this distribution
62.32 - * under the [CDDL or GPL Version 2] license." If you do not indicate a
62.33 - * single choice of license, a recipient has the option to distribute
62.34 - * your version of this file under either the CDDL, the GPL Version 2 or
62.35 - * to extend the choice of license to its licensees as provided above.
62.36 - * However, if you add GPL Version 2 code and therefore, elected the GPL
62.37 - * Version 2 license, then the option applies only if the new code is
62.38 - * made subject to such option by the copyright holder.
62.39 - *
62.40 - * Contributor(s):
62.41 - *
62.42 - * Portions Copyrighted 2008 Sun Microsystems, Inc.
62.43 - */
62.44 -package org.netbeans.modules.ada.editor.lexer;
62.45 -
62.46 -import java.util.LinkedList;
62.47 -import java.util.List;
62.48 -import org.netbeans.modules.ada.editor.AdaVersion;
62.49 -import org.netbeans.modules.ada.editor.parser.Ada95ASTSymbols;
62.50 -import org.netbeans.modules.ada.editor.ast.nodes.*;
62.51 -import java_cup.runtime.*;
62.52 -
62.53 -
62.54 -/**
62.55 - * This class is a scanner generated by
62.56 - * <a href="http://www.jflex.de/">JFlex</a> 1.4.2
62.57 - * on 08/02/09 0.16 from the specification file
62.58 - * <tt>C:/hg-repo/release65/contrib/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95ASTLexer.flex</tt>
62.59 - */
62.60 -public class Ada95ASTLexer implements Scanner {
62.61 -
62.62 - /** This character denotes the end of file */
62.63 - public static final int YYEOF = -1;
62.64 -
62.65 - /** initial size of the lookahead buffer */
62.66 - private static final int ZZ_BUFFERSIZE = 16384;
62.67 -
62.68 - /** lexical states */
62.69 - public static final int ST_LOOKING_FOR_PROPERTY = 2;
62.70 - public static final int YYINITIAL = 0;
62.71 - public static final int ST_LINE_COMMENT = 4;
62.72 -
62.73 - /**
62.74 - * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
62.75 - * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
62.76 - * at the beginning of a line
62.77 - * l is of the form l = 2*k, k a non negative integer
62.78 - */
62.79 - private static final int ZZ_LEXSTATE[] = {
62.80 - 0, 0, 1, 1, 2, 2
62.81 - };
62.82 -
62.83 - /**
62.84 - * Translates characters to character classes
62.85 - */
62.86 - private static final String ZZ_CMAP_PACKED =
62.87 - "\11\0\1\13\1\15\2\0\1\17\22\0\1\13\1\60\1\14\1\10"+
62.88 - "\2\0\1\46\1\16\1\47\1\50\1\51\1\5\1\52\1\6\1\7"+
62.89 - "\1\53\12\1\1\11\1\54\1\55\1\56\1\57\2\0\1\20\1\21"+
62.90 - "\1\26\1\32\1\4\1\2\1\35\1\42\1\31\1\12\1\43\1\30"+
62.91 - "\1\40\1\33\1\22\1\27\1\45\1\23\1\25\1\24\1\37\1\44"+
62.92 - "\1\41\1\36\1\34\1\12\4\0\1\3\1\0\1\20\1\21\1\26"+
62.93 - "\1\32\1\4\1\2\1\35\1\42\1\31\1\12\1\43\1\30\1\40"+
62.94 - "\1\33\1\22\1\27\1\45\1\23\1\25\1\24\1\37\1\44\1\41"+
62.95 - "\1\36\1\34\1\12\1\0\1\60\uff83\0";
62.96 -
62.97 - /**
62.98 - * Translates characters to character classes
62.99 - */
62.100 - private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
62.101 -
62.102 - /**
62.103 - * Translates DFA states to action switch labels.
62.104 - */
62.105 - private static final int [] ZZ_ACTION = zzUnpackAction();
62.106 -
62.107 - private static final String ZZ_ACTION_PACKED_0 =
62.108 - "\3\0\1\1\1\2\2\3\1\4\1\5\1\6\1\7"+
62.109 - "\1\3\1\10\1\1\1\11\21\3\1\12\1\13\1\14"+
62.110 - "\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24"+
62.111 - "\1\25\1\26\1\27\2\30\6\0\5\3\1\31\1\32"+
62.112 - "\1\33\1\0\1\34\1\0\2\3\1\35\5\3\1\36"+
62.113 - "\1\37\20\3\1\40\1\41\1\42\1\3\1\43\13\3"+
62.114 - "\1\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53"+
62.115 - "\1\0\1\54\1\0\1\2\1\0\1\2\1\0\1\55"+
62.116 - "\3\3\1\56\2\3\1\57\1\3\1\60\2\3\1\61"+
62.117 - "\1\3\1\62\3\3\1\63\3\3\1\64\26\3\1\65"+
62.118 - "\1\66\3\3\1\67\1\70\1\3\1\71\3\3\2\0"+
62.119 - "\1\72\1\3\1\73\3\3\1\74\6\3\1\75\11\3"+
62.120 - "\1\76\1\3\1\77\1\100\3\3\1\101\6\3\1\102"+
62.121 - "\4\3\1\103\1\3\1\104\1\3\1\105\1\106\1\3"+
62.122 - "\3\0\1\3\1\107\1\110\1\3\1\111\1\3\1\112"+
62.123 - "\3\3\1\113\6\3\1\114\1\115\15\3\1\116\1\117"+
62.124 - "\1\3\1\120\1\121\1\0\1\72\1\0\3\3\1\122"+
62.125 - "\1\123\1\3\1\124\1\125\1\126\4\3\1\127\1\3"+
62.126 - "\1\130\3\3\1\131\6\3\1\0\3\3\1\132\1\133"+
62.127 - "\1\134\1\135\2\3\1\136\1\3\1\137\2\3\1\140"+
62.128 - "\1\141\1\142\1\143\1\0\1\144\1\3\1\145\1\3"+
62.129 - "\1\146\1\147\2\3\1\30\1\150\1\151\1\152\1\153";
62.130 -
62.131 - private static int [] zzUnpackAction() {
62.132 - int [] result = new int[332];
62.133 - int offset = 0;
62.134 - offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
62.135 - return result;
62.136 - }
62.137 -
62.138 - private static int zzUnpackAction(String packed, int offset, int [] result) {
62.139 - int i = 0; /* index in packed string */
62.140 - int j = offset; /* index in unpacked array */
62.141 - int l = packed.length();
62.142 - while (i < l) {
62.143 - int count = packed.charAt(i++);
62.144 - int value = packed.charAt(i++);
62.145 - do result[j++] = value; while (--count > 0);
62.146 - }
62.147 - return j;
62.148 - }
62.149 -
62.150 -
62.151 - /**
62.152 - * Translates a state to a row index in the transition table
62.153 - */
62.154 - private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
62.155 -
62.156 - private static final String ZZ_ROWMAP_PACKED_0 =
62.157 - "\0\0\0\61\0\142\0\223\0\304\0\365\0\u0126\0\223"+
62.158 - "\0\u0157\0\u0188\0\u01b9\0\u01ea\0\u021b\0\u024c\0\u027d\0\u02ae"+
62.159 - "\0\u02df\0\u0310\0\u0341\0\u0372\0\u03a3\0\u03d4\0\u0405\0\u0436"+
62.160 - "\0\u0467\0\u0498\0\u04c9\0\u04fa\0\u052b\0\u055c\0\u058d\0\u05be"+
62.161 - "\0\223\0\223\0\223\0\u05ef\0\223\0\u0620\0\223\0\u0651"+
62.162 - "\0\u0682\0\u06b3\0\223\0\223\0\u06e4\0\u0715\0\223\0\u0746"+
62.163 - "\0\u0777\0\u07a8\0\u07d9\0\u080a\0\u083b\0\u086c\0\u089d\0\u08ce"+
62.164 - "\0\u08ff\0\u0930\0\u0961\0\223\0\223\0\223\0\u024c\0\u0992"+
62.165 - "\0\u09c3\0\u09f4\0\u0a25\0\u01ea\0\u0a56\0\u0a87\0\u0ab8\0\u0ae9"+
62.166 - "\0\u0b1a\0\u01ea\0\u01ea\0\u0b4b\0\u0b7c\0\u0bad\0\u0bde\0\u0c0f"+
62.167 - "\0\u0c40\0\u0c71\0\u0ca2\0\u0cd3\0\u0d04\0\u0d35\0\u0d66\0\u0d97"+
62.168 - "\0\u0dc8\0\u0df9\0\u0e2a\0\u01ea\0\u01ea\0\u01ea\0\u0e5b\0\u01ea"+
62.169 - "\0\u0e8c\0\u0ebd\0\u0eee\0\u0f1f\0\u0f50\0\u0f81\0\u0fb2\0\u0fe3"+
62.170 - "\0\u1014\0\u1045\0\u1076\0\223\0\223\0\223\0\223\0\223"+
62.171 - "\0\223\0\223\0\223\0\u10a7\0\223\0\u10d8\0\u1109\0\u113a"+
62.172 - "\0\u116b\0\u119c\0\u01ea\0\u11cd\0\u11fe\0\u122f\0\u01ea\0\u1260"+
62.173 - "\0\u1291\0\223\0\u12c2\0\u12f3\0\u1324\0\u1355\0\u01ea\0\u1386"+
62.174 - "\0\u01ea\0\u13b7\0\u13e8\0\u1419\0\u01ea\0\u144a\0\u147b\0\u14ac"+
62.175 - "\0\u01ea\0\u14dd\0\u150e\0\u153f\0\u1570\0\u15a1\0\u15d2\0\u1603"+
62.176 - "\0\u1634\0\u1665\0\u1696\0\u16c7\0\u16f8\0\u1729\0\u175a\0\u178b"+
62.177 - "\0\u17bc\0\u17ed\0\u181e\0\u184f\0\u1880\0\u18b1\0\u18e2\0\u01ea"+
62.178 - "\0\u01ea\0\u1913\0\u1944\0\u1975\0\u01ea\0\u01ea\0\u19a6\0\u01ea"+
62.179 - "\0\u19d7\0\u1a08\0\u1a39\0\u1a6a\0\u1a9b\0\u1acc\0\u1afd\0\u01ea"+
62.180 - "\0\u1b2e\0\u1b5f\0\u1b90\0\u01ea\0\u1bc1\0\u1bf2\0\u1c23\0\u1c54"+
62.181 - "\0\u1c85\0\u1cb6\0\u01ea\0\u1ce7\0\u1d18\0\u1d49\0\u1d7a\0\u1dab"+
62.182 - "\0\u1ddc\0\u1e0d\0\u1e3e\0\u1e6f\0\u01ea\0\u1ea0\0\u01ea\0\u01ea"+
62.183 - "\0\u1ed1\0\u1f02\0\u1f33\0\u01ea\0\u1f64\0\u1f95\0\u1fc6\0\u1ff7"+
62.184 - "\0\u2028\0\u2059\0\u01ea\0\u208a\0\u20bb\0\u20ec\0\u211d\0\u01ea"+
62.185 - "\0\u214e\0\u01ea\0\u217f\0\u01ea\0\u01ea\0\u21b0\0\u21e1\0\u2212"+
62.186 - "\0\u2243\0\u2274\0\u01ea\0\u01ea\0\u22a5\0\u01ea\0\u22d6\0\u01ea"+
62.187 - "\0\u2307\0\u2338\0\u2369\0\u01ea\0\u239a\0\u23cb\0\u23fc\0\u242d"+
62.188 - "\0\u245e\0\u248f\0\u01ea\0\u01ea\0\u24c0\0\u24f1\0\u2522\0\u2553"+
62.189 - "\0\u2584\0\u25b5\0\u25e6\0\u2617\0\u2648\0\u2679\0\u26aa\0\u26db"+
62.190 - "\0\u270c\0\u01ea\0\u01ea\0\u273d\0\u01ea\0\u01ea\0\u276e\0\u279f"+
62.191 - "\0\u27d0\0\u2801\0\u2832\0\u2863\0\u01ea\0\u01ea\0\u2894\0\u01ea"+
62.192 - "\0\u01ea\0\u01ea\0\u28c5\0\u28f6\0\u2927\0\u2958\0\u01ea\0\u2989"+
62.193 - "\0\u01ea\0\u29ba\0\u29eb\0\u2a1c\0\u01ea\0\u2a4d\0\u2a7e\0\u2aaf"+
62.194 - "\0\u2ae0\0\u2b11\0\u2b42\0\u2b73\0\u2ba4\0\u2bd5\0\u2c06\0\u01ea"+
62.195 - "\0\u01ea\0\u01ea\0\u01ea\0\u2c37\0\u2c68\0\u01ea\0\u2c99\0\u01ea"+
62.196 - "\0\u2cca\0\u2cfb\0\u01ea\0\u01ea\0\u01ea\0\u01ea\0\u2d2c\0\u01ea"+
62.197 - "\0\u2d5d\0\u01ea\0\u2d8e\0\u01ea\0\u01ea\0\u2dbf\0\u2df0\0\142"+
62.198 - "\0\u01ea\0\u01ea\0\u01ea\0\u01ea";
62.199 -
62.200 - private static int [] zzUnpackRowMap() {
62.201 - int [] result = new int[332];
62.202 - int offset = 0;
62.203 - offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
62.204 - return result;
62.205 - }
62.206 -
62.207 - private static int zzUnpackRowMap(String packed, int offset, int [] result) {
62.208 - int i = 0; /* index in packed string */
62.209 - int j = offset; /* index in unpacked array */
62.210 - int l = packed.length();
62.211 - while (i < l) {
62.212 - int high = packed.charAt(i++) << 16;
62.213 - result[j++] = high | packed.charAt(i++);
62.214 - }
62.215 - return j;
62.216 - }
62.217 -
62.218 - /**
62.219 - * The transition table of the DFA
62.220 - */
62.221 - private static final int [] ZZ_TRANS = zzUnpackTrans();
62.222 -
62.223 - private static final String ZZ_TRANS_PACKED_0 =
62.224 - "\1\4\1\5\1\6\1\4\1\7\1\10\1\11\1\12"+
62.225 - "\1\4\1\13\1\14\1\15\1\16\1\15\1\17\1\15"+
62.226 - "\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27"+
62.227 - "\1\30\1\31\1\32\1\33\1\14\1\34\1\35\1\36"+
62.228 - "\1\37\1\40\4\14\1\41\1\42\1\43\1\44\1\45"+
62.229 - "\1\46\1\47\1\50\1\51\1\52\1\53\2\54\1\55"+
62.230 - "\1\54\1\55\2\54\1\56\2\54\1\55\5\54\26\55"+
62.231 - "\13\54\15\3\1\57\1\3\1\60\1\61\40\3\62\0"+
62.232 - "\1\5\1\0\1\62\1\63\2\0\1\64\2\65\50\0"+
62.233 - "\2\14\1\66\1\14\5\0\1\14\5\0\2\14\1\67"+
62.234 - "\14\14\1\70\6\14\14\0\2\14\1\66\1\14\5\0"+
62.235 - "\1\14\5\0\10\14\1\71\2\14\1\72\2\14\1\73"+
62.236 - "\7\14\21\0\1\74\61\0\1\75\127\0\1\76\3\0"+
62.237 - "\2\14\1\66\1\14\5\0\1\14\5\0\26\14\26\0"+
62.238 - "\1\15\1\0\1\15\1\0\1\15\41\0\14\77\1\100"+
62.239 - "\1\0\43\77\15\101\1\0\43\101\1\0\2\14\1\66"+
62.240 - "\1\14\5\0\1\14\5\0\1\14\1\102\1\14\1\103"+
62.241 - "\1\104\1\14\1\105\1\14\1\106\2\14\1\107\12\14"+
62.242 - "\14\0\2\14\1\66\1\110\5\0\1\14\5\0\2\14"+
62.243 - "\1\111\23\14\14\0\1\14\1\112\1\66\1\14\5\0"+
62.244 - "\1\14\5\0\3\14\1\113\1\114\12\14\1\115\6\14"+
62.245 - "\14\0\2\14\1\66\1\116\5\0\1\14\5\0\1\117"+
62.246 - "\25\14\14\0\2\14\1\66\1\120\5\0\1\14\5\0"+
62.247 - "\1\121\13\14\1\122\5\14\1\123\3\14\14\0\2\14"+
62.248 - "\1\66\1\124\5\0\1\14\5\0\17\14\1\125\6\14"+
62.249 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\1\126"+
62.250 - "\1\14\1\127\23\14\14\0\2\14\1\66\1\14\5\0"+
62.251 - "\1\14\5\0\1\130\2\14\1\131\22\14\14\0\2\14"+
62.252 - "\1\66\1\14\5\0\1\14\5\0\2\14\1\132\6\14"+
62.253 - "\1\133\14\14\14\0\1\14\1\134\1\66\1\14\5\0"+
62.254 - "\1\14\5\0\5\14\1\135\5\14\1\136\12\14\14\0"+
62.255 - "\2\14\1\66\1\137\5\0\1\14\5\0\2\14\1\140"+
62.256 - "\23\14\14\0\2\14\1\66\1\141\5\0\1\14\5\0"+
62.257 - "\2\14\1\142\14\14\1\143\6\14\14\0\2\14\1\66"+
62.258 - "\1\144\5\0\1\14\5\0\2\14\1\145\23\14\14\0"+
62.259 - "\2\14\1\66\1\14\5\0\1\14\5\0\2\14\1\146"+
62.260 - "\23\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
62.261 - "\5\14\1\147\5\14\1\150\12\14\14\0\2\14\1\66"+
62.262 - "\1\14\5\0\1\14\5\0\2\14\1\151\23\14\14\0"+
62.263 - "\2\14\1\66\1\14\5\0\1\14\5\0\11\14\1\152"+
62.264 - "\10\14\1\153\3\14\64\0\1\154\65\0\1\155\57\0"+
62.265 - "\1\156\1\157\1\160\60\0\1\161\57\0\1\162\1\163"+
62.266 - "\2\0\2\55\1\164\1\55\5\0\1\55\5\0\26\55"+
62.267 - "\22\0\1\165\66\0\1\57\43\0\15\3\1\57\1\3"+
62.268 - "\1\60\1\61\12\3\1\166\25\3\1\0\1\5\60\0"+
62.269 - "\1\167\3\0\2\170\53\0\1\171\60\0\2\172\1\0"+
62.270 - "\1\172\13\0\2\172\4\0\1\172\3\0\1\172\27\0"+
62.271 - "\2\14\1\0\1\14\5\0\1\14\5\0\26\14\14\0"+
62.272 - "\2\14\1\66\1\14\5\0\1\14\5\0\3\14\1\173"+
62.273 - "\22\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
62.274 - "\13\14\1\174\12\14\14\0\2\14\1\66\1\14\5\0"+
62.275 - "\1\14\5\0\5\14\1\175\20\14\14\0\2\14\1\66"+
62.276 - "\1\14\5\0\1\14\5\0\4\14\1\176\5\14\1\177"+
62.277 - "\13\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
62.278 - "\6\14\1\200\2\14\1\201\14\14\27\0\1\77\62\0"+
62.279 - "\1\202\43\0\2\14\1\66\1\14\5\0\1\14\5\0"+
62.280 - "\2\14\1\203\2\14\1\204\20\14\14\0\2\14\1\66"+
62.281 - "\1\14\5\0\1\14\5\0\3\14\1\205\22\14\14\0"+
62.282 - "\2\14\1\66\1\14\5\0\1\14\5\0\6\14\1\206"+
62.283 - "\17\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
62.284 - "\10\14\1\207\1\210\14\14\14\0\2\14\1\66\1\14"+
62.285 - "\5\0\1\14\5\0\12\14\1\211\13\14\14\0\2\14"+
62.286 - "\1\66\1\14\5\0\1\14\5\0\15\14\1\212\10\14"+
62.287 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\12\14"+
62.288 - "\1\213\13\14\14\0\2\14\1\66\1\14\5\0\1\14"+
62.289 - "\5\0\22\14\1\214\3\14\14\0\2\14\1\66\1\14"+
62.290 - "\5\0\1\14\5\0\4\14\1\215\21\14\14\0\2\14"+
62.291 - "\1\66\1\14\5\0\1\14\5\0\4\14\1\216\1\14"+
62.292 - "\1\217\4\14\1\220\4\14\1\221\3\14\1\222\1\223"+
62.293 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\11\14"+
62.294 - "\1\224\1\14\1\225\12\14\14\0\2\14\1\66\1\14"+
62.295 - "\5\0\1\14\5\0\3\14\1\226\22\14\14\0\2\14"+
62.296 - "\1\66\1\14\5\0\1\14\5\0\5\14\1\227\7\14"+
62.297 - "\1\230\10\14\14\0\2\14\1\66\1\14\5\0\1\14"+
62.298 - "\5\0\7\14\1\231\16\14\14\0\2\14\1\66\1\232"+
62.299 - "\5\0\1\14\5\0\26\14\14\0\2\14\1\66\1\14"+
62.300 - "\5\0\1\14\5\0\7\14\1\233\1\234\15\14\14\0"+
62.301 - "\2\14\1\66\1\14\5\0\1\14\5\0\1\14\1\235"+
62.302 - "\24\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
62.303 - "\5\14\1\236\20\14\14\0\2\14\1\66\1\14\5\0"+
62.304 - "\1\14\5\0\13\14\1\237\12\14\14\0\2\14\1\66"+
62.305 - "\1\14\5\0\1\14\5\0\6\14\1\240\17\14\14\0"+
62.306 - "\2\14\1\66\1\14\5\0\1\14\5\0\1\241\1\14"+
62.307 - "\1\242\6\14\1\243\14\14\14\0\2\14\1\66\1\14"+
62.308 - "\5\0\1\14\5\0\2\14\1\244\23\14\14\0\2\14"+
62.309 - "\1\66\1\14\5\0\1\14\5\0\20\14\1\245\5\14"+
62.310 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\6\14"+
62.311 - "\1\246\1\14\1\247\15\14\14\0\2\14\1\66\1\14"+
62.312 - "\5\0\1\14\5\0\21\14\1\250\4\14\14\0\2\14"+
62.313 - "\1\66\1\14\5\0\1\14\5\0\4\14\1\251\21\14"+
62.314 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\10\14"+
62.315 - "\1\252\15\14\14\0\2\14\1\66\1\14\5\0\1\14"+
62.316 - "\5\0\13\14\1\253\12\14\14\0\2\14\1\66\1\14"+
62.317 - "\5\0\1\14\5\0\4\14\1\254\21\14\14\0\2\14"+
62.318 - "\1\66\1\14\5\0\1\14\5\0\3\14\1\255\22\14"+
62.319 - "\14\0\2\14\1\66\1\256\5\0\1\14\5\0\26\14"+
62.320 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\4\14"+
62.321 - "\1\257\21\14\14\0\2\14\1\66\1\14\5\0\1\14"+
62.322 - "\5\0\12\14\1\260\13\14\14\0\2\14\1\66\1\14"+
62.323 - "\5\0\1\14\5\0\4\14\1\261\21\14\14\0\2\14"+
62.324 - "\1\66\1\262\5\0\1\14\5\0\11\14\1\263\14\14"+
62.325 - "\14\0\2\55\1\0\1\55\5\0\1\55\5\0\26\55"+
62.326 - "\13\0\15\3\1\57\1\3\1\60\1\61\13\3\1\264"+
62.327 - "\24\3\1\0\1\167\1\0\1\170\56\0\1\167\60\0"+
62.328 - "\1\171\1\0\1\64\1\63\55\0\2\172\1\65\1\172"+
62.329 - "\2\0\1\265\2\266\6\0\2\172\4\0\1\172\3\0"+
62.330 - "\1\172\27\0\2\14\1\66\1\14\5\0\1\14\5\0"+
62.331 - "\6\14\1\267\17\14\14\0\2\14\1\66\1\270\5\0"+
62.332 - "\1\14\5\0\11\14\1\271\14\14\14\0\2\14\1\66"+
62.333 - "\1\14\5\0\1\14\5\0\3\14\1\272\22\14\14\0"+
62.334 - "\2\14\1\66\1\273\5\0\1\14\5\0\26\14\14\0"+
62.335 - "\2\14\1\66\1\14\5\0\1\14\5\0\4\14\1\274"+
62.336 - "\21\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
62.337 - "\3\14\1\275\22\14\14\0\2\14\1\66\1\14\5\0"+
62.338 - "\1\14\5\0\4\14\1\276\21\14\14\0\2\14\1\66"+
62.339 - "\1\14\5\0\1\14\5\0\1\277\25\14\14\0\2\14"+
62.340 - "\1\66\1\300\5\0\1\14\5\0\26\14\14\0\2\14"+
62.341 - "\1\66\1\14\5\0\1\14\5\0\1\301\25\14\14\0"+
62.342 - "\2\14\1\66\1\14\5\0\1\14\5\0\11\14\1\302"+
62.343 - "\14\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
62.344 - "\14\14\1\303\11\14\14\0\2\14\1\66\1\304\5\0"+
62.345 - "\1\14\5\0\26\14\14\0\2\14\1\66\1\14\5\0"+
62.346 - "\1\14\5\0\17\14\1\305\6\14\14\0\2\14\1\66"+
62.347 - "\1\14\5\0\1\14\5\0\2\14\1\306\23\14\14\0"+
62.348 - "\2\14\1\66\1\14\5\0\1\14\5\0\1\307\25\14"+
62.349 - "\14\0\2\14\1\66\1\310\5\0\1\14\5\0\26\14"+
62.350 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\17\14"+
62.351 - "\1\311\6\14\14\0\2\14\1\66\1\14\5\0\1\14"+
62.352 - "\5\0\5\14\1\312\20\14\14\0\2\14\1\66\1\14"+
62.353 - "\5\0\1\14\5\0\15\14\1\313\10\14\14\0\2\14"+
62.354 - "\1\66\1\14\5\0\1\14\5\0\20\14\1\314\5\14"+
62.355 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\23\14"+
62.356 - "\1\315\2\14\14\0\2\14\1\66\1\14\5\0\1\14"+
62.357 - "\5\0\15\14\1\316\10\14\14\0\2\14\1\66\1\317"+
62.358 - "\5\0\1\14\5\0\26\14\14\0\2\14\1\66\1\14"+
62.359 - "\5\0\1\14\5\0\13\14\1\320\12\14\14\0\2\14"+
62.360 - "\1\66\1\14\5\0\1\14\5\0\1\321\25\14\14\0"+
62.361 - "\2\14\1\66\1\322\5\0\1\14\5\0\26\14\14\0"+
62.362 - "\2\14\1\66\1\14\5\0\1\14\5\0\4\14\1\323"+
62.363 - "\21\14\14\0\2\14\1\66\1\324\5\0\1\14\5\0"+
62.364 - "\26\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
62.365 - "\5\14\1\325\20\14\14\0\2\14\1\66\1\14\5\0"+
62.366 - "\1\14\5\0\23\14\1\326\2\14\14\0\2\14\1\66"+
62.367 - "\1\14\5\0\1\14\5\0\15\14\1\327\10\14\14\0"+
62.368 - "\2\14\1\66\1\14\5\0\1\14\5\0\4\14\1\330"+
62.369 - "\1\14\1\331\17\14\14\0\2\14\1\66\1\14\5\0"+
62.370 - "\1\14\5\0\24\14\1\332\1\14\14\0\2\14\1\66"+
62.371 - "\1\14\5\0\1\14\5\0\7\14\1\333\16\14\14\0"+
62.372 - "\2\14\1\66\1\14\5\0\1\14\5\0\11\14\1\334"+
62.373 - "\14\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
62.374 - "\10\14\1\335\15\14\14\0\2\14\1\66\1\14\5\0"+
62.375 - "\1\14\5\0\1\336\3\14\1\337\21\14\14\0\2\14"+
62.376 - "\1\66\1\14\5\0\1\14\5\0\10\14\1\340\15\14"+
62.377 - "\14\0\2\14\1\66\1\341\5\0\1\14\5\0\26\14"+
62.378 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\2\14"+
62.379 - "\1\342\23\14\14\0\2\14\1\66\1\14\5\0\1\14"+
62.380 - "\5\0\11\14\1\343\14\14\14\0\2\14\1\66\1\14"+
62.381 - "\5\0\1\14\5\0\22\14\1\344\3\14\14\0\2\14"+
62.382 - "\1\66\1\14\5\0\1\14\5\0\13\14\1\345\12\14"+
62.383 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\10\14"+
62.384 - "\1\346\15\14\13\0\3\3\1\347\11\3\1\57\1\3"+
62.385 - "\1\60\1\61\40\3\1\0\2\350\1\0\1\350\13\0"+
62.386 - "\2\350\4\0\1\350\3\0\1\350\32\0\1\351\55\0"+
62.387 - "\2\14\1\66\1\14\5\0\1\14\5\0\4\14\1\352"+
62.388 - "\21\14\14\0\1\14\1\353\1\66\1\14\5\0\1\14"+
62.389 - "\5\0\26\14\14\0\2\14\1\66\1\14\5\0\1\14"+
62.390 - "\5\0\14\14\1\354\11\14\14\0\2\14\1\66\1\14"+
62.391 - "\5\0\1\14\5\0\7\14\1\355\16\14\14\0\2\14"+
62.392 - "\1\66\1\14\5\0\1\14\5\0\4\14\1\356\21\14"+
62.393 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\3\14"+
62.394 - "\1\357\22\14\14\0\2\14\1\66\1\14\5\0\1\14"+
62.395 - "\5\0\14\14\1\360\11\14\14\0\2\14\1\66\1\14"+
62.396 - "\5\0\1\14\5\0\5\14\1\361\1\14\1\362\16\14"+
62.397 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\5\14"+
62.398 - "\1\363\20\14\14\0\2\14\1\66\1\14\5\0\1\14"+
62.399 - "\5\0\13\14\1\364\12\14\14\0\2\14\1\66\1\14"+
62.400 - "\5\0\1\14\5\0\3\14\1\365\22\14\14\0\2\14"+
62.401 - "\1\66\1\14\5\0\1\14\5\0\3\14\1\366\22\14"+
62.402 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\3\14"+
62.403 - "\1\367\22\14\14\0\2\14\1\66\1\14\5\0\1\14"+
62.404 - "\5\0\20\14\1\370\5\14\14\0\2\14\1\66\1\14"+
62.405 - "\5\0\1\14\5\0\3\14\1\371\22\14\14\0\2\14"+
62.406 - "\1\66\1\372\5\0\1\14\5\0\26\14\14\0\2\14"+
62.407 - "\1\66\1\373\5\0\1\14\5\0\26\14\14\0\2\14"+
62.408 - "\1\66\1\374\5\0\1\14\5\0\26\14\14\0\2\14"+
62.409 - "\1\66\1\14\5\0\1\14\5\0\11\14\1\375\14\14"+
62.410 - "\14\0\2\14\1\66\1\376\5\0\1\14\5\0\26\14"+
62.411 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\3\14"+
62.412 - "\1\377\22\14\14\0\2\14\1\66\1\14\5\0\1\14"+
62.413 - "\5\0\6\14\1\u0100\17\14\14\0\2\14\1\66\1\14"+
62.414 - "\5\0\1\14\5\0\14\14\1\u0101\11\14\14\0\2\14"+
62.415 - "\1\66\1\14\5\0\1\14\5\0\4\14\1\u0102\21\14"+
62.416 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\1\u0103"+
62.417 - "\25\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
62.418 - "\20\14\1\u0104\5\14\14\0\2\14\1\66\1\u0105\5\0"+
62.419 - "\1\14\5\0\26\14\14\0\2\14\1\66\1\u0106\5\0"+
62.420 - "\1\14\5\0\26\14\14\0\2\14\1\66\1\14\5\0"+
62.421 - "\1\14\5\0\1\u0107\25\14\14\0\2\14\1\66\1\14"+
62.422 - "\5\0\1\14\5\0\4\14\1\u0108\21\14\14\0\2\14"+
62.423 - "\1\66\1\14\5\0\1\14\5\0\1\u0109\25\14\14\0"+
62.424 - "\2\14\1\66\1\14\5\0\1\14\5\0\14\14\1\u010a"+
62.425 - "\11\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
62.426 - "\1\u010b\25\14\14\0\2\14\1\66\1\14\5\0\1\14"+
62.427 - "\5\0\3\14\1\u010c\22\14\14\0\2\14\1\66\1\14"+
62.428 - "\5\0\1\14\5\0\10\14\1\u010d\15\14\14\0\2\14"+
62.429 - "\1\66\1\u010e\5\0\1\14\5\0\26\14\13\0\15\3"+
62.430 - "\1\57\1\3\1\60\1\61\5\3\1\u010f\32\3\1\0"+
62.431 - "\2\350\1\265\1\350\3\0\2\266\6\0\2\350\4\0"+
62.432 - "\1\350\3\0\1\350\27\0\1\u0110\3\0\2\u0111\53\0"+
62.433 - "\2\14\1\66\1\14\5\0\1\14\5\0\11\14\1\u0112"+
62.434 - "\14\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
62.435 - "\4\14\1\u0113\21\14\14\0\2\14\1\66\1\14\5\0"+
62.436 - "\1\14\5\0\1\u0114\25\14\14\0\2\14\1\66\1\14"+
62.437 - "\5\0\1\14\5\0\5\14\1\u0115\20\14\14\0\2\14"+
62.438 - "\1\66\1\14\5\0\1\14\5\0\4\14\1\u0116\21\14"+
62.439 - "\14\0\2\14\1\66\1\u0117\5\0\1\14\5\0\26\14"+
62.440 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\5\14"+
62.441 - "\1\u0118\20\14\14\0\2\14\1\66\1\14\5\0\1\14"+
62.442 - "\5\0\13\14\1\u0119\12\14\14\0\2\14\1\66\1\14"+
62.443 - "\5\0\1\14\5\0\12\14\1\u011a\13\14\14\0\2\14"+
62.444 - "\1\66\1\u011b\5\0\1\14\5\0\26\14\14\0\2\14"+
62.445 - "\1\66\1\14\5\0\1\14\5\0\5\14\1\u011c\20\14"+
62.446 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\17\14"+
62.447 - "\1\u011d\6\14\14\0\2\14\1\66\1\14\5\0\1\14"+
62.448 - "\5\0\13\14\1\u011e\12\14\14\0\2\14\1\66\1\14"+
62.449 - "\5\0\1\14\5\0\12\14\1\u011f\13\14\14\0\2\14"+
62.450 - "\1\66\1\14\5\0\1\14\5\0\1\u0120\25\14\14\0"+
62.451 - "\2\14\1\66\1\14\5\0\1\14\5\0\4\14\1\u0121"+
62.452 - "\21\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
62.453 - "\7\14\1\u0122\16\14\14\0\2\14\1\66\1\14\5\0"+
62.454 - "\1\14\5\0\1\u0123\25\14\14\0\2\14\1\66\1\14"+
62.455 - "\5\0\1\14\5\0\15\14\1\u0124\10\14\14\0\2\14"+
62.456 - "\1\66\1\14\5\0\1\14\5\0\1\u0125\25\14\14\0"+
62.457 - "\2\14\1\66\1\14\5\0\1\14\5\0\6\14\1\u0126"+
62.458 - "\17\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
62.459 - "\12\14\1\u0127\13\14\14\0\2\14\1\66\1\14\5\0"+
62.460 - "\1\14\5\0\4\14\1\u0128\21\14\14\0\2\14\1\66"+
62.461 - "\1\u0129\5\0\1\14\5\0\26\14\14\0\2\14\1\66"+
62.462 - "\1\14\5\0\1\14\5\0\3\14\1\u012a\22\14\14\0"+
62.463 - "\2\14\1\66\1\14\5\0\1\14\5\0\11\14\1\u012b"+
62.464 - "\14\14\13\0\15\3\1\57\1\3\1\60\1\61\21\3"+
62.465 - "\1\u012c\16\3\1\0\1\u0110\1\0\1\u0111\56\0\1\u0110"+
62.466 - "\60\0\2\14\1\66\1\14\5\0\1\14\5\0\2\14"+
62.467 - "\1\u012d\23\14\14\0\2\14\1\66\1\14\5\0\1\14"+
62.468 - "\5\0\11\14\1\u012e\14\14\14\0\2\14\1\66\1\14"+
62.469 - "\5\0\1\14\5\0\6\14\1\u012f\17\14\14\0\2\14"+
62.470 - "\1\66\1\14\5\0\1\14\5\0\12\14\1\u0130\13\14"+
62.471 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\5\14"+
62.472 - "\1\u0131\20\14\14\0\2\14\1\66\1\u0132\5\0\1\14"+
62.473 - "\5\0\26\14\14\0\2\14\1\66\1\u0133\5\0\1\14"+
62.474 - "\5\0\26\14\14\0\2\14\1\66\1\14\5\0\1\14"+
62.475 - "\5\0\1\u0134\25\14\14\0\2\14\1\66\1\14\5\0"+
62.476 - "\1\14\5\0\4\14\1\u0135\21\14\14\0\2\14\1\66"+
62.477 - "\1\u0136\5\0\1\14\5\0\26\14\14\0\2\14\1\66"+
62.478 - "\1\14\5\0\1\14\5\0\13\14\1\u0137\12\14\14\0"+
62.479 - "\2\14\1\66\1\u0138\5\0\1\14\5\0\26\14\14\0"+
62.480 - "\2\14\1\66\1\14\5\0\1\14\5\0\4\14\1\u0139"+
62.481 - "\21\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
62.482 - "\17\14\1\u013a\6\14\14\0\2\14\1\66\1\u013b\5\0"+
62.483 - "\1\14\5\0\26\14\14\0\2\14\1\66\1\14\5\0"+
62.484 - "\1\14\5\0\12\14\1\u013c\13\14\14\0\2\14\1\66"+
62.485 - "\1\u013d\5\0\1\14\5\0\26\14\14\0\2\14\1\66"+
62.486 - "\1\14\5\0\1\14\5\0\6\14\1\u013e\17\14\13\0"+
62.487 - "\15\3\1\57\1\3\1\60\1\u013f\40\3\1\0\2\14"+
62.488 - "\1\66\1\14\5\0\1\14\5\0\13\14\1\u0140\12\14"+
62.489 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\2\14"+
62.490 - "\1\u0141\23\14\14\0\2\14\1\66\1\14\5\0\1\14"+
62.491 - "\5\0\4\14\1\u0142\21\14\14\0\2\14\1\66\1\14"+
62.492 - "\5\0\1\14\5\0\4\14\1\u0143\21\14\14\0\2\14"+
62.493 - "\1\66\1\u0144\5\0\1\14\5\0\26\14\14\0\2\14"+
62.494 - "\1\66\1\14\5\0\1\14\5\0\4\14\1\u0145\21\14"+
62.495 - "\14\0\2\14\1\66\1\u0146\5\0\1\14\5\0\26\14"+
62.496 - "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\3\14"+
62.497 - "\1\u0147\22\14\13\0\15\3\1\57\1\3\1\60\1\61"+
62.498 - "\2\3\1\u0148\7\3\1\166\25\3\1\0\2\14\1\66"+
62.499 - "\1\14\5\0\1\14\5\0\13\14\1\u0149\12\14\14\0"+
62.500 - "\2\14\1\66\1\u014a\5\0\1\14\5\0\26\14\14\0"+
62.501 - "\2\14\1\66\1\14\5\0\1\14\5\0\12\14\1\u014b"+
62.502 - "\13\14\14\0\2\14\1\66\1\u014c\5\0\1\14\5\0"+
62.503 - "\26\14\13\0";
62.504 -
62.505 - private static int [] zzUnpackTrans() {
62.506 - int [] result = new int[11809];
62.507 - int offset = 0;
62.508 - offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
62.509 - return result;
62.510 - }
62.511 -
62.512 - private static int zzUnpackTrans(String packed, int offset, int [] result) {
62.513 - int i = 0; /* index in packed string */
62.514 - int j = offset; /* index in unpacked array */
62.515 - int l = packed.length();
62.516 - while (i < l) {
62.517 - int count = packed.charAt(i++);
62.518 - int value = packed.charAt(i++);
62.519 - value--;
62.520 - do result[j++] = value; while (--count > 0);
62.521 - }
62.522 - return j;
62.523 - }
62.524 -
62.525 -
62.526 - /* error codes */
62.527 - private static final int ZZ_UNKNOWN_ERROR = 0;
62.528 - private static final int ZZ_NO_MATCH = 1;
62.529 - private static final int ZZ_PUSHBACK_2BIG = 2;
62.530 -
62.531 - /* error messages for the codes above */
62.532 - private static final String ZZ_ERROR_MSG[] = {
62.533 - "Unkown internal scanner error",
62.534 - "Error: could not match input",
62.535 - "Error: pushback value was too large"
62.536 - };
62.537 -
62.538 - /**
62.539 - * ZZ_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
62.540 - */
62.541 - private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
62.542 -
62.543 - private static final String ZZ_ATTRIBUTE_PACKED_0 =
62.544 - "\3\0\1\11\3\1\1\11\30\1\3\11\1\1\1\11"+
62.545 - "\1\1\1\11\3\1\2\11\2\1\1\11\1\1\6\0"+
62.546 - "\5\1\3\11\1\0\1\1\1\0\52\1\10\11\1\0"+
62.547 - "\1\11\1\0\1\1\1\0\1\1\1\0\7\1\1\11"+
62.548 - "\61\1\2\0\61\1\3\0\45\1\1\0\1\1\1\0"+
62.549 - "\32\1\1\0\22\1\1\0\15\1";
62.550 -
62.551 - private static int [] zzUnpackAttribute() {
62.552 - int [] result = new int[332];
62.553 - int offset = 0;
62.554 - offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
62.555 - return result;
62.556 - }
62.557 -
62.558 - private static int zzUnpackAttribute(String packed, int offset, int [] result) {
62.559 - int i = 0; /* index in packed string */
62.560 - int j = offset; /* index in unpacked array */
62.561 - int l = packed.length();
62.562 - while (i < l) {
62.563 - int count = packed.charAt(i++);
62.564 - int value = packed.charAt(i++);
62.565 - do result[j++] = value; while (--count > 0);
62.566 - }
62.567 - return j;
62.568 - }
62.569 -
62.570 - /** the input device */
62.571 - private java.io.Reader zzReader;
62.572 -
62.573 - /** the current state of the DFA */
62.574 - private int zzState;
62.575 -
62.576 - /** the current lexical state */
62.577 - private int zzLexicalState = YYINITIAL;
62.578 -
62.579 - /** this buffer contains the current text to be matched and is
62.580 - the source of the yytext() string */
62.581 - private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
62.582 -
62.583 - /** the textposition at the last accepting state */
62.584 - private int zzMarkedPos;
62.585 -
62.586 - /** the textposition at the last state to be included in yytext */
62.587 - private int zzPushbackPos;
62.588 -
62.589 - /** the current text position in the buffer */
62.590 - private int zzCurrentPos;
62.591 -
62.592 - /** startRead marks the beginning of the yytext() string in the buffer */
62.593 - private int zzStartRead;
62.594 -
62.595 - /** endRead marks the last character in the buffer, that has been read
62.596 - from input */
62.597 - private int zzEndRead;
62.598 -
62.599 - /** number of newlines encountered up to the start of the matched text */
62.600 - private int yyline;
62.601 -
62.602 - /** the number of characters up to the start of the matched text */
62.603 - private int yychar;
62.604 -
62.605 - /**
62.606 - * the number of characters from the last newline up to the start of the
62.607 - * matched text
62.608 - */
62.609 - private int yycolumn;
62.610 -
62.611 - /**
62.612 - * zzAtBOL == true <=> the scanner is currently at the beginning of a line
62.613 - */
62.614 - private boolean zzAtBOL = true;
62.615 -
62.616 - /** zzAtEOF == true <=> the scanner is at the EOF */
62.617 - private boolean zzAtEOF;
62.618 -
62.619 - /** denotes if the user-EOF-code has already been executed */
62.620 - private boolean zzEOFDone;
62.621 -
62.622 - /* user code: */
62.623 - private final List commentList = new LinkedList();
62.624 - private String comment = null;
62.625 - private StateStack stack = new StateStack();
62.626 - private char yy_old_buffer[] = new char[ZZ_BUFFERSIZE];
62.627 - private int yy_old_pushbackPos;
62.628 - protected int commentStartPosition;
62.629 -
62.630 - public AdaVersion getAdaVersion() {
62.631 - return AdaVersion.ADA_95;
62.632 - }
62.633 -
62.634 - public void reset(java.io.Reader reader) {
62.635 - yyreset(reader);
62.636 - }
62.637 -
62.638 - public void setState(int state) {
62.639 - yybegin(state);
62.640 - }
62.641 -
62.642 - public int getState() {
62.643 - return yystate();
62.644 - }
62.645 -
62.646 - public void resetCommentList() {
62.647 - commentList.clear();
62.648 - }
62.649 -
62.650 - public List getCommentList() {
62.651 - return commentList;
62.652 - }
62.653 -
62.654 - protected void addComment(Comment.Type type) {
62.655 - int leftPosition = getTokenStartPosition();
62.656 - Comment comm;
62.657 - comm = new Comment(commentStartPosition, leftPosition + getTokenLength());
62.658 - commentList.add(comm);
62.659 - }
62.660 -
62.661 - private void pushState(int state) {
62.662 - stack.pushStack(zzLexicalState);
62.663 - yybegin(state);
62.664 - }
62.665 -
62.666 - private void popState() {
62.667 - yybegin(stack.popStack());
62.668 - }
62.669 -
62.670 - public int getCurrentLine() {
62.671 - return yyline;
62.672 - }
62.673 -
62.674 - protected int getTokenStartPosition() {
62.675 - return zzStartRead - zzPushbackPos;
62.676 - }
62.677 -
62.678 - protected int getTokenLength() {
62.679 - return zzMarkedPos - zzStartRead;
62.680 - }
62.681 -
62.682 - public int getLength() {
62.683 - return zzEndRead - zzPushbackPos;
62.684 - }
62.685 -
62.686 - private void handleCommentStart() {
62.687 - commentStartPosition = getTokenStartPosition();
62.688 - }
62.689 -
62.690 - private void handleLineCommentEnd() {
62.691 - addComment(Comment.Type.TYPE_SINGLE_LINE);
62.692 - }
62.693 -
62.694 - private Symbol createFullSymbol(int symbolNumber) {
62.695 - Symbol symbol = createSymbol(symbolNumber);
62.696 - symbol.value = yytext();
62.697 - return symbol;
62.698 - }
62.699 -
62.700 - private Symbol createSymbol(int symbolNumber) {
62.701 - int leftPosition = getTokenStartPosition();
62.702 - Symbol symbol = new Symbol(symbolNumber, leftPosition, leftPosition + getTokenLength());
62.703 - return symbol;
62.704 - }
62.705 -
62.706 - public int[] getParamenters(){
62.707 - return new int[]{zzMarkedPos, zzPushbackPos, zzCurrentPos, zzStartRead, zzEndRead, yyline};
62.708 - }
62.709 -
62.710 - public void reset(java.io.Reader reader, char[] buffer, int[] parameters){
62.711 - this.zzReader = reader;
62.712 - this.zzBuffer = buffer;
62.713 - this.zzMarkedPos = parameters[0];
62.714 - this.zzPushbackPos = parameters[1];
62.715 - this.zzCurrentPos = parameters[2];
62.716 - this.zzStartRead = parameters[3];
62.717 - this.zzEndRead = parameters[4];
62.718 - this.yyline = parameters[5];
62.719 - this.yychar = this.zzStartRead - this.zzPushbackPos;
62.720 - }
62.721 -
62.722 -
62.723 -
62.724 - /**
62.725 - * Creates a new scanner
62.726 - * There is also a java.io.InputStream version of this constructor.
62.727 - *
62.728 - * @param in the java.io.Reader to read input from.
62.729 - */
62.730 - public Ada95ASTLexer(java.io.Reader in) {
62.731 - this.zzReader = in;
62.732 - }
62.733 -
62.734 - /**
62.735 - * Creates a new scanner.
62.736 - * There is also java.io.Reader version of this constructor.
62.737 - *
62.738 - * @param in the java.io.Inputstream to read input from.
62.739 - */
62.740 - public Ada95ASTLexer(java.io.InputStream in) {
62.741 - this(new java.io.InputStreamReader(in));
62.742 - }
62.743 -
62.744 - /**
62.745 - * Unpacks the compressed character translation table.
62.746 - *
62.747 - * @param packed the packed character translation table
62.748 - * @return the unpacked character translation table
62.749 - */
62.750 - private static char [] zzUnpackCMap(String packed) {
62.751 - char [] map = new char[0x10000];
62.752 - int i = 0; /* index in packed string */
62.753 - int j = 0; /* index in unpacked array */
62.754 - while (i < 172) {
62.755 - int count = packed.charAt(i++);
62.756 - char value = packed.charAt(i++);
62.757 - do map[j++] = value; while (--count > 0);
62.758 - }
62.759 - return map;
62.760 - }
62.761 -
62.762 -
62.763 - /**
62.764 - * Refills the input buffer.
62.765 - *
62.766 - * @return <code>false</code>, iff there was new input.
62.767 - *
62.768 - * @exception java.io.IOException if any I/O-Error occurs
62.769 - */
62.770 - private boolean zzRefill() throws java.io.IOException {
62.771 -
62.772 - /* first: make room (if you can) */
62.773 - if (zzStartRead > 0) {
62.774 - System.arraycopy(zzBuffer, zzStartRead,
62.775 - zzBuffer, 0,
62.776 - zzEndRead-zzStartRead);
62.777 -
62.778 - /* translate stored positions */
62.779 - zzEndRead-= zzStartRead;
62.780 - zzCurrentPos-= zzStartRead;
62.781 - zzMarkedPos-= zzStartRead;
62.782 - zzPushbackPos-= zzStartRead;
62.783 - zzStartRead = 0;
62.784 - }
62.785 -
62.786 - /* is the buffer big enough? */
62.787 - if (zzCurrentPos >= zzBuffer.length) {
62.788 - /* if not: blow it up */
62.789 - char newBuffer[] = new char[zzCurrentPos*2];
62.790 - System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
62.791 - zzBuffer = newBuffer;
62.792 - }
62.793 -
62.794 - /* finally: fill the buffer with new input */
62.795 - int numRead = zzReader.read(zzBuffer, zzEndRead,
62.796 - zzBuffer.length-zzEndRead);
62.797 -
62.798 - if (numRead < 0) {
62.799 - return true;
62.800 - }
62.801 - else {
62.802 - zzEndRead+= numRead;
62.803 - return false;
62.804 - }
62.805 - }
62.806 -
62.807 -
62.808 - /**
62.809 - * Closes the input stream.
62.810 - */
62.811 - public final void yyclose() throws java.io.IOException {
62.812 - zzAtEOF = true; /* indicate end of file */
62.813 - zzEndRead = zzStartRead; /* invalidate buffer */
62.814 -
62.815 - if (zzReader != null)
62.816 - zzReader.close();
62.817 - }
62.818 -
62.819 -
62.820 - /**
62.821 - * Resets the scanner to read from a new input stream.
62.822 - * Does not close the old reader.
62.823 - *
62.824 - * All internal variables are reset, the old input stream
62.825 - * <b>cannot</b> be reused (internal buffer is discarded and lost).
62.826 - * Lexical state is set to <tt>ZZ_INITIAL</tt>.
62.827 - *
62.828 - * @param reader the new input stream
62.829 - */
62.830 - public final void yyreset(java.io.Reader reader) {
62.831 - zzReader = reader;
62.832 - zzAtBOL = true;
62.833 - zzAtEOF = false;
62.834 - zzEndRead = zzStartRead = 0;
62.835 - zzCurrentPos = zzMarkedPos = zzPushbackPos = 0;
62.836 - yyline = yychar = yycolumn = 0;
62.837 - zzLexicalState = YYINITIAL;
62.838 - }
62.839 -
62.840 -
62.841 - /**
62.842 - * Returns the current lexical state.
62.843 - */
62.844 - public final int yystate() {
62.845 - return zzLexicalState;
62.846 - }
62.847 -
62.848 -
62.849 - /**
62.850 - * Enters a new lexical state
62.851 - *
62.852 - * @param newState the new lexical state
62.853 - */
62.854 - public final void yybegin(int newState) {
62.855 - zzLexicalState = newState;
62.856 - }
62.857 -
62.858 -
62.859 - /**
62.860 - * Returns the text matched by the current regular expression.
62.861 - */
62.862 - public final String yytext() {
62.863 - return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead );
62.864 - }
62.865 -
62.866 -
62.867 - /**
62.868 - * Returns the character at position <tt>pos</tt> from the
62.869 - * matched text.
62.870 - *
62.871 - * It is equivalent to yytext().charAt(pos), but faster
62.872 - *
62.873 - * @param pos the position of the character to fetch.
62.874 - * A value from 0 to yylength()-1.
62.875 - *
62.876 - * @return the character at position pos
62.877 - */
62.878 - public final char yycharat(int pos) {
62.879 - return zzBuffer[zzStartRead+pos];
62.880 - }
62.881 -
62.882 -
62.883 - /**
62.884 - * Returns the length of the matched text region.
62.885 - */
62.886 - public final int yylength() {
62.887 - return zzMarkedPos-zzStartRead;
62.888 - }
62.889 -
62.890 -
62.891 - /**
62.892 - * Reports an error that occured while scanning.
62.893 - *
62.894 - * In a wellformed scanner (no or only correct usage of
62.895 - * yypushback(int) and a match-all fallback rule) this method
62.896 - * will only be called with things that "Can't Possibly Happen".
62.897 - * If this method is called, something is seriously wrong
62.898 - * (e.g. a JFlex bug producing a faulty scanner etc.).
62.899 - *
62.900 - * Usual syntax/scanner level error handling should be done
62.901 - * in error fallback rules.
62.902 - *
62.903 - * @param errorCode the code of the errormessage to display
62.904 - */
62.905 - private void zzScanError(int errorCode) {
62.906 - String message;
62.907 - try {
62.908 - message = ZZ_ERROR_MSG[errorCode];
62.909 - }
62.910 - catch (ArrayIndexOutOfBoundsException e) {
62.911 - message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
62.912 - }
62.913 -
62.914 - throw new Error(message);
62.915 - }
62.916 -
62.917 -
62.918 - /**
62.919 - * Pushes the specified amount of characters back into the input stream.
62.920 - *
62.921 - * They will be read again by then next call of the scanning method
62.922 - *
62.923 - * @param number the number of characters to be read again.
62.924 - * This number must not be greater than yylength()!
62.925 - */
62.926 - public void yypushback(int number) {
62.927 - if ( number > yylength() )
62.928 - zzScanError(ZZ_PUSHBACK_2BIG);
62.929 -
62.930 - zzMarkedPos -= number;
62.931 - }
62.932 -
62.933 -
62.934 - /**
62.935 - * Contains user EOF-code, which will be executed exactly once,
62.936 - * when the end of file is reached
62.937 - */
62.938 - private void zzDoEOF() throws java.io.IOException {
62.939 - if (!zzEOFDone) {
62.940 - zzEOFDone = true;
62.941 - yyclose();
62.942 - }
62.943 - }
62.944 -
62.945 -
62.946 - /**
62.947 - * Resumes scanning until the next regular expression is matched,
62.948 - * the end of input is encountered or an I/O-Error occurs.
62.949 - *
62.950 - * @return the next token
62.951 - * @exception java.io.IOException if any I/O-Error occurs
62.952 - */
62.953 - public Symbol next_token() throws java.io.IOException {
62.954 - int zzInput;
62.955 - int zzAction;
62.956 -
62.957 - // cached fields:
62.958 - int zzCurrentPosL;
62.959 - int zzMarkedPosL;
62.960 - int zzEndReadL = zzEndRead;
62.961 - char [] zzBufferL = zzBuffer;
62.962 - char [] zzCMapL = ZZ_CMAP;
62.963 -
62.964 - int [] zzTransL = ZZ_TRANS;
62.965 - int [] zzRowMapL = ZZ_ROWMAP;
62.966 - int [] zzAttrL = ZZ_ATTRIBUTE;
62.967 -
62.968 - while (true) {
62.969 - zzMarkedPosL = zzMarkedPos;
62.970 -
62.971 - yychar+= zzMarkedPosL-zzStartRead;
62.972 -
62.973 - boolean zzR = false;
62.974 - for (zzCurrentPosL = zzStartRead; zzCurrentPosL < zzMarkedPosL;
62.975 - zzCurrentPosL++) {
62.976 - switch (zzBufferL[zzCurrentPosL]) {
62.977 - case '\u000B':
62.978 - case '\u000C':
62.979 - case '\u0085':
62.980 - case '\u2028':
62.981 - case '\u2029':
62.982 - yyline++;
62.983 - yycolumn = 0;
62.984 - zzR = false;
62.985 - break;
62.986 - case '\r':
62.987 - yyline++;
62.988 - yycolumn = 0;
62.989 - zzR = true;
62.990 - break;
62.991 - case '\n':
62.992 - if (zzR)
62.993 - zzR = false;
62.994 - else {
62.995 - yyline++;
62.996 - yycolumn = 0;
62.997 - }
62.998 - break;
62.999 - default:
62.1000 - zzR = false;
62.1001 - yycolumn++;
62.1002 - }
62.1003 - }
62.1004 -
62.1005 - if (zzR) {
62.1006 - // peek one character ahead if it is \n (if we have counted one line too much)
62.1007 - boolean zzPeek;
62.1008 - if (zzMarkedPosL < zzEndReadL)
62.1009 - zzPeek = zzBufferL[zzMarkedPosL] == '\n';
62.1010 - else if (zzAtEOF)
62.1011 - zzPeek = false;
62.1012 - else {
62.1013 - boolean eof = zzRefill();
62.1014 - zzEndReadL = zzEndRead;
62.1015 - zzMarkedPosL = zzMarkedPos;
62.1016 - zzBufferL = zzBuffer;
62.1017 - if (eof)
62.1018 - zzPeek = false;
62.1019 - else
62.1020 - zzPeek = zzBufferL[zzMarkedPosL] == '\n';
62.1021 - }
62.1022 - if (zzPeek) yyline--;
62.1023 - }
62.1024 - zzAction = -1;
62.1025 -
62.1026 - zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
62.1027 -
62.1028 - zzState = ZZ_LEXSTATE[zzLexicalState];
62.1029 -
62.1030 -
62.1031 - zzForAction: {
62.1032 - while (true) {
62.1033 -
62.1034 - if (zzCurrentPosL < zzEndReadL)
62.1035 - zzInput = zzBufferL[zzCurrentPosL++];
62.1036 - else if (zzAtEOF) {
62.1037 - zzInput = YYEOF;
62.1038 - break zzForAction;
62.1039 - }
62.1040 - else {
62.1041 - // store back cached positions
62.1042 - zzCurrentPos = zzCurrentPosL;
62.1043 - zzMarkedPos = zzMarkedPosL;
62.1044 - boolean eof = zzRefill();
62.1045 - // get translated positions and possibly new buffer
62.1046 - zzCurrentPosL = zzCurrentPos;
62.1047 - zzMarkedPosL = zzMarkedPos;
62.1048 - zzBufferL = zzBuffer;
62.1049 - zzEndReadL = zzEndRead;
62.1050 - if (eof) {
62.1051 - zzInput = YYEOF;
62.1052 - break zzForAction;
62.1053 - }
62.1054 - else {
62.1055 - zzInput = zzBufferL[zzCurrentPosL++];
62.1056 - }
62.1057 - }
62.1058 - int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
62.1059 - if (zzNext == -1) break zzForAction;
62.1060 - zzState = zzNext;
62.1061 -
62.1062 - int zzAttributes = zzAttrL[zzState];
62.1063 - if ( (zzAttributes & 1) == 1 ) {
62.1064 - zzAction = zzState;
62.1065 - zzMarkedPosL = zzCurrentPosL;
62.1066 - if ( (zzAttributes & 8) == 8 ) break zzForAction;
62.1067 - }
62.1068 -
62.1069 - }
62.1070 - }
62.1071 -
62.1072 - // store back cached position
62.1073 - zzMarkedPos = zzMarkedPosL;
62.1074 -
62.1075 - switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
62.1076 - case 85:
62.1077 - { return createSymbol(Ada95ASTSymbols.RETURN);
62.1078 - }
62.1079 - case 108: break;
62.1080 - case 32:
62.1081 - { return createSymbol(Ada95ASTSymbols.IF);
62.1082 - }
62.1083 - case 109: break;
62.1084 - case 36:
62.1085 - { return createSymbol(Ada95ASTSymbols.EXPON);
62.1086 - }
62.1087 - case 110: break;
62.1088 - case 96:
62.1089 - { return createSymbol(Ada95ASTSymbols.PRIVATE);
62.1090 - }
62.1091 - case 111: break;
62.1092 - case 10:
62.1093 - { return createSymbol(Ada95ASTSymbols.AMP);
62.1094 - }
62.1095 - case 112: break;
62.1096 - case 45:
62.1097 - { return createSymbol(Ada95ASTSymbols.FOR);
62.1098 - }
62.1099 - case 113: break;
62.1100 - case 105:
62.1101 - { return createSymbol(Ada95ASTSymbols.TERMINATE);
62.1102 - }
62.1103 - case 114: break;
62.1104 - case 100:
62.1105 - { return createSymbol(Ada95ASTSymbols.FUNCTION);
62.1106 - }
62.1107 - case 115: break;
62.1108 - case 30:
62.1109 - { return createSymbol(Ada95ASTSymbols.OF);
62.1110 - }
62.1111 - case 116: break;
62.1112 - case 27:
62.1113 - { return createSymbol(Ada95ASTSymbols.ASSIGNMENT);
62.1114 - }
62.1115 - case 117: break;
62.1116 - case 103:
62.1117 - { return createSymbol(Ada95ASTSymbols.CONSTANT);
62.1118 - }
62.1119 - case 118: break;
62.1120 - case 65:
62.1121 - { return createSymbol(Ada95ASTSymbols.CASE);
62.1122 - }
62.1123 - case 119: break;
62.1124 - case 94:
62.1125 - { return createSymbol(Ada95ASTSymbols.SUBTYPE);
62.1126 - }
62.1127 - case 120: break;
62.1128 - case 49:
62.1129 - { return createSymbol(Ada95ASTSymbols.ALL);
62.1130 - }
62.1131 - case 121: break;
62.1132 - case 41:
62.1133 - { return createSymbol(Ada95ASTSymbols.ARROW);
62.1134 - }
62.1135 - case 122: break;
62.1136 - case 53:
62.1137 - { return createSymbol(Ada95ASTSymbols.NEW);
62.1138 - }
62.1139 - case 123: break;
62.1140 - case 75:
62.1141 - { return createSymbol(Ada95ASTSymbols.BEGIN);
62.1142 - }
62.1143 - case 124: break;
62.1144 - case 95:
62.1145 - { return createSymbol(Ada95ASTSymbols.PACKAGE);
62.1146 - }
62.1147 - case 125: break;
62.1148 - case 13:
62.1149 - { return createSymbol(Ada95ASTSymbols.STAR);
62.1150 - }
62.1151 - case 126: break;
62.1152 - case 63:
62.1153 - { return createSymbol(Ada95ASTSymbols.TYPE);
62.1154 - }
62.1155 - case 127: break;
62.1156 - case 104:
62.1157 - { return createSymbol(Ada95ASTSymbols.EXCEPTION);
62.1158 - }
62.1159 - case 128: break;
62.1160 - case 47:
62.1161 - { return createFullSymbol(Ada95ASTSymbols.CHAR_LITERAL);
62.1162 - }
62.1163 - case 129: break;
62.1164 - case 57:
62.1165 - { return createSymbol(Ada95ASTSymbols.MOD);
62.1166 - }
62.1167 - case 130: break;
62.1168 - case 39:
62.1169 - { return createSymbol(Ada95ASTSymbols.LTEQ);
62.1170 - }
62.1171 - case 131: break;
62.1172 - case 90:
62.1173 - { return createSymbol(Ada95ASTSymbols.ALIASED);
62.1174 - }
62.1175 - case 132: break;
62.1176 - case 87:
62.1177 - { return createSymbol(Ada95ASTSymbols.TAGGED);
62.1178 - }
62.1179 - case 133: break;
62.1180 - case 21:
62.1181 - { yypushback(yylength());
62.1182 - popState();
62.1183 - }
62.1184 - case 134: break;
62.1185 - case 12:
62.1186 - { return createSymbol(Ada95ASTSymbols.RPAREN);
62.1187 - }
62.1188 - case 135: break;
62.1189 - case 16:
62.1190 - { return createSymbol(Ada95ASTSymbols.SEMICOLON);
62.1191 - }
62.1192 - case 136: break;
62.1193 - case 58:
62.1194 - { return createFullSymbol(Ada95ASTSymbols.BASED_LITERAL);
62.1195 - }
62.1196 - case 137: break;
62.1197 - case 29:
62.1198 - { return createSymbol(Ada95ASTSymbols.AT);
62.1199 - }
62.1200 - case 138: break;
62.1201 - case 78:
62.1202 - { return createSymbol(Ada95ASTSymbols.DELAY);
62.1203 - }
62.1204 - case 139: break;
62.1205 - case 26:
62.1206 - { return createSymbol(Ada95ASTSymbols.DOT_DOT);
62.1207 - }
62.1208 - case 140: break;
62.1209 - case 24:
62.1210 - { handleLineCommentEnd();
62.1211 - yybegin(YYINITIAL);
62.1212 - }
62.1213 - case 141: break;
62.1214 - case 70:
62.1215 - { return createSymbol(Ada95ASTSymbols.WHEN);
62.1216 - }
62.1217 - case 142: break;
62.1218 - case 38:
62.1219 - { return createSymbol(Ada95ASTSymbols.LTLT);
62.1220 - }
62.1221 - case 143: break;
62.1222 - case 61:
62.1223 - { return createSymbol(Ada95ASTSymbols.BODY);
62.1224 - }
62.1225 - case 144: break;
62.1226 - case 97:
62.1227 - { return createSymbol(Ada95ASTSymbols.LIMITED);
62.1228 - }
62.1229 - case 145: break;
62.1230 - case 22:
62.1231 - { popState();
62.1232 - return createFullSymbol(Ada95ASTSymbols.IDENTIFIER);
62.1233 - }
62.1234 - case 146: break;
62.1235 - case 73:
62.1236 - { return createSymbol(Ada95ASTSymbols.ABORT);
62.1237 - }
62.1238 - case 147: break;
62.1239 - case 106:
62.1240 - { return createSymbol(Ada95ASTSymbols.PROTECTED);
62.1241 - }
62.1242 - case 148: break;
62.1243 - case 102:
62.1244 - { return createSymbol(Ada95ASTSymbols.SEPARATE);
62.1245 - }
62.1246 - case 149: break;
62.1247 - case 59:
62.1248 - { return createSymbol(Ada95ASTSymbols.ELSE);
62.1249 - }
62.1250 - case 150: break;
62.1251 - case 60:
62.1252 - { return createSymbol(Ada95ASTSymbols.EXIT);
62.1253 - }
62.1254 - case 151: break;
62.1255 - case 43:
62.1256 - { return createSymbol(Ada95ASTSymbols.GTGT);
62.1257 - }
62.1258 - case 152: break;
62.1259 - case 23:
62.1260 - { return createSymbol(Ada95ASTSymbols.DOT);
62.1261 - }
62.1262 - case 153: break;
62.1263 - case 42:
62.1264 - { return createSymbol(Ada95ASTSymbols.GTEQ);
62.1265 - }
62.1266 - case 154: break;
62.1267 - case 17:
62.1268 - { return createSymbol(Ada95ASTSymbols.GT);
62.1269 - }
62.1270 - case 155: break;
62.1271 - case 50:
62.1272 - { return createSymbol(Ada95ASTSymbols.AND);
62.1273 - }
62.1274 - case 156: break;
62.1275 - case 11:
62.1276 - { return createSymbol(Ada95ASTSymbols.LPAREN);
62.1277 - }
62.1278 - case 157: break;
62.1279 - case 66:
62.1280 - { return createSymbol(Ada95ASTSymbols.LOOP);
62.1281 - }
62.1282 - case 158: break;
62.1283 - case 83:
62.1284 - { return createSymbol(Ada95ASTSymbols.ACCEPT);
62.1285 - }
62.1286 - case 159: break;
62.1287 - case 20:
62.1288 - { return createSymbol(Ada95ASTSymbols.BAR);
62.1289 - }
62.1290 - case 160: break;
62.1291 - case 51:
62.1292 - { return createSymbol(Ada95ASTSymbols.OUT);
62.1293 - }
62.1294 - case 161: break;
62.1295 - case 18:
62.1296 - { return createSymbol(Ada95ASTSymbols.EQ);
62.1297 - }
62.1298 - case 162: break;
62.1299 - case 6:
62.1300 - { pushState(ST_LOOKING_FOR_PROPERTY);
62.1301 - return createSymbol(Ada95ASTSymbols.DOT);
62.1302 - }
62.1303 - case 163: break;
62.1304 - case 72:
62.1305 - { return createSymbol(Ada95ASTSymbols.ENTRY);
62.1306 - }
62.1307 - case 164: break;
62.1308 - case 54:
62.1309 - { return createSymbol(Ada95ASTSymbols.NOT);
62.1310 - }
62.1311 - case 165: break;
62.1312 - case 35:
62.1313 - { return createSymbol(Ada95ASTSymbols.DO);
62.1314 - }
62.1315 - case 166: break;
62.1316 - case 33:
62.1317 - { return createSymbol(Ada95ASTSymbols.IS);
62.1318 - }
62.1319 - case 167: break;
62.1320 - case 79:
62.1321 - { return createSymbol(Ada95ASTSymbols.DELTA);
62.1322 - }
62.1323 - case 168: break;
62.1324 - case 77:
62.1325 - { return createSymbol(Ada95ASTSymbols.RANGE);
62.1326 - }
62.1327 - case 169: break;
62.1328 - case 2:
62.1329 - { return createFullSymbol(Ada95ASTSymbols.DECIMAL_LITERAL);
62.1330 - }
62.1331 - case 170: break;
62.1332 - case 3:
62.1333 - { return createFullSymbol(Ada95ASTSymbols.IDENTIFIER);
62.1334 - }
62.1335 - case 171: break;
62.1336 - case 19:
62.1337 - { return createSymbol(Ada95ASTSymbols.LT);
62.1338 - }
62.1339 - case 172: break;
62.1340 - case 82:
62.1341 - { return createSymbol(Ada95ASTSymbols.ACCESS);
62.1342 - }
62.1343 - case 173: break;
62.1344 - case 93:
62.1345 - { return createSymbol(Ada95ASTSymbols.REQUEUE);
62.1346 - }
62.1347 - case 174: break;
62.1348 - case 101:
62.1349 - { return createSymbol(Ada95ASTSymbols.ABSTRACT);
62.1350 - }
62.1351 - case 175: break;
62.1352 - case 44:
62.1353 - { popState();
62.1354 - return createSymbol(Ada95ASTSymbols.DOT_DOT);
62.1355 - }
62.1356 - case 176: break;
62.1357 - case 5:
62.1358 - { return createSymbol(Ada95ASTSymbols.MINUS);
62.1359 - }
62.1360 - case 177: break;
62.1361 - case 62:
62.1362 - { return createSymbol(Ada95ASTSymbols.TASK);
62.1363 - }
62.1364 - case 178: break;
62.1365 - case 107:
62.1366 - { return createSymbol(Ada95ASTSymbols.PROCEDURE);
62.1367 - }
62.1368 - case 179: break;
62.1369 - case 88:
62.1370 - { return createSymbol(Ada95ASTSymbols.SELECT);
62.1371 - }
62.1372 - case 180: break;
62.1373 - case 40:
62.1374 - { return createSymbol(Ada95ASTSymbols.BOX);
62.1375 - }
62.1376 - case 181: break;
62.1377 - case 48:
62.1378 - { return createSymbol(Ada95ASTSymbols.ABS);
62.1379 - }
62.1380 - case 182: break;
62.1381 - case 89:
62.1382 - { return createSymbol(Ada95ASTSymbols.PRAGMA);
62.1383 - }
62.1384 - case 183: break;
62.1385 - case 34:
62.1386 - { return createSymbol(Ada95ASTSymbols.IN);
62.1387 - }
62.1388 - case 184: break;
62.1389 - case 92:
62.1390 - { return createSymbol(Ada95ASTSymbols.REVERSE);
62.1391 - }
62.1392 - case 185: break;
62.1393 - case 9:
62.1394 - { return createSymbol(Ada95ASTSymbols.TICK);
62.1395 - }
62.1396 - case 186: break;
62.1397 - case 46:
62.1398 - { return createSymbol(Ada95ASTSymbols.END);
62.1399 - }
62.1400 - case 187: break;
62.1401 - case 67:
62.1402 - { return createSymbol(Ada95ASTSymbols.NULL);
62.1403 - }
62.1404 - case 188: break;
62.1405 - case 55:
62.1406 - { return createSymbol(Ada95ASTSymbols.XOR);
62.1407 - }
62.1408 - case 189: break;
62.1409 - case 69:
62.1410 - { return createSymbol(Ada95ASTSymbols.WITH);
62.1411 - }
62.1412 - case 190: break;
62.1413 - case 91:
62.1414 - { return createSymbol(Ada95ASTSymbols.RENAMES);
62.1415 - }
62.1416 - case 191: break;
62.1417 - case 7:
62.1418 - { return createSymbol(Ada95ASTSymbols.COLON);
62.1419 - }
62.1420 - case 192: break;
62.1421 - case 74:
62.1422 - { return createSymbol(Ada95ASTSymbols.ARRAY);
62.1423 - }
62.1424 - case 193: break;
62.1425 - case 4:
62.1426 - { return createSymbol(Ada95ASTSymbols.PLUS);
62.1427 - }
62.1428 - case 194: break;
62.1429 - case 31:
62.1430 - { return createSymbol(Ada95ASTSymbols.OR);
62.1431 - }
62.1432 - case 195: break;
62.1433 - case 52:
62.1434 - { return createSymbol(Ada95ASTSymbols.REM);
62.1435 - }
62.1436 - case 196: break;
62.1437 - case 71:
62.1438 - { return createSymbol(Ada95ASTSymbols.ELSIF);
62.1439 - }
62.1440 - case 197: break;
62.1441 - case 28:
62.1442 - { return createFullSymbol(Ada95ASTSymbols.STRING_LITERAL);
62.1443 - }
62.1444 - case 198: break;
62.1445 - case 99:
62.1446 - { return createSymbol(Ada95ASTSymbols.GENERIC);
62.1447 - }
62.1448 - case 199: break;
62.1449 - case 56:
62.1450 - { return createSymbol(Ada95ASTSymbols.USE);
62.1451 - }
62.1452 - case 200: break;
62.1453 - case 80:
62.1454 - { return createSymbol(Ada95ASTSymbols.UNTIL);
62.1455 - }
62.1456 - case 201: break;
62.1457 - case 98:
62.1458 - { return createSymbol(Ada95ASTSymbols.DECLARE);
62.1459 - }
62.1460 - case 202: break;
62.1461 - case 86:
62.1462 - { return createSymbol(Ada95ASTSymbols.RECORD);
62.1463 - }
62.1464 - case 203: break;
62.1465 - case 76:
62.1466 - { return createSymbol(Ada95ASTSymbols.RAISE);
62.1467 - }
62.1468 - case 204: break;
62.1469 - case 15:
62.1470 - { return createSymbol(Ada95ASTSymbols.SLASH);
62.1471 - }
62.1472 - case 205: break;
62.1473 - case 81:
62.1474 - { return createSymbol(Ada95ASTSymbols.WHILE);
62.1475 - }
62.1476 - case 206: break;
62.1477 - case 64:
62.1478 - { return createSymbol(Ada95ASTSymbols.THEN);
62.1479 - }
62.1480 - case 207: break;
62.1481 - case 68:
62.1482 - { return createSymbol(Ada95ASTSymbols.GOTO);
62.1483 - }
62.1484 - case 208: break;
62.1485 - case 1:
62.1486 - { // do nothing
62.1487 - }
62.1488 - case 209: break;
62.1489 - case 14:
62.1490 - { return createSymbol(Ada95ASTSymbols.COMMA);
62.1491 - }
62.1492 - case 210: break;
62.1493 - case 37:
62.1494 - { return createSymbol(Ada95ASTSymbols.INEQ);
62.1495 - }
62.1496 - case 211: break;
62.1497 - case 84:
62.1498 - { return createSymbol(Ada95ASTSymbols.OTHERS);
62.1499 - }
62.1500 - case 212: break;
62.1501 - case 25:
62.1502 - { handleCommentStart();
62.1503 - yybegin(ST_LINE_COMMENT);
62.1504 - }
62.1505 - case 213: break;
62.1506 - case 8:
62.1507 - {
62.1508 - }
62.1509 - case 214: break;
62.1510 - default:
62.1511 - if (zzInput == YYEOF && (zzStartRead == zzCurrentPos)) {
62.1512 - zzAtEOF = true;
62.1513 - zzDoEOF();
62.1514 - switch (zzLexicalState) {
62.1515 - case YYINITIAL: {
62.1516 - if (yytext().length() > 0) {
62.1517 - yypushback(1); // backup eof
62.1518 - comment = yytext();
62.1519 - }
62.1520 - else {
62.1521 - return createSymbol(Ada95ASTSymbols.EOF);
62.1522 - }
62.1523 - }
62.1524 - case 333: break;
62.1525 - default:
62.1526 - { return createSymbol(Ada95ASTSymbols.EOF);
62.1527 - }
62.1528 - }
62.1529 - }
62.1530 - else {
62.1531 - zzScanError(ZZ_NO_MATCH);
62.1532 - }
62.1533 - }
62.1534 - }
62.1535 - }
62.1536 -
62.1537 -
62.1538 -}
63.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/Ada95SyntaxLexer.java Tue Oct 02 21:55:21 2012 -0400
63.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
63.3 @@ -1,1735 +0,0 @@
63.4 -/* The following code was generated by JFlex 1.4.2 on 08/02/09 10.47 */
63.5 -
63.6 -/*
63.7 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
63.8 - *
63.9 - * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
63.10 - *
63.11 - * The contents of this file are subject to the terms of either the GNU
63.12 - * General Public License Version 2 only ("GPL") or the Common
63.13 - * Development and Distribution License("CDDL") (collectively, the
63.14 - * "License"). You may not use this file except in compliance with the
63.15 - * License. You can obtain a copy of the License at
63.16 - * http://www.netbeans.org/cddl-gplv2.html
63.17 - * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
63.18 - * specific language governing permissions and limitations under the
63.19 - * License. When distributing the software, include this License Header
63.20 - * Notice in each file and include the License file at
63.21 - * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
63.22 - * particular file as subject to the "Classpath" exception as provided
63.23 - * by Sun in the GPL Version 2 section of the License file that
63.24 - * accompanied this code. If applicable, add the following below the
63.25 - * License Header, with the fields enclosed by brackets [] replaced by
63.26 - * your own identifying information:
63.27 - * "Portions Copyrighted [year] [name of copyright owner]"
63.28 - *
63.29 - * If you wish your version of this file to be governed by only the CDDL
63.30 - * or only the GPL Version 2, indicate your decision by adding
63.31 - * "[Contributor] elects to include this software in this distribution
63.32 - * under the [CDDL or GPL Version 2] license." If you do not indicate a
63.33 - * single choice of license, a recipient has the option to distribute
63.34 - * your version of this file under either the CDDL, the GPL Version 2 or
63.35 - * to extend the choice of license to its licensees as provided above.
63.36 - * However, if you add GPL Version 2 code and therefore, elected the GPL
63.37 - * Version 2 license, then the option applies only if the new code is
63.38 - * made subject to such option by the copyright holder.
63.39 - *
63.40 - * Contributor(s):
63.41 - *
63.42 - * Portions Copyrighted 2008 Sun Microsystems, Inc.
63.43 - */
63.44 -package org.netbeans.modules.ada.editor.lexer;
63.45 -
63.46 -import org.netbeans.spi.lexer.LexerInput;
63.47 -import org.netbeans.spi.lexer.LexerRestartInfo;
63.48 -
63.49 -/**
63.50 - * This class is a scanner generated by
63.51 - * <a href="http://www.jflex.de/">JFlex</a> 1.4.2
63.52 - * on 08/02/09 10.47 from the specification file
63.53 - * <tt>C:/hg-repo/release65/contrib/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95SyntaxLexer.flex</tt>
63.54 - */
63.55 -public class Ada95SyntaxLexer {
63.56 -
63.57 - /** This character denotes the end of file */
63.58 - public static final int YYEOF = LexerInput.EOF;
63.59 -
63.60 - /** initial size of the lookahead buffer */
63.61 - private static final int ZZ_BUFFERSIZE = 16384;
63.62 -
63.63 - /** lexical states */
63.64 - public static final int ST_HIGHLIGHTING_ERROR = 8;
63.65 - public static final int ST_LOOKING_FOR_PROPERTY = 2;
63.66 - public static final int YYINITIAL = 0;
63.67 - public static final int ST_LINE_COMMENT = 6;
63.68 - public static final int ST_CHAR_LITERAL = 4;
63.69 -
63.70 - /**
63.71 - * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
63.72 - * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
63.73 - * at the beginning of a line
63.74 - * l is of the form l = 2*k, k a non negative integer
63.75 - */
63.76 - private static final int ZZ_LEXSTATE[] = {
63.77 - 0, 0, 1, 1, 2, 2, 3, 3, 4, 4
63.78 - };
63.79 -
63.80 - /**
63.81 - * Translates characters to character classes
63.82 - */
63.83 - private static final String ZZ_CMAP_PACKED =
63.84 - "\11\0\1\13\1\15\2\0\1\17\22\0\1\46\1\62\1\14\1\10"+
63.85 - "\2\0\1\50\1\16\1\51\1\52\1\53\1\5\1\54\1\6\1\7"+
63.86 - "\1\55\12\1\1\11\1\56\1\57\1\60\1\61\2\0\1\20\1\21"+
63.87 - "\1\26\1\32\1\4\1\2\1\35\1\42\1\31\1\47\1\43\1\30"+
63.88 - "\1\40\1\33\1\22\1\27\1\45\1\23\1\25\1\24\1\37\1\44"+
63.89 - "\1\41\1\36\1\34\1\12\4\0\1\3\1\0\1\20\1\21\1\26"+
63.90 - "\1\32\1\4\1\2\1\35\1\42\1\31\1\47\1\43\1\30\1\40"+
63.91 - "\1\33\1\22\1\27\1\45\1\23\1\25\1\24\1\37\1\44\1\41"+
63.92 - "\1\36\1\34\1\12\1\0\1\62\uff83\0";
63.93 -
63.94 - /**
63.95 - * Translates characters to character classes
63.96 - */
63.97 - private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
63.98 -
63.99 - /**
63.100 - * Translates DFA states to action switch labels.
63.101 - */
63.102 - private static final int [] ZZ_ACTION = zzUnpackAction();
63.103 -
63.104 - private static final String ZZ_ACTION_PACKED_0 =
63.105 - "\5\0\1\1\1\2\2\3\1\4\1\5\1\6\1\7"+
63.106 - "\1\3\1\10\1\1\1\11\21\3\1\12\1\13\1\14"+
63.107 - "\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24"+
63.108 - "\1\25\1\26\1\27\3\30\1\31\1\32\5\0\7\3"+
63.109 - "\1\33\1\34\1\35\1\0\1\36\22\0\2\3\1\37"+
63.110 - "\5\3\1\40\1\41\22\3\1\42\1\43\1\44\1\3"+
63.111 - "\1\45\14\3\1\46\1\47\1\50\1\51\1\52\1\53"+
63.112 - "\1\54\1\55\1\0\1\56\1\2\1\0\1\2\1\0"+
63.113 - "\1\3\1\57\4\3\1\60\2\3\1\61\56\0\1\3"+
63.114 - "\1\62\2\3\1\63\1\3\1\64\4\3\1\65\3\3"+
63.115 - "\1\66\32\3\1\67\1\70\3\3\1\71\1\72\1\3"+
63.116 - "\1\73\4\3\1\0\1\74\3\3\1\75\2\3\1\0"+
63.117 - "\1\3\1\76\5\0\1\77\32\0\1\77\13\0\1\77"+
63.118 - "\4\0\1\77\7\3\1\100\11\3\1\101\1\3\1\102"+
63.119 - "\1\103\1\104\3\3\1\105\7\3\1\106\6\3\1\107"+
63.120 - "\1\3\1\110\1\3\1\111\1\3\1\112\1\3\2\0"+
63.121 - "\1\113\1\114\1\3\1\115\1\116\3\0\1\3\32\0"+
63.122 - "\1\77\15\0\1\117\1\3\1\120\3\3\1\121\7\3"+
63.123 - "\1\122\1\123\17\3\1\124\1\125\2\3\1\126\1\0"+
63.124 - "\1\127\1\74\1\0\1\3\2\0\1\130\1\3\6\0"+
63.125 - "\1\77\23\0\1\77\3\0\1\3\1\131\1\132\2\3"+
63.126 - "\1\133\1\134\1\135\4\3\1\136\1\3\1\137\4\3"+
63.127 - "\1\140\6\3\1\141\3\3\2\0\1\3\30\0\1\3"+
63.128 - "\1\142\1\143\1\144\1\145\1\146\2\3\1\147\2\3"+
63.129 - "\1\150\2\3\1\151\1\152\1\153\1\154\1\155\1\3"+
63.130 - "\1\156\1\157\1\160\1\3\17\0\1\77\6\0\1\161"+
63.131 - "\1\3\1\162\1\163\4\3\1\164\20\0\1\165\1\166"+
63.132 - "\1\167\1\170\1\3\17\0\1\3\20\0\1\3\10\0"+
63.133 - "\1\3\5\0\1\3\3\0\1\171\16\0";
63.134 -
63.135 - private static int [] zzUnpackAction() {
63.136 - int [] result = new int[692];
63.137 - int offset = 0;
63.138 - offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
63.139 - return result;
63.140 - }
63.141 -
63.142 - private static int zzUnpackAction(String packed, int offset, int [] result) {
63.143 - int i = 0; /* index in packed string */
63.144 - int j = offset; /* index in unpacked array */
63.145 - int l = packed.length();
63.146 - while (i < l) {
63.147 - int count = packed.charAt(i++);
63.148 - int value = packed.charAt(i++);
63.149 - do result[j++] = value; while (--count > 0);
63.150 - }
63.151 - return j;
63.152 - }
63.153 -
63.154 -
63.155 - /**
63.156 - * Translates a state to a row index in the transition table
63.157 - */
63.158 - private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
63.159 -
63.160 - private static final String ZZ_ROWMAP_PACKED_0 =
63.161 - "\0\0\0\63\0\146\0\231\0\314\0\146\0\377\0\u0132"+
63.162 - "\0\u0165\0\146\0\u0198\0\u01cb\0\u01fe\0\u0231\0\u0264\0\u0297"+
63.163 - "\0\u02ca\0\u02fd\0\u0330\0\u0363\0\u0396\0\u03c9\0\u03fc\0\u042f"+
63.164 - "\0\u0462\0\u0495\0\u04c8\0\u04fb\0\u052e\0\u0561\0\u0594\0\u05c7"+
63.165 - "\0\u05fa\0\u062d\0\146\0\146\0\146\0\u0660\0\146\0\u0693"+
63.166 - "\0\146\0\u06c6\0\u06f9\0\u072c\0\146\0\146\0\u075f\0\u0792"+
63.167 - "\0\u07c5\0\146\0\u07f8\0\146\0\u082b\0\u085e\0\u0891\0\u08c4"+
63.168 - "\0\u08f7\0\u092a\0\u095d\0\u0990\0\u09c3\0\u09f6\0\u0a29\0\u0a5c"+
63.169 - "\0\u0a8f\0\146\0\146\0\146\0\u0297\0\u0ac2\0\u0af5\0\u0b28"+
63.170 - "\0\u0b5b\0\u0b8e\0\u0bc1\0\u0bf4\0\u0c27\0\u0c5a\0\u0c8d\0\u0cc0"+
63.171 - "\0\u0cf3\0\u0d26\0\u0d59\0\u0d8c\0\u0dbf\0\u0df2\0\u0e25\0\u0e58"+
63.172 - "\0\u0e8b\0\u0ebe\0\u0231\0\u0ef1\0\u0f24\0\u0f57\0\u0f8a\0\u0fbd"+
63.173 - "\0\u0231\0\u0231\0\u0ff0\0\u1023\0\u1056\0\u1089\0\u10bc\0\u10ef"+
63.174 - "\0\u1122\0\u1155\0\u1188\0\u11bb\0\u11ee\0\u1221\0\u1254\0\u1287"+
63.175 - "\0\u12ba\0\u12ed\0\u1320\0\u1353\0\u0231\0\u0231\0\u1386\0\u13b9"+
63.176 - "\0\u0231\0\u13ec\0\u141f\0\u1452\0\u1485\0\u14b8\0\u14eb\0\u151e"+
63.177 - "\0\u1551\0\u1584\0\u15b7\0\u15ea\0\u161d\0\146\0\146\0\146"+
63.178 - "\0\146\0\146\0\146\0\146\0\146\0\u1650\0\146\0\u1683"+
63.179 - "\0\u16b6\0\u16e9\0\u171c\0\u174f\0\u0231\0\u1782\0\u17b5\0\u17e8"+
63.180 - "\0\u181b\0\u184e\0\u1881\0\u18b4\0\146\0\u18e7\0\u191a\0\u194d"+
63.181 - "\0\u1980\0\u19b3\0\u19e6\0\u1a19\0\u1a4c\0\u1a7f\0\u1ab2\0\u1ae5"+
63.182 - "\0\u1b18\0\u1b4b\0\u1b7e\0\u1bb1\0\u1be4\0\u1c17\0\u1c4a\0\u1c7d"+
63.183 - "\0\u1cb0\0\u1ce3\0\u1d16\0\u1d49\0\u1d7c\0\u1daf\0\u1de2\0\u1e15"+
63.184 - "\0\u1e48\0\u1e7b\0\u1eae\0\u1ee1\0\u1f14\0\u1f47\0\u1f7a\0\u1fad"+
63.185 - "\0\u1fe0\0\u2013\0\u2046\0\u2079\0\u20ac\0\u20df\0\u2112\0\u2145"+
63.186 - "\0\u2178\0\u21ab\0\u21de\0\u2211\0\u2244\0\u2277\0\u22aa\0\u0231"+
63.187 - "\0\u22dd\0\u0231\0\u2310\0\u2343\0\u2376\0\u23a9\0\u0231\0\u23dc"+
63.188 - "\0\u240f\0\u2442\0\u0231\0\u2475\0\u24a8\0\u24db\0\u250e\0\u2541"+
63.189 - "\0\u2574\0\u25a7\0\u25da\0\u260d\0\u2640\0\u2673\0\u26a6\0\u26d9"+
63.190 - "\0\u270c\0\u273f\0\u2772\0\u27a5\0\u27d8\0\u280b\0\u283e\0\u2871"+
63.191 - "\0\u28a4\0\u28d7\0\u290a\0\u293d\0\u2970\0\u0231\0\u0231\0\u29a3"+
63.192 - "\0\u29d6\0\u2a09\0\u0231\0\u0231\0\u2a3c\0\u0231\0\u2a6f\0\u2aa2"+
63.193 - "\0\u2ad5\0\u2b08\0\u2b3b\0\u2b6e\0\u2ba1\0\u2bd4\0\u2c07\0\u0231"+
63.194 - "\0\u2c3a\0\u2c6d\0\u2ca0\0\u2cd3\0\u0231\0\u2d06\0\u2d39\0\u2d6c"+
63.195 - "\0\u2d9f\0\u2dd2\0\146\0\u2e05\0\u2e38\0\u2e6b\0\u2e9e\0\u2ed1"+
63.196 - "\0\u2f04\0\u2f37\0\u2f6a\0\u2f9d\0\u2fd0\0\u3003\0\u3036\0\u3069"+
63.197 - "\0\u309c\0\u30cf\0\u3102\0\u3135\0\u3168\0\u319b\0\u31ce\0\u3201"+
63.198 - "\0\u3234\0\u3267\0\u329a\0\u32cd\0\u3300\0\u3333\0\u3366\0\u3399"+
63.199 - "\0\u33cc\0\u33ff\0\u3432\0\u3465\0\u3498\0\u34cb\0\u34fe\0\u3531"+
63.200 - "\0\u3564\0\u3597\0\u35ca\0\u35fd\0\u3630\0\u3663\0\u3696\0\u36c9"+
63.201 - "\0\u36fc\0\u372f\0\u3762\0\u3795\0\u37c8\0\u37fb\0\u0231\0\u382e"+
63.202 - "\0\u3861\0\u3894\0\u38c7\0\u38fa\0\u392d\0\u3960\0\u3993\0\u39c6"+
63.203 - "\0\u0231\0\u39f9\0\u0231\0\u0231\0\u0231\0\u3a2c\0\u3a5f\0\u3a92"+
63.204 - "\0\u0231\0\u3ac5\0\u3af8\0\u3b2b\0\u3b5e\0\u3b91\0\u3bc4\0\u3bf7"+
63.205 - "\0\u0231\0\u3c2a\0\u3c5d\0\u3c90\0\u3cc3\0\u3cf6\0\u3d29\0\u0231"+
63.206 - "\0\u3d5c\0\u0231\0\u3d8f\0\u0231\0\u3dc2\0\u0231\0\u3df5\0\u3e28"+
63.207 - "\0\u3e5b\0\u0231\0\u0231\0\u3e8e\0\u0231\0\u0231\0\u3ec1\0\u3ef4"+
63.208 - "\0\u3f27\0\u3f5a\0\u3f8d\0\u3fc0\0\u3ff3\0\u4026\0\u4059\0\u408c"+
63.209 - "\0\u40bf\0\u40f2\0\u4125\0\u4158\0\u418b\0\u41be\0\u41f1\0\u4224"+
63.210 - "\0\u4257\0\u428a\0\u42bd\0\u42f0\0\u4323\0\u4356\0\u4389\0\u43bc"+
63.211 - "\0\u43ef\0\u4422\0\u4455\0\u4488\0\u44bb\0\u44ee\0\u4521\0\u4554"+
63.212 - "\0\u4587\0\u45ba\0\u45ed\0\u4620\0\u4653\0\u4686\0\u46b9\0\u46ec"+
63.213 - "\0\u471f\0\u4752\0\u0231\0\u4785\0\u0231\0\u47b8\0\u47eb\0\u481e"+
63.214 - "\0\u0231\0\u4851\0\u4884\0\u48b7\0\u48ea\0\u491d\0\u4950\0\u4983"+
63.215 - "\0\u0231\0\u0231\0\u49b6\0\u49e9\0\u4a1c\0\u4a4f\0\u4a82\0\u4ab5"+
63.216 - "\0\u4ae8\0\u4b1b\0\u4b4e\0\u4b81\0\u4bb4\0\u4be7\0\u4c1a\0\u4c4d"+
63.217 - "\0\u4c80\0\u0231\0\u0231\0\u4cb3\0\u4ce6\0\u0231\0\u4d19\0\u0231"+
63.218 - "\0\u4d4c\0\u4d7f\0\u4db2\0\u4de5\0\u4e18\0\146\0\u4e4b\0\u4e7e"+
63.219 - "\0\u4eb1\0\u4ee4\0\u4f17\0\u4f4a\0\u4f7d\0\u42f0\0\u4fb0\0\u4fe3"+
63.220 - "\0\u5016\0\u5049\0\u507c\0\u50af\0\u50e2\0\u5115\0\u5148\0\u517b"+
63.221 - "\0\u51ae\0\u51e1\0\u5214\0\u5247\0\u527a\0\u52ad\0\u52e0\0\u5313"+
63.222 - "\0\u5346\0\u5379\0\u53ac\0\u53df\0\u5412\0\u5445\0\u0231\0\u0231"+
63.223 - "\0\u5478\0\u54ab\0\u0231\0\u0231\0\u0231\0\u54de\0\u5511\0\u5544"+
63.224 - "\0\u5577\0\u0231\0\u55aa\0\u0231\0\u55dd\0\u5610\0\u5643\0\u5676"+
63.225 - "\0\u0231\0\u56a9\0\u56dc\0\u570f\0\u5742\0\u5775\0\u57a8\0\u0231"+
63.226 - "\0\u57db\0\u580e\0\u5841\0\u5874\0\u58a7\0\u58da\0\u590d\0\u5940"+
63.227 - "\0\u5973\0\u59a6\0\u59d9\0\u5a0c\0\u5a3f\0\u5a72\0\u5aa5\0\u5ad8"+
63.228 - "\0\u5b0b\0\u5b3e\0\u5b71\0\u5ba4\0\u5bd7\0\u5c0a\0\u5c3d\0\u5c70"+
63.229 - "\0\u5ca3\0\u5cd6\0\u5d09\0\u5d3c\0\u5d6f\0\u5da2\0\u5dd5\0\u0231"+
63.230 - "\0\u0231\0\u0231\0\u0231\0\u0231\0\u5e08\0\u5e3b\0\u0231\0\u5e6e"+
63.231 - "\0\u5ea1\0\u0231\0\u5ed4\0\u5f07\0\u0231\0\u0231\0\u0231\0\u0231"+
63.232 - "\0\u0231\0\u5f3a\0\u0231\0\146\0\146\0\u5f6d\0\u5fa0\0\u5fd3"+
63.233 - "\0\u6006\0\u6039\0\u606c\0\u609f\0\u60d2\0\u6105\0\u6138\0\u616b"+
63.234 - "\0\u619e\0\u61d1\0\u6204\0\u6237\0\u626a\0\u629d\0\u62d0\0\u6303"+
63.235 - "\0\u6336\0\u6369\0\u639c\0\u63cf\0\u0231\0\u6402\0\u0231\0\u0231"+
63.236 - "\0\u6435\0\u6468\0\u649b\0\u64ce\0\u0231\0\u6501\0\u6534\0\u6567"+
63.237 - "\0\u659a\0\u65cd\0\u6600\0\u6633\0\u6666\0\u6699\0\u66cc\0\u66ff"+
63.238 - "\0\u6732\0\u6765\0\u6798\0\u67cb\0\u67fe\0\u0231\0\u0231\0\u0231"+
63.239 - "\0\u0231\0\u6831\0\u6864\0\u6897\0\u68ca\0\u68fd\0\u6930\0\u6963"+
63.240 - "\0\u6996\0\u69c9\0\u69fc\0\u6a2f\0\u6a62\0\u6a95\0\u6ac8\0\u6afb"+
63.241 - "\0\u6b2e\0\u6b61\0\u6b94\0\u6bc7\0\u6bfa\0\u6c2d\0\u6c60\0\u6c93"+
63.242 - "\0\u6cc6\0\u6cf9\0\u6d2c\0\u6d5f\0\u6d92\0\u6dc5\0\u6df8\0\u6e2b"+
63.243 - "\0\u6e5e\0\u6e91\0\u6ec4\0\u6ef7\0\u6f2a\0\u6f5d\0\u6f90\0\u6fc3"+
63.244 - "\0\u6ff6\0\u7029\0\u705c\0\u708f\0\u70c2\0\u70f5\0\u7128\0\u715b"+
63.245 - "\0\u718e\0\u71c1\0\u71f4\0\u7227\0\u725a\0\u0231\0\u728d\0\u72c0"+
63.246 - "\0\u72f3\0\u7326\0\u7359\0\u738c\0\u73bf\0\u73f2\0\u7425\0\u7458"+
63.247 - "\0\u748b\0\u74be\0\u74f1\0\u7524";
63.248 -
63.249 - private static int [] zzUnpackRowMap() {
63.250 - int [] result = new int[692];
63.251 - int offset = 0;
63.252 - offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
63.253 - return result;
63.254 - }
63.255 -
63.256 - private static int zzUnpackRowMap(String packed, int offset, int [] result) {
63.257 - int i = 0; /* index in packed string */
63.258 - int j = offset; /* index in unpacked array */
63.259 - int l = packed.length();
63.260 - while (i < l) {
63.261 - int high = packed.charAt(i++) << 16;
63.262 - result[j++] = high | packed.charAt(i++);
63.263 - }
63.264 - return j;
63.265 - }
63.266 -
63.267 - /**
63.268 - * The transition table of the DFA
63.269 - */
63.270 - private static final int [] ZZ_TRANS = zzUnpackTrans();
63.271 -
63.272 - private static final String ZZ_TRANS_PACKED_0 =
63.273 - "\1\6\1\7\1\10\1\6\1\11\1\12\1\13\1\14"+
63.274 - "\1\6\1\15\1\16\1\17\1\20\1\17\1\21\1\17"+
63.275 - "\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31"+
63.276 - "\1\32\1\33\1\34\1\35\1\16\1\36\1\37\1\40"+
63.277 - "\1\41\1\42\4\16\1\17\1\16\1\43\1\44\1\45"+
63.278 - "\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55"+
63.279 - "\2\56\1\57\1\56\1\57\2\56\1\60\2\56\1\57"+
63.280 - "\5\56\26\57\1\56\1\57\13\56\63\0\15\61\1\62"+
63.281 - "\1\61\1\63\43\61\13\64\1\65\1\64\1\65\1\64"+
63.282 - "\1\65\26\64\1\65\14\64\1\0\1\7\1\0\1\66"+
63.283 - "\1\67\2\0\1\70\2\71\52\0\2\16\1\72\1\16"+
63.284 - "\5\0\1\16\5\0\1\73\1\16\1\74\5\16\1\75"+
63.285 - "\6\16\1\76\6\16\1\0\1\16\14\0\2\16\1\72"+
63.286 - "\1\16\5\0\1\16\5\0\10\16\1\77\2\16\1\100"+
63.287 - "\2\16\1\101\7\16\1\0\1\16\21\0\1\102\63\0"+
63.288 - "\1\103\133\0\1\104\3\0\2\16\1\72\1\16\5\0"+
63.289 - "\1\16\5\0\26\16\1\0\1\16\26\0\1\17\1\0"+
63.290 - "\1\17\1\0\1\17\26\0\1\17\14\0\14\105\1\106"+
63.291 - "\1\0\45\105\2\107\1\110\1\107\1\111\10\107\1\0"+
63.292 - "\2\107\1\112\1\113\1\114\1\115\1\116\1\117\1\120"+
63.293 - "\1\121\1\122\1\123\1\124\4\107\1\125\1\126\1\127"+
63.294 - "\2\107\1\130\16\107\1\0\2\16\1\72\1\16\5\0"+
63.295 - "\1\16\5\0\1\16\1\131\1\16\1\132\1\133\1\16"+
63.296 - "\1\134\1\16\1\135\2\16\1\136\12\16\1\0\1\16"+
63.297 - "\14\0\2\16\1\72\1\137\5\0\1\16\5\0\2\16"+
63.298 - "\1\140\23\16\1\0\1\16\14\0\1\16\1\141\1\72"+
63.299 - "\1\16\5\0\1\16\5\0\3\16\1\142\1\143\12\16"+
63.300 - "\1\144\6\16\1\0\1\16\14\0\2\16\1\72\1\145"+
63.301 - "\5\0\1\16\5\0\1\146\25\16\1\0\1\16\14\0"+
63.302 - "\2\16\1\72\1\147\5\0\1\16\5\0\1\150\2\16"+
63.303 - "\1\151\10\16\1\152\5\16\1\153\3\16\1\0\1\16"+
63.304 - "\14\0\2\16\1\72\1\154\5\0\1\16\5\0\17\16"+
63.305 - "\1\155\6\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.306 - "\5\0\1\16\5\0\1\156\1\16\1\157\17\16\1\160"+
63.307 - "\3\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.308 - "\1\16\5\0\1\161\2\16\1\162\22\16\1\0\1\16"+
63.309 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\2\16"+
63.310 - "\1\163\6\16\1\164\14\16\1\0\1\16\14\0\1\16"+
63.311 - "\1\165\1\72\1\16\5\0\1\16\5\0\5\16\1\166"+
63.312 - "\5\16\1\167\12\16\1\0\1\16\14\0\2\16\1\72"+
63.313 - "\1\170\5\0\1\16\5\0\2\16\1\171\6\16\1\172"+
63.314 - "\14\16\1\0\1\16\14\0\2\16\1\72\1\173\5\0"+
63.315 - "\1\16\5\0\2\16\1\174\14\16\1\175\6\16\1\0"+
63.316 - "\1\16\14\0\2\16\1\72\1\176\5\0\1\16\5\0"+
63.317 - "\2\16\1\177\23\16\1\0\1\16\14\0\2\16\1\72"+
63.318 - "\1\16\5\0\1\16\5\0\2\16\1\200\23\16\1\0"+
63.319 - "\1\16\14\0\2\16\1\72\1\16\5\0\1\16\5\0"+
63.320 - "\5\16\1\201\5\16\1\202\12\16\1\0\1\16\14\0"+
63.321 - "\2\16\1\72\1\16\5\0\1\16\5\0\2\16\1\203"+
63.322 - "\23\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.323 - "\1\16\5\0\11\16\1\204\10\16\1\205\3\16\1\0"+
63.324 - "\1\16\66\0\1\206\67\0\1\207\61\0\1\210\1\211"+
63.325 - "\1\212\62\0\1\213\61\0\1\214\1\215\2\0\2\57"+
63.326 - "\1\216\1\57\5\0\1\57\5\0\26\57\1\0\1\57"+
63.327 - "\22\0\1\217\53\0\15\61\1\62\1\61\1\62\43\61"+
63.328 - "\15\0\1\62\60\0\1\65\1\0\1\65\1\0\1\65"+
63.329 - "\26\0\1\65\15\0\1\7\62\0\1\220\3\0\2\221"+
63.330 - "\55\0\1\222\62\0\2\223\1\0\1\223\13\0\2\223"+
63.331 - "\4\0\1\223\3\0\1\223\31\0\2\16\1\0\1\16"+
63.332 - "\5\0\1\16\5\0\26\16\1\0\1\16\14\0\2\16"+
63.333 - "\1\72\1\16\5\0\1\16\5\0\10\16\1\224\15\16"+
63.334 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.335 - "\5\0\3\16\1\225\22\16\1\0\1\16\14\0\2\16"+
63.336 - "\1\72\1\16\5\0\1\16\5\0\2\16\1\226\23\16"+
63.337 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.338 - "\5\0\13\16\1\227\12\16\1\0\1\16\14\0\2\16"+
63.339 - "\1\72\1\16\5\0\1\16\5\0\5\16\1\230\20\16"+
63.340 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.341 - "\5\0\4\16\1\231\5\16\1\232\13\16\1\0\1\16"+
63.342 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\6\16"+
63.343 - "\1\233\2\16\1\234\14\16\1\0\1\16\27\0\1\105"+
63.344 - "\64\0\1\235\62\0\1\235\3\0\1\236\1\237\4\0"+
63.345 - "\1\240\1\241\47\0\1\235\17\0\1\242\26\0\1\243"+
63.346 - "\13\0\1\235\7\0\1\244\1\0\1\245\1\0\1\246"+
63.347 - "\46\0\1\235\1\0\1\247\1\0\1\250\6\0\1\251"+
63.348 - "\47\0\1\235\20\0\1\252\27\0\1\253\11\0\1\235"+
63.349 - "\1\0\1\254\1\0\1\255\44\0\1\256\11\0\1\235"+
63.350 - "\1\0\1\257\2\0\1\260\55\0\1\235\1\0\1\261"+
63.351 - "\3\0\1\262\1\0\1\263\2\0\1\264\5\0\1\265"+
63.352 - "\1\266\26\0\1\267\11\0\1\235\1\0\1\270\1\0"+
63.353 - "\1\271\5\0\1\272\50\0\1\235\1\0\1\273\1\0"+
63.354 - "\1\274\44\0\1\275\11\0\1\235\1\0\1\276\60\0"+
63.355 - "\1\235\13\0\1\277\1\300\4\0\1\301\26\0\1\302"+
63.356 - "\11\0\1\235\12\0\1\303\47\0\1\235\14\0\1\304"+
63.357 - "\45\0\1\235\1\0\1\305\1\0\1\306\6\0\1\307"+
63.358 - "\47\0\1\235\4\0\1\310\5\0\1\311\35\0\1\312"+
63.359 - "\11\0\1\235\1\0\1\313\43\0\2\16\1\72\1\16"+
63.360 - "\5\0\1\16\5\0\2\16\1\314\2\16\1\315\20\16"+
63.361 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.362 - "\5\0\3\16\1\316\22\16\1\0\1\16\14\0\2\16"+
63.363 - "\1\72\1\16\5\0\1\16\5\0\6\16\1\317\17\16"+
63.364 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.365 - "\5\0\10\16\1\320\1\321\14\16\1\0\1\16\14\0"+
63.366 - "\2\16\1\72\1\16\5\0\1\16\5\0\12\16\1\322"+
63.367 - "\13\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.368 - "\1\16\5\0\15\16\1\323\10\16\1\0\1\16\14\0"+
63.369 - "\2\16\1\72\1\16\5\0\1\16\5\0\2\16\1\324"+
63.370 - "\7\16\1\325\13\16\1\0\1\16\14\0\2\16\1\72"+
63.371 - "\1\16\5\0\1\16\5\0\22\16\1\326\3\16\1\0"+
63.372 - "\1\16\14\0\2\16\1\72\1\16\5\0\1\16\5\0"+
63.373 - "\4\16\1\327\21\16\1\0\1\16\14\0\2\16\1\72"+
63.374 - "\1\16\5\0\1\16\5\0\4\16\1\330\1\16\1\331"+
63.375 - "\4\16\1\332\4\16\1\333\3\16\1\334\1\335\1\0"+
63.376 - "\1\16\14\0\2\16\1\72\1\16\5\0\1\16\5\0"+
63.377 - "\11\16\1\336\1\16\1\337\12\16\1\0\1\16\14\0"+
63.378 - "\2\16\1\72\1\16\5\0\1\16\5\0\3\16\1\340"+
63.379 - "\22\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.380 - "\1\16\5\0\5\16\1\341\7\16\1\342\10\16\1\0"+
63.381 - "\1\16\14\0\2\16\1\72\1\16\5\0\1\16\5\0"+
63.382 - "\17\16\1\343\6\16\1\0\1\16\14\0\2\16\1\72"+
63.383 - "\1\16\5\0\1\16\5\0\7\16\1\344\16\16\1\0"+
63.384 - "\1\16\14\0\2\16\1\72\1\345\5\0\1\16\5\0"+
63.385 - "\26\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.386 - "\1\16\5\0\7\16\1\346\1\347\15\16\1\0\1\16"+
63.387 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\1\16"+
63.388 - "\1\350\24\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.389 - "\5\0\1\16\5\0\5\16\1\351\20\16\1\0\1\16"+
63.390 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\13\16"+
63.391 - "\1\352\12\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.392 - "\5\0\1\16\5\0\1\353\25\16\1\0\1\16\14\0"+
63.393 - "\2\16\1\72\1\16\5\0\1\16\5\0\6\16\1\354"+
63.394 - "\17\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.395 - "\1\16\5\0\1\355\1\16\1\356\6\16\1\357\14\16"+
63.396 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.397 - "\5\0\2\16\1\360\23\16\1\0\1\16\14\0\2\16"+
63.398 - "\1\72\1\16\5\0\1\16\5\0\20\16\1\361\5\16"+
63.399 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.400 - "\5\0\4\16\1\362\21\16\1\0\1\16\14\0\2\16"+
63.401 - "\1\72\1\16\5\0\1\16\5\0\6\16\1\363\1\16"+
63.402 - "\1\364\15\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.403 - "\5\0\1\16\5\0\15\16\1\365\10\16\1\0\1\16"+
63.404 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\21\16"+
63.405 - "\1\366\4\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.406 - "\5\0\1\16\5\0\4\16\1\367\21\16\1\0\1\16"+
63.407 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\10\16"+
63.408 - "\1\370\15\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.409 - "\5\0\1\16\5\0\13\16\1\371\12\16\1\0\1\16"+
63.410 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\4\16"+
63.411 - "\1\372\21\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.412 - "\5\0\1\16\5\0\3\16\1\373\22\16\1\0\1\16"+
63.413 - "\14\0\2\16\1\72\1\374\5\0\1\16\5\0\26\16"+
63.414 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.415 - "\5\0\4\16\1\375\21\16\1\0\1\16\14\0\2\16"+
63.416 - "\1\72\1\16\5\0\1\16\5\0\12\16\1\376\13\16"+
63.417 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.418 - "\5\0\4\16\1\377\5\16\1\u0100\13\16\1\0\1\16"+
63.419 - "\14\0\2\16\1\72\1\u0101\5\0\1\16\5\0\11\16"+
63.420 - "\1\u0102\14\16\1\0\1\16\14\0\2\57\1\0\1\57"+
63.421 - "\5\0\1\57\5\0\26\57\1\0\1\57\14\0\1\220"+
63.422 - "\1\0\1\221\60\0\1\220\62\0\1\222\1\0\1\70"+
63.423 - "\1\67\57\0\2\223\1\71\1\223\2\0\1\u0103\2\u0104"+
63.424 - "\6\0\2\223\4\0\1\223\3\0\1\223\31\0\2\16"+
63.425 - "\1\72\1\16\5\0\1\16\5\0\5\16\1\u0105\20\16"+
63.426 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.427 - "\5\0\1\u0106\25\16\1\0\1\16\14\0\2\16\1\72"+
63.428 - "\1\16\5\0\1\16\5\0\6\16\1\u0107\17\16\1\0"+
63.429 - "\1\16\14\0\2\16\1\72\1\u0108\5\0\1\16\5\0"+
63.430 - "\11\16\1\u0109\14\16\1\0\1\16\14\0\2\16\1\72"+
63.431 - "\1\16\5\0\1\16\5\0\3\16\1\u010a\22\16\1\0"+
63.432 - "\1\16\14\0\2\16\1\72\1\16\5\0\1\16\5\0"+
63.433 - "\26\16\1\u010b\1\16\14\0\2\16\1\72\1\u010c\5\0"+
63.434 - "\1\16\5\0\26\16\1\0\1\16\14\0\2\16\1\72"+
63.435 - "\1\16\5\0\1\16\5\0\4\16\1\u010d\21\16\1\0"+
63.436 - "\1\16\36\0\1\u010e\57\0\1\u010f\64\0\1\u0110\63\0"+
63.437 - "\1\276\63\0\1\u0111\2\0\1\u0112\57\0\1\u0113\64\0"+
63.438 - "\1\u0114\65\0\1\u0115\63\0\1\u0116\14\0\1\u0117\40\0"+
63.439 - "\1\u010e\67\0\1\u0118\54\0\1\u0119\62\0\1\300\56\0"+
63.440 - "\1\u011a\17\0\1\u011b\55\0\1\u011c\66\0\1\u011d\46\0"+
63.441 - "\1\u011e\74\0\1\u0113\64\0\1\u011f\25\0\1\u0120\102\0"+
63.442 - "\1\u0121\60\0\1\u0122\54\0\1\u010e\22\0\1\u0123\53\0"+
63.443 - "\1\u0124\54\0\1\u0125\73\0\1\u0126\61\0\1\u0127\61\0"+
63.444 - "\1\u0128\3\0\1\u0129\3\0\1\u012a\1\u012b\42\0\1\u012c"+
63.445 - "\65\0\1\u012d\64\0\1\u012e\55\0\1\u012f\12\0\1\u0130"+
63.446 - "\54\0\1\u0131\41\0\1\u0132\105\0\1\u0133\53\0\1\u011c"+
63.447 - "\72\0\1\u0134\2\0\1\u0135\64\0\1\u0136\46\0\1\u0137"+
63.448 - "\4\0\1\u0138\62\0\1\u0139\7\0\1\u013a\56\0\1\u013b"+
63.449 - "\63\0\1\u0113\60\0\1\u013c\63\0\1\u013d\53\0\1\u013e"+
63.450 - "\67\0\1\u013f\33\0\2\16\1\72\1\16\5\0\1\16"+
63.451 - "\5\0\3\16\1\u0140\22\16\1\0\1\16\14\0\2\16"+
63.452 - "\1\72\1\16\5\0\1\16\5\0\4\16\1\u0141\21\16"+
63.453 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.454 - "\5\0\1\u0142\25\16\1\0\1\16\14\0\2\16\1\72"+
63.455 - "\1\u0143\5\0\1\16\5\0\26\16\1\0\1\16\14\0"+
63.456 - "\2\16\1\72\1\16\5\0\1\16\5\0\1\u0144\25\16"+
63.457 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.458 - "\5\0\11\16\1\u0145\14\16\1\0\1\16\14\0\2\16"+
63.459 - "\1\72\1\16\5\0\1\16\5\0\10\16\1\u0146\15\16"+
63.460 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.461 - "\5\0\14\16\1\u0147\11\16\1\0\1\16\14\0\2\16"+
63.462 - "\1\72\1\u0148\5\0\1\16\5\0\26\16\1\0\1\16"+
63.463 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\17\16"+
63.464 - "\1\u0149\6\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.465 - "\5\0\1\16\5\0\2\16\1\u014a\23\16\1\0\1\16"+
63.466 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\1\u014b"+
63.467 - "\25\16\1\0\1\16\14\0\2\16\1\72\1\u014c\5\0"+
63.468 - "\1\16\5\0\26\16\1\0\1\16\14\0\2\16\1\72"+
63.469 - "\1\16\5\0\1\16\5\0\17\16\1\u014d\6\16\1\0"+
63.470 - "\1\16\14\0\2\16\1\72\1\16\5\0\1\16\5\0"+
63.471 - "\5\16\1\u014e\20\16\1\0\1\16\14\0\2\16\1\72"+
63.472 - "\1\16\5\0\1\16\5\0\15\16\1\u014f\10\16\1\0"+
63.473 - "\1\16\14\0\2\16\1\72\1\16\5\0\1\16\5\0"+
63.474 - "\20\16\1\u0150\5\16\1\0\1\16\14\0\2\16\1\72"+
63.475 - "\1\16\5\0\1\16\5\0\23\16\1\u0151\2\16\1\0"+
63.476 - "\1\16\14\0\2\16\1\72\1\16\5\0\1\16\5\0"+
63.477 - "\15\16\1\u0152\10\16\1\0\1\16\14\0\2\16\1\72"+
63.478 - "\1\u0153\5\0\1\16\5\0\26\16\1\0\1\16\14\0"+
63.479 - "\2\16\1\72\1\u0154\5\0\1\16\5\0\26\16\1\0"+
63.480 - "\1\16\14\0\2\16\1\72\1\16\5\0\1\16\5\0"+
63.481 - "\13\16\1\u0155\12\16\1\0\1\16\14\0\2\16\1\72"+
63.482 - "\1\16\5\0\1\16\5\0\1\u0156\25\16\1\0\1\16"+
63.483 - "\14\0\2\16\1\72\1\u0157\5\0\1\16\5\0\26\16"+
63.484 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.485 - "\5\0\4\16\1\u0158\21\16\1\0\1\16\14\0\2\16"+
63.486 - "\1\72\1\u0159\5\0\1\16\5\0\26\16\1\0\1\16"+
63.487 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\5\16"+
63.488 - "\1\u015a\20\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.489 - "\5\0\1\16\5\0\3\16\1\u015b\22\16\1\0\1\16"+
63.490 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\23\16"+
63.491 - "\1\u015c\2\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.492 - "\5\0\1\16\5\0\15\16\1\u015d\10\16\1\0\1\16"+
63.493 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\4\16"+
63.494 - "\1\u015e\1\16\1\u015f\17\16\1\0\1\16\14\0\2\16"+
63.495 - "\1\72\1\16\5\0\1\16\5\0\24\16\1\u0160\1\16"+
63.496 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.497 - "\5\0\7\16\1\u0161\16\16\1\0\1\16\14\0\2\16"+
63.498 - "\1\72\1\16\5\0\1\16\5\0\11\16\1\u0162\14\16"+
63.499 - "\1\0\1\16\14\0\2\16\1\72\1\u0163\5\0\1\16"+
63.500 - "\5\0\26\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.501 - "\5\0\1\16\5\0\10\16\1\u0164\15\16\1\0\1\16"+
63.502 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\1\u0165"+
63.503 - "\3\16\1\u0166\21\16\1\0\1\16\14\0\2\16\1\72"+
63.504 - "\1\16\5\0\1\16\5\0\11\16\1\u0167\14\16\1\0"+
63.505 - "\1\16\14\0\2\16\1\72\1\16\5\0\1\16\5\0"+
63.506 - "\10\16\1\u0168\15\16\1\0\1\16\14\0\2\16\1\72"+
63.507 - "\1\u0169\5\0\1\16\5\0\26\16\1\0\1\16\14\0"+
63.508 - "\2\16\1\72\1\16\5\0\1\16\5\0\2\16\1\u016a"+
63.509 - "\23\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.510 - "\1\16\5\0\11\16\1\u016b\14\16\1\0\1\16\14\0"+
63.511 - "\2\16\1\72\1\16\5\0\1\16\5\0\22\16\1\u016c"+
63.512 - "\3\16\1\0\1\16\14\0\2\16\1\72\1\u016d\5\0"+
63.513 - "\1\16\5\0\26\16\1\0\1\16\14\0\2\16\1\72"+
63.514 - "\1\16\5\0\1\16\5\0\13\16\1\u016e\12\16\1\0"+
63.515 - "\1\16\14\0\2\16\1\72\1\16\5\0\1\16\5\0"+
63.516 - "\10\16\1\u016f\15\16\1\0\1\16\14\0\2\u0170\1\0"+
63.517 - "\1\u0170\13\0\2\u0170\4\0\1\u0170\3\0\1\u0170\34\0"+
63.518 - "\1\u0171\57\0\2\16\1\72\1\u0172\5\0\1\16\5\0"+
63.519 - "\26\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.520 - "\1\16\5\0\4\16\1\u0173\21\16\1\0\1\16\14\0"+
63.521 - "\2\16\1\72\1\16\5\0\1\16\5\0\4\16\1\u0174"+
63.522 - "\21\16\1\0\1\16\14\0\1\16\1\u0175\1\72\1\16"+
63.523 - "\5\0\1\16\5\0\26\16\1\0\1\16\14\0\2\16"+
63.524 - "\1\72\1\16\5\0\1\16\5\0\14\16\1\u0176\11\16"+
63.525 - "\1\0\1\16\41\0\1\u0177\1\0\1\u0178\1\u0179\32\0"+
63.526 - "\2\16\1\72\1\16\5\0\1\16\5\0\7\16\1\u017a"+
63.527 - "\16\16\1\0\1\16\17\0\1\u0113\104\0\1\u017b\56\0"+
63.528 - "\1\u017c\44\0\1\u017d\100\0\1\u017e\44\0\1\u012c\113\0"+
63.529 - "\1\u017f\50\0\1\u0114\57\0\1\u0180\76\0\1\u0181\31\0"+
63.530 - "\1\u0182\111\0\1\u0113\50\0\1\u0183\77\0\1\u010e\60\0"+
63.531 - "\1\u0184\67\0\1\u0185\55\0\1\u0186\33\0\1\u0187\101\0"+
63.532 - "\1\u0188\67\0\1\u0189\65\0\1\u018a\55\0\1\u0113\64\0"+
63.533 - "\1\u018b\62\0\1\u018c\62\0\1\u018d\66\0\1\u018e\53\0"+
63.534 - "\1\u018f\70\0\1\243\56\0\1\u0190\60\0\1\u0191\61\0"+
63.535 - "\1\u0192\67\0\1\u017b\63\0\1\u0193\65\0\1\u0194\51\0"+
63.536 - "\1\u0195\71\0\1\u0196\66\0\1\243\47\0\1\u0197\60\0"+
63.537 - "\1\u0198\71\0\1\u0199\62\0\1\u019a\73\0\1\u019b\62\0"+
63.538 - "\1\u019c\23\0\1\u019d\63\0\1\u019e\32\0\1\u019f\47\0"+
63.539 - "\1\u010e\42\0\1\u01a0\17\0\1\u01a1\63\0\1\u01a2\66\0"+
63.540 - "\1\u011a\5\0\1\u010e\24\0\2\16\1\72\1\16\5\0"+
63.541 - "\1\16\5\0\4\16\1\u01a3\21\16\1\0\1\16\14\0"+
63.542 - "\2\16\1\72\1\16\5\0\1\16\5\0\3\16\1\u01a4"+
63.543 - "\22\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.544 - "\1\16\5\0\14\16\1\u01a5\11\16\1\0\1\16\14\0"+
63.545 - "\2\16\1\72\1\16\5\0\1\16\5\0\5\16\1\u01a6"+
63.546 - "\1\16\1\u01a7\16\16\1\0\1\16\14\0\2\16\1\72"+
63.547 - "\1\16\5\0\1\16\5\0\5\16\1\u01a8\20\16\1\0"+
63.548 - "\1\16\14\0\2\16\1\72\1\16\5\0\1\16\5\0"+
63.549 - "\13\16\1\u01a9\12\16\1\0\1\16\14\0\2\16\1\72"+
63.550 - "\1\u01aa\5\0\1\16\5\0\26\16\1\0\1\16\14\0"+
63.551 - "\2\16\1\72\1\16\5\0\1\16\5\0\3\16\1\u01ab"+
63.552 - "\22\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.553 - "\1\16\5\0\3\16\1\u01ac\22\16\1\0\1\16\14\0"+
63.554 - "\2\16\1\72\1\16\5\0\1\16\5\0\3\16\1\u01ad"+
63.555 - "\22\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.556 - "\1\16\5\0\20\16\1\u01ae\5\16\1\0\1\16\14\0"+
63.557 - "\2\16\1\72\1\16\5\0\1\16\5\0\3\16\1\u01af"+
63.558 - "\22\16\1\0\1\16\14\0\2\16\1\72\1\u01b0\5\0"+
63.559 - "\1\16\5\0\26\16\1\0\1\16\14\0\2\16\1\72"+
63.560 - "\1\u01b1\5\0\1\16\5\0\26\16\1\0\1\16\14\0"+
63.561 - "\2\16\1\72\1\u01b2\5\0\1\16\5\0\26\16\1\0"+
63.562 - "\1\16\14\0\2\16\1\72\1\16\5\0\1\16\5\0"+
63.563 - "\11\16\1\u01b3\14\16\1\0\1\16\14\0\2\16\1\72"+
63.564 - "\1\u01b4\5\0\1\16\5\0\26\16\1\0\1\16\14\0"+
63.565 - "\2\16\1\72\1\16\5\0\1\16\5\0\3\16\1\u01b5"+
63.566 - "\22\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.567 - "\1\16\5\0\6\16\1\u01b6\17\16\1\0\1\16\14\0"+
63.568 - "\2\16\1\72\1\16\5\0\1\16\5\0\14\16\1\u01b7"+
63.569 - "\11\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.570 - "\1\16\5\0\4\16\1\u01b8\21\16\1\0\1\16\14\0"+
63.571 - "\2\16\1\72\1\16\5\0\1\16\5\0\1\u01b9\25\16"+
63.572 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.573 - "\5\0\1\u01ba\25\16\1\0\1\16\14\0\2\16\1\72"+
63.574 - "\1\16\5\0\1\16\5\0\20\16\1\u01bb\5\16\1\0"+
63.575 - "\1\16\14\0\2\16\1\72\1\u01bc\5\0\1\16\5\0"+
63.576 - "\26\16\1\0\1\16\14\0\2\16\1\72\1\u01bd\5\0"+
63.577 - "\1\16\5\0\26\16\1\0\1\16\14\0\2\16\1\72"+
63.578 - "\1\16\5\0\1\16\5\0\1\u01be\25\16\1\0\1\16"+
63.579 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\4\16"+
63.580 - "\1\u01bf\21\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.581 - "\5\0\1\16\5\0\15\16\1\u01c0\10\16\1\0\1\16"+
63.582 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\1\u01c1"+
63.583 - "\25\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.584 - "\1\16\5\0\14\16\1\u01c2\11\16\1\0\1\16\14\0"+
63.585 - "\2\16\1\72\1\16\5\0\1\16\5\0\1\u01c3\25\16"+
63.586 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.587 - "\5\0\4\16\1\u01c4\21\16\1\0\1\16\14\0\2\16"+
63.588 - "\1\72\1\16\5\0\1\16\5\0\3\16\1\u01c5\22\16"+
63.589 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.590 - "\5\0\10\16\1\u01c6\15\16\1\0\1\16\14\0\2\16"+
63.591 - "\1\u01c7\1\16\5\0\1\16\5\0\26\16\1\0\1\16"+
63.592 - "\14\0\2\16\1\72\1\u01c8\5\0\1\16\5\0\26\16"+
63.593 - "\1\0\1\16\14\0\2\u0170\1\u0103\1\u0170\3\0\2\u0104"+
63.594 - "\6\0\2\u0170\4\0\1\u0170\3\0\1\u0170\31\0\1\u01c9"+
63.595 - "\3\0\2\u01ca\55\0\2\16\1\72\1\16\5\0\1\16"+
63.596 - "\5\0\11\16\1\u01cb\14\16\1\0\1\16\33\0\1\u01cc"+
63.597 - "\64\0\1\u01cd\42\0\1\u01ce\61\0\2\16\1\72\1\16"+
63.598 - "\5\0\1\16\5\0\4\16\1\u01cf\21\16\1\0\1\16"+
63.599 - "\37\0\1\u01a2\61\0\1\u0113\62\0\1\u01d0\72\0\1\u01d1"+
63.600 - "\62\0\1\u01d2\55\0\1\u01d1\37\0\1\u01d3\101\0\1\u01d4"+
63.601 - "\71\0\1\u01d5\63\0\1\u01d6\61\0\1\u01d7\57\0\1\u01d8"+
63.602 - "\37\0\1\u01d9\77\0\1\u01da\46\0\1\u0113\24\0\1\u01db"+
63.603 - "\35\0\1\u01dc\106\0\1\u0113\63\0\1\u01db\35\0\1\u017c"+
63.604 - "\13\0\1\u01dd\45\0\1\u01de\103\0\1\u01df\60\0\1\u01e0"+
63.605 - "\65\0\1\u0113\66\0\1\u01e1\62\0\1\u01e2\55\0\1\u01a1"+
63.606 - "\41\0\1\u01e3\103\0\1\u01e4\56\0\1\u0113\65\0\1\u01e5"+
63.607 - "\63\0\1\u0191\56\0\1\u01e6\46\0\1\u01e7\107\0\1\u01e8"+
63.608 - "\56\0\1\u01e9\65\0\1\u01ea\62\0\1\u01eb\35\0\1\u01ec"+
63.609 - "\121\0\1\u0113\51\0\1\u01ed\32\0\2\16\1\72\1\16"+
63.610 - "\5\0\1\16\5\0\1\u01ee\25\16\1\0\1\16\14\0"+
63.611 - "\2\16\1\72\1\16\5\0\1\16\5\0\5\16\1\u01ef"+
63.612 - "\20\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.613 - "\1\16\5\0\4\16\1\u01f0\21\16\1\0\1\16\14\0"+
63.614 - "\2\16\1\72\1\u01f1\5\0\1\16\5\0\26\16\1\0"+
63.615 - "\1\16\14\0\2\16\1\72\1\16\5\0\1\16\5\0"+
63.616 - "\1\u01f2\25\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.617 - "\5\0\1\16\5\0\5\16\1\u01f3\20\16\1\0\1\16"+
63.618 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\13\16"+
63.619 - "\1\u01f4\12\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.620 - "\5\0\1\16\5\0\12\16\1\u01f5\13\16\1\0\1\16"+
63.621 - "\14\0\2\16\1\72\1\u01f6\5\0\1\16\5\0\26\16"+
63.622 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.623 - "\5\0\5\16\1\u01f7\20\16\1\0\1\16\14\0\2\16"+
63.624 - "\1\72\1\16\5\0\1\16\5\0\17\16\1\u01f8\6\16"+
63.625 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.626 - "\5\0\13\16\1\u01f9\12\16\1\0\1\16\14\0\2\16"+
63.627 - "\1\72\1\16\5\0\1\16\5\0\12\16\1\u01fa\13\16"+
63.628 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.629 - "\5\0\1\u01fb\25\16\1\0\1\16\14\0\2\16\1\72"+
63.630 - "\1\16\5\0\1\16\5\0\4\16\1\u01fc\21\16\1\0"+
63.631 - "\1\16\14\0\2\16\1\72\1\16\5\0\1\16\5\0"+
63.632 - "\7\16\1\u01fd\16\16\1\0\1\16\14\0\2\16\1\72"+
63.633 - "\1\16\5\0\1\16\5\0\1\u01fe\25\16\1\0\1\16"+
63.634 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\6\16"+
63.635 - "\1\u01ff\17\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.636 - "\5\0\1\16\5\0\15\16\1\u0200\10\16\1\0\1\16"+
63.637 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\1\u0201"+
63.638 - "\25\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.639 - "\1\16\5\0\6\16\1\u0202\17\16\1\0\1\16\14\0"+
63.640 - "\2\16\1\72\1\16\5\0\1\16\5\0\12\16\1\u0203"+
63.641 - "\13\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.642 - "\1\16\5\0\4\16\1\u0204\21\16\1\0\1\16\14\0"+
63.643 - "\2\16\1\72\1\u0205\5\0\1\16\5\0\26\16\1\0"+
63.644 - "\1\16\14\0\2\16\1\72\1\u0206\5\0\1\16\5\0"+
63.645 - "\26\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.646 - "\1\16\5\0\3\16\1\u0207\22\16\1\0\1\16\14\0"+
63.647 - "\2\16\1\72\1\16\5\0\1\16\5\0\5\16\1\u0208"+
63.648 - "\20\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.649 - "\1\16\5\0\11\16\1\u0209\14\16\1\0\1\16\14\0"+
63.650 - "\2\16\1\0\1\16\5\0\1\16\5\0\6\16\1\u020a"+
63.651 - "\17\16\1\0\1\16\14\0\1\u01c9\1\0\1\u01ca\60\0"+
63.652 - "\1\u01c9\62\0\2\16\1\72\1\16\5\0\1\16\5\0"+
63.653 - "\2\16\1\u020b\23\16\1\0\1\16\40\0\1\u020c\57\0"+
63.654 - "\1\u020d\41\0\2\16\1\72\1\16\5\0\1\16\5\0"+
63.655 - "\11\16\1\u020e\14\16\1\0\1\16\46\0\1\u020f\33\0"+
63.656 - "\1\u012a\116\0\1\u01d1\66\0\1\u0210\41\0\1\u0211\72\0"+
63.657 - "\1\u0211\62\0\1\u0212\47\0\1\u017b\44\0\1\u0213\25\0"+
63.658 - "\1\u0214\67\0\1\u0215\60\0\1\257\61\0\1\u0216\51\0"+
63.659 - "\1\u0217\66\0\1\u0218\60\0\1\u0219\64\0\1\u010e\5\0"+
63.660 - "\1\u021a\53\0\1\u021b\71\0\1\u021c\50\0\1\u021d\72\0"+
63.661 - "\1\u021e\71\0\1\u0113\47\0\1\u021f\63\0\1\u0220\67\0"+
63.662 - "\1\u0221\60\0\1\u0222\34\0\1\u0223\116\0\1\u0191\54\0"+
63.663 - "\1\u0224\7\0\1\u0225\2\0\1\u0226\40\0\1\307\41\0"+
63.664 - "\2\16\1\72\1\16\5\0\1\16\5\0\6\16\1\u0227"+
63.665 - "\17\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.666 - "\1\16\5\0\12\16\1\u0228\13\16\1\0\1\16\14\0"+
63.667 - "\2\16\1\72\1\16\5\0\1\16\5\0\13\16\1\u0229"+
63.668 - "\12\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.669 - "\1\16\5\0\5\16\1\u022a\20\16\1\0\1\16\14\0"+
63.670 - "\2\16\1\72\1\u022b\5\0\1\16\5\0\26\16\1\0"+
63.671 - "\1\16\14\0\2\16\1\72\1\u022c\5\0\1\16\5\0"+
63.672 - "\26\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.673 - "\1\16\5\0\1\u022d\25\16\1\0\1\16\14\0\2\16"+
63.674 - "\1\72\1\16\5\0\1\16\5\0\4\16\1\u022e\21\16"+
63.675 - "\1\0\1\16\14\0\2\16\1\72\1\u022f\5\0\1\16"+
63.676 - "\5\0\26\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.677 - "\5\0\1\16\5\0\13\16\1\u0230\12\16\1\0\1\16"+
63.678 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\4\16"+
63.679 - "\1\u0231\21\16\1\0\1\16\14\0\2\16\1\72\1\u0232"+
63.680 - "\5\0\1\16\5\0\26\16\1\0\1\16\14\0\2\16"+
63.681 - "\1\72\1\16\5\0\1\16\5\0\4\16\1\u0233\21\16"+
63.682 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.683 - "\5\0\17\16\1\u0234\6\16\1\0\1\16\14\0\2\16"+
63.684 - "\1\72\1\u0235\5\0\1\16\5\0\26\16\1\0\1\16"+
63.685 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\12\16"+
63.686 - "\1\u0236\13\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.687 - "\5\0\1\16\5\0\3\16\1\u0237\22\16\1\0\1\16"+
63.688 - "\14\0\2\16\1\72\1\u0238\5\0\1\16\5\0\26\16"+
63.689 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.690 - "\5\0\6\16\1\u0239\17\16\1\0\1\16\14\0\2\16"+
63.691 - "\1\72\1\16\5\0\1\16\5\0\22\16\1\u023a\3\16"+
63.692 - "\1\0\1\16\14\0\2\16\1\72\1\16\5\0\1\16"+
63.693 - "\5\0\13\16\1\u023b\12\16\1\0\1\16\17\0\1\u023c"+
63.694 - "\105\0\1\u023d\34\0\2\16\1\72\1\16\5\0\1\16"+
63.695 - "\5\0\2\16\1\u023e\23\16\1\0\1\16\33\0\1\u023f"+
63.696 - "\46\0\1\312\110\0\1\u0240\50\0\1\u0241\73\0\1\u0242"+
63.697 - "\51\0\1\u0243\46\0\1\u0244\61\0\1\u0245\107\0\1\u010e"+
63.698 - "\63\0\1\u0246\51\0\1\u0247\46\0\1\u0248\107\0\1\u0249"+
63.699 - "\66\0\1\u024a\56\0\1\243\55\0\1\u024b\42\0\1\u024c"+
63.700 - "\121\0\1\u024d\23\0\1\u024e\70\0\1\u024f\54\0\1\u0250"+
63.701 - "\20\0\1\u0251\12\0\1\u0252\62\0\1\301\53\0\1\u0253"+
63.702 - "\51\0\1\u0254\43\0\2\16\1\72\1\16\5\0\1\16"+
63.703 - "\5\0\4\16\1\u0255\21\16\1\0\1\16\14\0\2\16"+
63.704 - "\1\72\1\16\5\0\1\16\5\0\4\16\1\u0256\21\16"+
63.705 - "\1\0\1\16\14\0\2\16\1\72\1\u0257\5\0\1\16"+
63.706 - "\5\0\26\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.707 - "\5\0\1\16\5\0\4\16\1\u0258\21\16\1\0\1\16"+
63.708 - "\14\0\2\16\1\72\1\u0259\5\0\1\16\5\0\26\16"+
63.709 - "\1\0\1\16\14\0\2\16\1\72\1\u025a\5\0\1\16"+
63.710 - "\5\0\26\16\1\0\1\16\14\0\2\16\1\72\1\16"+
63.711 - "\5\0\1\16\5\0\3\16\1\u025b\22\16\1\0\1\16"+
63.712 - "\14\0\2\16\1\72\1\16\5\0\1\16\5\0\1\u025c"+
63.713 - "\25\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.714 - "\1\16\5\0\13\16\1\u025d\12\16\1\0\1\16\43\0"+
63.715 - "\1\u025e\36\0\1\u017c\102\0\1\u025f\61\0\1\u0243\64\0"+
63.716 - "\1\243\40\0\1\u0260\71\0\1\u0261\105\0\1\307\56\0"+
63.717 - "\1\u0262\64\0\1\u0263\51\0\1\u0264\43\0\1\u0265\113\0"+
63.718 - "\1\u0113\60\0\1\u0266\34\0\1\u0267\61\0\1\u0268\63\0"+
63.719 - "\1\u0269\105\0\1\u026a\10\0\1\u026b\62\0\1\266\42\0"+
63.720 - "\1\u026c\74\0\1\u0194\60\0\1\u026d\33\0\2\16\1\72"+
63.721 - "\1\u026e\5\0\1\16\5\0\26\16\1\0\1\16\14\0"+
63.722 - "\2\16\1\72\1\16\5\0\1\16\5\0\3\16\1\u026f"+
63.723 - "\22\16\1\0\1\16\14\0\2\16\1\72\1\16\5\0"+
63.724 - "\1\16\5\0\12\16\1\u0270\13\16\1\0\1\16\14\0"+
63.725 - "\2\16\1\72\1\u0271\5\0\1\16\5\0\26\16\1\0"+
63.726 - "\1\16\14\0\2\16\1\72\1\16\5\0\1\16\5\0"+
63.727 - "\3\16\1\u0272\22\16\1\0\1\16\16\0\1\u0273\63\0"+
63.728 - "\1\u011a\103\0\1\u0274\1\0\1\u0275\37\0\1\u0276\111\0"+
63.729 - "\1\u025f\53\0\1\u0277\71\0\1\u0278\56\0\1\u0279\36\0"+
63.730 - "\1\u027a\111\0\1\u027b\34\0\1\u027c\15\0\1\u027d\1\u027e"+
63.731 - "\14\0\1\u0252\25\0\1\u027f\104\0\1\u0280\66\0\1\307"+
63.732 - "\64\0\1\u0281\66\0\1\u010e\24\0\2\16\1\72\1\16"+
63.733 - "\5\0\1\16\5\0\1\u0282\25\16\1\0\1\16\37\0"+
63.734 - "\1\u0283\67\0\1\u0284\53\0\1\u0285\63\0\1\u0286\42\0"+
63.735 - "\1\u0287\62\0\1\u0288\77\0\1\u0289\65\0\1\u028a\42\0"+
63.736 - "\1\u028b\117\0\1\u028c\66\0\1\u028d\36\0\1\u028e\1\0"+
63.737 - "\1\u028f\71\0\1\u0290\62\0\1\u0291\55\0\1\u0292\37\0"+
63.738 - "\2\16\1\72\1\16\5\0\1\16\5\0\6\16\1\u0293"+
63.739 - "\17\16\1\0\1\16\33\0\1\257\54\0\1\u010e\72\0"+
63.740 - "\1\u018b\62\0\1\u0191\65\0\1\u0274\66\0\1\u011a\54\0"+
63.741 - "\1\243\61\0\1\u0294\60\0\1\u0295\62\0\1\u0296\10\0"+
63.742 - "\1\307\35\0\1\u0297\110\0\1\u0298\67\0\1\u0299\56\0"+
63.743 - "\1\u029a\57\0\1\u01ed\63\0\1\u029b\32\0\2\16\1\72"+
63.744 - "\1\16\5\0\1\16\5\0\4\16\1\u029c\21\16\1\0"+
63.745 - "\1\16\52\0\1\u029d\51\0\1\244\72\0\1\u0113\47\0"+
63.746 - "\1\u029e\70\0\1\u0296\64\0\1\u029f\32\0\1\u02a0\104\0"+
63.747 - "\1\u02a1\36\0\2\16\1\72\1\u02a2\5\0\1\16\5\0"+
63.748 - "\26\16\1\0\1\16\46\0\1\u02a3\31\0\1\u02a4\112\0"+
63.749 - "\1\u0191\55\0\1\u02a5\62\0\1\u0197\36\0\2\16\1\72"+
63.750 - "\1\16\5\0\1\16\5\0\3\16\1\u02a6\22\16\1\0"+
63.751 - "\1\16\45\0\1\u018c\60\0\1\u02a7\56\0\1\u02a8\60\0"+
63.752 - "\1\u02a9\62\0\1\u02aa\101\0\1\u0191\44\0\1\u02ab\57\0"+
63.753 - "\1\u02ac\77\0\1\u02ad\31\0\1\u02ae\61\0\1\u02af\63\0"+
63.754 - "\1\u02b0\106\0\1\u02b1\36\0\1\u02b2\116\0\1\u02b3\26\0"+
63.755 - "\1\u02b4\111\0\1\u0199\27\0";
63.756 -
63.757 - private static int [] zzUnpackTrans() {
63.758 - int [] result = new int[30039];
63.759 - int offset = 0;
63.760 - offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
63.761 - return result;
63.762 - }
63.763 -
63.764 - private static int zzUnpackTrans(String packed, int offset, int [] result) {
63.765 - int i = 0; /* index in packed string */
63.766 - int j = offset; /* index in unpacked array */
63.767 - int l = packed.length();
63.768 - while (i < l) {
63.769 - int count = packed.charAt(i++);
63.770 - int value = packed.charAt(i++);
63.771 - value--;
63.772 - do result[j++] = value; while (--count > 0);
63.773 - }
63.774 - return j;
63.775 - }
63.776 -
63.777 -
63.778 - /* error codes */
63.779 - private static final int ZZ_UNKNOWN_ERROR = 0;
63.780 - private static final int ZZ_NO_MATCH = 1;
63.781 - private static final int ZZ_PUSHBACK_2BIG = 2;
63.782 -
63.783 - /* error messages for the codes above */
63.784 - private static final String ZZ_ERROR_MSG[] = {
63.785 - "Unkown internal scanner error",
63.786 - "Error: could not match input",
63.787 - "Error: pushback value was too large"
63.788 - };
63.789 -
63.790 - /**
63.791 - * ZZ_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
63.792 - */
63.793 - private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
63.794 -
63.795 - private static final String ZZ_ATTRIBUTE_PACKED_0 =
63.796 - "\2\0\1\10\2\0\1\11\3\1\1\11\30\1\3\11"+
63.797 - "\1\1\1\11\1\1\1\11\3\1\2\11\3\1\1\11"+
63.798 - "\1\1\1\11\1\1\5\0\7\1\3\11\1\0\1\1"+
63.799 - "\22\0\55\1\10\11\1\0\1\11\1\1\1\0\1\1"+
63.800 - "\1\0\11\1\1\11\56\0\67\1\1\0\7\1\1\0"+
63.801 - "\2\1\5\0\1\11\32\0\1\1\13\0\1\1\4\0"+
63.802 - "\61\1\2\0\5\1\3\0\1\1\32\0\1\1\15\0"+
63.803 - "\44\1\1\0\2\1\1\0\1\1\2\0\1\11\1\1"+
63.804 - "\6\0\1\1\23\0\1\1\3\0\36\1\2\0\1\1"+
63.805 - "\30\0\25\1\2\11\1\1\17\0\1\1\6\0\11\1"+
63.806 - "\20\0\5\1\17\0\1\1\20\0\1\1\10\0\1\1"+
63.807 - "\5\0\1\1\3\0\1\1\16\0";
63.808 -
63.809 - private static int [] zzUnpackAttribute() {
63.810 - int [] result = new int[692];
63.811 - int offset = 0;
63.812 - offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
63.813 - return result;
63.814 - }
63.815 -
63.816 - private static int zzUnpackAttribute(String packed, int offset, int [] result) {
63.817 - int i = 0; /* index in packed string */
63.818 - int j = offset; /* index in unpacked array */
63.819 - int l = packed.length();
63.820 - while (i < l) {
63.821 - int count = packed.charAt(i++);
63.822 - int value = packed.charAt(i++);
63.823 - do result[j++] = value; while (--count > 0);
63.824 - }
63.825 - return j;
63.826 - }
63.827 -
63.828 - /** the input device */
63.829 - private java.io.Reader zzReader;
63.830 -
63.831 - /** the current state of the DFA */
63.832 - private int zzState;
63.833 -
63.834 - /** the current lexical state */
63.835 - private int zzLexicalState = YYINITIAL;
63.836 -
63.837 - /** this buffer contains the current text to be matched and is
63.838 - the source of the yytext() string */
63.839 - private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
63.840 -
63.841 - /** the textposition at the last accepting state */
63.842 - private int zzMarkedPos;
63.843 -
63.844 - /** the textposition at the last state to be included in yytext */
63.845 - private int zzPushbackPos;
63.846 -
63.847 - /** the current text position in the buffer */
63.848 - private int zzCurrentPos;
63.849 -
63.850 - /** startRead marks the beginning of the yytext() string in the buffer */
63.851 - private int zzStartRead;
63.852 -
63.853 - /** endRead marks the last character in the buffer, that has been read
63.854 - from input */
63.855 - private int zzEndRead;
63.856 -
63.857 - /** number of newlines encountered up to the start of the matched text */
63.858 - private int yyline;
63.859 -
63.860 - /** the number of characters up to the start of the matched text */
63.861 - private int yychar;
63.862 -
63.863 - /**
63.864 - * the number of characters from the last newline up to the start of the
63.865 - * matched text
63.866 - */
63.867 - private int yycolumn;
63.868 -
63.869 - /**
63.870 - * zzAtBOL == true <=> the scanner is currently at the beginning of a line
63.871 - */
63.872 - private boolean zzAtBOL = true;
63.873 -
63.874 - /** zzAtEOF == true <=> the scanner is at the EOF */
63.875 - private boolean zzAtEOF = false;
63.876 -
63.877 - /* user code: */
63.878 -
63.879 - private StateStack stack = new StateStack();
63.880 -
63.881 - private boolean short_tags_allowed = true;
63.882 -
63.883 - private LexerInput input;
63.884 -
63.885 - public Ada95SyntaxLexer(LexerRestartInfo info) {
63.886 - this.input = info.input();
63.887 -
63.888 - if(info.state() != null) {
63.889 - //reset state
63.890 - setState((LexerState)info.state());
63.891 - } else {
63.892 - //initial state
63.893 - zzState = zzLexicalState = YYINITIAL;
63.894 - stack.clear();
63.895 - }
63.896 -
63.897 - }
63.898 -
63.899 - public static final class LexerState {
63.900 - final StateStack stack;
63.901 - /** the current state of the DFA */
63.902 - final int zzState;
63.903 - /** the current lexical state */
63.904 - final int zzLexicalState;
63.905 -
63.906 - LexerState (StateStack stack, int zzState, int zzLexicalState) {
63.907 - this.stack = stack;
63.908 - this.zzState = zzState;
63.909 - this.zzLexicalState = zzLexicalState;
63.910 - }
63.911 -
63.912 - @Override
63.913 - public boolean equals(Object obj) {
63.914 - if (this == obj) {
63.915 - return true;
63.916 - }
63.917 -
63.918 - if (obj == null || obj.getClass() != this.getClass()) {
63.919 - return false;
63.920 - }
63.921 -
63.922 - LexerState state = (LexerState) obj;
63.923 - return (this.stack.equals(state.stack)
63.924 - && (this.zzState == state.zzState)
63.925 - && (this.zzLexicalState == state.zzLexicalState));
63.926 - }
63.927 -
63.928 - @Override
63.929 - public int hashCode() {
63.930 - int hash = 11;
63.931 - hash = 31 * hash + this.zzState;
63.932 - hash = 31 * hash + this.zzLexicalState;
63.933 - hash = 31 * hash + this.stack.hashCode();
63.934 - return hash;
63.935 - }
63.936 - }
63.937 -
63.938 - public LexerState getState() {
63.939 - return new LexerState(stack.createClone(), zzState, zzLexicalState);
63.940 - }
63.941 -
63.942 - public void setState(LexerState state) {
63.943 - this.stack.copyFrom(state.stack);
63.944 - this.zzState = state.zzState;
63.945 - this.zzLexicalState = state.zzLexicalState;
63.946 - }
63.947 -
63.948 - public int[] getParamenters(){
63.949 - return new int[]{zzMarkedPos, zzPushbackPos, zzCurrentPos, zzStartRead, zzEndRead, yyline, zzLexicalState};
63.950 - }
63.951 -
63.952 - protected int getZZLexicalState() {
63.953 - return zzLexicalState;
63.954 - }
63.955 -
63.956 - protected int getZZMarkedPos() {
63.957 - return zzMarkedPos;
63.958 - }
63.959 -
63.960 - protected int getZZEndRead() {
63.961 - return zzEndRead;
63.962 - }
63.963 -
63.964 - public char[] getZZBuffer() {
63.965 - return zzBuffer;
63.966 - }
63.967 -
63.968 - protected int getZZStartRead() {
63.969 - return this.zzStartRead;
63.970 - }
63.971 -
63.972 - protected int getZZPushBackPosition() {
63.973 - return this.zzPushbackPos;
63.974 - }
63.975 -
63.976 - protected void pushBack(int i) {
63.977 - yypushback(i);
63.978 - }
63.979 -
63.980 - protected void popState() {
63.981 - yybegin(stack.popStack());
63.982 - }
63.983 -
63.984 - protected void pushState(final int state) {
63.985 - stack.pushStack(getZZLexicalState());
63.986 - yybegin(state);
63.987 - }
63.988 -
63.989 -
63.990 - // End user code
63.991 -
63.992 -
63.993 -
63.994 - /**
63.995 - * Creates a new scanner
63.996 - * There is also a java.io.InputStream version of this constructor.
63.997 - *
63.998 - * @param in the java.io.Reader to read input from.
63.999 - */
63.1000 - public Ada95SyntaxLexer(java.io.Reader in) {
63.1001 - this.zzReader = in;
63.1002 - }
63.1003 -
63.1004 - /**
63.1005 - * Creates a new scanner.
63.1006 - * There is also java.io.Reader version of this constructor.
63.1007 - *
63.1008 - * @param in the java.io.Inputstream to read input from.
63.1009 - */
63.1010 - public Ada95SyntaxLexer(java.io.InputStream in) {
63.1011 - this(new java.io.InputStreamReader(in));
63.1012 - }
63.1013 -
63.1014 - /**
63.1015 - * Unpacks the compressed character translation table.
63.1016 - *
63.1017 - * @param packed the packed character translation table
63.1018 - * @return the unpacked character translation table
63.1019 - */
63.1020 - private static char [] zzUnpackCMap(String packed) {
63.1021 - char [] map = new char[0x10000];
63.1022 - int i = 0; /* index in packed string */
63.1023 - int j = 0; /* index in unpacked array */
63.1024 - while (i < 172) {
63.1025 - int count = packed.charAt(i++);
63.1026 - char value = packed.charAt(i++);
63.1027 - do map[j++] = value; while (--count > 0);
63.1028 - }
63.1029 - return map;
63.1030 - }
63.1031 -
63.1032 -
63.1033 -
63.1034 - /**
63.1035 - * Closes the input stream.
63.1036 - */
63.1037 - public final void yyclose() throws java.io.IOException {
63.1038 - zzAtEOF = true; /* indicate end of file */
63.1039 - zzEndRead = zzStartRead; /* invalidate buffer */
63.1040 -
63.1041 - if (zzReader != null)
63.1042 - zzReader.close();
63.1043 - }
63.1044 -
63.1045 -
63.1046 - /**
63.1047 - * Resets the scanner to read from a new input stream.
63.1048 - * Does not close the old reader.
63.1049 - *
63.1050 - * All internal variables are reset, the old input stream
63.1051 - * <b>cannot</b> be reused (internal buffer is discarded and lost).
63.1052 - * Lexical state is set to <tt>ZZ_INITIAL</tt>.
63.1053 - *
63.1054 - * @param reader the new input stream
63.1055 - */
63.1056 - public final void yyreset(java.io.Reader reader) {
63.1057 - zzReader = reader;
63.1058 - zzAtBOL = true;
63.1059 - zzAtEOF = false;
63.1060 - zzEndRead = zzStartRead = 0;
63.1061 - zzCurrentPos = zzMarkedPos = zzPushbackPos = 0;
63.1062 - yyline = yychar = yycolumn = 0;
63.1063 - zzLexicalState = YYINITIAL;
63.1064 - }
63.1065 -
63.1066 -
63.1067 - /**
63.1068 - * Returns the current lexical state.
63.1069 - */
63.1070 - public final int yystate() {
63.1071 - return zzLexicalState;
63.1072 - }
63.1073 -
63.1074 -
63.1075 - /**
63.1076 - * Enters a new lexical state
63.1077 - *
63.1078 - * @param newState the new lexical state
63.1079 - */
63.1080 - public final void yybegin(int newState) {
63.1081 - zzLexicalState = newState;
63.1082 - }
63.1083 -
63.1084 -
63.1085 - /**
63.1086 - * Returns the text matched by the current regular expression.
63.1087 - */
63.1088 - public final String yytext() {
63.1089 - return input.readText().toString();
63.1090 - }
63.1091 -
63.1092 -
63.1093 - /**
63.1094 - * Returns the character at position <tt>pos</tt> from the
63.1095 - * matched text.
63.1096 - *
63.1097 - * It is equivalent to yytext().charAt(pos), but faster
63.1098 - *
63.1099 - * @param pos the position of the character to fetch.
63.1100 - * A value from 0 to yylength()-1.
63.1101 - *
63.1102 - * @return the character at position pos
63.1103 - */
63.1104 - public final char yycharat(int pos) {
63.1105 - return input.readText().charAt(pos);
63.1106 - }
63.1107 -
63.1108 -
63.1109 - /**
63.1110 - * Returns the length of the matched text region.
63.1111 - */
63.1112 - public final int yylength() {
63.1113 - return input.readLength();
63.1114 - }
63.1115 -
63.1116 -
63.1117 - /**
63.1118 - * Reports an error that occured while scanning.
63.1119 - *
63.1120 - * In a wellformed scanner (no or only correct usage of
63.1121 - * yypushback(int) and a match-all fallback rule) this method
63.1122 - * will only be called with things that "Can't Possibly Happen".
63.1123 - * If this method is called, something is seriously wrong
63.1124 - * (e.g. a JFlex bug producing a faulty scanner etc.).
63.1125 - *
63.1126 - * Usual syntax/scanner level error handling should be done
63.1127 - * in error fallback rules.
63.1128 - *
63.1129 - * @param errorCode the code of the errormessage to display
63.1130 - */
63.1131 - private void zzScanError(int errorCode) {
63.1132 - String message;
63.1133 - try {
63.1134 - message = ZZ_ERROR_MSG[errorCode];
63.1135 - }
63.1136 - catch (ArrayIndexOutOfBoundsException e) {
63.1137 - message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
63.1138 - }
63.1139 -
63.1140 - throw new Error(message);
63.1141 - }
63.1142 -
63.1143 -
63.1144 - /**
63.1145 - * Pushes the specified amount of characters back into the input stream.
63.1146 - *
63.1147 - * They will be read again by then next call of the scanning method
63.1148 - *
63.1149 - * @param number the number of characters to be read again.
63.1150 - * This number must not be greater than yylength()!
63.1151 - */
63.1152 - public void yypushback(int number) {
63.1153 - if ( number > yylength() )
63.1154 - zzScanError(ZZ_PUSHBACK_2BIG);
63.1155 -
63.1156 - input.backup(number);
63.1157 - //zzMarkedPos -= number;
63.1158 - }
63.1159 -
63.1160 -
63.1161 - /**
63.1162 - * Resumes scanning until the next regular expression is matched,
63.1163 - * the end of input is encountered or an I/O-Error occurs.
63.1164 - *
63.1165 - * @return the next token
63.1166 - * @exception java.io.IOException if any I/O-Error occurs
63.1167 - */
63.1168 - public AdaTokenId nextToken() throws java.io.IOException {
63.1169 - int zzInput;
63.1170 - int zzAction;
63.1171 -
63.1172 - // cached fields:
63.1173 - //int zzCurrentPosL;
63.1174 - //int zzMarkedPosL;
63.1175 - //int zzEndReadL = zzEndRead;
63.1176 - //char [] zzBufferL = zzBuffer;
63.1177 - char [] zzCMapL = ZZ_CMAP;
63.1178 -
63.1179 - int [] zzTransL = ZZ_TRANS;
63.1180 - int [] zzRowMapL = ZZ_ROWMAP;
63.1181 - int [] zzAttrL = ZZ_ATTRIBUTE;
63.1182 -
63.1183 - while (true) {
63.1184 - //zzMarkedPosL = zzMarkedPos;
63.1185 -
63.1186 - zzAction = -1;
63.1187 -
63.1188 - //zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
63.1189 - int tokenLength = 0;
63.1190 -
63.1191 - zzState = ZZ_LEXSTATE[zzLexicalState];
63.1192 -
63.1193 -
63.1194 - zzForAction: {
63.1195 - while (true) {
63.1196 - zzInput = input.read();
63.1197 -
63.1198 - if(zzInput == LexerInput.EOF) {
63.1199 - //end of input reached
63.1200 - zzInput = YYEOF;
63.1201 - break zzForAction;
63.1202 - //notice: currently LexerInput.EOF == YYEOF
63.1203 - }
63.1204 -
63.1205 - int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
63.1206 - if (zzNext == -1) break zzForAction;
63.1207 - zzState = zzNext;
63.1208 -
63.1209 - int zzAttributes = zzAttrL[zzState];
63.1210 - if ( (zzAttributes & 1) == 1 ) {
63.1211 - zzAction = zzState;
63.1212 - tokenLength = input.readLength();
63.1213 - if ( (zzAttributes & 8) == 8 ) break zzForAction;
63.1214 - }
63.1215 -
63.1216 - }
63.1217 - }
63.1218 -
63.1219 - // store back cached position
63.1220 - if(zzInput != YYEOF) {
63.1221 - input.backup(input.readLength() - tokenLength);
63.1222 - }
63.1223 -
63.1224 - switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
63.1225 - case 49:
63.1226 - { return AdaTokenId.CHAR_LITERAL;
63.1227 - }
63.1228 - case 122: break;
63.1229 - case 42:
63.1230 - { return AdaTokenId.BOX;
63.1231 - }
63.1232 - case 123: break;
63.1233 - case 51:
63.1234 - { return AdaTokenId.ALL;
63.1235 - }
63.1236 - case 124: break;
63.1237 - case 61:
63.1238 - { return AdaTokenId.ELSE;
63.1239 - }
63.1240 - case 125: break;
63.1241 - case 73:
63.1242 - { return AdaTokenId.WITH;
63.1243 - }
63.1244 - case 126: break;
63.1245 - case 13:
63.1246 - { return AdaTokenId.STAR;
63.1247 - }
63.1248 - case 127: break;
63.1249 - case 79:
63.1250 - { return AdaTokenId.ABORT;
63.1251 - }
63.1252 - case 128: break;
63.1253 - case 110:
63.1254 - { return AdaTokenId.FUNCTION;
63.1255 - }
63.1256 - case 129: break;
63.1257 - case 72:
63.1258 - { return AdaTokenId.GOTO;
63.1259 - }
63.1260 - case 130: break;
63.1261 - case 68:
63.1262 - { return AdaTokenId.THEN;
63.1263 - }
63.1264 - case 131: break;
63.1265 - case 47:
63.1266 - { return AdaTokenId.FOR;
63.1267 - }
63.1268 - case 132: break;
63.1269 - case 8:
63.1270 - { return AdaTokenId.WHITESPACE;
63.1271 - }
63.1272 - case 133: break;
63.1273 - case 14:
63.1274 - { return AdaTokenId.COMMA;
63.1275 - }
63.1276 - case 134: break;
63.1277 - case 69:
63.1278 - { return AdaTokenId.CASE;
63.1279 - }
63.1280 - case 135: break;
63.1281 - case 70:
63.1282 - { return AdaTokenId.LOOP;
63.1283 - }
63.1284 - case 136: break;
63.1285 - case 118:
63.1286 - { return AdaTokenId.CHARACTER;
63.1287 - }
63.1288 - case 137: break;
63.1289 - case 88:
63.1290 - { return AdaTokenId.END_IF;
63.1291 - }
63.1292 - case 138: break;
63.1293 - case 120:
63.1294 - { return AdaTokenId.PROCEDURE;
63.1295 - }
63.1296 - case 139: break;
63.1297 - case 82:
63.1298 - { return AdaTokenId.RAISE;
63.1299 - }
63.1300 - case 140: break;
63.1301 - case 100:
63.1302 - { return AdaTokenId.RENAMES;
63.1303 - }
63.1304 - case 141: break;
63.1305 - case 90:
63.1306 - { return AdaTokenId.ACCEPT;
63.1307 - }
63.1308 - case 142: break;
63.1309 - case 115:
63.1310 - { return AdaTokenId.CONSTANT;
63.1311 - }
63.1312 - case 143: break;
63.1313 - case 113:
63.1314 - { return AdaTokenId.ABSTRACT;
63.1315 - }
63.1316 - case 144: break;
63.1317 - case 50:
63.1318 - { return AdaTokenId.ABS;
63.1319 - }
63.1320 - case 145: break;
63.1321 - case 104:
63.1322 - { return AdaTokenId.PACKAGE;
63.1323 - }
63.1324 - case 146: break;
63.1325 - case 116:
63.1326 - { return AdaTokenId.EXCEPTION;
63.1327 - }
63.1328 - case 147: break;
63.1329 - case 62:
63.1330 - { return AdaTokenId.EXIT;
63.1331 - }
63.1332 - case 148: break;
63.1333 - case 12:
63.1334 - { return AdaTokenId.RPAREN;
63.1335 - }
63.1336 - case 149: break;
63.1337 - case 1:
63.1338 - { yypushback(1);
63.1339 - pushState(ST_HIGHLIGHTING_ERROR);
63.1340 - }
63.1341 - case 150: break;
63.1342 - case 11:
63.1343 - { return AdaTokenId.LPAREN;
63.1344 - }
63.1345 - case 151: break;
63.1346 - case 89:
63.1347 - { return AdaTokenId.ACCESS;
63.1348 - }
63.1349 - case 152: break;
63.1350 - case 52:
63.1351 - { return AdaTokenId.AND;
63.1352 - }
63.1353 - case 153: break;
63.1354 - case 93:
63.1355 - { return AdaTokenId.RECORD;
63.1356 - }
63.1357 - case 154: break;
63.1358 - case 6:
63.1359 - { pushState(ST_LOOKING_FOR_PROPERTY);
63.1360 - return AdaTokenId.DOT;
63.1361 - }
63.1362 - case 155: break;
63.1363 - case 66:
63.1364 - { return AdaTokenId.TRUE;
63.1365 - }
63.1366 - case 156: break;
63.1367 - case 18:
63.1368 - { return AdaTokenId.EQ;
63.1369 - }
63.1370 - case 157: break;
63.1371 - case 60:
63.1372 - { return AdaTokenId.BASED_LITERAL;
63.1373 - }
63.1374 - case 158: break;
63.1375 - case 10:
63.1376 - { return AdaTokenId.AMP;
63.1377 - }
63.1378 - case 159: break;
63.1379 - case 108:
63.1380 - { return AdaTokenId.DECLARE;
63.1381 - }
63.1382 - case 160: break;
63.1383 - case 44:
63.1384 - { return AdaTokenId.GTEQ;
63.1385 - }
63.1386 - case 161: break;
63.1387 - case 75:
63.1388 - { return AdaTokenId.FALSE;
63.1389 - }
63.1390 - case 162: break;
63.1391 - case 48:
63.1392 - { return AdaTokenId.END;
63.1393 - }
63.1394 - case 163: break;
63.1395 - case 96:
63.1396 - { return AdaTokenId.PRAGMA;
63.1397 - }
63.1398 - case 164: break;
63.1399 - case 41:
63.1400 - { return AdaTokenId.LTEQ;
63.1401 - }
63.1402 - case 165: break;
63.1403 - case 28:
63.1404 - { return AdaTokenId.DOT_DOT;
63.1405 - }
63.1406 - case 166: break;
63.1407 - case 20:
63.1408 - { return AdaTokenId.BAR;
63.1409 - }
63.1410 - case 167: break;
63.1411 - case 102:
63.1412 - { return AdaTokenId.REQUEUE;
63.1413 - }
63.1414 - case 168: break;
63.1415 - case 58:
63.1416 - { return AdaTokenId.USE;
63.1417 - }
63.1418 - case 169: break;
63.1419 - case 30:
63.1420 - { return AdaTokenId.STRING_LITERAL;
63.1421 - }
63.1422 - case 170: break;
63.1423 - case 77:
63.1424 - { return AdaTokenId.ELSIF;
63.1425 - }
63.1426 - case 171: break;
63.1427 - case 114:
63.1428 - { return AdaTokenId.SEPARATE;
63.1429 - }
63.1430 - case 172: break;
63.1431 - case 91:
63.1432 - { return AdaTokenId.OTHERS;
63.1433 - }
63.1434 - case 173: break;
63.1435 - case 2:
63.1436 - { return AdaTokenId.DECIMAL_LITERAL;
63.1437 - }
63.1438 - case 174: break;
63.1439 - case 76:
63.1440 - { return AdaTokenId.FLOAT;
63.1441 - }
63.1442 - case 175: break;
63.1443 - case 107:
63.1444 - { return AdaTokenId.INTEGER;
63.1445 - }
63.1446 - case 176: break;
63.1447 - case 27:
63.1448 - { pushState(ST_LINE_COMMENT);
63.1449 - return AdaTokenId.COMMENT;
63.1450 - }
63.1451 - case 177: break;
63.1452 - case 74:
63.1453 - { return AdaTokenId.WHEN;
63.1454 - }
63.1455 - case 178: break;
63.1456 - case 54:
63.1457 - { return AdaTokenId.REM;
63.1458 - }
63.1459 - case 179: break;
63.1460 - case 26:
63.1461 - { popState();
63.1462 - return AdaTokenId.WHITESPACE;
63.1463 - }
63.1464 - case 180: break;
63.1465 - case 25:
63.1466 - { return AdaTokenId.UNKNOWN_TOKEN;
63.1467 - }
63.1468 - case 181: break;
63.1469 - case 59:
63.1470 - { return AdaTokenId.MOD;
63.1471 - }
63.1472 - case 182: break;
63.1473 - case 3:
63.1474 - { return AdaTokenId.IDENTIFIER;
63.1475 - }
63.1476 - case 183: break;
63.1477 - case 15:
63.1478 - { return AdaTokenId.SLASH;
63.1479 - }
63.1480 - case 184: break;
63.1481 - case 57:
63.1482 - { return AdaTokenId.XOR;
63.1483 - }
63.1484 - case 185: break;
63.1485 - case 19:
63.1486 - { return AdaTokenId.LT;
63.1487 - }
63.1488 - case 186: break;
63.1489 - case 106:
63.1490 - { return AdaTokenId.LIMITED;
63.1491 - }
63.1492 - case 187: break;
63.1493 - case 92:
63.1494 - { return AdaTokenId.RETURN;
63.1495 - }
63.1496 - case 188: break;
63.1497 - case 16:
63.1498 - { return AdaTokenId.SEMICOLON;
63.1499 - }
63.1500 - case 189: break;
63.1501 - case 84:
63.1502 - { return AdaTokenId.DELAY;
63.1503 - }
63.1504 - case 190: break;
63.1505 - case 103:
63.1506 - { return AdaTokenId.SUBTYPE;
63.1507 - }
63.1508 - case 191: break;
63.1509 - case 4:
63.1510 - { return AdaTokenId.PLUS;
63.1511 - }
63.1512 - case 192: break;
63.1513 - case 67:
63.1514 - { return AdaTokenId.TYPE;
63.1515 - }
63.1516 - case 193: break;
63.1517 - case 38:
63.1518 - { return AdaTokenId.EXPON;
63.1519 - }
63.1520 - case 194: break;
63.1521 - case 105:
63.1522 - { return AdaTokenId.PRIVATE;
63.1523 - }
63.1524 - case 195: break;
63.1525 - case 21:
63.1526 - { yypushback(1);
63.1527 - popState();
63.1528 - }
63.1529 - case 196: break;
63.1530 - case 101:
63.1531 - { return AdaTokenId.REVERSE;
63.1532 - }
63.1533 - case 197: break;
63.1534 - case 86:
63.1535 - { return AdaTokenId.UNTIL;
63.1536 - }
63.1537 - case 198: break;
63.1538 - case 9:
63.1539 - { return AdaTokenId.TICK;
63.1540 - }
63.1541 - case 199: break;
63.1542 - case 24:
63.1543 - { popState();
63.1544 - return AdaTokenId.COMMENT;
63.1545 - }
63.1546 - case 200: break;
63.1547 - case 71:
63.1548 - { return AdaTokenId.NULL;
63.1549 - }
63.1550 - case 201: break;
63.1551 - case 37:
63.1552 - { return AdaTokenId.DO;
63.1553 - }
63.1554 - case 202: break;
63.1555 - case 36:
63.1556 - { return AdaTokenId.IN;
63.1557 - }
63.1558 - case 203: break;
63.1559 - case 5:
63.1560 - { return AdaTokenId.MINUS;
63.1561 - }
63.1562 - case 204: break;
63.1563 - case 83:
63.1564 - { return AdaTokenId.RANGE;
63.1565 - }
63.1566 - case 205: break;
63.1567 - case 121:
63.1568 - { return AdaTokenId.WIDE_CHARECTER;
63.1569 - }
63.1570 - case 206: break;
63.1571 - case 22:
63.1572 - { popState();
63.1573 - return AdaTokenId.IDENTIFIER;
63.1574 - }
63.1575 - case 207: break;
63.1576 - case 81:
63.1577 - { return AdaTokenId.BEGIN;
63.1578 - }
63.1579 - case 208: break;
63.1580 - case 94:
63.1581 - { return AdaTokenId.TAGGED;
63.1582 - }
63.1583 - case 209: break;
63.1584 - case 40:
63.1585 - { return AdaTokenId.LTLT;
63.1586 - }
63.1587 - case 210: break;
63.1588 - case 23:
63.1589 - { return AdaTokenId.DOT;
63.1590 - }
63.1591 - case 211: break;
63.1592 - case 43:
63.1593 - { return AdaTokenId.ARROW;
63.1594 - }
63.1595 - case 212: break;
63.1596 - case 78:
63.1597 - { return AdaTokenId.ENTRY;
63.1598 - }
63.1599 - case 213: break;
63.1600 - case 46:
63.1601 - { popState();
63.1602 - return AdaTokenId.DOT_DOT;
63.1603 - }
63.1604 - case 214: break;
63.1605 - case 63:
63.1606 - { return AdaTokenId.ATTRIBUTE;
63.1607 - }
63.1608 - case 215: break;
63.1609 - case 17:
63.1610 - { return AdaTokenId.GT;
63.1611 - }
63.1612 - case 216: break;
63.1613 - case 99:
63.1614 - { return AdaTokenId.BOOLEAN;
63.1615 - }
63.1616 - case 217: break;
63.1617 - case 32:
63.1618 - { return AdaTokenId.OF;
63.1619 - }
63.1620 - case 218: break;
63.1621 - case 55:
63.1622 - { return AdaTokenId.NEW;
63.1623 - }
63.1624 - case 219: break;
63.1625 - case 45:
63.1626 - { return AdaTokenId.GTGT;
63.1627 - }
63.1628 - case 220: break;
63.1629 - case 53:
63.1630 - { return AdaTokenId.OUT;
63.1631 - }
63.1632 - case 221: break;
63.1633 - case 98:
63.1634 - { return AdaTokenId.ALIASED;
63.1635 - }
63.1636 - case 222: break;
63.1637 - case 33:
63.1638 - { return AdaTokenId.OR;
63.1639 - }
63.1640 - case 223: break;
63.1641 - case 39:
63.1642 - { return AdaTokenId.INEQ;
63.1643 - }
63.1644 - case 224: break;
63.1645 - case 80:
63.1646 - { return AdaTokenId.ARRAY;
63.1647 - }
63.1648 - case 225: break;
63.1649 - case 35:
63.1650 - { return AdaTokenId.IS;
63.1651 - }
63.1652 - case 226: break;
63.1653 - case 119:
63.1654 - { return AdaTokenId.PROTECTED;
63.1655 - }
63.1656 - case 227: break;
63.1657 - case 87:
63.1658 - { return AdaTokenId.WHILE;
63.1659 - }
63.1660 - case 228: break;
63.1661 - case 111:
63.1662 - { return AdaTokenId.END_CASE;
63.1663 - }
63.1664 - case 229: break;
63.1665 - case 112:
63.1666 - { return AdaTokenId.END_LOOP;
63.1667 - }
63.1668 - case 230: break;
63.1669 - case 97:
63.1670 - { return AdaTokenId.DIGITS;
63.1671 - }
63.1672 - case 231: break;
63.1673 - case 64:
63.1674 - { return AdaTokenId.BODY;
63.1675 - }
63.1676 - case 232: break;
63.1677 - case 109:
63.1678 - { return AdaTokenId.GENERIC;
63.1679 - }
63.1680 - case 233: break;
63.1681 - case 85:
63.1682 - { return AdaTokenId.DELTA;
63.1683 - }
63.1684 - case 234: break;
63.1685 - case 7:
63.1686 - { return AdaTokenId.COLON;
63.1687 - }
63.1688 - case 235: break;
63.1689 - case 95:
63.1690 - { return AdaTokenId.SELECT;
63.1691 - }
63.1692 - case 236: break;
63.1693 - case 31:
63.1694 - { return AdaTokenId.AT;
63.1695 - }
63.1696 - case 237: break;
63.1697 - case 65:
63.1698 - { return AdaTokenId.TASK;
63.1699 - }
63.1700 - case 238: break;
63.1701 - case 29:
63.1702 - { return AdaTokenId.ASSIGNMENT;
63.1703 - }
63.1704 - case 239: break;
63.1705 - case 34:
63.1706 - { return AdaTokenId.IF;
63.1707 - }
63.1708 - case 240: break;
63.1709 - case 117:
63.1710 - { return AdaTokenId.TERMINATE;
63.1711 - }
63.1712 - case 241: break;
63.1713 - case 56:
63.1714 - { return AdaTokenId.NOT;
63.1715 - }
63.1716 - case 242: break;
63.1717 - default:
63.1718 - if (zzInput == YYEOF)
63.1719 - //zzAtEOF = true;
63.1720 - { if(input.readLength() > 0) {
63.1721 - // backup eof
63.1722 - input.backup(1);
63.1723 - //and return the text as error token
63.1724 - return AdaTokenId.UNKNOWN_TOKEN;
63.1725 - } else {
63.1726 - return null;
63.1727 - }
63.1728 - }
63.1729 -
63.1730 - else {
63.1731 - zzScanError(ZZ_NO_MATCH);
63.1732 - }
63.1733 - }
63.1734 - }
63.1735 - }
63.1736 -
63.1737 -
63.1738 -}
64.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
64.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/AdaASTLexer.java Mon Oct 15 23:38:26 2012 +0200
64.3 @@ -0,0 +1,1650 @@
64.4 +/* The following code was generated by JFlex 1.4.3 on 23/09/10 23.54 */
64.5 +
64.6 +/*
64.7 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
64.8 + *
64.9 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
64.10 + *
64.11 + * The contents of this file are subject to the terms of either the GNU
64.12 + * General Public License Version 2 only ("GPL") or the Common
64.13 + * Development and Distribution License("CDDL") (collectively, the
64.14 + * "License"). You may not use this file except in compliance with the
64.15 + * License. You can obtain a copy of the License at
64.16 + * http://www.netbeans.org/cddl-gplv2.html
64.17 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
64.18 + * specific language governing permissions and limitations under the
64.19 + * License. When distributing the software, include this License Header
64.20 + * Notice in each file and include the License file at
64.21 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
64.22 + * particular file as subject to the "Classpath" exception as provided
64.23 + * by Sun in the GPL Version 2 section of the License file that
64.24 + * accompanied this code. If applicable, add the following below the
64.25 + * License Header, with the fields enclosed by brackets [] replaced by
64.26 + * your own identifying information:
64.27 + * "Portions Copyrighted [year] [name of copyright owner]"
64.28 + *
64.29 + * If you wish your version of this file to be governed by only the CDDL
64.30 + * or only the GPL Version 2, indicate your decision by adding
64.31 + * "[Contributor] elects to include this software in this distribution
64.32 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
64.33 + * single choice of license, a recipient has the option to distribute
64.34 + * your version of this file under either the CDDL, the GPL Version 2 or
64.35 + * to extend the choice of license to its licensees as provided above.
64.36 + * However, if you add GPL Version 2 code and therefore, elected the GPL
64.37 + * Version 2 license, then the option applies only if the new code is
64.38 + * made subject to such option by the copyright holder.
64.39 + *
64.40 + * Contributor(s):
64.41 + *
64.42 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
64.43 + */
64.44 +package org.netbeans.modules.ada.editor.lexer;
64.45 +
64.46 +import java.util.LinkedList;
64.47 +import java.util.List;
64.48 +import org.netbeans.modules.ada.editor.parser.AdaASTSymbols;
64.49 +import org.netbeans.modules.ada.editor.ast.nodes.*;
64.50 +import java_cup.runtime.*;
64.51 +import org.netbeans.modules.ada.project.api.AdaLanguageOptions;
64.52 +
64.53 +
64.54 +/**
64.55 + * This class is a scanner generated by
64.56 + * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
64.57 + * on 23/09/10 23.54 from the specification file
64.58 + * <tt>C:/hg-repo/release691/contrib/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/AdaASTLexer.flex</tt>
64.59 + */
64.60 +public class AdaASTLexer implements Scanner {
64.61 +
64.62 + /** This character denotes the end of file */
64.63 + public static final int YYEOF = -1;
64.64 +
64.65 + /** initial size of the lookahead buffer */
64.66 + private static final int ZZ_BUFFERSIZE = 16384;
64.67 +
64.68 + /** lexical states */
64.69 + public static final int ST_LOOKING_FOR_PROPERTY = 2;
64.70 + public static final int YYINITIAL = 0;
64.71 + public static final int ST_LINE_COMMENT = 4;
64.72 +
64.73 + /**
64.74 + * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
64.75 + * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
64.76 + * at the beginning of a line
64.77 + * l is of the form l = 2*k, k a non negative integer
64.78 + */
64.79 + private static final int ZZ_LEXSTATE[] = {
64.80 + 0, 0, 1, 1, 2, 2
64.81 + };
64.82 +
64.83 + /**
64.84 + * Translates characters to character classes
64.85 + */
64.86 + private static final String ZZ_CMAP_PACKED =
64.87 + "\11\0\1\13\1\15\2\0\1\17\22\0\1\13\1\61\1\14\1\10"+
64.88 + "\2\0\1\47\1\16\1\50\1\51\1\52\1\5\1\53\1\6\1\7"+
64.89 + "\1\54\12\1\1\11\1\55\1\56\1\57\1\60\2\0\1\20\1\21"+
64.90 + "\1\26\1\32\1\4\1\2\1\35\1\42\1\31\1\12\1\44\1\30"+
64.91 + "\1\40\1\33\1\22\1\27\1\45\1\23\1\25\1\24\1\37\1\43"+
64.92 + "\1\41\1\36\1\34\1\46\4\0\1\3\1\0\1\20\1\21\1\26"+
64.93 + "\1\32\1\4\1\2\1\35\1\42\1\31\1\12\1\44\1\30\1\40"+
64.94 + "\1\33\1\22\1\27\1\45\1\23\1\25\1\24\1\37\1\43\1\41"+
64.95 + "\1\36\1\34\1\46\1\0\1\61\uff83\0";
64.96 +
64.97 + /**
64.98 + * Translates characters to character classes
64.99 + */
64.100 + private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
64.101 +
64.102 + /**
64.103 + * Translates DFA states to action switch labels.
64.104 + */
64.105 + private static final int [] ZZ_ACTION = zzUnpackAction();
64.106 +
64.107 + private static final String ZZ_ACTION_PACKED_0 =
64.108 + "\3\0\1\1\1\2\2\3\1\4\1\5\1\6\1\7"+
64.109 + "\1\3\1\10\1\1\1\11\21\3\1\12\1\13\1\14"+
64.110 + "\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24"+
64.111 + "\1\25\1\26\1\27\2\30\6\0\5\3\1\31\1\32"+
64.112 + "\1\33\1\0\1\34\1\0\2\3\1\35\5\3\1\36"+
64.113 + "\1\37\23\3\1\40\1\41\1\42\1\3\1\43\13\3"+
64.114 + "\1\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53"+
64.115 + "\1\0\1\54\1\0\1\2\1\0\1\2\1\0\1\55"+
64.116 + "\3\3\1\56\2\3\1\57\1\3\1\60\2\3\1\61"+
64.117 + "\1\3\1\62\3\3\1\63\4\3\1\64\31\3\1\65"+
64.118 + "\1\66\3\3\1\67\1\70\1\3\1\71\3\3\2\0"+
64.119 + "\1\72\1\3\1\73\3\3\1\74\6\3\1\75\12\3"+
64.120 + "\1\76\1\3\1\77\1\100\2\3\1\101\2\3\1\102"+
64.121 + "\6\3\1\103\5\3\1\104\1\3\1\105\1\3\1\106"+
64.122 + "\1\107\1\3\3\0\1\3\1\110\1\111\1\3\1\112"+
64.123 + "\1\3\1\113\3\3\1\114\7\3\1\115\1\116\17\3"+
64.124 + "\1\117\1\120\1\3\1\121\1\122\1\0\1\72\1\0"+
64.125 + "\3\3\1\123\1\124\1\3\1\125\1\3\1\126\1\127"+
64.126 + "\4\3\1\130\1\3\1\131\4\3\1\132\7\3\1\0"+
64.127 + "\3\3\1\133\1\3\1\134\1\135\1\136\3\3\1\137"+
64.128 + "\1\3\1\140\2\3\1\141\1\142\1\3\1\143\1\144"+
64.129 + "\1\0\1\145\1\3\1\146\2\3\1\147\1\3\1\150"+
64.130 + "\3\3\1\30\1\151\1\3\1\152\1\3\1\153\1\154"+
64.131 + "\1\155\1\156\2\3\1\157";
64.132 +
64.133 + private static int [] zzUnpackAction() {
64.134 + int [] result = new int[362];
64.135 + int offset = 0;
64.136 + offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
64.137 + return result;
64.138 + }
64.139 +
64.140 + private static int zzUnpackAction(String packed, int offset, int [] result) {
64.141 + int i = 0; /* index in packed string */
64.142 + int j = offset; /* index in unpacked array */
64.143 + int l = packed.length();
64.144 + while (i < l) {
64.145 + int count = packed.charAt(i++);
64.146 + int value = packed.charAt(i++);
64.147 + do result[j++] = value; while (--count > 0);
64.148 + }
64.149 + return j;
64.150 + }
64.151 +
64.152 +
64.153 + /**
64.154 + * Translates a state to a row index in the transition table
64.155 + */
64.156 + private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
64.157 +
64.158 + private static final String ZZ_ROWMAP_PACKED_0 =
64.159 + "\0\0\0\62\0\144\0\226\0\310\0\372\0\u012c\0\226"+
64.160 + "\0\u015e\0\u0190\0\u01c2\0\u01f4\0\u0226\0\u0258\0\u028a\0\u02bc"+
64.161 + "\0\u02ee\0\u0320\0\u0352\0\u0384\0\u03b6\0\u03e8\0\u041a\0\u044c"+
64.162 + "\0\u047e\0\u04b0\0\u04e2\0\u0514\0\u0546\0\u0578\0\u05aa\0\u05dc"+
64.163 + "\0\226\0\226\0\226\0\u060e\0\226\0\u0640\0\226\0\u0672"+
64.164 + "\0\u06a4\0\u06d6\0\226\0\226\0\u0708\0\u073a\0\226\0\u076c"+
64.165 + "\0\u079e\0\u07d0\0\u0802\0\u0834\0\u0866\0\u0898\0\u08ca\0\u08fc"+
64.166 + "\0\u092e\0\u0960\0\u0992\0\226\0\226\0\226\0\u0258\0\u09c4"+
64.167 + "\0\u09f6\0\u0a28\0\u0a5a\0\u01f4\0\u0a8c\0\u0abe\0\u0af0\0\u0b22"+
64.168 + "\0\u0b54\0\u01f4\0\u01f4\0\u0b86\0\u0bb8\0\u0bea\0\u0c1c\0\u0c4e"+
64.169 + "\0\u0c80\0\u0cb2\0\u0ce4\0\u0d16\0\u0d48\0\u0d7a\0\u0dac\0\u0dde"+
64.170 + "\0\u0e10\0\u0e42\0\u0e74\0\u0ea6\0\u0ed8\0\u0f0a\0\u01f4\0\u01f4"+
64.171 + "\0\u0f3c\0\u0f6e\0\u01f4\0\u0fa0\0\u0fd2\0\u1004\0\u1036\0\u1068"+
64.172 + "\0\u109a\0\u10cc\0\u10fe\0\u1130\0\u1162\0\u1194\0\226\0\226"+
64.173 + "\0\226\0\226\0\226\0\226\0\226\0\226\0\u11c6\0\226"+
64.174 + "\0\u11f8\0\u122a\0\u125c\0\u128e\0\u12c0\0\u01f4\0\u12f2\0\u1324"+
64.175 + "\0\u1356\0\u01f4\0\u1388\0\u13ba\0\226\0\u13ec\0\u141e\0\u1450"+
64.176 + "\0\u1482\0\u01f4\0\u14b4\0\u01f4\0\u14e6\0\u1518\0\u154a\0\u01f4"+
64.177 + "\0\u157c\0\u15ae\0\u15e0\0\u1612\0\u01f4\0\u1644\0\u1676\0\u16a8"+
64.178 + "\0\u16da\0\u170c\0\u173e\0\u1770\0\u17a2\0\u17d4\0\u1806\0\u1838"+
64.179 + "\0\u186a\0\u189c\0\u18ce\0\u1900\0\u1932\0\u1964\0\u1996\0\u19c8"+
64.180 + "\0\u19fa\0\u1a2c\0\u1a5e\0\u1a90\0\u1ac2\0\u1af4\0\u01f4\0\u01f4"+
64.181 + "\0\u1b26\0\u1b58\0\u1b8a\0\u01f4\0\u01f4\0\u1bbc\0\u01f4\0\u1bee"+
64.182 + "\0\u1c20\0\u1c52\0\u1c84\0\u1cb6\0\u1ce8\0\u1d1a\0\u01f4\0\u1d4c"+
64.183 + "\0\u1d7e\0\u1db0\0\u01f4\0\u1de2\0\u1e14\0\u1e46\0\u1e78\0\u1eaa"+
64.184 + "\0\u1edc\0\u01f4\0\u1f0e\0\u1f40\0\u1f72\0\u1fa4\0\u1fd6\0\u2008"+
64.185 + "\0\u203a\0\u206c\0\u209e\0\u20d0\0\u01f4\0\u2102\0\u01f4\0\u01f4"+
64.186 + "\0\u2134\0\u2166\0\u01f4\0\u2198\0\u21ca\0\u01f4\0\u21fc\0\u222e"+
64.187 + "\0\u2260\0\u2292\0\u22c4\0\u22f6\0\u01f4\0\u2328\0\u235a\0\u238c"+
64.188 + "\0\u23be\0\u23f0\0\u01f4\0\u2422\0\u01f4\0\u2454\0\u01f4\0\u01f4"+
64.189 + "\0\u2486\0\u24b8\0\u24ea\0\u251c\0\u254e\0\u01f4\0\u01f4\0\u2580"+
64.190 + "\0\u01f4\0\u25b2\0\u01f4\0\u25e4\0\u2616\0\u2648\0\u01f4\0\u267a"+
64.191 + "\0\u26ac\0\u26de\0\u2710\0\u2742\0\u2774\0\u27a6\0\u01f4\0\u01f4"+
64.192 + "\0\u27d8\0\u280a\0\u283c\0\u286e\0\u28a0\0\u28d2\0\u2904\0\u2936"+
64.193 + "\0\u2968\0\u299a\0\u29cc\0\u29fe\0\u2a30\0\u2a62\0\u2a94\0\u01f4"+
64.194 + "\0\u01f4\0\u2ac6\0\u01f4\0\u01f4\0\u2af8\0\u2b2a\0\u2b5c\0\u2b8e"+
64.195 + "\0\u2bc0\0\u2bf2\0\u01f4\0\u01f4\0\u2c24\0\u01f4\0\u2c56\0\u01f4"+
64.196 + "\0\u01f4\0\u2c88\0\u2cba\0\u2cec\0\u2d1e\0\u01f4\0\u2d50\0\u01f4"+
64.197 + "\0\u2d82\0\u2db4\0\u2de6\0\u2e18\0\u01f4\0\u2e4a\0\u2e7c\0\u2eae"+
64.198 + "\0\u2ee0\0\u2f12\0\u2f44\0\u2f76\0\u2fa8\0\u2fda\0\u300c\0\u303e"+
64.199 + "\0\u01f4\0\u3070\0\u01f4\0\u01f4\0\u01f4\0\u30a2\0\u30d4\0\u3106"+
64.200 + "\0\u01f4\0\u3138\0\u01f4\0\u316a\0\u319c\0\u01f4\0\u01f4\0\u31ce"+
64.201 + "\0\u01f4\0\u01f4\0\u3200\0\u01f4\0\u3232\0\u01f4\0\u3264\0\u3296"+
64.202 + "\0\u01f4\0\u32c8\0\u01f4\0\u32fa\0\u332c\0\u335e\0\144\0\u01f4"+
64.203 + "\0\u3390\0\u01f4\0\u33c2\0\u01f4\0\u01f4\0\u01f4\0\u01f4\0\u33f4"+
64.204 + "\0\u3426\0\u01f4";
64.205 +
64.206 + private static int [] zzUnpackRowMap() {
64.207 + int [] result = new int[362];
64.208 + int offset = 0;
64.209 + offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
64.210 + return result;
64.211 + }
64.212 +
64.213 + private static int zzUnpackRowMap(String packed, int offset, int [] result) {
64.214 + int i = 0; /* index in packed string */
64.215 + int j = offset; /* index in unpacked array */
64.216 + int l = packed.length();
64.217 + while (i < l) {
64.218 + int high = packed.charAt(i++) << 16;
64.219 + result[j++] = high | packed.charAt(i++);
64.220 + }
64.221 + return j;
64.222 + }
64.223 +
64.224 + /**
64.225 + * The transition table of the DFA
64.226 + */
64.227 + private static final int [] ZZ_TRANS = zzUnpackTrans();
64.228 +
64.229 + private static final String ZZ_TRANS_PACKED_0 =
64.230 + "\1\4\1\5\1\6\1\4\1\7\1\10\1\11\1\12"+
64.231 + "\1\4\1\13\1\14\1\15\1\16\1\15\1\17\1\15"+
64.232 + "\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27"+
64.233 + "\1\30\1\31\1\32\1\33\1\14\1\34\1\35\1\36"+
64.234 + "\1\37\1\40\5\14\1\41\1\42\1\43\1\44\1\45"+
64.235 + "\1\46\1\47\1\50\1\51\1\52\1\53\2\54\1\55"+
64.236 + "\1\54\1\55\2\54\1\56\2\54\1\55\5\54\27\55"+
64.237 + "\13\54\15\3\1\57\1\3\1\60\1\61\41\3\63\0"+
64.238 + "\1\5\1\0\1\62\1\63\2\0\1\64\2\65\51\0"+
64.239 + "\2\14\1\66\1\14\5\0\1\14\5\0\2\14\1\67"+
64.240 + "\14\14\1\70\7\14\14\0\2\14\1\66\1\14\5\0"+
64.241 + "\1\14\5\0\10\14\1\71\2\14\1\72\2\14\1\73"+
64.242 + "\10\14\21\0\1\74\62\0\1\75\131\0\1\76\3\0"+
64.243 + "\2\14\1\66\1\14\5\0\1\14\5\0\27\14\26\0"+
64.244 + "\1\15\1\0\1\15\1\0\1\15\42\0\14\77\1\100"+
64.245 + "\1\0\44\77\15\101\1\0\44\101\1\0\2\14\1\66"+
64.246 + "\1\14\5\0\1\14\5\0\1\14\1\102\1\14\1\103"+
64.247 + "\1\104\1\14\1\105\1\14\1\106\2\14\1\107\13\14"+
64.248 + "\14\0\2\14\1\66\1\110\5\0\1\14\5\0\2\14"+
64.249 + "\1\111\24\14\14\0\1\14\1\112\1\66\1\14\5\0"+
64.250 + "\1\14\5\0\3\14\1\113\1\114\12\14\1\115\3\14"+
64.251 + "\1\116\3\14\14\0\2\14\1\66\1\117\5\0\1\14"+
64.252 + "\5\0\1\120\26\14\14\0\2\14\1\66\1\121\5\0"+
64.253 + "\1\14\5\0\1\122\13\14\1\123\5\14\1\124\4\14"+
64.254 + "\14\0\2\14\1\66\1\125\5\0\1\14\5\0\2\14"+
64.255 + "\1\126\11\14\1\127\2\14\1\130\7\14\14\0\2\14"+
64.256 + "\1\66\1\14\5\0\1\14\5\0\1\131\1\14\1\132"+
64.257 + "\24\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
64.258 + "\1\133\2\14\1\134\23\14\14\0\2\14\1\66\1\14"+
64.259 + "\5\0\1\14\5\0\2\14\1\135\6\14\1\136\15\14"+
64.260 + "\14\0\1\14\1\137\1\66\1\14\5\0\1\14\5\0"+
64.261 + "\5\14\1\140\5\14\1\141\13\14\14\0\2\14\1\66"+
64.262 + "\1\142\5\0\1\14\5\0\2\14\1\143\24\14\14\0"+
64.263 + "\2\14\1\66\1\144\5\0\1\14\5\0\2\14\1\145"+
64.264 + "\14\14\1\146\7\14\14\0\2\14\1\66\1\147\5\0"+
64.265 + "\1\14\5\0\2\14\1\150\24\14\14\0\2\14\1\66"+
64.266 + "\1\14\5\0\1\14\5\0\2\14\1\151\24\14\14\0"+
64.267 + "\2\14\1\66\1\14\5\0\1\14\5\0\5\14\1\152"+
64.268 + "\5\14\1\153\13\14\14\0\2\14\1\66\1\14\5\0"+
64.269 + "\1\14\5\0\2\14\1\154\24\14\14\0\2\14\1\66"+
64.270 + "\1\14\5\0\1\14\5\0\11\14\1\155\10\14\1\156"+
64.271 + "\4\14\65\0\1\157\66\0\1\160\60\0\1\161\1\162"+
64.272 + "\1\163\61\0\1\164\60\0\1\165\1\166\2\0\2\55"+
64.273 + "\1\167\1\55\5\0\1\55\5\0\27\55\22\0\1\170"+
64.274 + "\67\0\1\57\44\0\15\3\1\57\1\3\1\60\1\61"+
64.275 + "\12\3\1\171\26\3\1\0\1\5\61\0\1\172\3\0"+
64.276 + "\2\173\54\0\1\174\61\0\2\175\1\0\1\175\13\0"+
64.277 + "\2\175\4\0\1\175\3\0\1\175\30\0\2\14\1\0"+
64.278 + "\1\14\5\0\1\14\5\0\27\14\14\0\2\14\1\66"+
64.279 + "\1\14\5\0\1\14\5\0\3\14\1\176\23\14\14\0"+
64.280 + "\2\14\1\66\1\14\5\0\1\14\5\0\13\14\1\177"+
64.281 + "\13\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
64.282 + "\5\14\1\200\21\14\14\0\2\14\1\66\1\14\5\0"+
64.283 + "\1\14\5\0\4\14\1\201\5\14\1\202\14\14\14\0"+
64.284 + "\2\14\1\66\1\14\5\0\1\14\5\0\6\14\1\203"+
64.285 + "\2\14\1\204\15\14\27\0\1\77\63\0\1\205\44\0"+
64.286 + "\2\14\1\66\1\14\5\0\1\14\5\0\2\14\1\206"+
64.287 + "\2\14\1\207\21\14\14\0\2\14\1\66\1\14\5\0"+
64.288 + "\1\14\5\0\3\14\1\210\23\14\14\0\2\14\1\66"+
64.289 + "\1\14\5\0\1\14\5\0\6\14\1\211\20\14\14\0"+
64.290 + "\2\14\1\66\1\14\5\0\1\14\5\0\10\14\1\212"+
64.291 + "\1\213\15\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.292 + "\5\0\12\14\1\214\14\14\14\0\2\14\1\66\1\14"+
64.293 + "\5\0\1\14\5\0\15\14\1\215\11\14\14\0\2\14"+
64.294 + "\1\66\1\14\5\0\1\14\5\0\12\14\1\216\14\14"+
64.295 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\22\14"+
64.296 + "\1\217\4\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.297 + "\5\0\4\14\1\220\22\14\14\0\2\14\1\66\1\221"+
64.298 + "\5\0\1\14\5\0\27\14\14\0\2\14\1\66\1\14"+
64.299 + "\5\0\1\14\5\0\4\14\1\222\1\14\1\223\4\14"+
64.300 + "\1\224\4\14\1\225\2\14\1\226\1\14\1\227\1\14"+
64.301 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\11\14"+
64.302 + "\1\230\1\14\1\231\13\14\14\0\2\14\1\66\1\14"+
64.303 + "\5\0\1\14\5\0\3\14\1\232\23\14\14\0\2\14"+
64.304 + "\1\66\1\14\5\0\1\14\5\0\5\14\1\233\7\14"+
64.305 + "\1\234\11\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.306 + "\5\0\7\14\1\235\17\14\14\0\2\14\1\66\1\236"+
64.307 + "\5\0\1\14\5\0\27\14\14\0\2\14\1\66\1\14"+
64.308 + "\5\0\1\14\5\0\7\14\1\237\1\240\16\14\14\0"+
64.309 + "\2\14\1\66\1\14\5\0\1\14\5\0\20\14\1\241"+
64.310 + "\6\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
64.311 + "\13\14\1\242\13\14\14\0\2\14\1\66\1\14\5\0"+
64.312 + "\1\14\5\0\1\14\1\243\25\14\14\0\2\14\1\66"+
64.313 + "\1\14\5\0\1\14\5\0\5\14\1\244\21\14\14\0"+
64.314 + "\2\14\1\66\1\14\5\0\1\14\5\0\13\14\1\245"+
64.315 + "\13\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
64.316 + "\6\14\1\246\20\14\14\0\2\14\1\66\1\14\5\0"+
64.317 + "\1\14\5\0\1\247\1\14\1\250\6\14\1\251\15\14"+
64.318 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\2\14"+
64.319 + "\1\252\24\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.320 + "\5\0\20\14\1\253\6\14\14\0\2\14\1\66\1\14"+
64.321 + "\5\0\1\14\5\0\4\14\1\254\22\14\14\0\2\14"+
64.322 + "\1\66\1\14\5\0\1\14\5\0\6\14\1\255\1\14"+
64.323 + "\1\256\16\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.324 + "\5\0\21\14\1\257\5\14\14\0\2\14\1\66\1\14"+
64.325 + "\5\0\1\14\5\0\4\14\1\260\22\14\14\0\2\14"+
64.326 + "\1\66\1\14\5\0\1\14\5\0\10\14\1\261\16\14"+
64.327 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\13\14"+
64.328 + "\1\262\13\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.329 + "\5\0\4\14\1\263\22\14\14\0\2\14\1\66\1\14"+
64.330 + "\5\0\1\14\5\0\3\14\1\264\23\14\14\0\2\14"+
64.331 + "\1\66\1\265\5\0\1\14\5\0\27\14\14\0\2\14"+
64.332 + "\1\66\1\14\5\0\1\14\5\0\4\14\1\266\22\14"+
64.333 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\12\14"+
64.334 + "\1\267\14\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.335 + "\5\0\4\14\1\270\22\14\14\0\2\14\1\66\1\271"+
64.336 + "\5\0\1\14\5\0\11\14\1\272\15\14\14\0\2\55"+
64.337 + "\1\0\1\55\5\0\1\55\5\0\27\55\13\0\15\3"+
64.338 + "\1\57\1\3\1\60\1\61\13\3\1\273\25\3\1\0"+
64.339 + "\1\172\1\0\1\173\57\0\1\172\61\0\1\174\1\0"+
64.340 + "\1\64\1\63\56\0\2\175\1\65\1\175\2\0\1\274"+
64.341 + "\2\275\6\0\2\175\4\0\1\175\3\0\1\175\30\0"+
64.342 + "\2\14\1\66\1\14\5\0\1\14\5\0\6\14\1\276"+
64.343 + "\20\14\14\0\2\14\1\66\1\277\5\0\1\14\5\0"+
64.344 + "\11\14\1\300\15\14\14\0\2\14\1\66\1\14\5\0"+
64.345 + "\1\14\5\0\3\14\1\301\23\14\14\0\2\14\1\66"+
64.346 + "\1\302\5\0\1\14\5\0\27\14\14\0\2\14\1\66"+
64.347 + "\1\14\5\0\1\14\5\0\4\14\1\303\22\14\14\0"+
64.348 + "\2\14\1\66\1\14\5\0\1\14\5\0\3\14\1\304"+
64.349 + "\23\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
64.350 + "\4\14\1\305\22\14\14\0\2\14\1\66\1\14\5\0"+
64.351 + "\1\14\5\0\1\306\26\14\14\0\2\14\1\66\1\307"+
64.352 + "\5\0\1\14\5\0\27\14\14\0\2\14\1\66\1\14"+
64.353 + "\5\0\1\14\5\0\1\310\26\14\14\0\2\14\1\66"+
64.354 + "\1\14\5\0\1\14\5\0\11\14\1\311\15\14\14\0"+
64.355 + "\2\14\1\66\1\14\5\0\1\14\5\0\14\14\1\312"+
64.356 + "\12\14\14\0\2\14\1\66\1\313\5\0\1\14\5\0"+
64.357 + "\27\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
64.358 + "\3\14\1\314\23\14\14\0\2\14\1\66\1\14\5\0"+
64.359 + "\1\14\5\0\17\14\1\315\7\14\14\0\2\14\1\66"+
64.360 + "\1\14\5\0\1\14\5\0\2\14\1\316\24\14\14\0"+
64.361 + "\2\14\1\66\1\14\5\0\1\14\5\0\1\317\26\14"+
64.362 + "\14\0\2\14\1\66\1\320\5\0\1\14\5\0\27\14"+
64.363 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\17\14"+
64.364 + "\1\321\7\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.365 + "\5\0\5\14\1\322\21\14\14\0\2\14\1\66\1\14"+
64.366 + "\5\0\1\14\5\0\15\14\1\323\11\14\14\0\2\14"+
64.367 + "\1\66\1\14\5\0\1\14\5\0\20\14\1\324\6\14"+
64.368 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\24\14"+
64.369 + "\1\325\2\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.370 + "\5\0\15\14\1\326\11\14\14\0\2\14\1\66\1\327"+
64.371 + "\5\0\1\14\5\0\27\14\14\0\2\14\1\66\1\14"+
64.372 + "\5\0\1\14\5\0\13\14\1\330\13\14\14\0\2\14"+
64.373 + "\1\66\1\14\5\0\1\14\5\0\1\331\26\14\14\0"+
64.374 + "\2\14\1\66\1\332\5\0\1\14\5\0\27\14\14\0"+
64.375 + "\2\14\1\66\1\333\5\0\1\14\5\0\27\14\14\0"+
64.376 + "\2\14\1\66\1\14\5\0\1\14\5\0\6\14\1\334"+
64.377 + "\20\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
64.378 + "\4\14\1\335\22\14\14\0\2\14\1\66\1\336\5\0"+
64.379 + "\1\14\5\0\27\14\14\0\2\14\1\66\1\14\5\0"+
64.380 + "\1\14\5\0\5\14\1\337\21\14\14\0\2\14\1\66"+
64.381 + "\1\14\5\0\1\14\5\0\24\14\1\340\2\14\14\0"+
64.382 + "\2\14\1\66\1\14\5\0\1\14\5\0\15\14\1\341"+
64.383 + "\11\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
64.384 + "\4\14\1\342\1\14\1\343\20\14\14\0\2\14\1\66"+
64.385 + "\1\14\5\0\1\14\5\0\23\14\1\344\3\14\14\0"+
64.386 + "\2\14\1\66\1\14\5\0\1\14\5\0\7\14\1\345"+
64.387 + "\17\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
64.388 + "\11\14\1\346\15\14\14\0\2\14\1\66\1\347\5\0"+
64.389 + "\1\14\5\0\27\14\14\0\2\14\1\66\1\14\5\0"+
64.390 + "\1\14\5\0\10\14\1\350\16\14\14\0\2\14\1\66"+
64.391 + "\1\14\5\0\1\14\5\0\1\351\3\14\1\352\22\14"+
64.392 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\10\14"+
64.393 + "\1\353\16\14\14\0\2\14\1\66\1\354\5\0\1\14"+
64.394 + "\5\0\27\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.395 + "\5\0\2\14\1\355\24\14\14\0\2\14\1\66\1\14"+
64.396 + "\5\0\1\14\5\0\11\14\1\356\15\14\14\0\2\14"+
64.397 + "\1\66\1\14\5\0\1\14\5\0\22\14\1\357\4\14"+
64.398 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\13\14"+
64.399 + "\1\360\13\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.400 + "\5\0\10\14\1\361\16\14\13\0\3\3\1\362\11\3"+
64.401 + "\1\57\1\3\1\60\1\61\41\3\1\0\2\363\1\0"+
64.402 + "\1\363\13\0\2\363\4\0\1\363\3\0\1\363\33\0"+
64.403 + "\1\364\56\0\2\14\1\66\1\14\5\0\1\14\5\0"+
64.404 + "\4\14\1\365\22\14\14\0\1\14\1\366\1\66\1\14"+
64.405 + "\5\0\1\14\5\0\27\14\14\0\2\14\1\66\1\14"+
64.406 + "\5\0\1\14\5\0\14\14\1\367\12\14\14\0\2\14"+
64.407 + "\1\66\1\14\5\0\1\14\5\0\7\14\1\370\17\14"+
64.408 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\4\14"+
64.409 + "\1\371\22\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.410 + "\5\0\3\14\1\372\23\14\14\0\2\14\1\66\1\14"+
64.411 + "\5\0\1\14\5\0\14\14\1\373\12\14\14\0\2\14"+
64.412 + "\1\66\1\14\5\0\1\14\5\0\5\14\1\374\1\14"+
64.413 + "\1\375\17\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.414 + "\5\0\5\14\1\376\21\14\14\0\2\14\1\66\1\14"+
64.415 + "\5\0\1\14\5\0\13\14\1\377\13\14\14\0\2\14"+
64.416 + "\1\66\1\14\5\0\1\14\5\0\3\14\1\u0100\23\14"+
64.417 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\3\14"+
64.418 + "\1\u0101\23\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.419 + "\5\0\3\14\1\u0102\23\14\14\0\2\14\1\66\1\14"+
64.420 + "\5\0\1\14\5\0\3\14\1\u0103\23\14\14\0\2\14"+
64.421 + "\1\66\1\14\5\0\1\14\5\0\20\14\1\u0104\6\14"+
64.422 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\3\14"+
64.423 + "\1\u0105\23\14\14\0\2\14\1\66\1\u0106\5\0\1\14"+
64.424 + "\5\0\27\14\14\0\2\14\1\66\1\u0107\5\0\1\14"+
64.425 + "\5\0\27\14\14\0\2\14\1\66\1\u0108\5\0\1\14"+
64.426 + "\5\0\27\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.427 + "\5\0\11\14\1\u0109\15\14\14\0\2\14\1\66\1\u010a"+
64.428 + "\5\0\1\14\5\0\27\14\14\0\2\14\1\66\1\14"+
64.429 + "\5\0\1\14\5\0\3\14\1\u010b\23\14\14\0\2\14"+
64.430 + "\1\66\1\14\5\0\1\14\5\0\6\14\1\u010c\20\14"+
64.431 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\22\14"+
64.432 + "\1\u010d\4\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.433 + "\5\0\14\14\1\u010e\12\14\14\0\2\14\1\66\1\14"+
64.434 + "\5\0\1\14\5\0\4\14\1\u010f\22\14\14\0\2\14"+
64.435 + "\1\66\1\14\5\0\1\14\5\0\1\u0110\26\14\14\0"+
64.436 + "\2\14\1\66\1\14\5\0\1\14\5\0\20\14\1\u0111"+
64.437 + "\6\14\14\0\2\14\1\66\1\u0112\5\0\1\14\5\0"+
64.438 + "\27\14\14\0\2\14\1\66\1\u0113\5\0\1\14\5\0"+
64.439 + "\27\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
64.440 + "\1\u0114\26\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.441 + "\5\0\4\14\1\u0115\22\14\14\0\2\14\1\66\1\14"+
64.442 + "\5\0\1\14\5\0\3\14\1\u0116\23\14\14\0\2\14"+
64.443 + "\1\66\1\14\5\0\1\14\5\0\1\u0117\26\14\14\0"+
64.444 + "\2\14\1\66\1\14\5\0\1\14\5\0\14\14\1\u0118"+
64.445 + "\12\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
64.446 + "\1\u0119\26\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.447 + "\5\0\3\14\1\u011a\23\14\14\0\2\14\1\66\1\14"+
64.448 + "\5\0\1\14\5\0\10\14\1\u011b\16\14\14\0\2\14"+
64.449 + "\1\66\1\u011c\5\0\1\14\5\0\27\14\13\0\15\3"+
64.450 + "\1\57\1\3\1\60\1\61\5\3\1\u011d\33\3\1\0"+
64.451 + "\2\363\1\274\1\363\3\0\2\275\6\0\2\363\4\0"+
64.452 + "\1\363\3\0\1\363\30\0\1\u011e\3\0\2\u011f\54\0"+
64.453 + "\2\14\1\66\1\14\5\0\1\14\5\0\11\14\1\u0120"+
64.454 + "\15\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
64.455 + "\4\14\1\u0121\22\14\14\0\2\14\1\66\1\14\5\0"+
64.456 + "\1\14\5\0\1\u0122\26\14\14\0\2\14\1\66\1\14"+
64.457 + "\5\0\1\14\5\0\5\14\1\u0123\21\14\14\0\2\14"+
64.458 + "\1\66\1\14\5\0\1\14\5\0\4\14\1\u0124\22\14"+
64.459 + "\14\0\2\14\1\66\1\u0125\5\0\1\14\5\0\27\14"+
64.460 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\5\14"+
64.461 + "\1\u0126\21\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.462 + "\5\0\11\14\1\u0127\15\14\14\0\2\14\1\66\1\14"+
64.463 + "\5\0\1\14\5\0\13\14\1\u0128\13\14\14\0\2\14"+
64.464 + "\1\66\1\14\5\0\1\14\5\0\12\14\1\u0129\14\14"+
64.465 + "\14\0\2\14\1\66\1\u012a\5\0\1\14\5\0\27\14"+
64.466 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\5\14"+
64.467 + "\1\u012b\21\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.468 + "\5\0\17\14\1\u012c\7\14\14\0\2\14\1\66\1\14"+
64.469 + "\5\0\1\14\5\0\13\14\1\u012d\13\14\14\0\2\14"+
64.470 + "\1\66\1\14\5\0\1\14\5\0\12\14\1\u012e\14\14"+
64.471 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\1\u012f"+
64.472 + "\26\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
64.473 + "\4\14\1\u0130\22\14\14\0\2\14\1\66\1\14\5\0"+
64.474 + "\1\14\5\0\3\14\1\u0131\23\14\14\0\2\14\1\66"+
64.475 + "\1\14\5\0\1\14\5\0\7\14\1\u0132\17\14\14\0"+
64.476 + "\2\14\1\66\1\14\5\0\1\14\5\0\1\u0133\26\14"+
64.477 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\15\14"+
64.478 + "\1\u0134\11\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.479 + "\5\0\1\u0135\26\14\14\0\2\14\1\66\1\14\5\0"+
64.480 + "\1\14\5\0\6\14\1\u0136\20\14\14\0\2\14\1\66"+
64.481 + "\1\14\5\0\1\14\5\0\12\14\1\u0137\14\14\14\0"+
64.482 + "\2\14\1\66\1\14\5\0\1\14\5\0\4\14\1\u0138"+
64.483 + "\22\14\14\0\2\14\1\66\1\u0139\5\0\1\14\5\0"+
64.484 + "\27\14\14\0\1\14\1\u013a\1\66\1\14\5\0\1\14"+
64.485 + "\5\0\27\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.486 + "\5\0\3\14\1\u013b\23\14\14\0\2\14\1\66\1\14"+
64.487 + "\5\0\1\14\5\0\11\14\1\u013c\15\14\13\0\15\3"+
64.488 + "\1\57\1\3\1\60\1\61\21\3\1\u013d\17\3\1\0"+
64.489 + "\1\u011e\1\0\1\u011f\57\0\1\u011e\61\0\2\14\1\66"+
64.490 + "\1\14\5\0\1\14\5\0\2\14\1\u013e\24\14\14\0"+
64.491 + "\2\14\1\66\1\14\5\0\1\14\5\0\11\14\1\u013f"+
64.492 + "\15\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
64.493 + "\6\14\1\u0140\20\14\14\0\2\14\1\66\1\14\5\0"+
64.494 + "\1\14\5\0\12\14\1\u0141\14\14\14\0\2\14\1\66"+
64.495 + "\1\14\5\0\1\14\5\0\12\14\1\u0142\14\14\14\0"+
64.496 + "\2\14\1\66\1\14\5\0\1\14\5\0\5\14\1\u0143"+
64.497 + "\21\14\14\0\2\14\1\66\1\u0144\5\0\1\14\5\0"+
64.498 + "\27\14\14\0\2\14\1\66\1\u0145\5\0\1\14\5\0"+
64.499 + "\27\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
64.500 + "\1\u0146\26\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.501 + "\5\0\4\14\1\u0147\22\14\14\0\2\14\1\66\1\14"+
64.502 + "\5\0\1\14\5\0\2\14\1\u0148\24\14\14\0\2\14"+
64.503 + "\1\66\1\u0149\5\0\1\14\5\0\27\14\14\0\2\14"+
64.504 + "\1\66\1\14\5\0\1\14\5\0\13\14\1\u014a\13\14"+
64.505 + "\14\0\2\14\1\66\1\u014b\5\0\1\14\5\0\27\14"+
64.506 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\4\14"+
64.507 + "\1\u014c\22\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.508 + "\5\0\17\14\1\u014d\7\14\14\0\2\14\1\66\1\u014e"+
64.509 + "\5\0\1\14\5\0\27\14\14\0\2\14\1\66\1\14"+
64.510 + "\5\0\1\14\5\0\12\14\1\u014f\14\14\14\0\2\14"+
64.511 + "\1\66\1\14\5\0\1\14\5\0\1\u0150\26\14\14\0"+
64.512 + "\2\14\1\66\1\u0151\5\0\1\14\5\0\27\14\14\0"+
64.513 + "\2\14\1\66\1\14\5\0\1\14\5\0\6\14\1\u0152"+
64.514 + "\20\14\13\0\15\3\1\57\1\3\1\60\1\u0153\41\3"+
64.515 + "\1\0\2\14\1\66\1\14\5\0\1\14\5\0\13\14"+
64.516 + "\1\u0154\13\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.517 + "\5\0\2\14\1\u0155\24\14\14\0\2\14\1\66\1\14"+
64.518 + "\5\0\1\14\5\0\4\14\1\u0156\22\14\14\0\2\14"+
64.519 + "\1\66\1\14\5\0\1\14\5\0\11\14\1\u0157\15\14"+
64.520 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\4\14"+
64.521 + "\1\u0158\22\14\14\0\2\14\1\66\1\u0159\5\0\1\14"+
64.522 + "\5\0\27\14\14\0\2\14\1\66\1\14\5\0\1\14"+
64.523 + "\5\0\13\14\1\u015a\13\14\14\0\2\14\1\66\1\14"+
64.524 + "\5\0\1\14\5\0\4\14\1\u015b\22\14\14\0\2\14"+
64.525 + "\1\66\1\u015c\5\0\1\14\5\0\27\14\14\0\2\14"+
64.526 + "\1\66\1\14\5\0\1\14\5\0\3\14\1\u015d\23\14"+
64.527 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\6\14"+
64.528 + "\1\u015e\20\14\13\0\15\3\1\57\1\3\1\60\1\61"+
64.529 + "\2\3\1\u015f\7\3\1\171\26\3\1\0\2\14\1\66"+
64.530 + "\1\14\5\0\1\14\5\0\13\14\1\u0160\13\14\14\0"+
64.531 + "\2\14\1\66\1\14\5\0\1\14\5\0\13\14\1\u0161"+
64.532 + "\13\14\14\0\2\14\1\66\1\u0162\5\0\1\14\5\0"+
64.533 + "\27\14\14\0\2\14\1\66\1\14\5\0\1\14\5\0"+
64.534 + "\11\14\1\u0163\15\14\14\0\2\14\1\66\1\14\5\0"+
64.535 + "\1\14\5\0\12\14\1\u0164\14\14\14\0\2\14\1\66"+
64.536 + "\1\u0165\5\0\1\14\5\0\27\14\14\0\2\14\1\66"+
64.537 + "\1\u0166\5\0\1\14\5\0\27\14\14\0\2\14\1\66"+
64.538 + "\1\14\5\0\1\14\5\0\15\14\1\u0167\11\14\14\0"+
64.539 + "\2\14\1\66\1\14\5\0\1\14\5\0\26\14\1\u0168"+
64.540 + "\14\0\2\14\1\66\1\u0169\5\0\1\14\5\0\27\14"+
64.541 + "\14\0\2\14\1\66\1\14\5\0\1\14\5\0\12\14"+
64.542 + "\1\u016a\14\14\13\0";
64.543 +
64.544 + private static int [] zzUnpackTrans() {
64.545 + int [] result = new int[13400];
64.546 + int offset = 0;
64.547 + offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
64.548 + return result;
64.549 + }
64.550 +
64.551 + private static int zzUnpackTrans(String packed, int offset, int [] result) {
64.552 + int i = 0; /* index in packed string */
64.553 + int j = offset; /* index in unpacked array */
64.554 + int l = packed.length();
64.555 + while (i < l) {
64.556 + int count = packed.charAt(i++);
64.557 + int value = packed.charAt(i++);
64.558 + value--;
64.559 + do result[j++] = value; while (--count > 0);
64.560 + }
64.561 + return j;
64.562 + }
64.563 +
64.564 +
64.565 + /* error codes */
64.566 + private static final int ZZ_UNKNOWN_ERROR = 0;
64.567 + private static final int ZZ_NO_MATCH = 1;
64.568 + private static final int ZZ_PUSHBACK_2BIG = 2;
64.569 +
64.570 + /* error messages for the codes above */
64.571 + private static final String ZZ_ERROR_MSG[] = {
64.572 + "Unkown internal scanner error",
64.573 + "Error: could not match input",
64.574 + "Error: pushback value was too large"
64.575 + };
64.576 +
64.577 + /**
64.578 + * ZZ_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
64.579 + */
64.580 + private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
64.581 +
64.582 + private static final String ZZ_ATTRIBUTE_PACKED_0 =
64.583 + "\3\0\1\11\3\1\1\11\30\1\3\11\1\1\1\11"+
64.584 + "\1\1\1\11\3\1\2\11\2\1\1\11\1\1\6\0"+
64.585 + "\5\1\3\11\1\0\1\1\1\0\55\1\10\11\1\0"+
64.586 + "\1\11\1\0\1\1\1\0\1\1\1\0\7\1\1\11"+
64.587 + "\65\1\2\0\65\1\3\0\50\1\1\0\1\1\1\0"+
64.588 + "\35\1\1\0\25\1\1\0\27\1";
64.589 +
64.590 + private static int [] zzUnpackAttribute() {
64.591 + int [] result = new int[362];
64.592 + int offset = 0;
64.593 + offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
64.594 + return result;
64.595 + }
64.596 +
64.597 + private static int zzUnpackAttribute(String packed, int offset, int [] result) {
64.598 + int i = 0; /* index in packed string */
64.599 + int j = offset; /* index in unpacked array */
64.600 + int l = packed.length();
64.601 + while (i < l) {
64.602 + int count = packed.charAt(i++);
64.603 + int value = packed.charAt(i++);
64.604 + do result[j++] = value; while (--count > 0);
64.605 + }
64.606 + return j;
64.607 + }
64.608 +
64.609 + /** the input device */
64.610 + private java.io.Reader zzReader;
64.611 +
64.612 + /** the current state of the DFA */
64.613 + private int zzState;
64.614 +
64.615 + /** the current lexical state */
64.616 + private int zzLexicalState = YYINITIAL;
64.617 +
64.618 + /** this buffer contains the current text to be matched and is
64.619 + the source of the yytext() string */
64.620 + private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
64.621 +
64.622 + /** the textposition at the last accepting state */
64.623 + private int zzMarkedPos;
64.624 +
64.625 + /** the textposition at the last state to be included in yytext */
64.626 + private int zzPushbackPos;
64.627 +
64.628 + /** the current text position in the buffer */
64.629 + private int zzCurrentPos;
64.630 +
64.631 + /** startRead marks the beginning of the yytext() string in the buffer */
64.632 + private int zzStartRead;
64.633 +
64.634 + /** endRead marks the last character in the buffer, that has been read
64.635 + from input */
64.636 + private int zzEndRead;
64.637 +
64.638 + /** number of newlines encountered up to the start of the matched text */
64.639 + private int yyline;
64.640 +
64.641 + /** the number of characters up to the start of the matched text */
64.642 + private int yychar;
64.643 +
64.644 + /**
64.645 + * the number of characters from the last newline up to the start of the
64.646 + * matched text
64.647 + */
64.648 + private int yycolumn;
64.649 +
64.650 + /**
64.651 + * zzAtBOL == true <=> the scanner is currently at the beginning of a line
64.652 + */
64.653 + private boolean zzAtBOL = true;
64.654 +
64.655 + /** zzAtEOF == true <=> the scanner is at the EOF */
64.656 + private boolean zzAtEOF;
64.657 +
64.658 + /** denotes if the user-EOF-code has already been executed */
64.659 + private boolean zzEOFDone;
64.660 +
64.661 + /* user code: */
64.662 + private final List commentList = new LinkedList();
64.663 + private String comment = null;
64.664 + private StateStack stack = new StateStack();
64.665 + private char yy_old_buffer[] = new char[ZZ_BUFFERSIZE];
64.666 + private int yy_old_pushbackPos;
64.667 + protected int commentStartPosition;
64.668 + private AdaLanguageOptions.AdaVersion adaVersion = AdaLanguageOptions.AdaVersion.ADA_95;
64.669 +
64.670 + public AdaASTLexer(java.io.Reader in, AdaLanguageOptions.AdaVersion adaVersion) {
64.671 + this(in);
64.672 + this.adaVersion = adaVersion;
64.673 + }
64.674 +
64.675 + public AdaLanguageOptions.AdaVersion getAdaVersion() {
64.676 + return this.adaVersion;
64.677 + }
64.678 +
64.679 + public void reset(java.io.Reader reader) {
64.680 + yyreset(reader);
64.681 + }
64.682 +
64.683 + public void setState(int state) {
64.684 + yybegin(state);
64.685 + }
64.686 +
64.687 + public int getState() {
64.688 + return yystate();
64.689 + }
64.690 +
64.691 + public void resetCommentList() {
64.692 + commentList.clear();
64.693 + }
64.694 +
64.695 + public List getCommentList() {
64.696 + return commentList;
64.697 + }
64.698 +
64.699 + protected void addComment(Comment.Type type) {
64.700 + int leftPosition = getTokenStartPosition();
64.701 + Comment comm;
64.702 + comm = new Comment(commentStartPosition, leftPosition + getTokenLength());
64.703 + commentList.add(comm);
64.704 + }
64.705 +
64.706 + private void pushState(int state) {
64.707 + stack.pushStack(zzLexicalState);
64.708 + yybegin(state);
64.709 + }
64.710 +
64.711 + private void popState() {
64.712 + yybegin(stack.popStack());
64.713 + }
64.714 +
64.715 + public int getCurrentLine() {
64.716 + return yyline;
64.717 + }
64.718 +
64.719 + protected int getTokenStartPosition() {
64.720 + return zzStartRead - zzPushbackPos;
64.721 + }
64.722 +
64.723 + protected int getTokenLength() {
64.724 + return zzMarkedPos - zzStartRead;
64.725 + }
64.726 +
64.727 + public int getLength() {
64.728 + return zzEndRead - zzPushbackPos;
64.729 + }
64.730 +
64.731 + private void handleCommentStart() {
64.732 + commentStartPosition = getTokenStartPosition();
64.733 + }
64.734 +
64.735 + private void handleLineCommentEnd() {
64.736 + addComment(Comment.Type.TYPE_SINGLE_LINE);
64.737 + }
64.738 +
64.739 + private Symbol createFullSymbol(int symbolNumber) {
64.740 + Symbol symbol = createSymbol(symbolNumber);
64.741 + symbol.value = yytext();
64.742 + return symbol;
64.743 + }
64.744 +
64.745 + private Symbol createSymbol(int symbolNumber) {
64.746 + int leftPosition = getTokenStartPosition();
64.747 + Symbol symbol = new Symbol(symbolNumber, leftPosition, leftPosition + getTokenLength());
64.748 + return symbol;
64.749 + }
64.750 +
64.751 + public int[] getParamenters(){
64.752 + return new int[]{zzMarkedPos, zzPushbackPos, zzCurrentPos, zzStartRead, zzEndRead, yyline};
64.753 + }
64.754 +
64.755 + public void reset(java.io.Reader reader, char[] buffer, int[] parameters){
64.756 + this.zzReader = reader;
64.757 + this.zzBuffer = buffer;
64.758 + this.zzMarkedPos = parameters[0];
64.759 + this.zzPushbackPos = parameters[1];
64.760 + this.zzCurrentPos = parameters[2];
64.761 + this.zzStartRead = parameters[3];
64.762 + this.zzEndRead = parameters[4];
64.763 + this.yyline = parameters[5];
64.764 + this.yychar = this.zzStartRead - this.zzPushbackPos;
64.765 + }
64.766 +
64.767 +
64.768 +
64.769 + /**
64.770 + * Creates a new scanner
64.771 + * There is also a java.io.InputStream version of this constructor.
64.772 + *
64.773 + * @param in the java.io.Reader to read input from.
64.774 + */
64.775 + public AdaASTLexer(java.io.Reader in) {
64.776 + this.zzReader = in;
64.777 + }
64.778 +
64.779 + /**
64.780 + * Creates a new scanner.
64.781 + * There is also java.io.Reader version of this constructor.
64.782 + *
64.783 + * @param in the java.io.Inputstream to read input from.
64.784 + */
64.785 + public AdaASTLexer(java.io.InputStream in) {
64.786 + this(new java.io.InputStreamReader(in));
64.787 + }
64.788 +
64.789 + /**
64.790 + * Unpacks the compressed character translation table.
64.791 + *
64.792 + * @param packed the packed character translation table
64.793 + * @return the unpacked character translation table
64.794 + */
64.795 + private static char [] zzUnpackCMap(String packed) {
64.796 + char [] map = new char[0x10000];
64.797 + int i = 0; /* index in packed string */
64.798 + int j = 0; /* index in unpacked array */
64.799 + while (i < 172) {
64.800 + int count = packed.charAt(i++);
64.801 + char value = packed.charAt(i++);
64.802 + do map[j++] = value; while (--count > 0);
64.803 + }
64.804 + return map;
64.805 + }
64.806 +
64.807 +
64.808 + /**
64.809 + * Refills the input buffer.
64.810 + *
64.811 + * @return <code>false</code>, iff there was new input.
64.812 + *
64.813 + * @exception java.io.IOException if any I/O-Error occurs
64.814 + */
64.815 + private boolean zzRefill() throws java.io.IOException {
64.816 +
64.817 + /* first: make room (if you can) */
64.818 + if (zzStartRead > 0) {
64.819 + System.arraycopy(zzBuffer, zzStartRead,
64.820 + zzBuffer, 0,
64.821 + zzEndRead-zzStartRead);
64.822 +
64.823 + /* translate stored positions */
64.824 + zzEndRead-= zzStartRead;
64.825 + zzCurrentPos-= zzStartRead;
64.826 + zzMarkedPos-= zzStartRead;
64.827 + zzPushbackPos-= zzStartRead;
64.828 + zzStartRead = 0;
64.829 + }
64.830 +
64.831 + /* is the buffer big enough? */
64.832 + if (zzCurrentPos >= zzBuffer.length) {
64.833 + /* if not: blow it up */
64.834 + char newBuffer[] = new char[zzCurrentPos*2];
64.835 + System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
64.836 + zzBuffer = newBuffer;
64.837 + }
64.838 +
64.839 + /* finally: fill the buffer with new input */
64.840 + int numRead = zzReader.read(zzBuffer, zzEndRead,
64.841 + zzBuffer.length-zzEndRead);
64.842 +
64.843 + if (numRead < 0) {
64.844 + return true;
64.845 + }
64.846 + else {
64.847 + zzEndRead+= numRead;
64.848 + return false;
64.849 + }
64.850 + }
64.851 +
64.852 +
64.853 + /**
64.854 + * Closes the input stream.
64.855 + */
64.856 + public final void yyclose() throws java.io.IOException {
64.857 + zzAtEOF = true; /* indicate end of file */
64.858 + zzEndRead = zzStartRead; /* invalidate buffer */
64.859 +
64.860 + if (zzReader != null)
64.861 + zzReader.close();
64.862 + }
64.863 +
64.864 +
64.865 + /**
64.866 + * Resets the scanner to read from a new input stream.
64.867 + * Does not close the old reader.
64.868 + *
64.869 + * All internal variables are reset, the old input stream
64.870 + * <b>cannot</b> be reused (internal buffer is discarded and lost).
64.871 + * Lexical state is set to <tt>ZZ_INITIAL</tt>.
64.872 + *
64.873 + * @param reader the new input stream
64.874 + */
64.875 + public final void yyreset(java.io.Reader reader) {
64.876 + zzReader = reader;
64.877 + zzAtBOL = true;
64.878 + zzAtEOF = false;
64.879 + zzEOFDone = false;
64.880 + zzEndRead = zzStartRead = 0;
64.881 + zzCurrentPos = zzMarkedPos = zzPushbackPos = 0;
64.882 + yyline = yychar = yycolumn = 0;
64.883 + zzLexicalState = YYINITIAL;
64.884 + }
64.885 +
64.886 +
64.887 + /**
64.888 + * Returns the current lexical state.
64.889 + */
64.890 + public final int yystate() {
64.891 + return zzLexicalState;
64.892 + }
64.893 +
64.894 +
64.895 + /**
64.896 + * Enters a new lexical state
64.897 + *
64.898 + * @param newState the new lexical state
64.899 + */
64.900 + public final void yybegin(int newState) {
64.901 + zzLexicalState = newState;
64.902 + }
64.903 +
64.904 +
64.905 + /**
64.906 + * Returns the text matched by the current regular expression.
64.907 + */
64.908 + public final String yytext() {
64.909 + return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead );
64.910 + }
64.911 +
64.912 +
64.913 + /**
64.914 + * Returns the character at position <tt>pos</tt> from the
64.915 + * matched text.
64.916 + *
64.917 + * It is equivalent to yytext().charAt(pos), but faster
64.918 + *
64.919 + * @param pos the position of the character to fetch.
64.920 + * A value from 0 to yylength()-1.
64.921 + *
64.922 + * @return the character at position pos
64.923 + */
64.924 + public final char yycharat(int pos) {
64.925 + return zzBuffer[zzStartRead+pos];
64.926 + }
64.927 +
64.928 +
64.929 + /**
64.930 + * Returns the length of the matched text region.
64.931 + */
64.932 + public final int yylength() {
64.933 + return zzMarkedPos-zzStartRead;
64.934 + }
64.935 +
64.936 +
64.937 + /**
64.938 + * Reports an error that occured while scanning.
64.939 + *
64.940 + * In a wellformed scanner (no or only correct usage of
64.941 + * yypushback(int) and a match-all fallback rule) this method
64.942 + * will only be called with things that "Can't Possibly Happen".
64.943 + * If this method is called, something is seriously wrong
64.944 + * (e.g. a JFlex bug producing a faulty scanner etc.).
64.945 + *
64.946 + * Usual syntax/scanner level error handling should be done
64.947 + * in error fallback rules.
64.948 + *
64.949 + * @param errorCode the code of the errormessage to display
64.950 + */
64.951 + private void zzScanError(int errorCode) {
64.952 + String message;
64.953 + try {
64.954 + message = ZZ_ERROR_MSG[errorCode];
64.955 + }
64.956 + catch (ArrayIndexOutOfBoundsException e) {
64.957 + message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
64.958 + }
64.959 +
64.960 + throw new Error(message);
64.961 + }
64.962 +
64.963 +
64.964 + /**
64.965 + * Pushes the specified amount of characters back into the input stream.
64.966 + *
64.967 + * They will be read again by then next call of the scanning method
64.968 + *
64.969 + * @param number the number of characters to be read again.
64.970 + * This number must not be greater than yylength()!
64.971 + */
64.972 + public void yypushback(int number) {
64.973 + if ( number > yylength() )
64.974 + zzScanError(ZZ_PUSHBACK_2BIG);
64.975 +
64.976 + zzMarkedPos -= number;
64.977 + }
64.978 +
64.979 +
64.980 + /**
64.981 + * Contains user EOF-code, which will be executed exactly once,
64.982 + * when the end of file is reached
64.983 + */
64.984 + private void zzDoEOF() throws java.io.IOException {
64.985 + if (!zzEOFDone) {
64.986 + zzEOFDone = true;
64.987 + yyclose();
64.988 + }
64.989 + }
64.990 +
64.991 +
64.992 + /**
64.993 + * Resumes scanning until the next regular expression is matched,
64.994 + * the end of input is encountered or an I/O-Error occurs.
64.995 + *
64.996 + * @return the next token
64.997 + * @exception java.io.IOException if any I/O-Error occurs
64.998 + */
64.999 + public Symbol next_token() throws java.io.IOException {
64.1000 + int zzInput;
64.1001 + int zzAction;
64.1002 +
64.1003 + // cached fields:
64.1004 + int zzCurrentPosL;
64.1005 + int zzMarkedPosL;
64.1006 + int zzEndReadL = zzEndRead;
64.1007 + char [] zzBufferL = zzBuffer;
64.1008 + char [] zzCMapL = ZZ_CMAP;
64.1009 +
64.1010 + int [] zzTransL = ZZ_TRANS;
64.1011 + int [] zzRowMapL = ZZ_ROWMAP;
64.1012 + int [] zzAttrL = ZZ_ATTRIBUTE;
64.1013 +
64.1014 + while (true) {
64.1015 + zzMarkedPosL = zzMarkedPos;
64.1016 +
64.1017 + yychar+= zzMarkedPosL-zzStartRead;
64.1018 +
64.1019 + boolean zzR = false;
64.1020 + for (zzCurrentPosL = zzStartRead; zzCurrentPosL < zzMarkedPosL;
64.1021 + zzCurrentPosL++) {
64.1022 + switch (zzBufferL[zzCurrentPosL]) {
64.1023 + case '\u000B':
64.1024 + case '\u000C':
64.1025 + case '\u0085':
64.1026 + case '\u2028':
64.1027 + case '\u2029':
64.1028 + yyline++;
64.1029 + yycolumn = 0;
64.1030 + zzR = false;
64.1031 + break;
64.1032 + case '\r':
64.1033 + yyline++;
64.1034 + yycolumn = 0;
64.1035 + zzR = true;
64.1036 + break;
64.1037 + case '\n':
64.1038 + if (zzR)
64.1039 + zzR = false;
64.1040 + else {
64.1041 + yyline++;
64.1042 + yycolumn = 0;
64.1043 + }
64.1044 + break;
64.1045 + default:
64.1046 + zzR = false;
64.1047 + yycolumn++;
64.1048 + }
64.1049 + }
64.1050 +
64.1051 + if (zzR) {
64.1052 + // peek one character ahead if it is \n (if we have counted one line too much)
64.1053 + boolean zzPeek;
64.1054 + if (zzMarkedPosL < zzEndReadL)
64.1055 + zzPeek = zzBufferL[zzMarkedPosL] == '\n';
64.1056 + else if (zzAtEOF)
64.1057 + zzPeek = false;
64.1058 + else {
64.1059 + boolean eof = zzRefill();
64.1060 + zzEndReadL = zzEndRead;
64.1061 + zzMarkedPosL = zzMarkedPos;
64.1062 + zzBufferL = zzBuffer;
64.1063 + if (eof)
64.1064 + zzPeek = false;
64.1065 + else
64.1066 + zzPeek = zzBufferL[zzMarkedPosL] == '\n';
64.1067 + }
64.1068 + if (zzPeek) yyline--;
64.1069 + }
64.1070 + zzAction = -1;
64.1071 +
64.1072 + zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
64.1073 +
64.1074 + zzState = ZZ_LEXSTATE[zzLexicalState];
64.1075 +
64.1076 +
64.1077 + zzForAction: {
64.1078 + while (true) {
64.1079 +
64.1080 + if (zzCurrentPosL < zzEndReadL)
64.1081 + zzInput = zzBufferL[zzCurrentPosL++];
64.1082 + else if (zzAtEOF) {
64.1083 + zzInput = YYEOF;
64.1084 + break zzForAction;
64.1085 + }
64.1086 + else {
64.1087 + // store back cached positions
64.1088 + zzCurrentPos = zzCurrentPosL;
64.1089 + zzMarkedPos = zzMarkedPosL;
64.1090 + boolean eof = zzRefill();
64.1091 + // get translated positions and possibly new buffer
64.1092 + zzCurrentPosL = zzCurrentPos;
64.1093 + zzMarkedPosL = zzMarkedPos;
64.1094 + zzBufferL = zzBuffer;
64.1095 + zzEndReadL = zzEndRead;
64.1096 + if (eof) {
64.1097 + zzInput = YYEOF;
64.1098 + break zzForAction;
64.1099 + }
64.1100 + else {
64.1101 + zzInput = zzBufferL[zzCurrentPosL++];
64.1102 + }
64.1103 + }
64.1104 + int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
64.1105 + if (zzNext == -1) break zzForAction;
64.1106 + zzState = zzNext;
64.1107 +
64.1108 + int zzAttributes = zzAttrL[zzState];
64.1109 + if ( (zzAttributes & 1) == 1 ) {
64.1110 + zzAction = zzState;
64.1111 + zzMarkedPosL = zzCurrentPosL;
64.1112 + if ( (zzAttributes & 8) == 8 ) break zzForAction;
64.1113 + }
64.1114 +
64.1115 + }
64.1116 + }
64.1117 +
64.1118 + // store back cached position
64.1119 + zzMarkedPos = zzMarkedPosL;
64.1120 +
64.1121 + switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
64.1122 + case 58:
64.1123 + { return createFullSymbol(AdaASTSymbols.BASED_LITERAL);
64.1124 + }
64.1125 + case 112: break;
64.1126 + case 15:
64.1127 + { return createSymbol(AdaASTSymbols.SLASH);
64.1128 + }
64.1129 + case 113: break;
64.1130 + case 47:
64.1131 + { return createFullSymbol(AdaASTSymbols.CHAR_LITERAL);
64.1132 + }
64.1133 + case 114: break;
64.1134 + case 19:
64.1135 + { return createSymbol(AdaASTSymbols.LT);
64.1136 + }
64.1137 + case 115: break;
64.1138 + case 101:
64.1139 + { return createSymbol(AdaASTSymbols.FUNCTION);
64.1140 + }
64.1141 + case 116: break;
64.1142 + case 85:
64.1143 + { return createSymbol(AdaASTSymbols.OTHERS);
64.1144 + }
64.1145 + case 117: break;
64.1146 + case 82:
64.1147 + { return createSymbol(AdaASTSymbols.WHILE);
64.1148 + }
64.1149 + case 118: break;
64.1150 + case 2:
64.1151 + { return createFullSymbol(AdaASTSymbols.DECIMAL_LITERAL);
64.1152 + }
64.1153 + case 119: break;
64.1154 + case 59:
64.1155 + { return createSymbol(AdaASTSymbols.ELSE);
64.1156 + }
64.1157 + case 120: break;
64.1158 + case 60:
64.1159 + { return createSymbol(AdaASTSymbols.EXIT);
64.1160 + }
64.1161 + case 121: break;
64.1162 + case 27:
64.1163 + { return createSymbol(AdaASTSymbols.ASSIGNMENT);
64.1164 + }
64.1165 + case 122: break;
64.1166 + case 104:
64.1167 + { return createSymbol(AdaASTSymbols.CONSTANT);
64.1168 + }
64.1169 + case 123: break;
64.1170 + case 43:
64.1171 + { return createSymbol(AdaASTSymbols.GTGT);
64.1172 + }
64.1173 + case 124: break;
64.1174 + case 97:
64.1175 + { return createSymbol(AdaASTSymbols.PRIVATE);
64.1176 + }
64.1177 + case 125: break;
64.1178 + case 14:
64.1179 + { return createSymbol(AdaASTSymbols.COMMA);
64.1180 + }
64.1181 + case 126: break;
64.1182 + case 40:
64.1183 + { return createSymbol(AdaASTSymbols.BOX);
64.1184 + }
64.1185 + case 127: break;
64.1186 + case 81:
64.1187 + { if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
64.1188 + return createSymbol(AdaASTSymbols.UNTIL);
64.1189 + }
64.1190 + else {
64.1191 + return createSymbol(AdaASTSymbols.IDENTIFIER);
64.1192 + }
64.1193 + }
64.1194 + case 128: break;
64.1195 + case 48:
64.1196 + { return createSymbol(AdaASTSymbols.ABS);
64.1197 + }
64.1198 + case 129: break;
64.1199 + case 61:
64.1200 + { return createSymbol(AdaASTSymbols.BODY);
64.1201 + }
64.1202 + case 130: break;
64.1203 + case 42:
64.1204 + { return createSymbol(AdaASTSymbols.GTEQ);
64.1205 + }
64.1206 + case 131: break;
64.1207 + case 96:
64.1208 + { return createSymbol(AdaASTSymbols.PACKAGE);
64.1209 + }
64.1210 + case 132: break;
64.1211 + case 105:
64.1212 + { return createSymbol(AdaASTSymbols.EXCEPTION);
64.1213 + }
64.1214 + case 133: break;
64.1215 + case 46:
64.1216 + { return createSymbol(AdaASTSymbols.END);
64.1217 + }
64.1218 + case 134: break;
64.1219 + case 67:
64.1220 + { return createSymbol(AdaASTSymbols.LOOP);
64.1221 + }
64.1222 + case 135: break;
64.1223 + case 55:
64.1224 + { return createSymbol(AdaASTSymbols.XOR);
64.1225 + }
64.1226 + case 136: break;
64.1227 + case 34:
64.1228 + { return createSymbol(AdaASTSymbols.IN);
64.1229 + }
64.1230 + case 137: break;
64.1231 + case 52:
64.1232 + { return createSymbol(AdaASTSymbols.REM);
64.1233 + }
64.1234 + case 138: break;
64.1235 + case 28:
64.1236 + { return createFullSymbol(AdaASTSymbols.STRING_LITERAL);
64.1237 + }
64.1238 + case 139: break;
64.1239 + case 86:
64.1240 + { return createSymbol(AdaASTSymbols.RETURN);
64.1241 + }
64.1242 + case 140: break;
64.1243 + case 31:
64.1244 + { return createSymbol(AdaASTSymbols.OR);
64.1245 + }
64.1246 + case 141: break;
64.1247 + case 16:
64.1248 + { return createSymbol(AdaASTSymbols.SEMICOLON);
64.1249 + }
64.1250 + case 142: break;
64.1251 + case 95:
64.1252 + { return createSymbol(AdaASTSymbols.SUBTYPE);
64.1253 + }
64.1254 + case 143: break;
64.1255 + case 36:
64.1256 + { return createSymbol(AdaASTSymbols.EXPON);
64.1257 + }
64.1258 + case 144: break;
64.1259 + case 56:
64.1260 + { return createSymbol(AdaASTSymbols.USE);
64.1261 + }
64.1262 + case 145: break;
64.1263 + case 26:
64.1264 + { return createSymbol(AdaASTSymbols.DOT_DOT);
64.1265 + }
64.1266 + case 146: break;
64.1267 + case 3:
64.1268 + { return createFullSymbol(AdaASTSymbols.IDENTIFIER);
64.1269 + }
64.1270 + case 147: break;
64.1271 + case 98:
64.1272 + { return createSymbol(AdaASTSymbols.LIMITED);
64.1273 + }
64.1274 + case 148: break;
64.1275 + case 91:
64.1276 + { if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
64.1277 + return createSymbol(AdaASTSymbols.ALIASED);
64.1278 + }
64.1279 + else {
64.1280 + return createSymbol(AdaASTSymbols.IDENTIFIER);
64.1281 + }
64.1282 + }
64.1283 + case 149: break;
64.1284 + case 62:
64.1285 + { return createSymbol(AdaASTSymbols.TASK);
64.1286 + }
64.1287 + case 150: break;
64.1288 + case 103:
64.1289 + { return createSymbol(AdaASTSymbols.SEPARATE);
64.1290 + }
64.1291 + case 151: break;
64.1292 + case 41:
64.1293 + { return createSymbol(AdaASTSymbols.ARROW);
64.1294 + }
64.1295 + case 152: break;
64.1296 + case 21:
64.1297 + { yypushback(yylength());
64.1298 + popState();
64.1299 + }
64.1300 + case 153: break;
64.1301 + case 109:
64.1302 + { if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005 ||
64.1303 + adaVersion == AdaLanguageOptions.AdaVersion.ADA_2012) {
64.1304 + return createSymbol(AdaASTSymbols.INTERFACE);
64.1305 + }
64.1306 + else {
64.1307 + return createFullSymbol(AdaASTSymbols.IDENTIFIER);
64.1308 + }
64.1309 + }
64.1310 + case 154: break;
64.1311 + case 68:
64.1312 + { return createSymbol(AdaASTSymbols.NULL);
64.1313 + }
64.1314 + case 155: break;
64.1315 + case 9:
64.1316 + { return createSymbol(AdaASTSymbols.TICK);
64.1317 + }
64.1318 + case 156: break;
64.1319 + case 76:
64.1320 + { return createSymbol(AdaASTSymbols.BEGIN);
64.1321 + }
64.1322 + case 157: break;
64.1323 + case 70:
64.1324 + { return createSymbol(AdaASTSymbols.WITH);
64.1325 + }
64.1326 + case 158: break;
64.1327 + case 88:
64.1328 + { if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
64.1329 + return createSymbol(AdaASTSymbols.TAGGED);
64.1330 + }
64.1331 + else {
64.1332 + return createSymbol(AdaASTSymbols.IDENTIFIER);
64.1333 + }
64.1334 + }
64.1335 + case 159: break;
64.1336 + case 4:
64.1337 + { return createSymbol(AdaASTSymbols.PLUS);
64.1338 + }
64.1339 + case 160: break;
64.1340 + case 12:
64.1341 + { return createSymbol(AdaASTSymbols.RPAREN);
64.1342 + }
64.1343 + case 161: break;
64.1344 + case 32:
64.1345 + { return createSymbol(AdaASTSymbols.IF);
64.1346 + }
64.1347 + case 162: break;
64.1348 + case 94:
64.1349 + { if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
64.1350 + return createSymbol(AdaASTSymbols.REQUEUE);
64.1351 + }
64.1352 + else {
64.1353 + return createSymbol(AdaASTSymbols.IDENTIFIER);
64.1354 + }
64.1355 + }
64.1356 + case 163: break;
64.1357 + case 24:
64.1358 + { handleLineCommentEnd();
64.1359 + yybegin(YYINITIAL);
64.1360 + }
64.1361 + case 164: break;
64.1362 + case 10:
64.1363 + { return createSymbol(AdaASTSymbols.AMP);
64.1364 + }
64.1365 + case 165: break;
64.1366 + case 22:
64.1367 + { popState();
64.1368 + return createFullSymbol(AdaASTSymbols.IDENTIFIER);
64.1369 + }
64.1370 + case 166: break;
64.1371 + case 79:
64.1372 + { return createSymbol(AdaASTSymbols.DELAY);
64.1373 + }
64.1374 + case 167: break;
64.1375 + case 64:
64.1376 + { return createSymbol(AdaASTSymbols.THEN);
64.1377 + }
64.1378 + case 168: break;
64.1379 + case 69:
64.1380 + { return createSymbol(AdaASTSymbols.GOTO);
64.1381 + }
64.1382 + case 169: break;
64.1383 + case 107:
64.1384 + { if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
64.1385 + return createSymbol(AdaASTSymbols.PROTECTED);
64.1386 + }
64.1387 + else {
64.1388 + return createSymbol(AdaASTSymbols.IDENTIFIER);
64.1389 + }
64.1390 + }
64.1391 + case 170: break;
64.1392 + case 45:
64.1393 + { return createSymbol(AdaASTSymbols.FOR);
64.1394 + }
64.1395 + case 171: break;
64.1396 + case 110:
64.1397 + { if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005 ||
64.1398 + adaVersion == AdaLanguageOptions.AdaVersion.ADA_2012) {
64.1399 + return createSymbol(AdaASTSymbols.OVERRIDING);
64.1400 + }
64.1401 + else {
64.1402 + return createFullSymbol(AdaASTSymbols.IDENTIFIER);
64.1403 + }
64.1404 + }
64.1405 + case 172: break;
64.1406 + case 108:
64.1407 + { return createSymbol(AdaASTSymbols.PROCEDURE);
64.1408 + }
64.1409 + case 173: break;
64.1410 + case 30:
64.1411 + { return createSymbol(AdaASTSymbols.OF);
64.1412 + }
64.1413 + case 174: break;
64.1414 + case 37:
64.1415 + { return createSymbol(AdaASTSymbols.INEQ);
64.1416 + }
64.1417 + case 175: break;
64.1418 + case 74:
64.1419 + { return createSymbol(AdaASTSymbols.ABORT);
64.1420 + }
64.1421 + case 176: break;
64.1422 + case 49:
64.1423 + { return createSymbol(AdaASTSymbols.ALL);
64.1424 + }
64.1425 + case 177: break;
64.1426 + case 53:
64.1427 + { return createSymbol(AdaASTSymbols.NEW);
64.1428 + }
64.1429 + case 178: break;
64.1430 + case 11:
64.1431 + { return createSymbol(AdaASTSymbols.LPAREN);
64.1432 + }
64.1433 + case 179: break;
64.1434 + case 102:
64.1435 + { if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
64.1436 + return createSymbol(AdaASTSymbols.ABSTRACT);
64.1437 + }
64.1438 + else {
64.1439 + return createSymbol(AdaASTSymbols.IDENTIFIER);
64.1440 + }
64.1441 + }
64.1442 + case 180: break;
64.1443 + case 84:
64.1444 + { return createSymbol(AdaASTSymbols.ACCEPT);
64.1445 + }
64.1446 + case 181: break;
64.1447 + case 92:
64.1448 + { return createSymbol(AdaASTSymbols.RENAMES);
64.1449 + }
64.1450 + case 182: break;
64.1451 + case 57:
64.1452 + { return createSymbol(AdaASTSymbols.MOD);
64.1453 + }
64.1454 + case 183: break;
64.1455 + case 6:
64.1456 + { pushState(ST_LOOKING_FOR_PROPERTY);
64.1457 + return createSymbol(AdaASTSymbols.DOT);
64.1458 + }
64.1459 + case 184: break;
64.1460 + case 111:
64.1461 + { if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005 ||
64.1462 + adaVersion == AdaLanguageOptions.AdaVersion.ADA_2012) {
64.1463 + return createSymbol(AdaASTSymbols.SYNCHRONIZED);
64.1464 + }
64.1465 + else {
64.1466 + return createFullSymbol(AdaASTSymbols.IDENTIFIER);
64.1467 + }
64.1468 + }
64.1469 + case 185: break;
64.1470 + case 73:
64.1471 + { return createSymbol(AdaASTSymbols.ENTRY);
64.1472 + }
64.1473 + case 186: break;
64.1474 + case 83:
64.1475 + { return createSymbol(AdaASTSymbols.ACCESS);
64.1476 + }
64.1477 + case 187: break;
64.1478 + case 93:
64.1479 + { return createSymbol(AdaASTSymbols.REVERSE);
64.1480 + }
64.1481 + case 188: break;
64.1482 + case 29:
64.1483 + { return createSymbol(AdaASTSymbols.AT);
64.1484 + }
64.1485 + case 189: break;
64.1486 + case 80:
64.1487 + { return createSymbol(AdaASTSymbols.DELTA);
64.1488 + }
64.1489 + case 190: break;
64.1490 + case 78:
64.1491 + { return createSymbol(AdaASTSymbols.RANGE);
64.1492 + }
64.1493 + case 191: break;
64.1494 + case 44:
64.1495 + { popState();
64.1496 + return createSymbol(AdaASTSymbols.DOT_DOT);
64.1497 + }
64.1498 + case 192: break;
64.1499 + case 89:
64.1500 + { return createSymbol(AdaASTSymbols.SELECT);
64.1501 + }
64.1502 + case 193: break;
64.1503 + case 100:
64.1504 + { return createSymbol(AdaASTSymbols.GENERIC);
64.1505 + }
64.1506 + case 194: break;
64.1507 + case 90:
64.1508 + { return createSymbol(AdaASTSymbols.PRAGMA);
64.1509 + }
64.1510 + case 195: break;
64.1511 + case 5:
64.1512 + { return createSymbol(AdaASTSymbols.MINUS);
64.1513 + }
64.1514 + case 196: break;
64.1515 + case 23:
64.1516 + { return createSymbol(AdaASTSymbols.DOT);
64.1517 + }
64.1518 + case 197: break;
64.1519 + case 99:
64.1520 + { return createSymbol(AdaASTSymbols.DECLARE);
64.1521 + }
64.1522 + case 198: break;
64.1523 + case 13:
64.1524 + { return createSymbol(AdaASTSymbols.STAR);
64.1525 + }
64.1526 + case 199: break;
64.1527 + case 63:
64.1528 + { return createSymbol(AdaASTSymbols.TYPE);
64.1529 + }
64.1530 + case 200: break;
64.1531 + case 50:
64.1532 + { return createSymbol(AdaASTSymbols.AND);
64.1533 + }
64.1534 + case 201: break;
64.1535 + case 39:
64.1536 + { return createSymbol(AdaASTSymbols.LTEQ);
64.1537 + }
64.1538 + case 202: break;
64.1539 + case 17:
64.1540 + { return createSymbol(AdaASTSymbols.GT);
64.1541 + }
64.1542 + case 203: break;
64.1543 + case 7:
64.1544 + { return createSymbol(AdaASTSymbols.COLON);
64.1545 + }
64.1546 + case 204: break;
64.1547 + case 20:
64.1548 + { return createSymbol(AdaASTSymbols.BAR);
64.1549 + }
64.1550 + case 205: break;
64.1551 + case 75:
64.1552 + { return createSymbol(AdaASTSymbols.ARRAY);
64.1553 + }
64.1554 + case 206: break;
64.1555 + case 66:
64.1556 + { return createSymbol(AdaASTSymbols.CASE);
64.1557 + }
64.1558 + case 207: break;
64.1559 + case 51:
64.1560 + { return createSymbol(AdaASTSymbols.OUT);
64.1561 + }
64.1562 + case 208: break;
64.1563 + case 87:
64.1564 + { return createSymbol(AdaASTSymbols.RECORD);
64.1565 + }
64.1566 + case 209: break;
64.1567 + case 18:
64.1568 + { return createSymbol(AdaASTSymbols.EQ);
64.1569 + }
64.1570 + case 210: break;
64.1571 + case 72:
64.1572 + { return createSymbol(AdaASTSymbols.ELSIF);
64.1573 + }
64.1574 + case 211: break;
64.1575 + case 54:
64.1576 + { return createSymbol(AdaASTSymbols.NOT);
64.1577 + }
64.1578 + case 212: break;
64.1579 + case 1:
64.1580 + { // do nothing
64.1581 + }
64.1582 + case 213: break;
64.1583 + case 71:
64.1584 + { return createSymbol(AdaASTSymbols.WHEN);
64.1585 + }
64.1586 + case 214: break;
64.1587 + case 35:
64.1588 + { return createSymbol(AdaASTSymbols.DO);
64.1589 + }
64.1590 + case 215: break;
64.1591 + case 38:
64.1592 + { return createSymbol(AdaASTSymbols.LTLT);
64.1593 + }
64.1594 + case 216: break;
64.1595 + case 33:
64.1596 + { return createSymbol(AdaASTSymbols.IS);
64.1597 + }
64.1598 + case 217: break;
64.1599 + case 65:
64.1600 + { if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2012) {
64.1601 + return createSymbol(AdaASTSymbols.SOME);
64.1602 + }
64.1603 + else {
64.1604 + return createFullSymbol(AdaASTSymbols.IDENTIFIER);
64.1605 + }
64.1606 + }
64.1607 + case 218: break;
64.1608 + case 25:
64.1609 + { handleCommentStart();
64.1610 + yybegin(ST_LINE_COMMENT);
64.1611 + }
64.1612 + case 219: break;
64.1613 + case 106:
64.1614 + { return createSymbol(AdaASTSymbols.TERMINATE);
64.1615 + }
64.1616 + case 220: break;
64.1617 + case 77:
64.1618 + { return createSymbol(AdaASTSymbols.RAISE);
64.1619 + }
64.1620 + case 221: break;
64.1621 + case 8:
64.1622 + {
64.1623 + }
64.1624 + case 222: break;
64.1625 + default:
64.1626 + if (zzInput == YYEOF && (zzStartRead == zzCurrentPos)) {
64.1627 + zzAtEOF = true;
64.1628 + zzDoEOF();
64.1629 + switch (zzLexicalState) {
64.1630 + case YYINITIAL: {
64.1631 + if (yytext().length() > 0) {
64.1632 + yypushback(1); // backup eof
64.1633 + comment = yytext();
64.1634 + }
64.1635 + else {
64.1636 + return createSymbol(AdaASTSymbols.EOF);
64.1637 + }
64.1638 + }
64.1639 + case 363: break;
64.1640 + default:
64.1641 + { return createSymbol(AdaASTSymbols.EOF);
64.1642 + }
64.1643 + }
64.1644 + }
64.1645 + else {
64.1646 + zzScanError(ZZ_NO_MATCH);
64.1647 + }
64.1648 + }
64.1649 + }
64.1650 + }
64.1651 +
64.1652 +
64.1653 +}
65.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/AdaLexUtilities.java Tue Oct 02 21:55:21 2012 -0400
65.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/AdaLexUtilities.java Mon Oct 15 23:38:26 2012 +0200
65.3 @@ -86,6 +86,7 @@
65.4 static {
65.5 END_PAIRS.add(AdaTokenId.PROCEDURE);
65.6 END_PAIRS.add(AdaTokenId.FUNCTION);
65.7 + END_PAIRS.add(AdaTokenId.DECLARE);
65.8 END_PAIRS.add(AdaTokenId.FOR);
65.9 END_PAIRS.add(AdaTokenId.WHILE);
65.10 END_PAIRS.add(AdaTokenId.IF);
66.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/AdaLexer.java Tue Oct 02 21:55:21 2012 -0400
66.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/AdaLexer.java Mon Oct 15 23:38:26 2012 +0200
66.3 @@ -42,7 +42,9 @@
66.4 import java.io.IOException;
66.5 import java.util.logging.Level;
66.6 import java.util.logging.Logger;
66.7 +import org.openide.filesystems.FileObject;
66.8 import org.netbeans.api.lexer.Token;
66.9 +import org.netbeans.modules.ada.project.api.AdaLanguageOptions;
66.10 import org.netbeans.spi.lexer.Lexer;
66.11 import org.netbeans.spi.lexer.LexerRestartInfo;
66.12 import org.netbeans.spi.lexer.TokenFactory;
66.13 @@ -54,11 +56,19 @@
66.14 */
66.15 public class AdaLexer implements Lexer<AdaTokenId> {
66.16
66.17 - private final Ada95SyntaxLexer scanner;
66.18 + private final AdaSyntaxLexer scanner;
66.19 private TokenFactory<AdaTokenId> tokenFactory;
66.20
66.21 private AdaLexer(LexerRestartInfo<AdaTokenId> info) {
66.22 - scanner = new Ada95SyntaxLexer(info);
66.23 + AdaLanguageOptions.AdaVersion adaVersion = AdaLanguageOptions.AdaVersion.ADA_95;
66.24 +
66.25 + FileObject fileObject = (FileObject)info.getAttributeValue(FileObject.class);
66.26 + if (fileObject != null) {
66.27 + AdaLanguageOptions.Properties languageProperties = AdaLanguageOptions.getDefault().getProperties(fileObject);
66.28 + adaVersion = languageProperties.getAdaVersion();
66.29 + }
66.30 +
66.31 + scanner = new AdaSyntaxLexer(info, adaVersion);
66.32 tokenFactory = info.tokenFactory();
66.33 }
66.34
66.35 @@ -66,6 +76,7 @@
66.36 return new AdaLexer(info);
66.37 }
66.38
66.39 + @Override
66.40 public Token<AdaTokenId> nextToken() {
66.41
66.42 try {
66.43 @@ -82,10 +93,12 @@
66.44 return null;
66.45 }
66.46
66.47 + @Override
66.48 public Object state() {
66.49 return scanner.getState();
66.50 }
66.51
66.52 + @Override
66.53 public void release() {
66.54 }
66.55
67.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
67.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/AdaSyntaxLexer.java Mon Oct 15 23:38:26 2012 +0200
67.3 @@ -0,0 +1,1838 @@
67.4 +/* The following code was generated by JFlex 1.4.3 on 23/09/10 23.52 */
67.5 +
67.6 +/*
67.7 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
67.8 + *
67.9 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
67.10 + *
67.11 + * The contents of this file are subject to the terms of either the GNU
67.12 + * General Public License Version 2 only ("GPL") or the Common
67.13 + * Development and Distribution License("CDDL") (collectively, the
67.14 + * "License"). You may not use this file except in compliance with the
67.15 + * License. You can obtain a copy of the License at
67.16 + * http://www.netbeans.org/cddl-gplv2.html
67.17 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
67.18 + * specific language governing permissions and limitations under the
67.19 + * License. When distributing the software, include this License Header
67.20 + * Notice in each file and include the License file at
67.21 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
67.22 + * particular file as subject to the "Classpath" exception as provided
67.23 + * by Sun in the GPL Version 2 section of the License file that
67.24 + * accompanied this code. If applicable, add the following below the
67.25 + * License Header, with the fields enclosed by brackets [] replaced by
67.26 + * your own identifying information:
67.27 + * "Portions Copyrighted [year] [name of copyright owner]"
67.28 + *
67.29 + * If you wish your version of this file to be governed by only the CDDL
67.30 + * or only the GPL Version 2, indicate your decision by adding
67.31 + * "[Contributor] elects to include this software in this distribution
67.32 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
67.33 + * single choice of license, a recipient has the option to distribute
67.34 + * your version of this file under either the CDDL, the GPL Version 2 or
67.35 + * to extend the choice of license to its licensees as provided above.
67.36 + * However, if you add GPL Version 2 code and therefore, elected the GPL
67.37 + * Version 2 license, then the option applies only if the new code is
67.38 + * made subject to such option by the copyright holder.
67.39 + *
67.40 + * Contributor(s):
67.41 + *
67.42 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
67.43 + */
67.44 +package org.netbeans.modules.ada.editor.lexer;
67.45 +
67.46 +import org.netbeans.spi.lexer.LexerInput;
67.47 +import org.netbeans.spi.lexer.LexerRestartInfo;
67.48 +import org.netbeans.modules.ada.project.api.AdaLanguageOptions;
67.49 +
67.50 +
67.51 +/**
67.52 + * This class is a scanner generated by
67.53 + * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
67.54 + * on 23/09/10 23.52 from the specification file
67.55 + * <tt>C:/hg-repo/release691/contrib/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/AdaSyntaxLexer.flex</tt>
67.56 + */
67.57 +public class AdaSyntaxLexer {
67.58 +
67.59 + /** This character denotes the end of file */
67.60 + public static final int YYEOF = LexerInput.EOF;
67.61 +
67.62 + /** initial size of the lookahead buffer */
67.63 + private static final int ZZ_BUFFERSIZE = 16384;
67.64 +
67.65 + /** lexical states */
67.66 + public static final int ST_HIGHLIGHTING_ERROR = 8;
67.67 + public static final int ST_LOOKING_FOR_PROPERTY = 2;
67.68 + public static final int YYINITIAL = 0;
67.69 + public static final int ST_LINE_COMMENT = 6;
67.70 + public static final int ST_CHAR_LITERAL = 4;
67.71 +
67.72 + /**
67.73 + * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
67.74 + * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
67.75 + * at the beginning of a line
67.76 + * l is of the form l = 2*k, k a non negative integer
67.77 + */
67.78 + private static final int ZZ_LEXSTATE[] = {
67.79 + 0, 0, 1, 1, 2, 2, 3, 3, 4, 4
67.80 + };
67.81 +
67.82 + /**
67.83 + * Translates characters to character classes
67.84 + */
67.85 + private static final String ZZ_CMAP_PACKED =
67.86 + "\11\0\1\13\1\15\2\0\1\17\22\0\1\47\1\62\1\14\1\10"+
67.87 + "\2\0\1\50\1\16\1\51\1\52\1\53\1\5\1\54\1\6\1\7"+
67.88 + "\1\55\12\1\1\11\1\56\1\57\1\60\1\61\2\0\1\20\1\21"+
67.89 + "\1\26\1\32\1\4\1\2\1\35\1\42\1\31\1\12\1\44\1\30"+
67.90 + "\1\40\1\33\1\22\1\27\1\45\1\23\1\25\1\24\1\37\1\43"+
67.91 + "\1\41\1\36\1\34\1\46\4\0\1\3\1\0\1\20\1\21\1\26"+
67.92 + "\1\32\1\4\1\2\1\35\1\42\1\31\1\12\1\44\1\30\1\40"+
67.93 + "\1\33\1\22\1\27\1\45\1\23\1\25\1\24\1\37\1\43\1\41"+
67.94 + "\1\36\1\34\1\46\1\0\1\62\uff83\0";
67.95 +
67.96 + /**
67.97 + * Translates characters to character classes
67.98 + */
67.99 + private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
67.100 +
67.101 + /**
67.102 + * Translates DFA states to action switch labels.
67.103 + */
67.104 + private static final int [] ZZ_ACTION = zzUnpackAction();
67.105 +
67.106 + private static final String ZZ_ACTION_PACKED_0 =
67.107 + "\5\0\1\1\1\2\2\3\1\4\1\5\1\6\1\7"+
67.108 + "\1\3\1\10\1\1\1\11\21\3\1\12\1\13\1\14"+
67.109 + "\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24"+
67.110 + "\1\25\1\26\1\27\3\30\1\31\1\32\5\0\7\3"+
67.111 + "\1\33\1\34\1\35\1\0\1\36\22\0\2\3\1\37"+
67.112 + "\5\3\1\40\1\41\25\3\1\42\1\43\1\44\1\3"+
67.113 + "\1\45\14\3\1\46\1\47\1\50\1\51\1\52\1\53"+
67.114 + "\1\54\1\55\1\0\1\56\1\2\1\0\1\2\1\0"+
67.115 + "\1\3\1\57\4\3\1\60\2\3\1\61\61\0\1\3"+
67.116 + "\1\62\2\3\1\63\1\3\1\64\4\3\1\65\4\3"+
67.117 + "\1\66\34\3\1\67\1\70\3\3\1\71\1\72\1\3"+
67.118 + "\1\73\4\3\1\0\1\74\3\3\1\75\2\3\1\0"+
67.119 + "\1\3\1\76\10\0\1\77\13\0\1\100\20\0\1\77"+
67.120 + "\17\0\1\77\4\0\1\77\7\3\1\101\12\3\1\102"+
67.121 + "\1\3\1\103\1\104\1\105\2\3\1\106\2\3\1\107"+
67.122 + "\7\3\1\110\6\3\1\111\1\3\1\112\1\3\1\113"+
67.123 + "\1\3\1\114\1\3\2\0\1\115\1\116\1\3\1\117"+
67.124 + "\1\120\3\0\1\3\5\0\1\121\33\0\1\77\20\0"+
67.125 + "\1\122\1\3\1\123\3\3\1\124\10\3\1\125\1\126"+
67.126 + "\21\3\1\127\1\130\2\3\1\131\1\0\1\132\1\74"+
67.127 + "\1\0\1\3\2\0\1\133\1\3\10\0\1\100\30\0"+
67.128 + "\1\100\3\0\1\3\1\134\1\135\2\3\1\136\1\3"+
67.129 + "\1\137\1\140\4\3\1\141\1\3\1\142\5\3\1\143"+
67.130 + "\7\3\1\144\3\3\2\0\1\3\40\0\1\3\1\145"+
67.131 + "\1\146\1\3\1\147\1\150\1\151\3\3\1\152\2\3"+
67.132 + "\1\153\2\3\1\154\1\155\1\3\1\156\1\157\1\160"+
67.133 + "\1\3\1\161\1\162\1\163\1\3\23\0\1\100\10\0"+
67.134 + "\1\164\2\3\1\165\1\3\1\166\5\3\1\167\12\0"+
67.135 + "\1\170\14\0\1\3\1\171\1\3\1\172\1\173\1\174"+
67.136 + "\1\175\1\3\25\0\1\176\2\3\24\0\2\3\15\0"+
67.137 + "\1\177\1\3\12\0\1\3\11\0\1\200\23\0";
67.138 +
67.139 + private static int [] zzUnpackAction() {
67.140 + int [] result = new int[801];
67.141 + int offset = 0;
67.142 + offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
67.143 + return result;
67.144 + }
67.145 +
67.146 + private static int zzUnpackAction(String packed, int offset, int [] result) {
67.147 + int i = 0; /* index in packed string */
67.148 + int j = offset; /* index in unpacked array */
67.149 + int l = packed.length();
67.150 + while (i < l) {
67.151 + int count = packed.charAt(i++);
67.152 + int value = packed.charAt(i++);
67.153 + do result[j++] = value; while (--count > 0);
67.154 + }
67.155 + return j;
67.156 + }
67.157 +
67.158 +
67.159 + /**
67.160 + * Translates a state to a row index in the transition table
67.161 + */
67.162 + private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
67.163 +
67.164 + private static final String ZZ_ROWMAP_PACKED_0 =
67.165 + "\0\0\0\63\0\146\0\231\0\314\0\146\0\377\0\u0132"+
67.166 + "\0\u0165\0\146\0\u0198\0\u01cb\0\u01fe\0\u0231\0\u0264\0\u0297"+
67.167 + "\0\u02ca\0\u02fd\0\u0330\0\u0363\0\u0396\0\u03c9\0\u03fc\0\u042f"+
67.168 + "\0\u0462\0\u0495\0\u04c8\0\u04fb\0\u052e\0\u0561\0\u0594\0\u05c7"+
67.169 + "\0\u05fa\0\u062d\0\146\0\146\0\146\0\u0660\0\146\0\u0693"+
67.170 + "\0\146\0\u06c6\0\u06f9\0\u072c\0\146\0\146\0\u075f\0\u0792"+
67.171 + "\0\u07c5\0\146\0\u07f8\0\146\0\u082b\0\u085e\0\u0891\0\u08c4"+
67.172 + "\0\u08f7\0\u092a\0\u095d\0\u0990\0\u09c3\0\u09f6\0\u0a29\0\u0a5c"+
67.173 + "\0\u0a8f\0\146\0\146\0\146\0\u0297\0\u0ac2\0\u0af5\0\u0b28"+
67.174 + "\0\u0b5b\0\u0b8e\0\u0bc1\0\u0bf4\0\u0c27\0\u0c5a\0\u0c8d\0\u0cc0"+
67.175 + "\0\u0cf3\0\u0d26\0\u0d59\0\u0d8c\0\u0dbf\0\u0df2\0\u0e25\0\u0e58"+
67.176 + "\0\u0e8b\0\u0ebe\0\u0231\0\u0ef1\0\u0f24\0\u0f57\0\u0f8a\0\u0fbd"+
67.177 + "\0\u0231\0\u0231\0\u0ff0\0\u1023\0\u1056\0\u1089\0\u10bc\0\u10ef"+
67.178 + "\0\u1122\0\u1155\0\u1188\0\u11bb\0\u11ee\0\u1221\0\u1254\0\u1287"+
67.179 + "\0\u12ba\0\u12ed\0\u1320\0\u1353\0\u1386\0\u13b9\0\u13ec\0\u0231"+
67.180 + "\0\u0231\0\u141f\0\u1452\0\u0231\0\u1485\0\u14b8\0\u14eb\0\u151e"+
67.181 + "\0\u1551\0\u1584\0\u15b7\0\u15ea\0\u161d\0\u1650\0\u1683\0\u16b6"+
67.182 + "\0\146\0\146\0\146\0\146\0\146\0\146\0\146\0\146"+
67.183 + "\0\u16e9\0\146\0\u171c\0\u174f\0\u1782\0\u17b5\0\u17e8\0\u0231"+
67.184 + "\0\u181b\0\u184e\0\u1881\0\u18b4\0\u18e7\0\u191a\0\u194d\0\146"+
67.185 + "\0\u1980\0\u19b3\0\u19e6\0\u1a19\0\u1a4c\0\u1a7f\0\u1ab2\0\u1ae5"+
67.186 + "\0\u1b18\0\u1b4b\0\u1b7e\0\u1bb1\0\u1be4\0\u1c17\0\u1c4a\0\u1c7d"+
67.187 + "\0\u1cb0\0\u1ce3\0\u1d16\0\u1d49\0\u1d7c\0\u1daf\0\u1de2\0\u1e15"+
67.188 + "\0\u1e48\0\u1e7b\0\u1eae\0\u1ee1\0\u1f14\0\u1f47\0\u1f7a\0\u1fad"+
67.189 + "\0\u1fe0\0\u2013\0\u2046\0\u2079\0\u20ac\0\u20df\0\u2112\0\u2145"+
67.190 + "\0\u2178\0\u21ab\0\u21de\0\u2211\0\u2244\0\u2277\0\u22aa\0\u22dd"+
67.191 + "\0\u2310\0\u2343\0\u2376\0\u23a9\0\u23dc\0\u0231\0\u240f\0\u0231"+
67.192 + "\0\u2442\0\u2475\0\u24a8\0\u24db\0\u0231\0\u250e\0\u2541\0\u2574"+
67.193 + "\0\u25a7\0\u0231\0\u25da\0\u260d\0\u2640\0\u2673\0\u26a6\0\u26d9"+
67.194 + "\0\u270c\0\u273f\0\u2772\0\u27a5\0\u27d8\0\u280b\0\u283e\0\u2871"+
67.195 + "\0\u28a4\0\u28d7\0\u290a\0\u293d\0\u2970\0\u29a3\0\u29d6\0\u2a09"+
67.196 + "\0\u2a3c\0\u2a6f\0\u2aa2\0\u2ad5\0\u2b08\0\u2b3b\0\u0231\0\u0231"+
67.197 + "\0\u2b6e\0\u2ba1\0\u2bd4\0\u0231\0\u0231\0\u2c07\0\u0231\0\u2c3a"+
67.198 + "\0\u2c6d\0\u2ca0\0\u2cd3\0\u2d06\0\u2d39\0\u2d6c\0\u2d9f\0\u2dd2"+
67.199 + "\0\u0231\0\u2e05\0\u2e38\0\u2e6b\0\u2e9e\0\u0231\0\u2ed1\0\u2f04"+
67.200 + "\0\u2f37\0\u2f6a\0\u2f9d\0\u2fd0\0\u3003\0\u3036\0\146\0\u3069"+
67.201 + "\0\u309c\0\u30cf\0\u3102\0\u3135\0\u3168\0\u319b\0\u31ce\0\u3201"+
67.202 + "\0\u3234\0\u3267\0\146\0\u329a\0\u32cd\0\u3300\0\u3333\0\u3366"+
67.203 + "\0\u3399\0\u33cc\0\u33ff\0\u3432\0\u3465\0\u3498\0\u34cb\0\u34fe"+
67.204 + "\0\u3531\0\u3564\0\u3597\0\u35ca\0\u35fd\0\u3630\0\u3663\0\u3696"+
67.205 + "\0\u36c9\0\u36fc\0\u372f\0\u3762\0\u3795\0\u37c8\0\u37fb\0\u382e"+
67.206 + "\0\u3861\0\u3894\0\u38c7\0\u38fa\0\u392d\0\u3960\0\u3993\0\u39c6"+
67.207 + "\0\u39f9\0\u3a2c\0\u3a5f\0\u3a92\0\u3ac5\0\u3af8\0\u3b2b\0\u3b5e"+
67.208 + "\0\u0231\0\u3b91\0\u3bc4\0\u3bf7\0\u3c2a\0\u3c5d\0\u3c90\0\u3cc3"+
67.209 + "\0\u3cf6\0\u3d29\0\u3d5c\0\u0231\0\u3d8f\0\u0231\0\u0231\0\u0231"+
67.210 + "\0\u3dc2\0\u3df5\0\u0231\0\u3e28\0\u3e5b\0\u0231\0\u3e8e\0\u3ec1"+
67.211 + "\0\u3ef4\0\u3f27\0\u3f5a\0\u3f8d\0\u3fc0\0\u0231\0\u3ff3\0\u4026"+
67.212 + "\0\u4059\0\u408c\0\u40bf\0\u40f2\0\u0231\0\u4125\0\u0231\0\u4158"+
67.213 + "\0\u0231\0\u418b\0\u0231\0\u41be\0\u41f1\0\u4224\0\u0231\0\u0231"+
67.214 + "\0\u4257\0\u0231\0\u0231\0\u428a\0\u42bd\0\u42f0\0\u4323\0\u4356"+
67.215 + "\0\u4389\0\u43bc\0\u43ef\0\u4422\0\146\0\u4455\0\u4488\0\u44bb"+
67.216 + "\0\u44ee\0\u4521\0\u4554\0\u4587\0\u45ba\0\u45ed\0\u4620\0\u4653"+
67.217 + "\0\u4686\0\u46b9\0\u46ec\0\u471f\0\u4752\0\u4785\0\u47b8\0\u47eb"+
67.218 + "\0\u481e\0\u4851\0\u4884\0\u48b7\0\u48ea\0\u491d\0\u4950\0\u4983"+
67.219 + "\0\u49b6\0\u49e9\0\u4a1c\0\u4a4f\0\u4a82\0\u4ab5\0\u4ae8\0\u4b1b"+
67.220 + "\0\u4b4e\0\u4b81\0\u4bb4\0\u4be7\0\u4c1a\0\u4c4d\0\u4c80\0\u4cb3"+
67.221 + "\0\u4ce6\0\u0231\0\u4d19\0\u0231\0\u4d4c\0\u4d7f\0\u4db2\0\u0231"+
67.222 + "\0\u4de5\0\u4e18\0\u4e4b\0\u4e7e\0\u4eb1\0\u4ee4\0\u4f17\0\u4f4a"+
67.223 + "\0\u0231\0\u0231\0\u4f7d\0\u4fb0\0\u4fe3\0\u5016\0\u5049\0\u507c"+
67.224 + "\0\u50af\0\u50e2\0\u5115\0\u5148\0\u517b\0\u51ae\0\u51e1\0\u5214"+
67.225 + "\0\u5247\0\u527a\0\u52ad\0\u0231\0\u0231\0\u52e0\0\u5313\0\u0231"+
67.226 + "\0\u5346\0\u0231\0\u5379\0\u53ac\0\u53df\0\u5412\0\u5445\0\146"+
67.227 + "\0\u5478\0\u54ab\0\u54de\0\u5511\0\u5544\0\u5577\0\u55aa\0\u55dd"+
67.228 + "\0\u5610\0\u4752\0\u5643\0\u5676\0\u56a9\0\u56dc\0\u570f\0\u5742"+
67.229 + "\0\u5775\0\u57a8\0\u57db\0\u580e\0\u5841\0\u5874\0\u58a7\0\u58da"+
67.230 + "\0\u590d\0\u5940\0\u5973\0\u59a6\0\u59d9\0\u5a0c\0\u5a3f\0\u5a72"+
67.231 + "\0\u5aa5\0\u5ad8\0\u5b0b\0\u5b3e\0\u5b71\0\u5ba4\0\u5bd7\0\u0231"+
67.232 + "\0\u0231\0\u5c0a\0\u5c3d\0\u0231\0\u5c70\0\u0231\0\u0231\0\u5ca3"+
67.233 + "\0\u5cd6\0\u5d09\0\u5d3c\0\u0231\0\u5d6f\0\u0231\0\u5da2\0\u5dd5"+
67.234 + "\0\u5e08\0\u5e3b\0\u5e6e\0\u0231\0\u5ea1\0\u5ed4\0\u5f07\0\u5f3a"+
67.235 + "\0\u5f6d\0\u5fa0\0\u5fd3\0\u0231\0\u6006\0\u6039\0\u606c\0\u609f"+
67.236 + "\0\u60d2\0\u6105\0\u6138\0\u616b\0\u619e\0\u61d1\0\u6204\0\u6237"+
67.237 + "\0\u626a\0\u629d\0\u62d0\0\u6303\0\u6336\0\u6369\0\u639c\0\u63cf"+
67.238 + "\0\u6402\0\u6435\0\u6468\0\u649b\0\u64ce\0\u6501\0\u6534\0\u6567"+
67.239 + "\0\u659a\0\u65cd\0\u6600\0\u6633\0\u6666\0\u6699\0\u66cc\0\u66ff"+
67.240 + "\0\u6732\0\u6765\0\u6798\0\u0231\0\u0231\0\u67cb\0\u0231\0\u0231"+
67.241 + "\0\u0231\0\u67fe\0\u6831\0\u6864\0\u0231\0\u6897\0\u68ca\0\u0231"+
67.242 + "\0\u68fd\0\u6930\0\u0231\0\u0231\0\u6963\0\u0231\0\u0231\0\u0231"+
67.243 + "\0\u6996\0\u0231\0\146\0\146\0\u69c9\0\u69fc\0\u6a2f\0\u6a62"+
67.244 + "\0\u6a95\0\u6ac8\0\u6afb\0\u6b2e\0\u6b61\0\u6b94\0\u6bc7\0\u6bfa"+
67.245 + "\0\u6c2d\0\u6c60\0\u6c93\0\u6cc6\0\u6cf9\0\u6d2c\0\u6d5f\0\u6d92"+
67.246 + "\0\u6dc5\0\u6df8\0\u6e2b\0\u6e5e\0\u6e91\0\u6ec4\0\u6ef7\0\u6f2a"+
67.247 + "\0\u6f5d\0\u0231\0\u6f90\0\u6fc3\0\u0231\0\u6ff6\0\u0231\0\u7029"+
67.248 + "\0\u705c\0\u708f\0\u70c2\0\u70f5\0\u0231\0\u7128\0\u715b\0\u718e"+
67.249 + "\0\u71c1\0\u71f4\0\u7227\0\u725a\0\u728d\0\u72c0\0\u72f3\0\146"+
67.250 + "\0\u7326\0\u7359\0\u738c\0\u73bf\0\u73f2\0\u7425\0\u7458\0\u748b"+
67.251 + "\0\u74be\0\u74f1\0\u7524\0\u7557\0\u758a\0\u0231\0\u75bd\0\u0231"+
67.252 + "\0\u0231\0\u0231\0\u0231\0\u75f0\0\u7623\0\u7656\0\u7689\0\u76bc"+
67.253 + "\0\u76ef\0\u7722\0\u7755\0\u7788\0\u77bb\0\u77ee\0\u7821\0\u7854"+
67.254 + "\0\u7887\0\u78ba\0\u78ed\0\u7920\0\u7953\0\u7986\0\u79b9\0\u79ec"+
67.255 + "\0\u7a1f\0\u0231\0\u7a52\0\u7a85\0\u7ab8\0\u7aeb\0\u7b1e\0\u7b51"+
67.256 + "\0\u7b84\0\u7bb7\0\u7bea\0\u7c1d\0\u7c50\0\u7c83\0\u7cb6\0\u7ce9"+
67.257 + "\0\u7d1c\0\u7d4f\0\u7d82\0\u7db5\0\u7de8\0\u7e1b\0\u7e4e\0\u7e81"+
67.258 + "\0\u7eb4\0\u7ee7\0\u7f1a\0\u7f4d\0\u7f80\0\u7fb3\0\u7fe6\0\u8019"+
67.259 + "\0\u804c\0\u807f\0\u80b2\0\u80e5\0\u8118\0\u814b\0\u817e\0\u0231"+
67.260 + "\0\u81b1\0\u81e4\0\u8217\0\u824a\0\u827d\0\u82b0\0\u82e3\0\u8316"+
67.261 + "\0\u8349\0\u837c\0\u83af\0\u83e2\0\u8415\0\u8448\0\u847b\0\u84ae"+
67.262 + "\0\u84e1\0\u8514\0\u8547\0\u857a\0\u85ad\0\u0231\0\u85e0\0\u8613"+
67.263 + "\0\u8646\0\u8679\0\u86ac\0\u86df\0\u8712\0\u8745\0\u8778\0\u87ab"+
67.264 + "\0\u87de\0\u8811\0\u8844\0\u8877\0\u88aa\0\u88dd\0\u8910\0\u8943"+
67.265 + "\0\u8976";
67.266 +
67.267 + private static int [] zzUnpackRowMap() {
67.268 + int [] result = new int[801];
67.269 + int offset = 0;
67.270 + offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
67.271 + return result;
67.272 + }
67.273 +
67.274 + private static int zzUnpackRowMap(String packed, int offset, int [] result) {
67.275 + int i = 0; /* index in packed string */
67.276 + int j = offset; /* index in unpacked array */
67.277 + int l = packed.length();
67.278 + while (i < l) {
67.279 + int high = packed.charAt(i++) << 16;
67.280 + result[j++] = high | packed.charAt(i++);
67.281 + }
67.282 + return j;
67.283 + }
67.284 +
67.285 + /**
67.286 + * The transition table of the DFA
67.287 + */
67.288 + private static final int [] ZZ_TRANS = zzUnpackTrans();
67.289 +
67.290 + private static final String ZZ_TRANS_PACKED_0 =
67.291 + "\1\6\1\7\1\10\1\6\1\11\1\12\1\13\1\14"+
67.292 + "\1\6\1\15\1\16\1\17\1\20\1\17\1\21\1\17"+
67.293 + "\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31"+
67.294 + "\1\32\1\33\1\34\1\35\1\16\1\36\1\37\1\40"+
67.295 + "\1\41\1\42\5\16\1\17\1\43\1\44\1\45\1\46"+
67.296 + "\1\47\1\50\1\51\1\52\1\53\1\54\1\55\2\56"+
67.297 + "\1\57\1\56\1\57\2\56\1\60\2\56\1\57\5\56"+
67.298 + "\27\57\14\56\63\0\15\61\1\62\1\61\1\63\43\61"+
67.299 + "\13\64\1\65\1\64\1\65\1\64\1\65\27\64\1\65"+
67.300 + "\13\64\1\0\1\7\1\0\1\66\1\67\2\0\1\70"+
67.301 + "\2\71\52\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.302 + "\1\73\1\16\1\74\5\16\1\75\6\16\1\76\7\16"+
67.303 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\10\16"+
67.304 + "\1\77\2\16\1\100\2\16\1\101\10\16\22\0\1\102"+
67.305 + "\63\0\1\103\133\0\1\104\3\0\2\16\1\72\1\16"+
67.306 + "\5\0\1\16\5\0\27\16\27\0\1\17\1\0\1\17"+
67.307 + "\1\0\1\17\27\0\1\17\13\0\14\105\1\106\1\0"+
67.308 + "\45\105\2\107\1\110\1\107\1\111\10\107\1\0\2\107"+
67.309 + "\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121"+
67.310 + "\1\122\1\123\1\124\4\107\1\125\1\126\1\127\1\107"+
67.311 + "\1\130\17\107\1\0\2\16\1\72\1\16\5\0\1\16"+
67.312 + "\5\0\1\16\1\131\1\16\1\132\1\133\1\16\1\134"+
67.313 + "\1\16\1\135\2\16\1\136\13\16\15\0\2\16\1\72"+
67.314 + "\1\137\5\0\1\16\5\0\2\16\1\140\24\16\15\0"+
67.315 + "\1\16\1\141\1\72\1\16\5\0\1\16\5\0\3\16"+
67.316 + "\1\142\1\143\12\16\1\144\3\16\1\145\3\16\15\0"+
67.317 + "\2\16\1\72\1\146\5\0\1\16\5\0\1\147\26\16"+
67.318 + "\15\0\2\16\1\72\1\150\5\0\1\16\5\0\1\151"+
67.319 + "\2\16\1\152\10\16\1\153\5\16\1\154\4\16\15\0"+
67.320 + "\2\16\1\72\1\155\5\0\1\16\5\0\2\16\1\156"+
67.321 + "\11\16\1\157\2\16\1\160\7\16\15\0\2\16\1\72"+
67.322 + "\1\16\5\0\1\16\5\0\1\161\1\16\1\162\17\16"+
67.323 + "\1\163\4\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.324 + "\5\0\1\164\2\16\1\165\23\16\15\0\2\16\1\72"+
67.325 + "\1\16\5\0\1\16\5\0\2\16\1\166\6\16\1\167"+
67.326 + "\15\16\15\0\1\16\1\170\1\72\1\16\5\0\1\16"+
67.327 + "\5\0\5\16\1\171\5\16\1\172\13\16\15\0\2\16"+
67.328 + "\1\72\1\173\5\0\1\16\5\0\2\16\1\174\6\16"+
67.329 + "\1\175\15\16\15\0\2\16\1\72\1\176\5\0\1\16"+
67.330 + "\5\0\2\16\1\177\14\16\1\200\7\16\15\0\2\16"+
67.331 + "\1\72\1\201\5\0\1\16\5\0\2\16\1\202\24\16"+
67.332 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\2\16"+
67.333 + "\1\203\24\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.334 + "\5\0\5\16\1\204\5\16\1\205\13\16\15\0\2\16"+
67.335 + "\1\72\1\16\5\0\1\16\5\0\2\16\1\206\24\16"+
67.336 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\11\16"+
67.337 + "\1\207\10\16\1\210\4\16\67\0\1\211\67\0\1\212"+
67.338 + "\61\0\1\213\1\214\1\215\62\0\1\216\61\0\1\217"+
67.339 + "\1\220\2\0\2\57\1\221\1\57\5\0\1\57\5\0"+
67.340 + "\27\57\23\0\1\222\53\0\15\61\1\62\1\61\1\62"+
67.341 + "\43\61\15\0\1\62\60\0\1\65\1\0\1\65\1\0"+
67.342 + "\1\65\27\0\1\65\14\0\1\7\62\0\1\223\3\0"+
67.343 + "\2\224\55\0\1\225\62\0\2\226\1\0\1\226\13\0"+
67.344 + "\2\226\4\0\1\226\3\0\1\226\31\0\2\16\1\0"+
67.345 + "\1\16\5\0\1\16\5\0\27\16\15\0\2\16\1\72"+
67.346 + "\1\16\5\0\1\16\5\0\10\16\1\227\16\16\15\0"+
67.347 + "\2\16\1\72\1\16\5\0\1\16\5\0\3\16\1\230"+
67.348 + "\23\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.349 + "\2\16\1\231\24\16\15\0\2\16\1\72\1\16\5\0"+
67.350 + "\1\16\5\0\13\16\1\232\13\16\15\0\2\16\1\72"+
67.351 + "\1\16\5\0\1\16\5\0\5\16\1\233\21\16\15\0"+
67.352 + "\2\16\1\72\1\16\5\0\1\16\5\0\4\16\1\234"+
67.353 + "\5\16\1\235\14\16\15\0\2\16\1\72\1\16\5\0"+
67.354 + "\1\16\5\0\6\16\1\236\2\16\1\237\15\16\30\0"+
67.355 + "\1\105\64\0\1\240\62\0\1\240\3\0\1\241\1\242"+
67.356 + "\4\0\1\243\1\244\47\0\1\240\10\0\1\245\6\0"+
67.357 + "\1\246\1\0\1\247\24\0\1\250\13\0\1\240\7\0"+
67.358 + "\1\251\1\0\1\252\1\0\1\253\46\0\1\240\1\0"+
67.359 + "\1\254\1\0\1\255\6\0\1\256\47\0\1\240\20\0"+
67.360 + "\1\257\27\0\1\260\11\0\1\240\1\0\1\261\1\0"+
67.361 + "\1\262\44\0\1\263\11\0\1\240\1\0\1\264\2\0"+
67.362 + "\1\265\55\0\1\240\1\0\1\266\3\0\1\267\1\0"+
67.363 + "\1\270\2\0\1\271\5\0\1\272\1\273\26\0\1\274"+
67.364 + "\11\0\1\240\1\0\1\275\1\0\1\276\5\0\1\277"+
67.365 + "\50\0\1\240\1\0\1\300\1\0\1\301\1\302\43\0"+
67.366 + "\1\303\11\0\1\240\1\0\1\304\60\0\1\240\13\0"+
67.367 + "\1\305\1\306\4\0\1\307\26\0\1\310\11\0\1\240"+
67.368 + "\12\0\1\311\47\0\1\240\14\0\1\312\45\0\1\240"+
67.369 + "\1\0\1\313\1\0\1\314\6\0\1\315\47\0\1\240"+
67.370 + "\4\0\1\316\5\0\1\317\35\0\1\320\11\0\1\240"+
67.371 + "\1\0\1\321\43\0\2\16\1\72\1\16\5\0\1\16"+
67.372 + "\5\0\2\16\1\322\2\16\1\323\21\16\15\0\2\16"+
67.373 + "\1\72\1\16\5\0\1\16\5\0\3\16\1\324\23\16"+
67.374 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\6\16"+
67.375 + "\1\325\20\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.376 + "\5\0\10\16\1\326\1\327\15\16\15\0\2\16\1\72"+
67.377 + "\1\16\5\0\1\16\5\0\12\16\1\330\14\16\15\0"+
67.378 + "\2\16\1\72\1\16\5\0\1\16\5\0\15\16\1\331"+
67.379 + "\11\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.380 + "\2\16\1\332\7\16\1\333\14\16\15\0\2\16\1\72"+
67.381 + "\1\16\5\0\1\16\5\0\22\16\1\334\4\16\15\0"+
67.382 + "\2\16\1\72\1\16\5\0\1\16\5\0\4\16\1\335"+
67.383 + "\22\16\15\0\2\16\1\72\1\336\5\0\1\16\5\0"+
67.384 + "\27\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.385 + "\4\16\1\337\1\16\1\340\4\16\1\341\4\16\1\342"+
67.386 + "\2\16\1\343\1\16\1\344\1\16\15\0\2\16\1\72"+
67.387 + "\1\16\5\0\1\16\5\0\11\16\1\345\1\16\1\346"+
67.388 + "\13\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.389 + "\3\16\1\347\23\16\15\0\2\16\1\72\1\16\5\0"+
67.390 + "\1\16\5\0\5\16\1\350\7\16\1\351\11\16\15\0"+
67.391 + "\2\16\1\72\1\16\5\0\1\16\5\0\17\16\1\352"+
67.392 + "\7\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.393 + "\7\16\1\353\17\16\15\0\2\16\1\72\1\354\5\0"+
67.394 + "\1\16\5\0\27\16\15\0\2\16\1\72\1\16\5\0"+
67.395 + "\1\16\5\0\7\16\1\355\1\356\16\16\15\0\2\16"+
67.396 + "\1\72\1\16\5\0\1\16\5\0\20\16\1\357\6\16"+
67.397 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\13\16"+
67.398 + "\1\360\13\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.399 + "\5\0\1\16\1\361\25\16\15\0\2\16\1\72\1\16"+
67.400 + "\5\0\1\16\5\0\5\16\1\362\21\16\15\0\2\16"+
67.401 + "\1\72\1\16\5\0\1\16\5\0\13\16\1\363\13\16"+
67.402 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\1\364"+
67.403 + "\26\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.404 + "\6\16\1\365\20\16\15\0\2\16\1\72\1\16\5\0"+
67.405 + "\1\16\5\0\1\366\1\16\1\367\6\16\1\370\15\16"+
67.406 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\2\16"+
67.407 + "\1\371\24\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.408 + "\5\0\20\16\1\372\6\16\15\0\2\16\1\72\1\16"+
67.409 + "\5\0\1\16\5\0\4\16\1\373\22\16\15\0\2\16"+
67.410 + "\1\72\1\16\5\0\1\16\5\0\6\16\1\374\1\16"+
67.411 + "\1\375\16\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.412 + "\5\0\15\16\1\376\11\16\15\0\2\16\1\72\1\16"+
67.413 + "\5\0\1\16\5\0\21\16\1\377\5\16\15\0\2\16"+
67.414 + "\1\72\1\16\5\0\1\16\5\0\4\16\1\u0100\22\16"+
67.415 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\10\16"+
67.416 + "\1\u0101\16\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.417 + "\5\0\13\16\1\u0102\13\16\15\0\2\16\1\72\1\16"+
67.418 + "\5\0\1\16\5\0\4\16\1\u0103\22\16\15\0\2\16"+
67.419 + "\1\72\1\16\5\0\1\16\5\0\3\16\1\u0104\23\16"+
67.420 + "\15\0\2\16\1\72\1\u0105\5\0\1\16\5\0\27\16"+
67.421 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\4\16"+
67.422 + "\1\u0106\22\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.423 + "\5\0\12\16\1\u0107\14\16\15\0\2\16\1\72\1\16"+
67.424 + "\5\0\1\16\5\0\4\16\1\u0108\5\16\1\u0109\14\16"+
67.425 + "\15\0\2\16\1\72\1\u010a\5\0\1\16\5\0\11\16"+
67.426 + "\1\u010b\15\16\15\0\2\57\1\0\1\57\5\0\1\57"+
67.427 + "\5\0\27\57\15\0\1\223\1\0\1\224\60\0\1\223"+
67.428 + "\62\0\1\225\1\0\1\70\1\67\57\0\2\226\1\71"+
67.429 + "\1\226\2\0\1\u010c\2\u010d\6\0\2\226\4\0\1\226"+
67.430 + "\3\0\1\226\31\0\2\16\1\72\1\16\5\0\1\16"+
67.431 + "\5\0\5\16\1\u010e\21\16\15\0\2\16\1\72\1\16"+
67.432 + "\5\0\1\16\5\0\1\u010f\26\16\15\0\2\16\1\72"+
67.433 + "\1\16\5\0\1\16\5\0\6\16\1\u0110\20\16\15\0"+
67.434 + "\2\16\1\72\1\u0111\5\0\1\16\5\0\11\16\1\u0112"+
67.435 + "\15\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.436 + "\3\16\1\u0113\23\16\15\0\2\16\1\72\1\16\5\0"+
67.437 + "\1\16\5\0\27\16\1\u0114\14\0\2\16\1\72\1\u0115"+
67.438 + "\5\0\1\16\5\0\27\16\15\0\2\16\1\72\1\16"+
67.439 + "\5\0\1\16\5\0\4\16\1\u0116\22\16\37\0\1\u0117"+
67.440 + "\57\0\1\u0118\64\0\1\u0119\63\0\1\u011a\64\0\1\u011b"+
67.441 + "\61\0\1\u011c\2\0\1\u011d\53\0\1\u011e\66\0\1\u011f"+
67.442 + "\64\0\1\u0120\65\0\1\u0121\43\0\1\u0122\17\0\1\u0123"+
67.443 + "\55\0\1\u0117\67\0\1\u0124\54\0\1\u0125\62\0\1\306"+
67.444 + "\56\0\1\u0126\17\0\1\u0127\55\0\1\u0128\66\0\1\u0129"+
67.445 + "\46\0\1\u012a\74\0\1\u012b\64\0\1\u012c\25\0\1\u012d"+
67.446 + "\102\0\1\u012e\1\u012f\57\0\1\u0130\77\0\1\u0131\10\0"+
67.447 + "\1\u0117\42\0\1\u0132\54\0\1\u0133\73\0\1\u0134\61\0"+
67.448 + "\1\u0135\61\0\1\u0136\3\0\1\u0137\3\0\1\u0138\1\u0139"+
67.449 + "\42\0\1\u013a\65\0\1\u013b\64\0\1\u013c\41\0\1\u013d"+
67.450 + "\24\0\1\u013e\51\0\1\u013f\12\0\1\u0140\52\0\1\u0141"+
67.451 + "\1\0\1\u0142\41\0\1\u0143\105\0\1\u0144\53\0\1\u0128"+
67.452 + "\72\0\1\u0145\2\0\1\u0146\64\0\1\u0147\46\0\1\u0148"+
67.453 + "\4\0\1\u0149\62\0\1\u014a\4\0\1\u014b\2\0\1\u014c"+
67.454 + "\56\0\1\u014d\63\0\1\u012b\60\0\1\u014e\63\0\1\u014f"+
67.455 + "\53\0\1\u0150\67\0\1\u0151\33\0\2\16\1\72\1\16"+
67.456 + "\5\0\1\16\5\0\3\16\1\u0152\23\16\15\0\2\16"+
67.457 + "\1\72\1\16\5\0\1\16\5\0\4\16\1\u0153\22\16"+
67.458 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\1\u0154"+
67.459 + "\26\16\15\0\2\16\1\72\1\u0155\5\0\1\16\5\0"+
67.460 + "\27\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.461 + "\1\u0156\26\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.462 + "\5\0\11\16\1\u0157\15\16\15\0\2\16\1\72\1\16"+
67.463 + "\5\0\1\16\5\0\10\16\1\u0158\16\16\15\0\2\16"+
67.464 + "\1\72\1\16\5\0\1\16\5\0\14\16\1\u0159\12\16"+
67.465 + "\15\0\2\16\1\72\1\u015a\5\0\1\16\5\0\27\16"+
67.466 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\3\16"+
67.467 + "\1\u015b\23\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.468 + "\5\0\17\16\1\u015c\7\16\15\0\2\16\1\72\1\16"+
67.469 + "\5\0\1\16\5\0\2\16\1\u015d\24\16\15\0\2\16"+
67.470 + "\1\72\1\16\5\0\1\16\5\0\1\u015e\26\16\15\0"+
67.471 + "\2\16\1\72\1\u015f\5\0\1\16\5\0\27\16\15\0"+
67.472 + "\2\16\1\72\1\16\5\0\1\16\5\0\17\16\1\u0160"+
67.473 + "\7\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.474 + "\5\16\1\u0161\21\16\15\0\2\16\1\72\1\16\5\0"+
67.475 + "\1\16\5\0\15\16\1\u0162\11\16\15\0\2\16\1\72"+
67.476 + "\1\16\5\0\1\16\5\0\20\16\1\u0163\6\16\15\0"+
67.477 + "\2\16\1\72\1\16\5\0\1\16\5\0\24\16\1\u0164"+
67.478 + "\2\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.479 + "\15\16\1\u0165\11\16\15\0\2\16\1\72\1\u0166\5\0"+
67.480 + "\1\16\5\0\27\16\15\0\2\16\1\72\1\u0167\5\0"+
67.481 + "\1\16\5\0\27\16\15\0\2\16\1\72\1\16\5\0"+
67.482 + "\1\16\5\0\13\16\1\u0168\13\16\15\0\2\16\1\72"+
67.483 + "\1\16\5\0\1\16\5\0\1\u0169\26\16\15\0\2\16"+
67.484 + "\1\72\1\u016a\5\0\1\16\5\0\27\16\15\0\2\16"+
67.485 + "\1\72\1\u016b\5\0\1\16\5\0\27\16\15\0\2\16"+
67.486 + "\1\72\1\16\5\0\1\16\5\0\6\16\1\u016c\20\16"+
67.487 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\4\16"+
67.488 + "\1\u016d\22\16\15\0\2\16\1\72\1\u016e\5\0\1\16"+
67.489 + "\5\0\27\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.490 + "\5\0\5\16\1\u016f\21\16\15\0\2\16\1\72\1\16"+
67.491 + "\5\0\1\16\5\0\3\16\1\u0170\23\16\15\0\2\16"+
67.492 + "\1\72\1\16\5\0\1\16\5\0\24\16\1\u0171\2\16"+
67.493 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\15\16"+
67.494 + "\1\u0172\11\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.495 + "\5\0\4\16\1\u0173\1\16\1\u0174\20\16\15\0\2\16"+
67.496 + "\1\72\1\16\5\0\1\16\5\0\23\16\1\u0175\3\16"+
67.497 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\7\16"+
67.498 + "\1\u0176\17\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.499 + "\5\0\11\16\1\u0177\15\16\15\0\2\16\1\72\1\u0178"+
67.500 + "\5\0\1\16\5\0\27\16\15\0\2\16\1\72\1\16"+
67.501 + "\5\0\1\16\5\0\10\16\1\u0179\16\16\15\0\2\16"+
67.502 + "\1\72\1\16\5\0\1\16\5\0\1\u017a\3\16\1\u017b"+
67.503 + "\22\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.504 + "\11\16\1\u017c\15\16\15\0\2\16\1\72\1\16\5\0"+
67.505 + "\1\16\5\0\10\16\1\u017d\16\16\15\0\2\16\1\72"+
67.506 + "\1\u017e\5\0\1\16\5\0\27\16\15\0\2\16\1\72"+
67.507 + "\1\16\5\0\1\16\5\0\2\16\1\u017f\24\16\15\0"+
67.508 + "\2\16\1\72\1\16\5\0\1\16\5\0\11\16\1\u0180"+
67.509 + "\15\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.510 + "\22\16\1\u0181\4\16\15\0\2\16\1\72\1\u0182\5\0"+
67.511 + "\1\16\5\0\27\16\15\0\2\16\1\72\1\16\5\0"+
67.512 + "\1\16\5\0\13\16\1\u0183\13\16\15\0\2\16\1\72"+
67.513 + "\1\16\5\0\1\16\5\0\10\16\1\u0184\16\16\15\0"+
67.514 + "\2\u0185\1\0\1\u0185\13\0\2\u0185\4\0\1\u0185\3\0"+
67.515 + "\1\u0185\34\0\1\u0186\57\0\2\16\1\72\1\u0187\5\0"+
67.516 + "\1\16\5\0\27\16\15\0\2\16\1\72\1\16\5\0"+
67.517 + "\1\16\5\0\4\16\1\u0188\22\16\15\0\2\16\1\72"+
67.518 + "\1\16\5\0\1\16\5\0\4\16\1\u0189\22\16\15\0"+
67.519 + "\1\16\1\u018a\1\72\1\16\5\0\1\16\5\0\27\16"+
67.520 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\14\16"+
67.521 + "\1\u018b\12\16\42\0\1\u018c\1\0\1\u018d\1\u018e\32\0"+
67.522 + "\2\16\1\72\1\16\5\0\1\16\5\0\7\16\1\u018f"+
67.523 + "\17\16\20\0\1\u011f\104\0\1\u0190\56\0\1\u0191\65\0"+
67.524 + "\1\u0142\66\0\1\u0192\35\0\1\u0193\100\0\1\u0194\76\0"+
67.525 + "\1\u0195\30\0\1\u013a\113\0\1\u0196\45\0\1\u0197\65\0"+
67.526 + "\1\u0198\73\0\1\u0199\31\0\1\u019a\111\0\1\u012b\50\0"+
67.527 + "\1\u019b\77\0\1\u0117\60\0\1\u019c\67\0\1\u019d\55\0"+
67.528 + "\1\u019e\33\0\1\u019f\101\0\1\u01a0\43\0\1\u01a1\106\0"+
67.529 + "\1\u01a2\65\0\1\u01a3\55\0\1\u011f\64\0\1\u01a4\62\0"+
67.530 + "\1\u01a5\62\0\1\u01a6\66\0\1\u01a7\53\0\1\u01a8\70\0"+
67.531 + "\1\250\56\0\1\u01a9\60\0\1\u01aa\61\0\1\u01ab\67\0"+
67.532 + "\1\u01ac\63\0\1\u011f\52\0\1\u01ad\72\0\1\u01ae\65\0"+
67.533 + "\1\u01af\62\0\1\u01b0\51\0\1\u01b1\71\0\1\u01b2\66\0"+
67.534 + "\1\u01b3\47\0\1\u01b4\60\0\1\u01b5\71\0\1\u01b6\62\0"+
67.535 + "\1\u01b7\73\0\1\u01b8\62\0\1\u01b9\44\0\1\u01ba\41\0"+
67.536 + "\1\u01bb\63\0\1\u01bc\32\0\1\u01bd\47\0\1\u01be\42\0"+
67.537 + "\1\u01bf\17\0\1\u01c0\63\0\1\u01c1\66\0\1\u0126\5\0"+
67.538 + "\1\u0117\24\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.539 + "\4\16\1\u01c2\22\16\15\0\2\16\1\72\1\16\5\0"+
67.540 + "\1\16\5\0\3\16\1\u01c3\23\16\15\0\2\16\1\72"+
67.541 + "\1\16\5\0\1\16\5\0\14\16\1\u01c4\12\16\15\0"+
67.542 + "\2\16\1\72\1\16\5\0\1\16\5\0\5\16\1\u01c5"+
67.543 + "\1\16\1\u01c6\17\16\15\0\2\16\1\72\1\16\5\0"+
67.544 + "\1\16\5\0\5\16\1\u01c7\21\16\15\0\2\16\1\72"+
67.545 + "\1\16\5\0\1\16\5\0\13\16\1\u01c8\13\16\15\0"+
67.546 + "\2\16\1\72\1\u01c9\5\0\1\16\5\0\27\16\15\0"+
67.547 + "\2\16\1\72\1\16\5\0\1\16\5\0\3\16\1\u01ca"+
67.548 + "\23\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.549 + "\3\16\1\u01cb\23\16\15\0\2\16\1\72\1\16\5\0"+
67.550 + "\1\16\5\0\3\16\1\u01cc\23\16\15\0\2\16\1\72"+
67.551 + "\1\16\5\0\1\16\5\0\3\16\1\u01cd\23\16\15\0"+
67.552 + "\2\16\1\72\1\16\5\0\1\16\5\0\20\16\1\u01ce"+
67.553 + "\6\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.554 + "\3\16\1\u01cf\23\16\15\0\2\16\1\72\1\u01d0\5\0"+
67.555 + "\1\16\5\0\27\16\15\0\2\16\1\72\1\u01d1\5\0"+
67.556 + "\1\16\5\0\27\16\15\0\2\16\1\72\1\u01d2\5\0"+
67.557 + "\1\16\5\0\27\16\15\0\2\16\1\72\1\16\5\0"+
67.558 + "\1\16\5\0\11\16\1\u01d3\15\16\15\0\2\16\1\72"+
67.559 + "\1\u01d4\5\0\1\16\5\0\27\16\15\0\2\16\1\72"+
67.560 + "\1\16\5\0\1\16\5\0\3\16\1\u01d5\23\16\15\0"+
67.561 + "\2\16\1\72\1\16\5\0\1\16\5\0\6\16\1\u01d6"+
67.562 + "\20\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.563 + "\22\16\1\u01d7\4\16\15\0\2\16\1\72\1\16\5\0"+
67.564 + "\1\16\5\0\14\16\1\u01d8\12\16\15\0\2\16\1\72"+
67.565 + "\1\16\5\0\1\16\5\0\4\16\1\u01d9\22\16\15\0"+
67.566 + "\2\16\1\72\1\16\5\0\1\16\5\0\1\u01da\26\16"+
67.567 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\1\u01db"+
67.568 + "\26\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.569 + "\20\16\1\u01dc\6\16\15\0\2\16\1\72\1\u01dd\5\0"+
67.570 + "\1\16\5\0\27\16\15\0\2\16\1\72\1\u01de\5\0"+
67.571 + "\1\16\5\0\27\16\15\0\2\16\1\72\1\16\5\0"+
67.572 + "\1\16\5\0\1\u01df\26\16\15\0\2\16\1\72\1\16"+
67.573 + "\5\0\1\16\5\0\4\16\1\u01e0\22\16\15\0\2\16"+
67.574 + "\1\72\1\16\5\0\1\16\5\0\3\16\1\u01e1\11\16"+
67.575 + "\1\u01e2\11\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.576 + "\5\0\1\u01e3\26\16\15\0\2\16\1\72\1\16\5\0"+
67.577 + "\1\16\5\0\14\16\1\u01e4\12\16\15\0\2\16\1\72"+
67.578 + "\1\16\5\0\1\16\5\0\1\u01e5\26\16\15\0\2\16"+
67.579 + "\1\72\1\16\5\0\1\16\5\0\4\16\1\u01e6\22\16"+
67.580 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\3\16"+
67.581 + "\1\u01e7\23\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.582 + "\5\0\10\16\1\u01e8\16\16\15\0\2\16\1\u01e9\1\16"+
67.583 + "\5\0\1\16\5\0\27\16\15\0\2\16\1\72\1\u01ea"+
67.584 + "\5\0\1\16\5\0\27\16\15\0\2\u0185\1\u010c\1\u0185"+
67.585 + "\3\0\2\u010d\6\0\2\u0185\4\0\1\u0185\3\0\1\u0185"+
67.586 + "\31\0\1\u01eb\3\0\2\u01ec\55\0\2\16\1\72\1\16"+
67.587 + "\5\0\1\16\5\0\11\16\1\u01ed\15\16\34\0\1\u01ee"+
67.588 + "\64\0\1\u01ef\42\0\1\u01f0\61\0\2\16\1\72\1\16"+
67.589 + "\5\0\1\16\5\0\4\16\1\u01f1\22\16\40\0\1\u01c1"+
67.590 + "\61\0\1\u012b\67\0\1\u01f2\55\0\1\u01f3\72\0\1\u01f4"+
67.591 + "\62\0\1\u01f5\55\0\1\u01f4\40\0\1\u01f6\61\0\1\u01f7"+
67.592 + "\101\0\1\u01f8\71\0\1\u01f9\63\0\1\u01fa\61\0\1\u01fb"+
67.593 + "\57\0\1\u01fc\37\0\1\u01fd\77\0\1\u01fe\62\0\1\u01ff"+
67.594 + "\46\0\1\u012b\24\0\1\u0200\35\0\1\u0201\106\0\1\u011f"+
67.595 + "\63\0\1\u0200\35\0\1\u0191\13\0\1\u0202\45\0\1\u0203"+
67.596 + "\103\0\1\u0204\60\0\1\u0205\65\0\1\u012b\66\0\1\u0206"+
67.597 + "\55\0\1\u0207\61\0\1\u0208\70\0\1\u0209\55\0\1\u01c0"+
67.598 + "\42\0\1\u0195\61\0\1\u020a\103\0\1\u020b\62\0\1\u012b"+
67.599 + "\56\0\1\u011f\65\0\1\u020c\63\0\1\u020d\56\0\1\u020e"+
67.600 + "\46\0\1\u020f\107\0\1\u0210\62\0\1\u0211\56\0\1\u0212"+
67.601 + "\65\0\1\u0213\62\0\1\u0214\36\0\1\u012b\61\0\1\u0215"+
67.602 + "\121\0\1\u011f\51\0\1\u0216\32\0\2\16\1\72\1\16"+
67.603 + "\5\0\1\16\5\0\1\u0217\26\16\15\0\2\16\1\72"+
67.604 + "\1\16\5\0\1\16\5\0\5\16\1\u0218\21\16\15\0"+
67.605 + "\2\16\1\72\1\16\5\0\1\16\5\0\4\16\1\u0219"+
67.606 + "\22\16\15\0\2\16\1\72\1\u021a\5\0\1\16\5\0"+
67.607 + "\27\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.608 + "\1\u021b\26\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.609 + "\5\0\5\16\1\u021c\21\16\15\0\2\16\1\72\1\16"+
67.610 + "\5\0\1\16\5\0\11\16\1\u021d\15\16\15\0\2\16"+
67.611 + "\1\72\1\16\5\0\1\16\5\0\13\16\1\u021e\13\16"+
67.612 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\12\16"+
67.613 + "\1\u021f\14\16\15\0\2\16\1\72\1\u0220\5\0\1\16"+
67.614 + "\5\0\27\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.615 + "\5\0\5\16\1\u0221\21\16\15\0\2\16\1\72\1\16"+
67.616 + "\5\0\1\16\5\0\17\16\1\u0222\7\16\15\0\2\16"+
67.617 + "\1\72\1\16\5\0\1\16\5\0\13\16\1\u0223\13\16"+
67.618 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\12\16"+
67.619 + "\1\u0224\14\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.620 + "\5\0\1\u0225\26\16\15\0\2\16\1\72\1\16\5\0"+
67.621 + "\1\16\5\0\4\16\1\u0226\22\16\15\0\2\16\1\72"+
67.622 + "\1\16\5\0\1\16\5\0\3\16\1\u0227\23\16\15\0"+
67.623 + "\2\16\1\72\1\16\5\0\1\16\5\0\7\16\1\u0228"+
67.624 + "\17\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.625 + "\1\u0229\26\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.626 + "\5\0\6\16\1\u022a\20\16\15\0\2\16\1\72\1\16"+
67.627 + "\5\0\1\16\5\0\15\16\1\u022b\11\16\15\0\2\16"+
67.628 + "\1\72\1\16\5\0\1\16\5\0\1\u022c\26\16\15\0"+
67.629 + "\2\16\1\72\1\16\5\0\1\16\5\0\6\16\1\u022d"+
67.630 + "\20\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.631 + "\12\16\1\u022e\14\16\15\0\2\16\1\72\1\16\5\0"+
67.632 + "\1\16\5\0\4\16\1\u022f\22\16\15\0\2\16\1\72"+
67.633 + "\1\u0230\5\0\1\16\5\0\27\16\15\0\1\16\1\u0231"+
67.634 + "\1\72\1\16\5\0\1\16\5\0\27\16\15\0\2\16"+
67.635 + "\1\72\1\u0232\5\0\1\16\5\0\27\16\15\0\2\16"+
67.636 + "\1\72\1\16\5\0\1\16\5\0\3\16\1\u0233\23\16"+
67.637 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\5\16"+
67.638 + "\1\u0234\21\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.639 + "\5\0\11\16\1\u0235\15\16\15\0\2\16\1\0\1\16"+
67.640 + "\5\0\1\16\5\0\6\16\1\u0236\20\16\15\0\1\u01eb"+
67.641 + "\1\0\1\u01ec\60\0\1\u01eb\62\0\2\16\1\72\1\16"+
67.642 + "\5\0\1\16\5\0\2\16\1\u0237\24\16\41\0\1\u0238"+
67.643 + "\57\0\1\u0239\41\0\2\16\1\72\1\16\5\0\1\16"+
67.644 + "\5\0\11\16\1\u023a\15\16\36\0\1\u023b\73\0\1\u023c"+
67.645 + "\33\0\1\u023d\116\0\1\u01f4\47\0\1\u020d\100\0\1\u023e"+
67.646 + "\42\0\1\u023f\72\0\1\u023f\62\0\1\u0240\47\0\1\u0190"+
67.647 + "\44\0\1\u0241\1\0\1\u0242\20\0\1\u0243\2\0\1\u0244"+
67.648 + "\67\0\1\u0245\65\0\1\u0246\55\0\1\264\61\0\1\u0247"+
67.649 + "\51\0\1\u0248\66\0\1\u0249\60\0\1\u024a\64\0\1\u01be"+
67.650 + "\5\0\1\u024b\53\0\1\u024c\67\0\1\u024d\62\0\1\u024e"+
67.651 + "\64\0\1\u024f\50\0\1\u0250\72\0\1\u0251\71\0\1\u012b"+
67.652 + "\47\0\1\u011f\62\0\1\u0252\63\0\1\u0253\67\0\1\u0254"+
67.653 + "\54\0\1\u0255\66\0\1\u0256\34\0\1\u0257\116\0\1\u01aa"+
67.654 + "\54\0\1\u0258\7\0\1\u0259\1\0\1\u025a\41\0\1\315"+
67.655 + "\41\0\2\16\1\72\1\16\5\0\1\16\5\0\6\16"+
67.656 + "\1\u025b\20\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.657 + "\5\0\12\16\1\u025c\14\16\15\0\2\16\1\72\1\16"+
67.658 + "\5\0\1\16\5\0\13\16\1\u025d\13\16\15\0\2\16"+
67.659 + "\1\72\1\16\5\0\1\16\5\0\12\16\1\u025e\14\16"+
67.660 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\5\16"+
67.661 + "\1\u025f\21\16\15\0\2\16\1\72\1\u0260\5\0\1\16"+
67.662 + "\5\0\27\16\15\0\2\16\1\72\1\u0261\5\0\1\16"+
67.663 + "\5\0\27\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.664 + "\5\0\1\u0262\26\16\15\0\2\16\1\72\1\16\5\0"+
67.665 + "\1\16\5\0\4\16\1\u0263\22\16\15\0\2\16\1\72"+
67.666 + "\1\16\5\0\1\16\5\0\2\16\1\u0264\24\16\15\0"+
67.667 + "\2\16\1\72\1\u0265\5\0\1\16\5\0\27\16\15\0"+
67.668 + "\2\16\1\72\1\16\5\0\1\16\5\0\13\16\1\u0266"+
67.669 + "\13\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.670 + "\4\16\1\u0267\22\16\15\0\2\16\1\72\1\u0268\5\0"+
67.671 + "\1\16\5\0\27\16\15\0\2\16\1\72\1\16\5\0"+
67.672 + "\1\16\5\0\4\16\1\u0269\22\16\15\0\2\16\1\72"+
67.673 + "\1\16\5\0\1\16\5\0\17\16\1\u026a\7\16\15\0"+
67.674 + "\2\16\1\72\1\u026b\5\0\1\16\5\0\27\16\15\0"+
67.675 + "\2\16\1\72\1\16\5\0\1\16\5\0\12\16\1\u026c"+
67.676 + "\14\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.677 + "\1\u026d\26\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.678 + "\5\0\3\16\1\u026e\23\16\15\0\2\16\1\72\1\u026f"+
67.679 + "\5\0\1\16\5\0\27\16\15\0\2\16\1\72\1\16"+
67.680 + "\5\0\1\16\5\0\6\16\1\u0270\20\16\15\0\2\16"+
67.681 + "\1\72\1\16\5\0\1\16\5\0\22\16\1\u0271\4\16"+
67.682 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\13\16"+
67.683 + "\1\u0272\13\16\20\0\1\u0273\105\0\1\u0274\34\0\2\16"+
67.684 + "\1\72\1\16\5\0\1\16\5\0\2\16\1\u0275\24\16"+
67.685 + "\47\0\1\u0195\47\0\1\u0276\75\0\1\u01b3\33\0\1\320"+
67.686 + "\110\0\1\u0277\50\0\1\u0278\73\0\1\u0279\71\0\1\247"+
67.687 + "\62\0\1\u027a\42\0\1\u027b\46\0\1\u027c\61\0\1\u027d"+
67.688 + "\62\0\1\u027e\107\0\1\u0117\63\0\1\u027f\51\0\1\u0280"+
67.689 + "\46\0\1\u0281\107\0\1\u0282\53\0\1\u0283\64\0\1\u0284"+
67.690 + "\73\0\1\u0285\56\0\1\250\55\0\1\u0286\42\0\1\u0287"+
67.691 + "\122\0\1\u0288\22\0\1\u0289\103\0\1\u028a\103\0\1\u028b"+
67.692 + "\20\0\1\u028c\20\0\1\u028d\12\0\1\u028e\62\0\1\u028f"+
67.693 + "\53\0\1\u0290\51\0\1\u0291\43\0\2\16\1\72\1\16"+
67.694 + "\5\0\1\16\5\0\4\16\1\u0292\22\16\15\0\2\16"+
67.695 + "\1\72\1\16\5\0\1\16\5\0\11\16\1\u0293\15\16"+
67.696 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\4\16"+
67.697 + "\1\u0294\22\16\15\0\2\16\1\72\1\u0295\5\0\1\16"+
67.698 + "\5\0\27\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.699 + "\5\0\13\16\1\u0296\13\16\15\0\2\16\1\72\1\16"+
67.700 + "\5\0\1\16\5\0\4\16\1\u0297\22\16\15\0\2\16"+
67.701 + "\1\72\1\u0298\5\0\1\16\5\0\27\16\15\0\2\16"+
67.702 + "\1\72\1\u0299\5\0\1\16\5\0\27\16\15\0\2\16"+
67.703 + "\1\72\1\16\5\0\1\16\5\0\3\16\1\u029a\23\16"+
67.704 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\6\16"+
67.705 + "\1\u029b\20\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.706 + "\5\0\1\u029c\26\16\15\0\2\16\1\72\1\16\5\0"+
67.707 + "\1\16\5\0\13\16\1\u029d\13\16\44\0\1\u029e\36\0"+
67.708 + "\1\u0191\102\0\1\u029f\61\0\1\u02a0\57\0\1\u02a1\65\0"+
67.709 + "\1\u0141\1\0\1\u01b3\40\0\1\u02a2\104\0\1\u02a3\103\0"+
67.710 + "\1\u02a4\51\0\1\315\56\0\1\u02a5\64\0\1\u02a6\51\0"+
67.711 + "\1\u02a7\73\0\1\u011f\63\0\1\u02a8\31\0\1\u02a9\113\0"+
67.712 + "\1\u012b\60\0\1\u02aa\34\0\1\u02ab\61\0\1\u02ac\77\0"+
67.713 + "\1\u0195\46\0\1\u02ad\105\0\1\u02ae\10\0\1\u02af\62\0"+
67.714 + "\1\u02b0\42\0\1\u02b1\62\0\1\u02b2\74\0\1\u02b3\60\0"+
67.715 + "\1\u02b4\33\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.716 + "\13\16\1\u02b5\13\16\15\0\2\16\1\72\1\u02b6\5\0"+
67.717 + "\1\16\5\0\27\16\15\0\2\16\1\72\1\16\5\0"+
67.718 + "\1\16\5\0\11\16\1\u02b7\15\16\15\0\2\16\1\72"+
67.719 + "\1\16\5\0\1\16\5\0\3\16\1\u02b8\23\16\15\0"+
67.720 + "\2\16\1\72\1\16\5\0\1\16\5\0\12\16\1\u02b9"+
67.721 + "\14\16\15\0\2\16\1\72\1\u02ba\5\0\1\16\5\0"+
67.722 + "\27\16\15\0\2\16\1\72\1\u02bb\5\0\1\16\5\0"+
67.723 + "\27\16\15\0\2\16\1\72\1\16\5\0\1\16\5\0"+
67.724 + "\3\16\1\u02bc\23\16\17\0\1\u02bd\63\0\1\u013d\103\0"+
67.725 + "\1\u01b3\65\0\1\u02be\57\0\1\u02bf\1\0\1\u02c0\64\0"+
67.726 + "\1\u02c1\35\0\1\u02c2\111\0\1\u029f\53\0\1\u02c3\71\0"+
67.727 + "\1\u02c4\56\0\1\u02c5\36\0\1\u02c6\111\0\1\u02c7\34\0"+
67.728 + "\1\u02c8\15\0\1\u02c9\1\u02ca\14\0\1\u02cb\25\0\1\u02cc"+
67.729 + "\104\0\1\u02cd\66\0\1\315\51\0\1\u02ce\75\0\1\u02cf"+
67.730 + "\64\0\1\u01be\31\0\1\u02d0\17\0\1\u02d1\75\0\1\u01be"+
67.731 + "\24\0\2\16\1\72\1\16\5\0\1\16\5\0\15\16"+
67.732 + "\1\u02d2\11\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.733 + "\5\0\26\16\1\u02d3\15\0\2\16\1\72\1\16\5\0"+
67.734 + "\1\16\5\0\1\u02d4\26\16\40\0\1\u02d5\66\0\1\u0195"+
67.735 + "\63\0\1\u02d6\53\0\1\u02d7\106\0\1\u02d8\37\0\1\u02d9"+
67.736 + "\42\0\1\u02da\62\0\1\u02db\77\0\1\u02dc\65\0\1\u02dd"+
67.737 + "\42\0\1\u02de\117\0\1\u02df\65\0\1\u02e0\37\0\1\u02e1"+
67.738 + "\1\0\1\u02e2\60\0\1\u02e3\73\0\1\u02e4\62\0\1\u02e5"+
67.739 + "\61\0\1\u02e6\56\0\1\u02e7\41\0\1\u02e8\121\0\1\u012b"+
67.740 + "\21\0\2\16\1\72\1\u02e9\5\0\1\16\5\0\27\16"+
67.741 + "\15\0\2\16\1\72\1\16\5\0\1\16\5\0\6\16"+
67.742 + "\1\u02ea\20\16\34\0\1\264\110\0\1\u0117\36\0\1\u02e6"+
67.743 + "\44\0\1\u02a8\100\0\1\u01aa\65\0\1\u02eb\66\0\1\u0126"+
67.744 + "\54\0\1\u01b3\61\0\1\u02ec\60\0\1\u02ed\62\0\1\u02ee"+
67.745 + "\10\0\1\u0283\35\0\1\u02ef\110\0\1\u02f0\67\0\1\u02f1"+
67.746 + "\56\0\1\u02f2\62\0\1\u02f3\57\0\1\u0216\62\0\1\u012b"+
67.747 + "\63\0\1\u02f4\62\0\1\u02f5\7\0\1\u02f6\1\0\1\u02f7"+
67.748 + "\20\0\2\16\1\72\1\16\5\0\1\16\5\0\12\16"+
67.749 + "\1\u02f8\14\16\15\0\2\16\1\72\1\16\5\0\1\16"+
67.750 + "\5\0\4\16\1\u02f9\22\16\45\0\1\u02fa\70\0\1\u02fb"+
67.751 + "\51\0\1\251\72\0\1\u011f\47\0\1\u02fc\70\0\1\u02ee"+
67.752 + "\64\0\1\u02fd\53\0\1\u02fe\41\0\1\u02ff\104\0\1\u0300"+
67.753 + "\75\0\1\u0301\53\0\1\u0302\51\0\1\u0303\43\0\2\16"+
67.754 + "\1\72\1\u0304\5\0\1\16\5\0\27\16\62\0\1\u01be"+
67.755 + "\47\0\1\u0305\31\0\1\u0306\112\0\1\u0307\61\0\1\u0308"+
67.756 + "\56\0\1\u0309\62\0\1\u030a\55\0\1\u030b\74\0\1\u030c"+
67.757 + "\60\0\1\u030d\33\0\2\16\1\72\1\16\5\0\1\16"+
67.758 + "\5\0\3\16\1\u030e\23\16\46\0\1\u01a5\60\0\1\u030f"+
67.759 + "\57\0\1\u011f\3\0\1\u0310\56\0\1\u0311\61\0\1\u0312"+
67.760 + "\56\0\1\u012b\77\0\1\u02d8\51\0\1\u0313\75\0\1\u02d8"+
67.761 + "\45\0\1\u0314\73\0\1\u0315\54\0\1\u01b4\57\0\1\u0316"+
67.762 + "\102\0\1\u02a8\61\0\1\u020d\56\0\1\u02a8\50\0\1\u0317"+
67.763 + "\57\0\1\u0318\77\0\1\u0319\31\0\1\u031a\61\0\1\u031b"+
67.764 + "\63\0\1\u031c\106\0\1\u031d\36\0\1\u031e\116\0\1\u031f"+
67.765 + "\26\0\1\u0320\111\0\1\u0321\53\0\1\u01aa\36\0";
67.766 +
67.767 + private static int [] zzUnpackTrans() {
67.768 + int [] result = new int[35241];
67.769 + int offset = 0;
67.770 + offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
67.771 + return result;
67.772 + }
67.773 +
67.774 + private static int zzUnpackTrans(String packed, int offset, int [] result) {
67.775 + int i = 0; /* index in packed string */
67.776 + int j = offset; /* index in unpacked array */
67.777 + int l = packed.length();
67.778 + while (i < l) {
67.779 + int count = packed.charAt(i++);
67.780 + int value = packed.charAt(i++);
67.781 + value--;
67.782 + do result[j++] = value; while (--count > 0);
67.783 + }
67.784 + return j;
67.785 + }
67.786 +
67.787 +
67.788 + /* error codes */
67.789 + private static final int ZZ_UNKNOWN_ERROR = 0;
67.790 + private static final int ZZ_NO_MATCH = 1;
67.791 + private static final int ZZ_PUSHBACK_2BIG = 2;
67.792 +
67.793 + /* error messages for the codes above */
67.794 + private static final String ZZ_ERROR_MSG[] = {
67.795 + "Unkown internal scanner error",
67.796 + "Error: could not match input",
67.797 + "Error: pushback value was too large"
67.798 + };
67.799 +
67.800 + /**
67.801 + * ZZ_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
67.802 + */
67.803 + private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
67.804 +
67.805 + private static final String ZZ_ATTRIBUTE_PACKED_0 =
67.806 + "\2\0\1\10\2\0\1\11\3\1\1\11\30\1\3\11"+
67.807 + "\1\1\1\11\1\1\1\11\3\1\2\11\3\1\1\11"+
67.808 + "\1\1\1\11\1\1\5\0\7\1\3\11\1\0\1\1"+
67.809 + "\22\0\60\1\10\11\1\0\1\11\1\1\1\0\1\1"+
67.810 + "\1\0\11\1\1\11\61\0\72\1\1\0\7\1\1\0"+
67.811 + "\2\1\10\0\1\11\13\0\1\11\20\0\1\1\17\0"+
67.812 + "\1\1\4\0\64\1\2\0\5\1\3\0\1\1\5\0"+
67.813 + "\1\11\33\0\1\1\20\0\47\1\1\0\2\1\1\0"+
67.814 + "\1\1\2\0\1\11\1\1\10\0\1\1\30\0\1\1"+
67.815 + "\3\0\41\1\2\0\1\1\40\0\30\1\2\11\1\1"+
67.816 + "\23\0\1\1\10\0\14\1\12\0\1\11\14\0\10\1"+
67.817 + "\25\0\3\1\24\0\2\1\15\0\2\1\12\0\1\1"+
67.818 + "\11\0\1\1\23\0";
67.819 +
67.820 + private static int [] zzUnpackAttribute() {
67.821 + int [] result = new int[801];
67.822 + int offset = 0;
67.823 + offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
67.824 + return result;
67.825 + }
67.826 +
67.827 + private static int zzUnpackAttribute(String packed, int offset, int [] result) {
67.828 + int i = 0; /* index in packed string */
67.829 + int j = offset; /* index in unpacked array */
67.830 + int l = packed.length();
67.831 + while (i < l) {
67.832 + int count = packed.charAt(i++);
67.833 + int value = packed.charAt(i++);
67.834 + do result[j++] = value; while (--count > 0);
67.835 + }
67.836 + return j;
67.837 + }
67.838 +
67.839 + /** the input device */
67.840 + private java.io.Reader zzReader;
67.841 +
67.842 + /** the current state of the DFA */
67.843 + private int zzState;
67.844 +
67.845 + /** the current lexical state */
67.846 + private int zzLexicalState = YYINITIAL;
67.847 +
67.848 + /** this buffer contains the current text to be matched and is
67.849 + the source of the yytext() string */
67.850 + private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
67.851 +
67.852 + /** the textposition at the last accepting state */
67.853 + private int zzMarkedPos;
67.854 +
67.855 + /** the textposition at the last state to be included in yytext */
67.856 + private int zzPushbackPos;
67.857 +
67.858 + /** the current text position in the buffer */
67.859 + private int zzCurrentPos;
67.860 +
67.861 + /** startRead marks the beginning of the yytext() string in the buffer */
67.862 + private int zzStartRead;
67.863 +
67.864 + /** endRead marks the last character in the buffer, that has been read
67.865 + from input */
67.866 + private int zzEndRead;
67.867 +
67.868 + /** number of newlines encountered up to the start of the matched text */
67.869 + private int yyline;
67.870 +
67.871 + /** the number of characters up to the start of the matched text */
67.872 + private int yychar;
67.873 +
67.874 + /**
67.875 + * the number of characters from the last newline up to the start of the
67.876 + * matched text
67.877 + */
67.878 + private int yycolumn;
67.879 +
67.880 + /**
67.881 + * zzAtBOL == true <=> the scanner is currently at the beginning of a line
67.882 + */
67.883 + private boolean zzAtBOL = true;
67.884 +
67.885 + /** zzAtEOF == true <=> the scanner is at the EOF */
67.886 + private boolean zzAtEOF = false;
67.887 +
67.888 + /* user code: */
67.889 +
67.890 + private StateStack stack = new StateStack();
67.891 +
67.892 + private AdaLanguageOptions.AdaVersion adaVersion = AdaLanguageOptions.AdaVersion.ADA_95;
67.893 +
67.894 + private LexerInput input;
67.895 +
67.896 + public AdaSyntaxLexer(LexerRestartInfo info, AdaLanguageOptions.AdaVersion adaVersion) {
67.897 + this.input = info.input();
67.898 + this.adaVersion = adaVersion;
67.899 +
67.900 + if(info.state() != null) {
67.901 + //reset state
67.902 + setState((LexerState)info.state());
67.903 + } else {
67.904 + //initial state
67.905 + zzState = zzLexicalState = YYINITIAL;
67.906 + stack.clear();
67.907 + }
67.908 +
67.909 + }
67.910 +
67.911 + public static final class LexerState {
67.912 + final StateStack stack;
67.913 + /** the current state of the DFA */
67.914 + final int zzState;
67.915 + /** the current lexical state */
67.916 + final int zzLexicalState;
67.917 + final AdaLanguageOptions.AdaVersion adaVersion;
67.918 +
67.919 + LexerState (StateStack stack, int zzState, int zzLexicalState, AdaLanguageOptions.AdaVersion adaVersion) {
67.920 + this.stack = stack;
67.921 + this.zzState = zzState;
67.922 + this.zzLexicalState = zzLexicalState;
67.923 + this.adaVersion = adaVersion;
67.924 + }
67.925 +
67.926 + @Override
67.927 + public boolean equals(Object obj) {
67.928 + if (this == obj) {
67.929 + return true;
67.930 + }
67.931 +
67.932 + if (obj == null || obj.getClass() != this.getClass()) {
67.933 + return false;
67.934 + }
67.935 +
67.936 + LexerState state = (LexerState) obj;
67.937 + return (this.stack.equals(state.stack)
67.938 + && (this.zzState == state.zzState)
67.939 + && (this.adaVersion == state.adaVersion)
67.940 + && (this.zzLexicalState == state.zzLexicalState));
67.941 + }
67.942 +
67.943 + @Override
67.944 + public int hashCode() {
67.945 + int hash = 11;
67.946 + hash = 31 * hash + this.zzState;
67.947 + hash = 31 * hash + this.zzLexicalState;
67.948 + hash = 31 * hash + this.stack.hashCode();
67.949 + return hash;
67.950 + }
67.951 + }
67.952 +
67.953 + public LexerState getState() {
67.954 + return new LexerState(stack.createClone(), zzState, zzLexicalState, adaVersion);
67.955 + }
67.956 +
67.957 + public void setState(LexerState state) {
67.958 + this.stack.copyFrom(state.stack);
67.959 + this.zzState = state.zzState;
67.960 + this.zzLexicalState = state.zzLexicalState;
67.961 + this.adaVersion = state.adaVersion;
67.962 + }
67.963 +
67.964 + public int[] getParamenters(){
67.965 + return new int[]{zzMarkedPos, zzPushbackPos, zzCurrentPos, zzStartRead, zzEndRead, yyline, zzLexicalState};
67.966 + }
67.967 +
67.968 + protected int getZZLexicalState() {
67.969 + return zzLexicalState;
67.970 + }
67.971 +
67.972 + protected int getZZMarkedPos() {
67.973 + return zzMarkedPos;
67.974 + }
67.975 +
67.976 + protected int getZZEndRead() {
67.977 + return zzEndRead;
67.978 + }
67.979 +
67.980 + public char[] getZZBuffer() {
67.981 + return zzBuffer;
67.982 + }
67.983 +
67.984 + protected int getZZStartRead() {
67.985 + return this.zzStartRead;
67.986 + }
67.987 +
67.988 + protected int getZZPushBackPosition() {
67.989 + return this.zzPushbackPos;
67.990 + }
67.991 +
67.992 + protected void pushBack(int i) {
67.993 + yypushback(i);
67.994 + }
67.995 +
67.996 + protected void popState() {
67.997 + yybegin(stack.popStack());
67.998 + }
67.999 +
67.1000 + protected void pushState(final int state) {
67.1001 + stack.pushStack(getZZLexicalState());
67.1002 + yybegin(state);
67.1003 + }
67.1004 +
67.1005 +
67.1006 + // End user code
67.1007 +
67.1008 +
67.1009 +
67.1010 + /**
67.1011 + * Creates a new scanner
67.1012 + * There is also a java.io.InputStream version of this constructor.
67.1013 + *
67.1014 + * @param in the java.io.Reader to read input from.
67.1015 + */
67.1016 + public AdaSyntaxLexer(java.io.Reader in) {
67.1017 + this.zzReader = in;
67.1018 + }
67.1019 +
67.1020 + /**
67.1021 + * Creates a new scanner.
67.1022 + * There is also java.io.Reader version of this constructor.
67.1023 + *
67.1024 + * @param in the java.io.Inputstream to read input from.
67.1025 + */
67.1026 + public AdaSyntaxLexer(java.io.InputStream in) {
67.1027 + this(new java.io.InputStreamReader(in));
67.1028 + }
67.1029 +
67.1030 + /**
67.1031 + * Unpacks the compressed character translation table.
67.1032 + *
67.1033 + * @param packed the packed character translation table
67.1034 + * @return the unpacked character translation table
67.1035 + */
67.1036 + private static char [] zzUnpackCMap(String packed) {
67.1037 + char [] map = new char[0x10000];
67.1038 + int i = 0; /* index in packed string */
67.1039 + int j = 0; /* index in unpacked array */
67.1040 + while (i < 172) {
67.1041 + int count = packed.charAt(i++);
67.1042 + char value = packed.charAt(i++);
67.1043 + do map[j++] = value; while (--count > 0);
67.1044 + }
67.1045 + return map;
67.1046 + }
67.1047 +
67.1048 +
67.1049 +
67.1050 + /**
67.1051 + * Closes the input stream.
67.1052 + */
67.1053 + public final void yyclose() throws java.io.IOException {
67.1054 + zzAtEOF = true; /* indicate end of file */
67.1055 + zzEndRead = zzStartRead; /* invalidate buffer */
67.1056 +
67.1057 + if (zzReader != null)
67.1058 + zzReader.close();
67.1059 + }
67.1060 +
67.1061 +
67.1062 + /**
67.1063 + * Resets the scanner to read from a new input stream.
67.1064 + * Does not close the old reader.
67.1065 + *
67.1066 + * All internal variables are reset, the old input stream
67.1067 + * <b>cannot</b> be reused (internal buffer is discarded and lost).
67.1068 + * Lexical state is set to <tt>ZZ_INITIAL</tt>.
67.1069 + *
67.1070 + * @param reader the new input stream
67.1071 + */
67.1072 + public final void yyreset(java.io.Reader reader) {
67.1073 + zzReader = reader;
67.1074 + zzAtBOL = true;
67.1075 + zzAtEOF = false;
67.1076 + zzEndRead = zzStartRead = 0;
67.1077 + zzCurrentPos = zzMarkedPos = zzPushbackPos = 0;
67.1078 + yyline = yychar = yycolumn = 0;
67.1079 + zzLexicalState = YYINITIAL;
67.1080 + }
67.1081 +
67.1082 +
67.1083 + /**
67.1084 + * Returns the current lexical state.
67.1085 + */
67.1086 + public final int yystate() {
67.1087 + return zzLexicalState;
67.1088 + }
67.1089 +
67.1090 +
67.1091 + /**
67.1092 + * Enters a new lexical state
67.1093 + *
67.1094 + * @param newState the new lexical state
67.1095 + */
67.1096 + public final void yybegin(int newState) {
67.1097 + zzLexicalState = newState;
67.1098 + }
67.1099 +
67.1100 +
67.1101 + /**
67.1102 + * Returns the text matched by the current regular expression.
67.1103 + */
67.1104 + public final String yytext() {
67.1105 + return input.readText().toString();
67.1106 + }
67.1107 +
67.1108 +
67.1109 + /**
67.1110 + * Returns the character at position <tt>pos</tt> from the
67.1111 + * matched text.
67.1112 + *
67.1113 + * It is equivalent to yytext().charAt(pos), but faster
67.1114 + *
67.1115 + * @param pos the position of the character to fetch.
67.1116 + * A value from 0 to yylength()-1.
67.1117 + *
67.1118 + * @return the character at position pos
67.1119 + */
67.1120 + public final char yycharat(int pos) {
67.1121 + return input.readText().charAt(pos);
67.1122 + }
67.1123 +
67.1124 +
67.1125 + /**
67.1126 + * Returns the length of the matched text region.
67.1127 + */
67.1128 + public final int yylength() {
67.1129 + return input.readLength();
67.1130 + }
67.1131 +
67.1132 +
67.1133 + /**
67.1134 + * Reports an error that occured while scanning.
67.1135 + *
67.1136 + * In a wellformed scanner (no or only correct usage of
67.1137 + * yypushback(int) and a match-all fallback rule) this method
67.1138 + * will only be called with things that "Can't Possibly Happen".
67.1139 + * If this method is called, something is seriously wrong
67.1140 + * (e.g. a JFlex bug producing a faulty scanner etc.).
67.1141 + *
67.1142 + * Usual syntax/scanner level error handling should be done
67.1143 + * in error fallback rules.
67.1144 + *
67.1145 + * @param errorCode the code of the errormessage to display
67.1146 + */
67.1147 + private void zzScanError(int errorCode) {
67.1148 + String message;
67.1149 + try {
67.1150 + message = ZZ_ERROR_MSG[errorCode];
67.1151 + }
67.1152 + catch (ArrayIndexOutOfBoundsException e) {
67.1153 + message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
67.1154 + }
67.1155 +
67.1156 + throw new Error(message);
67.1157 + }
67.1158 +
67.1159 +
67.1160 + /**
67.1161 + * Pushes the specified amount of characters back into the input stream.
67.1162 + *
67.1163 + * They will be read again by then next call of the scanning method
67.1164 + *
67.1165 + * @param number the number of characters to be read again.
67.1166 + * This number must not be greater than yylength()!
67.1167 + */
67.1168 + public void yypushback(int number) {
67.1169 + if ( number > yylength() )
67.1170 + zzScanError(ZZ_PUSHBACK_2BIG);
67.1171 +
67.1172 + input.backup(number);
67.1173 + //zzMarkedPos -= number;
67.1174 + }
67.1175 +
67.1176 +
67.1177 + /**
67.1178 + * Resumes scanning until the next regular expression is matched,
67.1179 + * the end of input is encountered or an I/O-Error occurs.
67.1180 + *
67.1181 + * @return the next token
67.1182 + * @exception java.io.IOException if any I/O-Error occurs
67.1183 + */
67.1184 + public AdaTokenId nextToken() throws java.io.IOException {
67.1185 + int zzInput;
67.1186 + int zzAction;
67.1187 +
67.1188 + // cached fields:
67.1189 + //int zzCurrentPosL;
67.1190 + //int zzMarkedPosL;
67.1191 + //int zzEndReadL = zzEndRead;
67.1192 + //char [] zzBufferL = zzBuffer;
67.1193 + char [] zzCMapL = ZZ_CMAP;
67.1194 +
67.1195 + int [] zzTransL = ZZ_TRANS;
67.1196 + int [] zzRowMapL = ZZ_ROWMAP;
67.1197 + int [] zzAttrL = ZZ_ATTRIBUTE;
67.1198 +
67.1199 + while (true) {
67.1200 + //zzMarkedPosL = zzMarkedPos;
67.1201 +
67.1202 + zzAction = -1;
67.1203 +
67.1204 + //zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
67.1205 + int tokenLength = 0;
67.1206 +
67.1207 + zzState = ZZ_LEXSTATE[zzLexicalState];
67.1208 +
67.1209 +
67.1210 + zzForAction: {
67.1211 + while (true) {
67.1212 + zzInput = input.read();
67.1213 +
67.1214 + if(zzInput == LexerInput.EOF) {
67.1215 + //end of input reached
67.1216 + zzInput = YYEOF;
67.1217 + break zzForAction;
67.1218 + //notice: currently LexerInput.EOF == YYEOF
67.1219 + }
67.1220 +
67.1221 + int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
67.1222 + if (zzNext == -1) break zzForAction;
67.1223 + zzState = zzNext;
67.1224 +
67.1225 + int zzAttributes = zzAttrL[zzState];
67.1226 + if ( (zzAttributes & 1) == 1 ) {
67.1227 + zzAction = zzState;
67.1228 + tokenLength = input.readLength();
67.1229 + if ( (zzAttributes & 8) == 8 ) break zzForAction;
67.1230 + }
67.1231 +
67.1232 + }
67.1233 + }
67.1234 +
67.1235 + // store back cached position
67.1236 + if(zzInput != YYEOF) {
67.1237 + input.backup(input.readLength() - tokenLength);
67.1238 + }
67.1239 +
67.1240 + switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
67.1241 + case 49:
67.1242 + { return AdaTokenId.CHAR_LITERAL;
67.1243 + }
67.1244 + case 129: break;
67.1245 + case 42:
67.1246 + { return AdaTokenId.BOX;
67.1247 + }
67.1248 + case 130: break;
67.1249 + case 51:
67.1250 + { return AdaTokenId.ALL;
67.1251 + }
67.1252 + case 131: break;
67.1253 + case 61:
67.1254 + { return AdaTokenId.ELSE;
67.1255 + }
67.1256 + case 132: break;
67.1257 + case 75:
67.1258 + { return AdaTokenId.WITH;
67.1259 + }
67.1260 + case 133: break;
67.1261 + case 128:
67.1262 + { return AdaTokenId.WIDE_CHARACTER;
67.1263 + }
67.1264 + case 134: break;
67.1265 + case 13:
67.1266 + { return AdaTokenId.STAR;
67.1267 + }
67.1268 + case 135: break;
67.1269 + case 82:
67.1270 + { return AdaTokenId.ABORT;
67.1271 + }
67.1272 + case 136: break;
67.1273 + case 89:
67.1274 + { if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
67.1275 + return AdaTokenId.UNTIL;
67.1276 + }
67.1277 + else {
67.1278 + return AdaTokenId.IDENTIFIER;
67.1279 + }
67.1280 + }
67.1281 + case 137: break;
67.1282 + case 113:
67.1283 + { return AdaTokenId.FUNCTION;
67.1284 + }
67.1285 + case 138: break;
67.1286 + case 74:
67.1287 + { return AdaTokenId.GOTO;
67.1288 + }
67.1289 + case 139: break;
67.1290 + case 69:
67.1291 + { return AdaTokenId.THEN;
67.1292 + }
67.1293 + case 140: break;
67.1294 + case 47:
67.1295 + { return AdaTokenId.FOR;
67.1296 + }
67.1297 + case 141: break;
67.1298 + case 8:
67.1299 + { return AdaTokenId.WHITESPACE;
67.1300 + }
67.1301 + case 142: break;
67.1302 + case 14:
67.1303 + { return AdaTokenId.COMMA;
67.1304 + }
67.1305 + case 143: break;
67.1306 + case 71:
67.1307 + { return AdaTokenId.CASE;
67.1308 + }
67.1309 + case 144: break;
67.1310 + case 72:
67.1311 + { return AdaTokenId.LOOP;
67.1312 + }
67.1313 + case 145: break;
67.1314 + case 122:
67.1315 + { return AdaTokenId.CHARACTER;
67.1316 + }
67.1317 + case 146: break;
67.1318 + case 91:
67.1319 + { return AdaTokenId.END_IF;
67.1320 + }
67.1321 + case 147: break;
67.1322 + case 124:
67.1323 + { return AdaTokenId.PROCEDURE;
67.1324 + }
67.1325 + case 148: break;
67.1326 + case 85:
67.1327 + { return AdaTokenId.RAISE;
67.1328 + }
67.1329 + case 149: break;
67.1330 + case 120:
67.1331 + { if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005) {
67.1332 + return AdaTokenId.ATTRIBUTE;
67.1333 + }
67.1334 + }
67.1335 + case 150: break;
67.1336 + case 103:
67.1337 + { return AdaTokenId.RENAMES;
67.1338 + }
67.1339 + case 151: break;
67.1340 + case 93:
67.1341 + { return AdaTokenId.ACCEPT;
67.1342 + }
67.1343 + case 152: break;
67.1344 + case 118:
67.1345 + { return AdaTokenId.CONSTANT;
67.1346 + }
67.1347 + case 153: break;
67.1348 + case 50:
67.1349 + { return AdaTokenId.ABS;
67.1350 + }
67.1351 + case 154: break;
67.1352 + case 107:
67.1353 + { return AdaTokenId.PACKAGE;
67.1354 + }
67.1355 + case 155: break;
67.1356 + case 119:
67.1357 + { return AdaTokenId.EXCEPTION;
67.1358 + }
67.1359 + case 156: break;
67.1360 + case 62:
67.1361 + { return AdaTokenId.EXIT;
67.1362 + }
67.1363 + case 157: break;
67.1364 + case 12:
67.1365 + { return AdaTokenId.RPAREN;
67.1366 + }
67.1367 + case 158: break;
67.1368 + case 1:
67.1369 + { yypushback(1);
67.1370 + pushState(ST_HIGHLIGHTING_ERROR);
67.1371 + }
67.1372 + case 159: break;
67.1373 + case 123:
67.1374 + { if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
67.1375 + return AdaTokenId.PROTECTED;
67.1376 + }
67.1377 + else {
67.1378 + return AdaTokenId.IDENTIFIER;
67.1379 + }
67.1380 + }
67.1381 + case 160: break;
67.1382 + case 11:
67.1383 + { return AdaTokenId.LPAREN;
67.1384 + }
67.1385 + case 161: break;
67.1386 + case 92:
67.1387 + { return AdaTokenId.ACCESS;
67.1388 + }
67.1389 + case 162: break;
67.1390 + case 52:
67.1391 + { return AdaTokenId.AND;
67.1392 + }
67.1393 + case 163: break;
67.1394 + case 96:
67.1395 + { return AdaTokenId.RECORD;
67.1396 + }
67.1397 + case 164: break;
67.1398 + case 97:
67.1399 + { if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
67.1400 + return AdaTokenId.TAGGED;
67.1401 + }
67.1402 + else {
67.1403 + return AdaTokenId.IDENTIFIER;
67.1404 + }
67.1405 + }
67.1406 + case 165: break;
67.1407 + case 6:
67.1408 + { pushState(ST_LOOKING_FOR_PROPERTY);
67.1409 + return AdaTokenId.DOT;
67.1410 + }
67.1411 + case 166: break;
67.1412 + case 67:
67.1413 + { return AdaTokenId.TRUE;
67.1414 + }
67.1415 + case 167: break;
67.1416 + case 18:
67.1417 + { return AdaTokenId.EQ;
67.1418 + }
67.1419 + case 168: break;
67.1420 + case 60:
67.1421 + { return AdaTokenId.BASED_LITERAL;
67.1422 + }
67.1423 + case 169: break;
67.1424 + case 10:
67.1425 + { return AdaTokenId.AMP;
67.1426 + }
67.1427 + case 170: break;
67.1428 + case 111:
67.1429 + { return AdaTokenId.DECLARE;
67.1430 + }
67.1431 + case 171: break;
67.1432 + case 44:
67.1433 + { return AdaTokenId.GTEQ;
67.1434 + }
67.1435 + case 172: break;
67.1436 + case 77:
67.1437 + { return AdaTokenId.FALSE;
67.1438 + }
67.1439 + case 173: break;
67.1440 + case 48:
67.1441 + { return AdaTokenId.END;
67.1442 + }
67.1443 + case 174: break;
67.1444 + case 99:
67.1445 + { return AdaTokenId.PRAGMA;
67.1446 + }
67.1447 + case 175: break;
67.1448 + case 101:
67.1449 + { if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
67.1450 + return AdaTokenId.ALIASED;
67.1451 + }
67.1452 + else {
67.1453 + return AdaTokenId.IDENTIFIER;
67.1454 + }
67.1455 + }
67.1456 + case 176: break;
67.1457 + case 41:
67.1458 + { return AdaTokenId.LTEQ;
67.1459 + }
67.1460 + case 177: break;
67.1461 + case 28:
67.1462 + { return AdaTokenId.DOT_DOT;
67.1463 + }
67.1464 + case 178: break;
67.1465 + case 20:
67.1466 + { return AdaTokenId.BAR;
67.1467 + }
67.1468 + case 179: break;
67.1469 + case 70:
67.1470 + { if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2012) {
67.1471 + return AdaTokenId.SOME;
67.1472 + }
67.1473 + else {
67.1474 + return AdaTokenId.IDENTIFIER;
67.1475 + }
67.1476 + }
67.1477 + case 180: break;
67.1478 + case 116:
67.1479 + { if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
67.1480 + return AdaTokenId.ABSTRACT;
67.1481 + }
67.1482 + else {
67.1483 + return AdaTokenId.IDENTIFIER;
67.1484 + }
67.1485 + }
67.1486 + case 181: break;
67.1487 + case 58:
67.1488 + { return AdaTokenId.USE;
67.1489 + }
67.1490 + case 182: break;
67.1491 + case 30:
67.1492 + { return AdaTokenId.STRING_LITERAL;
67.1493 + }
67.1494 + case 183: break;
67.1495 + case 79:
67.1496 + { return AdaTokenId.ELSIF;
67.1497 + }
67.1498 + case 184: break;
67.1499 + case 117:
67.1500 + { return AdaTokenId.SEPARATE;
67.1501 + }
67.1502 + case 185: break;
67.1503 + case 94:
67.1504 + { return AdaTokenId.OTHERS;
67.1505 + }
67.1506 + case 186: break;
67.1507 + case 2:
67.1508 + { return AdaTokenId.DECIMAL_LITERAL;
67.1509 + }
67.1510 + case 187: break;
67.1511 + case 78:
67.1512 + { return AdaTokenId.FLOAT;
67.1513 + }
67.1514 + case 188: break;
67.1515 + case 110:
67.1516 + { return AdaTokenId.INTEGER;
67.1517 + }
67.1518 + case 189: break;
67.1519 + case 27:
67.1520 + { pushState(ST_LINE_COMMENT);
67.1521 + return AdaTokenId.COMMENT;
67.1522 + }
67.1523 + case 190: break;
67.1524 + case 76:
67.1525 + { return AdaTokenId.WHEN;
67.1526 + }
67.1527 + case 191: break;
67.1528 + case 54:
67.1529 + { return AdaTokenId.REM;
67.1530 + }
67.1531 + case 192: break;
67.1532 + case 26:
67.1533 + { popState();
67.1534 + return AdaTokenId.WHITESPACE;
67.1535 + }
67.1536 + case 193: break;
67.1537 + case 25:
67.1538 + { return AdaTokenId.UNKNOWN_TOKEN;
67.1539 + }
67.1540 + case 194: break;
67.1541 + case 59:
67.1542 + { return AdaTokenId.MOD;
67.1543 + }
67.1544 + case 195: break;
67.1545 + case 3:
67.1546 + { return AdaTokenId.IDENTIFIER;
67.1547 + }
67.1548 + case 196: break;
67.1549 + case 15:
67.1550 + { return AdaTokenId.SLASH;
67.1551 + }
67.1552 + case 197: break;
67.1553 + case 57:
67.1554 + { return AdaTokenId.XOR;
67.1555 + }
67.1556 + case 198: break;
67.1557 + case 19:
67.1558 + { return AdaTokenId.LT;
67.1559 + }
67.1560 + case 199: break;
67.1561 + case 109:
67.1562 + { return AdaTokenId.LIMITED;
67.1563 + }
67.1564 + case 200: break;
67.1565 + case 95:
67.1566 + { return AdaTokenId.RETURN;
67.1567 + }
67.1568 + case 201: break;
67.1569 + case 16:
67.1570 + { return AdaTokenId.SEMICOLON;
67.1571 + }
67.1572 + case 202: break;
67.1573 + case 87:
67.1574 + { return AdaTokenId.DELAY;
67.1575 + }
67.1576 + case 203: break;
67.1577 + case 106:
67.1578 + { return AdaTokenId.SUBTYPE;
67.1579 + }
67.1580 + case 204: break;
67.1581 + case 4:
67.1582 + { return AdaTokenId.PLUS;
67.1583 + }
67.1584 + case 205: break;
67.1585 + case 68:
67.1586 + { return AdaTokenId.TYPE;
67.1587 + }
67.1588 + case 206: break;
67.1589 + case 38:
67.1590 + { return AdaTokenId.EXPON;
67.1591 + }
67.1592 + case 207: break;
67.1593 + case 108:
67.1594 + { return AdaTokenId.PRIVATE;
67.1595 + }
67.1596 + case 208: break;
67.1597 + case 21:
67.1598 + { yypushback(1);
67.1599 + popState();
67.1600 + }
67.1601 + case 209: break;
67.1602 + case 104:
67.1603 + { return AdaTokenId.REVERSE;
67.1604 + }
67.1605 + case 210: break;
67.1606 + case 64:
67.1607 + { if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
67.1608 + return AdaTokenId.ATTRIBUTE;
67.1609 + }
67.1610 + }
67.1611 + case 211: break;
67.1612 + case 73:
67.1613 + { return AdaTokenId.NULL;
67.1614 + }
67.1615 + case 212: break;
67.1616 + case 9:
67.1617 + { return AdaTokenId.TICK;
67.1618 + }
67.1619 + case 213: break;
67.1620 + case 24:
67.1621 + { popState();
67.1622 + return AdaTokenId.COMMENT;
67.1623 + }
67.1624 + case 214: break;
67.1625 + case 37:
67.1626 + { return AdaTokenId.DO;
67.1627 + }
67.1628 + case 215: break;
67.1629 + case 36:
67.1630 + { return AdaTokenId.IN;
67.1631 + }
67.1632 + case 216: break;
67.1633 + case 5:
67.1634 + { return AdaTokenId.MINUS;
67.1635 + }
67.1636 + case 217: break;
67.1637 + case 125:
67.1638 + { if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005 ||
67.1639 + adaVersion == AdaLanguageOptions.AdaVersion.ADA_2012) {
67.1640 + return AdaTokenId.INTERFACE;
67.1641 + }
67.1642 + else {
67.1643 + return AdaTokenId.IDENTIFIER;
67.1644 + }
67.1645 + }
67.1646 + case 218: break;
67.1647 + case 86:
67.1648 + { return AdaTokenId.RANGE;
67.1649 + }
67.1650 + case 219: break;
67.1651 + case 22:
67.1652 + { popState();
67.1653 + return AdaTokenId.IDENTIFIER;
67.1654 + }
67.1655 + case 220: break;
67.1656 + case 84:
67.1657 + { return AdaTokenId.BEGIN;
67.1658 + }
67.1659 + case 221: break;
67.1660 + case 40:
67.1661 + { return AdaTokenId.LTLT;
67.1662 + }
67.1663 + case 222: break;
67.1664 + case 23:
67.1665 + { return AdaTokenId.DOT;
67.1666 + }
67.1667 + case 223: break;
67.1668 + case 81:
67.1669 + { if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_83) {
67.1670 + return AdaTokenId.ATTRIBUTE;
67.1671 + }
67.1672 + }
67.1673 + case 224: break;
67.1674 + case 43:
67.1675 + { return AdaTokenId.ARROW;
67.1676 + }
67.1677 + case 225: break;
67.1678 + case 105:
67.1679 + { if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
67.1680 + return AdaTokenId.REQUEUE;
67.1681 + }
67.1682 + else {
67.1683 + return AdaTokenId.IDENTIFIER;
67.1684 + }
67.1685 + }
67.1686 + case 226: break;
67.1687 + case 80:
67.1688 + { return AdaTokenId.ENTRY;
67.1689 + }
67.1690 + case 227: break;
67.1691 + case 46:
67.1692 + { popState();
67.1693 + return AdaTokenId.DOT_DOT;
67.1694 + }
67.1695 + case 228: break;
67.1696 + case 63:
67.1697 + { return AdaTokenId.ATTRIBUTE;
67.1698 + }
67.1699 + case 229: break;
67.1700 + case 17:
67.1701 + { return AdaTokenId.GT;
67.1702 + }
67.1703 + case 230: break;
67.1704 + case 102:
67.1705 + { return AdaTokenId.BOOLEAN;
67.1706 + }
67.1707 + case 231: break;
67.1708 + case 32:
67.1709 + { return AdaTokenId.OF;
67.1710 + }
67.1711 + case 232: break;
67.1712 + case 55:
67.1713 + { return AdaTokenId.NEW;
67.1714 + }
67.1715 + case 233: break;
67.1716 + case 45:
67.1717 + { return AdaTokenId.GTGT;
67.1718 + }
67.1719 + case 234: break;
67.1720 + case 53:
67.1721 + { return AdaTokenId.OUT;
67.1722 + }
67.1723 + case 235: break;
67.1724 + case 33:
67.1725 + { return AdaTokenId.OR;
67.1726 + }
67.1727 + case 236: break;
67.1728 + case 39:
67.1729 + { return AdaTokenId.INEQ;
67.1730 + }
67.1731 + case 237: break;
67.1732 + case 126:
67.1733 + { if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005 ||
67.1734 + adaVersion == AdaLanguageOptions.AdaVersion.ADA_2012) {
67.1735 + return AdaTokenId.OVERRIDING;
67.1736 + }
67.1737 + else {
67.1738 + return AdaTokenId.IDENTIFIER;
67.1739 + }
67.1740 + }
67.1741 + case 238: break;
67.1742 + case 83:
67.1743 + { return AdaTokenId.ARRAY;
67.1744 + }
67.1745 + case 239: break;
67.1746 + case 35:
67.1747 + { return AdaTokenId.IS;
67.1748 + }
67.1749 + case 240: break;
67.1750 + case 90:
67.1751 + { return AdaTokenId.WHILE;
67.1752 + }
67.1753 + case 241: break;
67.1754 + case 114:
67.1755 + { return AdaTokenId.END_CASE;
67.1756 + }
67.1757 + case 242: break;
67.1758 + case 127:
67.1759 + { if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005 ||
67.1760 + adaVersion == AdaLanguageOptions.AdaVersion.ADA_2012) {
67.1761 + return AdaTokenId.SYNCHRONIZED;
67.1762 + }
67.1763 + else {
67.1764 + return AdaTokenId.IDENTIFIER;
67.1765 + }
67.1766 + }
67.1767 + case 243: break;
67.1768 + case 115:
67.1769 + { return AdaTokenId.END_LOOP;
67.1770 + }
67.1771 + case 244: break;
67.1772 + case 100:
67.1773 + { return AdaTokenId.DIGITS;
67.1774 + }
67.1775 + case 245: break;
67.1776 + case 65:
67.1777 + { return AdaTokenId.BODY;
67.1778 + }
67.1779 + case 246: break;
67.1780 + case 112:
67.1781 + { return AdaTokenId.GENERIC;
67.1782 + }
67.1783 + case 247: break;
67.1784 + case 88:
67.1785 + { return AdaTokenId.DELTA;
67.1786 + }
67.1787 + case 248: break;
67.1788 + case 7:
67.1789 + { return AdaTokenId.COLON;
67.1790 + }
67.1791 + case 249: break;
67.1792 + case 98:
67.1793 + { return AdaTokenId.SELECT;
67.1794 + }
67.1795 + case 250: break;
67.1796 + case 31:
67.1797 + { return AdaTokenId.AT;
67.1798 + }
67.1799 + case 251: break;
67.1800 + case 66:
67.1801 + { return AdaTokenId.TASK;
67.1802 + }
67.1803 + case 252: break;
67.1804 + case 29:
67.1805 + { return AdaTokenId.ASSIGNMENT;
67.1806 + }
67.1807 + case 253: break;
67.1808 + case 34:
67.1809 + { return AdaTokenId.IF;
67.1810 + }
67.1811 + case 254: break;
67.1812 + case 121:
67.1813 + { return AdaTokenId.TERMINATE;
67.1814 + }
67.1815 + case 255: break;
67.1816 + case 56:
67.1817 + { return AdaTokenId.NOT;
67.1818 + }
67.1819 + case 256: break;
67.1820 + default:
67.1821 + if (zzInput == YYEOF)
67.1822 + //zzAtEOF = true;
67.1823 + { if(input.readLength() > 0) {
67.1824 + // backup eof
67.1825 + input.backup(1);
67.1826 + //and return the text as error token
67.1827 + return AdaTokenId.UNKNOWN_TOKEN;
67.1828 + } else {
67.1829 + return null;
67.1830 + }
67.1831 + }
67.1832 +
67.1833 + else {
67.1834 + zzScanError(ZZ_NO_MATCH);
67.1835 + }
67.1836 + }
67.1837 + }
67.1838 + }
67.1839 +
67.1840 +
67.1841 +}
68.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/AdaTokenId.java Tue Oct 02 21:55:21 2012 -0400
68.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/AdaTokenId.java Mon Oct 15 23:38:26 2012 +0200
68.3 @@ -36,19 +36,26 @@
68.4 *
68.5 * Portions Copyrighted 2008 Sun Microsystems, Inc.
68.6 */
68.7 -
68.8 package org.netbeans.modules.ada.editor.lexer;
68.9
68.10 import java.util.Collection;
68.11 import java.util.EnumSet;
68.12 import java.util.HashMap;
68.13 import java.util.Map;
68.14 +import org.netbeans.api.lexer.InputAttributes;
68.15 import org.netbeans.api.lexer.Language;
68.16 +import org.netbeans.api.lexer.LanguagePath;
68.17 +import org.netbeans.api.lexer.Token;
68.18 +import org.netbeans.api.lexer.TokenHierarchy;
68.19 import org.netbeans.api.lexer.TokenId;
68.20 import org.netbeans.modules.ada.editor.AdaMimeResolver;
68.21 +import org.netbeans.spi.lexer.LanguageEmbedding;
68.22 import org.netbeans.spi.lexer.LanguageHierarchy;
68.23 import org.netbeans.spi.lexer.Lexer;
68.24 +import org.netbeans.spi.lexer.LexerInput;
68.25 import org.netbeans.spi.lexer.LexerRestartInfo;
68.26 +import org.netbeans.spi.lexer.TokenFactory;
68.27 +import org.openide.filesystems.FileObject;
68.28
68.29 /**
68.30 *
68.31 @@ -92,6 +99,7 @@
68.32 GOTO("goto", "keyword"), //NOI18N
68.33 IF("if", "keyword"), //NOI18N
68.34 IN("in", "keyword"), //NOI18N
68.35 + INTERFACE("interface", "keyword"), //NOI18N
68.36 IS("is", "keyword"), //NOI18N
68.37 LIMITED("limited", "keyword"), //NOI18N
68.38 LOOP("loop", "keyword"), //NOI18N
68.39 @@ -103,6 +111,7 @@
68.40 OR("or", "keyword"), //NOI18N
68.41 OTHERS("others", "keyword"), //NOI18N
68.42 OUT("out", "keyword"), //NOI18N
68.43 + OVERRIDING("overriding", "keyword"), //NOI18N
68.44 PACKAGE("package", "keyword"), //NOI18N
68.45 PRAGMA("pragma", "keyword"), //NOI18N
68.46 PRIVATE("private", "keyword"), //NOI18N
68.47 @@ -118,7 +127,9 @@
68.48 REQUEUE("requeue", "keyword"), //NOI18N
68.49 SELECT("select", "keyword"), //NOI18N
68.50 SEPARATE("separate", "keyword"), //NOI18N
68.51 + SOME("some", "keyword"), //NOI18N
68.52 SUBTYPE("subtype", "keyword"), //NOI18N
68.53 + SYNCHRONIZED("synchronized", "keyword"), //NOI18N
68.54 TAGGED("tagged", "keyword"), //NOI18N
68.55 TASK("task", "keyword"), //NOI18N
68.56 TERMINATE("terminate", "keyword"), //NOI18N
68.57 @@ -131,11 +142,11 @@
68.58 WITH("with", "keyword"), //NOI18N
68.59 XOR("xor", "keyword"), //NOI18N
68.60
68.61 - BOOLEAN("true", "literal"), //NOI18N
68.62 - CHARACTER("true", "literal"), //NOI18N
68.63 - FLOAT("true", "literal"), //NOI18N
68.64 - INTEGER("true", "literal"), //NOI18N
68.65 - WIDE_CHARECTER("true", "literal"), //NOI18N
68.66 + BOOLEAN("boolean", "literal"), //NOI18N
68.67 + CHARACTER("character", "literal"), //NOI18N
68.68 + FLOAT("float", "literal"), //NOI18N
68.69 + INTEGER("integer", "literal"), //NOI18N
68.70 + WIDE_CHARACTER("wide_character", "literal"), //NOI18N
68.71 TRUE("true", "literal"), //NOI18N
68.72 FALSE("false", "literal"), //NOI18N
68.73
68.74 @@ -147,7 +158,7 @@
68.75 DOT(".", "separator"), //NOI18N
68.76 DOT_DOT("..", "separator"), //NOI18N
68.77 ARROW("=>", "separator"), //NOI18N
68.78 -
68.79 +
68.80 EQ("=", "operator"), //NOI18N
68.81 GT(">", "operator"), //NOI18N
68.82 LT("<", "operator"), //NOI18N
68.83 @@ -175,7 +186,7 @@
68.84 COMMENT(null, "comment"), //NOI18N
68.85 ATTRIBUTE(null, "attribute"), //NOI18N
68.86 IDENTIFIER(null, "identifier"); //NOI18N
68.87 -
68.88 +
68.89 private final String fixedText;
68.90 private final String primaryCategory;
68.91
68.92 @@ -188,36 +199,80 @@
68.93 return fixedText;
68.94 }
68.95
68.96 + @Override
68.97 public String primaryCategory() {
68.98 return primaryCategory;
68.99 }
68.100 - private static final Language<AdaTokenId> language =
68.101 - new LanguageHierarchy<AdaTokenId>() {
68.102
68.103 - @Override
68.104 - protected Collection<AdaTokenId> createTokenIds() {
68.105 - return EnumSet.allOf(AdaTokenId.class);
68.106 - }
68.107 + private static final AdaLanguageHierarchy languageHierarchy = new AdaLanguageHierarchy();
68.108
68.109 - @Override
68.110 - protected Map<String, Collection<AdaTokenId>> createTokenCategories() {
68.111 - Map<String, Collection<AdaTokenId>> cats = new HashMap<String, Collection<AdaTokenId>>();
68.112 - return cats;
68.113 - }
68.114 + private static class AdaLanguageHierarchy extends LanguageHierarchy<AdaTokenId> {
68.115
68.116 - @Override
68.117 - protected Lexer<AdaTokenId> createLexer(LexerRestartInfo<AdaTokenId> info) {
68.118 - return AdaLexer.create(info);
68.119 - }
68.120 + public AdaLanguageHierarchy() {
68.121 + }
68.122
68.123 - @Override
68.124 - protected String mimeType() {
68.125 - return AdaMimeResolver.ADA_MIME_TYPE;
68.126 - }
68.127 + @Override
68.128 + protected Collection<AdaTokenId> createTokenIds() {
68.129 + return EnumSet.allOf(AdaTokenId.class);
68.130 + }
68.131
68.132 - }.language();
68.133 + @Override
68.134 + protected Map<String, Collection<AdaTokenId>> createTokenCategories() {
68.135 + Map<String, Collection<AdaTokenId>> cats = new HashMap<String, Collection<AdaTokenId>>();
68.136 + return cats;
68.137 + }
68.138 +
68.139 + @Override
68.140 + protected Lexer<AdaTokenId> createLexer(LexerRestartInfo<AdaTokenId> info) {
68.141 + return AdaLexer.create(info);
68.142 + }
68.143 +
68.144 + @Override
68.145 + protected String mimeType() {
68.146 + return AdaMimeResolver.ADA_MIME_TYPE;
68.147 + }
68.148 +
68.149 + @Override
68.150 + protected LanguageEmbedding<?> embedding(Token<AdaTokenId> token,
68.151 + LanguagePath languagePath, InputAttributes inputAttributes) {
68.152 + return null; // No embedding
68.153 + }
68.154 + }
68.155 +
68.156 +// private static final Language<AdaTokenId> language =
68.157 +// new LanguageHierarchy<AdaTokenId>() {
68.158 +//
68.159 +// @Override
68.160 +// protected Collection<AdaTokenId> createTokenIds() {
68.161 +// return EnumSet.allOf(AdaTokenId.class);
68.162 +// }
68.163 +//
68.164 +// @Override
68.165 +// protected Map<String, Collection<AdaTokenId>> createTokenCategories() {
68.166 +// Map<String, Collection<AdaTokenId>> cats = new HashMap<String, Collection<AdaTokenId>>();
68.167 +// return cats;
68.168 +// }
68.169 +//
68.170 +// @Override
68.171 +// protected Lexer<AdaTokenId> createLexer(LexerRestartInfo<AdaTokenId> info) {
68.172 +// return AdaLexer.create(info);
68.173 +// }
68.174 +//
68.175 +// @Override
68.176 +// protected String mimeType() {
68.177 +// return AdaMimeResolver.ADA_MIME_TYPE;
68.178 +// }
68.179 +//
68.180 +// @Override
68.181 +// protected LanguageEmbedding<?> embedding(
68.182 +// Token<AdaTokenId> token, LanguagePath languagePath,
68.183 +// InputAttributes inputAttributes) {
68.184 +// return null; // No embedding
68.185 +// }
68.186 +// }.language();
68.187
68.188 public static Language<AdaTokenId> language() {
68.189 - return language;
68.190 +// return language;
68.191 + return languageHierarchy.language();
68.192 }
68.193 }
69.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/ASTLexer.skeleton Tue Oct 02 21:55:21 2012 -0400
69.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/ASTLexer.skeleton Mon Oct 15 23:38:26 2012 +0200
69.3 @@ -70,6 +70,9 @@
69.4 /** zzAtEOF == true <=> the scanner is at the EOF */
69.5 private boolean zzAtEOF;
69.6
69.7 + /** denotes if the user-EOF-code has already been executed */
69.8 + private boolean zzEOFDone;
69.9 +
69.10 --- user class code
69.11
69.12 /**
69.13 @@ -152,6 +155,7 @@
69.14 zzReader = reader;
69.15 zzAtBOL = true;
69.16 zzAtEOF = false;
69.17 + zzEOFDone = false;
69.18 zzEndRead = zzStartRead = 0;
69.19 zzCurrentPos = zzMarkedPos = zzPushbackPos = 0;
69.20 yyline = yychar = yycolumn = 0;
70.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95ASTLexer.flex Tue Oct 02 21:55:21 2012 -0400
70.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
70.3 @@ -1,396 +0,0 @@
70.4 -/*
70.5 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
70.6 - *
70.7 - * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
70.8 - *
70.9 - * The contents of this file are subject to the terms of either the GNU
70.10 - * General Public License Version 2 only ("GPL") or the Common
70.11 - * Development and Distribution License("CDDL") (collectively, the
70.12 - * "License"). You may not use this file except in compliance with the
70.13 - * License. You can obtain a copy of the License at
70.14 - * http://www.netbeans.org/cddl-gplv2.html
70.15 - * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
70.16 - * specific language governing permissions and limitations under the
70.17 - * License. When distributing the software, include this License Header
70.18 - * Notice in each file and include the License file at
70.19 - * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
70.20 - * particular file as subject to the "Classpath" exception as provided
70.21 - * by Sun in the GPL Version 2 section of the License file that
70.22 - * accompanied this code. If applicable, add the following below the
70.23 - * License Header, with the fields enclosed by brackets [] replaced by
70.24 - * your own identifying information:
70.25 - * "Portions Copyrighted [year] [name of copyright owner]"
70.26 - *
70.27 - * If you wish your version of this file to be governed by only the CDDL
70.28 - * or only the GPL Version 2, indicate your decision by adding
70.29 - * "[Contributor] elects to include this software in this distribution
70.30 - * under the [CDDL or GPL Version 2] license." If you do not indicate a
70.31 - * single choice of license, a recipient has the option to distribute
70.32 - * your version of this file under either the CDDL, the GPL Version 2 or
70.33 - * to extend the choice of license to its licensees as provided above.
70.34 - * However, if you add GPL Version 2 code and therefore, elected the GPL
70.35 - * Version 2 license, then the option applies only if the new code is
70.36 - * made subject to such option by the copyright holder.
70.37 - *
70.38 - * Contributor(s):
70.39 - *
70.40 - * Portions Copyrighted 2008 Sun Microsystems, Inc.
70.41 - */
70.42 -package org.netbeans.modules.ada.editor.lexer;
70.43 -
70.44 -import java.util.LinkedList;
70.45 -import java.util.List;
70.46 -import org.netbeans.modules.ada.editor.AdaVersion;
70.47 -import org.netbeans.modules.ada.editor.parser.Ada95ASTSymbols;
70.48 -import org.netbeans.modules.ada.editor.ast.nodes.*;
70.49 -import java_cup.runtime.*;
70.50 -
70.51 -%%
70.52 -// Options adn declarations section
70.53 -
70.54 -%class Ada95ASTLexer
70.55 -%implements Scanner
70.56 -%type Symbol
70.57 -%function next_token
70.58 -%public
70.59 -
70.60 -%eofval{
70.61 - return createSymbol(Ada95ASTSymbols.EOF);
70.62 -%eofval}
70.63 -%eofclose
70.64 -
70.65 -%unicode
70.66 -%caseless
70.67 -
70.68 -//Turns character counting on
70.69 -%char
70.70 -//Turns line counting on
70.71 -%line
70.72 -//Turns column counting on
70.73 -%column
70.74 -
70.75 -
70.76 -%state ST_LOOKING_FOR_PROPERTY
70.77 -%state ST_LINE_COMMENT
70.78 -
70.79 -%{
70.80 - private final List commentList = new LinkedList();
70.81 - private String comment = null;
70.82 - private StateStack stack = new StateStack();
70.83 - private char yy_old_buffer[] = new char[ZZ_BUFFERSIZE];
70.84 - private int yy_old_pushbackPos;
70.85 - protected int commentStartPosition;
70.86 -
70.87 - public AdaVersion getAdaVersion() {
70.88 - return AdaVersion.ADA_95;
70.89 - }
70.90 -
70.91 - public void reset(java.io.Reader reader) {
70.92 - yyreset(reader);
70.93 - }
70.94 -
70.95 - public void setState(int state) {
70.96 - yybegin(state);
70.97 - }
70.98 -
70.99 - public int getState() {
70.100 - return yystate();
70.101 - }
70.102 -
70.103 - public void resetCommentList() {
70.104 - commentList.clear();
70.105 - }
70.106 -
70.107 - public List getCommentList() {
70.108 - return commentList;
70.109 - }
70.110 -
70.111 - protected void addComment(Comment.Type type) {
70.112 - int leftPosition = getTokenStartPosition();
70.113 - Comment comm;
70.114 - comm = new Comment(commentStartPosition, leftPosition + getTokenLength());
70.115 - commentList.add(comm);
70.116 - }
70.117 -
70.118 - private void pushState(int state) {
70.119 - stack.pushStack(zzLexicalState);
70.120 - yybegin(state);
70.121 - }
70.122 -
70.123 - private void popState() {
70.124 - yybegin(stack.popStack());
70.125 - }
70.126 -
70.127 - public int getCurrentLine() {
70.128 - return yyline;
70.129 - }
70.130 -
70.131 - protected int getTokenStartPosition() {
70.132 - return zzStartRead - zzPushbackPos;
70.133 - }
70.134 -
70.135 - protected int getTokenLength() {
70.136 - return zzMarkedPos - zzStartRead;
70.137 - }
70.138 -
70.139 - public int getLength() {
70.140 - return zzEndRead - zzPushbackPos;
70.141 - }
70.142 -
70.143 - private void handleCommentStart() {
70.144 - commentStartPosition = getTokenStartPosition();
70.145 - }
70.146 -
70.147 - private void handleLineCommentEnd() {
70.148 - addComment(Comment.Type.TYPE_SINGLE_LINE);
70.149 - }
70.150 -
70.151 - private Symbol createFullSymbol(int symbolNumber) {
70.152 - Symbol symbol = createSymbol(symbolNumber);
70.153 - symbol.value = yytext();
70.154 - return symbol;
70.155 - }
70.156 -
70.157 - private Symbol createSymbol(int symbolNumber) {
70.158 - int leftPosition = getTokenStartPosition();
70.159 - Symbol symbol = new Symbol(symbolNumber, leftPosition, leftPosition + getTokenLength());
70.160 - return symbol;
70.161 - }
70.162 -
70.163 - public int[] getParamenters(){
70.164 - return new int[]{zzMarkedPos, zzPushbackPos, zzCurrentPos, zzStartRead, zzEndRead, yyline};
70.165 - }
70.166 -
70.167 - public void reset(java.io.Reader reader, char[] buffer, int[] parameters){
70.168 - this.zzReader = reader;
70.169 - this.zzBuffer = buffer;
70.170 - this.zzMarkedPos = parameters[0];
70.171 - this.zzPushbackPos = parameters[1];
70.172 - this.zzCurrentPos = parameters[2];
70.173 - this.zzStartRead = parameters[3];
70.174 - this.zzEndRead = parameters[4];
70.175 - this.yyline = parameters[5];
70.176 - this.yychar = this.zzStartRead - this.zzPushbackPos;
70.177 - }
70.178 -
70.179 -%}
70.180 -
70.181 -/*********************************************************
70.182 - * *
70.183 - * Ada 95 AST Lexer, based on: *
70.184 - * *
70.185 - * 1. Ada Reference Manual *
70.186 - * ISO/IEC 8652:1995(E) *
70.187 - * with Technical Corrigendum 1 *
70.188 - * Language and Standard Libraries *
70.189 - * Copyright © 1992,1993,1994,1995 Intermetrics, Inc. *
70.190 - * Copyright © 2000 The MITRE Corporation, Inc. *
70.191 - * 2. http://www.adaic.com/standards/95lrm/lexer9x.l *
70.192 - * *
70.193 - * Author: Andrea Lucarelli *
70.194 - * Lexer Generator: JFlex *
70.195 - * *
70.196 - *********************************************************/
70.197 -
70.198 -DIGIT=[0-9]
70.199 -EXTENDED_DIGIT=[0-9a-fA-F]
70.200 -INTEGER=({DIGIT}(_?{DIGIT})*)
70.201 -EXPONENT=([eE](\+?|-){INTEGER})
70.202 -DECIMAL_LITERAL={INTEGER}(\.?{INTEGER})?{EXPONENT}?
70.203 -BASE={INTEGER}
70.204 -BASED_INTEGER={EXTENDED_DIGIT}(_?{EXTENDED_DIGIT})*
70.205 -BASED_LITERAL={BASE}(#|:){BASED_INTEGER}(\.{BASED_INTEGER})?(#|:){EXPONENT}?
70.206 -IDENTIFIER=[a-zA-Z]("_"?[a-zA-Z0-9])*
70.207 -WHITESPACE=[ \n\r\t]+
70.208 -STRING_LITERAL=\"(\"\"|[^\n\"])*\"
70.209 -CHAR_LITERAL=\'[^\n]\'
70.210 -WHITESPACE=[ \n\r\t]+
70.211 -NEWLINE=("\r"|"\n"|"\r\n")
70.212 -ANY_CHAR=(.|[\n])
70.213 -
70.214 -%%
70.215 -
70.216 -// Ada 95 keywords
70.217 -
70.218 -<YYINITIAL> {
70.219 -
70.220 - "abort" { return createSymbol(Ada95ASTSymbols.ABORT); }
70.221 - "abs" { return createSymbol(Ada95ASTSymbols.ABS); }
70.222 - "abstract" { return createSymbol(Ada95ASTSymbols.ABSTRACT); }
70.223 - "access" { return createSymbol(Ada95ASTSymbols.ACCESS); }
70.224 - "accept" { return createSymbol(Ada95ASTSymbols.ACCEPT); }
70.225 - "aliased" { return createSymbol(Ada95ASTSymbols.ALIASED); }
70.226 - "all" { return createSymbol(Ada95ASTSymbols.ALL); }
70.227 - "and" { return createSymbol(Ada95ASTSymbols.AND); }
70.228 - "array" { return createSymbol(Ada95ASTSymbols.ARRAY); }
70.229 - "at" { return createSymbol(Ada95ASTSymbols.AT); }
70.230 - "begin" { return createSymbol(Ada95ASTSymbols.BEGIN); }
70.231 - "body" { return createSymbol(Ada95ASTSymbols.BODY); }
70.232 - "constant" { return createSymbol(Ada95ASTSymbols.CONSTANT); }
70.233 - "case" { return createSymbol(Ada95ASTSymbols.CASE); }
70.234 - "declare" { return createSymbol(Ada95ASTSymbols.DECLARE); }
70.235 - "delay" { return createSymbol(Ada95ASTSymbols.DELAY); }
70.236 - "do" { return createSymbol(Ada95ASTSymbols.DO); }
70.237 - "delta" { return createSymbol(Ada95ASTSymbols.DELTA); }
70.238 - "else" { return createSymbol(Ada95ASTSymbols.ELSE); }
70.239 - "elsif" { return createSymbol(Ada95ASTSymbols.ELSIF); }
70.240 - "end" { return createSymbol(Ada95ASTSymbols.END); }
70.241 - "entry" { return createSymbol(Ada95ASTSymbols.ENTRY); }
70.242 - "exception" { return createSymbol(Ada95ASTSymbols.EXCEPTION); }
70.243 - "exit" { return createSymbol(Ada95ASTSymbols.EXIT); }
70.244 - "for" { return createSymbol(Ada95ASTSymbols.FOR); }
70.245 - "function" { return createSymbol(Ada95ASTSymbols.FUNCTION); }
70.246 - "generic" { return createSymbol(Ada95ASTSymbols.GENERIC); }
70.247 - "goto" { return createSymbol(Ada95ASTSymbols.GOTO); }
70.248 - "if" { return createSymbol(Ada95ASTSymbols.IF); }
70.249 - "in" { return createSymbol(Ada95ASTSymbols.IN); }
70.250 - "is" { return createSymbol(Ada95ASTSymbols.IS); }
70.251 - "limited" { return createSymbol(Ada95ASTSymbols.LIMITED); }
70.252 - "loop" { return createSymbol(Ada95ASTSymbols.LOOP); }
70.253 - "mod" { return createSymbol(Ada95ASTSymbols.MOD); }
70.254 - "new" { return createSymbol(Ada95ASTSymbols.NEW); }
70.255 - "not" { return createSymbol(Ada95ASTSymbols.NOT); }
70.256 - "null" { return createSymbol(Ada95ASTSymbols.NULL); }
70.257 - "of" { return createSymbol(Ada95ASTSymbols.OF); }
70.258 - "or" { return createSymbol(Ada95ASTSymbols.OR); }
70.259 - "others" { return createSymbol(Ada95ASTSymbols.OTHERS); }
70.260 - "out" { return createSymbol(Ada95ASTSymbols.OUT); }
70.261 - "package" { return createSymbol(Ada95ASTSymbols.PACKAGE); }
70.262 - "pragma" { return createSymbol(Ada95ASTSymbols.PRAGMA); }
70.263 - "private" { return createSymbol(Ada95ASTSymbols.PRIVATE); }
70.264 - "procedure" { return createSymbol(Ada95ASTSymbols.PROCEDURE); }
70.265 - "protected" { return createSymbol(Ada95ASTSymbols.PROTECTED); }
70.266 - "return" { return createSymbol(Ada95ASTSymbols.RETURN); }
70.267 - "reverse" { return createSymbol(Ada95ASTSymbols.REVERSE); }
70.268 - "raise" { return createSymbol(Ada95ASTSymbols.RAISE); }
70.269 - "range" { return createSymbol(Ada95ASTSymbols.RANGE); }
70.270 - "record" { return createSymbol(Ada95ASTSymbols.RECORD); }
70.271 - "rem" { return createSymbol(Ada95ASTSymbols.REM); }
70.272 - "renames" { return createSymbol(Ada95ASTSymbols.RENAMES); }
70.273 - "requeue" { return createSymbol(Ada95ASTSymbols.REQUEUE); }
70.274 - "select" { return createSymbol(Ada95ASTSymbols.SELECT); }
70.275 - "separate" { return createSymbol(Ada95ASTSymbols.SEPARATE); }
70.276 - "subtype" { return createSymbol(Ada95ASTSymbols.SUBTYPE); }
70.277 - "tagged" { return createSymbol(Ada95ASTSymbols.TAGGED); }
70.278 - "task" { return createSymbol(Ada95ASTSymbols.TASK); }
70.279 - "terminate" { return createSymbol(Ada95ASTSymbols.TERMINATE); }
70.280 - "then" { return createSymbol(Ada95ASTSymbols.THEN); }
70.281 - "type" { return createSymbol(Ada95ASTSymbols.TYPE); }
70.282 - "until" { return createSymbol(Ada95ASTSymbols.UNTIL); }
70.283 - "use" { return createSymbol(Ada95ASTSymbols.USE); }
70.284 - "when" { return createSymbol(Ada95ASTSymbols.WHEN); }
70.285 - "while" { return createSymbol(Ada95ASTSymbols.WHILE); }
70.286 - "with" { return createSymbol(Ada95ASTSymbols.WITH); }
70.287 - "xor" { return createSymbol(Ada95ASTSymbols.XOR); }
70.288 -
70.289 -}
70.290 -
70.291 -// delimiters
70.292 -
70.293 -<YYINITIAL> {
70.294 -
70.295 - "&" { return createSymbol(Ada95ASTSymbols.AMP); }
70.296 - "'" { return createSymbol(Ada95ASTSymbols.TICK); }
70.297 - "(" { return createSymbol(Ada95ASTSymbols.LPAREN); }
70.298 - ")" { return createSymbol(Ada95ASTSymbols.RPAREN); }
70.299 - "*" { return createSymbol(Ada95ASTSymbols.STAR); }
70.300 - "+" { return createSymbol(Ada95ASTSymbols.PLUS); }
70.301 - "," { return createSymbol(Ada95ASTSymbols.COMMA); }
70.302 - "-" { return createSymbol(Ada95ASTSymbols.MINUS); }
70.303 - "." { pushState(ST_LOOKING_FOR_PROPERTY);
70.304 - return createSymbol(Ada95ASTSymbols.DOT);
70.305 - }
70.306 - "/" { return createSymbol(Ada95ASTSymbols.SLASH); }
70.307 - ":" { return createSymbol(Ada95ASTSymbols.COLON); }
70.308 - ";" { return createSymbol(Ada95ASTSymbols.SEMICOLON); }
70.309 - "<" { return createSymbol(Ada95ASTSymbols.GT); }
70.310 - "=" { return createSymbol(Ada95ASTSymbols.EQ); }
70.311 - ">" { return createSymbol(Ada95ASTSymbols.LT); }
70.312 - "|" { return createSymbol(Ada95ASTSymbols.BAR); }
70.313 - "!" { return createSymbol(Ada95ASTSymbols.BAR); }
70.314 -
70.315 -}
70.316 -
70.317 -// compound delimiters
70.318 -
70.319 -<YYINITIAL> {
70.320 -
70.321 - "=>" { return createSymbol(Ada95ASTSymbols.ARROW); }
70.322 - ".." { return createSymbol(Ada95ASTSymbols.DOT_DOT); }
70.323 - "**" { return createSymbol(Ada95ASTSymbols.EXPON); }
70.324 - ":=" { return createSymbol(Ada95ASTSymbols.ASSIGNMENT); }
70.325 - "/=" { return createSymbol(Ada95ASTSymbols.INEQ); }
70.326 - ">=" { return createSymbol(Ada95ASTSymbols.GTEQ); }
70.327 - "<=" { return createSymbol(Ada95ASTSymbols.LTEQ); }
70.328 - "<<" { return createSymbol(Ada95ASTSymbols.LTLT); }
70.329 - ">>" { return createSymbol(Ada95ASTSymbols.GTGT); }
70.330 - "<>" { return createSymbol(Ada95ASTSymbols.BOX); }
70.331 -
70.332 -}
70.333 -
70.334 -<ST_LOOKING_FOR_PROPERTY>"." {
70.335 - return createSymbol(Ada95ASTSymbols.DOT);
70.336 -}
70.337 -
70.338 -<ST_LOOKING_FOR_PROPERTY>".." {
70.339 - popState();
70.340 - return createSymbol(Ada95ASTSymbols.DOT_DOT);
70.341 -}
70.342 -
70.343 -<ST_LOOKING_FOR_PROPERTY>{IDENTIFIER} {
70.344 - popState();
70.345 - return createFullSymbol(Ada95ASTSymbols.IDENTIFIER);
70.346 -}
70.347 -
70.348 -<ST_LOOKING_FOR_PROPERTY>{ANY_CHAR} {
70.349 - yypushback(yylength());
70.350 - popState();
70.351 -}
70.352 -
70.353 -<YYINITIAL>{CHAR_LITERAL} {
70.354 - return createFullSymbol(Ada95ASTSymbols.CHAR_LITERAL);
70.355 -}
70.356 -
70.357 -<YYINITIAL>{STRING_LITERAL} {
70.358 - return createFullSymbol(Ada95ASTSymbols.STRING_LITERAL);
70.359 -}
70.360 -
70.361 -<YYINITIAL>{BASED_LITERAL} {
70.362 - return createFullSymbol(Ada95ASTSymbols.BASED_LITERAL);
70.363 -}
70.364 -
70.365 -<YYINITIAL>{DECIMAL_LITERAL} {
70.366 - return createFullSymbol(Ada95ASTSymbols.DECIMAL_LITERAL);
70.367 -}
70.368 -
70.369 -<YYINITIAL>{IDENTIFIER} {
70.370 - return createFullSymbol(Ada95ASTSymbols.IDENTIFIER);
70.371 -}
70.372 -
70.373 -<YYINITIAL>{WHITESPACE} {
70.374 -}
70.375 -
70.376 -<YYINITIAL>"--" {
70.377 - handleCommentStart();
70.378 - yybegin(ST_LINE_COMMENT);
70.379 -}
70.380 -
70.381 -<ST_LINE_COMMENT>[^\n\r]*(ANY_CHAR|{NEWLINE}) {
70.382 - handleLineCommentEnd();
70.383 - yybegin(YYINITIAL);
70.384 -}
70.385 -
70.386 -<YYINITIAL> <<EOF>> {
70.387 - if (yytext().length() > 0) {
70.388 - yypushback(1); // backup eof
70.389 - comment = yytext();
70.390 - }
70.391 - else {
70.392 - return createSymbol(Ada95ASTSymbols.EOF);
70.393 - }
70.394 -
70.395 -}
70.396 -
70.397 -<YYINITIAL>{ANY_CHAR} {
70.398 - // do nothing
70.399 -}
70.400 \ No newline at end of file
71.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95SyntaxLexer.flex Tue Oct 02 21:55:21 2012 -0400
71.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
71.3 @@ -1,520 +0,0 @@
71.4 -/*
71.5 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
71.6 - *
71.7 - * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
71.8 - *
71.9 - * The contents of this file are subject to the terms of either the GNU
71.10 - * General Public License Version 2 only ("GPL") or the Common
71.11 - * Development and Distribution License("CDDL") (collectively, the
71.12 - * "License"). You may not use this file except in compliance with the
71.13 - * License. You can obtain a copy of the License at
71.14 - * http://www.netbeans.org/cddl-gplv2.html
71.15 - * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
71.16 - * specific language governing permissions and limitations under the
71.17 - * License. When distributing the software, include this License Header
71.18 - * Notice in each file and include the License file at
71.19 - * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
71.20 - * particular file as subject to the "Classpath" exception as provided
71.21 - * by Sun in the GPL Version 2 section of the License file that
71.22 - * accompanied this code. If applicable, add the following below the
71.23 - * License Header, with the fields enclosed by brackets [] replaced by
71.24 - * your own identifying information:
71.25 - * "Portions Copyrighted [year] [name of copyright owner]"
71.26 - *
71.27 - * If you wish your version of this file to be governed by only the CDDL
71.28 - * or only the GPL Version 2, indicate your decision by adding
71.29 - * "[Contributor] elects to include this software in this distribution
71.30 - * under the [CDDL or GPL Version 2] license." If you do not indicate a
71.31 - * single choice of license, a recipient has the option to distribute
71.32 - * your version of this file under either the CDDL, the GPL Version 2 or
71.33 - * to extend the choice of license to its licensees as provided above.
71.34 - * However, if you add GPL Version 2 code and therefore, elected the GPL
71.35 - * Version 2 license, then the option applies only if the new code is
71.36 - * made subject to such option by the copyright holder.
71.37 - *
71.38 - * Contributor(s):
71.39 - *
71.40 - * Portions Copyrighted 2008 Sun Microsystems, Inc.
71.41 - */
71.42 -package org.netbeans.modules.ada.editor.lexer;
71.43 -
71.44 -import org.netbeans.spi.lexer.LexerInput;
71.45 -import org.netbeans.spi.lexer.LexerRestartInfo;
71.46 -%%
71.47 -
71.48 -%public
71.49 -%class Ada95SyntaxLexer
71.50 -%type AdaTokenId
71.51 -%function nextToken
71.52 -%unicode
71.53 -%caseless
71.54 -%char
71.55 -
71.56 -%state ST_LOOKING_FOR_PROPERTY
71.57 -%state ST_CHAR_LITERAL
71.58 -%state ST_LINE_COMMENT
71.59 -%state ST_HIGHLIGHTING_ERROR
71.60 -
71.61 -%eofval{
71.62 - if(input.readLength() > 0) {
71.63 - // backup eof
71.64 - input.backup(1);
71.65 - //and return the text as error token
71.66 - return AdaTokenId.UNKNOWN_TOKEN;
71.67 - } else {
71.68 - return null;
71.69 - }
71.70 -%eofval}
71.71 -
71.72 -%{
71.73 -
71.74 - private StateStack stack = new StateStack();
71.75 -
71.76 - private boolean short_tags_allowed = true;
71.77 -
71.78 - private LexerInput input;
71.79 -
71.80 - public Ada95SyntaxLexer(LexerRestartInfo info) {
71.81 - this.input = info.input();
71.82 -
71.83 - if(info.state() != null) {
71.84 - //reset state
71.85 - setState((LexerState)info.state());
71.86 - } else {
71.87 - //initial state
71.88 - zzState = zzLexicalState = YYINITIAL;
71.89 - stack.clear();
71.90 - }
71.91 -
71.92 - }
71.93 -
71.94 - public static final class LexerState {
71.95 - final StateStack stack;
71.96 - /** the current state of the DFA */
71.97 - final int zzState;
71.98 - /** the current lexical state */
71.99 - final int zzLexicalState;
71.100 -
71.101 - LexerState (StateStack stack, int zzState, int zzLexicalState) {
71.102 - this.stack = stack;
71.103 - this.zzState = zzState;
71.104 - this.zzLexicalState = zzLexicalState;
71.105 - }
71.106 -
71.107 - @Override
71.108 - public boolean equals(Object obj) {
71.109 - if (this == obj) {
71.110 - return true;
71.111 - }
71.112 -
71.113 - if (obj == null || obj.getClass() != this.getClass()) {
71.114 - return false;
71.115 - }
71.116 -
71.117 - LexerState state = (LexerState) obj;
71.118 - return (this.stack.equals(state.stack)
71.119 - && (this.zzState == state.zzState)
71.120 - && (this.zzLexicalState == state.zzLexicalState));
71.121 - }
71.122 -
71.123 - @Override
71.124 - public int hashCode() {
71.125 - int hash = 11;
71.126 - hash = 31 * hash + this.zzState;
71.127 - hash = 31 * hash + this.zzLexicalState;
71.128 - hash = 31 * hash + this.stack.hashCode();
71.129 - return hash;
71.130 - }
71.131 - }
71.132 -
71.133 - public LexerState getState() {
71.134 - return new LexerState(stack.createClone(), zzState, zzLexicalState);
71.135 - }
71.136 -
71.137 - public void setState(LexerState state) {
71.138 - this.stack.copyFrom(state.stack);
71.139 - this.zzState = state.zzState;
71.140 - this.zzLexicalState = state.zzLexicalState;
71.141 - }
71.142 -
71.143 - public int[] getParamenters(){
71.144 - return new int[]{zzMarkedPos, zzPushbackPos, zzCurrentPos, zzStartRead, zzEndRead, yyline, zzLexicalState};
71.145 - }
71.146 -
71.147 - protected int getZZLexicalState() {
71.148 - return zzLexicalState;
71.149 - }
71.150 -
71.151 - protected int getZZMarkedPos() {
71.152 - return zzMarkedPos;
71.153 - }
71.154 -
71.155 - protected int getZZEndRead() {
71.156 - return zzEndRead;
71.157 - }
71.158 -
71.159 - public char[] getZZBuffer() {
71.160 - return zzBuffer;
71.161 - }
71.162 -
71.163 - protected int getZZStartRead() {
71.164 - return this.zzStartRead;
71.165 - }
71.166 -
71.167 - protected int getZZPushBackPosition() {
71.168 - return this.zzPushbackPos;
71.169 - }
71.170 -
71.171 - protected void pushBack(int i) {
71.172 - yypushback(i);
71.173 - }
71.174 -
71.175 - protected void popState() {
71.176 - yybegin(stack.popStack());
71.177 - }
71.178 -
71.179 - protected void pushState(final int state) {
71.180 - stack.pushStack(getZZLexicalState());
71.181 - yybegin(state);
71.182 - }
71.183 -
71.184 -
71.185 - // End user code
71.186 -
71.187 -%}
71.188 -
71.189 -/*********************************************************
71.190 - * *
71.191 - * Ada 95 Lexer, based on: *
71.192 - * *
71.193 - * 1. Ada Reference Manual *
71.194 - * ISO/IEC 8652:1995(E) *
71.195 - * with Technical Corrigendum 1 *
71.196 - * Language and Standard Libraries *
71.197 - * Copyright © 1992,1993,1994,1995 Intermetrics, Inc. *
71.198 - * Copyright © 2000 The MITRE Corporation, Inc. *
71.199 - * 2. http://www.adaic.com/standards/95lrm/lexer9x.l *
71.200 - * *
71.201 - * Author: Andrea Lucarelli *
71.202 - * Lexer Generator: JFlex *
71.203 - * *
71.204 - *********************************************************/
71.205 -
71.206 -DIGIT=[0-9]
71.207 -EXTENDED_DIGIT=[0-9a-fA-F]
71.208 -INTEGER=({DIGIT}(_?{DIGIT})*)
71.209 -EXPONENT=([eE](\+?|-){INTEGER})
71.210 -DECIMAL_LITERAL={INTEGER}(\.?{INTEGER})?{EXPONENT}?
71.211 -BASE={INTEGER}
71.212 -BASED_INTEGER={EXTENDED_DIGIT}(_?{EXTENDED_DIGIT})*
71.213 -BASED_LITERAL={BASE}(#|:){BASED_INTEGER}(\.{BASED_INTEGER})?(#|:){EXPONENT}?
71.214 -IDENTIFIER=[a-zA-Z]("_"?[a-zA-Z0-9])*
71.215 -WHITESPACE=[ \n\r\t]+
71.216 -STRING_LITERAL=\"(\"\"|[^\n\"])*\"
71.217 -CHAR_LITERAL=\'[^\n]\'
71.218 -WHITESPACE=[ \n\r\t]+
71.219 -NEWLINE=("\r"|"\n"|"\r\n")
71.220 -ANY_CHAR=(.|[\n])
71.221 -
71.222 -%%
71.223 -
71.224 -// Ada 95 keywords
71.225 -
71.226 -<YYINITIAL> {
71.227 -
71.228 - "abort" { return AdaTokenId.ABORT; }
71.229 - "abs" { return AdaTokenId.ABS; }
71.230 - "abstract" { return AdaTokenId.ABSTRACT; }
71.231 - "access" { return AdaTokenId.ACCESS; }
71.232 - "accept" { return AdaTokenId.ACCEPT; }
71.233 - "aliased" { return AdaTokenId.ALIASED; }
71.234 - "all" { return AdaTokenId.ALL; }
71.235 - "and" { return AdaTokenId.AND; }
71.236 - "array" { return AdaTokenId.ARRAY; }
71.237 - "at" { return AdaTokenId.AT; }
71.238 - "begin" { return AdaTokenId.BEGIN; }
71.239 - "body" { return AdaTokenId.BODY; }
71.240 - "constant" { return AdaTokenId.CONSTANT; }
71.241 - "case" { return AdaTokenId.CASE; }
71.242 - "declare" { return AdaTokenId.DECLARE; }
71.243 - "delay" { return AdaTokenId.DELAY; }
71.244 - "delta" { return AdaTokenId.DELTA; }
71.245 - "digits" { return AdaTokenId.DIGITS; }
71.246 - "do" { return AdaTokenId.DO; }
71.247 - "else" { return AdaTokenId.ELSE; }
71.248 - "elsif" { return AdaTokenId.ELSIF; }
71.249 - "end" { return AdaTokenId.END; }
71.250 - "entry" { return AdaTokenId.ENTRY; }
71.251 - "exception" { return AdaTokenId.EXCEPTION; }
71.252 - "exit" { return AdaTokenId.EXIT; }
71.253 - "for" { return AdaTokenId.FOR; }
71.254 - "function" { return AdaTokenId.FUNCTION; }
71.255 - "generic" { return AdaTokenId.GENERIC; }
71.256 - "goto" { return AdaTokenId.GOTO; }
71.257 - "if" { return AdaTokenId.IF; }
71.258 - "in" { return AdaTokenId.IN; }
71.259 - "is" { return AdaTokenId.IS; }
71.260 - "limited" { return AdaTokenId.LIMITED; }
71.261 - "loop" { return AdaTokenId.LOOP; }
71.262 - "mod" { return AdaTokenId.MOD; }
71.263 - "new" { return AdaTokenId.NEW; }
71.264 - "not" { return AdaTokenId.NOT; }
71.265 - "null" { return AdaTokenId.NULL; }
71.266 - "of" { return AdaTokenId.OF; }
71.267 - "or" { return AdaTokenId.OR; }
71.268 - "others" { return AdaTokenId.OTHERS; }
71.269 - "out" { return AdaTokenId.OUT; }
71.270 - "package" { return AdaTokenId.PACKAGE; }
71.271 - "pragma" { return AdaTokenId.PRAGMA; }
71.272 - "private" { return AdaTokenId.PRIVATE; }
71.273 - "procedure" { return AdaTokenId.PROCEDURE; }
71.274 - "protected" { return AdaTokenId.PROTECTED; }
71.275 - "return" { return AdaTokenId.RETURN; }
71.276 - "reverse" { return AdaTokenId.REVERSE; }
71.277 - "raise" { return AdaTokenId.RAISE; }
71.278 - "range" { return AdaTokenId.RANGE; }
71.279 - "record" { return AdaTokenId.RECORD; }
71.280 - "rem" { return AdaTokenId.REM; }
71.281 - "renames" { return AdaTokenId.RENAMES; }
71.282 - "requeue" { return AdaTokenId.REQUEUE; }
71.283 - "select" { return AdaTokenId.SELECT; }
71.284 - "separate" { return AdaTokenId.SEPARATE; }
71.285 - "subtype" { return AdaTokenId.SUBTYPE; }
71.286 - "tagged" { return AdaTokenId.TAGGED; }
71.287 - "task" { return AdaTokenId.TASK; }
71.288 - "terminate" { return AdaTokenId.TERMINATE; }
71.289 - "then" { return AdaTokenId.THEN; }
71.290 - "type" { return AdaTokenId.TYPE; }
71.291 - "until" { return AdaTokenId.UNTIL; }
71.292 - "use" { return AdaTokenId.USE; }
71.293 - "when" { return AdaTokenId.WHEN; }
71.294 - "while" { return AdaTokenId.WHILE; }
71.295 - "with" { return AdaTokenId.WITH; }
71.296 - "xor" { return AdaTokenId.XOR; }
71.297 -}
71.298 -
71.299 -// Ada 95 compound keywords
71.300 -
71.301 -<YYINITIAL> {
71.302 - "end case" { return AdaTokenId.END_CASE; }
71.303 - "end if" { return AdaTokenId.END_IF; }
71.304 - "end loop" { return AdaTokenId.END_LOOP; }
71.305 -}
71.306 -
71.307 -// attributes
71.308 -
71.309 -<YYINITIAL> {
71.310 -
71.311 - \'"access" { return AdaTokenId.ATTRIBUTE; }
71.312 - \'"address" { return AdaTokenId.ATTRIBUTE; }
71.313 - \'"adjacent" { return AdaTokenId.ATTRIBUTE; }
71.314 - \'"aft" { return AdaTokenId.ATTRIBUTE; }
71.315 - \'"alignment" { return AdaTokenId.ATTRIBUTE; }
71.316 - \'"base" { return AdaTokenId.ATTRIBUTE; }
71.317 - \'"bit_order" { return AdaTokenId.ATTRIBUTE; }
71.318 - \'"body_version" { return AdaTokenId.ATTRIBUTE; }
71.319 - \'"callable" { return AdaTokenId.ATTRIBUTE; }
71.320 - \'"caller" { return AdaTokenId.ATTRIBUTE; }
71.321 - \'"ceiling" { return AdaTokenId.ATTRIBUTE; }
71.322 - \'"class" { return AdaTokenId.ATTRIBUTE; }
71.323 - \'"component_size" { return AdaTokenId.ATTRIBUTE; }
71.324 - \'"compose" { return AdaTokenId.ATTRIBUTE; }
71.325 - \'"constrained" { return AdaTokenId.ATTRIBUTE; }
71.326 - \'"copy_sign" { return AdaTokenId.ATTRIBUTE; }
71.327 - \'"count" { return AdaTokenId.ATTRIBUTE; }
71.328 - \'"delta" { return AdaTokenId.ATTRIBUTE; }
71.329 - \'"denorm" { return AdaTokenId.ATTRIBUTE; }
71.330 - \'"digits" { return AdaTokenId.ATTRIBUTE; }
71.331 - \'"exponent" { return AdaTokenId.ATTRIBUTE; }
71.332 - \'"external_tag" { return AdaTokenId.ATTRIBUTE; }
71.333 - \'"first" { return AdaTokenId.ATTRIBUTE; }
71.334 - \'"first_bit" { return AdaTokenId.ATTRIBUTE; }
71.335 - \'"floor" { return AdaTokenId.ATTRIBUTE; }
71.336 - \'"fore" { return AdaTokenId.ATTRIBUTE; }
71.337 - \'"fraction" { return AdaTokenId.ATTRIBUTE; }
71.338 - \'"identity" { return AdaTokenId.ATTRIBUTE; }
71.339 - \'"image" { return AdaTokenId.ATTRIBUTE; }
71.340 - \'"input" { return AdaTokenId.ATTRIBUTE; }
71.341 - \'"last" { return AdaTokenId.ATTRIBUTE; }
71.342 - \'"last_bit" { return AdaTokenId.ATTRIBUTE; }
71.343 - \'"leading_part" { return AdaTokenId.ATTRIBUTE; }
71.344 - \'"length" { return AdaTokenId.ATTRIBUTE; }
71.345 - \'"machine" { return AdaTokenId.ATTRIBUTE; }
71.346 - \'"machine_emax" { return AdaTokenId.ATTRIBUTE; }
71.347 - \'"machine_emin" { return AdaTokenId.ATTRIBUTE; }
71.348 - \'"machine_mantissa" { return AdaTokenId.ATTRIBUTE; }
71.349 - \'"machine_overflows" { return AdaTokenId.ATTRIBUTE; }
71.350 - \'"machine_radix" { return AdaTokenId.ATTRIBUTE; }
71.351 - \'"machine_rounds" { return AdaTokenId.ATTRIBUTE; }
71.352 - \'"max" { return AdaTokenId.ATTRIBUTE; }
71.353 - \'"max_size_in_storage_elements" { return AdaTokenId.ATTRIBUTE; }
71.354 - \'"min" { return AdaTokenId.ATTRIBUTE; }
71.355 - \'"model" { return AdaTokenId.ATTRIBUTE; }
71.356 - \'"model_emin" { return AdaTokenId.ATTRIBUTE; }
71.357 - \'"Model_Epsilon" { return AdaTokenId.ATTRIBUTE; }
71.358 - \'"Model_Mantissa" { return AdaTokenId.ATTRIBUTE; }
71.359 - \'"Model_Small" { return AdaTokenId.ATTRIBUTE; }
71.360 - \'"Modulus" { return AdaTokenId.ATTRIBUTE; }
71.361 - \'"output" { return AdaTokenId.ATTRIBUTE; }
71.362 - \'"Partition_ID" { return AdaTokenId.ATTRIBUTE; }
71.363 - \'"Pos" { return AdaTokenId.ATTRIBUTE; }
71.364 - \'"Position" { return AdaTokenId.ATTRIBUTE; }
71.365 - \'"Range" { return AdaTokenId.ATTRIBUTE; }
71.366 - \'"Read" { return AdaTokenId.ATTRIBUTE; }
71.367 - \'"Remainder" { return AdaTokenId.ATTRIBUTE; }
71.368 - \'"Round" { return AdaTokenId.ATTRIBUTE; }
71.369 - \'"Rounding" { return AdaTokenId.ATTRIBUTE; }
71.370 - \'"Safe_First" { return AdaTokenId.ATTRIBUTE; }
71.371 - \'"Safe_Last" { return AdaTokenId.ATTRIBUTE; }
71.372 - \'"Scale" { return AdaTokenId.ATTRIBUTE; }
71.373 - \'"Scaling" { return AdaTokenId.ATTRIBUTE; }
71.374 - \'"Signed_Zeros" { return AdaTokenId.ATTRIBUTE; }
71.375 - \'"Size" { return AdaTokenId.ATTRIBUTE; }
71.376 - \'"Small" { return AdaTokenId.ATTRIBUTE; }
71.377 - \'"Storage_Pool" { return AdaTokenId.ATTRIBUTE; }
71.378 - \'"Storage_Size" { return AdaTokenId.ATTRIBUTE; }
71.379 - \'"Succ" { return AdaTokenId.ATTRIBUTE; }
71.380 - \'"Tag" { return AdaTokenId.ATTRIBUTE; }
71.381 - \'"Terminated" { return AdaTokenId.ATTRIBUTE; }
71.382 - \'"Truncation" { return AdaTokenId.ATTRIBUTE; }
71.383 - \'"Unbiased_Rounding" { return AdaTokenId.ATTRIBUTE; }
71.384 - \'"Unchecked_Access" { return AdaTokenId.ATTRIBUTE; }
71.385 - \'"Val" { return AdaTokenId.ATTRIBUTE; }
71.386 - \'"Valid" { return AdaTokenId.ATTRIBUTE; }
71.387 - \'"Value" { return AdaTokenId.ATTRIBUTE; }
71.388 - \'"Version" { return AdaTokenId.ATTRIBUTE; }
71.389 - \'"Wide_Image" { return AdaTokenId.ATTRIBUTE; }
71.390 - \'"Wide_Value" { return AdaTokenId.ATTRIBUTE; }
71.391 - \'"Wide_Width" { return AdaTokenId.ATTRIBUTE; }
71.392 - \'"Width" { return AdaTokenId.ATTRIBUTE; }
71.393 - \'"Write" { return AdaTokenId.ATTRIBUTE; }
71.394 -
71.395 -}
71.396 -
71.397 -// delimiters
71.398 -
71.399 -<YYINITIAL> {
71.400 -
71.401 - "&" { return AdaTokenId.AMP; }
71.402 - "'" { return AdaTokenId.TICK; }
71.403 - "(" { return AdaTokenId.LPAREN; }
71.404 - ")" { return AdaTokenId.RPAREN; }
71.405 - "*" { return AdaTokenId.STAR; }
71.406 - "+" { return AdaTokenId.PLUS; }
71.407 - "," { return AdaTokenId.COMMA; }
71.408 - "-" { return AdaTokenId.MINUS; }
71.409 - "." { pushState(ST_LOOKING_FOR_PROPERTY);
71.410 - return AdaTokenId.DOT;
71.411 - }
71.412 - "/" { return AdaTokenId.SLASH; }
71.413 - ":" { return AdaTokenId.COLON; }
71.414 - ";" { return AdaTokenId.SEMICOLON; }
71.415 - "<" { return AdaTokenId.GT; }
71.416 - "=" { return AdaTokenId.EQ; }
71.417 - ">" { return AdaTokenId.LT; }
71.418 - "|" { return AdaTokenId.BAR; }
71.419 - "!" { return AdaTokenId.BAR; }
71.420 -
71.421 -}
71.422 -
71.423 -// compound delimiters
71.424 -
71.425 -<YYINITIAL> {
71.426 -
71.427 - "=>" { return AdaTokenId.ARROW; }
71.428 - ".." { return AdaTokenId.DOT_DOT; }
71.429 - "**" { return AdaTokenId.EXPON; }
71.430 - ":=" { return AdaTokenId.ASSIGNMENT; }
71.431 - "/=" { return AdaTokenId.INEQ; }
71.432 - ">=" { return AdaTokenId.GTEQ; }
71.433 - "<=" { return AdaTokenId.LTEQ; }
71.434 - "<<" { return AdaTokenId.LTLT; }
71.435 - ">>" { return AdaTokenId.GTGT; }
71.436 - "<>" { return AdaTokenId.BOX; }
71.437 -
71.438 -}
71.439 -
71.440 -<YYINITIAL> {
71.441 -
71.442 - "boolean" { return AdaTokenId.BOOLEAN; }
71.443 - "character" { return AdaTokenId.CHARACTER; }
71.444 - "float" { return AdaTokenId.FLOAT; }
71.445 - "integer" { return AdaTokenId.INTEGER; }
71.446 - "wide_character" { return AdaTokenId.WIDE_CHARECTER; }
71.447 - "true" { return AdaTokenId.TRUE; }
71.448 - "false" { return AdaTokenId.FALSE; }
71.449 -
71.450 -}
71.451 -
71.452 -<ST_LOOKING_FOR_PROPERTY>"." {
71.453 - return AdaTokenId.DOT;
71.454 -}
71.455 -
71.456 -<ST_LOOKING_FOR_PROPERTY>".." {
71.457 - popState();
71.458 - return AdaTokenId.DOT_DOT;
71.459 -}
71.460 -
71.461 -<ST_LOOKING_FOR_PROPERTY>{IDENTIFIER} {
71.462 - popState();
71.463 - return AdaTokenId.IDENTIFIER;
71.464 -}
71.465 -
71.466 -<ST_LOOKING_FOR_PROPERTY>{ANY_CHAR} {
71.467 - yypushback(1);
71.468 - popState();
71.469 -}
71.470 -
71.471 -<YYINITIAL>{IDENTIFIER} {
71.472 - return AdaTokenId.IDENTIFIER;
71.473 -}
71.474 -
71.475 -<ST_HIGHLIGHTING_ERROR> {
71.476 - {WHITESPACE} {
71.477 - popState();
71.478 - return AdaTokenId.WHITESPACE;
71.479 - }
71.480 - . {
71.481 - return AdaTokenId.UNKNOWN_TOKEN;
71.482 - }
71.483 -}
71.484 -
71.485 -<YYINITIAL>{WHITESPACE} {
71.486 - return AdaTokenId.WHITESPACE;
71.487 -}
71.488 -
71.489 -<YYINITIAL>{DECIMAL_LITERAL} {
71.490 - return AdaTokenId.DECIMAL_LITERAL;
71.491 -}
71.492 -
71.493 -<YYINITIAL>{BASED_LITERAL} {
71.494 - return AdaTokenId.BASED_LITERAL;
71.495 -}
71.496 -
71.497 -<YYINITIAL>{STRING_LITERAL} {
71.498 - return AdaTokenId.STRING_LITERAL;
71.499 -}
71.500 -
71.501 -<YYINITIAL>{CHAR_LITERAL} {
71.502 - return AdaTokenId.CHAR_LITERAL;
71.503 -}
71.504 -
71.505 -<YYINITIAL>"--" {
71.506 - pushState(ST_LINE_COMMENT);
71.507 - return AdaTokenId.COMMENT;
71.508 -}
71.509 -
71.510 -<ST_LINE_COMMENT>[^\n\r]*{ANY_CHAR} {
71.511 - popState();
71.512 - return AdaTokenId.COMMENT;
71.513 -}
71.514 -
71.515 -<ST_LINE_COMMENT>{NEWLINE} {
71.516 - popState();
71.517 - return AdaTokenId.COMMENT;
71.518 -}
71.519 -
71.520 -<YYINITIAL>. {
71.521 - yypushback(1);
71.522 - pushState(ST_HIGHLIGHTING_ERROR);
71.523 -}
72.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
72.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/AdaASTLexer.flex Mon Oct 15 23:38:26 2012 +0200
72.3 @@ -0,0 +1,491 @@
72.4 +/*
72.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
72.6 + *
72.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
72.8 + *
72.9 + * The contents of this file are subject to the terms of either the GNU
72.10 + * General Public License Version 2 only ("GPL") or the Common
72.11 + * Development and Distribution License("CDDL") (collectively, the
72.12 + * "License"). You may not use this file except in compliance with the
72.13 + * License. You can obtain a copy of the License at
72.14 + * http://www.netbeans.org/cddl-gplv2.html
72.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
72.16 + * specific language governing permissions and limitations under the
72.17 + * License. When distributing the software, include this License Header
72.18 + * Notice in each file and include the License file at
72.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
72.20 + * particular file as subject to the "Classpath" exception as provided
72.21 + * by Sun in the GPL Version 2 section of the License file that
72.22 + * accompanied this code. If applicable, add the following below the
72.23 + * License Header, with the fields enclosed by brackets [] replaced by
72.24 + * your own identifying information:
72.25 + * "Portions Copyrighted [year] [name of copyright owner]"
72.26 + *
72.27 + * If you wish your version of this file to be governed by only the CDDL
72.28 + * or only the GPL Version 2, indicate your decision by adding
72.29 + * "[Contributor] elects to include this software in this distribution
72.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
72.31 + * single choice of license, a recipient has the option to distribute
72.32 + * your version of this file under either the CDDL, the GPL Version 2 or
72.33 + * to extend the choice of license to its licensees as provided above.
72.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
72.35 + * Version 2 license, then the option applies only if the new code is
72.36 + * made subject to such option by the copyright holder.
72.37 + *
72.38 + * Contributor(s):
72.39 + *
72.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
72.41 + */
72.42 +package org.netbeans.modules.ada.editor.lexer;
72.43 +
72.44 +import java.util.LinkedList;
72.45 +import java.util.List;
72.46 +import org.netbeans.modules.ada.editor.parser.AdaASTSymbols;
72.47 +import org.netbeans.modules.ada.editor.ast.nodes.*;
72.48 +import java_cup.runtime.*;
72.49 +import org.netbeans.modules.ada.project.api.AdaLanguageOptions;
72.50 +
72.51 +%%
72.52 +// Options adn declarations section
72.53 +
72.54 +%class AdaASTLexer
72.55 +%implements Scanner
72.56 +%type Symbol
72.57 +%function next_token
72.58 +%public
72.59 +
72.60 +%eofval{
72.61 + return createSymbol(AdaASTSymbols.EOF);
72.62 +%eofval}
72.63 +%eofclose
72.64 +
72.65 +%unicode
72.66 +%caseless
72.67 +
72.68 +//Turns character counting on
72.69 +%char
72.70 +//Turns line counting on
72.71 +%line
72.72 +//Turns column counting on
72.73 +%column
72.74 +
72.75 +
72.76 +%state ST_LOOKING_FOR_PROPERTY
72.77 +%state ST_LINE_COMMENT
72.78 +
72.79 +%{
72.80 + private final List commentList = new LinkedList();
72.81 + private String comment = null;
72.82 + private StateStack stack = new StateStack();
72.83 + private char yy_old_buffer[] = new char[ZZ_BUFFERSIZE];
72.84 + private int yy_old_pushbackPos;
72.85 + protected int commentStartPosition;
72.86 + private AdaLanguageOptions.AdaVersion adaVersion = AdaLanguageOptions.AdaVersion.ADA_95;
72.87 +
72.88 + public AdaASTLexer(java.io.Reader in, AdaLanguageOptions.AdaVersion adaVersion) {
72.89 + this(in);
72.90 + this.adaVersion = adaVersion;
72.91 + }
72.92 +
72.93 + public AdaLanguageOptions.AdaVersion getAdaVersion() {
72.94 + return this.adaVersion;
72.95 + }
72.96 +
72.97 + public void reset(java.io.Reader reader) {
72.98 + yyreset(reader);
72.99 + }
72.100 +
72.101 + public void setState(int state) {
72.102 + yybegin(state);
72.103 + }
72.104 +
72.105 + public int getState() {
72.106 + return yystate();
72.107 + }
72.108 +
72.109 + public void resetCommentList() {
72.110 + commentList.clear();
72.111 + }
72.112 +
72.113 + public List getCommentList() {
72.114 + return commentList;
72.115 + }
72.116 +
72.117 + protected void addComment(Comment.Type type) {
72.118 + int leftPosition = getTokenStartPosition();
72.119 + Comment comm;
72.120 + comm = new Comment(commentStartPosition, leftPosition + getTokenLength());
72.121 + commentList.add(comm);
72.122 + }
72.123 +
72.124 + private void pushState(int state) {
72.125 + stack.pushStack(zzLexicalState);
72.126 + yybegin(state);
72.127 + }
72.128 +
72.129 + private void popState() {
72.130 + yybegin(stack.popStack());
72.131 + }
72.132 +
72.133 + public int getCurrentLine() {
72.134 + return yyline;
72.135 + }
72.136 +
72.137 + protected int getTokenStartPosition() {
72.138 + return zzStartRead - zzPushbackPos;
72.139 + }
72.140 +
72.141 + protected int getTokenLength() {
72.142 + return zzMarkedPos - zzStartRead;
72.143 + }
72.144 +
72.145 + public int getLength() {
72.146 + return zzEndRead - zzPushbackPos;
72.147 + }
72.148 +
72.149 + private void handleCommentStart() {
72.150 + commentStartPosition = getTokenStartPosition();
72.151 + }
72.152 +
72.153 + private void handleLineCommentEnd() {
72.154 + addComment(Comment.Type.TYPE_SINGLE_LINE);
72.155 + }
72.156 +
72.157 + private Symbol createFullSymbol(int symbolNumber) {
72.158 + Symbol symbol = createSymbol(symbolNumber);
72.159 + symbol.value = yytext();
72.160 + return symbol;
72.161 + }
72.162 +
72.163 + private Symbol createSymbol(int symbolNumber) {
72.164 + int leftPosition = getTokenStartPosition();
72.165 + Symbol symbol = new Symbol(symbolNumber, leftPosition, leftPosition + getTokenLength());
72.166 + return symbol;
72.167 + }
72.168 +
72.169 + public int[] getParamenters(){
72.170 + return new int[]{zzMarkedPos, zzPushbackPos, zzCurrentPos, zzStartRead, zzEndRead, yyline};
72.171 + }
72.172 +
72.173 + public void reset(java.io.Reader reader, char[] buffer, int[] parameters){
72.174 + this.zzReader = reader;
72.175 + this.zzBuffer = buffer;
72.176 + this.zzMarkedPos = parameters[0];
72.177 + this.zzPushbackPos = parameters[1];
72.178 + this.zzCurrentPos = parameters[2];
72.179 + this.zzStartRead = parameters[3];
72.180 + this.zzEndRead = parameters[4];
72.181 + this.yyline = parameters[5];
72.182 + this.yychar = this.zzStartRead - this.zzPushbackPos;
72.183 + }
72.184 +
72.185 +%}
72.186 +
72.187 +/*********************************************************
72.188 + * *
72.189 + * Ada 83, 95, 2005 and 2012 AST Lexer, based on: *
72.190 + * *
72.191 + * 1. Ada 83 Reference Manual *
72.192 + * 2. Ada Reference Manual *
72.193 + * ISO/IEC 8652:1995(E) *
72.194 + * with Technical Corrigendum 1 *
72.195 + * Language and Standard Libraries *
72.196 + * Copyright © 1992,1993,1994,1995 Intermetrics, Inc. *
72.197 + * Copyright © 2000 The MITRE Corporation, Inc. *
72.198 + * 3. http://www.adaic.com/standards/95lrm/lexer9x.l *
72.199 + * 4. Ada Reference Manual *
72.200 + * ISO/IEC 8652:201z Ed. 3 *
72.201 + * with Technical Corrigendum 1 *
72.202 + * and Amendment 1 *
72.203 + * and Amendment 2 (Draft 10) *
72.204 + * Language and Standard Libraries *
72.205 + * Copyright © 1992,1993,1994,1995 Intermetrics, Inc. *
72.206 + * Copyright © 2000 The MITRE Corporation, Inc. *
72.207 + * Copyright © 2004, 2005, 2006 AXE Consultants *
72.208 + * Copyright © 2004, 2005, 2006 Ada-Europe *
72.209 + * Copyright © 2008, 2009, 2010 AXE Consultants *
72.210 + * *
72.211 + * Author: Andrea Lucarelli *
72.212 + * Lexer Generator: JFlex *
72.213 + * *
72.214 + *********************************************************/
72.215 +
72.216 +DIGIT=[0-9]
72.217 +EXTENDED_DIGIT=[0-9a-fA-F]
72.218 +INTEGER=({DIGIT}(_?{DIGIT})*)
72.219 +EXPONENT=([eE](\+?|-){INTEGER})
72.220 +DECIMAL_LITERAL={INTEGER}(\.?{INTEGER})?{EXPONENT}?
72.221 +BASE={INTEGER}
72.222 +BASED_INTEGER={EXTENDED_DIGIT}(_?{EXTENDED_DIGIT})*
72.223 +BASED_LITERAL={BASE}(#|:){BASED_INTEGER}(\.{BASED_INTEGER})?(#|:){EXPONENT}?
72.224 +IDENTIFIER=[a-zA-Z]("_"?[a-zA-Z0-9])*
72.225 +WHITESPACE=[ \n\r\t]+
72.226 +STRING_LITERAL=\"(\"\"|[^\n\"])*\"
72.227 +CHAR_LITERAL=\'[^\n]\'
72.228 +WHITESPACE=[ \n\r\t]+
72.229 +NEWLINE=("\r"|"\n"|"\r\n")
72.230 +ANY_CHAR=(.|[\n])
72.231 +
72.232 +%%
72.233 +
72.234 +// Ada 83, 95 and 2005 keywords
72.235 +
72.236 +<YYINITIAL> {
72.237 +
72.238 + "abort" { return createSymbol(AdaASTSymbols.ABORT); }
72.239 + "abs" { return createSymbol(AdaASTSymbols.ABS); }
72.240 + "abstract" {
72.241 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
72.242 + return createSymbol(AdaASTSymbols.ABSTRACT);
72.243 + }
72.244 + else {
72.245 + return createSymbol(AdaASTSymbols.IDENTIFIER);
72.246 + }
72.247 + }
72.248 + "access" { return createSymbol(AdaASTSymbols.ACCESS); }
72.249 + "accept" { return createSymbol(AdaASTSymbols.ACCEPT); }
72.250 + "aliased" {
72.251 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
72.252 + return createSymbol(AdaASTSymbols.ALIASED);
72.253 + }
72.254 + else {
72.255 + return createSymbol(AdaASTSymbols.IDENTIFIER);
72.256 + }
72.257 + }
72.258 + "all" { return createSymbol(AdaASTSymbols.ALL); }
72.259 + "and" { return createSymbol(AdaASTSymbols.AND); }
72.260 + "array" { return createSymbol(AdaASTSymbols.ARRAY); }
72.261 + "at" { return createSymbol(AdaASTSymbols.AT); }
72.262 + "begin" { return createSymbol(AdaASTSymbols.BEGIN); }
72.263 + "body" { return createSymbol(AdaASTSymbols.BODY); }
72.264 + "constant" { return createSymbol(AdaASTSymbols.CONSTANT); }
72.265 + "case" { return createSymbol(AdaASTSymbols.CASE); }
72.266 + "declare" { return createSymbol(AdaASTSymbols.DECLARE); }
72.267 + "delay" { return createSymbol(AdaASTSymbols.DELAY); }
72.268 + "do" { return createSymbol(AdaASTSymbols.DO); }
72.269 + "delta" { return createSymbol(AdaASTSymbols.DELTA); }
72.270 + "else" { return createSymbol(AdaASTSymbols.ELSE); }
72.271 + "elsif" { return createSymbol(AdaASTSymbols.ELSIF); }
72.272 + "end" { return createSymbol(AdaASTSymbols.END); }
72.273 + "entry" { return createSymbol(AdaASTSymbols.ENTRY); }
72.274 + "exception" { return createSymbol(AdaASTSymbols.EXCEPTION); }
72.275 + "exit" { return createSymbol(AdaASTSymbols.EXIT); }
72.276 + "for" { return createSymbol(AdaASTSymbols.FOR); }
72.277 + "function" { return createSymbol(AdaASTSymbols.FUNCTION); }
72.278 + "generic" { return createSymbol(AdaASTSymbols.GENERIC); }
72.279 + "goto" { return createSymbol(AdaASTSymbols.GOTO); }
72.280 + "if" { return createSymbol(AdaASTSymbols.IF); }
72.281 + "in" { return createSymbol(AdaASTSymbols.IN); }
72.282 + "interface" {
72.283 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005 ||
72.284 + adaVersion == AdaLanguageOptions.AdaVersion.ADA_2012) {
72.285 + return createSymbol(AdaASTSymbols.INTERFACE);
72.286 + }
72.287 + else {
72.288 + return createFullSymbol(AdaASTSymbols.IDENTIFIER);
72.289 + }
72.290 + }
72.291 + "is" { return createSymbol(AdaASTSymbols.IS); }
72.292 + "limited" { return createSymbol(AdaASTSymbols.LIMITED); }
72.293 + "loop" { return createSymbol(AdaASTSymbols.LOOP); }
72.294 + "mod" { return createSymbol(AdaASTSymbols.MOD); }
72.295 + "new" { return createSymbol(AdaASTSymbols.NEW); }
72.296 + "not" { return createSymbol(AdaASTSymbols.NOT); }
72.297 + "null" { return createSymbol(AdaASTSymbols.NULL); }
72.298 + "of" { return createSymbol(AdaASTSymbols.OF); }
72.299 + "or" { return createSymbol(AdaASTSymbols.OR); }
72.300 + "others" { return createSymbol(AdaASTSymbols.OTHERS); }
72.301 + "out" { return createSymbol(AdaASTSymbols.OUT); }
72.302 + "overriding" {
72.303 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005 ||
72.304 + adaVersion == AdaLanguageOptions.AdaVersion.ADA_2012) {
72.305 + return createSymbol(AdaASTSymbols.OVERRIDING);
72.306 + }
72.307 + else {
72.308 + return createFullSymbol(AdaASTSymbols.IDENTIFIER);
72.309 + }
72.310 + }
72.311 + "package" { return createSymbol(AdaASTSymbols.PACKAGE); }
72.312 + "pragma" { return createSymbol(AdaASTSymbols.PRAGMA); }
72.313 + "private" { return createSymbol(AdaASTSymbols.PRIVATE); }
72.314 + "procedure" { return createSymbol(AdaASTSymbols.PROCEDURE); }
72.315 + "protected" {
72.316 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
72.317 + return createSymbol(AdaASTSymbols.PROTECTED);
72.318 + }
72.319 + else {
72.320 + return createSymbol(AdaASTSymbols.IDENTIFIER);
72.321 + }
72.322 + }
72.323 + "return" { return createSymbol(AdaASTSymbols.RETURN); }
72.324 + "reverse" { return createSymbol(AdaASTSymbols.REVERSE); }
72.325 + "raise" { return createSymbol(AdaASTSymbols.RAISE); }
72.326 + "range" { return createSymbol(AdaASTSymbols.RANGE); }
72.327 + "record" { return createSymbol(AdaASTSymbols.RECORD); }
72.328 + "rem" { return createSymbol(AdaASTSymbols.REM); }
72.329 + "renames" { return createSymbol(AdaASTSymbols.RENAMES); }
72.330 + "requeue" {
72.331 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
72.332 + return createSymbol(AdaASTSymbols.REQUEUE);
72.333 + }
72.334 + else {
72.335 + return createSymbol(AdaASTSymbols.IDENTIFIER);
72.336 + }
72.337 + }
72.338 + "select" { return createSymbol(AdaASTSymbols.SELECT); }
72.339 + "separate" { return createSymbol(AdaASTSymbols.SEPARATE); }
72.340 + "some" {
72.341 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2012) {
72.342 + return createSymbol(AdaASTSymbols.SOME);
72.343 + }
72.344 + else {
72.345 + return createFullSymbol(AdaASTSymbols.IDENTIFIER);
72.346 + }
72.347 + }
72.348 + "subtype" { return createSymbol(AdaASTSymbols.SUBTYPE); }
72.349 + "synchronized" {
72.350 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005 ||
72.351 + adaVersion == AdaLanguageOptions.AdaVersion.ADA_2012) {
72.352 + return createSymbol(AdaASTSymbols.SYNCHRONIZED);
72.353 + }
72.354 + else {
72.355 + return createFullSymbol(AdaASTSymbols.IDENTIFIER);
72.356 + }
72.357 + }
72.358 + "tagged" {
72.359 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
72.360 + return createSymbol(AdaASTSymbols.TAGGED);
72.361 + }
72.362 + else {
72.363 + return createSymbol(AdaASTSymbols.IDENTIFIER);
72.364 + }
72.365 + }
72.366 + "task" { return createSymbol(AdaASTSymbols.TASK); }
72.367 + "terminate" { return createSymbol(AdaASTSymbols.TERMINATE); }
72.368 + "then" { return createSymbol(AdaASTSymbols.THEN); }
72.369 + "type" { return createSymbol(AdaASTSymbols.TYPE); }
72.370 + "until" {
72.371 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
72.372 + return createSymbol(AdaASTSymbols.UNTIL);
72.373 + }
72.374 + else {
72.375 + return createSymbol(AdaASTSymbols.IDENTIFIER);
72.376 + }
72.377 + }
72.378 + "use" { return createSymbol(AdaASTSymbols.USE); }
72.379 + "when" { return createSymbol(AdaASTSymbols.WHEN); }
72.380 + "while" { return createSymbol(AdaASTSymbols.WHILE); }
72.381 + "with" { return createSymbol(AdaASTSymbols.WITH); }
72.382 + "xor" { return createSymbol(AdaASTSymbols.XOR); }
72.383 +
72.384 +}
72.385 +
72.386 +// delimiters
72.387 +
72.388 +<YYINITIAL> {
72.389 +
72.390 + "&" { return createSymbol(AdaASTSymbols.AMP); }
72.391 + "'" { return createSymbol(AdaASTSymbols.TICK); }
72.392 + "(" { return createSymbol(AdaASTSymbols.LPAREN); }
72.393 + ")" { return createSymbol(AdaASTSymbols.RPAREN); }
72.394 + "*" { return createSymbol(AdaASTSymbols.STAR); }
72.395 + "+" { return createSymbol(AdaASTSymbols.PLUS); }
72.396 + "," { return createSymbol(AdaASTSymbols.COMMA); }
72.397 + "-" { return createSymbol(AdaASTSymbols.MINUS); }
72.398 + "." { pushState(ST_LOOKING_FOR_PROPERTY);
72.399 + return createSymbol(AdaASTSymbols.DOT);
72.400 + }
72.401 + "/" { return createSymbol(AdaASTSymbols.SLASH); }
72.402 + ":" { return createSymbol(AdaASTSymbols.COLON); }
72.403 + ";" { return createSymbol(AdaASTSymbols.SEMICOLON); }
72.404 + "<" { return createSymbol(AdaASTSymbols.GT); }
72.405 + "=" { return createSymbol(AdaASTSymbols.EQ); }
72.406 + ">" { return createSymbol(AdaASTSymbols.LT); }
72.407 + "|" { return createSymbol(AdaASTSymbols.BAR); }
72.408 + "!" { return createSymbol(AdaASTSymbols.BAR); }
72.409 +
72.410 +}
72.411 +
72.412 +// compound delimiters
72.413 +
72.414 +<YYINITIAL> {
72.415 +
72.416 + "=>" { return createSymbol(AdaASTSymbols.ARROW); }
72.417 + ".." { return createSymbol(AdaASTSymbols.DOT_DOT); }
72.418 + "**" { return createSymbol(AdaASTSymbols.EXPON); }
72.419 + ":=" { return createSymbol(AdaASTSymbols.ASSIGNMENT); }
72.420 + "/=" { return createSymbol(AdaASTSymbols.INEQ); }
72.421 + ">=" { return createSymbol(AdaASTSymbols.GTEQ); }
72.422 + "<=" { return createSymbol(AdaASTSymbols.LTEQ); }
72.423 + "<<" { return createSymbol(AdaASTSymbols.LTLT); }
72.424 + ">>" { return createSymbol(AdaASTSymbols.GTGT); }
72.425 + "<>" { return createSymbol(AdaASTSymbols.BOX); }
72.426 +
72.427 +}
72.428 +
72.429 +<ST_LOOKING_FOR_PROPERTY>"." {
72.430 + return createSymbol(AdaASTSymbols.DOT);
72.431 +}
72.432 +
72.433 +<ST_LOOKING_FOR_PROPERTY>".." {
72.434 + popState();
72.435 + return createSymbol(AdaASTSymbols.DOT_DOT);
72.436 +}
72.437 +
72.438 +<ST_LOOKING_FOR_PROPERTY>{IDENTIFIER} {
72.439 + popState();
72.440 + return createFullSymbol(AdaASTSymbols.IDENTIFIER);
72.441 +}
72.442 +
72.443 +<ST_LOOKING_FOR_PROPERTY>{ANY_CHAR} {
72.444 + yypushback(yylength());
72.445 + popState();
72.446 +}
72.447 +
72.448 +<YYINITIAL>{CHAR_LITERAL} {
72.449 + return createFullSymbol(AdaASTSymbols.CHAR_LITERAL);
72.450 +}
72.451 +
72.452 +<YYINITIAL>{STRING_LITERAL} {
72.453 + return createFullSymbol(AdaASTSymbols.STRING_LITERAL);
72.454 +}
72.455 +
72.456 +<YYINITIAL>{BASED_LITERAL} {
72.457 + return createFullSymbol(AdaASTSymbols.BASED_LITERAL);
72.458 +}
72.459 +
72.460 +<YYINITIAL>{DECIMAL_LITERAL} {
72.461 + return createFullSymbol(AdaASTSymbols.DECIMAL_LITERAL);
72.462 +}
72.463 +
72.464 +<YYINITIAL>{IDENTIFIER} {
72.465 + return createFullSymbol(AdaASTSymbols.IDENTIFIER);
72.466 +}
72.467 +
72.468 +<YYINITIAL>{WHITESPACE} {
72.469 +}
72.470 +
72.471 +<YYINITIAL>"--" {
72.472 + handleCommentStart();
72.473 + yybegin(ST_LINE_COMMENT);
72.474 +}
72.475 +
72.476 +<ST_LINE_COMMENT>[^\n\r]*(ANY_CHAR|{NEWLINE}) {
72.477 + handleLineCommentEnd();
72.478 + yybegin(YYINITIAL);
72.479 +}
72.480 +
72.481 +<YYINITIAL> <<EOF>> {
72.482 + if (yytext().length() > 0) {
72.483 + yypushback(1); // backup eof
72.484 + comment = yytext();
72.485 + }
72.486 + else {
72.487 + return createSymbol(AdaASTSymbols.EOF);
72.488 + }
72.489 +
72.490 +}
72.491 +
72.492 +<YYINITIAL>{ANY_CHAR} {
72.493 + // do nothing
72.494 +}
72.495 \ No newline at end of file
73.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
73.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/AdaASTLexer.skeleton Mon Oct 15 23:38:26 2012 +0200
73.3 @@ -0,0 +1,321 @@
73.4 +
73.5 + /** This character denotes the end of file */
73.6 + public static final int YYEOF = -1;
73.7 +
73.8 + /** initial size of the lookahead buffer */
73.9 +--- private static final int ZZ_BUFFERSIZE = ...;
73.10 +
73.11 + /** lexical states */
73.12 +--- lexical states, charmap
73.13 +
73.14 + /* error codes */
73.15 + private static final int ZZ_UNKNOWN_ERROR = 0;
73.16 + private static final int ZZ_NO_MATCH = 1;
73.17 + private static final int ZZ_PUSHBACK_2BIG = 2;
73.18 +
73.19 + /* error messages for the codes above */
73.20 + private static final String ZZ_ERROR_MSG[] = {
73.21 + "Unkown internal scanner error",
73.22 + "Error: could not match input",
73.23 + "Error: pushback value was too large"
73.24 + };
73.25 +
73.26 +--- isFinal list
73.27 + /** the input device */
73.28 + private java.io.Reader zzReader;
73.29 +
73.30 + /** the current state of the DFA */
73.31 + private int zzState;
73.32 +
73.33 + /** the current lexical state */
73.34 + private int zzLexicalState = YYINITIAL;
73.35 +
73.36 + /** this buffer contains the current text to be matched and is
73.37 + the source of the yytext() string */
73.38 + private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
73.39 +
73.40 + /** the textposition at the last accepting state */
73.41 + private int zzMarkedPos;
73.42 +
73.43 + /** the textposition at the last state to be included in yytext */
73.44 + private int zzPushbackPos;
73.45 +
73.46 + /** the current text position in the buffer */
73.47 + private int zzCurrentPos;
73.48 +
73.49 + /** startRead marks the beginning of the yytext() string in the buffer */
73.50 + private int zzStartRead;
73.51 +
73.52 + /** endRead marks the last character in the buffer, that has been read
73.53 + from input */
73.54 + private int zzEndRead;
73.55 +
73.56 + /** number of newlines encountered up to the start of the matched text */
73.57 + private int yyline;
73.58 +
73.59 + /** the number of characters up to the start of the matched text */
73.60 + private int yychar;
73.61 +
73.62 + /**
73.63 + * the number of characters from the last newline up to the start of the
73.64 + * matched text
73.65 + */
73.66 + private int yycolumn;
73.67 +
73.68 + /**
73.69 + * zzAtBOL == true <=> the scanner is currently at the beginning of a line
73.70 + */
73.71 + private boolean zzAtBOL = true;
73.72 +
73.73 + /** zzAtEOF == true <=> the scanner is at the EOF */
73.74 + private boolean zzAtEOF;
73.75 +
73.76 + /** denotes if the user-EOF-code has already been executed */
73.77 + private boolean zzEOFDone;
73.78 +
73.79 +--- user class code
73.80 +
73.81 + /**
73.82 + * Creates a new scanner
73.83 + * There is also a java.io.InputStream version of this constructor.
73.84 + *
73.85 + * @param in the java.io.Reader to read input from.
73.86 + */
73.87 +--- constructor declaration
73.88 +
73.89 +
73.90 + /**
73.91 + * Refills the input buffer.
73.92 + *
73.93 + * @return <code>false</code>, iff there was new input.
73.94 + *
73.95 + * @exception java.io.IOException if any I/O-Error occurs
73.96 + */
73.97 + private boolean zzRefill() throws java.io.IOException {
73.98 +
73.99 + /* first: make room (if you can) */
73.100 + if (zzStartRead > 0) {
73.101 + System.arraycopy(zzBuffer, zzStartRead,
73.102 + zzBuffer, 0,
73.103 + zzEndRead-zzStartRead);
73.104 +
73.105 + /* translate stored positions */
73.106 + zzEndRead-= zzStartRead;
73.107 + zzCurrentPos-= zzStartRead;
73.108 + zzMarkedPos-= zzStartRead;
73.109 + zzPushbackPos-= zzStartRead;
73.110 + zzStartRead = 0;
73.111 + }
73.112 +
73.113 + /* is the buffer big enough? */
73.114 + if (zzCurrentPos >= zzBuffer.length) {
73.115 + /* if not: blow it up */
73.116 + char newBuffer[] = new char[zzCurrentPos*2];
73.117 + System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
73.118 + zzBuffer = newBuffer;
73.119 + }
73.120 +
73.121 + /* finally: fill the buffer with new input */
73.122 + int numRead = zzReader.read(zzBuffer, zzEndRead,
73.123 + zzBuffer.length-zzEndRead);
73.124 +
73.125 + if (numRead < 0) {
73.126 + return true;
73.127 + }
73.128 + else {
73.129 + zzEndRead+= numRead;
73.130 + return false;
73.131 + }
73.132 + }
73.133 +
73.134 +
73.135 + /**
73.136 + * Closes the input stream.
73.137 + */
73.138 + public final void yyclose() throws java.io.IOException {
73.139 + zzAtEOF = true; /* indicate end of file */
73.140 + zzEndRead = zzStartRead; /* invalidate buffer */
73.141 +
73.142 + if (zzReader != null)
73.143 + zzReader.close();
73.144 + }
73.145 +
73.146 +
73.147 + /**
73.148 + * Resets the scanner to read from a new input stream.
73.149 + * Does not close the old reader.
73.150 + *
73.151 + * All internal variables are reset, the old input stream
73.152 + * <b>cannot</b> be reused (internal buffer is discarded and lost).
73.153 + * Lexical state is set to <tt>ZZ_INITIAL</tt>.
73.154 + *
73.155 + * @param reader the new input stream
73.156 + */
73.157 + public final void yyreset(java.io.Reader reader) {
73.158 + zzReader = reader;
73.159 + zzAtBOL = true;
73.160 + zzAtEOF = false;
73.161 + zzEOFDone = false;
73.162 + zzEndRead = zzStartRead = 0;
73.163 + zzCurrentPos = zzMarkedPos = zzPushbackPos = 0;
73.164 + yyline = yychar = yycolumn = 0;
73.165 + zzLexicalState = YYINITIAL;
73.166 + }
73.167 +
73.168 +
73.169 + /**
73.170 + * Returns the current lexical state.
73.171 + */
73.172 + public final int yystate() {
73.173 + return zzLexicalState;
73.174 + }
73.175 +
73.176 +
73.177 + /**
73.178 + * Enters a new lexical state
73.179 + *
73.180 + * @param newState the new lexical state
73.181 + */
73.182 + public final void yybegin(int newState) {
73.183 + zzLexicalState = newState;
73.184 + }
73.185 +
73.186 +
73.187 + /**
73.188 + * Returns the text matched by the current regular expression.
73.189 + */
73.190 + public final String yytext() {
73.191 + return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead );
73.192 + }
73.193 +
73.194 +
73.195 + /**
73.196 + * Returns the character at position <tt>pos</tt> from the
73.197 + * matched text.
73.198 + *
73.199 + * It is equivalent to yytext().charAt(pos), but faster
73.200 + *
73.201 + * @param pos the position of the character to fetch.
73.202 + * A value from 0 to yylength()-1.
73.203 + *
73.204 + * @return the character at position pos
73.205 + */
73.206 + public final char yycharat(int pos) {
73.207 + return zzBuffer[zzStartRead+pos];
73.208 + }
73.209 +
73.210 +
73.211 + /**
73.212 + * Returns the length of the matched text region.
73.213 + */
73.214 + public final int yylength() {
73.215 + return zzMarkedPos-zzStartRead;
73.216 + }
73.217 +
73.218 +
73.219 + /**
73.220 + * Reports an error that occured while scanning.
73.221 + *
73.222 + * In a wellformed scanner (no or only correct usage of
73.223 + * yypushback(int) and a match-all fallback rule) this method
73.224 + * will only be called with things that "Can't Possibly Happen".
73.225 + * If this method is called, something is seriously wrong
73.226 + * (e.g. a JFlex bug producing a faulty scanner etc.).
73.227 + *
73.228 + * Usual syntax/scanner level error handling should be done
73.229 + * in error fallback rules.
73.230 + *
73.231 + * @param errorCode the code of the errormessage to display
73.232 + */
73.233 +--- zzScanError declaration
73.234 + String message;
73.235 + try {
73.236 + message = ZZ_ERROR_MSG[errorCode];
73.237 + }
73.238 + catch (ArrayIndexOutOfBoundsException e) {
73.239 + message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
73.240 + }
73.241 +
73.242 +--- throws clause
73.243 + }
73.244 +
73.245 +
73.246 + /**
73.247 + * Pushes the specified amount of characters back into the input stream.
73.248 + *
73.249 + * They will be read again by then next call of the scanning method
73.250 + *
73.251 + * @param number the number of characters to be read again.
73.252 + * This number must not be greater than yylength()!
73.253 + */
73.254 +--- yypushback decl (contains zzScanError exception)
73.255 + if ( number > yylength() )
73.256 + zzScanError(ZZ_PUSHBACK_2BIG);
73.257 +
73.258 + zzMarkedPos -= number;
73.259 + }
73.260 +
73.261 +
73.262 +--- zzDoEOF
73.263 + /**
73.264 + * Resumes scanning until the next regular expression is matched,
73.265 + * the end of input is encountered or an I/O-Error occurs.
73.266 + *
73.267 + * @return the next token
73.268 + * @exception java.io.IOException if any I/O-Error occurs
73.269 + */
73.270 +--- yylex declaration
73.271 + int zzInput;
73.272 + int zzAction;
73.273 +
73.274 + // cached fields:
73.275 + int zzCurrentPosL;
73.276 + int zzMarkedPosL;
73.277 + int zzEndReadL = zzEndRead;
73.278 + char [] zzBufferL = zzBuffer;
73.279 + char [] zzCMapL = ZZ_CMAP;
73.280 +
73.281 +--- local declarations
73.282 +
73.283 + while (true) {
73.284 + zzMarkedPosL = zzMarkedPos;
73.285 +
73.286 +--- start admin (line, char, col count)
73.287 + zzAction = -1;
73.288 +
73.289 + zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
73.290 +
73.291 +--- start admin (lexstate etc)
73.292 +
73.293 + zzForAction: {
73.294 + while (true) {
73.295 +
73.296 +--- next input, line, col, char count, next transition, isFinal action
73.297 + zzAction = zzState;
73.298 + zzMarkedPosL = zzCurrentPosL;
73.299 +--- line count update
73.300 + }
73.301 +
73.302 + }
73.303 + }
73.304 +
73.305 + // store back cached position
73.306 + zzMarkedPos = zzMarkedPosL;
73.307 +--- char count update
73.308 +
73.309 +--- actions
73.310 + default:
73.311 + if (zzInput == YYEOF && (zzStartRead == zzCurrentPos)) {
73.312 + zzAtEOF = true;
73.313 +--- eofvalue
73.314 + }
73.315 + else {
73.316 +--- no match
73.317 + }
73.318 + }
73.319 + }
73.320 + }
73.321 +
73.322 +--- main
73.323 +
73.324 +}
74.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
74.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/AdaSyntaxLexer.flex Mon Oct 15 23:38:26 2012 +0200
74.3 @@ -0,0 +1,882 @@
74.4 +/*
74.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
74.6 + *
74.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
74.8 + *
74.9 + * The contents of this file are subject to the terms of either the GNU
74.10 + * General Public License Version 2 only ("GPL") or the Common
74.11 + * Development and Distribution License("CDDL") (collectively, the
74.12 + * "License"). You may not use this file except in compliance with the
74.13 + * License. You can obtain a copy of the License at
74.14 + * http://www.netbeans.org/cddl-gplv2.html
74.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
74.16 + * specific language governing permissions and limitations under the
74.17 + * License. When distributing the software, include this License Header
74.18 + * Notice in each file and include the License file at
74.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
74.20 + * particular file as subject to the "Classpath" exception as provided
74.21 + * by Sun in the GPL Version 2 section of the License file that
74.22 + * accompanied this code. If applicable, add the following below the
74.23 + * License Header, with the fields enclosed by brackets [] replaced by
74.24 + * your own identifying information:
74.25 + * "Portions Copyrighted [year] [name of copyright owner]"
74.26 + *
74.27 + * If you wish your version of this file to be governed by only the CDDL
74.28 + * or only the GPL Version 2, indicate your decision by adding
74.29 + * "[Contributor] elects to include this software in this distribution
74.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
74.31 + * single choice of license, a recipient has the option to distribute
74.32 + * your version of this file under either the CDDL, the GPL Version 2 or
74.33 + * to extend the choice of license to its licensees as provided above.
74.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
74.35 + * Version 2 license, then the option applies only if the new code is
74.36 + * made subject to such option by the copyright holder.
74.37 + *
74.38 + * Contributor(s):
74.39 + *
74.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
74.41 + */
74.42 +package org.netbeans.modules.ada.editor.lexer;
74.43 +
74.44 +import org.netbeans.spi.lexer.LexerInput;
74.45 +import org.netbeans.spi.lexer.LexerRestartInfo;
74.46 +import org.netbeans.modules.ada.project.api.AdaLanguageOptions;
74.47 +
74.48 +%%
74.49 +
74.50 +%public
74.51 +%class AdaSyntaxLexer
74.52 +%type AdaTokenId
74.53 +%function nextToken
74.54 +%unicode
74.55 +%caseless
74.56 +%char
74.57 +
74.58 +%state ST_LOOKING_FOR_PROPERTY
74.59 +%state ST_CHAR_LITERAL
74.60 +%state ST_LINE_COMMENT
74.61 +%state ST_HIGHLIGHTING_ERROR
74.62 +
74.63 +%eofval{
74.64 + if(input.readLength() > 0) {
74.65 + // backup eof
74.66 + input.backup(1);
74.67 + //and return the text as error token
74.68 + return AdaTokenId.UNKNOWN_TOKEN;
74.69 + } else {
74.70 + return null;
74.71 + }
74.72 +%eofval}
74.73 +
74.74 +%{
74.75 +
74.76 + private StateStack stack = new StateStack();
74.77 +
74.78 + private AdaLanguageOptions.AdaVersion adaVersion = AdaLanguageOptions.AdaVersion.ADA_95;
74.79 +
74.80 + private LexerInput input;
74.81 +
74.82 + public AdaSyntaxLexer(LexerRestartInfo info, AdaLanguageOptions.AdaVersion adaVersion) {
74.83 + this.input = info.input();
74.84 + this.adaVersion = adaVersion;
74.85 +
74.86 + if(info.state() != null) {
74.87 + //reset state
74.88 + setState((LexerState)info.state());
74.89 + } else {
74.90 + //initial state
74.91 + zzState = zzLexicalState = YYINITIAL;
74.92 + stack.clear();
74.93 + }
74.94 +
74.95 + }
74.96 +
74.97 + public static final class LexerState {
74.98 + final StateStack stack;
74.99 + /** the current state of the DFA */
74.100 + final int zzState;
74.101 + /** the current lexical state */
74.102 + final int zzLexicalState;
74.103 + final AdaLanguageOptions.AdaVersion adaVersion;
74.104 +
74.105 + LexerState (StateStack stack, int zzState, int zzLexicalState, AdaLanguageOptions.AdaVersion adaVersion) {
74.106 + this.stack = stack;
74.107 + this.zzState = zzState;
74.108 + this.zzLexicalState = zzLexicalState;
74.109 + this.adaVersion = adaVersion;
74.110 + }
74.111 +
74.112 + @Override
74.113 + public boolean equals(Object obj) {
74.114 + if (this == obj) {
74.115 + return true;
74.116 + }
74.117 +
74.118 + if (obj == null || obj.getClass() != this.getClass()) {
74.119 + return false;
74.120 + }
74.121 +
74.122 + LexerState state = (LexerState) obj;
74.123 + return (this.stack.equals(state.stack)
74.124 + && (this.zzState == state.zzState)
74.125 + && (this.adaVersion == state.adaVersion)
74.126 + && (this.zzLexicalState == state.zzLexicalState));
74.127 + }
74.128 +
74.129 + @Override
74.130 + public int hashCode() {
74.131 + int hash = 11;
74.132 + hash = 31 * hash + this.zzState;
74.133 + hash = 31 * hash + this.zzLexicalState;
74.134 + hash = 31 * hash + this.stack.hashCode();
74.135 + return hash;
74.136 + }
74.137 + }
74.138 +
74.139 + public LexerState getState() {
74.140 + return new LexerState(stack.createClone(), zzState, zzLexicalState, adaVersion);
74.141 + }
74.142 +
74.143 + public void setState(LexerState state) {
74.144 + this.stack.copyFrom(state.stack);
74.145 + this.zzState = state.zzState;
74.146 + this.zzLexicalState = state.zzLexicalState;
74.147 + this.adaVersion = state.adaVersion;
74.148 + }
74.149 +
74.150 + public int[] getParamenters(){
74.151 + return new int[]{zzMarkedPos, zzPushbackPos, zzCurrentPos, zzStartRead, zzEndRead, yyline, zzLexicalState};
74.152 + }
74.153 +
74.154 + protected int getZZLexicalState() {
74.155 + return zzLexicalState;
74.156 + }
74.157 +
74.158 + protected int getZZMarkedPos() {
74.159 + return zzMarkedPos;
74.160 + }
74.161 +
74.162 + protected int getZZEndRead() {
74.163 + return zzEndRead;
74.164 + }
74.165 +
74.166 + public char[] getZZBuffer() {
74.167 + return zzBuffer;
74.168 + }
74.169 +
74.170 + protected int getZZStartRead() {
74.171 + return this.zzStartRead;
74.172 + }
74.173 +
74.174 + protected int getZZPushBackPosition() {
74.175 + return this.zzPushbackPos;
74.176 + }
74.177 +
74.178 + protected void pushBack(int i) {
74.179 + yypushback(i);
74.180 + }
74.181 +
74.182 + protected void popState() {
74.183 + yybegin(stack.popStack());
74.184 + }
74.185 +
74.186 + protected void pushState(final int state) {
74.187 + stack.pushStack(getZZLexicalState());
74.188 + yybegin(state);
74.189 + }
74.190 +
74.191 +
74.192 + // End user code
74.193 +
74.194 +%}
74.195 +
74.196 +/*********************************************************
74.197 + * *
74.198 + * Ada 83, 95, 2005 and 2012 Lexer, based on: *
74.199 + * *
74.200 + * 1. Ada 83 Reference Manual *
74.201 + * 2. Ada Reference Manual *
74.202 + * ISO/IEC 8652:1995(E) *
74.203 + * with Technical Corrigendum 1 *
74.204 + * Language and Standard Libraries *
74.205 + * Copyright © 1992,1993,1994,1995 Intermetrics, Inc. *
74.206 + * Copyright © 2000 The MITRE Corporation, Inc. *
74.207 + * 3. http://www.adaic.com/standards/95lrm/lexer9x.l *
74.208 + * 4. Ada Reference Manual *
74.209 + * ISO/IEC 8652:201z Ed. 3 *
74.210 + * with Technical Corrigendum 1 *
74.211 + * and Amendment 1 *
74.212 + * and Amendment 2 (Draft 10) *
74.213 + * Language and Standard Libraries *
74.214 + * Copyright © 1992,1993,1994,1995 Intermetrics, Inc. *
74.215 + * Copyright © 2000 The MITRE Corporation, Inc. *
74.216 + * Copyright © 2004, 2005, 2006 AXE Consultants *
74.217 + * Copyright © 2004, 2005, 2006 Ada-Europe *
74.218 + * Copyright © 2008, 2009, 2010 AXE Consultants *
74.219 + * *
74.220 + * Author: Andrea Lucarelli *
74.221 + * Lexer Generator: JFlex *
74.222 + * *
74.223 + *********************************************************/
74.224 +
74.225 +DIGIT=[0-9]
74.226 +EXTENDED_DIGIT=[0-9a-fA-F]
74.227 +INTEGER=({DIGIT}(_?{DIGIT})*)
74.228 +EXPONENT=([eE](\+?|-){INTEGER})
74.229 +DECIMAL_LITERAL={INTEGER}(\.?{INTEGER})?{EXPONENT}?
74.230 +BASE={INTEGER}
74.231 +BASED_INTEGER={EXTENDED_DIGIT}(_?{EXTENDED_DIGIT})*
74.232 +BASED_LITERAL={BASE}(#|:){BASED_INTEGER}(\.{BASED_INTEGER})?(#|:){EXPONENT}?
74.233 +IDENTIFIER=[a-zA-Z]("_"?[a-zA-Z0-9])*
74.234 +WHITESPACE=[ \n\r\t]+
74.235 +STRING_LITERAL=\"(\"\"|[^\n\"])*\"
74.236 +CHAR_LITERAL=\'[^\n]\'
74.237 +WHITESPACE=[ \n\r\t]+
74.238 +NEWLINE=("\r"|"\n"|"\r\n")
74.239 +ANY_CHAR=(.|[\n])
74.240 +
74.241 +%%
74.242 +
74.243 +// Ada 83, 95 and 2005 keywords
74.244 +
74.245 +<YYINITIAL> {
74.246 +
74.247 + "abort" { return AdaTokenId.ABORT; }
74.248 + "abs" { return AdaTokenId.ABS; }
74.249 + "abstract" {
74.250 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.251 + return AdaTokenId.ABSTRACT;
74.252 + }
74.253 + else {
74.254 + return AdaTokenId.IDENTIFIER;
74.255 + }
74.256 + }
74.257 + "access" { return AdaTokenId.ACCESS; }
74.258 + "accept" { return AdaTokenId.ACCEPT; }
74.259 + "aliased" {
74.260 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.261 + return AdaTokenId.ALIASED;
74.262 + }
74.263 + else {
74.264 + return AdaTokenId.IDENTIFIER;
74.265 + }
74.266 + }
74.267 + "all" { return AdaTokenId.ALL; }
74.268 + "and" { return AdaTokenId.AND; }
74.269 + "array" { return AdaTokenId.ARRAY; }
74.270 + "at" { return AdaTokenId.AT; }
74.271 + "begin" { return AdaTokenId.BEGIN; }
74.272 + "body" { return AdaTokenId.BODY; }
74.273 + "constant" { return AdaTokenId.CONSTANT; }
74.274 + "case" { return AdaTokenId.CASE; }
74.275 + "declare" { return AdaTokenId.DECLARE; }
74.276 + "delay" { return AdaTokenId.DELAY; }
74.277 + "delta" { return AdaTokenId.DELTA; }
74.278 + "digits" { return AdaTokenId.DIGITS; }
74.279 + "do" { return AdaTokenId.DO; }
74.280 + "else" { return AdaTokenId.ELSE; }
74.281 + "elsif" { return AdaTokenId.ELSIF; }
74.282 + "end" { return AdaTokenId.END; }
74.283 + "entry" { return AdaTokenId.ENTRY; }
74.284 + "exception" { return AdaTokenId.EXCEPTION; }
74.285 + "exit" { return AdaTokenId.EXIT; }
74.286 + "for" { return AdaTokenId.FOR; }
74.287 + "function" { return AdaTokenId.FUNCTION; }
74.288 + "generic" { return AdaTokenId.GENERIC; }
74.289 + "goto" { return AdaTokenId.GOTO; }
74.290 + "if" { return AdaTokenId.IF; }
74.291 + "in" { return AdaTokenId.IN; }
74.292 + "interface" {
74.293 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005 ||
74.294 + adaVersion == AdaLanguageOptions.AdaVersion.ADA_2012) {
74.295 + return AdaTokenId.INTERFACE;
74.296 + }
74.297 + else {
74.298 + return AdaTokenId.IDENTIFIER;
74.299 + }
74.300 + }
74.301 + "is" { return AdaTokenId.IS; }
74.302 + "limited" { return AdaTokenId.LIMITED; }
74.303 + "loop" { return AdaTokenId.LOOP; }
74.304 + "mod" { return AdaTokenId.MOD; }
74.305 + "new" { return AdaTokenId.NEW; }
74.306 + "not" { return AdaTokenId.NOT; }
74.307 + "null" { return AdaTokenId.NULL; }
74.308 + "of" { return AdaTokenId.OF; }
74.309 + "or" { return AdaTokenId.OR; }
74.310 + "others" { return AdaTokenId.OTHERS; }
74.311 + "out" { return AdaTokenId.OUT; }
74.312 + "overriding" {
74.313 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005 ||
74.314 + adaVersion == AdaLanguageOptions.AdaVersion.ADA_2012) {
74.315 + return AdaTokenId.OVERRIDING;
74.316 + }
74.317 + else {
74.318 + return AdaTokenId.IDENTIFIER;
74.319 + }
74.320 + }
74.321 + "package" { return AdaTokenId.PACKAGE; }
74.322 + "pragma" { return AdaTokenId.PRAGMA; }
74.323 + "private" { return AdaTokenId.PRIVATE; }
74.324 + "procedure" { return AdaTokenId.PROCEDURE; }
74.325 + "protected" {
74.326 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.327 + return AdaTokenId.PROTECTED;
74.328 + }
74.329 + else {
74.330 + return AdaTokenId.IDENTIFIER;
74.331 + }
74.332 + }
74.333 + "raise" { return AdaTokenId.RAISE; }
74.334 + "range" { return AdaTokenId.RANGE; }
74.335 + "record" { return AdaTokenId.RECORD; }
74.336 + "rem" { return AdaTokenId.REM; }
74.337 + "renames" { return AdaTokenId.RENAMES; }
74.338 + "return" { return AdaTokenId.RETURN; }
74.339 + "reverse" { return AdaTokenId.REVERSE; }
74.340 + "requeue" {
74.341 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.342 + return AdaTokenId.REQUEUE;
74.343 + }
74.344 + else {
74.345 + return AdaTokenId.IDENTIFIER;
74.346 + }
74.347 + }
74.348 + "select" { return AdaTokenId.SELECT; }
74.349 + "separate" { return AdaTokenId.SEPARATE; }
74.350 + "some" {
74.351 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2012) {
74.352 + return AdaTokenId.SOME;
74.353 + }
74.354 + else {
74.355 + return AdaTokenId.IDENTIFIER;
74.356 + }
74.357 + }
74.358 + "subtype" { return AdaTokenId.SUBTYPE; }
74.359 + "synchronized" {
74.360 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005 ||
74.361 + adaVersion == AdaLanguageOptions.AdaVersion.ADA_2012) {
74.362 + return AdaTokenId.SYNCHRONIZED;
74.363 + }
74.364 + else {
74.365 + return AdaTokenId.IDENTIFIER;
74.366 + }
74.367 + }
74.368 + "tagged" {
74.369 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.370 + return AdaTokenId.TAGGED;
74.371 + }
74.372 + else {
74.373 + return AdaTokenId.IDENTIFIER;
74.374 + }
74.375 + }
74.376 + "task" { return AdaTokenId.TASK; }
74.377 + "terminate" { return AdaTokenId.TERMINATE; }
74.378 + "then" { return AdaTokenId.THEN; }
74.379 + "type" { return AdaTokenId.TYPE; }
74.380 + "until" {
74.381 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.382 + return AdaTokenId.UNTIL;
74.383 + }
74.384 + else {
74.385 + return AdaTokenId.IDENTIFIER;
74.386 + }
74.387 + }
74.388 + "use" { return AdaTokenId.USE; }
74.389 + "when" { return AdaTokenId.WHEN; }
74.390 + "while" { return AdaTokenId.WHILE; }
74.391 + "with" { return AdaTokenId.WITH; }
74.392 + "xor" { return AdaTokenId.XOR; }
74.393 +
74.394 +}
74.395 +
74.396 +// Ada 95 compound keywords
74.397 +
74.398 +<YYINITIAL> {
74.399 + "end case" { return AdaTokenId.END_CASE; }
74.400 + "end if" { return AdaTokenId.END_IF; }
74.401 + "end loop" { return AdaTokenId.END_LOOP; }
74.402 +}
74.403 +
74.404 +// attributes
74.405 +
74.406 +<YYINITIAL> {
74.407 +
74.408 + \'"access" {
74.409 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.410 + return AdaTokenId.ATTRIBUTE;
74.411 + }
74.412 + }
74.413 + \'"address" { return AdaTokenId.ATTRIBUTE; }
74.414 + \'"adjacent" {
74.415 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.416 + return AdaTokenId.ATTRIBUTE;
74.417 + }
74.418 + }
74.419 + \'"aft" { return AdaTokenId.ATTRIBUTE; }
74.420 + \'"alignment" {
74.421 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.422 + return AdaTokenId.ATTRIBUTE;
74.423 + }
74.424 + }
74.425 + \'"base" { return AdaTokenId.ATTRIBUTE; }
74.426 + \'"bit_order" {
74.427 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.428 + return AdaTokenId.ATTRIBUTE;
74.429 + }
74.430 + }
74.431 + \'"body_version" {
74.432 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.433 + return AdaTokenId.ATTRIBUTE;
74.434 + }
74.435 + }
74.436 + \'"callable" { return AdaTokenId.ATTRIBUTE; }
74.437 + \'"caller" {
74.438 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.439 + return AdaTokenId.ATTRIBUTE;
74.440 + }
74.441 + }
74.442 + \'"ceiling" {
74.443 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.444 + return AdaTokenId.ATTRIBUTE;
74.445 + }
74.446 + }
74.447 + \'"class" {
74.448 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.449 + return AdaTokenId.ATTRIBUTE;
74.450 + }
74.451 + }
74.452 + \'"component_size" {
74.453 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.454 + return AdaTokenId.ATTRIBUTE;
74.455 + }
74.456 + }
74.457 + \'"compose" {
74.458 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.459 + return AdaTokenId.ATTRIBUTE;
74.460 + }
74.461 + }
74.462 + \'"constrained" { return AdaTokenId.ATTRIBUTE; }
74.463 + \'"copy_sign" {
74.464 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.465 + return AdaTokenId.ATTRIBUTE;
74.466 + }
74.467 + }
74.468 + \'"count" { return AdaTokenId.ATTRIBUTE; }
74.469 + \'"delta" { return AdaTokenId.ATTRIBUTE; }
74.470 + \'"denorm" {
74.471 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.472 + return AdaTokenId.ATTRIBUTE;
74.473 + }
74.474 + }
74.475 + \'"digits" { return AdaTokenId.ATTRIBUTE; }
74.476 + \'"exponent" {
74.477 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.478 + return AdaTokenId.ATTRIBUTE;
74.479 + }
74.480 + }
74.481 + \'"external_tag" {
74.482 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.483 + return AdaTokenId.ATTRIBUTE;
74.484 + }
74.485 + }
74.486 + \'"emax" {
74.487 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_83) {
74.488 + return AdaTokenId.ATTRIBUTE;
74.489 + }
74.490 + }
74.491 + \'"epsilon" {
74.492 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_83) {
74.493 + return AdaTokenId.ATTRIBUTE;
74.494 + }
74.495 + }
74.496 + \'"first" { return AdaTokenId.ATTRIBUTE; }
74.497 + \'"first_bit" { return AdaTokenId.ATTRIBUTE; }
74.498 + \'"floor" {
74.499 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.500 + return AdaTokenId.ATTRIBUTE;
74.501 + }
74.502 + }
74.503 + \'"fore" { return AdaTokenId.ATTRIBUTE; }
74.504 + \'"fraction" {
74.505 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.506 + return AdaTokenId.ATTRIBUTE;
74.507 + }
74.508 + }
74.509 + \'"identity" {
74.510 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.511 + return AdaTokenId.ATTRIBUTE;
74.512 + }
74.513 + }
74.514 + \'"image" { return AdaTokenId.ATTRIBUTE; }
74.515 + \'"input" {
74.516 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.517 + return AdaTokenId.ATTRIBUTE;
74.518 + }
74.519 + }
74.520 + \'"large" {
74.521 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_83) {
74.522 + return AdaTokenId.ATTRIBUTE;
74.523 + }
74.524 + }
74.525 + \'"last" { return AdaTokenId.ATTRIBUTE; }
74.526 + \'"last_bit" { return AdaTokenId.ATTRIBUTE; }
74.527 + \'"leading_part" {
74.528 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.529 + return AdaTokenId.ATTRIBUTE;
74.530 + }
74.531 + }
74.532 + \'"length" { return AdaTokenId.ATTRIBUTE; }
74.533 + \'"machine" {
74.534 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.535 + return AdaTokenId.ATTRIBUTE;
74.536 + }
74.537 + }
74.538 + \'"machine_emax" { return AdaTokenId.ATTRIBUTE; }
74.539 + \'"machine_emin" { return AdaTokenId.ATTRIBUTE; }
74.540 + \'"machine_mantissa" { return AdaTokenId.ATTRIBUTE; }
74.541 + \'"machine_overflows" { return AdaTokenId.ATTRIBUTE; }
74.542 + \'"machine_radix" { return AdaTokenId.ATTRIBUTE; }
74.543 + \'"machine_rounding" {
74.544 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005) {
74.545 + return AdaTokenId.ATTRIBUTE;
74.546 + }
74.547 + }
74.548 + \'"machine_rounds" { return AdaTokenId.ATTRIBUTE; }
74.549 + \'"max" { return AdaTokenId.ATTRIBUTE; }
74.550 + \'"mantissa" {
74.551 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_83) {
74.552 + return AdaTokenId.ATTRIBUTE;
74.553 + }
74.554 + }
74.555 + \'"max_size_in_storage_elements" {
74.556 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.557 + return AdaTokenId.ATTRIBUTE;
74.558 + }
74.559 + }
74.560 + \'"min" {
74.561 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.562 + return AdaTokenId.ATTRIBUTE;
74.563 + }
74.564 + }
74.565 + \'"model" {
74.566 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.567 + return AdaTokenId.ATTRIBUTE;
74.568 + }
74.569 + }
74.570 + \'"model_emin" {
74.571 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.572 + return AdaTokenId.ATTRIBUTE;
74.573 + }
74.574 + }
74.575 + \'"model_epsilon" {
74.576 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.577 + return AdaTokenId.ATTRIBUTE;
74.578 + }
74.579 + }
74.580 + \'"model_mantissa" {
74.581 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.582 + return AdaTokenId.ATTRIBUTE;
74.583 + }
74.584 + }
74.585 + \'"model_small" {
74.586 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.587 + return AdaTokenId.ATTRIBUTE;
74.588 + }
74.589 + }
74.590 + \'"modulus" {
74.591 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.592 + return AdaTokenId.ATTRIBUTE;
74.593 + }
74.594 + }
74.595 + \'"output" {
74.596 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.597 + return AdaTokenId.ATTRIBUTE;
74.598 + }
74.599 + }
74.600 + \'"partition_id" {
74.601 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.602 + return AdaTokenId.ATTRIBUTE;
74.603 + }
74.604 + }
74.605 + \'"pos" { return AdaTokenId.ATTRIBUTE; }
74.606 + \'"position" { return AdaTokenId.ATTRIBUTE; }
74.607 + \'"pred" { return AdaTokenId.ATTRIBUTE; }
74.608 + \'"priority" {
74.609 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005) {
74.610 + return AdaTokenId.ATTRIBUTE;
74.611 + }
74.612 + }
74.613 + \'"range" { return AdaTokenId.ATTRIBUTE; }
74.614 + \'"read" {
74.615 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.616 + return AdaTokenId.ATTRIBUTE;
74.617 + }
74.618 + }
74.619 + \'"remainder" {
74.620 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.621 + return AdaTokenId.ATTRIBUTE;
74.622 + }
74.623 + }
74.624 + \'"round" {
74.625 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.626 + return AdaTokenId.ATTRIBUTE;
74.627 + }
74.628 + }
74.629 + \'"rounding" {
74.630 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.631 + return AdaTokenId.ATTRIBUTE;
74.632 + }
74.633 + }
74.634 + \'"safe_emax" {
74.635 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_83) {
74.636 + return AdaTokenId.ATTRIBUTE;
74.637 + }
74.638 + }
74.639 + \'"safe_first" {
74.640 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.641 + return AdaTokenId.ATTRIBUTE;
74.642 + }
74.643 + }
74.644 + \'"safe_last" {
74.645 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.646 + return AdaTokenId.ATTRIBUTE;
74.647 + }
74.648 + }
74.649 + \'"safe_large" {
74.650 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_83) {
74.651 + return AdaTokenId.ATTRIBUTE;
74.652 + }
74.653 + }
74.654 + \'"safe_small" {
74.655 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_83) {
74.656 + return AdaTokenId.ATTRIBUTE;
74.657 + }
74.658 + }
74.659 + \'"scale" {
74.660 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.661 + return AdaTokenId.ATTRIBUTE;
74.662 + }
74.663 + }
74.664 + \'"scaling" {
74.665 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.666 + return AdaTokenId.ATTRIBUTE;
74.667 + }
74.668 + }
74.669 + \'"signed_zeros" {
74.670 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.671 + return AdaTokenId.ATTRIBUTE;
74.672 + }
74.673 + }
74.674 + \'"size" { return AdaTokenId.ATTRIBUTE; }
74.675 + \'"small" { return AdaTokenId.ATTRIBUTE; }
74.676 + \'"storage_pool" {
74.677 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.678 + return AdaTokenId.ATTRIBUTE;
74.679 + }
74.680 + }
74.681 + \'"storage_size" { return AdaTokenId.ATTRIBUTE; }
74.682 + \'"stream_size" {
74.683 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005) {
74.684 + return AdaTokenId.ATTRIBUTE;
74.685 + }
74.686 + }
74.687 + \'"succ" { return AdaTokenId.ATTRIBUTE; }
74.688 + \'"tag" {
74.689 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.690 + return AdaTokenId.ATTRIBUTE;
74.691 + }
74.692 + }
74.693 + \'"terminated" { return AdaTokenId.ATTRIBUTE; }
74.694 + \'"truncation" {
74.695 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.696 + return AdaTokenId.ATTRIBUTE;
74.697 + }
74.698 + }
74.699 + \'"unbiased_rounding" {
74.700 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.701 + return AdaTokenId.ATTRIBUTE;
74.702 + }
74.703 + }
74.704 + \'"unchecked_access" {
74.705 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.706 + return AdaTokenId.ATTRIBUTE;
74.707 + }
74.708 + }
74.709 + \'"val" { return AdaTokenId.ATTRIBUTE; }
74.710 + \'"valid" {
74.711 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.712 + return AdaTokenId.ATTRIBUTE;
74.713 + }
74.714 + }
74.715 + \'"value" { return AdaTokenId.ATTRIBUTE; }
74.716 + \'"version" {
74.717 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.718 + return AdaTokenId.ATTRIBUTE;
74.719 + }
74.720 + }
74.721 + \'"wide_image" {
74.722 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.723 + return AdaTokenId.ATTRIBUTE;
74.724 + }
74.725 + }
74.726 + \'"wide_value" {
74.727 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.728 + return AdaTokenId.ATTRIBUTE;
74.729 + }
74.730 + }
74.731 + \'"wide_wide_image" {
74.732 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005) {
74.733 + return AdaTokenId.ATTRIBUTE;
74.734 + }
74.735 + }
74.736 + \'"wide_wide_value" {
74.737 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005) {
74.738 + return AdaTokenId.ATTRIBUTE;
74.739 + }
74.740 + }
74.741 + \'"wide_wide_width" {
74.742 + if (adaVersion == AdaLanguageOptions.AdaVersion.ADA_2005) {
74.743 + return AdaTokenId.ATTRIBUTE;
74.744 + }
74.745 + }
74.746 + \'"wide_width" {
74.747 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.748 + return AdaTokenId.ATTRIBUTE;
74.749 + }
74.750 + }
74.751 + \'"width" { return AdaTokenId.ATTRIBUTE; }
74.752 + \'"write" {
74.753 + if (adaVersion != AdaLanguageOptions.AdaVersion.ADA_83) {
74.754 + return AdaTokenId.ATTRIBUTE;
74.755 + }
74.756 + }
74.757 +}
74.758 +
74.759 +// delimiters
74.760 +
74.761 +<YYINITIAL> {
74.762 +
74.763 + "&" { return AdaTokenId.AMP; }
74.764 + "'" { return AdaTokenId.TICK; }
74.765 + "(" { return AdaTokenId.LPAREN; }
74.766 + ")" { return AdaTokenId.RPAREN; }
74.767 + "*" { return AdaTokenId.STAR; }
74.768 + "+" { return AdaTokenId.PLUS; }
74.769 + "," { return AdaTokenId.COMMA; }
74.770 + "-" { return AdaTokenId.MINUS; }
74.771 + "." { pushState(ST_LOOKING_FOR_PROPERTY);
74.772 + return AdaTokenId.DOT;
74.773 + }
74.774 + "/" { return AdaTokenId.SLASH; }
74.775 + ":" { return AdaTokenId.COLON; }
74.776 + ";" { return AdaTokenId.SEMICOLON; }
74.777 + "<" { return AdaTokenId.GT; }
74.778 + "=" { return AdaTokenId.EQ; }
74.779 + ">" { return AdaTokenId.LT; }
74.780 + "|" { return AdaTokenId.BAR; }
74.781 + "!" { return AdaTokenId.BAR; }
74.782 +
74.783 +}
74.784 +
74.785 +// compound delimiters
74.786 +
74.787 +<YYINITIAL> {
74.788 +
74.789 + "=>" { return AdaTokenId.ARROW; }
74.790 + ".." { return AdaTokenId.DOT_DOT; }
74.791 + "**" { return AdaTokenId.EXPON; }
74.792 + ":=" { return AdaTokenId.ASSIGNMENT; }
74.793 + "/=" { return AdaTokenId.INEQ; }
74.794 + ">=" { return AdaTokenId.GTEQ; }
74.795 + "<=" { return AdaTokenId.LTEQ; }
74.796 + "<<" { return AdaTokenId.LTLT; }
74.797 + ">>" { return AdaTokenId.GTGT; }
74.798 + "<>" { return AdaTokenId.BOX; }
74.799 +
74.800 +}
74.801 +
74.802 +<YYINITIAL> {
74.803 +
74.804 + "boolean" { return AdaTokenId.BOOLEAN; }
74.805 + "character" { return AdaTokenId.CHARACTER; }
74.806 + "float" { return AdaTokenId.FLOAT; }
74.807 + "integer" { return AdaTokenId.INTEGER; }
74.808 + "wide_character" { return AdaTokenId.WIDE_CHARACTER; }
74.809 + "true" { return AdaTokenId.TRUE; }
74.810 + "false" { return AdaTokenId.FALSE; }
74.811 +
74.812 +}
74.813 +
74.814 +<ST_LOOKING_FOR_PROPERTY>"." {
74.815 + return AdaTokenId.DOT;
74.816 +}
74.817 +
74.818 +<ST_LOOKING_FOR_PROPERTY>".." {
74.819 + popState();
74.820 + return AdaTokenId.DOT_DOT;
74.821 +}
74.822 +
74.823 +<ST_LOOKING_FOR_PROPERTY>{IDENTIFIER} {
74.824 + popState();
74.825 + return AdaTokenId.IDENTIFIER;
74.826 +}
74.827 +
74.828 +<ST_LOOKING_FOR_PROPERTY>{ANY_CHAR} {
74.829 + yypushback(1);
74.830 + popState();
74.831 +}
74.832 +
74.833 +<YYINITIAL>{IDENTIFIER} {
74.834 + return AdaTokenId.IDENTIFIER;
74.835 +}
74.836 +
74.837 +<ST_HIGHLIGHTING_ERROR> {
74.838 + {WHITESPACE} {
74.839 + popState();
74.840 + return AdaTokenId.WHITESPACE;
74.841 + }
74.842 + . {
74.843 + return AdaTokenId.UNKNOWN_TOKEN;
74.844 + }
74.845 +}
74.846 +
74.847 +<YYINITIAL>{WHITESPACE} {
74.848 + return AdaTokenId.WHITESPACE;
74.849 +}
74.850 +
74.851 +<YYINITIAL>{DECIMAL_LITERAL} {
74.852 + return AdaTokenId.DECIMAL_LITERAL;
74.853 +}
74.854 +
74.855 +<YYINITIAL>{BASED_LITERAL} {
74.856 + return AdaTokenId.BASED_LITERAL;
74.857 +}
74.858 +
74.859 +<YYINITIAL>{STRING_LITERAL} {
74.860 + return AdaTokenId.STRING_LITERAL;
74.861 +}
74.862 +
74.863 +<YYINITIAL>{CHAR_LITERAL} {
74.864 + return AdaTokenId.CHAR_LITERAL;
74.865 +}
74.866 +
74.867 +<YYINITIAL>"--" {
74.868 + pushState(ST_LINE_COMMENT);
74.869 + return AdaTokenId.COMMENT;
74.870 +}
74.871 +
74.872 +<ST_LINE_COMMENT>[^\n\r]*{ANY_CHAR} {
74.873 + popState();
74.874 + return AdaTokenId.COMMENT;
74.875 +}
74.876 +
74.877 +<ST_LINE_COMMENT>{NEWLINE} {
74.878 + popState();
74.879 + return AdaTokenId.COMMENT;
74.880 +}
74.881 +
74.882 +<YYINITIAL>. {
74.883 + yypushback(1);
74.884 + pushState(ST_HIGHLIGHTING_ERROR);
74.885 +}
75.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
75.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/AdaSyntaxLexer.skeleton Mon Oct 15 23:38:26 2012 +0200
75.3 @@ -0,0 +1,285 @@
75.4 +
75.5 + /** This character denotes the end of file */
75.6 + public static final int YYEOF = LexerInput.EOF;
75.7 +
75.8 + /** initial size of the lookahead buffer */
75.9 +--- private static final int ZZ_BUFFERSIZE = ...;
75.10 +
75.11 + /** lexical states */
75.12 +--- lexical states, charmap
75.13 +
75.14 + /* error codes */
75.15 + private static final int ZZ_UNKNOWN_ERROR = 0;
75.16 + private static final int ZZ_NO_MATCH = 1;
75.17 + private static final int ZZ_PUSHBACK_2BIG = 2;
75.18 +
75.19 + /* error messages for the codes above */
75.20 + private static final String ZZ_ERROR_MSG[] = {
75.21 + "Unkown internal scanner error",
75.22 + "Error: could not match input",
75.23 + "Error: pushback value was too large"
75.24 + };
75.25 +
75.26 +--- isFinal list
75.27 + /** the input device */
75.28 + private java.io.Reader zzReader;
75.29 +
75.30 + /** the current state of the DFA */
75.31 + private int zzState;
75.32 +
75.33 + /** the current lexical state */
75.34 + private int zzLexicalState = YYINITIAL;
75.35 +
75.36 + /** this buffer contains the current text to be matched and is
75.37 + the source of the yytext() string */
75.38 + private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
75.39 +
75.40 + /** the textposition at the last accepting state */
75.41 + private int zzMarkedPos;
75.42 +
75.43 + /** the textposition at the last state to be included in yytext */
75.44 + private int zzPushbackPos;
75.45 +
75.46 + /** the current text position in the buffer */
75.47 + private int zzCurrentPos;
75.48 +
75.49 + /** startRead marks the beginning of the yytext() string in the buffer */
75.50 + private int zzStartRead;
75.51 +
75.52 + /** endRead marks the last character in the buffer, that has been read
75.53 + from input */
75.54 + private int zzEndRead;
75.55 +
75.56 + /** number of newlines encountered up to the start of the matched text */
75.57 + private int yyline;
75.58 +
75.59 + /** the number of characters up to the start of the matched text */
75.60 + private int yychar;
75.61 +
75.62 + /**
75.63 + * the number of characters from the last newline up to the start of the
75.64 + * matched text
75.65 + */
75.66 + private int yycolumn;
75.67 +
75.68 + /**
75.69 + * zzAtBOL == true <=> the scanner is currently at the beginning of a line
75.70 + */
75.71 + private boolean zzAtBOL = true;
75.72 +
75.73 + /** zzAtEOF == true <=> the scanner is at the EOF */
75.74 + private boolean zzAtEOF = false;
75.75 +
75.76 +--- user class code
75.77 +
75.78 + /**
75.79 + * Creates a new scanner
75.80 + * There is also a java.io.InputStream version of this constructor.
75.81 + *
75.82 + * @param in the java.io.Reader to read input from.
75.83 + */
75.84 +--- constructor declaration
75.85 +
75.86 +
75.87 +
75.88 + /**
75.89 + * Closes the input stream.
75.90 + */
75.91 + public final void yyclose() throws java.io.IOException {
75.92 + zzAtEOF = true; /* indicate end of file */
75.93 + zzEndRead = zzStartRead; /* invalidate buffer */
75.94 +
75.95 + if (zzReader != null)
75.96 + zzReader.close();
75.97 + }
75.98 +
75.99 +
75.100 + /**
75.101 + * Resets the scanner to read from a new input stream.
75.102 + * Does not close the old reader.
75.103 + *
75.104 + * All internal variables are reset, the old input stream
75.105 + * <b>cannot</b> be reused (internal buffer is discarded and lost).
75.106 + * Lexical state is set to <tt>ZZ_INITIAL</tt>.
75.107 + *
75.108 + * @param reader the new input stream
75.109 + */
75.110 + public final void yyreset(java.io.Reader reader) {
75.111 + zzReader = reader;
75.112 + zzAtBOL = true;
75.113 + zzAtEOF = false;
75.114 + zzEndRead = zzStartRead = 0;
75.115 + zzCurrentPos = zzMarkedPos = zzPushbackPos = 0;
75.116 + yyline = yychar = yycolumn = 0;
75.117 + zzLexicalState = YYINITIAL;
75.118 + }
75.119 +
75.120 +
75.121 + /**
75.122 + * Returns the current lexical state.
75.123 + */
75.124 + public final int yystate() {
75.125 + return zzLexicalState;
75.126 + }
75.127 +
75.128 +
75.129 + /**
75.130 + * Enters a new lexical state
75.131 + *
75.132 + * @param newState the new lexical state
75.133 + */
75.134 + public final void yybegin(int newState) {
75.135 + zzLexicalState = newState;
75.136 + }
75.137 +
75.138 +
75.139 + /**
75.140 + * Returns the text matched by the current regular expression.
75.141 + */
75.142 + public final String yytext() {
75.143 + return input.readText().toString();
75.144 + }
75.145 +
75.146 +
75.147 + /**
75.148 + * Returns the character at position <tt>pos</tt> from the
75.149 + * matched text.
75.150 + *
75.151 + * It is equivalent to yytext().charAt(pos), but faster
75.152 + *
75.153 + * @param pos the position of the character to fetch.
75.154 + * A value from 0 to yylength()-1.
75.155 + *
75.156 + * @return the character at position pos
75.157 + */
75.158 + public final char yycharat(int pos) {
75.159 + return input.readText().charAt(pos);
75.160 + }
75.161 +
75.162 +
75.163 + /**
75.164 + * Returns the length of the matched text region.
75.165 + */
75.166 + public final int yylength() {
75.167 + return input.readLength();
75.168 + }
75.169 +
75.170 +
75.171 + /**
75.172 + * Reports an error that occured while scanning.
75.173 + *
75.174 + * In a wellformed scanner (no or only correct usage of
75.175 + * yypushback(int) and a match-all fallback rule) this method
75.176 + * will only be called with things that "Can't Possibly Happen".
75.177 + * If this method is called, something is seriously wrong
75.178 + * (e.g. a JFlex bug producing a faulty scanner etc.).
75.179 + *
75.180 + * Usual syntax/scanner level error handling should be done
75.181 + * in error fallback rules.
75.182 + *
75.183 + * @param errorCode the code of the errormessage to display
75.184 + */
75.185 +--- zzScanError declaration
75.186 + String message;
75.187 + try {
75.188 + message = ZZ_ERROR_MSG[errorCode];
75.189 + }
75.190 + catch (ArrayIndexOutOfBoundsException e) {
75.191 + message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
75.192 + }
75.193 +
75.194 +--- throws clause
75.195 + }
75.196 +
75.197 +
75.198 + /**
75.199 + * Pushes the specified amount of characters back into the input stream.
75.200 + *
75.201 + * They will be read again by then next call of the scanning method
75.202 + *
75.203 + * @param number the number of characters to be read again.
75.204 + * This number must not be greater than yylength()!
75.205 + */
75.206 +--- yypushback decl (contains zzScanError exception)
75.207 + if ( number > yylength() )
75.208 + zzScanError(ZZ_PUSHBACK_2BIG);
75.209 +
75.210 + input.backup(number);
75.211 + //zzMarkedPos -= number;
75.212 + }
75.213 +
75.214 +
75.215 +--- zzDoEOF
75.216 + /**
75.217 + * Resumes scanning until the next regular expression is matched,
75.218 + * the end of input is encountered or an I/O-Error occurs.
75.219 + *
75.220 + * @return the next token
75.221 + * @exception java.io.IOException if any I/O-Error occurs
75.222 + */
75.223 +--- yylex declaration
75.224 + int zzInput;
75.225 + int zzAction;
75.226 +
75.227 + // cached fields:
75.228 + //int zzCurrentPosL;
75.229 + //int zzMarkedPosL;
75.230 + //int zzEndReadL = zzEndRead;
75.231 + //char [] zzBufferL = zzBuffer;
75.232 + char [] zzCMapL = ZZ_CMAP;
75.233 +
75.234 +--- local declarations
75.235 +
75.236 + while (true) {
75.237 + //zzMarkedPosL = zzMarkedPos;
75.238 +
75.239 +--- start admin (line, char, col count)
75.240 + zzAction = -1;
75.241 +
75.242 + //zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
75.243 + int tokenLength = 0;
75.244 +
75.245 +--- start admin (lexstate etc)
75.246 +
75.247 + zzForAction: {
75.248 + while (true) {
75.249 + zzInput = input.read();
75.250 +
75.251 + if(zzInput == LexerInput.EOF) {
75.252 + //end of input reached
75.253 + zzInput = YYEOF;
75.254 + break zzForAction;
75.255 + //notice: currently LexerInput.EOF == YYEOF
75.256 + }
75.257 +
75.258 +--- line, col, char count, next transition, isFinal action
75.259 + zzAction = zzState;
75.260 + tokenLength = input.readLength();
75.261 +--- line count update
75.262 + }
75.263 +
75.264 + }
75.265 + }
75.266 +
75.267 + // store back cached position
75.268 + if(zzInput != YYEOF) {
75.269 + input.backup(input.readLength() - tokenLength);
75.270 + }
75.271 +--- char count update
75.272 +
75.273 +--- actions
75.274 + default:
75.275 + if (zzInput == YYEOF)
75.276 + //zzAtEOF = true;
75.277 +--- eofvalue
75.278 +
75.279 + else {
75.280 +--- no match
75.281 + }
75.282 + }
75.283 + }
75.284 + }
75.285 +
75.286 +--- main
75.287 +
75.288 +}
76.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaDeclarationFinder.java Tue Oct 02 21:55:21 2012 -0400
76.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaDeclarationFinder.java Mon Oct 15 23:38:26 2012 +0200
76.3 @@ -38,7 +38,6 @@
76.4 */
76.5 package org.netbeans.modules.ada.editor.navigator;
76.6
76.7 -import java.io.IOException;
76.8 import java.util.Collections;
76.9 import java.util.LinkedList;
76.10 import java.util.List;
76.11 @@ -180,7 +179,8 @@
76.12
76.13 public String getDisplayHtml(HtmlFormatter formatter) {
76.14 formatter.reset();
76.15 - ElementKind ek = null;
76.16 + ElementKind ek = el.getKind();
76.17 +
76.18 switch (k) {
76.19 case SUBPROG_SPEC:
76.20 case SUBPROG_BODY:
77.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaInstantRenamer.java Tue Oct 02 21:55:21 2012 -0400
77.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaInstantRenamer.java Mon Oct 15 23:38:26 2012 +0200
77.3 @@ -51,7 +51,7 @@
77.4 public class AdaInstantRenamer implements InstantRenamer {
77.5
77.6 public boolean isRenameAllowed(ParserResult info, int caretOffset, String[] explanationRetValue) {
77.7 - // TODO: to implement.
77.8 + // TODO: to implement.
77.9 return true;
77.10 }
77.11
78.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaOccurrencesFinder.java Tue Oct 02 21:55:21 2012 -0400
78.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaOccurrencesFinder.java Mon Oct 15 23:38:26 2012 +0200
78.3 @@ -156,15 +156,12 @@
78.4
78.5 @Override
78.6 public void visit(TypeDeclaration node) {
78.7 - LOGGER.fine("called visist(TypeDeclaration): " + node.getTypeName().getName());
78.8 boolean found = false;
78.9 if (element instanceof SemiAttribute.PackageMemberElement) {
78.10 - LOGGER.fine("package element: " + node.getTypeName().getName());
78.11 SemiAttribute.PackageMemberElement pkgEl = (SemiAttribute.PackageMemberElement) element;
78.12 Identifier type = node.getTypeName();
78.13 String typeName = type.getName();
78.14 if (pkgName != null && pkgEl.getPackageName().equals(pkgName) && pkgEl.getName().equals(typeName)) {
78.15 - LOGGER.fine("if: " + node.getTypeName().getName());
78.16 memberDeclaration.add(type);
78.17 usages.add(type);
78.18 found = true;
78.19 @@ -177,15 +174,12 @@
78.20
78.21 @Override
78.22 public void visit(SingleFieldDeclaration node) {
78.23 - LOGGER.fine("called visist(SingleFieldDeclaration): " + CodeUtils.extractVariableName(node.getName()));
78.24 boolean found = false;
78.25 if (element instanceof SemiAttribute.PackageMemberElement) {
78.26 - LOGGER.fine("package element: " + CodeUtils.extractVariableName(node.getName()));
78.27 SemiAttribute.PackageMemberElement pkgEl = (SemiAttribute.PackageMemberElement) element;
78.28 Variable variable = node.getName();
78.29 String varName = CodeUtils.extractVariableName(variable);
78.30 if (pkgName != null && pkgEl.getPackageName().equals(pkgName) && pkgEl.getName().equals(varName)) {
78.31 - LOGGER.fine("if: " + CodeUtils.extractVariableName(node.getName()));
78.32 memberDeclaration.add(variable);
78.33 usages.add(variable);
78.34 found = true;
78.35 @@ -266,7 +260,7 @@
78.36 usages.add(parameterName);
78.37 }
78.38 }
78.39 - TypeName parameterType = node.getParameterType();
78.40 + TypeName parameterType = CodeUtils.extractType(node.getParameterType());
78.41 if (parameterType != null) {
78.42 String name = parameterType.getTypeName().getName();
78.43 if (name != null && element == attribute.getElement(parameterType)) {
78.44 @@ -301,10 +295,15 @@
78.45 }
78.46 }.scan(ASTUtils.getRoot(parameter));
78.47
78.48 + int occur = 0;
78.49 for (ASTNode n : usages) {
78.50 OffsetRange forNode = forNode(n, element.getKind());
78.51 + if (n instanceof Identifier) {
78.52 + LOGGER.fine("result " + occur + ": " + ((Identifier)n).getName());
78.53 + LOGGER.fine("result " + occur + ": " + forNode);
78.54 + occur++;
78.55 + }
78.56 if (forNode != null) {
78.57 - LOGGER.fine("usage item: " + forNode);
78.58 result.add(forNode);
78.59 }
78.60 }
79.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/navigator/NavUtils.java Tue Oct 02 21:55:21 2012 -0400
79.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/navigator/NavUtils.java Mon Oct 15 23:38:26 2012 +0200
79.3 @@ -46,7 +46,6 @@
79.4 import org.netbeans.modules.ada.editor.ast.ASTNode;
79.5 import org.netbeans.modules.ada.editor.ast.ASTUtils;
79.6 import org.netbeans.modules.ada.editor.ast.nodes.FormalParameter;
79.7 -import org.netbeans.modules.ada.editor.ast.nodes.Identifier;
79.8 import org.netbeans.modules.ada.editor.ast.nodes.PackageBody;
79.9 import org.netbeans.modules.ada.editor.ast.nodes.PackageName;
79.10 import org.netbeans.modules.ada.editor.ast.nodes.PackageSpecification;
79.11 @@ -54,6 +53,7 @@
79.12 import org.netbeans.modules.ada.editor.ast.nodes.SubprogramBody;
79.13 import org.netbeans.modules.ada.editor.ast.nodes.SubprogramSpecification;
79.14 import org.netbeans.modules.ada.editor.ast.nodes.TypeDeclaration;
79.15 +import org.netbeans.modules.ada.editor.ast.nodes.TypeName;
79.16 import org.netbeans.modules.ada.editor.ast.nodes.Variable;
79.17 import org.netbeans.modules.ada.editor.ast.nodes.With;
79.18 import org.netbeans.modules.ada.editor.ast.nodes.visitors.DefaultVisitor;
79.19 @@ -142,6 +142,12 @@
79.20 continue;
79.21 }
79.22
79.23 + if (leaf instanceof TypeName) {
79.24 + result = a.getElement(leaf);
79.25 + previous = leaf;
79.26 + continue;
79.27 + }
79.28 +
79.29 if (leaf instanceof Scalar) {
79.30 AttributedElement e = a.getElement(leaf);
79.31
79.32 @@ -160,13 +166,13 @@
79.33
79.34 if (leaf instanceof PackageSpecification) {
79.35 PackageSpecification cDeclaration = (PackageSpecification) leaf;
79.36 - //class declaration
79.37 + //package specification declaration
79.38 if (cDeclaration.getName() == previous) {
79.39 return a.getElement(leaf);
79.40 }
79.41 } else if (leaf instanceof PackageBody) {
79.42 PackageBody iDeclaration = (PackageBody) leaf;
79.43 - //class declaration
79.44 + //package body declaration
79.45 if (iDeclaration.getName() == previous) {
79.46 return a.getElement(leaf);
79.47 }
80.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/navigator/SemiAttribute.java Tue Oct 02 21:55:21 2012 -0400
80.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/navigator/SemiAttribute.java Mon Oct 15 23:38:26 2012 +0200
80.3 @@ -73,7 +73,8 @@
80.4 import org.netbeans.modules.ada.editor.ast.nodes.TypeDeclaration;
80.5 import org.netbeans.modules.ada.editor.ast.nodes.TypeName;
80.6 import org.netbeans.modules.ada.editor.ast.nodes.Variable;
80.7 -import org.netbeans.modules.ada.editor.ast.nodes.VariableBase;
80.8 +import org.netbeans.modules.ada.editor.ast.nodes.NameBase;
80.9 +import org.netbeans.modules.ada.editor.ast.nodes.TypeAccess;
80.10 import org.netbeans.modules.ada.editor.ast.nodes.visitors.DefaultVisitor;
80.11 import org.netbeans.modules.ada.editor.indexer.AdaIndex;
80.12 import org.netbeans.modules.ada.editor.indexer.IndexedElement;
80.13 @@ -144,7 +145,7 @@
80.14
80.15 @Override
80.16 public void visit(Assignment node) {
80.17 - final VariableBase vb = node.getLeftHandSide();
80.18 + final NameBase vb = node.getLeftHandSide();
80.19
80.20 if (vb instanceof Variable) {
80.21 AttributedType at = null;
80.22 @@ -247,7 +248,7 @@
80.23 public void visit(FormalParameter node) {
80.24 Variable var = null;
80.25 if (node.getParameterName() instanceof Variable) {
80.26 - var = (Variable) node.getParameterName();
80.27 + var = node.getParameterName();
80.28 }
80.29 if (var != null) {
80.30 String name = extractVariableName(var);
80.31 @@ -255,7 +256,14 @@
80.32 scopes.peek().enterWrite(name, Kind.VARIABLE, var);
80.33 }
80.34 }
80.35 - TypeName parameterType = node.getParameterType();
80.36 +
80.37 + TypeName parameterType;
80.38 + if (node.getParameterType() instanceof TypeAccess) {
80.39 + parameterType = ((TypeAccess)node.getParameterType()).getField();
80.40 + } else {
80.41 + parameterType = (TypeName)node.getParameterType();
80.42 + }
80.43 +
80.44 if (parameterType != null) {
80.45 String name = parameterType.getTypeName().getName();
80.46 if (name != null) {
80.47 @@ -539,8 +547,8 @@
80.48
80.49 @CheckForNull
80.50 //TODO converge this method with CodeUtils.extractTypeName()
80.51 - public static String extractTypeName(TypeDeclaration var) {
80.52 - String typeName = CodeUtils.extractTypeName(var);
80.53 + public static String extractTypeName(TypeDeclaration type) {
80.54 + String typeName = CodeUtils.extractTypeName(type);
80.55
80.56 return typeName;
80.57 }
81.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/Ada95ASTParser.java Tue Oct 02 21:55:21 2012 -0400
81.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
81.3 @@ -1,9130 +0,0 @@
81.4 -
81.5 -//----------------------------------------------------
81.6 -// The following code was generated by CUP v0.11a beta 20060608
81.7 -// Tue Sep 22 18:19:43 CEST 2009
81.8 -//----------------------------------------------------
81.9 -
81.10 -package org.netbeans.modules.ada.editor.parser;
81.11 -
81.12 -import java.util.*;
81.13 -import org.netbeans.modules.ada.editor.lexer.Ada95ASTLexer;
81.14 -import org.netbeans.modules.ada.editor.ast.*;
81.15 -import org.netbeans.modules.ada.editor.ast.nodes.*;
81.16 -
81.17 -/** CUP v0.11a beta 20060608 generated parser.
81.18 - * @version Tue Sep 22 18:19:43 CEST 2009
81.19 - */
81.20 -public class Ada95ASTParser extends java_cup.runtime.lr_parser {
81.21 -
81.22 - /** Default constructor. */
81.23 - public Ada95ASTParser() {super();}
81.24 -
81.25 - /** Constructor which sets the default scanner. */
81.26 - public Ada95ASTParser(java_cup.runtime.Scanner s) {super(s);}
81.27 -
81.28 - /** Constructor which sets the default scanner. */
81.29 - public Ada95ASTParser(java_cup.runtime.Scanner s, java_cup.runtime.SymbolFactory sf) {super(s,sf);}
81.30 -
81.31 - /** Production table. */
81.32 - protected static final short _production_table[][] =
81.33 - unpackFromStrings(new String[] {
81.34 - "\000\u0204\000\002\002\004\000\002\170\005\000\002\170" +
81.35 - "\010\000\002\171\003\000\002\171\005\000\002\172\003" +
81.36 - "\000\002\172\005\000\002\173\002\000\002\173\004\000" +
81.37 - "\002\003\003\000\002\003\003\000\002\004\003\000\002" +
81.38 - "\004\003\000\002\002\003\000\002\002\003\000\002\002" +
81.39 - "\003\000\002\002\003\000\002\002\003\000\002\002\003" +
81.40 - "\000\002\002\004\000\002\006\003\000\002\022\010\000" +
81.41 - "\002\023\003\000\002\023\005\000\002\024\002\000\002" +
81.42 - "\024\003\000\002\024\003\000\002\024\004\000\002\142" +
81.43 - "\003\000\002\142\003\000\002\143\002\000\002\143\004" +
81.44 - "\000\002\025\010\000\002\144\007\000\002\177\002\000" +
81.45 - "\002\177\003\000\002\177\005\000\002\145\002\000\002" +
81.46 - "\145\004\000\002\017\003\000\002\017\003\000\002\017" +
81.47 - "\003\000\002\017\003\000\002\017\003\000\002\017\003" +
81.48 - "\000\002\017\003\000\002\017\003\000\002\020\007\000" +
81.49 - "\002\021\004\000\002\021\003\000\002\210\003\000\002" +
81.50 - "\210\003\000\002\212\005\000\002\207\004\000\002\207" +
81.51 - "\006\000\002\207\006\000\002\207\007\000\002\207\007" +
81.52 - "\000\002\211\004\000\002\167\005\000\002\167\005\000" +
81.53 - "\002\167\010\000\002\201\005\000\002\215\003\000\002" +
81.54 - "\215\005\000\002\216\003\000\002\216\003\000\002\202" +
81.55 - "\003\000\002\202\004\000\002\217\003\000\002\220\002" +
81.56 - "\000\002\220\003\000\002\203\003\000\002\203\003\000" +
81.57 - "\002\221\005\000\002\222\005\000\002\222\007\000\002" +
81.58 - "\204\003\000\002\204\003\000\002\223\010\000\002\224" +
81.59 - "\006\000\002\227\004\000\002\230\002\000\002\230\003" +
81.60 - "\000\002\225\003\000\002\225\005\000\002\226\005\000" +
81.61 - "\002\231\005\000\002\232\003\000\002\232\005\000\002" +
81.62 - "\166\004\000\002\166\003\000\002\213\002\000\002\213" +
81.63 - "\003\000\002\205\005\000\002\214\007\000\002\214\004" +
81.64 - "\000\002\112\002\000\002\112\003\000\002\112\004\000" +
81.65 - "\002\233\004\000\002\233\004\000\002\233\005\000\002" +
81.66 - "\234\003\000\002\234\005\000\002\236\003\000\002\236" +
81.67 - "\005\000\002\235\007\000\002\235\004\000\002\200\005" +
81.68 - "\000\002\240\003\000\002\240\005\000\002\241\007\000" +
81.69 - "\002\241\003\000\002\242\002\000\002\242\003\000\002" +
81.70 - "\237\012\000\002\243\003\000\002\243\004\000\002\244" +
81.71 - "\007\000\002\161\003\000\002\161\005\000\002\245\003" +
81.72 - "\000\002\245\003\000\002\245\003\000\002\246\004\000" +
81.73 - "\002\246\003\000\002\206\004\000\002\206\005\000\002" +
81.74 - "\206\005\000\002\206\006\000\002\206\010\000\002\247" +
81.75 - "\002\000\002\247\003\000\002\012\002\000\002\012\003" +
81.76 - "\000\002\007\002\000\002\007\003\000\002\010\003\000" +
81.77 - "\002\010\004\000\002\011\003\000\002\011\003\000\002" +
81.78 - "\011\003\000\002\011\003\000\002\011\003\000\002\011" +
81.79 - "\003\000\002\011\003\000\002\011\003\000\002\013\003" +
81.80 - "\000\002\013\004\000\002\251\003\000\002\251\003\000" +
81.81 - "\002\110\003\000\002\110\003\000\002\110\003\000\002" +
81.82 - "\110\003\000\002\015\003\000\002\015\003\000\002\015" +
81.83 - "\003\000\002\015\003\000\002\026\003\000\002\026\003" +
81.84 - "\000\002\026\003\000\002\026\003\000\002\026\003\000" +
81.85 - "\002\146\003\000\002\146\005\000\002\146\005\000\002" +
81.86 - "\027\003\000\002\140\003\000\002\140\005\000\002\133" +
81.87 - "\003\000\002\133\005\000\002\160\003\000\002\164\006" +
81.88 - "\000\002\165\003\000\002\165\005\000\002\253\003\000" +
81.89 - "\002\253\003\000\002\253\003\000\002\253\003\000\002" +
81.90 - "\030\005\000\002\030\005\000\002\030\005\000\002\030" +
81.91 - "\005\000\002\163\005\000\002\252\003\000\002\252\003" +
81.92 - "\000\002\252\003\000\002\252\003\000\002\154\003\000" +
81.93 - "\002\154\003\000\002\154\003\000\002\154\003\000\002" +
81.94 - "\255\005\000\002\255\005\000\002\255\007\000\002\255" +
81.95 - "\010\000\002\255\006\000\002\256\005\000\002\256\005" +
81.96 - "\000\002\254\005\000\002\037\003\000\002\037\003\000" +
81.97 - "\002\037\003\000\002\257\004\000\002\257\004\000\002" +
81.98 - "\040\003\000\002\040\003\000\002\040\003\000\002\040" +
81.99 - "\003\000\002\040\003\000\002\040\003\000\002\260\003" +
81.100 - "\000\002\260\004\000\002\042\003\000\002\042\003\000" +
81.101 - "\002\041\003\000\002\041\003\000\002\041\003\000\002" +
81.102 - "\043\003\000\002\043\003\000\002\043\003\000\002\043" +
81.103 - "\003\000\002\031\003\000\002\031\005\000\002\031\005" +
81.104 - "\000\002\032\003\000\002\032\005\000\002\032\005\000" +
81.105 - "\002\032\005\000\002\033\004\000\002\033\003\000\002" +
81.106 - "\033\005\000\002\034\003\000\002\034\005\000\002\035" +
81.107 - "\003\000\002\035\004\000\002\035\004\000\002\035\005" +
81.108 - "\000\002\036\003\000\002\036\003\000\002\036\003\000" +
81.109 - "\002\036\003\000\002\036\003\000\002\155\003\000\002" +
81.110 - "\155\005\000\002\044\005\000\002\261\004\000\002\261" +
81.111 - "\004\000\002\045\003\000\002\045\004\000\002\150\003" +
81.112 - "\000\002\150\004\000\002\153\003\000\002\153\003\000" +
81.113 - "\002\153\003\000\002\046\003\000\002\046\003\000\002" +
81.114 - "\046\003\000\002\046\003\000\002\046\003\000\002\046" +
81.115 - "\003\000\002\046\003\000\002\046\003\000\002\046\003" +
81.116 - "\000\002\046\003\000\002\046\003\000\002\046\004\000" +
81.117 - "\002\047\003\000\002\047\003\000\002\047\003\000\002" +
81.118 - "\047\003\000\002\047\003\000\002\047\003\000\002\262" +
81.119 - "\005\000\002\050\004\000\002\051\006\000\002\052\010" +
81.120 - "\000\002\053\005\000\002\053\007\000\002\054\003\000" +
81.121 - "\002\055\002\000\002\055\004\000\002\056\012\000\002" +
81.122 - "\057\002\000\002\057\004\000\002\060\006\000\002\061" +
81.123 - "\007\000\002\162\002\000\002\162\004\000\002\063\002" +
81.124 - "\000\002\063\004\000\002\063\005\000\002\266\005\000" +
81.125 - "\002\267\002\000\002\267\003\000\002\062\006\000\002" +
81.126 - "\152\002\000\002\152\003\000\002\064\010\000\002\065" +
81.127 - "\002\000\002\065\004\000\002\066\004\000\002\147\004" +
81.128 - "\000\002\270\002\000\002\270\003\000\002\067\006\000" +
81.129 - "\002\070\002\000\002\070\003\000\002\156\002\000\002" +
81.130 - "\156\004\000\002\104\004\000\002\104\005\000\002\071" +
81.131 - "\005\000\002\005\004\000\002\005\004\000\002\005\006" +
81.132 - "\000\002\072\005\000\002\072\007\000\002\072\004\000" +
81.133 - "\002\102\003\000\002\102\003\000\002\076\002\000\002" +
81.134 - "\076\003\000\002\077\005\000\002\075\003\000\002\075" +
81.135 - "\005\000\002\100\007\000\002\100\004\000\002\101\002" +
81.136 - "\000\002\101\003\000\002\101\003\000\002\101\004\000" +
81.137 - "\002\101\003\000\002\103\003\000\002\074\011\000\002" +
81.138 - "\157\004\000\002\105\004\000\002\105\004\000\002\106" +
81.139 - "\011\000\002\014\002\000\002\014\004\000\002\141\002" +
81.140 - "\000\002\141\003\000\002\107\013\000\002\273\002\000" +
81.141 - "\002\273\003\000\002\111\005\000\002\113\002\000\002" +
81.142 - "\113\003\000\002\114\005\000\002\114\006\000\002\115" +
81.143 - "\003\000\002\115\005\000\002\116\003\000\002\116\005" +
81.144 - "\000\002\117\011\000\002\117\010\000\002\117\003\000" +
81.145 - "\002\120\007\000\002\120\006\000\002\120\010\000\002" +
81.146 - "\120\007\000\002\174\004\000\002\275\005\000\002\275" +
81.147 - "\007\000\002\276\002\000\002\276\010\000\002\301\002" +
81.148 - "\000\002\301\005\000\002\016\013\000\002\175\004\000" +
81.149 - "\002\302\005\000\002\302\007\000\002\303\007\000\002" +
81.150 - "\305\002\000\002\305\004\000\002\304\002\000\002\304" +
81.151 - "\004\000\002\307\003\000\002\307\004\000\002\307\003" +
81.152 - "\000\002\307\003\000\002\306\002\000\002\306\004\000" +
81.153 - "\002\311\003\000\002\311\003\000\002\121\012\000\002" +
81.154 - "\312\003\000\002\312\005\000\002\313\003\000\002\313" +
81.155 - "\003\000\002\313\004\000\002\277\003\000\002\277\005" +
81.156 - "\000\002\310\006\000\002\310\011\000\002\314\010\000" +
81.157 - "\002\314\014\000\002\315\003\000\002\315\010\000\002" +
81.158 - "\300\002\000\002\300\005\000\002\317\003\000\002\264" +
81.159 - "\004\000\002\264\010\000\002\316\005\000\002\320\003" +
81.160 - "\000\002\320\006\000\002\122\005\000\002\122\006\000" +
81.161 - "\002\265\003\000\002\265\003\000\002\265\003\000\002" +
81.162 - "\265\003\000\002\321\011\000\002\325\003\000\002\325" +
81.163 - "\006\000\002\326\002\000\002\326\005\000\002\327\004" +
81.164 - "\000\002\327\004\000\002\327\004\000\002\331\004\000" +
81.165 - "\002\331\004\000\002\322\012\000\002\323\013\000\002" +
81.166 - "\324\012\000\002\330\002\000\002\330\003\000\002\123" +
81.167 - "\005\000\002\124\003\000\002\124\005\000\002\125\003" +
81.168 - "\000\002\126\002\000\002\126\004\000\002\126\004\000" +
81.169 - "\002\127\006\000\002\127\005\000\002\332\002\000\002" +
81.170 - "\332\003\000\002\130\003\000\002\130\003\000\002\130" +
81.171 - "\003\000\002\130\003\000\002\130\003\000\002\130\003" +
81.172 - "\000\002\130\003\000\002\131\003\000\002\131\003\000" +
81.173 - "\002\131\004\000\002\131\004\000\002\131\004\000\002" +
81.174 - "\132\005\000\002\151\007\000\002\134\010\000\002\134" +
81.175 - "\010\000\002\134\006\000\002\134\010\000\002\176\006" +
81.176 - "\000\002\271\004\000\002\271\004\000\002\333\006\000" +
81.177 - "\002\333\010\000\002\334\003\000\002\334\005\000\002" +
81.178 - "\335\003\000\002\335\003\000\002\135\005\000\002\263" +
81.179 - "\005\000\002\263\007\000\002\136\005\000\002\136\005" +
81.180 - "\000\002\274\003\000\002\274\004\000\002\336\004\000" +
81.181 - "\002\336\010\000\002\336\010\000\002\336\012\000\002" +
81.182 - "\336\014\000\002\336\011\000\002\336\003\000\002\337" +
81.183 - "\002\000\002\337\003\000\002\337\005\000\002\341\002" +
81.184 - "\000\002\341\004\000\002\341\004\000\002\340\005\000" +
81.185 - "\002\340\004\000\002\340\004\000\002\340\004\000\002" +
81.186 - "\340\006\000\002\340\004\000\002\340\003\000\002\340" +
81.187 - "\003\000\002\340\003\000\002\340\003\000\002\342\004" +
81.188 - "\000\002\342\006\000\002\342\007\000\002\073\005\000" +
81.189 - "\002\272\006\000\002\343\004\000\002\250\003\000\002" +
81.190 - "\250\003\000\002\250\003\000\002\344\007\000\002\345" +
81.191 - "\013\000\002\347\002\000\002\347\006\000\002\350\002" +
81.192 - "\000\002\350\011\000\002\346\010\000\002\137\004" });
81.193 -
81.194 - /** Access to production table. */
81.195 - public short[][] production_table() {return _production_table;}
81.196 -
81.197 - /** Parse-action table. */
81.198 - protected static final short[][] _action_table =
81.199 - unpackFromStrings(new String[] {
81.200 - "\000\u03db\000\026\002\ufe4e\036\ufe4e\037\ufe4e\056\ufe4e\057" +
81.201 - "\004\060\ufe4e\061\ufe4e\074\ufe4e\104\ufe4e\107\ufe4e\001\002" +
81.202 - "\000\004\144\u03d0\001\002\000\004\002\u03cf\001\002\000" +
81.203 - "\026\002\ufffa\036\ufffa\037\ufffa\056\ufffa\057\ufffa\060\ufffa" +
81.204 - "\061\ufffa\074\ufffa\104\ufffa\107\ufffa\001\002\000\024\002" +
81.205 - "\ufe4f\036\ufe49\037\ufe49\056\ufe49\060\017\061\ufe49\074\ufe49" +
81.206 - "\104\015\107\013\001\002\000\024\036\ufe49\037\ufe49\056" +
81.207 - "\ufe49\057\004\060\017\061\ufe49\074\ufe49\104\015\107\013" +
81.208 - "\001\002\000\024\036\ufe40\037\ufe40\056\ufe40\057\ufe40\060" +
81.209 - "\ufe40\061\ufe40\074\ufe40\104\ufe40\107\ufe40\001\002\000\024" +
81.210 - "\036\ufe3f\037\ufe3f\056\ufe3f\057\ufe3f\060\ufe3f\061\ufe3f\074" +
81.211 - "\ufe3f\104\ufe3f\107\ufe3f\001\002\000\004\144\045\001\002" +
81.212 - "\000\024\002\ufe4d\036\ufe4d\037\ufe4d\056\ufe4d\060\ufe4d\061" +
81.213 - "\ufe4d\074\ufe4d\104\ufe4d\107\ufe4d\001\002\000\010\102\u03ba" +
81.214 - "\144\045\147\205\001\002\000\014\036\027\037\030\056" +
81.215 - "\036\061\021\074\022\001\002\000\014\036\ufe48\037\ufe48" +
81.216 - "\056\ufe48\061\ufe48\074\ufe48\001\002\000\022\003\u012f\036" +
81.217 - "\027\056\u0369\061\021\102\u036b\104\015\107\u036d\144\126" +
81.218 - "\001\002\000\004\144\045\001\002\000\004\113\u0353\001" +
81.219 - "\002\000\026\002\ufe46\036\ufe46\037\ufe46\056\ufe46\057\ufe46" +
81.220 - "\060\ufe46\061\ufe46\074\ufe46\104\ufe46\107\ufe46\001\002\000" +
81.221 - "\004\124\u0352\001\002\000\004\124\u0351\001\002\000\026" +
81.222 - "\002\ufe45\036\ufe45\037\ufe45\056\ufe45\057\ufe45\060\ufe45\061" +
81.223 - "\ufe45\074\ufe45\104\ufe45\107\ufe45\001\002\000\006\144\045" +
81.224 - "\147\205\001\002\000\022\003\ufe27\036\ufe27\056\ufe27\061" +
81.225 - "\ufe27\102\ufe27\104\ufe27\107\ufe27\144\ufe27\001\002\000\026" +
81.226 - "\002\ufe47\036\ufe47\037\ufe47\056\ufe47\057\ufe47\060\ufe47\061" +
81.227 - "\ufe47\074\ufe47\104\ufe47\107\ufe47\001\002\000\026\002\ufe42" +
81.228 - "\036\ufe42\037\ufe42\056\ufe42\057\ufe42\060\ufe42\061\ufe42\074" +
81.229 - "\ufe42\104\ufe42\107\ufe42\001\002\000\026\002\ufe41\036\ufe41" +
81.230 - "\037\ufe41\056\ufe41\057\ufe41\060\ufe41\061\ufe41\074\ufe41\104" +
81.231 - "\ufe41\107\ufe41\001\002\000\026\002\ufffa\036\ufffa\037\ufffa" +
81.232 - "\056\ufffa\057\ufffa\060\ufffa\061\ufffa\074\ufffa\104\ufffa\107" +
81.233 - "\ufffa\001\002\000\010\043\u034b\071\u024e\124\u024d\001\002" +
81.234 - "\000\006\017\044\144\045\001\002\000\004\124\042\001" +
81.235 - "\002\000\026\002\ufe44\036\ufe44\037\ufe44\056\ufe44\057\ufe44" +
81.236 - "\060\ufe44\061\ufe44\074\ufe44\104\ufe44\107\ufe44\001\002\000" +
81.237 - "\026\002\ufe43\036\ufe43\037\ufe43\056\ufe43\057\ufe43\060\ufe43" +
81.238 - "\061\ufe43\074\ufe43\104\ufe43\107\ufe43\001\002\000\050\002" +
81.239 - "\ufeaf\003\ufeaf\016\ufeaf\031\ufeaf\035\ufeaf\036\ufeaf\037\ufeaf" +
81.240 - "\056\ufeaf\057\ufeaf\060\ufeaf\061\ufeaf\062\ufeaf\074\ufeaf\075" +
81.241 - "\ufeaf\077\ufeaf\102\ufeaf\104\ufeaf\107\ufeaf\144\ufeaf\001\002" +
81.242 - "\000\010\043\u0330\071\u032f\121\051\001\002\000\004\144" +
81.243 - "\045\001\002\000\124\013\uff59\015\uff59\025\uff59\026\uff59" +
81.244 - "\042\uff59\043\uff59\045\uff59\046\uff59\050\uff59\053\uff59\063" +
81.245 - "\uff59\066\uff59\070\uff59\071\uff59\101\uff59\104\uff59\105\uff59" +
81.246 - "\107\uff59\110\uff59\111\uff59\112\uff59\113\uff59\114\uff59\115" +
81.247 - "\uff59\116\uff59\117\uff59\120\uff59\121\uff59\122\uff59\124\uff59" +
81.248 - "\125\uff59\126\uff59\127\uff59\130\uff59\131\uff59\132\uff59\133" +
81.249 - "\uff59\134\uff59\135\uff59\136\uff59\137\uff59\001\002\000\022" +
81.250 - "\043\uff58\063\uff58\071\uff58\113\uff58\114\uff58\117\uff58\121" +
81.251 - "\uff58\124\uff58\001\002\000\006\043\050\121\051\001\002" +
81.252 - "\000\040\003\105\016\uff7b\031\uff7b\035\070\036\027\037" +
81.253 - "\030\056\121\057\004\061\021\062\117\075\076\077\060" +
81.254 - "\102\074\104\015\144\126\001\002\000\004\144\045\001" +
81.255 - "\002\000\022\043\uff57\063\uff57\071\uff57\113\uff57\114\uff57" +
81.256 - "\117\uff57\121\uff57\124\uff57\001\002\000\040\003\uff67\016" +
81.257 - "\uff67\031\uff67\035\uff67\036\uff67\037\uff67\056\uff67\057\uff67" +
81.258 - "\061\uff67\062\uff67\075\uff67\077\uff67\102\uff67\104\uff67\144" +
81.259 - "\uff67\001\002\000\004\124\u032e\001\002\000\042\003\uff74" +
81.260 - "\016\uff74\031\uff74\035\uff74\036\uff74\037\uff74\056\uff74\057" +
81.261 - "\uff74\060\uff74\061\uff74\062\uff74\075\uff74\077\uff74\102\uff74" +
81.262 - "\104\uff74\144\uff74\001\002\000\044\003\ufe06\016\ufe06\031" +
81.263 - "\ufe06\032\ufe06\035\ufe06\036\ufe06\037\ufe06\056\ufe06\057\ufe06" +
81.264 - "\060\ufe06\061\ufe06\062\ufe06\075\ufe06\077\ufe06\102\ufe06\104" +
81.265 - "\ufe06\144\ufe06\001\002\000\042\003\ufff2\016\ufff2\031\ufff2" +
81.266 - "\035\ufff2\036\ufff2\037\ufff2\056\ufff2\057\ufff2\060\ufff2\061" +
81.267 - "\ufff2\062\ufff2\075\ufff2\077\ufff2\102\ufff2\104\ufff2\144\ufff2" +
81.268 - "\001\002\000\010\017\u0310\102\u0312\144\045\001\002\000" +
81.269 - "\042\003\ufff8\016\ufff8\031\ufff8\035\ufff8\036\ufff8\037\ufff8" +
81.270 - "\056\ufff8\057\ufff8\060\ufff8\061\ufff8\062\ufff8\075\ufff8\077" +
81.271 - "\ufff8\102\ufff8\104\ufff8\144\ufff8\001\002\000\006\117\155" +
81.272 - "\123\u02fb\001\002\000\042\003\uff75\016\uff75\031\uff75\035" +
81.273 - "\uff75\036\uff75\037\uff75\056\uff75\057\uff75\060\uff75\061\uff75" +
81.274 - "\062\uff75\075\uff75\077\uff75\102\uff75\104\uff75\144\uff75\001" +
81.275 - "\002\000\042\003\uff6f\016\uff6f\031\uff6f\035\uff6f\036\uff6f" +
81.276 - "\037\uff6f\056\uff6f\057\uff6f\060\uff6f\061\uff6f\062\uff6f\075" +
81.277 - "\uff6f\077\uff6f\102\uff6f\104\uff6f\144\uff6f\001\002\000\042" +
81.278 - "\003\ufff0\016\ufff0\031\ufff0\035\ufff0\036\ufff0\037\ufff0\056" +
81.279 - "\ufff0\057\ufff0\060\ufff0\061\ufff0\062\ufff0\075\ufff0\077\ufff0" +
81.280 - "\102\ufff0\104\ufff0\144\ufff0\001\002\000\042\003\ufff6\016" +
81.281 - "\ufff6\031\ufff6\035\ufff6\036\ufff6\037\ufff6\056\ufff6\057\ufff6" +
81.282 - "\060\ufff6\061\ufff6\062\ufff6\075\ufff6\077\ufff6\102\ufff6\104" +
81.283 - "\ufff6\144\ufff6\001\002\000\040\003\105\016\uff7a\031\uff7a" +
81.284 - "\035\070\036\027\037\030\056\121\057\004\061\021\062" +
81.285 - "\117\075\076\077\060\102\074\104\015\144\126\001\002" +
81.286 - "\000\004\144\045\001\002\000\042\003\uff72\016\uff72\031" +
81.287 - "\uff72\035\uff72\036\uff72\037\uff72\056\uff72\057\uff72\060\uff72" +
81.288 - "\061\uff72\062\uff72\075\uff72\077\uff72\102\uff72\104\uff72\144" +
81.289 - "\uff72\001\002\000\040\003\uff68\016\uff68\031\uff68\035\uff68" +
81.290 - "\036\uff68\037\uff68\056\uff68\057\uff68\061\uff68\062\uff68\075" +
81.291 - "\uff68\077\uff68\102\uff68\104\uff68\144\uff68\001\002\000\040" +
81.292 - "\003\uff69\016\uff69\031\uff69\035\uff69\036\uff69\037\uff69\056" +
81.293 - "\uff69\057\uff69\061\uff69\062\uff69\075\uff69\077\uff69\102\uff69" +
81.294 - "\104\uff69\144\uff69\001\002\000\004\144\126\001\002\000" +
81.295 - "\006\016\u015c\031\ufea7\001\002\000\004\144\126\001\002" +
81.296 - "\000\010\043\u024f\071\u024e\124\u024d\001\002\000\042\003" +
81.297 - "\ufe9a\016\ufe9a\031\ufe9a\035\ufe9a\036\ufe9a\037\ufe9a\056\ufe9a" +
81.298 - "\057\ufe9a\060\ufe9a\061\ufe9a\062\ufe9a\075\ufe9a\077\ufe9a\102" +
81.299 - "\ufe9a\104\ufe9a\144\ufe9a\001\002\000\042\003\ufff4\016\ufff4" +
81.300 - "\031\ufff4\035\ufff4\036\ufff4\037\ufff4\056\ufff4\057\ufff4\060" +
81.301 - "\ufff4\061\ufff4\062\ufff4\075\ufff4\077\ufff4\102\ufff4\104\ufff4" +
81.302 - "\144\ufff4\001\002\000\042\003\uff73\016\uff73\031\uff73\035" +
81.303 - "\uff73\036\uff73\037\uff73\056\uff73\057\uff73\060\uff73\061\uff73" +
81.304 - "\062\uff73\075\uff73\077\uff73\102\uff73\104\uff73\144\uff73\001" +
81.305 - "\002\000\006\117\uffeb\123\uffeb\001\002\000\040\003\uff6b" +
81.306 - "\016\uff6b\031\uff6b\035\uff6b\036\uff6b\037\uff6b\056\uff6b\057" +
81.307 - "\uff6b\061\uff6b\062\uff6b\075\uff6b\077\uff6b\102\uff6b\104\uff6b" +
81.308 - "\144\uff6b\001\002\000\004\124\u024c\001\002\000\040\003" +
81.309 - "\uff6a\016\uff6a\031\uff6a\035\uff6a\036\uff6a\037\uff6a\056\uff6a" +
81.310 - "\057\uff6a\061\uff6a\062\uff6a\075\uff6a\077\uff6a\102\uff6a\104" +
81.311 - "\uff6a\144\uff6a\001\002\000\040\003\uff66\016\uff66\031\uff66" +
81.312 - "\035\uff66\036\uff66\037\uff66\056\uff66\057\uff66\061\uff66\062" +
81.313 - "\uff66\075\uff66\077\uff66\102\uff66\104\uff66\144\uff66\001\002" +
81.314 - "\000\042\003\uff70\016\uff70\031\uff70\035\uff70\036\uff70\037" +
81.315 - "\uff70\056\uff70\057\uff70\060\uff70\061\uff70\062\uff70\075\uff70" +
81.316 - "\077\uff70\102\uff70\104\uff70\144\uff70\001\002\000\040\003" +
81.317 - "\uff6d\016\uff6d\031\uff6d\035\uff6d\036\uff6d\037\uff6d\056\uff6d" +
81.318 - "\057\uff6d\061\uff6d\062\uff6d\075\uff6d\077\uff6d\102\uff6d\104" +
81.319 - "\uff6d\144\uff6d\001\002\000\042\003\ufff3\016\ufff3\031\ufff3" +
81.320 - "\035\ufff3\036\ufff3\037\ufff3\056\ufff3\057\ufff3\060\ufff3\061" +
81.321 - "\ufff3\062\ufff3\075\ufff3\077\ufff3\102\ufff3\104\ufff3\144\ufff3" +
81.322 - "\001\002\000\044\003\ufe08\016\ufe08\031\ufe08\032\ufe08\035" +
81.323 - "\ufe08\036\ufe08\037\ufe08\056\ufe08\057\ufe08\060\ufe08\061\ufe08" +
81.324 - "\062\ufe08\075\ufe08\077\ufe08\102\ufe08\104\ufe08\144\ufe08\001" +
81.325 - "\002\000\042\003\uffef\016\uffef\031\uffef\035\uffef\036\uffef" +
81.326 - "\037\uffef\056\uffef\057\uffef\060\uffef\061\uffef\062\uffef\075" +
81.327 - "\uffef\077\uffef\102\uffef\104\uffef\144\uffef\001\002\000\044" +
81.328 - "\003\ufe07\016\ufe07\031\ufe07\032\ufe07\035\ufe07\036\ufe07\037" +
81.329 - "\ufe07\056\ufe07\057\ufe07\060\ufe07\061\ufe07\062\ufe07\075\ufe07" +
81.330 - "\077\ufe07\102\ufe07\104\ufe07\144\ufe07\001\002\000\042\003" +
81.331 - "\ufff1\016\ufff1\031\ufff1\035\ufff1\036\ufff1\037\ufff1\056\ufff1" +
81.332 - "\057\ufff1\060\ufff1\061\ufff1\062\ufff1\075\ufff1\077\ufff1\102" +
81.333 - "\ufff1\104\ufff1\144\ufff1\001\002\000\010\017\135\102\137" +
81.334 - "\144\136\001\002\000\042\003\ufff7\016\ufff7\031\ufff7\035" +
81.335 - "\ufff7\036\ufff7\037\ufff7\056\ufff7\057\ufff7\060\ufff7\061\ufff7" +
81.336 - "\062\ufff7\075\ufff7\077\ufff7\102\ufff7\104\ufff7\144\ufff7\001" +
81.337 - "\002\000\006\017\130\144\045\001\002\000\004\124\127" +
81.338 - "\001\002\000\042\003\uff6e\016\uff6e\031\uff6e\035\uff6e\036" +
81.339 - "\uff6e\037\uff6e\056\uff6e\057\uff6e\060\uff6e\061\uff6e\062\uff6e" +
81.340 - "\075\uff6e\077\uff6e\102\uff6e\104\uff6e\144\uff6e\001\002\000" +
81.341 - "\042\003\ufff5\016\ufff5\031\ufff5\035\ufff5\036\ufff5\037\ufff5" +
81.342 - "\056\ufff5\057\ufff5\060\ufff5\061\ufff5\062\ufff5\075\ufff5\077" +
81.343 - "\ufff5\102\ufff5\104\ufff5\144\ufff5\001\002\000\042\003\uff71" +
81.344 - "\016\uff71\031\uff71\035\uff71\036\uff71\037\uff71\056\uff71\057" +
81.345 - "\uff71\060\uff71\061\uff71\062\uff71\075\uff71\077\uff71\102\uff71" +
81.346 - "\104\uff71\144\uff71\001\002\000\014\043\uffed\113\uffed\117" +
81.347 - "\uffed\123\uffed\124\uffed\001\002\000\042\003\ufe95\016\ufe95" +
81.348 - "\031\ufe95\035\ufe95\036\ufe95\037\ufe95\056\ufe95\057\ufe95\060" +
81.349 - "\ufe95\061\ufe95\062\ufe95\075\ufe95\077\ufe95\102\ufe95\104\ufe95" +
81.350 - "\144\ufe95\001\002\000\004\144\045\001\002\000\006\043" +
81.351 - "\132\121\051\001\002\000\042\003\105\016\uff7b\031\uff7b" +
81.352 - "\035\070\036\027\037\030\056\121\057\004\061\021\062" +
81.353 - "\117\074\133\075\076\077\060\102\074\104\015\144\126" +
81.354 - "\001\002\000\004\124\134\001\002\000\042\003\ufe38\016" +
81.355 - "\ufe38\031\ufe38\035\ufe38\036\ufe38\037\ufe38\056\ufe38\057\ufe38" +
81.356 - "\060\ufe38\061\ufe38\062\ufe38\075\ufe38\077\ufe38\102\ufe38\104" +
81.357 - "\ufe38\144\ufe38\001\002\000\004\144\045\001\002\000\004" +
81.358 - "\043\u0104\001\002\000\004\144\045\001\002\000\006\043" +
81.359 - "\uffdf\113\143\001\002\000\006\043\uffde\124\uffde\001\002" +
81.360 - "\000\004\043\u0104\001\002\000\010\003\145\142\146\144" +
81.361 - "\126\001\002\000\006\117\155\123\156\001\002\000\006" +
81.362 - "\114\uff90\124\uff90\001\002\000\004\114\154\001\002\000" +
81.363 - "\006\114\152\124\151\001\002\000\006\114\uff93\124\uff93" +
81.364 - "\001\002\000\006\003\145\144\126\001\002\000\006\043" +
81.365 - "\uff94\124\uff94\001\002\000\006\114\uff92\124\uff92\001\002" +
81.366 - "\000\006\043\uffdd\124\uffdd\001\002\000\004\144\126\001" +
81.367 - "\002\000\006\007\160\144\uff8f\001\002\000\004\144\045" +
81.368 - "\001\002\000\004\144\uff8e\001\002\000\020\015\uff5c\104" +
81.369 - "\uff5c\112\uff5c\114\uff5c\121\uff5c\124\uff5c\134\uff5c\001\002" +
81.370 - "\000\014\112\165\114\uffe3\121\166\124\uffe3\134\164\001" +
81.371 - "\002\000\006\114\uff91\124\uff91\001\002\000\032\005\213" +
81.372 - "\047\224\050\200\051\227\113\204\116\175\120\217\143" +
81.373 - "\215\144\045\145\176\146\231\147\205\001\002\000\012" +
81.374 - "\007\173\024\174\025\171\144\172\001\002\000\004\144" +
81.375 - "\045\001\002\000\020\015\uff5a\104\uff5a\112\uff5a\114\uff5a" +
81.376 - "\121\uff5a\124\uff5a\134\uff5a\001\002\000\020\015\uff5b\104" +
81.377 - "\uff5b\112\uff5b\114\uff5b\121\uff5b\124\uff5b\134\uff5b\001\002" +
81.378 - "\000\120\013\uff46\015\uff46\025\uff46\042\uff46\043\uff46\045" +
81.379 - "\uff46\046\uff46\050\uff46\053\uff46\066\uff46\070\uff46\071\uff46" +
81.380 - "\101\uff46\104\uff46\105\uff46\107\uff46\110\uff46\111\uff46\112" +
81.381 - "\uff46\113\uff46\114\uff46\115\uff46\116\uff46\117\uff46\120\uff46" +
81.382 - "\121\uff46\122\uff46\124\uff46\125\uff46\126\uff46\127\uff46\130" +
81.383 - "\uff46\131\uff46\132\uff46\133\uff46\134\uff46\135\uff46\136\uff46" +
81.384 - "\137\uff46\001\002\000\120\013\uff47\015\uff47\025\uff47\042" +
81.385 - "\uff47\043\uff47\045\uff47\046\uff47\050\uff47\053\uff47\066\uff47" +
81.386 - "\070\uff47\071\uff47\101\uff47\104\uff47\105\uff47\107\uff47\110" +
81.387 - "\uff47\111\uff47\112\uff47\113\uff47\114\uff47\115\uff47\116\uff47" +
81.388 - "\117\uff47\120\uff47\121\uff47\122\uff47\124\uff47\125\uff47\126" +
81.389 - "\uff47\127\uff47\130\uff47\131\uff47\132\uff47\133\uff47\134\uff47" +
81.390 - "\135\uff47\136\uff47\137\uff47\001\002\000\120\013\uff44\015" +
81.391 - "\uff44\025\uff44\042\uff44\043\uff44\045\uff44\046\uff44\050\uff44" +
81.392 - "\053\uff44\066\uff44\070\uff44\071\uff44\101\uff44\104\uff44\105" +
81.393 - "\uff44\107\uff44\110\uff44\111\uff44\112\uff44\113\uff44\114\uff44" +
81.394 - "\115\uff44\116\uff44\117\uff44\120\uff44\121\uff44\122\uff44\124" +
81.395 - "\uff44\125\uff44\126\uff44\127\uff44\130\uff44\131\uff44\132\uff44" +
81.396 - "\133\uff44\134\uff44\135\uff44\136\uff44\137\uff44\001\002\000" +
81.397 - "\120\013\uff45\015\uff45\025\uff45\042\uff45\043\uff45\045\uff45" +
81.398 - "\046\uff45\050\uff45\053\uff45\066\uff45\070\uff45\071\uff45\101" +
81.399 - "\uff45\104\uff45\105\uff45\107\uff45\110\uff45\111\uff45\112\uff45" +
81.400 - "\113\uff45\114\uff45\115\uff45\116\uff45\117\uff45\120\uff45\121" +
81.401 - "\uff45\122\uff45\124\uff45\125\uff45\126\uff45\127\uff45\130\uff45" +
81.402 - "\131\uff45\132\uff45\133\uff45\134\uff45\135\uff45\136\uff45\137" +
81.403 - "\uff45\001\002\000\026\005\uff2a\047\uff2a\050\uff2a\051\uff2a" +
81.404 - "\113\uff2a\143\uff2a\144\uff2a\145\uff2a\146\uff2a\147\uff2a\001" +
81.405 - "\002\000\104\013\uff43\025\uff43\042\uff43\043\uff43\045\uff43" +
81.406 - "\046\uff43\050\uff43\053\uff43\066\uff43\070\uff43\071\uff43\101" +
81.407 - "\uff43\107\uff43\110\uff43\111\uff43\114\uff43\115\uff43\116\uff43" +
81.408 - "\117\uff43\120\uff43\122\uff43\124\uff43\125\uff43\126\uff43\127" +
81.409 - "\uff43\130\uff43\131\uff43\132\uff43\133\uff43\134\uff43\135\uff43" +
81.410 - "\136\uff43\137\uff43\001\002\000\114\013\uff60\025\uff60\042" +
81.411 - "\uff60\043\uff60\045\uff60\046\uff60\050\uff60\053\uff60\066\uff60" +
81.412 - "\070\uff60\071\uff60\101\uff60\105\uff60\107\uff60\110\uff60\111" +
81.413 - "\uff60\112\uff60\113\uff60\114\uff60\115\uff60\116\uff60\117\uff60" +
81.414 - "\120\uff60\121\uff60\122\uff60\124\uff60\125\uff60\126\uff60\127" +
81.415 - "\uff60\130\uff60\131\uff60\132\uff60\133\uff60\134\uff60\135\uff60" +
81.416 - "\136\uff60\137\uff60\001\002\000\022\047\224\051\227\113" +
81.417 - "\204\143\215\144\045\145\176\146\231\147\205\001\002" +
81.418 - "\000\104\013\uff0f\025\uff0f\042\uff0f\043\uff0f\045\uff0f\046" +
81.419 - "\uff0f\050\uff0f\053\uff0f\066\uff0f\070\uff0f\071\uff0f\101\uff0f" +
81.420 - "\107\uff0f\110\uff0f\111\uff0f\114\uff0f\115\uff0f\116\uff0f\117" +
81.421 - "\uff0f\120\uff0f\122\uff0f\124\uff0f\125\uff0f\126\uff0f\127\uff0f" +
81.422 - "\130\uff0f\131\uff0f\132\uff0f\133\uff0f\134\uff0f\135\uff0f\136" +
81.423 - "\uff0f\137\uff0f\001\002\000\042\013\uff21\025\uff21\043\uff21" +
81.424 - "\045\uff21\053\uff21\066\uff21\071\uff21\101\uff21\107\uff21\110" +
81.425 - "\uff21\114\uff21\117\uff21\124\uff21\130\uff21\131\uff21\134\uff21" +
81.426 - "\001\002\000\114\013\uff61\025\uff61\042\uff61\043\uff61\045" +
81.427 - "\uff61\046\uff61\050\uff61\053\uff61\066\uff61\070\uff61\071\uff61" +
81.428 - "\101\uff61\105\uff61\107\uff61\110\uff61\111\uff61\112\uff61\113" +
81.429 - "\uff61\114\uff61\115\uff61\116\uff61\117\uff61\120\uff61\121\uff61" +
81.430 - "\122\uff61\124\uff61\125\uff61\126\uff61\127\uff61\130\uff61\131" +
81.431 - "\uff61\132\uff61\133\uff61\134\uff61\135\uff61\136\uff61\137\uff61" +
81.432 - "\001\002\000\036\003\251\005\213\047\224\050\200\051" +
81.433 - "\357\054\253\113\204\116\175\120\217\143\215\144\045" +
81.434 - "\145\176\146\231\147\205\001\002\000\116\013\ufeb2\025" +
81.435 - "\ufeb2\042\ufeb2\043\ufeb2\045\ufeb2\046\ufeb2\050\ufeb2\053\ufeb2" +
81.436 - "\063\ufeb2\066\ufeb2\070\ufeb2\071\ufeb2\101\ufeb2\105\ufeb2\107" +
81.437 - "\ufeb2\110\ufeb2\111\ufeb2\112\ufeb2\113\ufeb2\114\ufeb2\115\ufeb2" +
81.438 - "\116\ufeb2\117\ufeb2\120\ufeb2\121\ufeb2\122\ufeb2\124\ufeb2\125" +
81.439 - "\ufeb2\126\ufeb2\127\ufeb2\130\ufeb2\131\ufeb2\132\ufeb2\133\ufeb2" +
81.440 - "\134\ufeb2\135\ufeb2\136\ufeb2\137\ufeb2\001\002\000\114\013" +
81.441 - "\uff5e\025\uff5e\042\uff5e\043\uff5e\045\uff5e\046\uff5e\050\uff5e" +
81.442 - "\053\uff5e\066\uff5e\070\uff5e\071\uff5e\101\uff5e\105\uff5e\107" +
81.443 - "\uff5e\110\uff5e\111\uff5e\112\uff5e\113\uff5e\114\uff5e\115\uff5e" +
81.444 - "\116\uff5e\117\uff5e\120\uff5e\121\uff5e\122\uff5e\124\uff5e\125" +
81.445 - "\uff5e\126\uff5e\127\uff5e\130\uff5e\131\uff5e\132\uff5e\133\uff5e" +
81.446 - "\134\uff5e\135\uff5e\136\uff5e\137\uff5e\001\002\000\014\013" +
81.447 - "\321\053\324\110\322\114\uffe2\124\uffe2\001\002\000\104" +
81.448 - "\013\uff0c\025\uff0c\042\uff0c\043\uff0c\045\uff0c\046\uff0c\050" +
81.449 - "\uff0c\053\uff0c\066\uff0c\070\uff0c\071\uff0c\101\uff0c\107\uff0c" +
81.450 - "\110\uff0c\111\uff0c\114\uff0c\115\uff0c\116\uff0c\117\uff0c\120" +
81.451 - "\uff0c\122\uff0c\124\uff0c\125\uff0c\126\uff0c\127\uff0c\130\uff0c" +
81.452 - "\131\uff0c\132\uff0c\133\uff0c\134\uff0c\135\uff0c\136\uff0c\137" +
81.453 - "\uff0c\001\002\000\102\013\uff17\025\uff17\042\uff17\043\uff17" +
81.454 - "\045\uff17\046\uff17\050\uff17\053\uff17\066\uff17\070\uff17\071" +
81.455 - "\uff17\101\uff17\107\uff17\110\uff17\111\uff17\114\uff17\115\uff17" +
81.456 - "\116\uff17\117\uff17\120\uff17\122\uff17\124\uff17\125\uff17\126" +
81.457 - "\uff17\127\uff17\130\uff17\131\uff17\132\uff17\134\uff17\135\uff17" +
81.458 - "\136\uff17\137\uff17\001\002\000\102\013\uff19\025\uff19\042" +
81.459 - "\uff19\043\uff19\045\uff19\046\303\050\uff19\053\uff19\066\uff19" +
81.460 - "\070\306\071\uff19\101\uff19\107\uff19\110\uff19\111\uff19\114" +
81.461 - "\uff19\115\302\116\uff19\117\uff19\120\uff19\122\305\124\uff19" +
81.462 - "\125\uff19\126\uff19\127\uff19\130\uff19\131\uff19\132\uff19\134" +
81.463 - "\uff19\135\uff19\136\uff19\137\uff19\001\002\000\022\047\224" +
81.464 - "\051\227\113\204\143\215\144\045\145\176\146\231\147" +
81.465 - "\205\001\002\000\070\013\uff1e\025\uff1e\042\261\043\uff1e" +
81.466 - "\045\uff1e\050\273\053\uff1e\066\uff1e\071\uff1e\101\uff1e\107" +
81.467 - "\uff1e\110\uff1e\111\274\114\uff1e\116\267\117\uff1e\120\260" +
81.468 - "\124\uff1e\125\271\126\266\127\276\130\uff1e\131\uff1e\134" +
81.469 - "\uff1e\135\264\136\262\137\275\001\002\000\114\013\uff54" +
81.470 - "\025\uff54\042\uff54\043\uff54\045\uff54\046\uff54\050\uff54\053" +
81.471 - "\uff54\066\uff54\070\uff54\071\uff54\101\uff54\105\uff54\107\uff54" +
81.472 - "\110\uff54\111\uff54\112\uff54\113\uff54\114\uff54\115\uff54\116" +
81.473 - "\uff54\117\uff54\120\uff54\121\uff54\122\uff54\124\uff54\125\uff54" +
81.474 - "\126\uff54\127\uff54\130\uff54\131\uff54\132\uff54\133\uff54\134" +
81.475 - "\uff54\135\uff54\136\uff54\137\uff54\001\002\000\104\013\uff0d" +
81.476 - "\025\uff0d\042\uff0d\043\uff0d\045\uff0d\046\uff0d\050\uff0d\053" +
81.477 - "\uff0d\066\uff0d\070\uff0d\071\uff0d\101\uff0d\107\uff0d\110\uff0d" +
81.478 - "\111\uff0d\114\uff0d\115\uff0d\116\uff0d\117\uff0d\120\uff0d\122" +
81.479 - "\uff0d\124\uff0d\125\uff0d\126\uff0d\127\uff0d\130\uff0d\131\uff0d" +
81.480 - "\132\uff0d\133\uff0d\134\uff0d\135\uff0d\136\uff0d\137\uff0d\001" +
81.481 - "\002\000\026\005\uff29\047\uff29\050\uff29\051\uff29\113\uff29" +
81.482 - "\143\uff29\144\uff29\145\uff29\146\uff29\147\uff29\001\002\000" +
81.483 - "\104\013\uff15\025\uff15\042\uff15\043\uff15\045\uff15\046\uff15" +
81.484 - "\050\uff15\053\uff15\066\uff15\070\uff15\071\uff15\101\uff15\107" +
81.485 - "\uff15\110\uff15\111\uff15\114\uff15\115\uff15\116\uff15\117\uff15" +
81.486 - "\120\uff15\122\uff15\124\uff15\125\uff15\126\uff15\127\uff15\130" +
81.487 - "\uff15\131\uff15\132\uff15\133\352\134\uff15\135\uff15\136\uff15" +
81.488 - "\137\uff15\001\002\000\104\013\uff11\025\uff11\042\uff11\043" +
81.489 - "\uff11\045\uff11\046\uff11\050\uff11\053\uff11\066\uff11\070\uff11" +
81.490 - "\071\uff11\101\uff11\107\uff11\110\uff11\111\uff11\114\uff11\115" +
81.491 - "\uff11\116\uff11\117\uff11\120\uff11\122\uff11\124\uff11\125\uff11" +
81.492 - "\126\uff11\127\uff11\130\uff11\131\uff11\132\uff11\133\uff11\134" +
81.493 - "\uff11\135\uff11\136\uff11\137\uff11\001\002\000\114\013\uff5d" +
81.494 - "\025\uff5d\042\uff5d\043\uff5d\045\uff5d\046\uff5d\050\uff5d\053" +
81.495 - "\uff5d\066\uff5d\070\uff5d\071\uff5d\101\uff5d\105\uff5d\107\uff5d" +
81.496 - "\110\uff5d\111\uff5d\112\uff5d\113\uff5d\114\uff5d\115\uff5d\116" +
81.497 - "\uff5d\117\uff5d\120\uff5d\121\uff5d\122\uff5d\124\uff5d\125\uff5d" +
81.498 - "\126\uff5d\127\uff5d\130\uff5d\131\uff5d\132\uff5d\133\uff5d\134" +
81.499 - "\uff5d\135\uff5d\136\uff5d\137\uff5d\001\002\000\026\005\213" +
81.500 - "\047\224\050\200\051\227\113\204\143\215\144\045\145" +
81.501 - "\176\146\231\147\205\001\002\000\006\144\045\147\205" +
81.502 - "\001\002\000\114\013\uff5f\025\uff5f\042\uff5f\043\uff5f\045" +
81.503 - "\uff5f\046\uff5f\050\uff5f\053\uff5f\066\uff5f\070\uff5f\071\uff5f" +
81.504 - "\101\uff5f\105\uff5f\107\uff5f\110\uff5f\111\uff5f\112\uff5f\113" +
81.505 - "\uff5f\114\uff5f\115\uff5f\116\uff5f\117\uff5f\120\uff5f\121\uff5f" +
81.506 - "\122\uff5f\124\uff5f\125\uff5f\126\uff5f\127\uff5f\130\uff5f\131" +
81.507 - "\uff5f\132\uff5f\133\uff5f\134\uff5f\135\uff5f\136\uff5f\137\uff5f" +
81.508 - "\001\002\000\104\013\uff0e\025\uff0e\042\uff0e\043\uff0e\045" +
81.509 - "\uff0e\046\uff0e\050\uff0e\053\uff0e\066\uff0e\070\uff0e\071\uff0e" +
81.510 - "\101\uff0e\107\uff0e\110\uff0e\111\uff0e\114\uff0e\115\uff0e\116" +
81.511 - "\uff0e\117\uff0e\120\uff0e\122\uff0e\124\uff0e\125\uff0e\126\uff0e" +
81.512 - "\127\uff0e\130\uff0e\131\uff0e\132\uff0e\133\uff0e\134\uff0e\135" +
81.513 - "\uff0e\136\uff0e\137\uff0e\001\002\000\104\013\uff40\025\uff40" +
81.514 - "\042\uff40\043\uff40\045\uff40\046\uff40\050\uff40\053\uff40\066" +
81.515 - "\uff40\070\uff40\071\uff40\101\uff40\107\uff40\110\uff40\111\uff40" +
81.516 - "\114\uff40\115\uff40\116\uff40\117\uff40\120\uff40\122\uff40\124" +
81.517 - "\uff40\125\uff40\126\uff40\127\uff40\130\uff40\131\uff40\132\uff40" +
81.518 - "\133\uff40\134\uff40\135\uff40\136\uff40\137\uff40\001\002\000" +
81.519 - "\104\013\uff41\025\uff41\042\uff41\043\uff41\045\uff41\046\uff41" +
81.520 - "\050\uff41\053\uff41\066\uff41\070\uff41\071\uff41\101\uff41\107" +
81.521 - "\uff41\110\uff41\111\uff41\114\uff41\115\uff41\116\uff41\117\uff41" +
81.522 - "\120\uff41\122\uff41\124\uff41\125\uff41\126\uff41\127\uff41\130" +
81.523 - "\uff41\131\uff41\132\uff41\133\uff41\134\uff41\135\uff41\136\uff41" +
81.524 - "\137\uff41\001\002\000\104\013\uff42\025\uff42\042\uff42\043" +
81.525 - "\uff42\045\uff42\046\uff42\050\uff42\053\uff42\066\uff42\070\uff42" +
81.526 - "\071\uff42\101\uff42\107\uff42\110\uff42\111\uff42\114\uff42\115" +
81.527 - "\uff42\116\uff42\117\uff42\120\uff42\122\uff42\124\uff42\125\uff42" +
81.528 - "\126\uff42\127\uff42\130\uff42\131\uff42\132\uff42\133\uff42\134" +
81.529 - "\uff42\135\uff42\136\uff42\137\uff42\001\002\000\112\013\uff10" +
81.530 - "\025\uff10\042\uff10\043\uff10\045\uff10\046\uff10\050\uff10\053" +
81.531 - "\uff10\066\uff10\070\uff10\071\uff10\101\uff10\107\uff10\110\uff10" +
81.532 - "\111\uff10\112\234\113\233\114\uff10\115\uff10\116\uff10\117" +
81.533 - "\uff10\120\uff10\121\235\122\uff10\124\uff10\125\uff10\126\uff10" +
81.534 - "\127\uff10\130\uff10\131\uff10\132\uff10\133\uff10\134\uff10\135" +
81.535 - "\uff10\136\uff10\137\uff10\001\002\000\036\003\251\005\213" +
81.536 - "\047\224\050\200\051\227\054\253\113\204\116\175\120" +
81.537 - "\217\143\215\144\045\145\176\146\231\147\205\001\002" +
81.538 - "\000\014\007\173\024\174\025\171\113\204\144\172\001" +
81.539 - "\002\000\012\012\236\143\215\144\045\147\205\001\002" +
81.540 - "\000\114\013\uff49\025\uff49\042\uff49\043\uff49\045\uff49\046" +
81.541 - "\uff49\050\uff49\053\uff49\066\uff49\070\uff49\071\uff49\101\uff49" +
81.542 - "\105\uff49\107\uff49\110\uff49\111\uff49\112\uff49\113\uff49\114" +
81.543 - "\uff49\115\uff49\116\uff49\117\uff49\120\uff49\121\uff49\122\uff49" +
81.544 - "\124\uff49\125\uff49\126\uff49\127\uff49\130\uff49\131\uff49\132" +
81.545 - "\uff49\133\uff49\134\uff49\135\uff49\136\uff49\137\uff49\001\002" +
81.546 - "\000\114\013\uff4a\025\uff4a\042\uff4a\043\uff4a\045\uff4a\046" +
81.547 - "\uff4a\050\uff4a\053\uff4a\066\uff4a\070\uff4a\071\uff4a\101\uff4a" +
81.548 - "\105\uff4a\107\uff4a\110\uff4a\111\uff4a\112\uff4a\113\uff4a\114" +
81.549 - "\uff4a\115\uff4a\116\uff4a\117\uff4a\120\uff4a\121\uff4a\122\uff4a" +
81.550 - "\124\uff4a\125\uff4a\126\uff4a\127\uff4a\130\uff4a\131\uff4a\132" +
81.551 - "\uff4a\133\uff4a\134\uff4a\135\uff4a\136\uff4a\137\uff4a\001\002" +
81.552 - "\000\114\013\uff4c\025\uff4c\042\uff4c\043\uff4c\045\uff4c\046" +
81.553 - "\uff4c\050\uff4c\053\uff4c\066\uff4c\070\uff4c\071\uff4c\101\uff4c" +
81.554 - "\105\uff4c\107\uff4c\110\uff4c\111\uff4c\112\uff4c\113\uff4c\114" +
81.555 - "\uff4c\115\uff4c\116\uff4c\117\uff4c\120\uff4c\121\uff4c\122\uff4c" +
81.556 - "\124\uff4c\125\uff4c\126\uff4c\127\uff4c\130\uff4c\131\uff4c\132" +
81.557 - "\uff4c\133\uff4c\134\uff4c\135\uff4c\136\uff4c\137\uff4c\001\002" +
81.558 - "\000\114\013\uff4b\025\uff4b\042\uff4b\043\uff4b\045\uff4b\046" +
81.559 - "\uff4b\050\uff4b\053\uff4b\066\uff4b\070\uff4b\071\uff4b\101\uff4b" +
81.560 - "\105\uff4b\107\uff4b\110\uff4b\111\uff4b\112\uff4b\113\uff4b\114" +
81.561 - "\uff4b\115\uff4b\116\uff4b\117\uff4b\120\uff4b\121\uff4b\122\uff4b" +
81.562 - "\124\uff4b\125\uff4b\126\uff4b\127\uff4b\130\uff4b\131\uff4b\132" +
81.563 - "\uff4b\133\uff4b\134\uff4b\135\uff4b\136\uff4b\137\uff4b\001\002" +
81.564 - "\000\114\013\uff48\025\uff48\042\uff48\043\uff48\045\uff48\046" +
81.565 - "\uff48\050\uff48\053\uff48\066\uff48\070\uff48\071\uff48\101\uff48" +
81.566 - "\105\uff48\107\uff48\110\uff48\111\uff48\112\uff48\113\uff48\114" +
81.567 - "\uff48\115\uff48\116\uff48\117\uff48\120\uff48\121\uff48\122\uff48" +
81.568 - "\124\uff48\125\uff48\126\uff48\127\uff48\130\uff48\131\uff48\132" +
81.569 - "\uff48\133\uff48\134\uff48\135\uff48\136\uff48\137\uff48\001\002" +
81.570 - "\000\104\013\uff0a\025\uff0a\042\uff0a\043\uff0a\045\uff0a\046" +
81.571 - "\uff0a\050\uff0a\053\uff0a\066\uff0a\070\uff0a\071\uff0a\101\uff0a" +
81.572 - "\107\uff0a\110\uff0a\111\uff0a\114\uff0a\115\uff0a\116\uff0a\117" +
81.573 - "\uff0a\120\uff0a\122\uff0a\124\uff0a\125\uff0a\126\uff0a\127\uff0a" +
81.574 - "\130\uff0a\131\uff0a\132\uff0a\133\uff0a\134\uff0a\135\uff0a\136" +
81.575 - "\uff0a\137\uff0a\001\002\000\012\114\uff4e\117\uff4e\130\uff86" +
81.576 - "\131\uff86\001\002\000\012\114\uff83\117\uff83\130\uff83\131" +
81.577 - "\uff83\001\002\000\006\130\341\131\342\001\002\000\074" +
81.578 - "\013\uff10\042\uff10\046\uff10\050\uff10\053\uff10\066\335\070" +
81.579 - "\uff10\107\uff10\110\uff10\111\uff10\112\313\113\233\114\uff10" +
81.580 - "\115\uff10\116\uff10\117\uff10\120\uff10\121\235\122\uff10\125" +
81.581 - "\uff10\126\uff10\127\uff10\130\uff10\131\uff10\132\uff10\133\uff10" +
81.582 - "\135\uff10\136\uff10\137\uff10\001\002\000\020\013\321\053" +
81.583 - "\324\110\322\114\uff50\117\uff50\130\uff87\131\uff87\001\002" +
81.584 - "\000\006\114\uff4d\117\uff4d\001\002\000\006\130\uff89\131" +
81.585 - "\uff89\001\002\000\006\130\uff85\131\uff85\001\002\000\006" +
81.586 - "\114\uff4f\117\uff4f\001\002\000\006\114\uff52\117\uff52\001" +
81.587 - "\002\000\006\114\333\117\332\001\002\000\052\013\uff1e" +
81.588 - "\042\261\050\273\053\uff1e\107\uff1e\110\uff1e\111\274\114" +
81.589 - "\uff1e\116\267\117\uff1e\120\260\125\271\126\266\127\276" +
81.590 - "\130\uff1e\131\uff1e\132\272\135\264\136\262\137\275\001" +
81.591 - "\002\000\026\005\uff27\047\uff27\050\uff27\051\uff27\113\uff27" +
81.592 - "\143\uff27\144\uff27\145\uff27\146\uff27\147\uff27\001\002\000" +
81.593 - "\032\005\uff2c\047\uff2c\050\uff2c\051\uff2c\113\uff2c\116\uff2c" +
81.594 - "\120\uff2c\143\uff2c\144\uff2c\145\uff2c\146\uff2c\147\uff2c\001" +
81.595 - "\002\000\032\005\uff2d\047\uff2d\050\uff2d\051\uff2d\113\uff2d" +
81.596 - "\116\uff2d\120\uff2d\143\uff2d\144\uff2d\145\uff2d\146\uff2d\147" +
81.597 - "\uff2d\001\002\000\032\005\213\047\224\050\200\051\227" +
81.598 - "\113\204\116\175\120\217\143\215\144\045\145\176\146" +
81.599 - "\231\147\205\001\002\000\032\005\uff31\047\uff31\050\uff31" +
81.600 - "\051\uff31\113\uff31\116\uff31\120\uff31\143\uff31\144\uff31\145" +
81.601 - "\uff31\146\uff31\147\uff31\001\002\000\032\005\213\047\224" +
81.602 - "\050\200\051\227\113\204\116\175\120\217\143\215\144" +
81.603 - "\045\145\176\146\231\147\205\001\002\000\032\005\uff32" +
81.604 - "\047\uff32\050\uff32\051\uff32\113\uff32\116\uff32\120\uff32\143" +
81.605 - "\uff32\144\uff32\145\uff32\146\uff32\147\uff32\001\002\000\026" +
81.606 - "\005\uff28\047\uff28\050\uff28\051\uff28\113\uff28\143\uff28\144" +
81.607 - "\uff28\145\uff28\146\uff28\147\uff28\001\002\000\026\005\213" +
81.608 - "\047\224\050\200\051\227\113\204\143\215\144\045\145" +
81.609 - "\176\146\231\147\205\001\002\000\032\005\uff30\047\uff30" +
81.610 - "\050\uff30\051\uff30\113\uff30\116\uff30\120\uff30\143\uff30\144" +
81.611 - "\uff30\145\uff30\146\uff30\147\uff30\001\002\000\032\005\213" +
81.612 - "\047\224\050\200\051\227\113\204\116\175\120\217\143" +
81.613 - "\215\144\045\145\176\146\231\147\205\001\002\000\004" +
81.614 - "\042\277\001\002\000\026\005\uff26\047\uff26\050\uff26\051" +
81.615 - "\uff26\113\uff26\143\uff26\144\uff26\145\uff26\146\uff26\147\uff26" +
81.616 - "\001\002\000\032\005\uff2f\047\uff2f\050\uff2f\051\uff2f\113" +
81.617 - "\uff2f\116\uff2f\120\uff2f\143\uff2f\144\uff2f\145\uff2f\146\uff2f" +
81.618 - "\147\uff2f\001\002\000\032\005\uff2e\047\uff2e\050\uff2e\051" +
81.619 - "\uff2e\113\uff2e\116\uff2e\120\uff2e\143\uff2e\144\uff2e\145\uff2e" +
81.620 - "\146\uff2e\147\uff2e\001\002\000\032\005\uff2b\047\uff2b\050" +
81.621 - "\uff2b\051\uff2b\113\uff2b\116\uff2b\120\uff2b\143\uff2b\144\uff2b" +
81.622 - "\145\uff2b\146\uff2b\147\uff2b\001\002\000\050\013\uffc6\025" +
81.623 - "\uffc6\043\uffc6\045\uffc6\053\uffc6\066\uffc6\071\uffc6\101\uffc6" +
81.624 - "\107\uffc6\110\uffc6\111\274\114\uffc6\116\267\117\uffc6\120" +
81.625 - "\260\124\uffc6\130\uffc6\131\uffc6\134\uffc6\001\002\000\102" +
81.626 - "\013\uff18\025\uff18\042\uff18\043\uff18\045\uff18\046\303\050" +
81.627 - "\uff18\053\uff18\066\uff18\070\306\071\uff18\101\uff18\107\uff18" +
81.628 - "\110\uff18\111\uff18\114\uff18\115\302\116\uff18\117\uff18\120" +
81.629 - "\uff18\122\305\124\uff18\125\uff18\126\uff18\127\uff18\130\uff18" +
81.630 - "\131\uff18\132\uff18\134\uff18\135\uff18\136\uff18\137\uff18\001" +
81.631 - "\002\000\026\005\uff25\047\uff25\050\uff25\051\uff25\113\uff25" +
81.632 - "\143\uff25\144\uff25\145\uff25\146\uff25\147\uff25\001\002\000" +
81.633 - "\026\005\uff23\047\uff23\050\uff23\051\uff23\113\uff23\143\uff23" +
81.634 - "\144\uff23\145\uff23\146\uff23\147\uff23\001\002\000\026\005" +
81.635 - "\213\047\224\050\200\051\227\113\204\143\215\144\045" +
81.636 - "\145\176\146\231\147\205\001\002\000\026\005\uff24\047" +
81.637 - "\uff24\050\uff24\051\uff24\113\uff24\143\uff24\144\uff24\145\uff24" +
81.638 - "\146\uff24\147\uff24\001\002\000\026\005\uff22\047\uff22\050" +
81.639 - "\uff22\051\uff22\113\uff22\143\uff22\144\uff22\145\uff22\146\uff22" +
81.640 - "\147\uff22\001\002\000\102\013\uff16\025\uff16\042\uff16\043" +
81.641 - "\uff16\045\uff16\046\uff16\050\uff16\053\uff16\066\uff16\070\uff16" +
81.642 - "\071\uff16\101\uff16\107\uff16\110\uff16\111\uff16\114\uff16\115" +
81.643 - "\uff16\116\uff16\117\uff16\120\uff16\122\uff16\124\uff16\125\uff16" +
81.644 - "\126\uff16\127\uff16\130\uff16\131\uff16\132\uff16\134\uff16\135" +
81.645 - "\uff16\136\uff16\137\uff16\001\002\000\042\013\uff1c\025\uff1c" +
81.646 - "\043\uff1c\045\uff1c\053\uff1c\066\uff1c\071\uff1c\101\uff1c\107" +
81.647 - "\uff1c\110\uff1c\114\uff1c\117\uff1c\124\uff1c\130\uff1c\131\uff1c" +
81.648 - "\134\uff1c\001\002\000\012\111\274\116\267\120\260\132" +
81.649 - "\272\001\002\000\072\013\uff1b\025\uff1b\043\uff1b\045\uff1b" +
81.650 - "\046\uff10\053\uff1b\066\uff1b\070\uff10\071\uff1b\101\uff1b\107" +
81.651 - "\uff1b\110\uff1b\111\uff10\112\313\113\233\114\uff1b\115\uff10" +
81.652 - "\116\uff10\117\uff1b\120\uff10\121\235\122\uff10\124\uff1b\130" +
81.653 - "\uff1b\131\uff1b\132\uff10\133\uff10\134\uff1b\001\002\000\016" +
81.654 - "\007\173\024\174\025\171\066\314\113\204\144\172\001" +
81.655 - "\002\000\044\013\uffc5\025\uffc5\043\uffc5\045\uffc5\053\uffc5" +
81.656 - "\066\uffc5\071\uffc5\101\uffc5\107\uffc5\110\uffc5\113\315\114" +
81.657 - "\uffc5\117\uffc5\124\uffc5\130\uffc5\131\uffc5\134\uffc5\001\002" +
81.658 - "\000\032\005\213\047\224\050\200\051\227\113\204\116" +
81.659 - "\175\120\217\143\215\144\045\145\176\146\231\147\205" +
81.660 - "\001\002\000\012\013\321\053\324\110\322\114\320\001" +
81.661 - "\002\000\032\005\213\047\224\050\200\051\227\113\204" +
81.662 - "\116\175\120\217\143\215\144\045\145\176\146\231\147" +
81.663 - "\205\001\002\000\042\013\uffc4\025\uffc4\043\uffc4\045\uffc4" +
81.664 - "\053\uffc4\066\uffc4\071\uffc4\101\uffc4\107\uffc4\110\uffc4\114" +
81.665 - "\uffc4\117\uffc4\124\uffc4\130\uffc4\131\uffc4\134\uffc4\001\002" +
81.666 - "\000\034\005\uff37\047\uff37\050\uff37\051\uff37\101\327\113" +
81.667 - "\uff37\116\uff37\120\uff37\143\uff37\144\uff37\145\uff37\146\uff37" +
81.668 - "\147\uff37\001\002\000\032\005\uff35\047\uff35\050\uff35\051" +
81.669 - "\uff35\113\uff35\116\uff35\120\uff35\143\uff35\144\uff35\145\uff35" +
81.670 - "\146\uff35\147\uff35\001\002\000\032\005\213\047\224\050" +
81.671 - "\200\051\227\113\204\116\175\120\217\143\215\144\045" +
81.672 - "\145\176\146\231\147\205\001\002\000\034\005\uff36\027" +
81.673 - "\325\047\uff36\050\uff36\051\uff36\113\uff36\116\uff36\120\uff36" +
81.674 - "\143\uff36\144\uff36\145\uff36\146\uff36\147\uff36\001\002\000" +
81.675 - "\032\005\uff33\047\uff33\050\uff33\051\uff33\113\uff33\116\uff33" +
81.676 - "\120\uff33\143\uff33\144\uff33\145\uff33\146\uff33\147\uff33\001" +
81.677 - "\002\000\042\013\uff20\025\uff20\043\uff20\045\uff20\053\uff20" +
81.678 - "\066\uff20\071\uff20\101\uff20\107\uff20\110\uff20\114\uff20\117" +
81.679 - "\uff20\124\uff20\130\uff20\131\uff20\134\uff20\001\002\000\032" +
81.680 - "\005\uff34\047\uff34\050\uff34\051\uff34\113\uff34\116\uff34\120" +
81.681 - "\uff34\143\uff34\144\uff34\145\uff34\146\uff34\147\uff34\001\002" +
81.682 - "\000\042\013\uff1f\025\uff1f\043\uff1f\045\uff1f\053\uff1f\066" +
81.683 - "\uff1f\071\uff1f\101\uff1f\107\uff1f\110\uff1f\114\uff1f\117\uff1f" +
81.684 - "\124\uff1f\130\uff1f\131\uff1f\134\uff1f\001\002\000\050\013" +
81.685 - "\uff1d\025\uff1d\043\uff1d\045\uff1d\053\uff1d\066\uff1d\071\uff1d" +
81.686 - "\101\uff1d\107\uff1d\110\uff1d\111\274\114\uff1d\116\267\117" +
81.687 - "\uff1d\120\260\124\uff1d\130\uff1d\131\uff1d\134\uff1d\001\002" +
81.688 - "\000\036\003\251\005\213\047\224\050\200\051\227\054" +
81.689 - "\253\113\204\116\175\120\217\143\215\144\045\145\176" +
81.690 - "\146\231\147\205\001\002\000\114\013\uff53\025\uff53\042" +
81.691 - "\uff53\043\uff53\045\uff53\046\uff53\050\uff53\053\uff53\066\uff53" +
81.692 - "\070\uff53\071\uff53\101\uff53\105\uff53\107\uff53\110\uff53\111" +
81.693 - "\uff53\112\uff53\113\uff53\114\uff53\115\uff53\116\uff53\117\uff53" +
81.694 - "\120\uff53\121\uff53\122\uff53\124\uff53\125\uff53\126\uff53\127" +
81.695 - "\uff53\130\uff53\131\uff53\132\uff53\133\uff53\134\uff53\135\uff53" +
81.696 - "\136\uff53\137\uff53\001\002\000\006\114\uff51\117\uff51\001" +
81.697 - "\002\000\032\005\213\047\224\050\200\051\227\113\204" +
81.698 - "\116\175\120\217\143\215\144\045\145\176\146\231\147" +
81.699 - "\205\001\002\000\012\114\uff84\117\uff84\130\uff84\131\uff84" +
81.700 - "\001\002\000\024\045\uffc7\071\uffc7\107\uffc7\114\uffc7\117" +
81.701 - "\uffc7\124\uffc7\130\uffc7\131\uffc7\134\uffc7\001\002\000\032" +
81.702 - "\046\uff10\070\uff10\111\uff10\112\313\113\233\115\uff10\116" +
81.703 - "\uff10\120\uff10\121\235\122\uff10\132\uff10\133\uff10\001\002" +
81.704 - "\000\034\005\213\047\224\050\200\051\227\054\253\113" +
81.705 - "\204\116\175\120\217\143\215\144\045\145\176\146\231" +
81.706 - "\147\205\001\002\000\032\005\213\047\224\050\200\051" +
81.707 - "\227\113\204\116\175\120\217\143\215\144\045\145\176" +
81.708 - "\146\231\147\205\001\002\000\014\013\321\053\324\110" +
81.709 - "\322\114\uff38\117\uff38\001\002\000\006\130\uff86\131\uff86" +
81.710 - "\001\002\000\006\130\uff88\131\uff88\001\002\000\014\013" +
81.711 - "\321\053\324\110\322\130\uff87\131\uff87\001\002\000\112" +
81.712 - "\013\uff09\025\uff09\042\uff09\043\uff09\045\uff09\046\uff09\050" +
81.713 - "\uff09\053\uff09\066\uff09\070\uff09\071\uff09\101\uff09\107\uff09" +
81.714 - "\110\uff09\111\uff09\112\234\113\233\114\uff09\115\uff09\116" +
81.715 - "\uff09\117\uff09\120\uff09\121\235\122\uff09\124\uff09\125\uff09" +
81.716 - "\126\uff09\127\uff09\130\uff09\131\uff09\132\uff09\133\uff09\134" +
81.717 - "\uff09\135\uff09\136\uff09\137\uff09\001\002\000\104\013\uff08" +
81.718 - "\025\uff08\042\uff08\043\uff08\045\uff08\046\uff08\050\uff08\053" +
81.719 - "\uff08\066\uff08\070\uff08\071\uff08\101\uff08\107\uff08\110\uff08" +
81.720 - "\111\uff08\114\uff08\115\uff08\116\uff08\117\uff08\120\uff08\122" +
81.721 - "\uff08\124\uff08\125\uff08\126\uff08\127\uff08\130\uff08\131\uff08" +
81.722 - "\132\uff08\133\uff08\134\uff08\135\uff08\136\uff08\137\uff08\001" +
81.723 - "\002\000\102\013\uff1a\025\uff1a\042\uff1a\043\uff1a\045\uff1a" +
81.724 - "\046\303\050\uff1a\053\uff1a\066\uff1a\070\306\071\uff1a\101" +
81.725 - "\uff1a\107\uff1a\110\uff1a\111\uff1a\114\uff1a\115\302\116\uff1a" +
81.726 - "\117\uff1a\120\uff1a\122\305\124\uff1a\125\uff1a\126\uff1a\127" +
81.727 - "\uff1a\130\uff1a\131\uff1a\132\uff1a\134\uff1a\135\uff1a\136\uff1a" +
81.728 - "\137\uff1a\001\002\000\022\047\224\051\227\113\204\143" +
81.729 - "\215\144\045\145\176\146\231\147\205\001\002\000\102" +
81.730 - "\013\uff12\025\uff12\042\uff12\043\uff12\045\uff12\046\uff12\050" +
81.731 - "\uff12\053\uff12\066\uff12\070\uff12\071\uff12\101\uff12\107\uff12" +
81.732 - "\110\uff12\111\uff12\114\uff12\115\uff12\116\uff12\117\uff12\120" +
81.733 - "\uff12\122\uff12\124\uff12\125\uff12\126\uff12\127\uff12\130\uff12" +
81.734 - "\131\uff12\132\uff12\134\uff12\135\uff12\136\uff12\137\uff12\001" +
81.735 - "\002\000\102\013\uff13\025\uff13\042\uff13\043\uff13\045\uff13" +
81.736 - "\046\uff13\050\uff13\053\uff13\066\uff13\070\uff13\071\uff13\101" +
81.737 - "\uff13\107\uff13\110\uff13\111\uff13\114\uff13\115\uff13\116\uff13" +
81.738 - "\117\uff13\120\uff13\122\uff13\124\uff13\125\uff13\126\uff13\127" +
81.739 - "\uff13\130\uff13\131\uff13\132\uff13\134\uff13\135\uff13\136\uff13" +
81.740 - "\137\uff13\001\002\000\006\114\377\117\376\001\002\000" +
81.741 - "\022\013\321\053\324\107\370\110\322\114\367\117\uff50" +
81.742 - "\130\uff87\131\uff87\001\002\000\066\013\uff40\042\uff40\046" +
81.743 - "\uff40\050\uff40\053\uff40\067\365\070\uff40\107\uff40\110\uff40" +
81.744 - "\111\uff40\114\uff40\115\uff40\116\uff40\117\uff40\120\uff40\122" +
81.745 - "\uff40\125\uff40\126\uff40\127\uff40\130\uff40\131\uff40\132\uff40" +
81.746 - "\133\uff40\135\uff40\136\uff40\137\uff40\001\002\000\006\114" +
81.747 - "\364\117\uff4f\001\002\000\004\117\362\001\002\000\036" +
81.748 - "\003\251\005\213\047\224\050\200\051\227\054\253\113" +
81.749 - "\204\116\175\120\217\143\215\144\045\145\176\146\231" +
81.750 - "\147\205\001\002\000\006\114\uff3a\117\uff3a\001\002\000" +
81.751 - "\104\013\uff3f\025\uff3f\042\uff3f\043\uff3f\045\uff3f\046\uff3f" +
81.752 - "\050\uff3f\053\uff3f\066\uff3f\070\uff3f\071\uff3f\101\uff3f\107" +
81.753 - "\uff3f\110\uff3f\111\uff3f\114\uff3f\115\uff3f\116\uff3f\117\uff3f" +
81.754 - "\120\uff3f\122\uff3f\124\uff3f\125\uff3f\126\uff3f\127\uff3f\130" +
81.755 - "\uff3f\131\uff3f\132\uff3f\133\uff3f\134\uff3f\135\uff3f\136\uff3f" +
81.756 - "\137\uff3f\001\002\000\004\114\366\001\002\000\104\013" +
81.757 - "\uff3b\025\uff3b\042\uff3b\043\uff3b\045\uff3b\046\uff3b\050\uff3b" +
81.758 - "\053\uff3b\066\uff3b\070\uff3b\071\uff3b\101\uff3b\107\uff3b\110" +
81.759 - "\uff3b\111\uff3b\114\uff3b\115\uff3b\116\uff3b\117\uff3b\120\uff3b" +
81.760 - "\122\uff3b\124\uff3b\125\uff3b\126\uff3b\127\uff3b\130\uff3b\131" +
81.761 - "\uff3b\132\uff3b\133\uff3b\134\uff3b\135\uff3b\136\uff3b\137\uff3b" +
81.762 - "\001\002\000\104\013\uff0b\025\uff0b\042\uff0b\043\uff0b\045" +
81.763 - "\uff0b\046\uff0b\050\uff0b\053\uff0b\066\uff0b\070\uff0b\071\uff0b" +
81.764 - "\101\uff0b\107\uff0b\110\uff0b\111\uff0b\114\uff0b\115\uff0b\116" +
81.765 - "\uff0b\117\uff0b\120\uff0b\122\uff0b\124\uff0b\125\uff0b\126\uff0b" +
81.766 - "\127\uff0b\130\uff0b\131\uff0b\132\uff0b\133\uff0b\134\uff0b\135" +
81.767 - "\uff0b\136\uff0b\137\uff0b\001\002\000\036\003\251\005\213" +
81.768 - "\047\224\050\200\051\371\054\253\113\204\116\175\120" +
81.769 - "\217\143\215\144\045\145\176\146\231\147\205\001\002" +
81.770 - "\000\064\013\uff40\042\uff40\046\uff40\050\uff40\053\uff40\067" +
81.771 - "\374\070\uff40\110\uff40\111\uff40\114\uff40\115\uff40\116\uff40" +
81.772 - "\117\uff40\120\uff40\122\uff40\125\uff40\126\uff40\127\uff40\130" +
81.773 - "\uff40\131\uff40\132\uff40\133\uff40\135\uff40\136\uff40\137\uff40" +
81.774 - "\001\002\000\006\114\373\117\332\001\002\000\104\013" +
81.775 - "\uff3d\025\uff3d\042\uff3d\043\uff3d\045\uff3d\046\uff3d\050\uff3d" +
81.776 - "\053\uff3d\066\uff3d\070\uff3d\071\uff3d\101\uff3d\107\uff3d\110" +
81.777 - "\uff3d\111\uff3d\114\uff3d\115\uff3d\116\uff3d\117\uff3d\120\uff3d" +
81.778 - "\122\uff3d\124\uff3d\125\uff3d\126\uff3d\127\uff3d\130\uff3d\131" +
81.779 - "\uff3d\132\uff3d\133\uff3d\134\uff3d\135\uff3d\136\uff3d\137\uff3d" +
81.780 - "\001\002\000\004\114\375\001\002\000\104\013\uff3c\025" +
81.781 - "\uff3c\042\uff3c\043\uff3c\045\uff3c\046\uff3c\050\uff3c\053\uff3c" +
81.782 - "\066\uff3c\070\uff3c\071\uff3c\101\uff3c\107\uff3c\110\uff3c\111" +
81.783 - "\uff3c\114\uff3c\115\uff3c\116\uff3c\117\uff3c\120\uff3c\122\uff3c" +
81.784 - "\124\uff3c\125\uff3c\126\uff3c\127\uff3c\130\uff3c\131\uff3c\132" +
81.785 - "\uff3c\133\uff3c\134\uff3c\135\uff3c\136\uff3c\137\uff3c\001\002" +
81.786 - "\000\036\003\251\005\213\047\224\050\200\051\227\054" +
81.787 - "\253\113\204\116\175\120\217\143\215\144\045\145\176" +
81.788 - "\146\231\147\205\001\002\000\104\013\uff3e\025\uff3e\042" +
81.789 - "\uff3e\043\uff3e\045\uff3e\046\uff3e\050\uff3e\053\uff3e\066\uff3e" +
81.790 - "\070\uff3e\071\uff3e\101\uff3e\107\uff3e\110\uff3e\111\uff3e\114" +
81.791 - "\uff3e\115\uff3e\116\uff3e\117\uff3e\120\uff3e\122\uff3e\124\uff3e" +
81.792 - "\125\uff3e\126\uff3e\127\uff3e\130\uff3e\131\uff3e\132\uff3e\133" +
81.793 - "\uff3e\134\uff3e\135\uff3e\136\uff3e\137\uff3e\001\002\000\006" +
81.794 - "\114\uff39\117\uff39\001\002\000\102\013\uff14\025\uff14\042" +
81.795 - "\uff14\043\uff14\045\uff14\046\uff14\050\uff14\053\uff14\066\uff14" +
81.796 - "\070\uff14\071\uff14\101\uff14\107\uff14\110\uff14\111\uff14\114" +
81.797 - "\uff14\115\uff14\116\uff14\117\uff14\120\uff14\122\uff14\124\uff14" +
81.798 - "\125\uff14\126\uff14\127\uff14\130\uff14\131\uff14\132\uff14\134" +
81.799 - "\uff14\135\uff14\136\uff14\137\uff14\001\002\000\006\117\uffea" +
81.800 - "\123\uffea\001\002\000\004\124\ufe8b\001\002\000\020\031" +
81.801 - "\ufe87\032\ufe87\035\ufe87\036\ufe87\057\ufe87\060\ufe87\061\ufe87" +
81.802 - "\001\002\000\020\031\ufe89\032\u010a\035\070\036\027\057" +
81.803 - "\004\060\u010b\061\021\001\002\000\020\031\ufe86\032\ufe86" +
81.804 - "\035\ufe86\036\ufe86\057\ufe86\060\ufe86\061\ufe86\001\002\000" +
81.805 - "\024\003\ufe83\031\ufe83\032\ufe83\035\ufe83\036\ufe83\057\ufe83" +
81.806 - "\060\ufe83\061\ufe83\144\ufe83\001\002\000\024\003\ufe82\031" +
81.807 - "\ufe82\032\ufe82\035\ufe82\036\ufe82\057\ufe82\060\ufe82\061\ufe82" +
81.808 - "\144\ufe82\001\002\000\004\031\u0144\001\002\000\004\144" +
81.809 - "\u0126\001\002\000\022\003\ufe81\031\ufe81\032\ufe81\035\ufe81" +
81.810 - "\036\ufe81\057\ufe81\061\ufe81\144\ufe81\001\002\000\024\003" +
81.811 - "\ufe85\031\ufe85\032\ufe85\035\ufe85\036\ufe85\057\ufe85\060\ufe85" +
81.812 - "\061\ufe85\144\ufe85\001\002\000\004\124\u010e\001\002\000" +
81.813 - "\024\003\ufe84\031\ufe84\032\ufe84\035\ufe84\036\ufe84\057\ufe84" +
81.814 - "\060\ufe84\061\ufe84\144\ufe84\001\002\000\022\003\u0114\031" +
81.815 - "\ufe88\032\u010a\035\070\036\027\057\004\061\021\144\126" +
81.816 - "\001\002\000\022\003\ufe80\031\ufe80\032\ufe80\035\ufe80\036" +
81.817 - "\ufe80\057\ufe80\061\ufe80\144\ufe80\001\002\000\006\117\155" +
81.818 - "\123\u0116\001\002\000\022\003\ufe7e\031\ufe7e\032\ufe7e\035" +
81.819 - "\ufe7e\036\ufe7e\057\ufe7e\061\ufe7e\144\ufe7e\001\002\000\022" +
81.820 - "\003\ufe7f\031\ufe7f\032\ufe7f\035\ufe7f\036\ufe7f\057\ufe7f\061" +
81.821 - "\ufe7f\144\ufe7f\001\002\000\004\124\u0115\001\002\000\026" +
81.822 - "\003\uff95\021\uff95\031\uff95\032\uff95\035\uff95\036\uff95\057" +
81.823 - "\uff95\061\uff95\105\uff95\144\uff95\001\002\000\010\011\u0117" +
81.824 - "\144\uffaf\147\uffaf\001\002\000\006\144\uffae\147\uffae\001" +
81.825 - "\002\000\006\144\045\147\205\001\002\000\006\124\uffe3" +
81.826 - "\134\164\001\002\000\004\124\u011b\001\002\000\026\003" +
81.827 - "\uff96\021\uff96\031\uff96\032\uff96\035\uff96\036\uff96\057\uff96" +
81.828 - "\061\uff96\105\uff96\144\uff96\001\002\000\024\025\u011e\066" +
81.829 - "\335\071\uffd0\107\uffd0\112\u0122\113\233\121\235\124\uffd0" +
81.830 - "\134\uffd0\001\002\000\006\124\uffb0\134\uffb0\001\002\000" +
81.831 - "\032\005\213\047\224\050\200\051\227\113\204\116\175" +
81.832 - "\120\217\143\215\144\045\145\176\146\231\147\205\001" +
81.833 - "\002\000\012\071\uffce\107\uffce\124\uffce\134\uffce\001\002" +
81.834 - "\000\012\071\uffcf\107\uffcf\124\uffcf\134\uffcf\001\002\000" +
81.835 - "\012\071\uffd1\107\uffd1\124\uffd1\134\uffd1\001\002\000\012" +
81.836 - "\007\173\024\174\025\171\144\172\001\002\000\022\013" +
81.837 - "\321\053\324\066\335\071\uffa5\107\uffa5\110\322\124\uffa5" +
81.838 - "\134\uffa5\001\002\000\012\071\uffcd\107\uffcd\124\uffcd\134" +
81.839 - "\uffcd\001\002\000\020\045\uffa4\071\uffa4\107\uffa4\114\uffa4" +
81.840 - "\117\uffa4\124\uffa4\134\uffa4\001\002\000\006\113\u0129\124" +
81.841 - "\ufebe\001\002\000\004\124\u0143\001\002\000\016\026\ufebd" +
81.842 - "\043\ufebd\063\ufebd\071\ufebd\105\ufebd\124\ufebd\001\002\000" +
81.843 - "\034\003\u012f\005\213\047\224\050\200\051\227\113\204" +
81.844 - "\116\175\120\217\143\215\144\u0131\145\176\146\231\147" +
81.845 - "\205\001\002\000\006\114\u0141\124\u0140\001\002\000\006" +
81.846 - "\114\ufebb\124\ufebb\001\002\000\006\117\155\123\u0138\001" +
81.847 - "\002\000\010\045\uffa6\114\uffa6\117\uffa6\001\002\000\042" +
81.848 - "\045\uffa5\046\uff10\066\335\070\uff10\111\uff10\112\313\113" +
81.849 - "\233\114\uffa5\115\uff10\116\uff10\117\uffa5\120\uff10\121\235" +
81.850 - "\122\uff10\132\uff10\133\uff10\001\002\000\004\124\u0136\001" +
81.851 - "\002\000\004\114\u0132\001\002\000\070\013\uff59\042\uff59" +
81.852 - "\046\uff59\050\uff59\053\uff59\066\uff59\070\uff59\110\uff59\111" +
81.853 - "\uff59\112\uff59\113\uff59\114\uff59\115\uff59\116\uff59\117\uffed" +
81.854 - "\120\uff59\121\uff59\122\uff59\123\uffed\125\uff59\126\uff59\127" +
81.855 - "\uff59\132\uff59\133\uff59\135\uff59\136\uff59\137\uff59\001\002" +
81.856 - "\000\006\113\u0134\124\ufebe\001\002\000\004\124\u0135\001" +
81.857 - "\002\000\006\003\u012f\144\126\001\002\000\024\003\ufe74" +
81.858 - "\031\ufe74\032\ufe74\035\ufe74\036\ufe74\057\ufe74\060\ufe74\061" +
81.859 - "\ufe74\144\ufe74\001\002\000\006\114\ufeb8\124\ufeb8\001\002" +
81.860 - "\000\010\045\uffa7\114\uffa7\117\uffa7\001\002\000\012\007" +
81.861 - "\u013b\042\u013a\055\u0139\144\ufeb7\001\002\000\004\144\ufeb5" +
81.862 - "\001\002\000\006\055\u013f\144\ufeb6\001\002\000\004\144" +
81.863 - "\ufeb3\001\002\000\004\144\045\001\002\000\014\112\165" +
81.864 - "\114\uffe3\121\166\124\uffe3\134\164\001\002\000\006\114" +
81.865 - "\ufeb9\124\ufeb9\001\002\000\004\144\ufeb4\001\002\000\006" +
81.866 - "\003\u012f\144\126\001\002\000\016\026\ufebc\043\ufebc\063" +
81.867 - "\ufebc\071\ufebc\105\ufebc\124\ufebc\001\002\000\006\114\ufeba" +
81.868 - "\124\ufeba\001\002\000\024\003\ufe75\031\ufe75\032\ufe75\035" +
81.869 - "\ufe75\036\ufe75\057\ufe75\060\ufe75\061\ufe75\144\ufe75\001\002" +
81.870 - "\000\010\124\ufed7\144\045\147\205\001\002\000\004\124" +
81.871 - "\ufed6\001\002\000\016\043\ufec0\063\ufec0\071\ufec0\113\ufec0" +
81.872 - "\121\051\124\ufec0\001\002\000\014\043\ufebf\063\ufebf\071" +
81.873 - "\ufebf\113\ufebf\124\ufebf\001\002\000\004\124\ufe8a\001\002" +
81.874 - "\000\004\124\ufe8c\001\002\000\004\043\u014b\001\002\000" +
81.875 - "\016\031\ufffa\032\ufffa\036\ufffa\057\ufffa\061\ufffa\074\u014c" +
81.876 - "\001\002\000\004\124\u024b\001\002\000\012\031\u0155\032" +
81.877 - "\u0151\036\027\061\021\001\002\000\014\031\ufe7c\032\ufe7c" +
81.878 - "\036\ufe7c\057\004\061\ufe7c\001\002\000\046\002\ufff9\003" +
81.879 - "\ufff9\021\ufff9\031\ufff9\032\ufff9\035\ufff9\036\ufff9\037\ufff9" +
81.880 - "\051\ufff9\056\ufff9\057\ufff9\060\ufff9\061\ufff9\074\ufff9\104" +
81.881 - "\ufff9\105\ufff9\107\ufff9\144\ufff9\001\002\000\014\031\ufe7a" +
81.882 - "\032\ufe7a\036\ufe7a\057\ufe7a\061\ufe7a\001\002\000\004\144" +
81.883 - "\u0237\001\002\000\006\043\u015a\124\u0159\001\002\000\014" +
81.884 - "\031\ufffa\032\ufffa\036\ufffa\057\ufffa\061\ufffa\001\002\000" +
81.885 - "\014\031\ufe79\032\ufe79\036\ufe79\057\ufe79\061\ufe79\001\002" +
81.886 - "\000\010\124\ufed7\144\045\147\205\001\002\000\004\124" +
81.887 - "\u0157\001\002\000\050\002\ufe7d\003\ufe7d\016\ufe7d\031\ufe7d" +
81.888 - "\035\ufe7d\036\ufe7d\037\ufe7d\056\ufe7d\057\ufe7d\060\ufe7d\061" +
81.889 - "\ufe7d\062\ufe7d\074\ufe7d\075\ufe7d\077\ufe7d\102\ufe7d\104\ufe7d" +
81.890 - "\107\ufe7d\144\ufe7d\001\002\000\014\031\ufe7b\032\ufe7b\036" +
81.891 - "\ufe7b\057\004\061\ufe7b\001\002\000\014\031\ufe78\032\ufe78" +
81.892 - "\036\ufe78\057\ufe78\061\ufe78\001\002\000\036\003\105\016" +
81.893 - "\uff7b\035\070\036\027\037\030\056\121\057\004\061\021" +
81.894 - "\062\117\075\076\077\060\102\074\104\015\144\126\001" +
81.895 - "\002\000\004\016\u015c\001\002\000\056\003\u017e\004\u017d" +
81.896 - "\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\034\u0176\035" +
81.897 - "\ufee0\040\u0184\041\u0177\045\ufee0\051\u0180\057\004\063\u017c" +
81.898 - "\065\u018f\072\u0164\073\u0175\106\ufee0\140\u0187\144\u0190\147" +
81.899 - "\205\001\002\000\004\031\u015e\001\002\000\010\124\ufed7" +
81.900 - "\144\045\147\205\001\002\000\004\124\u0160\001\002\000" +
81.901 - "\052\002\ufeb1\003\ufeb1\016\ufeb1\031\ufeb1\032\ufeb1\035\ufeb1" +
81.902 - "\036\ufeb1\037\ufeb1\056\ufeb1\057\ufeb1\060\ufeb1\061\ufeb1\062" +
81.903 - "\ufeb1\074\ufeb1\075\ufeb1\077\ufeb1\102\ufeb1\104\ufeb1\107\ufeb1" +
81.904 - "\144\ufeb1\001\002\000\004\031\ufed2\001\002\000\074\003" +
81.905 - "\ufe63\004\ufe63\010\ufe63\016\ufe63\021\ufe63\022\ufe63\023\ufe63" +
81.906 - "\027\ufe63\030\ufe63\031\ufe63\033\ufe63\034\ufe63\035\ufe63\040" +
81.907 - "\ufe63\041\ufe63\045\ufe63\051\ufe63\053\ufe63\057\ufe63\063\ufe63" +
81.908 - "\065\ufe63\072\ufe63\073\ufe63\101\ufe63\105\ufe63\106\ufe63\140" +
81.909 - "\ufe63\144\ufe63\147\ufe63\001\002\000\004\124\u0236\001\002" +
81.910 - "\000\006\144\045\147\205\001\002\000\074\003\ufefb\004" +
81.911 - "\ufefb\010\ufefb\016\ufefb\021\ufefb\022\ufefb\023\ufefb\027\ufefb" +
81.912 - "\030\ufefb\031\ufefb\033\ufefb\034\ufefb\035\ufefb\040\ufefb\041" +
81.913 - "\ufefb\045\ufefb\051\ufefb\053\ufefb\057\ufefb\063\ufefb\065\ufefb" +
81.914 - "\072\ufefb\073\ufefb\101\ufefb\105\ufefb\106\ufefb\140\ufefb\144" +
81.915 - "\ufefb\147\ufefb\001\002\000\074\003\ufefc\004\ufefc\010\ufefc" +
81.916 - "\016\ufefc\021\ufefc\022\ufefc\023\ufefc\027\ufefc\030\ufefc\031" +
81.917 - "\ufefc\033\ufefc\034\ufefc\035\ufefc\040\ufefc\041\ufefc\045\ufefc" +
81.918 - "\051\ufefc\053\ufefc\057\ufefc\063\ufefc\065\ufefc\072\ufefc\073" +
81.919 - "\ufefc\101\ufefc\105\ufefc\106\ufefc\140\ufefc\144\ufefc\147\ufefc" +
81.920 - "\001\002\000\074\003\ufef0\004\ufef0\010\ufef0\016\ufef0\021" +
81.921 - "\ufef0\022\ufef0\023\ufef0\027\ufef0\030\ufef0\031\ufef0\033\ufef0" +
81.922 - "\034\ufef0\035\ufef0\040\ufef0\041\ufef0\045\ufef0\051\ufef0\053" +
81.923 - "\ufef0\057\ufef0\063\ufef0\065\ufef0\072\ufef0\073\ufef0\101\ufef0" +
81.924 - "\105\ufef0\106\ufef0\140\ufef0\144\ufef0\147\ufef0\001\002\000" +
81.925 - "\074\003\ufef6\004\ufef6\010\ufef6\016\ufef6\021\ufef6\022\ufef6" +
81.926 - "\023\ufef6\027\ufef6\030\ufef6\031\ufef6\033\ufef6\034\ufef6\035" +
81.927 - "\ufef6\040\ufef6\041\ufef6\045\ufef6\051\ufef6\053\ufef6\057\ufef6" +
81.928 - "\063\ufef6\065\ufef6\072\ufef6\073\ufef6\101\ufef6\105\ufef6\106" +
81.929 - "\ufef6\140\ufef6\144\ufef6\147\ufef6\001\002\000\032\005\213" +
81.930 - "\047\224\050\200\051\227\113\204\116\175\120\217\143" +
81.931 - "\215\144\045\145\176\146\231\147\205\001\002\000\074" +
81.932 - "\003\ufef7\004\ufef7\010\ufef7\016\ufef7\021\ufef7\022\ufef7\023" +
81.933 - "\ufef7\027\ufef7\030\ufef7\031\ufef7\033\ufef7\034\ufef7\035\ufef7" +
81.934 - "\040\ufef7\041\ufef7\045\ufef7\051\ufef7\053\ufef7\057\ufef7\063" +
81.935 - "\ufef7\065\ufef7\072\ufef7\073\ufef7\101\ufef7\105\ufef7\106\ufef7" +
81.936 - "\140\ufef7\144\ufef7\147\ufef7\001\002\000\074\003\uff02\004" +
81.937 - "\uff02\010\uff02\016\uff02\021\uff02\022\uff02\023\uff02\027\uff02" +
81.938 - "\030\uff02\031\uff02\033\uff02\034\uff02\035\uff02\040\uff02\041" +
81.939 - "\uff02\045\uff02\051\uff02\053\uff02\057\uff02\063\uff02\065\uff02" +
81.940 - "\072\uff02\073\uff02\101\uff02\105\uff02\106\uff02\140\uff02\144" +
81.941 - "\uff02\147\uff02\001\002\000\074\003\ufefe\004\ufefe\010\ufefe" +
81.942 - "\016\ufefe\021\ufefe\022\ufefe\023\ufefe\027\ufefe\030\ufefe\031" +
81.943 - "\ufefe\033\ufefe\034\ufefe\035\ufefe\040\ufefe\041\ufefe\045\ufefe" +
81.944 - "\051\ufefe\053\ufefe\057\ufefe\063\ufefe\065\ufefe\072\ufefe\073" +
81.945 - "\ufefe\101\ufefe\105\ufefe\106\ufefe\140\ufefe\144\ufefe\147\ufefe" +
81.946 - "\001\002\000\074\003\uff03\004\uff03\010\uff03\016\uff03\021" +
81.947 - "\uff03\022\uff03\023\uff03\027\uff03\030\uff03\031\uff03\033\uff03" +
81.948 - "\034\uff03\035\uff03\040\uff03\041\uff03\045\uff03\051\uff03\053" +
81.949 - "\uff03\057\uff03\063\uff03\065\uff03\072\uff03\073\uff03\101\uff03" +
81.950 - "\105\uff03\106\uff03\140\uff03\144\uff03\147\uff03\001\002\000" +
81.951 - "\074\003\ufeef\004\ufeef\010\ufeef\016\ufeef\021\ufeef\022\ufeef" +
81.952 - "\023\ufeef\027\ufeef\030\ufeef\031\ufeef\033\ufeef\034\ufeef\035" +
81.953 - "\ufeef\040\ufeef\041\ufeef\045\ufeef\051\ufeef\053\ufeef\057\ufeef" +
81.954 - "\063\ufeef\065\ufeef\072\ufeef\073\ufeef\101\ufeef\105\ufeef\106" +
81.955 - "\ufeef\140\ufeef\144\ufeef\147\ufeef\001\002\000\014\112\234" +
81.956 - "\113\233\121\235\124\u01ff\134\u0222\001\002\000\074\003" +
81.957 - "\ufe64\004\ufe64\010\ufe64\016\ufe64\021\ufe64\022\ufe64\023\ufe64" +
81.958 - "\027\ufe64\030\ufe64\031\ufe64\033\ufe64\034\ufe64\035\ufe64\040" +
81.959 - "\ufe64\041\ufe64\045\ufe64\051\ufe64\053\ufe64\057\ufe64\063\ufe64" +
81.960 - "\065\ufe64\072\ufe64\073\ufe64\101\ufe64\105\ufe64\106\ufe64\140" +
81.961 - "\ufe64\144\ufe64\147\ufe64\001\002\000\074\003\ufef4\004\ufef4" +
81.962 - "\010\ufef4\016\ufef4\021\ufef4\022\ufef4\023\ufef4\027\ufef4\030" +
81.963 - "\ufef4\031\ufef4\033\ufef4\034\ufef4\035\ufef4\040\ufef4\041\ufef4" +
81.964 - "\045\ufef4\051\ufef4\053\ufef4\057\ufef4\063\ufef4\065\ufef4\072" +
81.965 - "\ufef4\073\ufef4\101\ufef4\105\ufef4\106\ufef4\140\ufef4\144\ufef4" +
81.966 - "\147\ufef4\001\002\000\074\003\ufef8\004\ufef8\010\ufef8\016" +
81.967 - "\ufef8\021\ufef8\022\ufef8\023\ufef8\027\ufef8\030\ufef8\031\ufef8" +
81.968 - "\033\ufef8\034\ufef8\035\ufef8\040\ufef8\041\ufef8\045\ufef8\051" +
81.969 - "\ufef8\053\ufef8\057\ufef8\063\ufef8\065\ufef8\072\ufef8\073\ufef8" +
81.970 - "\101\ufef8\105\ufef8\106\ufef8\140\ufef8\144\ufef8\147\ufef8\001" +
81.971 - "\002\000\074\003\ufe65\004\ufe65\010\ufe65\016\ufe65\021\ufe65" +
81.972 - "\022\ufe65\023\ufe65\027\ufe65\030\ufe65\031\ufe65\033\ufe65\034" +
81.973 - "\ufe65\035\ufe65\040\ufe65\041\ufe65\045\ufe65\051\ufe65\053\ufe65" +
81.974 - "\057\ufe65\063\ufe65\065\ufe65\072\ufe65\073\ufe65\101\ufe65\105" +
81.975 - "\ufe65\106\ufe65\140\ufe65\144\ufe65\147\ufe65\001\002\000\074" +
81.976 - "\003\ufeff\004\ufeff\010\ufeff\016\ufeff\021\ufeff\022\ufeff\023" +
81.977 - "\ufeff\027\ufeff\030\ufeff\031\ufeff\033\ufeff\034\ufeff\035\ufeff" +
81.978 - "\040\ufeff\041\ufeff\045\ufeff\051\ufeff\053\ufeff\057\ufeff\063" +
81.979 - "\ufeff\065\ufeff\072\ufeff\073\ufeff\101\ufeff\105\ufeff\106\ufeff" +
81.980 - "\140\ufeff\144\ufeff\147\ufeff\001\002\000\016\010\u0183\023" +
81.981 - "\u0185\100\u01fa\105\u01fb\144\045\147\205\001\002\000\012" +
81.982 - "\105\ufecd\124\ufecd\144\045\147\205\001\002\000\032\005" +
81.983 - "\213\047\224\050\200\051\227\113\204\116\175\120\217" +
81.984 - "\143\215\144\045\145\176\146\231\147\205\001\002\000" +
81.985 - "\074\003\ufef3\004\ufef3\010\ufef3\016\ufef3\021\ufef3\022\ufef3" +
81.986 - "\023\ufef3\027\ufef3\030\ufef3\031\ufef3\033\ufef3\034\ufef3\035" +
81.987 - "\ufef3\040\ufef3\041\ufef3\045\ufef3\051\ufef3\053\ufef3\057\ufef3" +
81.988 - "\063\ufef3\065\ufef3\072\ufef3\073\ufef3\101\ufef3\105\ufef3\106" +
81.989 - "\ufef3\140\ufef3\144\ufef3\147\ufef3\001\002\000\074\003\uff07" +
81.990 - "\004\uff07\010\uff07\016\uff07\021\uff07\022\uff07\023\uff07\027" +
81.991 - "\uff07\030\uff07\031\uff07\033\uff07\034\uff07\035\uff07\040\uff07" +
81.992 - "\041\uff07\045\uff07\051\uff07\053\uff07\057\uff07\063\uff07\065" +
81.993 - "\uff07\072\uff07\073\uff07\101\uff07\105\uff07\106\uff07\140\uff07" +
81.994 - "\144\uff07\147\uff07\001\002\000\074\003\ufef2\004\ufef2\010" +
81.995 - "\ufef2\016\ufef2\021\ufef2\022\ufef2\023\ufef2\027\ufef2\030\ufef2" +
81.996 - "\031\ufef2\033\ufef2\034\ufef2\035\ufef2\040\ufef2\041\ufef2\045" +
81.997 - "\ufef2\051\ufef2\053\ufef2\057\ufef2\063\ufef2\065\ufef2\072\ufef2" +
81.998 - "\073\ufef2\101\ufef2\105\ufef2\106\ufef2\140\ufef2\144\ufef2\147" +
81.999 - "\ufef2\001\002\000\006\026\u01dc\124\u01dd\001\002\000\034" +
81.1000 - "\005\213\047\224\050\200\051\227\113\204\116\175\120" +
81.1001 - "\217\124\u01d9\143\215\144\045\145\176\146\231\147\205" +
81.1002 - "\001\002\000\006\144\045\147\205\001\002\000\004\124" +
81.1003 - "\u01d3\001\002\000\062\003\u017e\004\u017d\010\u0183\016\ufee0" +
81.1004 - "\021\u0169\022\ufee0\023\u0185\031\ufed0\033\u01c1\034\u0176\035" +
81.1005 - "\ufee0\040\u0184\041\u0177\045\ufee0\051\u0180\057\004\063\u017c" +
81.1006 - "\065\u018f\072\u0164\073\u0175\106\ufee0\140\u0187\144\u0190\147" +
81.1007 - "\205\001\002\000\004\124\u01bf\001\002\000\074\003\ufefd" +
81.1008 - "\004\ufefd\010\ufefd\016\ufefd\021\ufefd\022\ufefd\023\ufefd\027" +
81.1009 - "\ufefd\030\ufefd\031\ufefd\033\ufefd\034\ufefd\035\ufefd\040\ufefd" +
81.1010 - "\041\ufefd\045\ufefd\051\ufefd\053\ufefd\057\ufefd\063\ufefd\065" +
81.1011 - "\ufefd\072\ufefd\073\ufefd\101\ufefd\105\ufefd\106\ufefd\140\ufefd" +
81.1012 - "\144\ufefd\147\ufefd\001\002\000\074\003\ufe62\004\ufe62\010" +
81.1013 - "\ufe62\016\ufe62\021\ufe62\022\ufe62\023\ufe62\027\ufe62\030\ufe62" +
81.1014 - "\031\ufe62\033\ufe62\034\ufe62\035\ufe62\040\ufe62\041\ufe62\045" +
81.1015 - "\ufe62\051\ufe62\053\ufe62\057\ufe62\063\ufe62\065\ufe62\072\ufe62" +
81.1016 - "\073\ufe62\101\ufe62\105\ufe62\106\ufe62\140\ufe62\144\ufe62\147" +
81.1017 - "\ufe62\001\002\000\004\144\045\001\002\000\006\144\045" +
81.1018 - "\147\205\001\002\000\034\005\213\047\224\050\200\051" +
81.1019 - "\227\103\u01b3\113\204\116\175\120\217\143\215\144\045" +
81.1020 - "\145\176\146\231\147\205\001\002\000\074\003\ufef1\004" +
81.1021 - "\ufef1\010\ufef1\016\ufef1\021\ufef1\022\ufef1\023\ufef1\027\ufef1" +
81.1022 - "\030\ufef1\031\ufef1\033\ufef1\034\ufef1\035\ufef1\040\ufef1\041" +
81.1023 - "\ufef1\045\ufef1\051\ufef1\053\ufef1\057\ufef1\063\ufef1\065\ufef1" +
81.1024 - "\072\ufef1\073\ufef1\101\ufef1\105\ufef1\106\ufef1\140\ufef1\144" +
81.1025 - "\ufef1\147\ufef1\001\002\000\004\144\u01b0\001\002\000\014" +
81.1026 - "\016\ufed4\022\u0196\035\u0198\045\ufede\106\u019b\001\002\000" +
81.1027 - "\074\003\uff00\004\uff00\010\uff00\016\uff00\021\uff00\022\uff00" +
81.1028 - "\023\uff00\027\uff00\030\uff00\031\uff00\033\uff00\034\uff00\035" +
81.1029 - "\uff00\040\uff00\041\uff00\045\uff00\051\uff00\053\uff00\057\uff00" +
81.1030 - "\063\uff00\065\uff00\072\uff00\073\uff00\101\uff00\105\uff00\106" +
81.1031 - "\uff00\140\uff00\144\uff00\147\uff00\001\002\000\056\003\u017e" +
81.1032 - "\004\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\034" +
81.1033 - "\u0176\035\ufee0\040\u0184\041\u0177\045\ufee0\051\u0180\057\004" +
81.1034 - "\063\u017c\065\u018f\072\u0164\073\u0175\106\ufee0\140\u0187\144" +
81.1035 - "\u0190\147\205\001\002\000\074\003\ufefa\004\ufefa\010\ufefa" +
81.1036 - "\016\ufefa\021\ufefa\022\ufefa\023\ufefa\027\ufefa\030\ufefa\031" +
81.1037 - "\ufefa\033\ufefa\034\ufefa\035\ufefa\040\ufefa\041\ufefa\045\ufefa" +
81.1038 - "\051\ufefa\053\ufefa\057\ufefa\063\ufefa\065\ufefa\072\ufefa\073" +
81.1039 - "\ufefa\101\ufefa\105\ufefa\106\ufefa\140\ufefa\144\ufefa\147\ufefa" +
81.1040 - "\001\002\000\074\003\ufef9\004\ufef9\010\ufef9\016\ufef9\021" +
81.1041 - "\ufef9\022\ufef9\023\ufef9\027\ufef9\030\ufef9\031\ufef9\033\ufef9" +
81.1042 - "\034\ufef9\035\ufef9\040\ufef9\041\ufef9\045\ufef9\051\ufef9\053" +
81.1043 - "\ufef9\057\ufef9\063\ufef9\065\ufef9\072\ufef9\073\ufef9\101\ufef9" +
81.1044 - "\105\ufef9\106\ufef9\140\ufef9\144\ufef9\147\ufef9\001\002\000" +
81.1045 - "\074\003\uff05\004\uff05\010\uff05\016\uff05\021\uff05\022\uff05" +
81.1046 - "\023\uff05\027\uff05\030\uff05\031\uff05\033\uff05\034\uff05\035" +
81.1047 - "\uff05\040\uff05\041\uff05\045\uff05\051\uff05\053\uff05\057\uff05" +
81.1048 - "\063\uff05\065\uff05\072\uff05\073\uff05\101\uff05\105\uff05\106" +
81.1049 - "\uff05\140\uff05\144\uff05\147\uff05\001\002\000\074\003\uff01" +
81.1050 - "\004\uff01\010\uff01\016\uff01\021\uff01\022\uff01\023\uff01\027" +
81.1051 - "\uff01\030\uff01\031\uff01\033\uff01\034\uff01\035\uff01\040\uff01" +
81.1052 - "\041\uff01\045\uff01\051\uff01\053\uff01\057\uff01\063\uff01\065" +
81.1053 - "\uff01\072\uff01\073\uff01\101\uff01\105\uff01\106\uff01\140\uff01" +
81.1054 - "\144\uff01\147\uff01\001\002\000\010\124\ufecd\144\045\147" +
81.1055 - "\205\001\002\000\016\112\uff59\113\uff59\121\uff59\123\u0191" +
81.1056 - "\124\uff59\134\uff59\001\002\000\014\016\ufedf\022\ufedf\035" +
81.1057 - "\ufedf\045\ufedf\106\ufedf\001\002\000\014\105\ufecc\112\u0122" +
81.1058 - "\113\233\121\235\124\ufecc\001\002\000\004\124\u0194\001" +
81.1059 - "\002\000\074\003\ufe2c\004\ufe2c\010\ufe2c\016\ufe2c\021\ufe2c" +
81.1060 - "\022\ufe2c\023\ufe2c\027\ufe2c\030\ufe2c\031\ufe2c\033\ufe2c\034" +
81.1061 - "\ufe2c\035\ufe2c\040\ufe2c\041\ufe2c\045\ufe2c\051\ufe2c\053\ufe2c" +
81.1062 - "\057\ufe2c\063\ufe2c\065\ufe2c\072\ufe2c\073\ufe2c\101\ufe2c\105" +
81.1063 - "\ufe2c\106\ufe2c\140\ufe2c\144\ufe2c\147\ufe2c\001\002\000\074" +
81.1064 - "\003\uff04\004\uff04\010\uff04\016\uff04\021\uff04\022\uff04\023" +
81.1065 - "\uff04\027\uff04\030\uff04\031\uff04\033\uff04\034\uff04\035\uff04" +
81.1066 - "\040\uff04\041\uff04\045\uff04\051\uff04\053\uff04\057\uff04\063" +
81.1067 - "\uff04\065\uff04\072\uff04\073\uff04\101\uff04\105\uff04\106\uff04" +
81.1068 - "\140\uff04\144\uff04\147\uff04\001\002\000\036\003\105\016" +
81.1069 - "\uff7b\035\070\036\027\037\030\056\121\057\004\061\021" +
81.1070 - "\062\117\075\076\077\060\102\074\104\015\144\126\001" +
81.1071 - "\002\000\004\016\u015c\001\002\000\004\144\u01a9\001\002" +
81.1072 - "\000\034\005\ufeda\047\ufeda\050\ufeda\051\ufeda\064\u01a7\113" +
81.1073 - "\ufeda\116\ufeda\120\ufeda\143\ufeda\144\ufeda\145\ufeda\146\ufeda" +
81.1074 - "\147\ufeda\001\002\000\004\045\u019f\001\002\000\032\005" +
81.1075 - "\213\047\224\050\200\051\227\113\204\116\175\120\217" +
81.1076 - "\143\215\144\045\145\176\146\231\147\205\001\002\000" +
81.1077 - "\022\013\321\043\ufee8\045\ufee8\053\324\101\ufee8\110\322" +
81.1078 - "\124\ufee8\131\ufee8\001\002\000\004\045\ufedd\001\002\000" +
81.1079 - "\010\124\ufed7\144\045\147\205\001\002\000\056\003\u017e" +
81.1080 - "\004\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\034" +
81.1081 - "\u0176\035\ufee0\040\u0184\041\u0177\045\ufee0\051\u0180\057\004" +
81.1082 - "\063\u017c\065\u018f\072\u0164\073\u0175\106\ufee0\140\u0187\144" +
81.1083 - "\u0190\147\205\001\002\000\060\003\u017e\004\u017d\010\u0183" +
81.1084 - "\016\ufee0\021\u0169\022\ufee0\023\u0185\031\u01a2\034\u0176\035" +
81.1085 - "\ufee0\040\u0184\041\u0177\045\ufee0\051\u0180\057\004\063\u017c" +
81.1086 - "\065\u018f\072\u0164\073\u0175\106\ufee0\140\u0187\144\u0190\147" +
81.1087 - "\205\001\002\000\074\003\uff06\004\uff06\010\uff06\016\uff06" +
81.1088 - "\021\uff06\022\uff06\023\uff06\027\uff06\030\uff06\031\uff06\033" +
81.1089 - "\uff06\034\uff06\035\uff06\040\uff06\041\uff06\045\uff06\051\uff06" +
81.1090 - "\053\uff06\057\uff06\063\uff06\065\uff06\072\uff06\073\uff06\101" +
81.1091 - "\uff06\105\uff06\106\uff06\140\uff06\144\uff06\147\uff06\001\002" +
81.1092 - "\000\004\045\u01a3\001\002\000\010\124\ufed8\144\ufed8\147" +
81.1093 - "\ufed8\001\002\000\004\124\u01a5\001\002\000\074\003\ufee1" +
81.1094 - "\004\ufee1\010\ufee1\016\ufee1\021\ufee1\022\ufee1\023\ufee1\027" +
81.1095 - "\ufee1\030\ufee1\031\ufee1\033\ufee1\034\ufee1\035\ufee1\040\ufee1" +
81.1096 - "\041\ufee1\045\ufee1\051\ufee1\053\ufee1\057\ufee1\063\ufee1\065" +
81.1097 - "\ufee1\072\ufee1\073\ufee1\101\ufee1\105\ufee1\106\ufee1\140\ufee1" +
81.1098 - "\144\ufee1\147\ufee1\001\002\000\032\005\213\047\224\050" +
81.1099 - "\200\051\227\113\204\116\175\120\217\143\215\144\045" +
81.1100 - "\145\176\146\231\147\205\001\002\000\032\005\ufed9\047" +
81.1101 - "\ufed9\050\ufed9\051\ufed9\113\ufed9\116\ufed9\120\ufed9\143\ufed9" +
81.1102 - "\144\ufed9\145\ufed9\146\ufed9\147\ufed9\001\002\000\004\045" +
81.1103 - "\ufedc\001\002\000\004\042\u01aa\001\002\000\034\005\ufedb" +
81.1104 - "\047\ufedb\050\ufedb\051\ufedb\064\ufedb\113\ufedb\116\ufedb\120" +
81.1105 - "\ufedb\143\ufedb\144\ufedb\145\ufedb\146\ufedb\147\ufedb\001\002" +
81.1106 - "\000\004\031\u01ac\001\002\000\010\124\ufed7\144\045\147" +
81.1107 - "\205\001\002\000\004\124\u01ae\001\002\000\074\003\ufed5" +
81.1108 - "\004\ufed5\010\ufed5\016\ufed5\021\ufed5\022\ufed5\023\ufed5\027" +
81.1109 - "\ufed5\030\ufed5\031\ufed5\033\ufed5\034\ufed5\035\ufed5\040\ufed5" +
81.1110 - "\041\ufed5\045\ufed5\051\ufed5\053\ufed5\057\ufed5\063\ufed5\065" +
81.1111 - "\ufed5\072\ufed5\073\ufed5\101\ufed5\105\ufed5\106\ufed5\140\ufed5" +
81.1112 - "\144\ufed5\147\ufed5\001\002\000\004\016\ufed3\001\002\000" +
81.1113 - "\004\141\u01b1\001\002\000\056\003\ufeee\004\ufeee\010\ufeee" +
81.1114 - "\016\ufeee\021\ufeee\022\ufeee\023\ufeee\034\ufeee\035\ufeee\040" +
81.1115 - "\ufeee\041\ufeee\045\ufeee\051\ufeee\057\ufeee\063\ufeee\065\ufeee" +
81.1116 - "\072\ufeee\073\ufeee\106\ufeee\140\ufeee\144\ufeee\147\ufeee\001" +
81.1117 - "\002\000\012\013\321\053\324\110\322\124\u01b6\001\002" +
81.1118 - "\000\032\005\213\047\224\050\200\051\227\113\204\116" +
81.1119 - "\175\120\217\143\215\144\045\145\176\146\231\147\205" +
81.1120 - "\001\002\000\012\013\321\053\324\110\322\124\u01b5\001" +
81.1121 - "\002\000\074\003\ufe66\004\ufe66\010\ufe66\016\ufe66\021\ufe66" +
81.1122 - "\022\ufe66\023\ufe66\027\ufe66\030\ufe66\031\ufe66\033\ufe66\034" +
81.1123 - "\ufe66\035\ufe66\040\ufe66\041\ufe66\045\ufe66\051\ufe66\053\ufe66" +
81.1124 - "\057\ufe66\063\ufe66\065\ufe66\072\ufe66\073\ufe66\101\ufe66\105" +
81.1125 - "\ufe66\106\ufe66\140\ufe66\144\ufe66\147\ufe66\001\002\000\074" +
81.1126 - "\003\ufe67\004\ufe67\010\ufe67\016\ufe67\021\ufe67\022\ufe67\023" +
81.1127 - "\ufe67\027\ufe67\030\ufe67\031\ufe67\033\ufe67\034\ufe67\035\ufe67" +
81.1128 - "\040\ufe67\041\ufe67\045\ufe67\051\ufe67\053\ufe67\057\ufe67\063" +
81.1129 - "\ufe67\065\ufe67\072\ufe67\073\ufe67\101\ufe67\105\ufe67\106\ufe67" +
81.1130 - "\140\ufe67\144\ufe67\147\ufe67\001\002\000\012\112\u0122\113" +
81.1131 - "\233\121\235\124\u01b8\001\002\000\074\003\ufec7\004\ufec7" +
81.1132 - "\010\ufec7\016\ufec7\021\ufec7\022\ufec7\023\ufec7\027\ufec7\030" +
81.1133 - "\ufec7\031\ufec7\033\ufec7\034\ufec7\035\ufec7\040\ufec7\041\ufec7" +
81.1134 - "\045\ufec7\051\ufec7\053\ufec7\057\ufec7\063\ufec7\065\ufec7\072" +
81.1135 - "\ufec7\073\ufec7\101\ufec7\105\ufec7\106\ufec7\140\ufec7\144\ufec7" +
81.1136 - "\147\ufec7\001\002\000\010\026\ufebe\113\u01bc\124\ufebe\001" +
81.1137 - "\002\000\010\026\ufe69\113\ufe69\124\ufe69\001\002\000\006" +
81.1138 - "\026\ufe6a\124\ufe6a\001\002\000\034\003\u012f\005\213\047" +
81.1139 - "\224\050\200\051\227\113\204\116\175\120\217\143\215" +
81.1140 - "\144\u0131\145\176\146\231\147\205\001\002\000\012\013" +
81.1141 - "\321\053\324\110\322\114\u01be\001\002\000\010\026\ufe68" +
81.1142 - "\113\ufe68\124\ufe68\001\002\000\074\003\ufeed\004\ufeed\010" +
81.1143 - "\ufeed\016\ufeed\021\ufeed\022\ufeed\023\ufeed\027\ufeed\030\ufeed" +
81.1144 - "\031\ufeed\033\ufeed\034\ufeed\035\ufeed\040\ufeed\041\ufeed\045" +
81.1145 - "\ufeed\051\ufeed\053\ufeed\057\ufeed\063\ufeed\065\ufeed\072\ufeed" +
81.1146 - "\073\ufeed\101\ufeed\105\ufeed\106\ufeed\140\ufeed\144\ufeed\147" +
81.1147 - "\ufeed\001\002\000\006\031\ufecf\105\u01c3\001\002\000\004" +
81.1148 - "\105\u01c3\001\002\000\004\031\ufed1\001\002\000\010\054" +
81.1149 - "\u01c5\144\u01c7\147\205\001\002\000\006\031\ufe34\105\ufe34" +
81.1150 - "\001\002\000\006\130\ufe2d\131\ufe2d\001\002\000\014\112" +
81.1151 - "\u0122\113\233\121\235\130\ufe2e\131\ufe2e\001\002\000\016" +
81.1152 - "\112\uff59\113\uff59\121\uff59\123\u01ce\130\uff59\131\uff59\001" +
81.1153 - "\002\000\006\130\u01ca\131\u01cb\001\002\000\006\130\ufe30" +
81.1154 - "\131\ufe30\001\002\000\010\054\u01c5\144\045\147\205\001" +
81.1155 - "\002\000\056\003\u017e\004\u017d\010\u0183\016\ufee0\021\u0169" +
81.1156 - "\022\ufee0\023\u0185\034\u0176\035\ufee0\040\u0184\041\u0177\045" +
81.1157 - "\ufee0\051\u0180\057\004\063\u017c\065\u018f\072\u0164\073\u0175" +
81.1158 - "\106\ufee0\140\u0187\144\u0190\147\205\001\002\000\062\003" +
81.1159 - "\u017e\004\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185" +
81.1160 - "\031\ufe32\034\u0176\035\ufee0\040\u0184\041\u0177\045\ufee0\051" +
81.1161 - "\u0180\057\004\063\u017c\065\u018f\072\u0164\073\u0175\105\ufe32" +
81.1162 - "\106\ufee0\140\u0187\144\u0190\147\205\001\002\000\006\130" +
81.1163 - "\ufe2f\131\ufe2f\001\002\000\010\054\u01c5\144\045\147\205" +
81.1164 - "\001\002\000\006\130\u01ca\131\u01d0\001\002\000\056\003" +
81.1165 - "\u017e\004\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185" +
81.1166 - "\034\u0176\035\ufee0\040\u0184\041\u0177\045\ufee0\051\u0180\057" +
81.1167 - "\004\063\u017c\065\u018f\072\u0164\073\u0175\106\ufee0\140\u0187" +
81.1168 - "\144\u0190\147\205\001\002\000\062\003\u017e\004\u017d\010" +
81.1169 - "\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\031\ufe31\034\u0176" +
81.1170 - "\035\ufee0\040\u0184\041\u0177\045\ufee0\051\u0180\057\004\063" +
81.1171 - "\u017c\065\u018f\072\u0164\073\u0175\105\ufe31\106\ufee0\140\u0187" +
81.1172 - "\144\u0190\147\205\001\002\000\006\031\ufe33\105\ufe33\001" +
81.1173 - "\002\000\074\003\ufef5\004\ufef5\010\ufef5\016\ufef5\021\ufef5" +
81.1174 - "\022\ufef5\023\ufef5\027\ufef5\030\ufef5\031\ufef5\033\ufef5\034" +
81.1175 - "\ufef5\035\ufef5\040\ufef5\041\ufef5\045\ufef5\051\ufef5\053\ufef5" +
81.1176 - "\057\ufef5\063\ufef5\065\ufef5\072\ufef5\073\ufef5\101\ufef5\105" +
81.1177 - "\ufef5\106\ufef5\140\ufef5\144\ufef5\147\ufef5\001\002\000\014" +
81.1178 - "\112\u0122\113\233\117\ufe51\121\235\124\ufe51\001\002\000" +
81.1179 - "\006\117\u01d6\124\u01d7\001\002\000\006\144\045\147\205" +
81.1180 - "\001\002\000\074\003\ufe52\004\ufe52\010\ufe52\016\ufe52\021" +
81.1181 - "\ufe52\022\ufe52\023\ufe52\027\ufe52\030\ufe52\031\ufe52\033\ufe52" +
81.1182 - "\034\ufe52\035\ufe52\040\ufe52\041\ufe52\045\ufe52\051\ufe52\053" +
81.1183 - "\ufe52\057\ufe52\063\ufe52\065\ufe52\072\ufe52\073\ufe52\101\ufe52" +
81.1184 - "\105\ufe52\106\ufe52\140\ufe52\144\ufe52\147\ufe52\001\002\000" +
81.1185 - "\014\112\u0122\113\233\117\ufe50\121\235\124\ufe50\001\002" +
81.1186 - "\000\074\003\ufec9\004\ufec9\010\ufec9\016\ufec9\021\ufec9\022" +
81.1187 - "\ufec9\023\ufec9\027\ufec9\030\ufec9\031\ufec9\033\ufec9\034\ufec9" +
81.1188 - "\035\ufec9\040\ufec9\041\ufec9\045\ufec9\051\ufec9\053\ufec9\057" +
81.1189 - "\ufec9\063\ufec9\065\ufec9\072\ufec9\073\ufec9\101\ufec9\105\ufec9" +
81.1190 - "\106\ufec9\140\ufec9\144\ufec9\147\ufec9\001\002\000\012\013" +
81.1191 - "\321\053\324\110\322\124\u01db\001\002\000\074\003\ufec8" +
81.1192 - "\004\ufec8\010\ufec8\016\ufec8\021\ufec8\022\ufec8\023\ufec8\027" +
81.1193 - "\ufec8\030\ufec8\031\ufec8\033\ufec8\034\ufec8\035\ufec8\040\ufec8" +
81.1194 - "\041\ufec8\045\ufec8\051\ufec8\053\ufec8\057\ufec8\063\ufec8\065" +
81.1195 - "\ufec8\072\ufec8\073\ufec8\101\ufec8\105\ufec8\106\ufec8\140\ufec8" +
81.1196 - "\144\ufec8\147\ufec8\001\002\000\056\003\u017e\004\u017d\010" +
81.1197 - "\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\034\u0176\035\ufee0" +
81.1198 - "\040\u0184\041\u0177\045\ufee0\051\u0180\057\004\063\u017c\065" +
81.1199 - "\u018f\072\u0164\073\u0175\106\ufee0\140\u0187\144\u0190\147\205" +
81.1200 - "\001\002\000\074\003\ufe6c\004\ufe6c\010\ufe6c\016\ufe6c\021" +
81.1201 - "\ufe6c\022\ufe6c\023\ufe6c\027\ufe6c\030\ufe6c\031\ufe6c\033\ufe6c" +
81.1202 - "\034\ufe6c\035\ufe6c\040\ufe6c\041\ufe6c\045\ufe6c\051\ufe6c\053" +
81.1203 - "\ufe6c\057\ufe6c\063\ufe6c\065\ufe6c\072\ufe6c\073\ufe6c\101\ufe6c" +
81.1204 - "\105\ufe6c\106\ufe6c\140\ufe6c\144\ufe6c\147\ufe6c\001\002\000" +
81.1205 - "\004\031\u01df\001\002\000\010\124\ufed7\144\045\147\205" +
81.1206 - "\001\002\000\004\124\u01e1\001\002\000\074\003\ufe6b\004" +
81.1207 - "\ufe6b\010\ufe6b\016\ufe6b\021\ufe6b\022\ufe6b\023\ufe6b\027\ufe6b" +
81.1208 - "\030\ufe6b\031\ufe6b\033\ufe6b\034\ufe6b\035\ufe6b\040\ufe6b\041" +
81.1209 - "\ufe6b\045\ufe6b\051\ufe6b\053\ufe6b\057\ufe6b\063\ufe6b\065\ufe6b" +
81.1210 - "\072\ufe6b\073\ufe6b\101\ufe6b\105\ufe6b\106\ufe6b\140\ufe6b\144" +
81.1211 - "\ufe6b\147\ufe6b\001\002\000\010\027\u01e6\030\u01e7\031\ufee7" +
81.1212 - "\001\002\000\004\101\u01e4\001\002\000\056\003\u017e\004" +
81.1213 - "\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\034\u0176" +
81.1214 - "\035\ufee0\040\u0184\041\u0177\045\ufee0\051\u0180\057\004\063" +
81.1215 - "\u017c\065\u018f\072\u0164\073\u0175\106\ufee0\140\u0187\144\u0190" +
81.1216 - "\147\205\001\002\000\064\003\u017e\004\u017d\010\u0183\016" +
81.1217 - "\ufee0\021\u0169\022\ufee0\023\u0185\027\ufeea\030\ufeea\031\ufeea" +
81.1218 - "\034\u0176\035\ufee0\040\u0184\041\u0177\045\ufee0\051\u0180\057" +
81.1219 - "\004\063\u017c\065\u018f\072\u0164\073\u0175\106\ufee0\140\u0187" +
81.1220 - "\144\u0190\147\205\001\002\000\056\003\u017e\004\u017d\010" +
81.1221 - "\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\034\u0176\035\ufee0" +
81.1222 - "\040\u0184\041\u0177\045\ufee0\051\u0180\057\004\063\u017c\065" +
81.1223 - "\u018f\072\u0164\073\u0175\106\ufee0\140\u0187\144\u0190\147\205" +
81.1224 - "\001\002\000\032\005\213\047\224\050\200\051\227\113" +
81.1225 - "\204\116\175\120\217\143\215\144\045\145\176\146\231" +
81.1226 - "\147\205\001\002\000\004\031\u01e9\001\002\000\004\041" +
81.1227 - "\u01ea\001\002\000\004\124\u01eb\001\002\000\074\003\ufeeb" +
81.1228 - "\004\ufeeb\010\ufeeb\016\ufeeb\021\ufeeb\022\ufeeb\023\ufeeb\027" +
81.1229 - "\ufeeb\030\ufeeb\031\ufeeb\033\ufeeb\034\ufeeb\035\ufeeb\040\ufeeb" +
81.1230 - "\041\ufeeb\045\ufeeb\051\ufeeb\053\ufeeb\057\ufeeb\063\ufeeb\065" +
81.1231 - "\ufeeb\072\ufeeb\073\ufeeb\101\ufeeb\105\ufeeb\106\ufeeb\140\ufeeb" +
81.1232 - "\144\ufeeb\147\ufeeb\001\002\000\004\101\u01ed\001\002\000" +
81.1233 - "\056\003\u017e\004\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0" +
81.1234 - "\023\u0185\034\u0176\035\ufee0\040\u0184\041\u0177\045\ufee0\051" +
81.1235 - "\u0180\057\004\063\u017c\065\u018f\072\u0164\073\u0175\106\ufee0" +
81.1236 - "\140\u0187\144\u0190\147\205\001\002\000\064\003\u017e\004" +
81.1237 - "\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\027\ufee9" +
81.1238 - "\030\ufee9\031\ufee9\034\u0176\035\ufee0\040\u0184\041\u0177\045" +
81.1239 - "\ufee0\051\u0180\057\004\063\u017c\065\u018f\072\u0164\073\u0175" +
81.1240 - "\106\ufee0\140\u0187\144\u0190\147\205\001\002\000\060\003" +
81.1241 - "\u017e\004\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185" +
81.1242 - "\031\ufee6\034\u0176\035\ufee0\040\u0184\041\u0177\045\ufee0\051" +
81.1243 - "\u0180\057\004\063\u017c\065\u018f\072\u0164\073\u0175\106\ufee0" +
81.1244 - "\140\u0187\144\u0190\147\205\001\002\000\006\105\u01f2\124" +
81.1245 - "\ufecb\001\002\000\004\124\u01f4\001\002\000\032\005\213" +
81.1246 - "\047\224\050\200\051\227\113\204\116\175\120\217\143" +
81.1247 - "\215\144\045\145\176\146\231\147\205\001\002\000\004" +
81.1248 - "\124\ufeca\001\002\000\074\003\ufece\004\ufece\010\ufece\016" +
81.1249 - "\ufece\021\ufece\022\ufece\023\ufece\027\ufece\030\ufece\031\ufece" +
81.1250 - "\033\ufece\034\ufece\035\ufece\040\ufece\041\ufece\045\ufece\051" +
81.1251 - "\ufece\053\ufece\057\ufece\063\ufece\065\ufece\072\ufece\073\ufece" +
81.1252 - "\101\ufece\105\ufece\106\ufece\140\ufece\144\ufece\147\ufece\001" +
81.1253 - "\002\000\066\003\u017e\004\u017d\010\u0183\016\ufee0\021\u0169" +
81.1254 - "\022\ufee0\023\u0185\027\ufe54\031\ufe54\034\u0176\035\ufee0\040" +
81.1255 - "\u0184\041\u0177\045\ufee0\051\u0180\053\ufe54\057\004\063\u017c" +
81.1256 - "\065\u018f\072\u0164\073\u0175\101\ufe54\106\ufee0\140\u0187\144" +
81.1257 - "\u0190\147\205\001\002\000\064\003\u017e\004\u017d\010\u0183" +
81.1258 - "\016\ufee0\021\u0169\022\ufee0\023\u0185\027\ufe54\034\u0176\035" +
81.1259 - "\ufee0\040\u0184\041\u0177\045\ufee0\051\u0180\053\ufe54\057\004" +
81.1260 - "\063\u017c\065\u018f\072\u0164\073\u0175\101\ufe54\106\ufee0\140" +
81.1261 - "\u0187\144\u0190\147\205\001\002\000\010\027\ufe60\031\ufe60" +
81.1262 - "\053\ufe60\001\002\000\004\101\u020f\001\002\000\064\003" +
81.1263 - "\ufe6d\004\ufe6d\010\ufe6d\016\ufe6d\021\ufe6d\022\ufe6d\023\ufe6d" +
81.1264 - "\027\ufe6d\034\ufe6d\035\ufe6d\040\ufe6d\041\ufe6d\045\ufe6d\051" +
81.1265 - "\ufe6d\053\ufe6d\057\ufe6d\063\ufe6d\065\ufe6d\072\ufe6d\073\ufe6d" +
81.1266 - "\101\ufe6d\106\ufe6d\140\ufe6d\144\ufe6d\147\ufe6d\001\002\000" +
81.1267 - "\004\124\u020e\001\002\000\032\005\213\047\224\050\200" +
81.1268 - "\051\227\113\204\116\175\120\217\143\215\144\045\145" +
81.1269 - "\176\146\231\147\205\001\002\000\064\003\u017e\004\u017d" +
81.1270 - "\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\027\ufe54\031" +
81.1271 - "\ufe54\034\u0176\035\ufee0\040\u0184\041\u0177\045\ufee0\051\u0180" +
81.1272 - "\053\ufe54\057\004\063\u017c\065\u018f\072\u0164\073\u0175\106" +
81.1273 - "\ufee0\140\u0187\144\u0190\147\205\001\002\000\010\027\ufe5e" +
81.1274 - "\031\ufe5e\053\ufe5e\001\002\000\012\112\u0122\113\233\121" +
81.1275 - "\235\124\u01ff\001\002\000\074\003\ufeb0\004\ufeb0\010\ufeb0" +
81.1276 - "\016\ufeb0\021\ufeb0\022\ufeb0\023\ufeb0\027\ufeb0\030\ufeb0\031" +
81.1277 - "\ufeb0\033\ufeb0\034\ufeb0\035\ufeb0\040\ufeb0\041\ufeb0\045\ufeb0" +
81.1278 - "\051\ufeb0\053\ufeb0\057\ufeb0\063\ufeb0\065\ufeb0\072\ufeb0\073" +
81.1279 - "\ufeb0\101\ufeb0\105\ufeb0\106\ufeb0\140\ufeb0\144\ufeb0\147\ufeb0" +
81.1280 - "\001\002\000\010\027\u01e6\031\ufee7\053\u0202\001\002\000" +
81.1281 - "\004\031\u0207\001\002\000\012\010\u0183\023\u0185\100\u01fa" +
81.1282 - "\105\u01fb\001\002\000\064\003\u017e\004\u017d\010\u0183\016" +
81.1283 - "\ufee0\021\u0169\022\ufee0\023\u0185\027\ufe54\031\ufe54\034\u0176" +
81.1284 - "\035\ufee0\040\u0184\041\u0177\045\ufee0\051\u0180\053\ufe54\057" +
81.1285 - "\004\063\u017c\065\u018f\072\u0164\073\u0175\106\ufee0\140\u0187" +
81.1286 - "\144\u0190\147\205\001\002\000\010\027\ufe5d\031\ufe5d\053" +
81.1287 - "\ufe5d\001\002\000\010\027\ufe5b\031\ufe5b\053\ufe5b\001\002" +
81.1288 - "\000\066\003\u017e\004\u017d\010\u0183\016\ufee0\021\u0169\022" +
81.1289 - "\ufee0\023\u0185\027\ufe53\031\ufe53\034\u0176\035\ufee0\040\u0184" +
81.1290 - "\041\u0177\045\ufee0\051\u0180\053\ufe53\057\004\063\u017c\065" +
81.1291 - "\u018f\072\u0164\073\u0175\101\ufe53\106\ufee0\140\u0187\144\u0190" +
81.1292 - "\147\205\001\002\000\004\073\u0208\001\002\000\004\124" +
81.1293 - "\u0209\001\002\000\074\003\ufe61\004\ufe61\010\ufe61\016\ufe61" +
81.1294 - "\021\ufe61\022\ufe61\023\ufe61\027\ufe61\030\ufe61\031\ufe61\033" +
81.1295 - "\ufe61\034\ufe61\035\ufe61\040\ufe61\041\ufe61\045\ufe61\051\ufe61" +
81.1296 - "\053\ufe61\057\ufe61\063\ufe61\065\ufe61\072\ufe61\073\ufe61\101" +
81.1297 - "\ufe61\105\ufe61\106\ufe61\140\ufe61\144\ufe61\147\ufe61\001\002" +
81.1298 - "\000\010\027\ufe5c\031\ufe5c\053\ufe5c\001\002\000\004\131" +
81.1299 - "\u020c\001\002\000\010\010\u0183\023\u0185\100\u01fa\001\002" +
81.1300 - "\000\010\027\ufe5f\031\ufe5f\053\ufe5f\001\002\000\010\027" +
81.1301 - "\ufe5a\031\ufe5a\053\ufe5a\001\002\000\004\004\u0210\001\002" +
81.1302 - "\000\056\003\u017e\004\u017d\010\u0183\016\ufee0\021\u0169\022" +
81.1303 - "\ufee0\023\u0185\034\u0176\035\ufee0\040\u0184\041\u0177\045\ufee0" +
81.1304 - "\051\u0180\057\004\063\u017c\065\u018f\072\u0164\073\u0175\106" +
81.1305 - "\ufee0\140\u0187\144\u0190\147\205\001\002\000\060\003\u017e" +
81.1306 - "\004\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\031" +
81.1307 - "\u0212\034\u0176\035\ufee0\040\u0184\041\u0177\045\ufee0\051\u0180" +
81.1308 - "\057\004\063\u017c\065\u018f\072\u0164\073\u0175\106\ufee0\140" +
81.1309 - "\u0187\144\u0190\147\205\001\002\000\004\073\u0213\001\002" +
81.1310 - "\000\004\124\u0214\001\002\000\074\003\ufe57\004\ufe57\010" +
81.1311 - "\ufe57\016\ufe57\021\ufe57\022\ufe57\023\ufe57\027\ufe57\030\ufe57" +
81.1312 - "\031\ufe57\033\ufe57\034\ufe57\035\ufe57\040\ufe57\041\ufe57\045" +
81.1313 - "\ufe57\051\ufe57\053\ufe57\057\ufe57\063\ufe57\065\ufe57\072\ufe57" +
81.1314 - "\073\ufe57\101\ufe57\105\ufe57\106\ufe57\140\ufe57\144\ufe57\147" +
81.1315 - "\ufe57\001\002\000\010\027\u0216\053\u0217\101\ufe58\001\002" +
81.1316 - "\000\056\003\u017e\004\u017d\010\u0183\016\ufee0\021\u0169\022" +
81.1317 - "\ufee0\023\u0185\034\u0176\035\ufee0\040\u0184\041\u0177\045\ufee0" +
81.1318 - "\051\u0180\057\004\063\u017c\065\u018f\072\u0164\073\u0175\106" +
81.1319 - "\ufee0\140\u0187\144\u0190\147\205\001\002\000\004\023\u0185" +
81.1320 - "\001\002\000\060\003\u017e\004\u017d\010\u0183\016\ufee0\021" +
81.1321 - "\u0169\022\ufee0\023\u0185\031\ufe54\034\u0176\035\ufee0\040\u0184" +
81.1322 - "\041\u0177\045\ufee0\051\u0180\057\004\063\u017c\065\u018f\072" +
81.1323 - "\u0164\073\u0175\106\ufee0\140\u0187\144\u0190\147\205\001\002" +
81.1324 - "\000\004\031\u021a\001\002\000\004\073\u021b\001\002\000" +
81.1325 - "\004\124\u021c\001\002\000\074\003\ufe56\004\ufe56\010\ufe56" +
81.1326 - "\016\ufe56\021\ufe56\022\ufe56\023\ufe56\027\ufe56\030\ufe56\031" +
81.1327 - "\ufe56\033\ufe56\034\ufe56\035\ufe56\040\ufe56\041\ufe56\045\ufe56" +
81.1328 - "\051\ufe56\053\ufe56\057\ufe56\063\ufe56\065\ufe56\072\ufe56\073" +
81.1329 - "\ufe56\101\ufe56\105\ufe56\106\ufe56\140\ufe56\144\ufe56\147\ufe56" +
81.1330 - "\001\002\000\060\003\u017e\004\u017d\010\u0183\016\ufee0\021" +
81.1331 - "\u0169\022\ufee0\023\u0185\031\u021e\034\u0176\035\ufee0\040\u0184" +
81.1332 - "\041\u0177\045\ufee0\051\u0180\057\004\063\u017c\065\u018f\072" +
81.1333 - "\u0164\073\u0175\106\ufee0\140\u0187\144\u0190\147\205\001\002" +
81.1334 - "\000\004\073\u021f\001\002\000\004\124\u0220\001\002\000" +
81.1335 - "\074\003\ufe55\004\ufe55\010\ufe55\016\ufe55\021\ufe55\022\ufe55" +
81.1336 - "\023\ufe55\027\ufe55\030\ufe55\031\ufe55\033\ufe55\034\ufe55\035" +
81.1337 - "\ufe55\040\ufe55\041\ufe55\045\ufe55\051\ufe55\053\ufe55\057\ufe55" +
81.1338 - "\063\ufe55\065\ufe55\072\ufe55\073\ufe55\101\ufe55\105\ufe55\106" +
81.1339 - "\ufe55\140\ufe55\144\ufe55\147\ufe55\001\002\000\012\027\ufe5b" +
81.1340 - "\031\ufe5b\053\ufe5b\101\ufe59\001\002\000\032\005\213\047" +
81.1341 - "\224\050\200\051\227\113\204\116\175\120\217\143\215" +
81.1342 - "\144\045\145\176\146\231\147\205\001\002\000\012\013" +
81.1343 - "\321\053\324\110\322\124\u0224\001\002\000\074\003\ufeec" +
81.1344 - "\004\ufeec\010\ufeec\016\ufeec\021\ufeec\022\ufeec\023\ufeec\027" +
81.1345 - "\ufeec\030\ufeec\031\ufeec\033\ufeec\034\ufeec\035\ufeec\040\ufeec" +
81.1346 - "\041\ufeec\045\ufeec\051\ufeec\053\ufeec\057\ufeec\063\ufeec\065" +
81.1347 - "\ufeec\072\ufeec\073\ufeec\101\ufeec\105\ufeec\106\ufeec\140\ufeec" +
81.1348 - "\144\ufeec\147\ufeec\001\002\000\012\013\321\043\u0226\053" +
81.1349 - "\324\110\322\001\002\000\010\031\ufffa\057\ufffa\105\ufffa" +
81.1350 - "\001\002\000\010\031\ufee4\057\004\105\ufee4\001\002\000" +
81.1351 - "\006\031\u022b\105\u022a\001\002\000\006\031\ufee3\105\ufee3" +
81.1352 - "\001\002\000\034\005\213\047\224\050\200\051\227\054" +
81.1353 - "\253\113\204\116\175\120\217\143\215\144\045\145\176" +
81.1354 - "\146\231\147\205\001\002\000\004\021\u022c\001\002\000" +
81.1355 - "\004\124\u022d\001\002\000\074\003\ufee5\004\ufee5\010\ufee5" +
81.1356 - "\016\ufee5\021\ufee5\022\ufee5\023\ufee5\027\ufee5\030\ufee5\031" +
81.1357 - "\ufee5\033\ufee5\034\ufee5\035\ufee5\040\ufee5\041\ufee5\045\ufee5" +
81.1358 - "\051\ufee5\053\ufee5\057\ufee5\063\ufee5\065\ufee5\072\ufee5\073" +
81.1359 - "\ufee5\101\ufee5\105\ufee5\106\ufee5\140\ufee5\144\ufee5\147\ufee5" +
81.1360 - "\001\002\000\006\130\341\131\u022f\001\002\000\056\003" +
81.1361 - "\u017e\004\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185" +
81.1362 - "\034\u0176\035\ufee0\040\u0184\041\u0177\045\ufee0\051\u0180\057" +
81.1363 - "\004\063\u017c\065\u018f\072\u0164\073\u0175\106\ufee0\140\u0187" +
81.1364 - "\144\u0190\147\205\001\002\000\062\003\u017e\004\u017d\010" +
81.1365 - "\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\031\ufee2\034\u0176" +
81.1366 - "\035\ufee0\040\u0184\041\u0177\045\ufee0\051\u0180\057\004\063" +
81.1367 - "\u017c\065\u018f\072\u0164\073\u0175\105\ufee2\106\ufee0\140\u0187" +
81.1368 - "\144\u0190\147\205\001\002\000\014\107\u0233\112\u0122\113" +
81.1369 - "\233\121\235\124\u0232\001\002\000\074\003\ufe2b\004\ufe2b" +
81.1370 - "\010\ufe2b\016\ufe2b\021\ufe2b\022\ufe2b\023\ufe2b\027\ufe2b\030" +
81.1371 - "\ufe2b\031\ufe2b\033\ufe2b\034\ufe2b\035\ufe2b\040\ufe2b\041\ufe2b" +
81.1372 - "\045\ufe2b\051\ufe2b\053\ufe2b\057\ufe2b\063\ufe2b\065\ufe2b\072" +
81.1373 - "\ufe2b\073\ufe2b\101\ufe2b\105\ufe2b\106\ufe2b\140\ufe2b\144\ufe2b" +
81.1374 - "\147\ufe2b\001\002\000\004\004\u0234\001\002\000\004\124" +
81.1375 - "\u0235\001\002\000\074\003\ufe2a\004\ufe2a\010\ufe2a\016\ufe2a" +
81.1376 - "\021\ufe2a\022\ufe2a\023\ufe2a\027\ufe2a\030\ufe2a\031\ufe2a\033" +
81.1377 - "\ufe2a\034\ufe2a\035\ufe2a\040\ufe2a\041\ufe2a\045\ufe2a\051\ufe2a" +
81.1378 - "\053\ufe2a\057\ufe2a\063\ufe2a\065\ufe2a\072\ufe2a\073\ufe2a\101" +
81.1379 - "\ufe2a\105\ufe2a\106\ufe2a\140\ufe2a\144\ufe2a\147\ufe2a\001\002" +
81.1380 - "\000\074\003\ufdfe\004\ufdfe\010\ufdfe\016\ufdfe\021\ufdfe\022" +
81.1381 - "\ufdfe\023\ufdfe\027\ufdfe\030\ufdfe\031\ufdfe\033\ufdfe\034\ufdfe" +
81.1382 - "\035\ufdfe\040\ufdfe\041\ufdfe\045\ufdfe\051\ufdfe\053\ufdfe\057" +
81.1383 - "\ufdfe\063\ufdfe\065\ufdfe\072\ufdfe\073\ufdfe\101\ufdfe\105\ufdfe" +
81.1384 - "\106\ufdfe\140\ufdfe\144\ufdfe\147\ufdfe\001\002\000\006\105" +
81.1385 - "\ufebe\113\u0239\001\002\000\004\105\u0248\001\002\000\010" +
81.1386 - "\003\u012f\035\u0198\144\126\001\002\000\032\005\213\047" +
81.1387 - "\224\050\200\051\227\113\204\116\175\120\217\143\215" +
81.1388 - "\144\045\145\176\146\231\147\205\001\002\000\004\114" +
81.1389 - "\u023c\001\002\000\006\105\ufebe\113\u0134\001\002\000\004" +
81.1390 - "\105\u023e\001\002\000\032\005\213\047\224\050\200\051" +
81.1391 - "\227\113\204\116\175\120\217\143\215\144\045\145\176" +
81.1392 - "\146\231\147\205\001\002\000\006\043\u0241\124\u0240\001" +
81.1393 - "\002\000\014\031\ufe71\032\ufe71\036\ufe71\057\ufe71\061\ufe71" +
81.1394 - "\001\002\000\036\003\105\016\uff7b\035\070\036\027\037" +
81.1395 - "\030\056\121\057\004\061\021\062\117\075\076\077\060" +
81.1396 - "\102\074\104\015\144\126\001\002\000\014\031\ufe72\032" +
81.1397 - "\ufe72\036\ufe72\057\ufe72\061\ufe72\001\002\000\004\016\u015c" +
81.1398 - "\001\002\000\004\031\u0245\001\002\000\010\124\ufed7\144" +
81.1399 - "\045\147\205\001\002\000\004\124\u0247\001\002\000\014" +
81.1400 - "\031\ufe70\032\ufe70\036\ufe70\057\ufe70\061\ufe70\001\002\000" +
81.1401 - "\032\005\213\047\224\050\200\051\227\113\204\116\175" +
81.1402 - "\120\217\143\215\144\045\145\176\146\231\147\205\001" +
81.1403 - "\002\000\006\043\u0241\124\u0240\001\002\000\014\031\ufe73" +
81.1404 - "\032\ufe73\036\ufe73\057\ufe73\061\ufe73\001\002\000\042\003" +
81.1405 - "\ufe36\016\ufe36\031\ufe36\035\ufe36\036\ufe36\037\ufe36\056\ufe36" +
81.1406 - "\057\ufe36\060\ufe36\061\ufe36\062\ufe36\075\ufe36\077\ufe36\102" +
81.1407 - "\ufe36\104\ufe36\144\ufe36\001\002\000\042\003\uffee\016\uffee" +
81.1408 - "\031\uffee\035\uffee\036\uffee\037\uffee\056\uffee\057\uffee\060" +
81.1409 - "\uffee\061\uffee\062\uffee\075\uffee\077\uffee\102\uffee\104\uffee" +
81.1410 - "\144\uffee\001\002\000\050\002\ufec6\003\ufec6\016\ufec6\031" +
81.1411 - "\ufec6\035\ufec6\036\ufec6\037\ufec6\056\ufec6\057\ufec6\060\ufec6" +
81.1412 - "\061\ufec6\062\ufec6\074\ufec6\075\ufec6\077\ufec6\102\ufec6\104" +
81.1413 - "\ufec6\107\ufec6\144\ufec6\001\002\000\006\144\045\147\205" +
81.1414 - "\001\002\000\044\003\105\006\u0252\016\uff7b\035\070\036" +
81.1415 - "\027\037\030\047\u0253\056\121\057\004\061\021\062\117" +
81.1416 - "\074\u0250\075\076\077\060\102\074\104\015\144\126\001" +
81.1417 - "\002\000\004\124\u0256\001\002\000\004\124\ufe0b\001\002" +
81.1418 - "\000\004\124\u0255\001\002\000\006\144\045\147\205\001" +
81.1419 - "\002\000\012\112\u0122\113\233\121\235\124\ufe09\001\002" +
81.1420 - "\000\050\002\ufec4\003\ufec4\016\ufec4\031\ufec4\035\ufec4\036" +
81.1421 - "\ufec4\037\ufec4\056\ufec4\057\ufec4\060\ufec4\061\ufec4\062\ufec4" +
81.1422 - "\074\ufec4\075\ufec4\077\ufec4\102\ufec4\104\ufec4\107\ufec4\144" +
81.1423 - "\ufec4\001\002\000\042\003\ufe37\016\ufe37\031\ufe37\035\ufe37" +
81.1424 - "\036\ufe37\037\ufe37\056\ufe37\057\ufe37\060\ufe37\061\ufe37\062" +
81.1425 - "\ufe37\075\ufe37\077\ufe37\102\ufe37\104\ufe37\144\ufe37\001\002" +
81.1426 - "\000\012\112\u0122\113\233\121\235\124\u0258\001\002\000" +
81.1427 - "\050\002\ufe98\003\ufe98\016\ufe98\031\ufe98\035\ufe98\036\ufe98" +
81.1428 - "\037\ufe98\056\ufe98\057\ufe98\060\ufe98\061\ufe98\062\ufe98\074" +
81.1429 - "\ufe98\075\ufe98\077\ufe98\102\ufe98\104\ufe98\107\ufe98\144\ufe98" +
81.1430 - "\001\002\000\004\043\u025a\001\002\000\006\144\045\147" +
81.1431 - "\205\001\002\000\004\124\u025c\001\002\000\042\003\uffd2" +
81.1432 - "\016\uffd2\031\uffd2\035\uffd2\036\uffd2\037\uffd2\056\uffd2\057" +
81.1433 - "\uffd2\060\uffd2\061\uffd2\062\uffd2\075\uffd2\077\uffd2\102\uffd2" +
81.1434 - "\104\uffd2\144\uffd2\001\002\000\004\031\ufea6\001\002\000" +
81.1435 - "\004\031\u025f\001\002\000\006\124\ufeaa\144\045\001\002" +
81.1436 - "\000\006\121\051\124\ufea9\001\002\000\004\124\u0262\001" +
81.1437 - "\002\000\050\002\ufea8\003\ufea8\016\ufea8\031\ufea8\035\ufea8" +
81.1438 - "\036\ufea8\037\ufea8\056\ufea8\057\ufea8\060\ufea8\061\ufea8\062" +
81.1439 - "\ufea8\074\ufea8\075\ufea8\077\ufea8\102\ufea8\104\ufea8\107\ufea8" +
81.1440 - "\144\ufea8\001\002\000\010\043\uffdf\113\143\124\uffdf\001" +
81.1441 - "\002\000\006\043\u0266\124\uffdc\001\002\000\004\124\u02e2" +
81.1442 - "\001\002\000\036\006\u0279\007\u026b\014\u027d\024\u0274\025" +
81.1443 - "\u0275\044\uffa0\046\u0267\047\u027a\051\uffa0\060\uffa0\066\335" +
81.1444 - "\067\uffa0\076\u026a\113\u026f\001\002\000\032\005\213\047" +
81.1445 - "\224\050\200\051\227\113\204\116\175\120\217\143\215" +
81.1446 - "\144\045\145\176\146\231\147\205\001\002\000\004\124" +
81.1447 - "\uffda\001\002\000\012\044\u02dd\051\ufea4\060\ufea4\067\ufea4" +
81.1448 - "\001\002\000\012\044\uff9f\051\uff9f\060\uff9f\067\uff9f\001" +
81.1449 - "\002\000\020\012\u02d2\020\u02d0\036\uff7d\061\uff7d\062\u02d3" +
81.1450 - "\144\045\147\205\001\002\000\004\124\uffd5\001\002\000" +
81.1451 - "\004\124\uffdb\001\002\000\004\124\uffbe\001\002\000\006" +
81.1452 - "\143\u02c9\144\u02ca\001\002\000\004\124\uffd6\001\002\000" +
81.1453 - "\004\124\uffb9\001\002\000\004\124\uffd9\001\002\000\004" +
81.1454 - "\124\uffd3\001\002\000\032\005\213\047\224\050\200\051" +
81.1455 - "\227\113\204\116\175\120\217\143\215\144\045\145\176" +
81.1456 - "\146\231\147\205\001\002\000\032\005\213\047\224\050" +
81.1457 - "\200\051\227\113\204\116\175\120\217\143\215\144\045" +
81.1458 - "\145\176\146\231\147\205\001\002\000\004\124\uffd8\001" +
81.1459 - "\002\000\004\124\uffb8\001\002\000\004\124\uffd4\001\002" +
81.1460 - "\000\006\047\u02bc\076\u02bb\001\002\000\006\144\045\147" +
81.1461 - "\205\001\002\000\004\124\uffbc\001\002\000\004\124\uffd7" +
81.1462 - "\001\002\000\004\113\u0281\001\002\000\006\124\uffb4\134" +
81.1463 - "\uffb4\001\002\000\006\124\uffb3\134\uffb3\001\002\000\004" +
81.1464 - "\052\u0293\001\002\000\032\005\213\047\224\050\200\051" +
81.1465 - "\227\113\204\116\175\120\217\143\215\144\045\145\176" +
81.1466 - "\146\231\147\205\001\002\000\006\114\u028d\117\u028c\001" +
81.1467 - "\002\000\006\114\uffad\117\uffad\001\002\000\006\114\u028a" +
81.1468 - "\117\u0289\001\002\000\006\114\uffa9\117\uffa9\001\002\000" +
81.1469 - "\040\046\uff10\066\u0287\070\uff10\111\uff10\112\313\113\233" +
81.1470 - "\114\uffa5\115\uff10\116\uff10\117\uffa5\120\uff10\121\235\122" +
81.1471 - "\uff10\132\uff10\133\uff10\001\002\000\034\005\213\047\224" +
81.1472 - "\050\200\051\227\113\204\116\175\120\217\142\u0288\143" +
81.1473 - "\215\144\045\145\176\146\231\147\205\001\002\000\006" +
81.1474 - "\114\uffab\117\uffab\001\002\000\032\005\213\047\224\050" +
81.1475 - "\200\051\227\113\204\116\175\120\217\143\215\144\045" +
81.1476 - "\145\176\146\231\147\205\001\002\000\004\052\uffaa\001" +
81.1477 - "\002\000\006\114\uffa8\117\uffa8\001\002\000\006\144\045" +
81.1478 - "\147\205\001\002\000\004\052\u028e\001\002\000\010\011" +
81.1479 - "\u0117\144\uffaf\147\uffaf\001\002\000\006\124\uffb2\134\uffb2" +
81.1480 - "\001\002\000\012\066\u0292\112\u0122\113\233\121\235\001" +
81.1481 - "\002\000\006\114\uffac\117\uffac\001\002\000\004\142\u0288" +
81.1482 - "\001\002\000\010\011\u0117\144\uffaf\147\uffaf\001\002\000" +
81.1483 - "\006\124\uffb1\134\uffb1\001\002\000\006\107\u0296\124\uffcc" +
81.1484 - "\001\002\000\010\051\u0299\060\u029a\067\u0297\001\002\000" +
81.1485 - "\014\003\ufffa\021\ufffa\051\ufffa\057\ufffa\144\ufffa\001\002" +
81.1486 - "\000\004\124\uffca\001\002\000\004\067\u029b\001\002\000" +
81.1487 - "\004\124\uffcb\001\002\000\004\124\uffa1\001\002\000\014" +
81.1488 - "\003\u0114\021\u02a0\051\u029d\057\004\144\126\001\002\000" +
81.1489 - "\004\124\u02b9\001\002\000\016\003\ufffa\021\ufffa\031\ufffa" +
81.1490 - "\057\ufffa\105\ufffa\144\ufffa\001\002\000\004\031\u02b2\001" +
81.1491 - "\002\000\004\144\045\001\002\000\016\003\uff9a\021\uff9a" +
81.1492 - "\031\uff9a\057\uff9a\105\uff9a\144\uff9a\001\002\000\010\031" +
81.1493 - "\ufffa\057\ufffa\105\ufffa\001\002\000\010\031\uff9c\057\004" +
81.1494 - "\105\uff9c\001\002\000\004\043\u02a5\001\002\000\006\057" +
81.1495 - "\ufffa\105\ufffa\001\002\000\006\057\004\105\u02a8\001\002" +
81.1496 - "\000\006\031\uff8c\105\uff8c\001\002\000\034\005\213\047" +
81.1497 - "\224\050\200\051\227\054\253\113\204\116\175\120\217" +
81.1498 - "\143\215\144\045\145\176\146\231\147\205\001\002\000" +
81.1499 - "\006\031\u02ab\105\u02a8\001\002\000\006\031\uff8b\105\uff8b" +
81.1500 - "\001\002\000\004\021\u02ac\001\002\000\004\124\u02ad\001" +
81.1501 - "\002\000\010\031\uff8d\057\uff8d\105\uff8d\001\002\000\006" +
81.1502 - "\130\341\131\u02af\001\002\000\014\003\ufffa\021\ufffa\051" +
81.1503 - "\ufffa\057\ufffa\144\ufffa\001\002\000\014\003\u0114\021\u02a0" +
81.1504 - "\051\u029d\057\004\144\126\001\002\000\006\031\uff8a\105" +
81.1505 - "\uff8a\001\002\000\004\067\u02b3\001\002\000\004\124\uffa2" +
81.1506 - "\001\002\000\006\031\uff9d\105\uff9d\001\002\000\016\003" +
81.1507 - "\u0114\021\u02a0\031\uff98\057\004\105\uff98\144\126\001\002" +
81.1508 - "\000\016\003\uff99\021\uff99\031\uff99\057\uff99\105\uff99\144" +
81.1509 - "\uff99\001\002\000\010\031\ufffa\057\ufffa\105\ufffa\001\002" +
81.1510 - "\000\010\031\uff97\057\004\105\uff97\001\002\000\010\031" +
81.1511 - "\ufffa\057\ufffa\105\ufffa\001\002\000\010\031\uff9b\057\004" +
81.1512 - "\105\uff9b\001\002\000\012\044\uff9e\051\uff9e\060\uff9e\067" +
81.1513 - "\uff9e\001\002\000\006\144\045\147\205\001\002\000\004" +
81.1514 - "\107\u02be\001\002\000\010\051\u0299\060\u02c0\067\u0297\001" +
81.1515 - "\002\000\004\124\uffc8\001\002\000\004\124\uffc9\001\002" +
81.1516 - "\000\014\013\321\053\324\066\335\110\322\124\uffbb\001" +
81.1517 - "\002\000\004\124\uffb7\001\002\000\004\124\uffba\001\002" +
81.1518 - "\000\014\013\321\025\u02c6\053\324\066\335\110\322\001" +
81.1519 - "\002\000\004\124\uffb6\001\002\000\032\005\213\047\224" +
81.1520 - "\050\200\051\227\113\204\116\175\120\217\143\215\144" +
81.1521 - "\045\145\176\146\231\147\205\001\002\000\014\013\321" +
81.1522 - "\053\324\066\335\110\322\124\uffbb\001\002\000\004\124" +
81.1523 - "\uffb5\001\002\000\006\114\uffbf\117\uffbf\001\002\000\006" +
81.1524 - "\114\uffc0\117\uffc0\001\002\000\006\114\uffc2\117\uffc2\001" +
81.1525 - "\002\000\006\114\u02ce\117\u02cd\001\002\000\006\143\u02c9" +
81.1526 - "\144\u02ca\001\002\000\004\124\uffc3\001\002\000\006\114" +
81.1527 - "\uffc1\117\uffc1\001\002\000\006\144\045\147\205\001\002" +
81.1528 - "\000\006\036\u02d7\061\u02d6\001\002\000\006\144\045\147" +
81.1529 - "\205\001\002\000\006\036\uff7c\061\uff7c\001\002\000\004" +
81.1530 - "\124\uff82\001\002\000\004\124\uff80\001\002\000\006\113" +
81.1531 - "\u0134\124\ufebe\001\002\000\006\063\ufebe\113\u0134\001\002" +
81.1532 - "\000\004\063\u02d9\001\002\000\004\144\045\001\002\000" +
81.1533 - "\010\112\165\121\166\124\uff7e\001\002\000\004\124\uff7f" +
81.1534 - "\001\002\000\004\124\uff81\001\002\000\010\051\ufea3\060" +
81.1535 - "\ufea3\067\ufea3\001\002\000\010\051\u0299\060\u02e0\067\u0297" +
81.1536 - "\001\002\000\004\124\uffa3\001\002\000\004\124\ufea5\001" +
81.1537 - "\002\000\012\013\321\053\324\110\322\124\uffbd\001\002" +
81.1538 - "\000\042\003\uffe0\016\uffe0\031\uffe0\035\uffe0\036\uffe0\037" +
81.1539 - "\uffe0\056\uffe0\057\uffe0\060\uffe0\061\uffe0\062\uffe0\075\uffe0" +
81.1540 - "\077\uffe0\102\uffe0\104\uffe0\144\uffe0\001\002\000\010\104" +
81.1541 - "\u02e4\112\165\121\166\001\002\000\036\005\213\015\u02e5" +
81.1542 - "\047\224\050\200\051\227\067\u02e7\113\204\116\175\120" +
81.1543 - "\217\143\215\144\045\145\176\146\231\147\205\001\002" +
81.1544 - "\000\032\005\213\047\224\050\200\051\227\113\204\116" +
81.1545 - "\175\120\217\143\215\144\045\145\176\146\231\147\205" +
81.1546 - "\001\002\000\012\013\321\053\324\110\322\124\u02f7\001" +
81.1547 - "\002\000\010\015\u02e8\031\ufe03\144\ufe03\001\002\000\004" +
81.1548 - "\046\u02f4\001\002\000\006\031\ufe01\144\ufe01\001\002\000" +
81.1549 - "\006\031\u02eb\144\045\001\002\000\004\067\u02f2\001\002" +
81.1550 - "\000\010\015\u02ed\112\165\121\166\001\002\000\032\005" +
81.1551 - "\213\047\224\050\200\051\227\113\204\116\175\120\217" +
81.1552 - "\143\215\144\045\145\176\146\231\147\205\001\002\000" +
81.1553 - "\012\013\321\053\324\066\u02ef\110\322\001\002\000\032" +
81.1554 - "\005\213\047\224\050\200\051\227\113\204\116\175\120" +
81.1555 - "\217\143\215\144\045\145\176\146\231\147\205\001\002" +
81.1556 - "\000\004\124\u02f1\001\002\000\006\031\ufe00\144\ufe00\001" +
81.1557 - "\002\000\004\124\u02f3\001\002\000\044\003\ufe04\016\ufe04" +
81.1558 - "\031\ufe04\032\ufe04\035\ufe04\036\ufe04\037\ufe04\056\ufe04\057" +
81.1559 - "\ufe04\060\ufe04\061\ufe04\062\ufe04\075\ufe04\077\ufe04\102\ufe04" +
81.1560 - "\104\ufe04\144\ufe04\001\002\000\032\005\213\047\224\050" +
81.1561 - "\200\051\227\113\204\116\175\120\217\143\215\144\045" +
81.1562 - "\145\176\146\231\147\205\001\002\000\012\013\321\053" +
81.1563 - "\324\110\322\124\u02f6\001\002\000\006\031\ufe02\144\ufe02" +
81.1564 - "\001\002\000\044\003\ufe05\016\ufe05\031\ufe05\032\ufe05\035" +
81.1565 - "\ufe05\036\ufe05\037\ufe05\056\ufe05\057\ufe05\060\ufe05\061\ufe05" +
81.1566 - "\062\ufe05\075\ufe05\077\ufe05\102\ufe05\104\ufe05\144\ufe05\001" +
81.1567 - "\002\000\012\013\321\053\324\110\322\124\u02f9\001\002" +
81.1568 - "\000\044\003\ufdff\016\ufdff\031\ufdff\032\ufdff\035\ufdff\036" +
81.1569 - "\ufdff\037\ufdff\056\ufdff\057\ufdff\060\ufdff\061\ufdff\062\ufdff" +
81.1570 - "\075\ufdff\077\ufdff\102\ufdff\104\ufdff\144\ufdff\001\002\000" +
81.1571 - "\040\003\uff6c\016\uff6c\031\uff6c\035\uff6c\036\uff6c\037\uff6c" +
81.1572 - "\056\uff6c\057\uff6c\061\uff6c\062\uff6c\075\uff6c\077\uff6c\102" +
81.1573 - "\uff6c\104\uff6c\144\uff6c\001\002\000\016\011\u02fd\014\uffe9" +
81.1574 - "\020\u02fe\033\u02fc\144\uffe9\147\uffe9\001\002\000\006\071" +
81.1575 - "\u030d\124\u030c\001\002\000\012\014\uffe8\020\u030b\144\uffe8" +
81.1576 - "\147\uffe8\001\002\000\012\014\uffe7\134\u0308\144\uffe7\147" +
81.1577 - "\uffe7\001\002\000\010\014\u027d\144\045\147\205\001\002" +
81.1578 - "\000\006\124\uffe3\134\164\001\002\000\010\071\u0303\124" +
81.1579 - "\uffe5\134\uffe5\001\002\000\006\124\uffe4\134\uffe4\001\002" +
81.1580 - "\000\006\144\045\147\205\001\002\000\012\112\u0122\113" +
81.1581 - "\233\121\235\124\u0305\001\002\000\042\003\ufe9c\016\ufe9c" +
81.1582 - "\031\ufe9c\035\ufe9c\036\ufe9c\037\ufe9c\056\ufe9c\057\ufe9c\060" +
81.1583 - "\ufe9c\061\ufe9c\062\ufe9c\075\ufe9c\077\ufe9c\102\ufe9c\104\ufe9c" +
81.1584 - "\144\ufe9c\001\002\000\004\124\u0307\001\002\000\042\003" +
81.1585 - "\uffec\016\uffec\031\uffec\035\uffec\036\uffec\037\uffec\056\uffec" +
81.1586 - "\057\uffec\060\uffec\061\uffec\062\uffec\075\uffec\077\uffec\102" +
81.1587 - "\uffec\104\uffec\144\uffec\001\002\000\032\005\213\047\224" +
81.1588 - "\050\200\051\227\113\204\116\175\120\217\143\215\144" +
81.1589 - "\045\145\176\146\231\147\205\001\002\000\012\013\321" +
81.1590 - "\053\324\110\322\124\u030a\001\002\000\042\003\uffe1\016" +
81.1591 - "\uffe1\031\uffe1\035\uffe1\036\uffe1\037\uffe1\056\uffe1\057\uffe1" +
81.1592 - "\060\uffe1\061\uffe1\062\uffe1\075\uffe1\077\uffe1\102\uffe1\104" +
81.1593 - "\uffe1\144\uffe1\001\002\000\010\014\uffe6\144\uffe6\147\uffe6" +
81.1594 - "\001\002\000\042\003\ufe35\016\ufe35\031\ufe35\035\ufe35\036" +
81.1595 - "\ufe35\037\ufe35\056\ufe35\057\ufe35\060\ufe35\061\ufe35\062\ufe35" +
81.1596 - "\075\ufe35\077\ufe35\102\ufe35\104\ufe35\144\ufe35\001\002\000" +
81.1597 - "\006\144\045\147\205\001\002\000\012\112\u0122\113\233" +
81.1598 - "\121\235\124\u030f\001\002\000\042\003\ufe9b\016\ufe9b\031" +
81.1599 - "\ufe9b\035\ufe9b\036\ufe9b\037\ufe9b\056\ufe9b\057\ufe9b\060\ufe9b" +
81.1600 - "\061\ufe9b\062\ufe9b\075\ufe9b\077\ufe9b\102\ufe9b\104\ufe9b\144" +
81.1601 - "\ufe9b\001\002\000\004\144\045\001\002\000\006\043\u0315" +
81.1602 - "\124\ufe92\001\002\000\004\144\045\001\002\000\010\043" +
81.1603 - "\uffdf\113\143\124\uffdf\001\002\000\006\043\u0315\124\ufe92" +
81.1604 - "\001\002\000\014\031\ufffa\032\ufffa\035\ufffa\057\ufffa\060" +
81.1605 - "\ufffa\001\002\000\004\124\ufe93\001\002\000\012\031\ufe6f" +
81.1606 - "\032\u010a\035\ufe6f\060\ufe6f\001\002\000\014\031\ufe77\032" +
81.1607 - "\ufe77\035\ufe77\057\004\060\ufe77\001\002\000\014\031\ufffa" +
81.1608 - "\032\ufffa\035\ufffa\057\ufffa\060\ufffa\001\002\000\010\031" +
81.1609 - "\ufe90\035\070\060\u031d\001\002\000\012\031\ufffa\035\ufffa" +
81.1610 - "\057\ufffa\060\ufffa\001\002\000\004\031\u0320\001\002\000" +
81.1611 - "\012\031\ufffa\032\ufffa\035\ufffa\057\ufffa\001\002\000\010" +
81.1612 - "\031\ufe6f\032\u010a\035\ufe6f\001\002\000\006\031\ufe8f\035" +
81.1613 - "\070\001\002\000\010\124\ufed7\144\045\147\205\001\002" +
81.1614 - "\000\004\124\ufe91\001\002\000\012\031\ufe6e\035\ufe6e\057" +
81.1615 - "\004\060\ufe6e\001\002\000\014\031\ufe76\032\ufe76\035\ufe76" +
81.1616 - "\057\004\060\ufe76\001\002\000\004\124\ufe94\001\002\000" +
81.1617 - "\004\043\u0326\001\002\000\040\003\105\016\uff7b\035\070" +
81.1618 - "\036\027\037\030\056\121\057\004\061\021\062\117\074" +
81.1619 - "\u0327\075\076\077\060\102\074\104\015\144\126\001\002" +
81.1620 - "\000\004\124\u032d\001\002\000\004\016\u015c\001\002\000" +
81.1621 - "\004\031\u032a\001\002\000\010\124\ufed7\144\045\147\205" +
81.1622 - "\001\002\000\004\124\u032c\001\002\000\050\002\ufe8e\003" +
81.1623 - "\ufe8e\016\ufe8e\031\ufe8e\035\ufe8e\036\ufe8e\037\ufe8e\056\ufe8e" +
81.1624 - "\057\ufe8e\060\ufe8e\061\ufe8e\062\ufe8e\074\ufe8e\075\ufe8e\077" +
81.1625 - "\ufe8e\102\ufe8e\104\ufe8e\107\ufe8e\144\ufe8e\001\002\000\042" +
81.1626 - "\003\ufe39\016\ufe39\031\ufe39\035\ufe39\036\ufe39\037\ufe39\056" +
81.1627 - "\ufe39\057\ufe39\060\ufe39\061\ufe39\062\ufe39\075\ufe39\077\ufe39" +
81.1628 - "\102\ufe39\104\ufe39\144\ufe39\001\002\000\042\003\ufe8d\016" +
81.1629 - "\ufe8d\031\ufe8d\035\ufe8d\036\ufe8d\037\ufe8d\056\ufe8d\057\ufe8d" +
81.1630 - "\060\ufe8d\061\ufe8d\062\ufe8d\075\ufe8d\077\ufe8d\102\ufe8d\104" +
81.1631 - "\ufe8d\144\ufe8d\001\002\000\006\144\045\147\205\001\002" +
81.1632 - "\000\042\003\105\031\uff79\035\070\036\027\037\030\047" +
81.1633 - "\u0253\056\u0337\057\004\060\uff79\061\021\062\u0336\075\076" +
81.1634 - "\077\u0331\102\074\104\015\144\126\001\002\000\010\017" +
81.1635 - "\u0346\102\u0312\144\045\001\002\000\004\124\ufe0a\001\002" +
81.1636 - "\000\010\043\u0345\071\u024e\124\u024d\001\002\000\006\031" +
81.1637 - "\ufeac\060\u0341\001\002\000\040\003\uff77\031\uff77\035\uff77" +
81.1638 - "\036\uff77\037\uff77\056\uff77\057\uff77\060\uff77\061\uff77\062" +
81.1639 - "\uff77\075\uff77\077\uff77\102\uff77\104\uff77\144\uff77\001\002" +
81.1640 - "\000\010\017\u033d\102\137\144\136\001\002\000\006\017" +
81.1641 - "\u033a\144\045\001\002\000\040\003\105\031\uff78\035\070" +
81.1642 - "\036\027\037\030\056\u0337\057\004\060\uff78\061\021\062" +
81.1643 - "\u0336\075\076\077\u0331\102\074\104\015\144\126\001\002" +
81.1644 - "\000\040\003\uff76\031\uff76\035\uff76\036\uff76\037\uff76\056" +
81.1645 - "\uff76\057\uff76\060\uff76\061\uff76\062\uff76\075\uff76\077\uff76" +
81.1646 - "\102\uff76\104\uff76\144\uff76\001\002\000\004\144\045\001" +
81.1647 - "\002\000\006\043\u033c\121\051\001\002\000\004\074\133" +
81.1648 - "\001\002\000\004\144\045\001\002\000\004\043\u033f\001" +
81.1649 - "\002\000\004\074\u014c\001\002\000\004\031\u0343\001\002" +
81.1650 - "\000\036\003\105\031\uff79\035\070\036\027\037\030\056" +
81.1651 - "\u0337\057\004\061\021\062\u0336\075\076\077\u0331\102\074" +
81.1652 - "\104\015\144\126\001\002\000\004\031\ufeab\001\002\000" +
81.1653 - "\006\124\ufeaa\144\045\001\002\000\004\124\ufead\001\002" +
81.1654 - "\000\010\006\u0252\047\u0253\074\u0250\001\002\000\004\144" +
81.1655 - "\045\001\002\000\004\043\u0348\001\002\000\004\074\u0327" +
81.1656 - "\001\002\000\012\112\u0122\113\233\121\235\124\u034a\001" +
81.1657 - "\002\000\050\002\ufe99\003\ufe99\016\ufe99\031\ufe99\035\ufe99" +
81.1658 - "\036\ufe99\037\ufe99\056\ufe99\057\ufe99\060\ufe99\061\ufe99\062" +
81.1659 - "\ufe99\074\ufe99\075\ufe99\077\ufe99\102\ufe99\104\ufe99\107\ufe99" +
81.1660 - "\144\ufe99\001\002\000\042\003\105\006\u0252\016\uff7b\035" +
81.1661 - "\070\036\027\037\030\047\u0253\056\121\057\004\061\021" +
81.1662 - "\062\117\075\076\077\060\102\074\104\015\144\126\001" +
81.1663 - "\002\000\026\002\ufe4a\036\ufe4a\037\ufe4a\056\ufe4a\057\004" +
81.1664 - "\060\ufe4a\061\ufe4a\074\ufe4a\104\ufe4a\107\ufe4a\001\002\000" +
81.1665 - "\014\043\ufec1\063\ufebe\071\ufec1\113\u0134\124\ufec1\001\002" +
81.1666 - "\000\004\063\u034f\001\002\000\006\144\045\147\205\001" +
81.1667 - "\002\000\016\043\ufec2\071\ufec2\112\u0122\113\233\121\235" +
81.1668 - "\124\ufec2\001\002\000\050\002\ufeae\003\ufeae\016\ufeae\031" +
81.1669 - "\ufeae\035\ufeae\036\ufeae\037\ufeae\056\ufeae\057\ufeae\060\ufeae" +
81.1670 - "\061\ufeae\062\ufeae\074\ufeae\075\ufeae\077\ufeae\102\ufeae\104" +
81.1671 - "\ufeae\107\ufeae\144\ufeae\001\002\000\050\002\ufec5\003\ufec5" +
81.1672 - "\016\ufec5\031\ufec5\035\ufec5\036\ufec5\037\ufec5\056\ufec5\057" +
81.1673 - "\ufec5\060\ufec5\061\ufec5\062\ufec5\074\ufec5\075\ufec5\077\ufec5" +
81.1674 - "\102\ufec5\104\ufec5\107\ufec5\144\ufec5\001\002\000\004\144" +
81.1675 - "\045\001\002\000\006\114\u0355\121\051\001\002\000\014" +
81.1676 - "\036\027\056\u0358\061\021\062\u035b\077\u0356\001\002\000" +
81.1677 - "\004\017\u0362\001\002\000\026\002\uff65\036\uff65\037\uff65" +
81.1678 - "\056\uff65\057\uff65\060\uff65\061\uff65\074\uff65\104\uff65\107" +
81.1679 - "\uff65\001\002\000\004\017\044\001\002\000\026\002\uff63" +
81.1680 - "\036\uff63\037\uff63\056\uff63\057\uff63\060\uff63\061\uff63\074" +
81.1681 - "\uff63\104\uff63\107\uff63\001\002\000\026\002\uff62\036\uff62" +
81.1682 - "\037\uff62\056\uff62\057\uff62\060\uff62\061\uff62\074\uff62\104" +
81.1683 - "\uff62\107\uff62\001\002\000\004\017\u035f\001\002\000\026" +
81.1684 - "\002\ufe3a\036\ufe3a\037\ufe3a\056\ufe3a\057\ufe3a\060\ufe3a\061" +
81.1685 - "\ufe3a\074\ufe3a\104\ufe3a\107\ufe3a\001\002\000\026\002\uff64" +
81.1686 - "\036\uff64\037\uff64\056\uff64\057\uff64\060\uff64\061\uff64\074" +
81.1687 - "\uff64\104\uff64\107\uff64\001\002\000\004\043\u015a\001\002" +
81.1688 - "\000\004\144\045\001\002\000\004\043\u0361\001\002\000" +
81.1689 - "\014\031\ufffa\032\ufffa\036\ufffa\057\ufffa\061\ufffa\001\002" +
81.1690 - "\000\004\144\045\001\002\000\004\043\u0364\001\002\000" +
81.1691 - "\036\003\105\016\uff7b\035\070\036\027\037\030\056\121" +
81.1692 - "\057\004\061\021\062\117\075\076\077\060\102\074\104" +
81.1693 - "\015\144\126\001\002\000\014\043\ufebe\071\ufebe\113\u0134" +
81.1694 - "\121\051\124\ufebe\001\002\000\010\043\ufec3\071\ufec3\124" +
81.1695 - "\ufec3\001\002\000\022\003\ufe1f\036\ufe1f\056\ufe1f\061\ufe1f" +
81.1696 - "\102\ufe1f\104\ufe1f\107\ufe1f\144\ufe1f\001\002\000\022\003" +
81.1697 - "\ufe26\036\ufe26\056\ufe26\061\ufe26\102\ufe26\104\ufe26\107\ufe26" +
81.1698 - "\144\ufe26\001\002\000\004\144\045\001\002\000\004\124" +
81.1699 - "\u03b2\001\002\000\004\144\045\001\002\000\004\124\u038c" +
81.1700 - "\001\002\000\010\036\u0375\056\u0374\061\u0373\001\002\000" +
81.1701 - "\006\071\u0370\124\u036f\001\002\000\050\002\ufe29\003\ufe29" +
81.1702 - "\016\ufe29\031\ufe29\035\ufe29\036\ufe29\037\ufe29\056\ufe29\057" +
81.1703 - "\ufe29\060\ufe29\061\ufe29\062\ufe29\074\ufe29\075\ufe29\077\ufe29" +
81.1704 - "\102\ufe29\104\ufe29\107\ufe29\144\ufe29\001\002\000\006\144" +
81.1705 - "\045\147\205\001\002\000\012\112\u0122\113\233\121\235" +
81.1706 - "\124\u0372\001\002\000\050\002\ufe96\003\ufe96\016\ufe96\031" +
81.1707 - "\ufe96\035\ufe96\036\ufe96\037\ufe96\056\ufe96\057\ufe96\060\ufe96" +
81.1708 - "\061\ufe96\062\ufe96\074\ufe96\075\ufe96\077\ufe96\102\ufe96\104" +
81.1709 - "\ufe96\107\ufe96\144\ufe96\001\002\000\004\144\045\001\002" +
81.1710 - "\000\004\144\045\001\002\000\006\144\045\147\205\001" +
81.1711 - "\002\000\006\063\ufebe\113\u0134\001\002\000\004\063\u0378" +
81.1712 - "\001\002\000\006\144\045\147\205\001\002\000\014\043" +
81.1713 - "\u037a\112\u0122\113\233\121\235\124\ufe1b\001\002\000\010" +
81.1714 - "\142\u037d\144\045\147\205\001\002\000\004\124\u037c\001" +
81.1715 - "\002\000\022\003\ufe22\036\ufe22\056\ufe22\061\ufe22\102\ufe22" +
81.1716 - "\104\ufe22\107\ufe22\144\ufe22\001\002\000\004\124\ufe19\001" +
81.1717 - "\002\000\012\112\u0122\113\233\121\235\124\ufe1a\001\002" +
81.1718 - "\000\004\043\u0380\001\002\000\004\047\u0381\001\002\000" +
81.1719 - "\006\144\045\147\205\001\002\000\012\112\u0122\113\u0384" +
81.1720 - "\121\235\124\u0383\001\002\000\022\003\ufe20\036\ufe20\056" +
81.1721 - "\ufe20\061\ufe20\102\ufe20\104\ufe20\107\ufe20\144\ufe20\001\002" +
81.1722 - "\000\040\003\251\005\213\047\224\050\200\051\227\054" +
81.1723 - "\253\113\204\116\175\120\217\142\u0385\143\215\144\045" +
81.1724 - "\145\176\146\231\147\205\001\002\000\004\114\u0386\001" +
81.1725 - "\002\000\004\124\u0387\001\002\000\022\003\ufe21\036\ufe21" +
81.1726 - "\056\ufe21\061\ufe21\102\ufe21\104\ufe21\107\ufe21\144\ufe21\001" +
81.1727 - "\002\000\010\043\ufebe\113\u0134\124\ufebe\001\002\000\006" +
81.1728 - "\043\u037a\124\ufe1b\001\002\000\004\124\u038b\001\002\000" +
81.1729 - "\022\003\ufe23\036\ufe23\056\ufe23\061\ufe23\102\ufe23\104\ufe23" +
81.1730 - "\107\ufe23\144\ufe23\001\002\000\050\002\ufe28\003\ufe28\016" +
81.1731 - "\ufe28\031\ufe28\035\ufe28\036\ufe28\037\ufe28\056\ufe28\057\ufe28" +
81.1732 - "\060\ufe28\061\ufe28\062\ufe28\074\ufe28\075\ufe28\077\ufe28\102" +
81.1733 - "\ufe28\104\ufe28\107\ufe28\144\ufe28\001\002\000\006\043\ufe1e" +
81.1734 - "\113\u038f\001\002\000\004\043\ufe1d\001\002\000\010\003" +
81.1735 - "\145\142\u03b0\144\126\001\002\000\004\043\u0391\001\002" +
81.1736 - "\000\032\006\u039c\007\u026b\014\u027d\024\u0399\025\u039a\044" +
81.1737 - "\uffa0\046\u0392\047\u039d\060\uffa0\066\u0393\076\u026a\113\u0397" +
81.1738 - "\001\002\000\004\142\u03af\001\002\000\004\142\u03ae\001" +
81.1739 - "\002\000\006\044\u02dd\060\ufea4\001\002\000\004\124\u03ac" +
81.1740 - "\001\002\000\004\124\ufe11\001\002\000\004\142\u03aa\001" +
81.1741 - "\002\000\004\124\ufe10\001\002\000\004\142\u03a7\001\002" +
81.1742 - "\000\004\142\u03a6\001\002\000\004\124\ufe0f\001\002\000" +
81.1743 - "\006\047\u03a2\076\u02bb\001\002\000\006\144\045\147\205" +
81.1744 - "\001\002\000\004\124\ufe12\001\002\000\006\107\u03a0\124" +
81.1745 - "\ufe0e\001\002\000\004\060\u03a1\001\002\000\004\124\ufe0d" +
81.1746 - "\001\002\000\006\144\045\147\205\001\002\000\004\107" +
81.1747 - "\u03a4\001\002\000\004\060\u03a5\001\002\000\004\124\ufe0c" +
81.1748 - "\001\002\000\004\124\ufe13\001\002\000\006\025\u03a8\124" +
81.1749 - "\ufe15\001\002\000\004\142\u03a9\001\002\000\004\124\ufe14" +
81.1750 - "\001\002\000\004\114\u03ab\001\002\000\004\124\ufe18\001" +
81.1751 - "\002\000\022\003\ufe24\036\ufe24\056\ufe24\061\ufe24\102\ufe24" +
81.1752 - "\104\ufe24\107\ufe24\144\ufe24\001\002\000\004\060\u02e0\001" +
81.1753 - "\002\000\004\124\ufe17\001\002\000\004\124\ufe16\001\002" +
81.1754 - "\000\004\114\u03b1\001\002\000\004\043\ufe1c\001\002\000" +
81.1755 - "\022\003\ufe25\036\ufe25\056\ufe25\061\ufe25\102\ufe25\104\ufe25" +
81.1756 - "\107\ufe25\144\ufe25\001\002\000\010\043\u03b5\071\u03b4\121" +
81.1757 - "\051\001\002\000\006\144\045\147\205\001\002\000\040" +
81.1758 - "\003\105\031\uff79\035\070\036\027\037\030\056\u0337\057" +
81.1759 - "\004\060\uff79\061\021\062\u0336\075\076\077\u0331\102\074" +
81.1760 - "\104\015\144\126\001\002\000\012\112\u0122\113\233\121" +
81.1761 - "\235\124\u03b7\001\002\000\050\002\ufe97\003\ufe97\016\ufe97" +
81.1762 - "\031\ufe97\035\ufe97\036\ufe97\037\ufe97\056\ufe97\057\ufe97\060" +
81.1763 - "\ufe97\061\ufe97\062\ufe97\074\ufe97\075\ufe97\077\ufe97\102\ufe97" +
81.1764 - "\104\ufe97\107\ufe97\144\ufe97\001\002\000\014\112\u0122\113" +
81.1765 - "\233\117\ufea0\121\235\124\ufea0\001\002\000\006\117\u03c0" +
81.1766 - "\124\u03c1\001\002\000\006\144\045\147\205\001\002\000" +
81.1767 - "\014\112\u0122\113\233\117\ufe9e\121\235\124\ufe9e\001\002" +
81.1768 - "\000\006\117\u03bd\124\u03be\001\002\000\006\144\045\147" +
81.1769 - "\205\001\002\000\046\003\ufea1\016\ufea1\031\ufea1\035\ufea1" +
81.1770 - "\036\ufea1\037\ufea1\056\ufea1\057\ufea1\060\ufea1\061\ufea1\062" +
81.1771 - "\ufea1\074\ufea1\075\ufea1\077\ufea1\102\ufea1\104\ufea1\107\ufea1" +
81.1772 - "\144\ufea1\001\002\000\014\112\u0122\113\233\117\ufe9d\121" +
81.1773 - "\235\124\ufe9d\001\002\000\006\144\045\147\205\001\002" +
81.1774 - "\000\046\003\ufea2\016\ufea2\031\ufea2\035\ufea2\036\ufea2\037" +
81.1775 - "\ufea2\056\ufea2\057\ufea2\060\ufea2\061\ufea2\062\ufea2\074\ufea2" +
81.1776 - "\075\ufea2\077\ufea2\102\ufea2\104\ufea2\107\ufea2\144\ufea2\001" +
81.1777 - "\002\000\014\112\u0122\113\233\117\ufe9f\121\235\124\ufe9f" +
81.1778 - "\001\002\000\010\117\uff56\121\051\124\uff56\001\002\000" +
81.1779 - "\006\117\u03c5\124\u03c6\001\002\000\004\144\045\001\002" +
81.1780 - "\000\024\036\ufe3b\037\ufe3b\056\ufe3b\057\ufe3b\060\ufe3b\061" +
81.1781 - "\ufe3b\074\ufe3b\104\ufe3b\107\ufe3b\001\002\000\010\117\uff55" +
81.1782 - "\121\051\124\uff55\001\002\000\024\036\ufe3c\037\ufe3c\056" +
81.1783 - "\ufe3c\057\ufe3c\060\ufe3c\061\ufe3c\074\ufe3c\104\ufe3c\107\ufe3c" +
81.1784 - "\001\002\000\024\036\ufe3e\037\ufe3e\056\ufe3e\057\ufe3e\060" +
81.1785 - "\ufe3e\061\ufe3e\074\ufe3e\104\ufe3e\107\ufe3e\001\002\000\024" +
81.1786 - "\036\ufe3d\037\ufe3d\056\ufe3d\057\ufe3d\060\ufe3d\061\ufe3d\074" +
81.1787 - "\ufe3d\104\ufe3d\107\ufe3d\001\002\000\014\036\027\037\030" +
81.1788 - "\056\036\061\021\074\022\001\002\000\026\002\ufffa\036" +
81.1789 - "\ufffa\037\ufffa\056\ufffa\057\ufffa\060\ufffa\061\ufffa\074\ufffa" +
81.1790 - "\104\ufffa\107\ufffa\001\002\000\026\002\ufe4b\036\ufe4b\037" +
81.1791 - "\ufe4b\056\ufe4b\057\004\060\ufe4b\061\ufe4b\074\ufe4b\104\ufe4b" +
81.1792 - "\107\ufe4b\001\002\000\026\002\ufe4c\036\ufe4c\037\ufe4c\056" +
81.1793 - "\ufe4c\057\004\060\ufe4c\061\ufe4c\074\ufe4c\104\ufe4c\107\ufe4c" +
81.1794 - "\001\002\000\004\002\001\001\002\000\006\113\uff59\124" +
81.1795 - "\u03dd\001\002\000\004\113\u03d2\001\002\000\032\005\213" +
81.1796 - "\047\224\050\200\051\227\113\204\116\175\120\217\143" +
81.1797 - "\215\144\045\145\176\146\231\147\205\001\002\000\006" +
81.1798 - "\114\ufffe\117\ufffe\001\002\000\006\114\u03da\117\u03d9\001" +
81.1799 - "\002\000\064\013\uff61\042\uff61\046\uff61\050\uff61\053\uff61" +
81.1800 - "\070\uff61\110\uff61\111\uff61\112\uff61\113\uff61\114\uff61\115" +
81.1801 - "\uff61\116\uff61\117\uff61\120\uff61\121\uff61\122\uff61\125\uff61" +
81.1802 - "\126\uff61\127\uff61\131\u03d7\133\uff61\135\uff61\136\uff61\137" +
81.1803 - "\uff61\001\002\000\014\013\321\053\324\110\322\114\ufffc" +
81.1804 - "\117\ufffc\001\002\000\032\005\213\047\224\050\200\051" +
81.1805 - "\227\113\204\116\175\120\217\143\215\144\045\145\176" +
81.1806 - "\146\231\147\205\001\002\000\014\013\321\053\324\110" +
81.1807 - "\322\114\ufffb\117\ufffb\001\002\000\032\005\213\047\224" +
81.1808 - "\050\200\051\227\113\204\116\175\120\217\143\215\144" +
81.1809 - "\045\145\176\146\231\147\205\001\002\000\004\124\u03db" +
81.1810 - "\001\002\000\130\002\uffff\003\uffff\004\uffff\010\uffff\016" +
81.1811 - "\uffff\021\uffff\022\uffff\023\uffff\027\uffff\030\uffff\031\uffff" +
81.1812 - "\032\uffff\033\uffff\034\uffff\035\uffff\036\uffff\037\uffff\040" +
81.1813 - "\uffff\041\uffff\045\uffff\051\uffff\053\uffff\056\uffff\057\uffff" +
81.1814 - "\060\uffff\061\uffff\062\uffff\063\uffff\065\uffff\072\uffff\073" +
81.1815 - "\uffff\074\uffff\075\uffff\077\uffff\101\uffff\102\uffff\104\uffff" +
81.1816 - "\105\uffff\106\uffff\107\uffff\140\uffff\144\uffff\147\uffff\001" +
81.1817 - "\002\000\006\114\ufffd\117\ufffd\001\002\000\130\002\000" +
81.1818 - "\003\000\004\000\010\000\016\000\021\000\022\000\023" +
81.1819 - "\000\027\000\030\000\031\000\032\000\033\000\034\000" +
81.1820 - "\035\000\036\000\037\000\040\000\041\000\045\000\051" +
81.1821 - "\000\053\000\056\000\057\000\060\000\061\000\062\000" +
81.1822 - "\063\000\065\000\072\000\073\000\074\000\075\000\077" +
81.1823 - "\000\101\000\102\000\104\000\105\000\106\000\107\000" +
81.1824 - "\140\000\144\000\147\000\001\002" });
81.1825 -
81.1826 - /** Access to parse-action table. */
81.1827 - public short[][] action_table() {return _action_table;}
81.1828 -
81.1829 - /** <code>reduce_goto</code> table. */
81.1830 - protected static final short[][] _reduce_table =
81.1831 - unpackFromStrings(new String[] {
81.1832 - "\000\u03db\000\010\125\004\126\006\170\005\001\001\000" +
81.1833 - "\004\027\u03d0\001\001\000\002\001\001\000\004\173\u03cd" +
81.1834 - "\001\001\000\014\114\011\127\013\131\007\132\010\332" +
81.1835 - "\015\001\001\000\012\114\u03c9\132\u03c8\170\u03c7\332\u03ca" +
81.1836 - "\001\001\000\002\001\001\000\002\001\001\000\010\027" +
81.1837 - "\045\133\u03c3\140\u03c2\001\001\000\002\001\001\000\020" +
81.1838 - "\026\u03b7\027\202\030\224\103\221\115\u03b8\163\205\164" +
81.1839 - "\176\001\001\000\034\005\025\072\034\073\023\074\037" +
81.1840 - "\105\030\106\036\107\022\120\032\130\033\136\031\151" +
81.1841 - "\040\272\024\274\017\001\001\000\002\001\001\000\020" +
81.1842 - "\006\102\023\u012b\072\u036d\100\u0369\106\u036b\114\u0366\336" +
81.1843 - "\u0367\001\001\000\006\027\045\140\u0364\001\001\000\002" +
81.1844 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.1845 - "\001\000\002\001\001\000\012\027\045\102\u034c\103\u0146" +
81.1846 - "\140\u0145\001\001\000\002\001\001\000\002\001\001\000" +
81.1847 - "\002\001\001\000\002\001\001\000\004\173\u034b\001\001" +
81.1848 - "\000\002\001\001\000\006\027\045\140\042\001\001\000" +
81.1849 - "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
81.1850 - "\001\001\000\002\001\001\000\006\027\045\140\046\001" +
81.1851 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.1852 - "\000\122\002\124\003\062\004\054\005\101\006\102\011" +
81.1853 - "\105\012\074\013\066\016\052\020\123\022\060\023\061" +
81.1854 - "\025\117\072\076\073\023\074\072\105\070\106\036\107" +
81.1855 - "\071\110\103\114\107\117\115\120\077\121\106\134\113" +
81.1856 - "\136\064\144\065\170\122\174\100\175\111\176\056\250" +
81.1857 - "\063\251\110\272\024\274\017\275\121\302\053\344\112" +
81.1858 - "\345\114\346\055\001\001\000\004\027\051\001\001\000" +
81.1859 - "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
81.1860 - "\001\001\000\002\001\001\000\002\001\001\000\004\027" +
81.1861 - "\u0310\001\001\000\002\001\001\000\002\001\001\000\002" +
81.1862 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.1863 - "\001\000\116\002\124\003\062\004\054\005\101\006\102" +
81.1864 - "\011\105\016\052\020\123\022\060\023\061\025\117\072" +
81.1865 - "\076\073\023\074\072\105\070\106\036\107\071\110\103" +
81.1866 - "\114\107\117\115\120\077\121\106\134\113\136\064\144" +
81.1867 - "\065\170\122\174\100\175\111\176\056\250\063\251\u02f9" +
81.1868 - "\272\024\274\017\275\121\302\053\344\112\345\114\346" +
81.1869 - "\055\001\001\000\006\027\160\146\u02e2\001\001\000\002" +
81.1870 - "\001\001\000\002\001\001\000\002\001\001\000\004\006" +
81.1871 - "\u0262\001\001\000\006\066\u025c\273\u025d\001\001\000\004" +
81.1872 - "\006\u0258\001\001\000\002\001\001\000\002\001\001\000" +
81.1873 - "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
81.1874 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.1875 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.1876 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.1877 - "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
81.1878 - "\027\045\140\042\001\001\000\002\001\001\000\002\001" +
81.1879 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.1880 - "\000\002\001\001\000\006\027\045\140\130\001\001\000" +
81.1881 - "\002\001\001\000\122\002\124\003\062\004\054\005\101" +
81.1882 - "\006\102\011\105\012\074\013\066\016\052\020\123\022" +
81.1883 - "\060\023\061\025\117\072\076\073\023\074\072\105\070" +
81.1884 - "\106\036\107\071\110\103\114\107\117\115\120\077\121" +
81.1885 - "\106\134\113\136\064\144\065\170\122\174\100\175\111" +
81.1886 - "\176\056\250\063\251\110\272\024\274\017\275\121\302" +
81.1887 - "\053\344\112\345\114\346\055\001\001\000\002\001\001" +
81.1888 - "\000\002\001\001\000\004\027\u0149\001\001\000\004\303" +
81.1889 - "\u0148\001\001\000\004\027\137\001\001\000\006\177\141" +
81.1890 - "\200\140\001\001\000\002\001\001\000\004\303\u0102\001" +
81.1891 - "\001\000\012\006\102\023\143\240\146\241\147\001\001" +
81.1892 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.1893 - "\002\001\001\000\002\001\001\000\010\006\102\023\143" +
81.1894 - "\241\152\001\001\000\002\001\001\000\002\001\001\000" +
81.1895 - "\002\001\001\000\004\006\u0101\001\001\000\004\242\156" +
81.1896 - "\001\001\000\006\027\160\146\161\001\001\000\002\001" +
81.1897 - "\001\000\002\001\001\000\004\143\162\001\001\000\002" +
81.1898 - "\001\001\000\050\026\231\027\202\030\224\031\206\032" +
81.1899 - "\201\033\213\034\211\035\210\036\217\042\222\044\225" +
81.1900 - "\103\221\154\220\155\215\160\227\163\205\164\176\255" +
81.1901 - "\207\261\200\001\001\000\004\252\167\001\001\000\004" +
81.1902 - "\027\166\001\001\000\002\001\001\000\002\001\001\000" +
81.1903 - "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
81.1904 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.1905 - "\001\000\034\026\231\027\202\030\224\036\u0100\044\225" +
81.1906 - "\103\221\154\220\155\215\160\227\163\205\164\176\255" +
81.1907 - "\207\261\200\001\001\000\002\001\001\000\002\001\001" +
81.1908 - "\000\002\001\001\000\066\026\246\027\202\030\224\031" +
81.1909 - "\355\032\201\033\256\034\211\035\210\036\217\042\222" +
81.1910 - "\044\225\103\221\154\220\155\215\160\227\161\245\163" +
81.1911 - "\205\164\176\167\244\245\251\246\243\253\360\254\357" +
81.1912 - "\255\207\256\354\261\200\001\001\000\002\001\001\000" +
81.1913 - "\002\001\001\000\006\037\322\257\316\001\001\000\002" +
81.1914 - "\001\001\000\002\001\001\000\004\043\303\001\001\000" +
81.1915 - "\034\026\231\027\202\030\224\036\353\044\225\103\221" +
81.1916 - "\154\220\155\215\160\227\163\205\164\176\255\207\261" +
81.1917 - "\200\001\001\000\010\040\262\041\267\260\264\001\001" +
81.1918 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.1919 - "\002\001\001\000\002\001\001\000\002\001\001\000\040" +
81.1920 - "\026\231\027\202\030\224\034\350\035\210\036\217\044" +
81.1921 - "\225\103\221\154\220\155\215\160\227\163\205\164\176" +
81.1922 - "\255\207\261\200\001\001\000\020\026\346\027\202\030" +
81.1923 - "\224\044\347\103\221\163\205\164\176\001\001\000\002" +
81.1924 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.1925 - "\001\000\002\001\001\000\002\001\001\000\066\026\246" +
81.1926 - "\027\202\030\224\031\247\032\201\033\256\034\211\035" +
81.1927 - "\210\036\217\042\222\044\225\103\221\154\220\155\215" +
81.1928 - "\160\227\161\245\163\205\164\176\165\255\167\244\245" +
81.1929 - "\251\246\243\253\254\254\253\255\207\261\200\001\001" +
81.1930 - "\000\010\155\242\252\241\255\207\001\001\000\010\027" +
81.1931 - "\237\103\236\160\240\001\001\000\002\001\001\000\002" +
81.1932 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.1933 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.1934 - "\000\002\001\001\000\004\211\335\001\001\000\006\037" +
81.1935 - "\322\257\316\001\001\000\002\001\001\000\002\001\001" +
81.1936 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.1937 - "\002\001\001\000\010\040\262\041\267\260\264\001\001" +
81.1938 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.1939 - "\044\026\231\027\202\030\224\033\330\034\211\035\210" +
81.1940 - "\036\217\042\222\044\225\103\221\154\220\155\215\160" +
81.1941 - "\227\163\205\164\176\255\207\261\200\001\001\000\002" +
81.1942 - "\001\001\000\046\026\311\027\202\030\224\033\310\034" +
81.1943 - "\211\035\210\036\217\042\222\044\225\103\221\154\220" +
81.1944 - "\155\215\160\227\163\205\164\176\167\307\255\207\261" +
81.1945 - "\200\001\001\000\002\001\001\000\002\001\001\000\040" +
81.1946 - "\026\231\027\202\030\224\034\300\035\210\036\217\044" +
81.1947 - "\225\103\221\154\220\155\215\160\227\163\205\164\176" +
81.1948 - "\255\207\261\200\001\001\000\002\001\001\000\044\026" +
81.1949 - "\231\027\202\030\224\033\277\034\211\035\210\036\217" +
81.1950 - "\042\222\044\225\103\221\154\220\155\215\160\227\163" +
81.1951 - "\205\164\176\255\207\261\200\001\001\000\002\001\001" +
81.1952 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.1953 - "\002\001\001\000\004\041\267\001\001\000\004\043\303" +
81.1954 - "\001\001\000\002\001\001\000\002\001\001\000\036\026" +
81.1955 - "\231\027\202\030\224\035\306\036\217\044\225\103\221" +
81.1956 - "\154\220\155\215\160\227\163\205\164\176\255\207\261" +
81.1957 - "\200\001\001\000\002\001\001\000\002\001\001\000\002" +
81.1958 - "\001\001\000\002\001\001\000\004\041\267\001\001\000" +
81.1959 - "\002\001\001\000\010\155\242\252\241\255\207\001\001" +
81.1960 - "\000\002\001\001\000\050\026\231\027\202\030\224\031" +
81.1961 - "\315\032\201\033\213\034\211\035\210\036\217\042\222" +
81.1962 - "\044\225\103\221\154\220\155\215\160\227\163\205\164" +
81.1963 - "\176\255\207\261\200\001\001\000\006\037\322\257\316" +
81.1964 - "\001\001\000\046\026\231\027\202\030\224\032\327\033" +
81.1965 - "\213\034\211\035\210\036\217\042\222\044\225\103\221" +
81.1966 - "\154\220\155\215\160\227\163\205\164\176\255\207\261" +
81.1967 - "\200\001\001\000\002\001\001\000\002\001\001\000\002" +
81.1968 - "\001\001\000\046\026\231\027\202\030\224\032\325\033" +
81.1969 - "\213\034\211\035\210\036\217\042\222\044\225\103\221" +
81.1970 - "\154\220\155\215\160\227\163\205\164\176\255\207\261" +
81.1971 - "\200\001\001\000\002\001\001\000\002\001\001\000\002" +
81.1972 - "\001\001\000\002\001\001\000\002\001\001\000\004\041" +
81.1973 - "\267\001\001\000\064\026\246\027\202\030\224\031\247" +
81.1974 - "\032\201\033\256\034\211\035\210\036\217\042\222\044" +
81.1975 - "\225\103\221\154\220\155\215\160\227\161\245\163\205" +
81.1976 - "\164\176\167\244\245\251\246\243\253\333\254\253\255" +
81.1977 - "\207\261\200\001\001\000\002\001\001\000\002\001\001" +
81.1978 - "\000\046\026\337\027\202\030\224\033\310\034\211\035" +
81.1979 - "\210\036\217\042\222\044\225\103\221\154\220\155\215" +
81.1980 - "\160\227\163\205\164\176\167\336\255\207\261\200\001" +
81.1981 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.1982 - "\000\056\026\246\027\202\030\224\031\345\032\201\033" +
81.1983 - "\256\034\211\035\210\036\217\042\222\044\225\103\221" +
81.1984 - "\154\220\155\215\160\227\163\205\164\176\167\244\245" +
81.1985 - "\344\246\343\255\207\261\200\001\001\000\050\026\231" +
81.1986 - "\027\202\030\224\031\342\032\201\033\213\034\211\035" +
81.1987 - "\210\036\217\042\222\044\225\103\221\154\220\155\215" +
81.1988 - "\160\227\163\205\164\176\255\207\261\200\001\001\000" +
81.1989 - "\006\037\322\257\316\001\001\000\002\001\001\000\002" +
81.1990 - "\001\001\000\006\037\322\257\316\001\001\000\002\001" +
81.1991 - "\001\000\002\001\001\000\004\043\303\001\001\000\034" +
81.1992 - "\026\231\027\202\030\224\036\352\044\225\103\221\154" +
81.1993 - "\220\155\215\160\227\163\205\164\176\255\207\261\200" +
81.1994 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.1995 - "\001\000\006\037\322\257\316\001\001\000\002\001\001" +
81.1996 - "\000\002\001\001\000\002\001\001\000\064\026\246\027" +
81.1997 - "\202\030\224\031\247\032\201\033\256\034\211\035\210" +
81.1998 - "\036\217\042\222\044\225\103\221\154\220\155\215\160" +
81.1999 - "\227\161\245\163\205\164\176\167\244\245\251\246\243" +
81.2000 - "\253\362\254\253\255\207\261\200\001\001\000\002\001" +
81.2001 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.2002 - "\000\002\001\001\000\066\026\246\027\202\030\224\031" +
81.2003 - "\247\032\201\033\256\034\211\035\210\036\217\042\222" +
81.2004 - "\044\225\103\221\154\220\155\215\160\227\161\245\163" +
81.2005 - "\205\164\176\165\371\167\244\245\251\246\243\253\254" +
81.2006 - "\254\253\255\207\261\200\001\001\000\002\001\001\000" +
81.2007 - "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
81.2008 - "\001\001\000\064\026\246\027\202\030\224\031\247\032" +
81.2009 - "\201\033\256\034\211\035\210\036\217\042\222\044\225" +
81.2010 - "\103\221\154\220\155\215\160\227\161\245\163\205\164" +
81.2011 - "\176\167\244\245\251\246\243\253\377\254\253\255\207" +
81.2012 - "\261\200\001\001\000\002\001\001\000\002\001\001\000" +
81.2013 - "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
81.2014 - "\304\u0104\001\001\000\024\072\u010c\170\u0107\250\u0106\305" +
81.2015 - "\u0108\307\u0105\310\u010b\344\112\345\114\346\055\001\001" +
81.2016 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.2017 - "\002\001\001\000\002\001\001\000\004\306\u010e\001\001" +
81.2018 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.2019 - "\032\006\102\023\u0110\072\u010c\170\u0107\235\u0111\250\u0106" +
81.2020 - "\307\u0112\310\u010b\311\u010f\344\112\345\114\346\055\001" +
81.2021 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.2022 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.2023 - "\006\227\u0118\230\u0117\001\001\000\002\001\001\000\020" +
81.2024 - "\021\u011c\026\u011b\027\202\030\224\103\221\163\205\164" +
81.2025 - "\176\001\001\000\004\143\u0119\001\001\000\002\001\001" +
81.2026 - "\000\002\001\001\000\010\210\u0120\211\u011f\212\u011e\001" +
81.2027 - "\001\000\002\001\001\000\050\026\231\027\202\030\224" +
81.2028 - "\031\u0122\032\201\033\213\034\211\035\210\036\217\042" +
81.2029 - "\222\044\225\103\221\154\220\155\215\160\227\163\205" +
81.2030 - "\164\176\255\207\261\200\001\001\000\002\001\001\000" +
81.2031 - "\002\001\001\000\002\001\001\000\004\252\241\001\001" +
81.2032 - "\000\012\037\322\211\u0124\213\u0123\257\316\001\001\000" +
81.2033 - "\002\001\001\000\002\001\001\000\006\076\u0126\077\u0127" +
81.2034 - "\001\001\000\002\001\001\000\002\001\001\000\060\006" +
81.2035 - "\102\023\u012b\026\u012d\027\202\030\224\033\310\034\211" +
81.2036 - "\035\210\036\217\042\222\044\225\075\u0129\100\u012a\103" +
81.2037 - "\221\154\220\155\215\160\227\163\205\164\176\166\u012f" +
81.2038 - "\167\u012c\255\207\261\200\001\001\000\002\001\001\000" +
81.2039 - "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
81.2040 - "\211\u0124\213\u0136\001\001\000\002\001\001\000\002\001" +
81.2041 - "\001\000\002\001\001\000\006\076\u0132\077\u0127\001\001" +
81.2042 - "\000\002\001\001\000\012\006\102\023\u012b\075\u0129\100" +
81.2043 - "\u012a\001\001\000\002\001\001\000\002\001\001\000\002" +
81.2044 - "\001\001\000\004\101\u013b\001\001\000\002\001\001\000" +
81.2045 - "\002\001\001\000\002\001\001\000\006\027\160\146\u013c" +
81.2046 - "\001\001\000\004\143\u013d\001\001\000\002\001\001\000" +
81.2047 - "\002\001\001\000\010\006\102\023\u012b\100\u0141\001\001" +
81.2048 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.2049 - "\014\027\045\102\u0144\103\u0146\140\u0145\152\u0147\001\001" +
81.2050 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.2051 - "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
81.2052 - "\173\u014d\312\u014c\001\001\000\002\001\001\000\012\072" +
81.2053 - "\u0151\074\u0153\313\u0152\314\u014f\001\001\000\004\170\u014e" +
81.2054 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.2055 - "\001\000\002\001\001\000\004\173\u0157\001\001\000\002" +
81.2056 - "\001\001\000\014\027\045\102\u0144\103\u0146\140\u0145\152" +
81.2057 - "\u0155\001\001\000\002\001\001\000\002\001\001\000\004" +
81.2058 - "\170\u014e\001\001\000\002\001\001\000\122\002\124\003" +
81.2059 - "\062\004\054\005\101\006\102\011\105\012\u015a\013\066" +
81.2060 - "\016\052\020\123\022\060\023\061\025\117\072\076\073" +
81.2061 - "\023\074\072\105\070\106\036\107\071\110\103\114\107" +
81.2062 - "\117\115\120\077\121\106\134\113\136\064\144\065\170" +
81.2063 - "\122\174\100\175\111\176\056\250\063\251\110\272\024" +
81.2064 - "\274\017\275\121\302\053\344\112\345\114\346\055\001" +
81.2065 - "\001\000\004\066\u015c\001\001\000\116\026\u016e\027\202" +
81.2066 - "\030\224\044\u0162\045\u017e\046\u016c\047\u016a\050\u0188\051" +
81.2067 - "\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165" +
81.2068 - "\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\147" +
81.2069 - "\u0160\150\u0178\153\u018c\157\u0164\162\u0187\163\205\164\176" +
81.2070 - "\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
81.2071 - "\u0172\322\u016f\323\u0161\324\u0181\001\001\000\002\001\001" +
81.2072 - "\000\014\027\045\102\u0144\103\u0146\140\u0145\152\u015e\001" +
81.2073 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.2074 - "\000\002\001\001\000\002\001\001\000\016\026\u0230\027" +
81.2075 - "\202\030\224\103\221\163\205\164\176\001\001\000\002" +
81.2076 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.2077 - "\001\000\050\026\231\027\202\030\224\031\u0224\032\201" +
81.2078 - "\033\213\034\211\035\210\036\217\042\222\044\225\103" +
81.2079 - "\221\154\220\155\215\160\227\163\205\164\176\255\207" +
81.2080 - "\261\200\001\001\000\002\001\001\000\002\001\001\000" +
81.2081 - "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
81.2082 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.2083 - "\001\000\002\001\001\000\002\001\001\000\036\026\u01fd" +
81.2084 - "\027\202\030\224\103\221\122\u01f4\157\u01f8\163\205\164" +
81.2085 - "\176\264\u01fb\316\u017a\317\u01f5\325\u01fc\327\u01f6\331\u01f7" +
81.2086 - "\001\001\000\020\026\u0191\027\202\030\224\070\u01ef\103" +
81.2087 - "\221\163\205\164\176\001\001\000\054\026\231\027\202" +
81.2088 - "\030\224\031\u019b\032\201\033\213\034\211\035\210\036" +
81.2089 - "\217\042\222\044\225\053\u01e1\054\u01e2\103\221\154\220" +
81.2090 - "\155\215\160\227\163\205\164\176\255\207\261\200\001" +
81.2091 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.2092 - "\000\002\001\001\000\050\026\231\027\202\030\224\031" +
81.2093 - "\u01d9\032\201\033\213\034\211\035\210\036\217\042\222" +
81.2094 - "\044\225\103\221\154\220\155\215\160\227\163\205\164" +
81.2095 - "\176\255\207\261\200\001\001\000\020\026\u01d3\027\202" +
81.2096 - "\030\224\103\221\124\u01d4\163\205\164\176\001\001\000" +
81.2097 - "\002\001\001\000\116\026\u016e\027\202\030\224\044\u0162" +
81.2098 - "\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061" +
81.2099 - "\u0179\064\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a" +
81.2100 - "\123\u018b\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162" +
81.2101 - "\u0187\163\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166" +
81.2102 - "\265\u016d\270\u01c1\271\u01bf\316\u017a\321\u0172\322\u016f\323" +
81.2103 - "\u0161\324\u0181\001\001\000\002\001\001\000\002\001\001" +
81.2104 - "\000\002\001\001\000\006\027\u01b9\320\u01b8\001\001\000" +
81.2105 - "\016\026\u01b6\027\202\030\224\103\221\163\205\164\176" +
81.2106 - "\001\001\000\050\026\231\027\202\030\224\031\u01b1\032" +
81.2107 - "\201\033\213\034\211\035\210\036\217\042\222\044\225" +
81.2108 - "\103\221\154\220\155\215\160\227\163\205\164\176\255" +
81.2109 - "\207\261\200\001\001\000\002\001\001\000\002\001\001" +
81.2110 - "\000\010\063\u0199\065\u0196\266\u0198\001\001\000\002\001" +
81.2111 - "\001\000\112\026\u016e\027\202\030\224\044\u0162\046\u016c" +
81.2112 - "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
81.2113 - "\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b" +
81.2114 - "\135\u0171\137\u0169\150\u0194\153\u018c\157\u0164\162\u0187\163" +
81.2115 - "\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
81.2116 - "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
81.2117 - "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
81.2118 - "\001\001\000\020\026\u0191\027\202\030\224\070\u0192\103" +
81.2119 - "\221\163\205\164\176\001\001\000\002\001\001\000\002" +
81.2120 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.2121 - "\001\000\002\001\001\000\122\002\124\003\062\004\054" +
81.2122 - "\005\101\006\102\011\105\012\u01ae\013\066\016\052\020" +
81.2123 - "\123\022\060\023\061\025\117\072\076\073\023\074\072" +
81.2124 - "\105\070\106\036\107\071\110\103\114\107\117\115\120" +
81.2125 - "\077\121\106\134\113\136\064\144\065\170\122\174\100" +
81.2126 - "\175\111\176\056\250\063\251\110\272\024\274\017\275" +
81.2127 - "\121\302\053\344\112\345\114\346\055\001\001\000\004" +
81.2128 - "\066\u01aa\001\001\000\002\001\001\000\004\267\u01a5\001" +
81.2129 - "\001\000\004\062\u019d\001\001\000\052\026\231\027\202" +
81.2130 - "\030\224\031\u019b\032\201\033\213\034\211\035\210\036" +
81.2131 - "\217\042\222\044\225\054\u019c\103\221\154\220\155\215" +
81.2132 - "\160\227\163\205\164\176\255\207\261\200\001\001\000" +
81.2133 - "\006\037\322\257\316\001\001\000\002\001\001\000\014" +
81.2134 - "\027\045\102\u0144\103\u0146\140\u0145\152\u01a3\001\001\000" +
81.2135 - "\114\026\u016e\027\202\030\224\044\u0162\045\u019f\046\u016c" +
81.2136 - "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
81.2137 - "\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b" +
81.2138 - "\135\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163" +
81.2139 - "\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
81.2140 - "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
81.2141 - "\112\026\u016e\027\202\030\224\044\u0162\046\u016c\047\u016a" +
81.2142 - "\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067" +
81.2143 - "\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135\u0171" +
81.2144 - "\137\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163\205\164" +
81.2145 - "\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a" +
81.2146 - "\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000\002\001" +
81.2147 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.2148 - "\000\002\001\001\000\050\026\u012d\027\202\030\224\033" +
81.2149 - "\310\034\211\035\210\036\217\042\222\044\225\103\221" +
81.2150 - "\154\220\155\215\160\227\163\205\164\176\166\u01a7\167" +
81.2151 - "\u012c\255\207\261\200\001\001\000\002\001\001\000\002" +
81.2152 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.2153 - "\001\000\014\027\045\102\u0144\103\u0146\140\u0145\152\u01ac" +
81.2154 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.2155 - "\001\000\002\001\001\000\002\001\001\000\006\037\322" +
81.2156 - "\257\316\001\001\000\050\026\231\027\202\030\224\031" +
81.2157 - "\u01b3\032\201\033\213\034\211\035\210\036\217\042\222" +
81.2158 - "\044\225\103\221\154\220\155\215\160\227\163\205\164" +
81.2159 - "\176\255\207\261\200\001\001\000\006\037\322\257\316" +
81.2160 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.2161 - "\001\000\002\001\001\000\006\076\u01ba\077\u0127\001\001" +
81.2162 - "\000\002\001\001\000\002\001\001\000\060\006\102\023" +
81.2163 - "\u012b\026\231\027\202\030\224\031\u01bc\032\201\033\213" +
81.2164 - "\034\211\035\210\036\217\042\222\044\225\075\u0129\100" +
81.2165 - "\u012a\103\221\154\220\155\215\160\227\163\205\164\176" +
81.2166 - "\255\207\261\200\001\001\000\006\037\322\257\316\001" +
81.2167 - "\001\000\002\001\001\000\002\001\001\000\004\333\u01d1" +
81.2168 - "\001\001\000\004\333\u01c3\001\001\000\002\001\001\000" +
81.2169 - "\022\026\u01c5\027\202\030\224\103\221\163\205\164\176" +
81.2170 - "\334\u01c7\335\u01c8\001\001\000\002\001\001\000\002\001" +
81.2171 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.2172 - "\000\002\001\001\000\020\026\u01c5\027\202\030\224\103" +
81.2173 - "\221\163\205\164\176\335\u01cc\001\001\000\114\026\u016e" +
81.2174 - "\027\202\030\224\044\u0162\045\u01cb\046\u016c\047\u016a\050" +
81.2175 - "\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b" +
81.2176 - "\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137" +
81.2177 - "\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205\164\176" +
81.2178 - "\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
81.2179 - "\u0172\322\u016f\323\u0161\324\u0181\001\001\000\112\026\u016e" +
81.2180 - "\027\202\030\224\044\u0162\046\u016c\047\u016a\050\u0188\051" +
81.2181 - "\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165" +
81.2182 - "\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150" +
81.2183 - "\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\176\170\u018d" +
81.2184 - "\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322" +
81.2185 - "\u016f\323\u0161\324\u0181\001\001\000\002\001\001\000\022" +
81.2186 - "\026\u01c5\027\202\030\224\103\221\163\205\164\176\334" +
81.2187 - "\u01ce\335\u01c8\001\001\000\002\001\001\000\114\026\u016e" +
81.2188 - "\027\202\030\224\044\u0162\045\u01d0\046\u016c\047\u016a\050" +
81.2189 - "\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b" +
81.2190 - "\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137" +
81.2191 - "\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205\164\176" +
81.2192 - "\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
81.2193 - "\u0172\322\u016f\323\u0161\324\u0181\001\001\000\112\026\u016e" +
81.2194 - "\027\202\030\224\044\u0162\046\u016c\047\u016a\050\u0188\051" +
81.2195 - "\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165" +
81.2196 - "\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150" +
81.2197 - "\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\176\170\u018d" +
81.2198 - "\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322" +
81.2199 - "\u016f\323\u0161\324\u0181\001\001\000\002\001\001\000\002" +
81.2200 - "\001\001\000\002\001\001\000\002\001\001\000\016\026" +
81.2201 - "\u01d7\027\202\030\224\103\221\163\205\164\176\001\001" +
81.2202 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.2203 - "\006\037\322\257\316\001\001\000\002\001\001\000\116" +
81.2204 - "\026\u016e\027\202\030\224\044\u0162\045\u017e\046\u016c\047" +
81.2205 - "\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185" +
81.2206 - "\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135" +
81.2207 - "\u0171\137\u0169\147\u01dd\150\u0178\153\u018c\157\u0164\162\u0187" +
81.2208 - "\163\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265" +
81.2209 - "\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001" +
81.2210 - "\000\002\001\001\000\002\001\001\000\014\027\045\102" +
81.2211 - "\u0144\103\u0146\140\u0145\152\u01df\001\001\000\002\001\001" +
81.2212 - "\000\002\001\001\000\004\055\u01e7\001\001\000\002\001" +
81.2213 - "\001\000\114\026\u016e\027\202\030\224\044\u0162\045\u01e4" +
81.2214 - "\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061" +
81.2215 - "\u0179\064\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a" +
81.2216 - "\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162" +
81.2217 - "\u0187\163\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166" +
81.2218 - "\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001" +
81.2219 - "\001\000\112\026\u016e\027\202\030\224\044\u0162\046\u016c" +
81.2220 - "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
81.2221 - "\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b" +
81.2222 - "\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163" +
81.2223 - "\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
81.2224 - "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
81.2225 - "\114\026\u016e\027\202\030\224\044\u0162\045\u01ee\046\u016c" +
81.2226 - "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
81.2227 - "\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b" +
81.2228 - "\135\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163" +
81.2229 - "\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
81.2230 - "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
81.2231 - "\052\026\231\027\202\030\224\031\u019b\032\201\033\213" +
81.2232 - "\034\211\035\210\036\217\042\222\044\225\054\u01eb\103" +
81.2233 - "\221\154\220\155\215\160\227\163\205\164\176\255\207" +
81.2234 - "\261\200\001\001\000\002\001\001\000\002\001\001\000" +
81.2235 - "\002\001\001\000\002\001\001\000\002\001\001\000\114" +
81.2236 - "\026\u016e\027\202\030\224\044\u0162\045\u01ed\046\u016c\047" +
81.2237 - "\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185" +
81.2238 - "\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135" +
81.2239 - "\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205" +
81.2240 - "\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316" +
81.2241 - "\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000\112" +
81.2242 - "\026\u016e\027\202\030\224\044\u0162\046\u016c\047\u016a\050" +
81.2243 - "\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b" +
81.2244 - "\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137" +
81.2245 - "\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\176" +
81.2246 - "\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
81.2247 - "\u0172\322\u016f\323\u0161\324\u0181\001\001\000\112\026\u016e" +
81.2248 - "\027\202\030\224\044\u0162\046\u016c\047\u016a\050\u0188\051" +
81.2249 - "\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165" +
81.2250 - "\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150" +
81.2251 - "\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\176\170\u018d" +
81.2252 - "\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322" +
81.2253 - "\u016f\323\u0161\324\u0181\001\001\000\004\156\u01f0\001\001" +
81.2254 - "\000\002\001\001\000\052\026\231\027\202\030\224\031" +
81.2255 - "\u019b\032\201\033\213\034\211\035\210\036\217\042\222" +
81.2256 - "\044\225\054\u01f2\103\221\154\220\155\215\160\227\163" +
81.2257 - "\205\164\176\255\207\261\200\001\001\000\002\001\001" +
81.2258 - "\000\002\001\001\000\116\026\u016e\027\202\030\224\044" +
81.2259 - "\u0162\045\u0205\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170" +
81.2260 - "\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\221\104" +
81.2261 - "\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c" +
81.2262 - "\157\u0164\162\u0187\163\205\164\176\170\u018d\262\u0189\263" +
81.2263 - "\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161" +
81.2264 - "\324\u0181\330\u0220\001\001\000\116\026\u016e\027\202\030" +
81.2265 - "\224\044\u0162\045\u0205\046\u016c\047\u016a\050\u0188\051\u0173" +
81.2266 - "\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103" +
81.2267 - "\221\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178" +
81.2268 - "\153\u018c\157\u0164\162\u0187\163\205\164\176\170\u018d\262" +
81.2269 - "\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f" +
81.2270 - "\323\u0161\324\u0181\330\u0214\001\001\000\002\001\001\000" +
81.2271 - "\002\001\001\000\002\001\001\000\002\001\001\000\052" +
81.2272 - "\026\231\027\202\030\224\031\u019b\032\201\033\213\034" +
81.2273 - "\211\035\210\036\217\042\222\044\225\054\u020a\103\221" +
81.2274 - "\154\220\155\215\160\227\163\205\164\176\255\207\261" +
81.2275 - "\200\001\001\000\116\026\u016e\027\202\030\224\044\u0162" +
81.2276 - "\045\u0205\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056" +
81.2277 - "\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\221\104\u0180" +
81.2278 - "\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c\157" +
81.2279 - "\u0164\162\u0187\163\205\164\176\170\u018d\262\u0189\263\u0167" +
81.2280 - "\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324" +
81.2281 - "\u0181\330\u0209\001\001\000\004\326\u01ff\001\001\000\002" +
81.2282 - "\001\001\000\002\001\001\000\004\055\u0200\001\001\000" +
81.2283 - "\002\001\001\000\014\122\u0202\264\u01fb\316\u017a\325\u0203" +
81.2284 - "\327\u01f6\001\001\000\116\026\u016e\027\202\030\224\044" +
81.2285 - "\u0162\045\u0205\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170" +
81.2286 - "\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\221\104" +
81.2287 - "\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c" +
81.2288 - "\157\u0164\162\u0187\163\205\164\176\170\u018d\262\u0189\263" +
81.2289 - "\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161" +
81.2290 - "\324\u0181\330\u0204\001\001\000\002\001\001\000\002\001" +
81.2291 - "\001\000\112\026\u016e\027\202\030\224\044\u0162\046\u016c" +
81.2292 - "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
81.2293 - "\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b" +
81.2294 - "\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163" +
81.2295 - "\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
81.2296 - "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
81.2297 - "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
81.2298 - "\001\001\000\002\001\001\000\012\122\u0202\264\u01fb\316" +
81.2299 - "\u017a\327\u020c\001\001\000\002\001\001\000\002\001\001" +
81.2300 - "\000\002\001\001\000\114\026\u016e\027\202\030\224\044" +
81.2301 - "\u0162\045\u0210\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170" +
81.2302 - "\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\221\104" +
81.2303 - "\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c" +
81.2304 - "\157\u0164\162\u0187\163\205\164\176\170\u018d\262\u0189\263" +
81.2305 - "\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161" +
81.2306 - "\324\u0181\001\001\000\112\026\u016e\027\202\030\224\044" +
81.2307 - "\u0162\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177" +
81.2308 - "\061\u0179\064\u0185\067\u016b\071\u0165\103\221\104\u0180\122" +
81.2309 - "\u018a\123\u018b\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164" +
81.2310 - "\162\u0187\163\205\164\176\170\u018d\262\u0189\263\u0167\264" +
81.2311 - "\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181" +
81.2312 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.2313 - "\001\000\002\001\001\000\114\026\u016e\027\202\030\224" +
81.2314 - "\044\u0162\045\u021c\046\u016c\047\u016a\050\u0188\051\u0173\052" +
81.2315 - "\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\221" +
81.2316 - "\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153" +
81.2317 - "\u018c\157\u0164\162\u0187\163\205\164\176\170\u018d\262\u0189" +
81.2318 - "\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323" +
81.2319 - "\u0161\324\u0181\001\001\000\004\122\u0217\001\001\000\116" +
81.2320 - "\026\u016e\027\202\030\224\044\u0162\045\u0205\046\u016c\047" +
81.2321 - "\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185" +
81.2322 - "\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135" +
81.2323 - "\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205" +
81.2324 - "\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316" +
81.2325 - "\u017a\321\u0172\322\u016f\323\u0161\324\u0181\330\u0218\001\001" +
81.2326 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.2327 - "\002\001\001\000\112\026\u016e\027\202\030\224\044\u0162" +
81.2328 - "\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061" +
81.2329 - "\u0179\064\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a" +
81.2330 - "\123\u018b\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162" +
81.2331 - "\u0187\163\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166" +
81.2332 - "\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001" +
81.2333 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.2334 - "\000\002\001\001\000\050\026\231\027\202\030\224\031" +
81.2335 - "\u0222\032\201\033\213\034\211\035\210\036\217\042\222" +
81.2336 - "\044\225\103\221\154\220\155\215\160\227\163\205\164" +
81.2337 - "\176\255\207\261\200\001\001\000\006\037\322\257\316" +
81.2338 - "\001\001\000\002\001\001\000\006\037\322\257\316\001" +
81.2339 - "\001\000\004\173\u0226\001\001\000\006\057\u0227\170\u014e" +
81.2340 - "\001\001\000\004\060\u0228\001\001\000\002\001\001\000" +
81.2341 - "\060\026\246\027\202\030\224\031\345\032\201\033\256" +
81.2342 - "\034\211\035\210\036\217\042\222\044\225\103\221\154" +
81.2343 - "\220\155\215\160\227\161\u022d\163\205\164\176\167\244" +
81.2344 - "\245\251\246\343\255\207\261\200\001\001\000\002\001" +
81.2345 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.2346 - "\000\114\026\u016e\027\202\030\224\044\u0162\045\u022f\046" +
81.2347 - "\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179" +
81.2348 - "\064\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123" +
81.2349 - "\u018b\135\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187" +
81.2350 - "\163\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265" +
81.2351 - "\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001" +
81.2352 - "\000\112\026\u016e\027\202\030\224\044\u0162\046\u016c\047" +
81.2353 - "\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185" +
81.2354 - "\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135" +
81.2355 - "\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163\205" +
81.2356 - "\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316" +
81.2357 - "\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000\002" +
81.2358 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.2359 - "\001\000\002\001\001\000\002\001\001\000\006\076\u0237" +
81.2360 - "\077\u0127\001\001\000\002\001\001\000\014\006\102\023" +
81.2361 - "\u012b\075\u0129\100\u012a\266\u0239\001\001\000\050\026\u012d" +
81.2362 - "\027\202\030\224\033\310\034\211\035\210\036\217\042" +
81.2363 - "\222\044\225\103\221\154\220\155\215\160\227\163\205" +
81.2364 - "\164\176\166\u023a\167\u012c\255\207\261\200\001\001\000" +
81.2365 - "\002\001\001\000\006\076\u023c\077\u0127\001\001\000\002" +
81.2366 - "\001\001\000\052\026\231\027\202\030\224\031\u019b\032" +
81.2367 - "\201\033\213\034\211\035\210\036\217\042\222\044\225" +
81.2368 - "\054\u023e\103\221\154\220\155\215\160\227\163\205\164" +
81.2369 - "\176\255\207\261\200\001\001\000\004\315\u0241\001\001" +
81.2370 - "\000\002\001\001\000\122\002\124\003\062\004\054\005" +
81.2371 - "\101\006\102\011\105\012\u0242\013\066\016\052\020\123" +
81.2372 - "\022\060\023\061\025\117\072\076\073\023\074\072\105" +
81.2373 - "\070\106\036\107\071\110\103\114\107\117\115\120\077" +
81.2374 - "\121\106\134\113\136\064\144\065\170\122\174\100\175" +
81.2375 - "\111\176\056\250\063\251\110\272\024\274\017\275\121" +
81.2376 - "\302\053\344\112\345\114\346\055\001\001\000\002\001" +
81.2377 - "\001\000\004\066\u0243\001\001\000\002\001\001\000\014" +
81.2378 - "\027\045\102\u0144\103\u0146\140\u0145\152\u0245\001\001\000" +
81.2379 - "\002\001\001\000\002\001\001\000\052\026\231\027\202" +
81.2380 - "\030\224\031\u019b\032\201\033\213\034\211\035\210\036" +
81.2381 - "\217\042\222\044\225\054\u0248\103\221\154\220\155\215" +
81.2382 - "\160\227\163\205\164\176\255\207\261\200\001\001\000" +
81.2383 - "\004\315\u0249\001\001\000\002\001\001\000\002\001\001" +
81.2384 - "\000\002\001\001\000\002\001\001\000\016\026\u0256\027" +
81.2385 - "\202\030\224\103\221\163\205\164\176\001\001\000\124" +
81.2386 - "\002\124\003\062\004\054\005\101\006\102\011\105\012" +
81.2387 - "\u015a\013\066\016\052\020\123\022\060\023\061\025\117" +
81.2388 - "\072\076\073\023\074\072\105\070\106\036\107\071\110" +
81.2389 - "\103\114\107\117\115\120\077\121\106\134\113\136\064" +
81.2390 - "\144\065\170\122\174\100\175\111\176\056\250\063\251" +
81.2391 - "\110\272\024\274\017\275\121\302\053\343\u0250\344\112" +
81.2392 - "\345\114\346\055\001\001\000\002\001\001\000\002\001" +
81.2393 - "\001\000\002\001\001\000\016\026\u0253\027\202\030\224" +
81.2394 - "\103\221\163\205\164\176\001\001\000\002\001\001\000" +
81.2395 - "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
81.2396 - "\001\001\000\002\001\001\000\020\021\u025a\026\u011b\027" +
81.2397 - "\202\030\224\103\221\163\205\164\176\001\001\000\002" +
81.2398 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.2399 - "\001\000\010\027\045\140\u025f\141\u0260\001\001\000\002" +
81.2400 - "\001\001\000\002\001\001\000\002\001\001\000\006\177" +
81.2401 - "\u0263\200\140\001\001\000\004\145\u0264\001\001\000\002" +
81.2402 - "\001\001\000\042\017\u026c\111\u0272\112\u0268\201\u0267\202" +
81.2403 - "\u0271\203\u0275\204\u027b\205\u026f\206\u026b\207\u0277\211\u027a" +
81.2404 - "\217\u026d\221\u0270\222\u0276\223\u027d\224\u027e\001\001\000" +
81.2405 - "\050\026\231\027\202\030\224\031\u02e0\032\201\033\213" +
81.2406 - "\034\211\035\210\036\217\042\222\044\225\103\221\154" +
81.2407 - "\220\155\215\160\227\163\205\164\176\255\207\261\200" +
81.2408 - "\001\001\000\002\001\001\000\004\113\u02dd\001\001\000" +
81.2409 - "\002\001\001\000\022\021\u02d3\026\u011b\027\202\030\224" +
81.2410 - "\103\221\163\205\164\176\247\u02d0\001\001\000\002\001" +
81.2411 - "\001\000\002\001\001\000\002\001\001\000\006\215\u02cb" +
81.2412 - "\216\u02ca\001\001\000\002\001\001\000\002\001\001\000" +
81.2413 - "\002\001\001\000\002\001\001\000\050\026\231\027\202" +
81.2414 - "\030\224\031\u02c3\032\201\033\213\034\211\035\210\036" +
81.2415 - "\217\042\222\044\225\103\221\154\220\155\215\160\227" +
81.2416 - "\163\205\164\176\255\207\261\200\001\001\000\050\026" +
81.2417 - "\231\027\202\030\224\031\u02c0\032\201\033\213\034\211" +
81.2418 - "\035\210\036\217\042\222\044\225\103\221\154\220\155" +
81.2419 - "\215\160\227\163\205\164\176\255\207\261\200\001\001" +
81.2420 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.2421 - "\002\001\001\000\020\021\u0294\026\u011b\027\202\030\224" +
81.2422 - "\103\221\163\205\164\176\001\001\000\002\001\001\000" +
81.2423 - "\002\001\001\000\004\231\u027f\001\001\000\002\001\001" +
81.2424 - "\000\002\001\001\000\002\001\001\000\056\026\u0285\027" +
81.2425 - "\202\030\224\033\310\034\211\035\210\036\217\042\222" +
81.2426 - "\044\225\103\221\154\220\155\215\160\227\163\205\164" +
81.2427 - "\176\166\u0284\167\u012c\225\u0281\226\u0282\232\u0283\255\207" +
81.2428 - "\261\200\001\001\000\002\001\001\000\002\001\001\000" +
81.2429 - "\002\001\001\000\002\001\001\000\006\211\u0124\213\u0136" +
81.2430 - "\001\001\000\046\026\337\027\202\030\224\033\310\034" +
81.2431 - "\211\035\210\036\217\042\222\044\225\103\221\154\220" +
81.2432 - "\155\215\160\227\163\205\164\176\167\336\255\207\261" +
81.2433 - "\200\001\001\000\002\001\001\000\050\026\u012d\027\202" +
81.2434 - "\030\224\033\310\034\211\035\210\036\217\042\222\044" +
81.2435 - "\225\103\221\154\220\155\215\160\227\163\205\164\176" +
81.2436 - "\166\u028a\167\u012c\255\207\261\200\001\001\000\002\001" +
81.2437 - "\001\000\002\001\001\000\020\026\u028f\027\202\030\224" +
81.2438 - "\103\221\163\205\164\176\226\u0290\001\001\000\002\001" +
81.2439 - "\001\000\006\227\u028e\230\u0117\001\001\000\002\001\001" +
81.2440 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.2441 - "\006\227\u0293\230\u0117\001\001\000\002\001\001\000\002" +
81.2442 - "\001\001\000\004\214\u0297\001\001\000\004\173\u029b\001" +
81.2443 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.2444 - "\000\002\001\001\000\020\006\102\023\u0110\170\u014e\233" +
81.2445 - "\u029e\234\u029d\235\u02a0\237\u02a1\001\001\000\002\001\001" +
81.2446 - "\000\006\173\u02b4\236\u02b3\001\001\000\002\001\001\000" +
81.2447 - "\004\027\u02a3\001\001\000\002\001\001\000\004\173\u02a2" +
81.2448 - "\001\001\000\004\170\u014e\001\001\000\002\001\001\000" +
81.2449 - "\004\173\u02a5\001\001\000\010\170\u014e\243\u02a8\244\u02a6" +
81.2450 - "\001\001\000\002\001\001\000\060\026\246\027\202\030" +
81.2451 - "\224\031\345\032\201\033\256\034\211\035\210\036\217" +
81.2452 - "\042\222\044\225\103\221\154\220\155\215\160\227\161" +
81.2453 - "\u02ad\163\205\164\176\167\244\245\251\246\343\255\207" +
81.2454 - "\261\200\001\001\000\004\244\u02a9\001\001\000\002\001" +
81.2455 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.2456 - "\000\002\001\001\000\004\173\u02af\001\001\000\020\006" +
81.2457 - "\102\023\u0110\170\u014e\233\u02b0\234\u029d\235\u02a0\237\u02a1" +
81.2458 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.2459 - "\001\000\002\001\001\000\014\006\102\023\u0110\170\u014e" +
81.2460 - "\235\u02b5\237\u02b6\001\001\000\002\001\001\000\004\173" +
81.2461 - "\u02b7\001\001\000\004\170\u014e\001\001\000\004\173\u02b9" +
81.2462 - "\001\001\000\004\170\u014e\001\001\000\002\001\001\000" +
81.2463 - "\020\021\u02bc\026\u011b\027\202\030\224\103\221\163\205" +
81.2464 - "\164\176\001\001\000\002\001\001\000\004\214\u02be\001" +
81.2465 - "\001\000\002\001\001\000\002\001\001\000\014\037\322" +
81.2466 - "\211\u027a\217\u02c2\220\u02c1\257\316\001\001\000\002\001" +
81.2467 - "\001\000\002\001\001\000\012\037\322\211\u027a\217\u02c4" +
81.2468 - "\257\316\001\001\000\002\001\001\000\050\026\231\027" +
81.2469 - "\202\030\224\031\u02c6\032\201\033\213\034\211\035\210" +
81.2470 - "\036\217\042\222\044\225\103\221\154\220\155\215\160" +
81.2471 - "\227\163\205\164\176\255\207\261\200\001\001\000\014" +
81.2472 - "\037\322\211\u027a\217\u02c2\220\u02c7\257\316\001\001\000" +
81.2473 - "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
81.2474 - "\001\001\000\002\001\001\000\004\216\u02ce\001\001\000" +
81.2475 - "\002\001\001\000\002\001\001\000\020\021\u02db\026\u011b" +
81.2476 - "\027\202\030\224\103\221\163\205\164\176\001\001\000" +
81.2477 - "\002\001\001\000\020\021\u02d4\026\u011b\027\202\030\224" +
81.2478 - "\103\221\163\205\164\176\001\001\000\002\001\001\000" +
81.2479 - "\002\001\001\000\002\001\001\000\006\076\u02da\077\u0127" +
81.2480 - "\001\001\000\006\076\u02d7\077\u0127\001\001\000\002\001" +
81.2481 - "\001\000\006\027\160\146\u02d9\001\001\000\002\001\001" +
81.2482 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.2483 - "\004\214\u02de\001\001\000\002\001\001\000\002\001\001" +
81.2484 - "\000\006\037\322\257\316\001\001\000\002\001\001\000" +
81.2485 - "\002\001\001\000\050\026\231\027\202\030\224\031\u02e5" +
81.2486 - "\032\201\033\213\034\211\035\210\036\217\042\222\044" +
81.2487 - "\225\103\221\154\220\155\215\160\227\163\205\164\176" +
81.2488 - "\255\207\261\200\001\001\000\050\026\231\027\202\030" +
81.2489 - "\224\031\u02f7\032\201\033\213\034\211\035\210\036\217" +
81.2490 - "\042\222\044\225\103\221\154\220\155\215\160\227\163" +
81.2491 - "\205\164\176\255\207\261\200\001\001\000\006\037\322" +
81.2492 - "\257\316\001\001\000\004\347\u02e8\001\001\000\002\001" +
81.2493 - "\001\000\004\350\u02e9\001\001\000\006\027\160\146\u02eb" +
81.2494 - "\001\001\000\002\001\001\000\002\001\001\000\050\026" +
81.2495 - "\231\027\202\030\224\031\u02ed\032\201\033\213\034\211" +
81.2496 - "\035\210\036\217\042\222\044\225\103\221\154\220\155" +
81.2497 - "\215\160\227\163\205\164\176\255\207\261\200\001\001" +
81.2498 - "\000\006\037\322\257\316\001\001\000\046\026\337\027" +
81.2499 - "\202\030\224\033\310\034\211\035\210\036\217\042\222" +
81.2500 - "\044\225\103\221\154\220\155\215\160\227\163\205\164" +
81.2501 - "\176\167\u02ef\255\207\261\200\001\001\000\002\001\001" +
81.2502 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.2503 - "\050\026\231\027\202\030\224\031\u02f4\032\201\033\213" +
81.2504 - "\034\211\035\210\036\217\042\222\044\225\103\221\154" +
81.2505 - "\220\155\215\160\227\163\205\164\176\255\207\261\200" +
81.2506 - "\001\001\000\006\037\322\257\316\001\001\000\002\001" +
81.2507 - "\001\000\002\001\001\000\006\037\322\257\316\001\001" +
81.2508 - "\000\002\001\001\000\002\001\001\000\004\024\u02fe\001" +
81.2509 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.2510 - "\000\030\021\u0300\026\u011b\027\202\030\224\103\221\142" +
81.2511 - "\u02ff\163\205\164\176\204\u0301\223\u027d\224\u027e\001\001" +
81.2512 - "\000\004\143\u0305\001\001\000\002\001\001\000\002\001" +
81.2513 - "\001\000\016\026\u0303\027\202\030\224\103\221\163\205" +
81.2514 - "\164\176\001\001\000\002\001\001\000\002\001\001\000" +
81.2515 - "\002\001\001\000\002\001\001\000\050\026\231\027\202" +
81.2516 - "\030\224\031\u0308\032\201\033\213\034\211\035\210\036" +
81.2517 - "\217\042\222\044\225\103\221\154\220\155\215\160\227" +
81.2518 - "\163\205\164\176\255\207\261\200\001\001\000\006\037" +
81.2519 - "\322\257\316\001\001\000\002\001\001\000\002\001\001" +
81.2520 - "\000\002\001\001\000\016\026\u030d\027\202\030\224\103" +
81.2521 - "\221\163\205\164\176\001\001\000\002\001\001\000\002" +
81.2522 - "\001\001\000\004\027\u0324\001\001\000\004\276\u0323\001" +
81.2523 - "\001\000\004\027\u0312\001\001\000\006\177\u0313\200\140" +
81.2524 - "\001\001\000\004\276\u0315\001\001\000\006\173\u0317\277" +
81.2525 - "\u0316\001\001\000\002\001\001\000\006\300\u0319\310\u0318" +
81.2526 - "\001\001\000\004\170\u014e\001\001\000\004\173\u0322\001" +
81.2527 - "\001\000\014\250\u031a\301\u031b\344\112\345\114\346\055" +
81.2528 - "\001\001\000\004\173\u0321\001\001\000\002\001\001\000" +
81.2529 - "\006\173\u0317\277\u031d\001\001\000\006\300\u031e\310\u0318" +
81.2530 - "\001\001\000\012\250\u031a\344\112\345\114\346\055\001" +
81.2531 - "\001\000\014\027\045\102\u0144\103\u0146\140\u0145\152\u0320" +
81.2532 - "\001\001\000\002\001\001\000\004\170\u014e\001\001\000" +
81.2533 - "\004\170\u014e\001\001\000\002\001\001\000\002\001\001" +
81.2534 - "\000\122\002\124\003\062\004\054\005\101\006\102\011" +
81.2535 - "\105\012\u0327\013\066\016\052\020\123\022\060\023\061" +
81.2536 - "\025\117\072\076\073\023\074\072\105\070\106\036\107" +
81.2537 - "\071\110\103\114\107\117\115\120\077\121\106\134\113" +
81.2538 - "\136\064\144\065\170\122\174\100\175\111\176\056\250" +
81.2539 - "\063\251\110\272\024\274\017\275\121\302\053\344\112" +
81.2540 - "\345\114\346\055\001\001\000\002\001\001\000\004\066" +
81.2541 - "\u0328\001\001\000\002\001\001\000\014\027\045\102\u0144" +
81.2542 - "\103\u0146\140\u0145\152\u032a\001\001\000\002\001\001\000" +
81.2543 - "\002\001\001\000\002\001\001\000\002\001\001\000\016" +
81.2544 - "\026\u0348\027\202\030\224\103\221\163\205\164\176\001" +
81.2545 - "\001\000\110\002\124\003\062\004\054\005\101\006\102" +
81.2546 - "\007\u0333\010\u0337\011\u0334\020\123\022\060\023\061\025" +
81.2547 - "\117\072\u0332\073\023\105\070\106\036\114\107\117\115" +
81.2548 - "\120\077\134\113\136\064\144\065\170\122\174\100\175" +
81.2549 - "\111\176\056\250\063\272\024\274\017\275\121\302\053" +
81.2550 - "\343\u0331\344\112\345\114\346\055\001\001\000\004\027" +
81.2551 - "\u0310\001\001\000\002\001\001\000\002\001\001\000\004" +
81.2552 - "\014\u033f\001\001\000\002\001\001\000\002\001\001\000" +
81.2553 - "\006\027\045\140\042\001\001\000\102\002\124\003\062" +
81.2554 - "\004\054\005\101\006\102\011\u0338\020\123\022\060\023" +
81.2555 - "\061\025\117\072\u0332\073\023\105\070\106\036\114\107" +
81.2556 - "\117\115\120\077\134\113\136\064\144\065\170\122\174" +
81.2557 - "\100\175\111\176\056\250\063\272\024\274\017\275\121" +
81.2558 - "\302\053\344\112\345\114\346\055\001\001\000\002\001" +
81.2559 - "\001\000\006\027\045\140\u033a\001\001\000\002\001\001" +
81.2560 - "\000\002\001\001\000\004\027\u033d\001\001\000\002\001" +
81.2561 - "\001\000\002\001\001\000\002\001\001\000\106\002\124" +
81.2562 - "\003\062\004\054\005\101\006\102\007\u0341\010\u0337\011" +
81.2563 - "\u0334\020\123\022\060\023\061\025\117\072\u0332\073\023" +
81.2564 - "\105\070\106\036\114\107\117\115\120\077\134\113\136" +
81.2565 - "\064\144\065\170\122\174\100\175\111\176\056\250\063" +
81.2566 - "\272\024\274\017\275\121\302\053\344\112\345\114\346" +
81.2567 - "\055\001\001\000\002\001\001\000\010\027\045\140\u025f" +
81.2568 - "\141\u0343\001\001\000\002\001\001\000\004\343\u0250\001" +
81.2569 - "\001\000\004\027\u0346\001\001\000\002\001\001\000\002" +
81.2570 - "\001\001\000\002\001\001\000\002\001\001\000\124\002" +
81.2571 - "\124\003\062\004\054\005\101\006\102\011\105\012\u015a" +
81.2572 - "\013\066\016\052\020\123\022\060\023\061\025\117\072" +
81.2573 - "\076\073\023\074\072\105\070\106\036\107\071\110\103" +
81.2574 - "\114\107\117\115\120\077\121\106\134\113\136\064\144" +
81.2575 - "\065\170\122\174\100\175\111\176\056\250\063\251\110" +
81.2576 - "\272\024\274\017\275\121\302\053\343\u0250\344\112\345" +
81.2577 - "\114\346\055\001\001\000\004\170\u014e\001\001\000\006" +
81.2578 - "\076\u034d\077\u0127\001\001\000\002\001\001\000\016\026" +
81.2579 - "\u034f\027\202\030\224\103\221\163\205\164\176\001\001" +
81.2580 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.2581 - "\006\027\045\140\u0353\001\001\000\002\001\001\000\016" +
81.2582 - "\015\u035b\016\u0358\072\u035d\074\u0356\107\u035c\121\u0359\001" +
81.2583 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.2584 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.2585 - "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
81.2586 - "\027\u035f\001\001\000\002\001\001\000\006\173\u014d\312" +
81.2587 - "\u014c\001\001\000\004\027\u0362\001\001\000\002\001\001" +
81.2588 - "\000\122\002\124\003\062\004\054\005\101\006\102\011" +
81.2589 - "\105\012\u0327\013\066\016\052\020\123\022\060\023\061" +
81.2590 - "\025\117\072\076\073\023\074\072\105\070\106\036\107" +
81.2591 - "\071\110\103\114\107\117\115\120\077\121\106\134\113" +
81.2592 - "\136\064\144\065\170\122\174\100\175\111\176\056\250" +
81.2593 - "\063\251\110\272\024\274\017\275\121\302\053\344\112" +
81.2594 - "\345\114\346\055\001\001\000\006\076\u0365\077\u0127\001" +
81.2595 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.2596 - "\000\006\027\045\140\u03b2\001\001\000\002\001\001\000" +
81.2597 - "\004\027\u038c\001\001\000\002\001\001\000\002\001\001" +
81.2598 - "\000\002\001\001\000\002\001\001\000\016\026\u0370\027" +
81.2599 - "\202\030\224\103\221\163\205\164\176\001\001\000\002" +
81.2600 - "\001\001\000\002\001\001\000\004\027\u0387\001\001\000" +
81.2601 - "\004\027\u037e\001\001\000\012\027\045\102\u0375\103\u0146" +
81.2602 - "\140\u0145\001\001\000\006\076\u0376\077\u0127\001\001\000" +
81.2603 - "\002\001\001\000\016\026\u0378\027\202\030\224\103\221" +
81.2604 - "\163\205\164\176\001\001\000\004\341\u037a\001\001\000" +
81.2605 - "\016\026\u037d\027\202\030\224\103\221\163\205\164\176" +
81.2606 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.2607 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.2608 - "\000\016\026\u0381\027\202\030\224\103\221\163\205\164" +
81.2609 - "\176\001\001\000\002\001\001\000\002\001\001\000\066" +
81.2610 - "\026\246\027\202\030\224\031\247\032\201\033\256\034" +
81.2611 - "\211\035\210\036\217\042\222\044\225\103\221\154\220" +
81.2612 - "\155\215\160\227\161\245\163\205\164\176\165\255\167" +
81.2613 - "\244\245\251\246\243\253\254\254\253\255\207\261\200" +
81.2614 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.2615 - "\001\000\006\076\u0388\077\u0127\001\001\000\004\341\u0389" +
81.2616 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.2617 - "\001\000\006\200\u038d\337\u038f\001\001\000\002\001\001" +
81.2618 - "\000\012\006\102\023\143\240\146\241\147\001\001\000" +
81.2619 - "\002\001\001\000\022\111\u0397\112\u0393\204\u039d\206\u0395" +
81.2620 - "\223\u027d\224\u027e\340\u0394\342\u039a\001\001\000\002\001" +
81.2621 - "\001\000\002\001\001\000\004\113\u03ac\001\001\000\002" +
81.2622 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.2623 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.2624 - "\000\002\001\001\000\020\021\u039e\026\u011b\027\202\030" +
81.2625 - "\224\103\221\163\205\164\176\001\001\000\002\001\001" +
81.2626 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.2627 - "\020\021\u03a2\026\u011b\027\202\030\224\103\221\163\205" +
81.2628 - "\164\176\001\001\000\002\001\001\000\002\001\001\000" +
81.2629 - "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
81.2630 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.2631 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.2632 - "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
81.2633 - "\002\001\001\000\002\001\001\000\016\026\u03b5\027\202" +
81.2634 - "\030\224\103\221\163\205\164\176\001\001\000\106\002" +
81.2635 - "\124\003\062\004\054\005\101\006\102\007\u0333\010\u0337" +
81.2636 - "\011\u0334\020\123\022\060\023\061\025\117\072\u0332\073" +
81.2637 - "\023\105\070\106\036\114\107\117\115\120\077\134\113" +
81.2638 - "\136\064\144\065\170\122\174\100\175\111\176\056\250" +
81.2639 - "\063\272\024\274\017\275\121\302\053\344\112\345\114" +
81.2640 - "\346\055\001\001\000\002\001\001\000\002\001\001\000" +
81.2641 - "\002\001\001\000\002\001\001\000\020\026\u03ba\027\202" +
81.2642 - "\030\224\103\221\116\u03bb\163\205\164\176\001\001\000" +
81.2643 - "\002\001\001\000\002\001\001\000\016\026\u03be\027\202" +
81.2644 - "\030\224\103\221\163\205\164\176\001\001\000\002\001" +
81.2645 - "\001\000\002\001\001\000\016\026\u03c1\027\202\030\224" +
81.2646 - "\103\221\163\205\164\176\001\001\000\002\001\001\000" +
81.2647 - "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
81.2648 - "\027\045\140\u03c6\001\001\000\002\001\001\000\002\001" +
81.2649 - "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
81.2650 - "\000\034\005\025\072\034\073\023\074\037\105\030\106" +
81.2651 - "\036\107\022\120\032\130\u03cb\136\031\151\040\272\024" +
81.2652 - "\274\017\001\001\000\004\173\u03cc\001\001\000\004\170" +
81.2653 - "\u014e\001\001\000\004\170\u014e\001\001\000\002\001\001" +
81.2654 - "\000\002\001\001\000\002\001\001\000\054\026\231\027" +
81.2655 - "\u03d4\030\224\031\u03d5\032\201\033\213\034\211\035\210" +
81.2656 - "\036\217\042\222\044\225\103\221\154\220\155\215\160" +
81.2657 - "\227\163\205\164\176\171\u03d3\172\u03d2\255\207\261\200" +
81.2658 - "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
81.2659 - "\001\000\006\037\322\257\316\001\001\000\050\026\231" +
81.2660 - "\027\202\030\224\031\u03d7\032\201\033\213\034\211\035" +
81.2661 - "\210\036\217\042\222\044\225\103\221\154\220\155\215" +
81.2662 - "\160\227\163\205\164\176\255\207\261\200\001\001\000" +
81.2663 - "\006\037\322\257\316\001\001\000\052\026\231\027\u03d4" +
81.2664 - "\030\224\031\u03d5\032\201\033\213\034\211\035\210\036" +
81.2665 - "\217\042\222\044\225\103\221\154\220\155\215\160\227" +
81.2666 - "\163\205\164\176\172\u03db\255\207\261\200\001\001\000" +
81.2667 - "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
81.2668 - "\001\001" });
81.2669 -
81.2670 - /** Access to <code>reduce_goto</code> table. */
81.2671 - public short[][] reduce_table() {return _reduce_table;}
81.2672 -
81.2673 - /** Instance of action encapsulation class. */
81.2674 - protected CUP$Ada95ASTParser$actions action_obj;
81.2675 -
81.2676 - /** Action encapsulation object initializer. */
81.2677 - protected void init_actions()
81.2678 - {
81.2679 - action_obj = new CUP$Ada95ASTParser$actions(this);
81.2680 - }
81.2681 -
81.2682 - /** Invoke a user supplied parse action. */
81.2683 - public java_cup.runtime.Symbol do_action(
81.2684 - int act_num,
81.2685 - java_cup.runtime.lr_parser parser,
81.2686 - java.util.Stack stack,
81.2687 - int top)
81.2688 - throws java.lang.Exception
81.2689 - {
81.2690 - /* call code in generated class */
81.2691 - return action_obj.CUP$Ada95ASTParser$do_action(act_num, parser, stack, top);
81.2692 - }
81.2693 -
81.2694 - /** Indicates start state. */
81.2695 - public int start_state() {return 0;}
81.2696 - /** Indicates start production. */
81.2697 - public int start_production() {return 0;}
81.2698 -
81.2699 - /** <code>EOF</code> Symbol index. */
81.2700 - public int EOF_sym() {return 0;}
81.2701 -
81.2702 - /** <code>error</code> Symbol index. */
81.2703 - public int error_sym() {return 1;}
81.2704 -
81.2705 -
81.2706 -
81.2707 - protected final static Integer PUBLIC = new Integer(BodyDeclaration.Modifier.PUBLIC);
81.2708 - protected final static Integer PRIVATE = new Integer(BodyDeclaration.Modifier.PRIVATE);
81.2709 - protected final static Integer TAGGED = new Integer(BodyDeclaration.Modifier.TAGGED);
81.2710 - protected final static Integer LIMITED = new Integer(BodyDeclaration.Modifier.LIMITED);
81.2711 - protected final static Integer ABSTRACT = new Integer(BodyDeclaration.Modifier.ABSTRACT);
81.2712 -
81.2713 - private ErrorStrategy defaultStrategy = new DefaultErrorStrategy();;
81.2714 - private ErrorStrategy errorStrategy = defaultStrategy;
81.2715 -
81.2716 - private ParserErrorHandler errorHandler = null;
81.2717 -
81.2718 - public void setErrorHandler (ParserErrorHandler handler) {
81.2719 - this.errorHandler = handler;
81.2720 - }
81.2721 -
81.2722 - public ParserErrorHandler getErrorHandler () {
81.2723 - return this.errorHandler;
81.2724 - }
81.2725 -
81.2726 -/*
81.2727 - public Dispatch createDispatch(VariableBase dispatcher, VariableBase property) {
81.2728 - Dispatch dispatch = null;
81.2729 - if (property instanceof Variable) {
81.2730 - dispatch = new FieldAccess(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (Variable)property);
81.2731 - } else if (property instanceof FunctionInvocation) {
81.2732 - dispatch = new MethodInvocation(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (FunctionInvocation)property);
81.2733 - } else if (property instanceof ProcedureInvocation) {
81.2734 - dispatch = new MethodInvocation(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (ProcedureInvocation)property);
81.2735 - } else {
81.2736 - throw new IllegalArgumentException();
81.2737 - }
81.2738 - return dispatch;
81.2739 - }
81.2740 -*/
81.2741 -
81.2742 - public List setModifier(List items, int modifier) {
81.2743 - List list = new LinkedList();
81.2744 - for (Iterator iter = items.iterator(); iter.hasNext();) {
81.2745 - final Object next = iter.next();
81.2746 - if (next instanceof TypeDeclaration) {
81.2747 - ((TypeDeclaration)next).setModifier(modifier);
81.2748 - list.add(next);
81.2749 - } else if (next instanceof MethodDeclaration) {
81.2750 - ((MethodDeclaration)next).setModifier(modifier);
81.2751 - list.add(next);
81.2752 - } else if (next instanceof FieldsDeclaration) {
81.2753 - ((FieldsDeclaration)next).setModifier(modifier);
81.2754 - list.add(next);
81.2755 - } else {
81.2756 - list.add(next);
81.2757 - }
81.2758 - }
81.2759 - return list;
81.2760 - }
81.2761 -
81.2762 - interface ErrorStrategy {
81.2763 - public boolean errorRecovery(boolean debug) throws Exception;
81.2764 - }
81.2765 -
81.2766 - class DefaultErrorStrategy implements ErrorStrategy {
81.2767 -
81.2768 - public boolean errorRecovery(boolean debug) throws Exception {
81.2769 - return Ada95ASTParser.super.error_recovery(debug);
81.2770 - }
81.2771 - }
81.2772 -
81.2773 - /**
81.2774 - * Attempt to recover from a syntax error. This returns false if recovery fails,
81.2775 - * true if it succeeds.
81.2776 - * @param debug should we produce debugging messages as we parse.
81.2777 - */
81.2778 - @Override
81.2779 - protected boolean error_recovery(boolean debug) throws java.lang.Exception {
81.2780 - return errorStrategy.errorRecovery(debug);
81.2781 - }
81.2782 -
81.2783 - /**
81.2784 - * Report a non fatal error (or warning). This method takes a message
81.2785 - * string and an additional object (to be used by specializations implemented in subclasses).
81.2786 - * The super class prints the message to System.err.
81.2787 - * @param message an error message.
81.2788 - * @param info an extra object reserved for use by specialized subclasses.
81.2789 - */
81.2790 - @Override
81.2791 - public void report_error(String message, Object info) {
81.2792 - System.out.print("report_eror" + message);
81.2793 - }
81.2794 -
81.2795 - /**
81.2796 - * This method is called when a syntax error has been detected and recovery is about to be invoked.
81.2797 - * The super class just emit a "Syntax error" error message.
81.2798 - * @param cur_token the current lookahead Symbol.
81.2799 - */
81.2800 - @Override
81.2801 - public void syntax_error(java_cup.runtime.Symbol cur_token) {
81.2802 - java_cup.runtime.Symbol symbol = (java_cup.runtime.Symbol)stack.peek();
81.2803 - int state = symbol.parse_state;
81.2804 - short[] rowOfProbe = action_tab[state];
81.2805 - if (errorHandler != null) {
81.2806 - errorHandler.handleError(ParserErrorHandler.Type.SYNTAX_ERROR, rowOfProbe, cur_token, symbol);
81.2807 - }
81.2808 - }
81.2809 -
81.2810 - /**
81.2811 - * This method is called when a syntax error has been detected during action.
81.2812 - * @param message an error message.
81.2813 - */
81.2814 - public void message_error(String message) {
81.2815 - java_cup.runtime.Symbol symbol = (java_cup.runtime.Symbol)stack.peek();
81.2816 - if (errorHandler != null) {
81.2817 - errorHandler.handleError(ParserErrorHandler.Type.SYNTAX_ERROR, symbol, message);
81.2818 - }
81.2819 - }
81.2820 -
81.2821 - /**
81.2822 - * Report a fatal error. This method takes a message string and an additional object
81.2823 - * (to be used by specializations implemented in subclasses).
81.2824 - * The super class reports the error then throws an exception.
81.2825 - * @param message an error message.
81.2826 - * @param info an extra object reserved for use by specialized subclasses.
81.2827 - */
81.2828 - @Override
81.2829 - public void report_fatal_error(String message, Object info) throws Exception {
81.2830 - if (errorHandler != null) {
81.2831 - errorHandler.handleError(ParserErrorHandler.Type.FATAL_PARSER_ERROR, null, cur_token, null);
81.2832 - }
81.2833 - }
81.2834 -
81.2835 - @Override
81.2836 - protected int error_sync_size() {
81.2837 - return 1;
81.2838 - }
81.2839 -
81.2840 -
81.2841 -}
81.2842 -
81.2843 -/** Cup generated class to encapsulate user supplied action code.*/
81.2844 -class CUP$Ada95ASTParser$actions {
81.2845 - private final Ada95ASTParser parser;
81.2846 -
81.2847 - /** Constructor */
81.2848 - CUP$Ada95ASTParser$actions(Ada95ASTParser parser) {
81.2849 - this.parser = parser;
81.2850 - }
81.2851 -
81.2852 - /** Method with the actual generated action code. */
81.2853 - public final java_cup.runtime.Symbol CUP$Ada95ASTParser$do_action(
81.2854 - int CUP$Ada95ASTParser$act_num,
81.2855 - java_cup.runtime.lr_parser CUP$Ada95ASTParser$parser,
81.2856 - java.util.Stack CUP$Ada95ASTParser$stack,
81.2857 - int CUP$Ada95ASTParser$top)
81.2858 - throws java.lang.Exception
81.2859 - {
81.2860 - /* Symbol object for return from actions */
81.2861 - java_cup.runtime.Symbol CUP$Ada95ASTParser$result;
81.2862 -
81.2863 - /* select the action based on the action number */
81.2864 - switch (CUP$Ada95ASTParser$act_num)
81.2865 - {
81.2866 - /*. . . . . . . . . . . . . . . . . . . .*/
81.2867 - case 515: // code_statement ::= qualified_expression SEMICOLON
81.2868 - {
81.2869 - Statement RESULT =null;
81.2870 - int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.2871 - int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.2872 - Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.2873 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.2874 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.2875 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.2876 -
81.2877 - RESULT = new CodeStatement (exprleft, endright, expr);
81.2878 -
81.2879 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("code_statement",93, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.2880 - }
81.2881 - return CUP$Ada95ASTParser$result;
81.2882 -
81.2883 - /*. . . . . . . . . . . . . . . . . . . .*/
81.2884 - case 514: // address_spec ::= FOR subtype_mark USE AT expression SEMICOLON
81.2885 - {
81.2886 - Object RESULT =null;
81.2887 -
81.2888 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("address_spec",228, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.2889 - }
81.2890 - return CUP$Ada95ASTParser$result;
81.2891 -
81.2892 - /*. . . . . . . . . . . . . . . . . . . .*/
81.2893 - case 513: // comp_loc_s ::= comp_loc_s subtype_mark AT expression RANGE range SEMICOLON
81.2894 - {
81.2895 - Object RESULT =null;
81.2896 -
81.2897 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("comp_loc_s",230, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.2898 - }
81.2899 - return CUP$Ada95ASTParser$result;
81.2900 -
81.2901 - /*. . . . . . . . . . . . . . . . . . . .*/
81.2902 - case 512: // comp_loc_s ::=
81.2903 - {
81.2904 - Object RESULT =null;
81.2905 -
81.2906 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("comp_loc_s",230, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.2907 - }
81.2908 - return CUP$Ada95ASTParser$result;
81.2909 -
81.2910 - /*. . . . . . . . . . . . . . . . . . . .*/
81.2911 - case 511: // align_opt ::= AT MOD expression SEMICOLON
81.2912 - {
81.2913 - Object RESULT =null;
81.2914 -
81.2915 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("align_opt",229, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.2916 - }
81.2917 - return CUP$Ada95ASTParser$result;
81.2918 -
81.2919 - /*. . . . . . . . . . . . . . . . . . . .*/
81.2920 - case 510: // align_opt ::=
81.2921 - {
81.2922 - Object RESULT =null;
81.2923 -
81.2924 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("align_opt",229, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.2925 - }
81.2926 - return CUP$Ada95ASTParser$result;
81.2927 -
81.2928 - /*. . . . . . . . . . . . . . . . . . . .*/
81.2929 - case 509: // record_type_spec ::= FOR subtype_mark USE RECORD align_opt comp_loc_s END RECORD SEMICOLON
81.2930 - {
81.2931 - Object RESULT =null;
81.2932 -
81.2933 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("record_type_spec",227, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-8)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.2934 - }
81.2935 - return CUP$Ada95ASTParser$result;
81.2936 -
81.2937 - /*. . . . . . . . . . . . . . . . . . . .*/
81.2938 - case 508: // attrib_def ::= FOR subtype_mark USE expression SEMICOLON
81.2939 - {
81.2940 - Object RESULT =null;
81.2941 -
81.2942 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("attrib_def",226, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.2943 - }
81.2944 - return CUP$Ada95ASTParser$result;
81.2945 -
81.2946 - /*. . . . . . . . . . . . . . . . . . . .*/
81.2947 - case 507: // rep_spec ::= address_spec
81.2948 - {
81.2949 - Object RESULT =null;
81.2950 -
81.2951 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("rep_spec",166, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.2952 - }
81.2953 - return CUP$Ada95ASTParser$result;
81.2954 -
81.2955 - /*. . . . . . . . . . . . . . . . . . . .*/
81.2956 - case 506: // rep_spec ::= record_type_spec
81.2957 - {
81.2958 - Object RESULT =null;
81.2959 -
81.2960 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("rep_spec",166, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.2961 - }
81.2962 - return CUP$Ada95ASTParser$result;
81.2963 -
81.2964 - /*. . . . . . . . . . . . . . . . . . . .*/
81.2965 - case 505: // rep_spec ::= attrib_def
81.2966 - {
81.2967 - Object RESULT =null;
81.2968 -
81.2969 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("rep_spec",166, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.2970 - }
81.2971 - return CUP$Ada95ASTParser$result;
81.2972 -
81.2973 - /*. . . . . . . . . . . . . . . . . . . .*/
81.2974 - case 504: // generic_inst ::= NEW name
81.2975 - {
81.2976 - Object RESULT =null;
81.2977 -
81.2978 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_inst",225, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.2979 - }
81.2980 - return CUP$Ada95ASTParser$result;
81.2981 -
81.2982 - /*. . . . . . . . . . . . . . . . . . . .*/
81.2983 - case 503: // generic_package_instantiation ::= PACKAGE compound_name IS generic_inst
81.2984 - {
81.2985 - Object RESULT =null;
81.2986 -
81.2987 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_package_instantiation",184, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.2988 - }
81.2989 - return CUP$Ada95ASTParser$result;
81.2990 -
81.2991 - /*. . . . . . . . . . . . . . . . . . . .*/
81.2992 - case 502: // generic_subp_inst ::= subprogram_specification IS generic_inst
81.2993 - {
81.2994 - SubprogramSpecification RESULT =null;
81.2995 - int subprogleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.2996 - int subprogright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.2997 - SubprogramSpecification subprog = (SubprogramSpecification)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.2998 -
81.2999 - RESULT = subprog;
81.3000 -
81.3001 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_subp_inst",57, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3002 - }
81.3003 - return CUP$Ada95ASTParser$result;
81.3004 -
81.3005 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3006 - case 501: // generic_derived_type ::= ABSTRACT NEW subtype_indication WITH PRIVATE
81.3007 - {
81.3008 - Object RESULT =null;
81.3009 -
81.3010 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_derived_type",224, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3011 - }
81.3012 - return CUP$Ada95ASTParser$result;
81.3013 -
81.3014 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3015 - case 500: // generic_derived_type ::= NEW subtype_indication WITH PRIVATE
81.3016 - {
81.3017 - Object RESULT =null;
81.3018 -
81.3019 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_derived_type",224, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3020 - }
81.3021 - return CUP$Ada95ASTParser$result;
81.3022 -
81.3023 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3024 - case 499: // generic_derived_type ::= NEW subtype_indication
81.3025 - {
81.3026 - Object RESULT =null;
81.3027 -
81.3028 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_derived_type",224, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3029 - }
81.3030 - return CUP$Ada95ASTParser$result;
81.3031 -
81.3032 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3033 - case 498: // generic_type_def ::= generic_derived_type
81.3034 - {
81.3035 - Object RESULT =null;
81.3036 -
81.3037 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3038 - }
81.3039 - return CUP$Ada95ASTParser$result;
81.3040 -
81.3041 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3042 - case 497: // generic_type_def ::= private_type_declaration
81.3043 - {
81.3044 - Object RESULT =null;
81.3045 -
81.3046 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3047 - }
81.3048 - return CUP$Ada95ASTParser$result;
81.3049 -
81.3050 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3051 - case 496: // generic_type_def ::= access_type
81.3052 - {
81.3053 - Object RESULT =null;
81.3054 -
81.3055 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3056 - }
81.3057 - return CUP$Ada95ASTParser$result;
81.3058 -
81.3059 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3060 - case 495: // generic_type_def ::= array_type
81.3061 - {
81.3062 - Object RESULT =null;
81.3063 -
81.3064 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3065 - }
81.3066 - return CUP$Ada95ASTParser$result;
81.3067 -
81.3068 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3069 - case 494: // generic_type_def ::= DIGITS BOX
81.3070 - {
81.3071 - Object RESULT =null;
81.3072 -
81.3073 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3074 - }
81.3075 - return CUP$Ada95ASTParser$result;
81.3076 -
81.3077 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3078 - case 493: // generic_type_def ::= DELTA BOX DIGITS BOX
81.3079 - {
81.3080 - Object RESULT =null;
81.3081 -
81.3082 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3083 - }
81.3084 - return CUP$Ada95ASTParser$result;
81.3085 -
81.3086 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3087 - case 492: // generic_type_def ::= DELTA BOX
81.3088 - {
81.3089 - Object RESULT =null;
81.3090 -
81.3091 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3092 - }
81.3093 - return CUP$Ada95ASTParser$result;
81.3094 -
81.3095 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3096 - case 491: // generic_type_def ::= MOD BOX
81.3097 - {
81.3098 - Object RESULT =null;
81.3099 -
81.3100 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3101 - }
81.3102 - return CUP$Ada95ASTParser$result;
81.3103 -
81.3104 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3105 - case 490: // generic_type_def ::= RANGE BOX
81.3106 - {
81.3107 - Object RESULT =null;
81.3108 -
81.3109 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3110 - }
81.3111 - return CUP$Ada95ASTParser$result;
81.3112 -
81.3113 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3114 - case 489: // generic_type_def ::= LPAREN BOX RPAREN
81.3115 - {
81.3116 - Object RESULT =null;
81.3117 -
81.3118 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3119 - }
81.3120 - return CUP$Ada95ASTParser$result;
81.3121 -
81.3122 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3123 - case 488: // subp_default ::= IS BOX
81.3124 - {
81.3125 - Object RESULT =null;
81.3126 -
81.3127 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subp_default",223, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3128 - }
81.3129 - return CUP$Ada95ASTParser$result;
81.3130 -
81.3131 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3132 - case 487: // subp_default ::= IS name
81.3133 - {
81.3134 - Object RESULT =null;
81.3135 -
81.3136 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subp_default",223, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3137 - }
81.3138 - return CUP$Ada95ASTParser$result;
81.3139 -
81.3140 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3141 - case 486: // subp_default ::=
81.3142 - {
81.3143 - Object RESULT =null;
81.3144 -
81.3145 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subp_default",223, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3146 - }
81.3147 - return CUP$Ada95ASTParser$result;
81.3148 -
81.3149 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3150 - case 485: // generic_discrim_part_opt ::= LPAREN BOX RPAREN
81.3151 - {
81.3152 - Object RESULT =null;
81.3153 -
81.3154 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_discrim_part_opt",221, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3155 - }
81.3156 - return CUP$Ada95ASTParser$result;
81.3157 -
81.3158 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3159 - case 484: // generic_discrim_part_opt ::= discrim_part
81.3160 - {
81.3161 - Object RESULT =null;
81.3162 -
81.3163 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_discrim_part_opt",221, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3164 - }
81.3165 - return CUP$Ada95ASTParser$result;
81.3166 -
81.3167 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3168 - case 483: // generic_discrim_part_opt ::=
81.3169 - {
81.3170 - Object RESULT =null;
81.3171 -
81.3172 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_discrim_part_opt",221, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3173 - }
81.3174 - return CUP$Ada95ASTParser$result;
81.3175 -
81.3176 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3177 - case 482: // generic_formal ::= use_clause
81.3178 - {
81.3179 - Object RESULT =null;
81.3180 -
81.3181 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_formal",220, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3182 - }
81.3183 - return CUP$Ada95ASTParser$result;
81.3184 -
81.3185 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3186 - case 481: // generic_formal ::= WITH PACKAGE simple_name IS NEW name SEMICOLON
81.3187 - {
81.3188 - Object RESULT =null;
81.3189 -
81.3190 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_formal",220, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3191 - }
81.3192 - return CUP$Ada95ASTParser$result;
81.3193 -
81.3194 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3195 - case 480: // generic_formal ::= WITH PACKAGE simple_name IS NEW name LPAREN BOX RPAREN SEMICOLON
81.3196 - {
81.3197 - Object RESULT =null;
81.3198 -
81.3199 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_formal",220, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-9)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3200 - }
81.3201 - return CUP$Ada95ASTParser$result;
81.3202 -
81.3203 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3204 - case 479: // generic_formal ::= WITH FUNCTION designator formal_part_opt RETURN name subp_default SEMICOLON
81.3205 - {
81.3206 - Object RESULT =null;
81.3207 -
81.3208 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_formal",220, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-7)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3209 - }
81.3210 - return CUP$Ada95ASTParser$result;
81.3211 -
81.3212 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3213 - case 478: // generic_formal ::= WITH PROCEDURE simple_name formal_part_opt subp_default SEMICOLON
81.3214 - {
81.3215 - Object RESULT =null;
81.3216 -
81.3217 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_formal",220, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3218 - }
81.3219 - return CUP$Ada95ASTParser$result;
81.3220 -
81.3221 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3222 - case 477: // generic_formal ::= TYPE simple_name generic_discrim_part_opt IS generic_type_def SEMICOLON
81.3223 - {
81.3224 - Object RESULT =null;
81.3225 -
81.3226 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_formal",220, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3227 - }
81.3228 - return CUP$Ada95ASTParser$result;
81.3229 -
81.3230 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3231 - case 476: // generic_formal ::= param SEMICOLON
81.3232 - {
81.3233 - Object RESULT =null;
81.3234 -
81.3235 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_formal",220, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3236 - }
81.3237 - return CUP$Ada95ASTParser$result;
81.3238 -
81.3239 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3240 - case 475: // generic_formal_part ::= generic_formal_part generic_formal
81.3241 - {
81.3242 - Object RESULT =null;
81.3243 -
81.3244 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_formal_part",186, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3245 - }
81.3246 - return CUP$Ada95ASTParser$result;
81.3247 -
81.3248 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3249 - case 474: // generic_formal_part ::= GENERIC
81.3250 - {
81.3251 - Object RESULT =null;
81.3252 -
81.3253 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_formal_part",186, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3254 - }
81.3255 - return CUP$Ada95ASTParser$result;
81.3256 -
81.3257 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3258 - case 473: // generic_declaration ::= generic_formal_part package_specification SEMICOLON
81.3259 - {
81.3260 - Statement RESULT =null;
81.3261 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.3262 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.3263 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.3264 -
81.3265 - RESULT = statement;
81.3266 -
81.3267 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_declaration",92, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3268 - }
81.3269 - return CUP$Ada95ASTParser$result;
81.3270 -
81.3271 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3272 - case 472: // generic_declaration ::= generic_formal_part subprogram_specification SEMICOLON
81.3273 - {
81.3274 - Statement RESULT =null;
81.3275 -
81.3276 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("generic_declaration",92, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3277 - }
81.3278 - return CUP$Ada95ASTParser$result;
81.3279 -
81.3280 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3281 - case 471: // requeue_stmt ::= REQUEUE name WITH ABORT SEMICOLON
81.3282 - {
81.3283 - Object RESULT =null;
81.3284 -
81.3285 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("requeue_stmt",177, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3286 - }
81.3287 - return CUP$Ada95ASTParser$result;
81.3288 -
81.3289 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3290 - case 470: // requeue_stmt ::= REQUEUE name SEMICOLON
81.3291 - {
81.3292 - Object RESULT =null;
81.3293 -
81.3294 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("requeue_stmt",177, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3295 - }
81.3296 - return CUP$Ada95ASTParser$result;
81.3297 -
81.3298 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3299 - case 469: // raise_statement ::= RAISE name_opt SEMICOLON
81.3300 - {
81.3301 - Statement RESULT =null;
81.3302 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.3303 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.3304 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.3305 - int exceptionNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.3306 - int exceptionNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.3307 - String exceptionName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.3308 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3309 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3310 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3311 -
81.3312 - RESULT = new RaiseStatement(tokenleft, endright, exceptionName);
81.3313 -
81.3314 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("raise_statement",91, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3315 - }
81.3316 - return CUP$Ada95ASTParser$result;
81.3317 -
81.3318 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3319 - case 468: // except_choice ::= OTHERS
81.3320 - {
81.3321 - Object RESULT =null;
81.3322 -
81.3323 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("except_choice",219, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3324 - }
81.3325 - return CUP$Ada95ASTParser$result;
81.3326 -
81.3327 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3328 - case 467: // except_choice ::= name
81.3329 - {
81.3330 - Object RESULT =null;
81.3331 -
81.3332 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("except_choice",219, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3333 - }
81.3334 - return CUP$Ada95ASTParser$result;
81.3335 -
81.3336 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3337 - case 466: // except_choice_s ::= except_choice_s BAR except_choice
81.3338 - {
81.3339 - Object RESULT =null;
81.3340 -
81.3341 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("except_choice_s",218, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3342 - }
81.3343 - return CUP$Ada95ASTParser$result;
81.3344 -
81.3345 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3346 - case 465: // except_choice_s ::= except_choice
81.3347 - {
81.3348 - Object RESULT =null;
81.3349 -
81.3350 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("except_choice_s",218, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3351 - }
81.3352 - return CUP$Ada95ASTParser$result;
81.3353 -
81.3354 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3355 - case 464: // exception_handler ::= WHEN IDENTIFIER COLON except_choice_s ARROW sequence_of_statements
81.3356 - {
81.3357 - Object RESULT =null;
81.3358 -
81.3359 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("exception_handler",217, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3360 - }
81.3361 - return CUP$Ada95ASTParser$result;
81.3362 -
81.3363 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3364 - case 463: // exception_handler ::= WHEN except_choice_s ARROW sequence_of_statements
81.3365 - {
81.3366 - Object RESULT =null;
81.3367 -
81.3368 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("exception_handler",217, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3369 - }
81.3370 - return CUP$Ada95ASTParser$result;
81.3371 -
81.3372 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3373 - case 462: // except_handler_part ::= except_handler_part exception_handler
81.3374 - {
81.3375 - Object RESULT =null;
81.3376 -
81.3377 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("except_handler_part",183, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3378 - }
81.3379 - return CUP$Ada95ASTParser$result;
81.3380 -
81.3381 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3382 - case 461: // except_handler_part ::= EXCEPTION exception_handler
81.3383 - {
81.3384 - Object RESULT =null;
81.3385 -
81.3386 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("except_handler_part",183, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3387 - }
81.3388 - return CUP$Ada95ASTParser$result;
81.3389 -
81.3390 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3391 - case 460: // exception_decl ::= defining_identifier_list COLON EXCEPTION SEMICOLON
81.3392 - {
81.3393 - Object RESULT =null;
81.3394 -
81.3395 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("exception_decl",124, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3396 - }
81.3397 - return CUP$Ada95ASTParser$result;
81.3398 -
81.3399 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3400 - case 459: // body_stub ::= PROTECTED BODY simple_name IS SEPARATE SEMICOLON
81.3401 - {
81.3402 - Statement RESULT =null;
81.3403 -
81.3404 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("body_stub",90, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3405 - }
81.3406 - return CUP$Ada95ASTParser$result;
81.3407 -
81.3408 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3409 - case 458: // body_stub ::= subprogram_specification IS SEPARATE SEMICOLON
81.3410 - {
81.3411 - Statement RESULT =null;
81.3412 - int subprogleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.3413 - int subprogright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.3414 - SubprogramSpecification subprog = (SubprogramSpecification)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.3415 -
81.3416 - RESULT = subprog;
81.3417 -
81.3418 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("body_stub",90, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3419 - }
81.3420 - return CUP$Ada95ASTParser$result;
81.3421 -
81.3422 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3423 - case 457: // body_stub ::= PACKAGE BODY compound_name IS SEPARATE SEMICOLON
81.3424 - {
81.3425 - Statement RESULT =null;
81.3426 -
81.3427 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("body_stub",90, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3428 - }
81.3429 - return CUP$Ada95ASTParser$result;
81.3430 -
81.3431 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3432 - case 456: // body_stub ::= TASK BODY simple_name IS SEPARATE SEMICOLON
81.3433 - {
81.3434 - Statement RESULT =null;
81.3435 -
81.3436 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("body_stub",90, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3437 - }
81.3438 - return CUP$Ada95ASTParser$result;
81.3439 -
81.3440 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3441 - case 455: // subunit ::= SEPARATE LPAREN compound_name RPAREN proper_body
81.3442 - {
81.3443 - Statement RESULT =null;
81.3444 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3445 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3446 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3447 -
81.3448 - RESULT = statement;
81.3449 -
81.3450 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subunit",103, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3451 - }
81.3452 - return CUP$Ada95ASTParser$result;
81.3453 -
81.3454 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3455 - case 454: // with_clause ::= WITH library_unit_name_list SEMICOLON
81.3456 - {
81.3457 - Statement RESULT =null;
81.3458 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.3459 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.3460 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.3461 - int packageListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.3462 - int packageListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.3463 - List packageList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.3464 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3465 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3466 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3467 -
81.3468 - RESULT = new With(tokenleft, endright, packageList);
81.3469 -
81.3470 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("with_clause",88, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3471 - }
81.3472 - return CUP$Ada95ASTParser$result;
81.3473 -
81.3474 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3475 - case 453: // context_clause ::= context_clause pragma
81.3476 - {
81.3477 - Statement RESULT =null;
81.3478 -
81.3479 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("context_clause",87, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3480 - }
81.3481 - return CUP$Ada95ASTParser$result;
81.3482 -
81.3483 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3484 - case 452: // context_clause ::= context_clause use_clause
81.3485 - {
81.3486 - Statement RESULT =null;
81.3487 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3488 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3489 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3490 -
81.3491 - RESULT = statement;
81.3492 -
81.3493 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("context_clause",87, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3494 - }
81.3495 - return CUP$Ada95ASTParser$result;
81.3496 -
81.3497 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3498 - case 451: // context_clause ::= context_clause with_clause
81.3499 - {
81.3500 - Statement RESULT =null;
81.3501 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3502 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3503 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3504 -
81.3505 - RESULT = statement;
81.3506 -
81.3507 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("context_clause",87, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3508 - }
81.3509 - return CUP$Ada95ASTParser$result;
81.3510 -
81.3511 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3512 - case 450: // context_clause ::= use_clause
81.3513 - {
81.3514 - Statement RESULT =null;
81.3515 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3516 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3517 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3518 -
81.3519 - RESULT = statement;
81.3520 -
81.3521 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("context_clause",87, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3522 - }
81.3523 - return CUP$Ada95ASTParser$result;
81.3524 -
81.3525 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3526 - case 449: // context_clause ::= with_clause
81.3527 - {
81.3528 - Statement RESULT =null;
81.3529 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3530 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3531 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3532 -
81.3533 - RESULT = statement;
81.3534 -
81.3535 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("context_clause",87, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3536 - }
81.3537 - return CUP$Ada95ASTParser$result;
81.3538 -
81.3539 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3540 - case 448: // unit ::= rename_unit
81.3541 - {
81.3542 - Statement RESULT =null;
81.3543 -
81.3544 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("unit",86, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3545 - }
81.3546 - return CUP$Ada95ASTParser$result;
81.3547 -
81.3548 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3549 - case 447: // unit ::= generic_declaration
81.3550 - {
81.3551 - Statement RESULT =null;
81.3552 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3553 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3554 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3555 -
81.3556 - RESULT = statement;
81.3557 -
81.3558 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("unit",86, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3559 - }
81.3560 - return CUP$Ada95ASTParser$result;
81.3561 -
81.3562 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3563 - case 446: // unit ::= subunit
81.3564 - {
81.3565 - Statement RESULT =null;
81.3566 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3567 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3568 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3569 -
81.3570 - RESULT = statement;
81.3571 -
81.3572 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("unit",86, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3573 - }
81.3574 - return CUP$Ada95ASTParser$result;
81.3575 -
81.3576 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3577 - case 445: // unit ::= subprogram_body
81.3578 - {
81.3579 - Statement RESULT =null;
81.3580 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3581 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3582 - MethodDeclaration statement = (MethodDeclaration)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3583 -
81.3584 - RESULT = statement;
81.3585 -
81.3586 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("unit",86, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3587 - }
81.3588 - return CUP$Ada95ASTParser$result;
81.3589 -
81.3590 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3591 - case 444: // unit ::= subprog_declaration
81.3592 - {
81.3593 - Statement RESULT =null;
81.3594 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3595 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3596 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3597 -
81.3598 - RESULT = statement;
81.3599 -
81.3600 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("unit",86, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3601 - }
81.3602 - return CUP$Ada95ASTParser$result;
81.3603 -
81.3604 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3605 - case 443: // unit ::= package_body
81.3606 - {
81.3607 - Statement RESULT =null;
81.3608 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3609 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3610 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3611 -
81.3612 - RESULT = statement;
81.3613 -
81.3614 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("unit",86, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3615 - }
81.3616 - return CUP$Ada95ASTParser$result;
81.3617 -
81.3618 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3619 - case 442: // unit ::= package_declaration
81.3620 - {
81.3621 - Statement RESULT =null;
81.3622 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3623 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3624 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3625 -
81.3626 - RESULT = statement;
81.3627 -
81.3628 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("unit",86, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3629 - }
81.3630 - return CUP$Ada95ASTParser$result;
81.3631 -
81.3632 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3633 - case 441: // private_opt ::= PRIVATE
81.3634 - {
81.3635 - Object RESULT =null;
81.3636 -
81.3637 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("private_opt",216, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3638 - }
81.3639 - return CUP$Ada95ASTParser$result;
81.3640 -
81.3641 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3642 - case 440: // private_opt ::=
81.3643 - {
81.3644 - Object RESULT =null;
81.3645 -
81.3646 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("private_opt",216, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3647 - }
81.3648 - return CUP$Ada95ASTParser$result;
81.3649 -
81.3650 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3651 - case 439: // compilation_unit ::= private_opt unit pragma_s
81.3652 - {
81.3653 - Statement RESULT =null;
81.3654 - int unitleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.3655 - int unitright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.3656 - Statement unit = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.3657 -
81.3658 - RESULT = unit;
81.3659 -
81.3660 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("compilation_unit",85, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3661 - }
81.3662 - return CUP$Ada95ASTParser$result;
81.3663 -
81.3664 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3665 - case 438: // compilation_unit ::= context_clause private_opt unit pragma_s
81.3666 - {
81.3667 - Statement RESULT =null;
81.3668 - int unitleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.3669 - int unitright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.3670 - Statement unit = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.3671 -
81.3672 - RESULT = unit;
81.3673 -
81.3674 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("compilation_unit",85, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3675 - }
81.3676 - return CUP$Ada95ASTParser$result;
81.3677 -
81.3678 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3679 - case 437: // compilation_units ::= pragma pragma_s
81.3680 - {
81.3681 - List RESULT =null;
81.3682 -
81.3683 - RESULT = new LinkedList();
81.3684 -
81.3685 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("compilation_units",84, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3686 - }
81.3687 - return CUP$Ada95ASTParser$result;
81.3688 -
81.3689 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3690 - case 436: // compilation_units ::= compilation_units compilation_unit
81.3691 - {
81.3692 - List RESULT =null;
81.3693 - int unitsleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.3694 - int unitsright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.3695 - List units = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.3696 - int unitleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3697 - int unitright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3698 - Statement unit = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3699 -
81.3700 - if(units != null) {
81.3701 - units.add(unit);
81.3702 - }
81.3703 - RESULT = units;
81.3704 -
81.3705 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("compilation_units",84, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3706 - }
81.3707 - return CUP$Ada95ASTParser$result;
81.3708 -
81.3709 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3710 - case 435: // compilation_units ::=
81.3711 - {
81.3712 - List RESULT =null;
81.3713 -
81.3714 - RESULT = new LinkedList();
81.3715 -
81.3716 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("compilation_units",84, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3717 - }
81.3718 - return CUP$Ada95ASTParser$result;
81.3719 -
81.3720 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3721 - case 434: // compilation ::= compilation_units
81.3722 - {
81.3723 - Program RESULT =null;
81.3724 - int unitsleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3725 - int unitsright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3726 - List units = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3727 -
81.3728 - Ada95ASTLexer adaAstLexer = (Ada95ASTLexer) parser.getScanner();
81.3729 - List comments = adaAstLexer.getCommentList();
81.3730 - Program program = new Program(unitsleft, unitsright, units, comments);
81.3731 - RESULT = program;
81.3732 -
81.3733 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("compilation",83, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3734 - }
81.3735 - return CUP$Ada95ASTParser$result;
81.3736 -
81.3737 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3738 - case 433: // task_name_list ::= task_name_list COMMA name
81.3739 - {
81.3740 - List RESULT =null;
81.3741 - int idListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.3742 - int idListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.3743 - List idList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.3744 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3745 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3746 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3747 -
81.3748 - Identifier id = new Identifier(nameleft, nameright, name);
81.3749 - TaskName taskName = new TaskName(nameleft, nameright, id);
81.3750 - idList.add(taskName);
81.3751 - RESULT = idList;
81.3752 -
81.3753 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("task_name_list",82, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3754 - }
81.3755 - return CUP$Ada95ASTParser$result;
81.3756 -
81.3757 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3758 - case 432: // task_name_list ::= name
81.3759 - {
81.3760 - List RESULT =null;
81.3761 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3762 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3763 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3764 -
81.3765 - List idList = new LinkedList();
81.3766 - Identifier id = new Identifier(nameleft, nameright, name);
81.3767 - TaskName taskName = new TaskName(nameleft, nameright, id);
81.3768 - idList.add(taskName);
81.3769 - RESULT = idList;
81.3770 -
81.3771 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("task_name_list",82, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3772 - }
81.3773 - return CUP$Ada95ASTParser$result;
81.3774 -
81.3775 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3776 - case 431: // abort_statement ::= ABORT task_name_list SEMICOLON
81.3777 - {
81.3778 - Statement RESULT =null;
81.3779 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.3780 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.3781 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.3782 - int taskListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.3783 - int taskListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.3784 - List taskList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.3785 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3786 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3787 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3788 -
81.3789 - RESULT = new AbortStatement(tokenleft, endright, taskList);
81.3790 -
81.3791 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("abort_statement",81, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3792 - }
81.3793 - return CUP$Ada95ASTParser$result;
81.3794 -
81.3795 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3796 - case 430: // stmts_opt ::= sequence_of_statements
81.3797 - {
81.3798 - Object RESULT =null;
81.3799 -
81.3800 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("stmts_opt",214, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3801 - }
81.3802 - return CUP$Ada95ASTParser$result;
81.3803 -
81.3804 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3805 - case 429: // stmts_opt ::=
81.3806 - {
81.3807 - Object RESULT =null;
81.3808 -
81.3809 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("stmts_opt",214, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3810 - }
81.3811 - return CUP$Ada95ASTParser$result;
81.3812 -
81.3813 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3814 - case 428: // cond_entry_call ::= SELECT entry_call stmts_opt ELSE sequence_of_statements END SELECT SEMICOLON
81.3815 - {
81.3816 - Object RESULT =null;
81.3817 -
81.3818 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("cond_entry_call",210, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-7)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3819 - }
81.3820 - return CUP$Ada95ASTParser$result;
81.3821 -
81.3822 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3823 - case 427: // timed_entry_call ::= SELECT entry_call stmts_opt OR delay_statement stmts_opt END SELECT SEMICOLON
81.3824 - {
81.3825 - Object RESULT =null;
81.3826 -
81.3827 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("timed_entry_call",209, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-8)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3828 - }
81.3829 - return CUP$Ada95ASTParser$result;
81.3830 -
81.3831 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3832 - case 426: // async_select ::= SELECT delay_or_entry_alt THEN ABORT sequence_of_statements END SELECT SEMICOLON
81.3833 - {
81.3834 - Object RESULT =null;
81.3835 -
81.3836 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("async_select",208, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-7)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3837 - }
81.3838 - return CUP$Ada95ASTParser$result;
81.3839 -
81.3840 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3841 - case 425: // delay_or_entry_alt ::= entry_call stmts_opt
81.3842 - {
81.3843 - Object RESULT =null;
81.3844 -
81.3845 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("delay_or_entry_alt",215, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3846 - }
81.3847 - return CUP$Ada95ASTParser$result;
81.3848 -
81.3849 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3850 - case 424: // delay_or_entry_alt ::= delay_statement stmts_opt
81.3851 - {
81.3852 - Object RESULT =null;
81.3853 -
81.3854 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("delay_or_entry_alt",215, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3855 - }
81.3856 - return CUP$Ada95ASTParser$result;
81.3857 -
81.3858 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3859 - case 423: // select_alt ::= TERMINATE SEMICOLON
81.3860 - {
81.3861 - Object RESULT =null;
81.3862 -
81.3863 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("select_alt",213, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3864 - }
81.3865 - return CUP$Ada95ASTParser$result;
81.3866 -
81.3867 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3868 - case 422: // select_alt ::= delay_statement stmts_opt
81.3869 - {
81.3870 - Object RESULT =null;
81.3871 -
81.3872 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("select_alt",213, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3873 - }
81.3874 - return CUP$Ada95ASTParser$result;
81.3875 -
81.3876 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3877 - case 421: // select_alt ::= accept_stmt stmts_opt
81.3878 - {
81.3879 - Object RESULT =null;
81.3880 -
81.3881 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("select_alt",213, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3882 - }
81.3883 - return CUP$Ada95ASTParser$result;
81.3884 -
81.3885 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3886 - case 420: // or_select ::= or_select OR guarded_select_alt
81.3887 - {
81.3888 - Object RESULT =null;
81.3889 -
81.3890 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("or_select",212, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3891 - }
81.3892 - return CUP$Ada95ASTParser$result;
81.3893 -
81.3894 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3895 - case 419: // or_select ::=
81.3896 - {
81.3897 - Object RESULT =null;
81.3898 -
81.3899 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("or_select",212, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3900 - }
81.3901 - return CUP$Ada95ASTParser$result;
81.3902 -
81.3903 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3904 - case 418: // guarded_select_alt ::= WHEN condition ARROW select_alt
81.3905 - {
81.3906 - Object RESULT =null;
81.3907 -
81.3908 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("guarded_select_alt",211, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3909 - }
81.3910 - return CUP$Ada95ASTParser$result;
81.3911 -
81.3912 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3913 - case 417: // guarded_select_alt ::= select_alt
81.3914 - {
81.3915 - Object RESULT =null;
81.3916 -
81.3917 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("guarded_select_alt",211, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3918 - }
81.3919 - return CUP$Ada95ASTParser$result;
81.3920 -
81.3921 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3922 - case 416: // select_wait ::= SELECT guarded_select_alt or_select else_opt END SELECT SEMICOLON
81.3923 - {
81.3924 - Object RESULT =null;
81.3925 -
81.3926 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("select_wait",207, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3927 - }
81.3928 - return CUP$Ada95ASTParser$result;
81.3929 -
81.3930 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3931 - case 415: // select_stmt ::= cond_entry_call
81.3932 - {
81.3933 - Object RESULT =null;
81.3934 -
81.3935 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("select_stmt",179, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3936 - }
81.3937 - return CUP$Ada95ASTParser$result;
81.3938 -
81.3939 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3940 - case 414: // select_stmt ::= timed_entry_call
81.3941 - {
81.3942 - Object RESULT =null;
81.3943 -
81.3944 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("select_stmt",179, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3945 - }
81.3946 - return CUP$Ada95ASTParser$result;
81.3947 -
81.3948 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3949 - case 413: // select_stmt ::= async_select
81.3950 - {
81.3951 - Object RESULT =null;
81.3952 -
81.3953 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("select_stmt",179, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3954 - }
81.3955 - return CUP$Ada95ASTParser$result;
81.3956 -
81.3957 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3958 - case 412: // select_stmt ::= select_wait
81.3959 - {
81.3960 - Object RESULT =null;
81.3961 -
81.3962 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("select_stmt",179, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3963 - }
81.3964 - return CUP$Ada95ASTParser$result;
81.3965 -
81.3966 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3967 - case 411: // delay_statement ::= DELAY UNTIL expression SEMICOLON
81.3968 - {
81.3969 - Statement RESULT =null;
81.3970 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.3971 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.3972 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.3973 - int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.3974 - int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.3975 - Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.3976 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3977 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3978 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3979 -
81.3980 - RESULT = new ReturnStatement(tokenleft, endright, expr);
81.3981 -
81.3982 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("delay_statement",80, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.3983 - }
81.3984 - return CUP$Ada95ASTParser$result;
81.3985 -
81.3986 - /*. . . . . . . . . . . . . . . . . . . .*/
81.3987 - case 410: // delay_statement ::= DELAY expression SEMICOLON
81.3988 - {
81.3989 - Statement RESULT =null;
81.3990 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.3991 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.3992 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.3993 - int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.3994 - int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.3995 - Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.3996 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.3997 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.3998 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.3999 -
81.4000 - RESULT = new ReturnStatement(tokenleft, endright, expr);
81.4001 -
81.4002 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("delay_statement",80, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4003 - }
81.4004 - return CUP$Ada95ASTParser$result;
81.4005 -
81.4006 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4007 - case 409: // entry_name ::= entry_name LPAREN expression RPAREN
81.4008 - {
81.4009 - Object RESULT =null;
81.4010 -
81.4011 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("entry_name",206, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4012 - }
81.4013 - return CUP$Ada95ASTParser$result;
81.4014 -
81.4015 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4016 - case 408: // entry_name ::= simple_name
81.4017 - {
81.4018 - Object RESULT =null;
81.4019 -
81.4020 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("entry_name",206, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4021 - }
81.4022 - return CUP$Ada95ASTParser$result;
81.4023 -
81.4024 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4025 - case 407: // accept_hdr ::= ACCEPT entry_name formal_part_opt
81.4026 - {
81.4027 - Object RESULT =null;
81.4028 -
81.4029 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("accept_hdr",204, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4030 - }
81.4031 - return CUP$Ada95ASTParser$result;
81.4032 -
81.4033 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4034 - case 406: // accept_stmt ::= accept_hdr DO handled_stmt_s END id_opt SEMICOLON
81.4035 - {
81.4036 - Object RESULT =null;
81.4037 -
81.4038 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("accept_stmt",178, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4039 - }
81.4040 - return CUP$Ada95ASTParser$result;
81.4041 -
81.4042 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4043 - case 405: // accept_stmt ::= accept_hdr SEMICOLON
81.4044 - {
81.4045 - Object RESULT =null;
81.4046 -
81.4047 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("accept_stmt",178, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4048 - }
81.4049 - return CUP$Ada95ASTParser$result;
81.4050 -
81.4051 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4052 - case 404: // entry_call ::= procedure_call_statement
81.4053 - {
81.4054 - Object RESULT =null;
81.4055 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.4056 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.4057 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.4058 -
81.4059 - RESULT = statement;
81.4060 -
81.4061 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("entry_call",205, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4062 - }
81.4063 - return CUP$Ada95ASTParser$result;
81.4064 -
81.4065 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4066 - case 403: // rep_spec_s ::= rep_spec_s rep_spec pragma_s
81.4067 - {
81.4068 - Object RESULT =null;
81.4069 -
81.4070 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("rep_spec_s",190, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4071 - }
81.4072 - return CUP$Ada95ASTParser$result;
81.4073 -
81.4074 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4075 - case 402: // rep_spec_s ::=
81.4076 - {
81.4077 - Object RESULT =null;
81.4078 -
81.4079 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("rep_spec_s",190, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4080 - }
81.4081 - return CUP$Ada95ASTParser$result;
81.4082 -
81.4083 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4084 - case 401: // entry_body_part ::= IS declarative_part block_body END id_opt SEMICOLON
81.4085 - {
81.4086 - Object RESULT =null;
81.4087 -
81.4088 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("entry_body_part",203, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4089 - }
81.4090 - return CUP$Ada95ASTParser$result;
81.4091 -
81.4092 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4093 - case 400: // entry_body_part ::= SEMICOLON
81.4094 - {
81.4095 - Object RESULT =null;
81.4096 -
81.4097 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("entry_body_part",203, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4098 - }
81.4099 - return CUP$Ada95ASTParser$result;
81.4100 -
81.4101 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4102 - case 399: // entry_body ::= ENTRY IDENTIFIER LPAREN iter_part discrete_range RPAREN formal_part_opt WHEN condition entry_body_part
81.4103 - {
81.4104 - Object RESULT =null;
81.4105 -
81.4106 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("entry_body",202, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-9)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4107 - }
81.4108 - return CUP$Ada95ASTParser$result;
81.4109 -
81.4110 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4111 - case 398: // entry_body ::= ENTRY IDENTIFIER formal_part_opt WHEN condition entry_body_part
81.4112 - {
81.4113 - Object RESULT =null;
81.4114 -
81.4115 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("entry_body",202, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4116 - }
81.4117 - return CUP$Ada95ASTParser$result;
81.4118 -
81.4119 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4120 - case 397: // entry_decl ::= ENTRY IDENTIFIER LPAREN discrete_range RPAREN formal_part_opt SEMICOLON
81.4121 - {
81.4122 - Object RESULT =null;
81.4123 -
81.4124 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("entry_decl",198, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4125 - }
81.4126 - return CUP$Ada95ASTParser$result;
81.4127 -
81.4128 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4129 - case 396: // entry_decl ::= ENTRY IDENTIFIER formal_part_opt SEMICOLON
81.4130 - {
81.4131 - Object RESULT =null;
81.4132 -
81.4133 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("entry_decl",198, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4134 - }
81.4135 - return CUP$Ada95ASTParser$result;
81.4136 -
81.4137 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4138 - case 395: // entry_decl_s ::= entry_decl_s entry_decl pragma_s
81.4139 - {
81.4140 - Object RESULT =null;
81.4141 -
81.4142 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("entry_decl_s",189, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4143 - }
81.4144 - return CUP$Ada95ASTParser$result;
81.4145 -
81.4146 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4147 - case 394: // entry_decl_s ::= pragma_s
81.4148 - {
81.4149 - Object RESULT =null;
81.4150 -
81.4151 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("entry_decl_s",189, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4152 - }
81.4153 - return CUP$Ada95ASTParser$result;
81.4154 -
81.4155 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4156 - case 393: // prot_op_body ::= subprogram_specification SEMICOLON
81.4157 - {
81.4158 - Object RESULT =null;
81.4159 -
81.4160 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_body",201, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4161 - }
81.4162 - return CUP$Ada95ASTParser$result;
81.4163 -
81.4164 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4165 - case 392: // prot_op_body ::= subprogram_body
81.4166 - {
81.4167 - Object RESULT =null;
81.4168 -
81.4169 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_body",201, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4170 - }
81.4171 - return CUP$Ada95ASTParser$result;
81.4172 -
81.4173 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4174 - case 391: // prot_op_body ::= entry_body
81.4175 - {
81.4176 - Object RESULT =null;
81.4177 -
81.4178 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_body",201, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4179 - }
81.4180 - return CUP$Ada95ASTParser$result;
81.4181 -
81.4182 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4183 - case 390: // prot_op_body_s ::= prot_op_body_s prot_op_body pragma_s
81.4184 - {
81.4185 - Object RESULT =null;
81.4186 -
81.4187 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_body_s",200, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4188 - }
81.4189 - return CUP$Ada95ASTParser$result;
81.4190 -
81.4191 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4192 - case 389: // prot_op_body_s ::= pragma_s
81.4193 - {
81.4194 - Object RESULT =null;
81.4195 -
81.4196 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_body_s",200, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4197 - }
81.4198 - return CUP$Ada95ASTParser$result;
81.4199 -
81.4200 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4201 - case 388: // protected_body ::= PROTECTED BODY simple_name IS prot_op_body_s END id_opt SEMICOLON
81.4202 - {
81.4203 - Statement RESULT =null;
81.4204 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
81.4205 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
81.4206 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
81.4207 -
81.4208 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("protected_body",79, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-7)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4209 - }
81.4210 - return CUP$Ada95ASTParser$result;
81.4211 -
81.4212 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4213 - case 387: // prot_elem_decl ::= comp_decl
81.4214 - {
81.4215 - Object RESULT =null;
81.4216 -
81.4217 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_elem_decl",199, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4218 - }
81.4219 - return CUP$Ada95ASTParser$result;
81.4220 -
81.4221 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4222 - case 386: // prot_elem_decl ::= prot_op_decl
81.4223 - {
81.4224 - Object RESULT =null;
81.4225 -
81.4226 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_elem_decl",199, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4227 - }
81.4228 - return CUP$Ada95ASTParser$result;
81.4229 -
81.4230 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4231 - case 385: // prot_elem_decl_s ::= prot_elem_decl_s prot_elem_decl
81.4232 - {
81.4233 - Object RESULT =null;
81.4234 -
81.4235 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_elem_decl_s",196, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4236 - }
81.4237 - return CUP$Ada95ASTParser$result;
81.4238 -
81.4239 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4240 - case 384: // prot_elem_decl_s ::=
81.4241 - {
81.4242 - Object RESULT =null;
81.4243 -
81.4244 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_elem_decl_s",196, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4245 - }
81.4246 - return CUP$Ada95ASTParser$result;
81.4247 -
81.4248 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4249 - case 383: // prot_op_decl ::= pragma
81.4250 - {
81.4251 - Object RESULT =null;
81.4252 -
81.4253 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_decl",197, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4254 - }
81.4255 - return CUP$Ada95ASTParser$result;
81.4256 -
81.4257 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4258 - case 382: // prot_op_decl ::= rep_spec
81.4259 - {
81.4260 - Object RESULT =null;
81.4261 -
81.4262 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_decl",197, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4263 - }
81.4264 - return CUP$Ada95ASTParser$result;
81.4265 -
81.4266 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4267 - case 381: // prot_op_decl ::= subprogram_specification SEMICOLON
81.4268 - {
81.4269 - Object RESULT =null;
81.4270 -
81.4271 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_decl",197, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4272 - }
81.4273 - return CUP$Ada95ASTParser$result;
81.4274 -
81.4275 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4276 - case 380: // prot_op_decl ::= entry_decl
81.4277 - {
81.4278 - Object RESULT =null;
81.4279 -
81.4280 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_decl",197, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4281 - }
81.4282 - return CUP$Ada95ASTParser$result;
81.4283 -
81.4284 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4285 - case 379: // prot_op_decl_s ::= prot_op_decl_s prot_op_decl
81.4286 - {
81.4287 - Object RESULT =null;
81.4288 -
81.4289 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_decl_s",194, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4290 - }
81.4291 - return CUP$Ada95ASTParser$result;
81.4292 -
81.4293 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4294 - case 378: // prot_op_decl_s ::=
81.4295 - {
81.4296 - Object RESULT =null;
81.4297 -
81.4298 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_decl_s",194, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4299 - }
81.4300 - return CUP$Ada95ASTParser$result;
81.4301 -
81.4302 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4303 - case 377: // prot_private_opt ::= PRIVATE prot_elem_decl_s
81.4304 - {
81.4305 - Object RESULT =null;
81.4306 -
81.4307 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_private_opt",195, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4308 - }
81.4309 - return CUP$Ada95ASTParser$result;
81.4310 -
81.4311 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4312 - case 376: // prot_private_opt ::=
81.4313 - {
81.4314 - Object RESULT =null;
81.4315 -
81.4316 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_private_opt",195, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4317 - }
81.4318 - return CUP$Ada95ASTParser$result;
81.4319 -
81.4320 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4321 - case 375: // prot_def ::= IS prot_op_decl_s prot_private_opt END id_opt
81.4322 - {
81.4323 - Object RESULT =null;
81.4324 -
81.4325 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_def",193, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4326 - }
81.4327 - return CUP$Ada95ASTParser$result;
81.4328 -
81.4329 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4330 - case 374: // prot_spec ::= PROTECTED TYPE simple_name discrim_part_opt prot_def
81.4331 - {
81.4332 - Object RESULT =null;
81.4333 -
81.4334 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_spec",192, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4335 - }
81.4336 - return CUP$Ada95ASTParser$result;
81.4337 -
81.4338 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4339 - case 373: // prot_spec ::= PROTECTED IDENTIFIER prot_def
81.4340 - {
81.4341 - Object RESULT =null;
81.4342 -
81.4343 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_spec",192, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4344 - }
81.4345 - return CUP$Ada95ASTParser$result;
81.4346 -
81.4347 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4348 - case 372: // prot_decl ::= prot_spec SEMICOLON
81.4349 - {
81.4350 - Object RESULT =null;
81.4351 -
81.4352 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_decl",123, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4353 - }
81.4354 - return CUP$Ada95ASTParser$result;
81.4355 -
81.4356 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4357 - case 371: // task_body ::= TASK BODY simple_name IS declarative_part block_body END id_opt SEMICOLON
81.4358 - {
81.4359 - Statement RESULT =null;
81.4360 -
81.4361 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("task_body",12, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-8)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4362 - }
81.4363 - return CUP$Ada95ASTParser$result;
81.4364 -
81.4365 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4366 - case 370: // task_private_opt ::= PRIVATE entry_decl_s rep_spec_s
81.4367 - {
81.4368 - Object RESULT =null;
81.4369 -
81.4370 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("task_private_opt",191, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4371 - }
81.4372 - return CUP$Ada95ASTParser$result;
81.4373 -
81.4374 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4375 - case 369: // task_private_opt ::=
81.4376 - {
81.4377 - Object RESULT =null;
81.4378 -
81.4379 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("task_private_opt",191, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4380 - }
81.4381 - return CUP$Ada95ASTParser$result;
81.4382 -
81.4383 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4384 - case 368: // task_def ::= IS entry_decl_s rep_spec_s task_private_opt END id_opt
81.4385 - {
81.4386 - Object RESULT =null;
81.4387 -
81.4388 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("task_def",188, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4389 - }
81.4390 - return CUP$Ada95ASTParser$result;
81.4391 -
81.4392 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4393 - case 367: // task_def ::=
81.4394 - {
81.4395 - Object RESULT =null;
81.4396 -
81.4397 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("task_def",188, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4398 - }
81.4399 - return CUP$Ada95ASTParser$result;
81.4400 -
81.4401 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4402 - case 366: // task_spec ::= TASK TYPE simple_name discrim_part_opt task_def
81.4403 - {
81.4404 - Object RESULT =null;
81.4405 -
81.4406 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("task_spec",187, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4407 - }
81.4408 - return CUP$Ada95ASTParser$result;
81.4409 -
81.4410 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4411 - case 365: // task_spec ::= TASK simple_name task_def
81.4412 - {
81.4413 - Object RESULT =null;
81.4414 -
81.4415 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("task_spec",187, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4416 - }
81.4417 - return CUP$Ada95ASTParser$result;
81.4418 -
81.4419 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4420 - case 364: // task_decl ::= task_spec SEMICOLON
81.4421 - {
81.4422 - Object RESULT =null;
81.4423 -
81.4424 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("task_decl",122, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4425 - }
81.4426 - return CUP$Ada95ASTParser$result;
81.4427 -
81.4428 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4429 - case 363: // rename_unit ::= generic_formal_part subprogram_specification RENAMES name SEMICOLON
81.4430 - {
81.4431 - Statement RESULT =null;
81.4432 -
81.4433 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("rename_unit",78, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4434 - }
81.4435 - return CUP$Ada95ASTParser$result;
81.4436 -
81.4437 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4438 - case 362: // rename_unit ::= generic_formal_part PACKAGE compound_name RENAMES name SEMICOLON
81.4439 - {
81.4440 - Statement RESULT =null;
81.4441 -
81.4442 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("rename_unit",78, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4443 - }
81.4444 - return CUP$Ada95ASTParser$result;
81.4445 -
81.4446 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4447 - case 361: // rename_unit ::= subprogram_specification RENAMES name SEMICOLON
81.4448 - {
81.4449 - Statement RESULT =null;
81.4450 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.4451 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.4452 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.4453 -
81.4454 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("rename_unit",78, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4455 - }
81.4456 - return CUP$Ada95ASTParser$result;
81.4457 -
81.4458 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4459 - case 360: // rename_unit ::= PACKAGE compound_name RENAMES name SEMICOLON
81.4460 - {
81.4461 - Statement RESULT =null;
81.4462 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
81.4463 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
81.4464 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
81.4465 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.4466 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.4467 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.4468 - int renamesleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.4469 - int renamesright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.4470 - String renames = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.4471 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.4472 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.4473 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.4474 -
81.4475 - Identifier packageNameId = new Identifier(nameleft, nameright, name);
81.4476 - Identifier packageRenamesId = new Identifier(renamesleft, renamesright, renames);
81.4477 - PackageRenames packageRenames = new PackageRenames(tokenleft, endright, packageNameId, packageRenamesId);
81.4478 - RESULT = packageRenames;
81.4479 -
81.4480 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("rename_unit",78, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4481 - }
81.4482 - return CUP$Ada95ASTParser$result;
81.4483 -
81.4484 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4485 - case 359: // renaming_declaration ::= rename_unit
81.4486 - {
81.4487 - Statement RESULT =null;
81.4488 - int unitleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.4489 - int unitright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.4490 - Statement unit = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.4491 -
81.4492 - RESULT = unit;
81.4493 -
81.4494 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("renaming_declaration",77, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4495 - }
81.4496 - return CUP$Ada95ASTParser$result;
81.4497 -
81.4498 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4499 - case 358: // renaming_declaration ::= defining_identifier_list COLON EXCEPTION RENAMES name SEMICOLON
81.4500 - {
81.4501 - Statement RESULT =null;
81.4502 -
81.4503 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("renaming_declaration",77, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4504 - }
81.4505 - return CUP$Ada95ASTParser$result;
81.4506 -
81.4507 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4508 - case 357: // renaming_declaration ::= defining_identifier_list COLON object_qualifier_opt subtype_indication RENAMES name SEMICOLON
81.4509 - {
81.4510 - Statement RESULT =null;
81.4511 -
81.4512 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("renaming_declaration",77, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4513 - }
81.4514 - return CUP$Ada95ASTParser$result;
81.4515 -
81.4516 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4517 - case 356: // subtype_mark_list ::= subtype_mark_list COMMA name
81.4518 - {
81.4519 - List RESULT =null;
81.4520 - int idListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.4521 - int idListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.4522 - List idList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.4523 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.4524 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.4525 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.4526 -
81.4527 - Identifier id = new Identifier(nameleft, nameright, name);
81.4528 - TypeName typeName = new TypeName(nameleft, nameright, id);
81.4529 - idList.add(typeName);
81.4530 - RESULT = idList;
81.4531 -
81.4532 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subtype_mark_list",76, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4533 - }
81.4534 - return CUP$Ada95ASTParser$result;
81.4535 -
81.4536 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4537 - case 355: // subtype_mark_list ::= name
81.4538 - {
81.4539 - List RESULT =null;
81.4540 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.4541 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.4542 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.4543 -
81.4544 - List idList = new LinkedList();
81.4545 - Identifier id = new Identifier(nameleft, nameright, name);
81.4546 - TypeName typeName = new TypeName(nameleft, nameright, id);
81.4547 - idList.add(typeName);
81.4548 - RESULT = idList;
81.4549 -
81.4550 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subtype_mark_list",76, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4551 - }
81.4552 - return CUP$Ada95ASTParser$result;
81.4553 -
81.4554 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4555 - case 354: // package_name_list ::= package_name_list COMMA name
81.4556 - {
81.4557 - List RESULT =null;
81.4558 - int idListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.4559 - int idListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.4560 - List idList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.4561 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.4562 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.4563 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.4564 -
81.4565 - Identifier id = new Identifier(nameleft, nameright, name);
81.4566 - PackageName packageName = new PackageName(nameleft, nameright, id);
81.4567 - idList.add(packageName);
81.4568 - RESULT = idList;
81.4569 -
81.4570 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("package_name_list",75, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4571 - }
81.4572 - return CUP$Ada95ASTParser$result;
81.4573 -
81.4574 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4575 - case 353: // package_name_list ::= name
81.4576 - {
81.4577 - List RESULT =null;
81.4578 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.4579 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.4580 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.4581 -
81.4582 - List idList = new LinkedList();
81.4583 - Identifier id = new Identifier(nameleft, nameright, name);
81.4584 - PackageName packageName = new PackageName(nameleft, nameright, id);
81.4585 - idList.add(packageName);
81.4586 - RESULT = idList;
81.4587 -
81.4588 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("package_name_list",75, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4589 - }
81.4590 - return CUP$Ada95ASTParser$result;
81.4591 -
81.4592 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4593 - case 352: // use_clause ::= USE TYPE subtype_mark_list SEMICOLON
81.4594 - {
81.4595 - Statement RESULT =null;
81.4596 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.4597 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.4598 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.4599 - int subTypeListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.4600 - int subTypeListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.4601 - List subTypeList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.4602 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.4603 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.4604 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.4605 -
81.4606 - RESULT = new UseType(tokenleft, endright, subTypeList);
81.4607 -
81.4608 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("use_clause",74, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4609 - }
81.4610 - return CUP$Ada95ASTParser$result;
81.4611 -
81.4612 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4613 - case 351: // use_clause ::= USE package_name_list SEMICOLON
81.4614 - {
81.4615 - Statement RESULT =null;
81.4616 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.4617 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.4618 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.4619 - int packageListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.4620 - int packageListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.4621 - List packageList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.4622 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.4623 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.4624 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.4625 -
81.4626 - RESULT = new Use(tokenleft, endright, packageList);
81.4627 -
81.4628 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("use_clause",74, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4629 - }
81.4630 - return CUP$Ada95ASTParser$result;
81.4631 -
81.4632 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4633 - case 350: // limited_opt ::= LIMITED
81.4634 - {
81.4635 - Integer RESULT =null;
81.4636 -
81.4637 - RESULT = Ada95ASTParser.LIMITED;
81.4638 -
81.4639 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("limited_opt",73, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4640 - }
81.4641 - return CUP$Ada95ASTParser$result;
81.4642 -
81.4643 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4644 - case 349: // limited_opt ::=
81.4645 - {
81.4646 - Integer RESULT =null;
81.4647 -
81.4648 - RESULT = 0;
81.4649 -
81.4650 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("limited_opt",73, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4651 - }
81.4652 - return CUP$Ada95ASTParser$result;
81.4653 -
81.4654 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4655 - case 348: // private_type_declaration ::= tagged_opt limited_opt PRIVATE
81.4656 - {
81.4657 - PrivateType RESULT =null;
81.4658 - int taggedleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.4659 - int taggedright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.4660 - Integer tagged = (Integer)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.4661 - int limitedleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.4662 - int limitedright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.4663 - Integer limited = (Integer)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.4664 - int privateKeywordleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.4665 - int privateKeywordright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.4666 - Object privateKeyword = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.4667 -
81.4668 - PrivateType privateType = new PrivateType(taggedleft, privateKeywordright, tagged + limited + Ada95ASTParser.PRIVATE);
81.4669 - RESULT = privateType;
81.4670 -
81.4671 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("private_type_declaration",71, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4672 - }
81.4673 - return CUP$Ada95ASTParser$result;
81.4674 -
81.4675 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4676 - case 347: // body_opt ::= block_body
81.4677 - {
81.4678 - Object RESULT =null;
81.4679 -
81.4680 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("body_opt",185, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4681 - }
81.4682 - return CUP$Ada95ASTParser$result;
81.4683 -
81.4684 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4685 - case 346: // body_opt ::=
81.4686 - {
81.4687 - Object RESULT =null;
81.4688 -
81.4689 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("body_opt",185, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4690 - }
81.4691 - return CUP$Ada95ASTParser$result;
81.4692 -
81.4693 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4694 - case 345: // package_body ::= PACKAGE BODY compound_name IS declarative_part body_opt END compound_name_opt SEMICOLON
81.4695 - {
81.4696 - Statement RESULT =null;
81.4697 - int declarationStartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-8)).left;
81.4698 - int declarationStartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-8)).right;
81.4699 - Object declarationStart = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-8)).value;
81.4700 - int packageNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).left;
81.4701 - int packageNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).right;
81.4702 - String packageName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).value;
81.4703 - int blockStartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
81.4704 - int blockStartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
81.4705 - Object blockStart = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
81.4706 - int declarativePartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
81.4707 - int declarativePartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
81.4708 - List declarativePart = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
81.4709 - int packageNameEndleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.4710 - int packageNameEndright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.4711 - String packageNameEnd = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.4712 - int declarationEndleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.4713 - int declarationEndright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.4714 - Object declarationEnd = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.4715 -
81.4716 - if (packageNameEnd != null && !packageNameEnd.equalsIgnoreCase (packageName)) {
81.4717 - this.parser.message_error("mispelling of " + packageName);
81.4718 - }
81.4719 - else {
81.4720 - Identifier packageId = new Identifier(packageNameleft, packageNameright, packageName);
81.4721 - Identifier packageIdEnd = new Identifier(packageNameEndleft, packageNameEndright, packageNameEnd);
81.4722 -
81.4723 - List list = this.parser.setModifier (declarativePart, Ada95ASTParser.PRIVATE);
81.4724 - Block block = new Block(blockStartleft, declarationEndright, list);
81.4725 -
81.4726 - PackageBody packageBody = new PackageBody(declarationStartleft, declarationEndright, packageId, packageIdEnd, block);
81.4727 - RESULT = packageBody;
81.4728 - }
81.4729 -
81.4730 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("package_body",69, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-8)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4731 - }
81.4732 - return CUP$Ada95ASTParser$result;
81.4733 -
81.4734 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4735 - case 344: // compound_name_opt ::= compound_name
81.4736 - {
81.4737 - String RESULT =null;
81.4738 - int compoundNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.4739 - int compoundNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.4740 - String compoundName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.4741 -
81.4742 - RESULT = compoundName;
81.4743 -
81.4744 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("compound_name_opt",95, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4745 - }
81.4746 - return CUP$Ada95ASTParser$result;
81.4747 -
81.4748 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4749 - case 343: // compound_name_opt ::=
81.4750 - {
81.4751 - String RESULT =null;
81.4752 -
81.4753 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("compound_name_opt",95, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4754 - }
81.4755 - return CUP$Ada95ASTParser$result;
81.4756 -
81.4757 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4758 - case 342: // private_part ::= PRIVATE declarative_items_opt
81.4759 - {
81.4760 - List RESULT =null;
81.4761 - int declarativeItemsleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.4762 - int declarativeItemsright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.4763 - List declarativeItems = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.4764 -
81.4765 - RESULT = this.parser.setModifier (declarativeItems, Ada95ASTParser.PRIVATE);
81.4766 -
81.4767 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("private_part",10, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4768 - }
81.4769 - return CUP$Ada95ASTParser$result;
81.4770 -
81.4771 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4772 - case 341: // private_part ::=
81.4773 - {
81.4774 - List RESULT =null;
81.4775 -
81.4776 - RESULT = new LinkedList();
81.4777 -
81.4778 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("private_part",10, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4779 - }
81.4780 - return CUP$Ada95ASTParser$result;
81.4781 -
81.4782 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4783 - case 340: // package_specification ::= PACKAGE compound_name IS declarative_items_opt private_part END compound_name_opt
81.4784 - {
81.4785 - Statement RESULT =null;
81.4786 - int declarationStartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).left;
81.4787 - int declarationStartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).right;
81.4788 - Object declarationStart = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).value;
81.4789 - int packageNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
81.4790 - int packageNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
81.4791 - String packageName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
81.4792 - int blockStartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
81.4793 - int blockStartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
81.4794 - Object blockStart = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
81.4795 - int declarativeItemsleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.4796 - int declarativeItemsright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.4797 - List declarativeItems = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.4798 - int privateDeclarativeItemsleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.4799 - int privateDeclarativeItemsright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.4800 - List privateDeclarativeItems = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.4801 - int declarationEndleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.4802 - int declarationEndright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.4803 - Object declarationEnd = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.4804 - int packageNameEndleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.4805 - int packageNameEndright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.4806 - String packageNameEnd = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.4807 -
81.4808 - if (packageNameEnd != null && !packageNameEnd.equalsIgnoreCase (packageName)) {
81.4809 - this.parser.message_error("mispelling of " + packageName);
81.4810 - }
81.4811 - else {
81.4812 - Identifier packageId = new Identifier(packageNameleft, packageNameright, packageName);
81.4813 - Identifier packageIdEnd = new Identifier(packageNameEndleft, packageNameEndright, packageNameEnd);
81.4814 - declarativeItems.addAll (privateDeclarativeItems);
81.4815 - // Add private part on block statements
81.4816 - Block block = new Block(blockStartleft, declarationEndright, declarativeItems);
81.4817 - PackageSpecification packageSpecification = new PackageSpecification(declarationStartleft, declarationEndright, packageId, packageIdEnd, block);
81.4818 - RESULT = packageSpecification;
81.4819 - }
81.4820 -
81.4821 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("package_specification",68, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4822 - }
81.4823 - return CUP$Ada95ASTParser$result;
81.4824 -
81.4825 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4826 - case 339: // package_declaration ::= generic_package_instantiation SEMICOLON
81.4827 - {
81.4828 - Statement RESULT =null;
81.4829 -
81.4830 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("package_declaration",67, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4831 - }
81.4832 - return CUP$Ada95ASTParser$result;
81.4833 -
81.4834 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4835 - case 338: // package_declaration ::= package_specification SEMICOLON
81.4836 - {
81.4837 - Statement RESULT =null;
81.4838 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.4839 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.4840 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.4841 -
81.4842 - RESULT = statement;
81.4843 -
81.4844 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("package_declaration",67, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4845 - }
81.4846 - return CUP$Ada95ASTParser$result;
81.4847 -
81.4848 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4849 - case 337: // procedure_call_statement ::= name SEMICOLON
81.4850 - {
81.4851 - Statement RESULT =null;
81.4852 -
81.4853 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("procedure_call_statement",109, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4854 - }
81.4855 - return CUP$Ada95ASTParser$result;
81.4856 -
81.4857 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4858 - case 336: // subprogram_body ::= subprogram_specification IS declarative_part block_body END id_opt SEMICOLON
81.4859 - {
81.4860 - MethodDeclaration RESULT =null;
81.4861 - int subprogleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).left;
81.4862 - int subprogright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).right;
81.4863 - SubprogramSpecification subprog = (SubprogramSpecification)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).value;
81.4864 - int declarativePartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
81.4865 - int declarativePartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
81.4866 - List declarativePart = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
81.4867 - int bodyleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.4868 - int bodyright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.4869 - Block body = (Block)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.4870 - int idOptleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.4871 - int idOptright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.4872 - String idOpt = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.4873 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.4874 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.4875 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.4876 -
81.4877 - if (idOpt != null && !idOpt.equalsIgnoreCase (subprog.getSubprogramName().getName())) {
81.4878 - this.parser.message_error("mispelling of " + subprog.getSubprogramName().getName());
81.4879 - } else {
81.4880 - Block declarations = new Block(subprogright, bodyleft, declarativePart);
81.4881 - body.setEndOffset(endright);
81.4882 - Identifier nameEnd = new Identifier(idOptleft, idOptright, idOpt);
81.4883 - SubprogramBody subprogramBody = new SubprogramBody(subprogleft, endright, subprog, declarations, body, nameEnd);
81.4884 - MethodDeclaration methodDeclaration = new MethodDeclaration(subprogleft, endright, 0/*modifier*/, subprogramBody);
81.4885 - RESULT = methodDeclaration;
81.4886 - }
81.4887 -
81.4888 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subprogram_body",58, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4889 - }
81.4890 - return CUP$Ada95ASTParser$result;
81.4891 -
81.4892 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4893 - case 335: // operator_symbol ::= STRING_LITERAL
81.4894 - {
81.4895 - String RESULT =null;
81.4896 - int stringLiteralleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.4897 - int stringLiteralright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.4898 - String stringLiteral = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.4899 -
81.4900 - RESULT = stringLiteral;
81.4901 -
81.4902 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("operator_symbol",65, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4903 - }
81.4904 - return CUP$Ada95ASTParser$result;
81.4905 -
81.4906 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4907 - case 334: // mode ::= ACCESS
81.4908 - {
81.4909 - FormalParameter.Mode RESULT =null;
81.4910 -
81.4911 - RESULT = FormalParameter.Mode.ACCESS;
81.4912 -
81.4913 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("mode",63, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4914 - }
81.4915 - return CUP$Ada95ASTParser$result;
81.4916 -
81.4917 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4918 - case 333: // mode ::= IN OUT
81.4919 - {
81.4920 - FormalParameter.Mode RESULT =null;
81.4921 -
81.4922 - RESULT = FormalParameter.Mode.IN_OUT;
81.4923 -
81.4924 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("mode",63, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4925 - }
81.4926 - return CUP$Ada95ASTParser$result;
81.4927 -
81.4928 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4929 - case 332: // mode ::= OUT
81.4930 - {
81.4931 - FormalParameter.Mode RESULT =null;
81.4932 -
81.4933 - RESULT = FormalParameter.Mode.OUT;
81.4934 -
81.4935 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("mode",63, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4936 - }
81.4937 - return CUP$Ada95ASTParser$result;
81.4938 -
81.4939 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4940 - case 331: // mode ::= IN
81.4941 - {
81.4942 - FormalParameter.Mode RESULT =null;
81.4943 -
81.4944 - RESULT = FormalParameter.Mode.IN;
81.4945 -
81.4946 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("mode",63, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4947 - }
81.4948 - return CUP$Ada95ASTParser$result;
81.4949 -
81.4950 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4951 - case 330: // mode ::=
81.4952 - {
81.4953 - FormalParameter.Mode RESULT =null;
81.4954 -
81.4955 - RESULT = FormalParameter.Mode.IN;
81.4956 -
81.4957 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("mode",63, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4958 - }
81.4959 - return CUP$Ada95ASTParser$result;
81.4960 -
81.4961 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4962 - case 329: // param ::= error SEMICOLON
81.4963 - {
81.4964 - List RESULT =null;
81.4965 - int theErrorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.4966 - int theErrorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.4967 - Object theError = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.4968 -
81.4969 - List list = new LinkedList();
81.4970 - ASTError error = new ASTError(theErrorleft, theErrorright);
81.4971 - list.add(error);
81.4972 - RESULT = list;
81.4973 -
81.4974 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("param",62, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.4975 - }
81.4976 - return CUP$Ada95ASTParser$result;
81.4977 -
81.4978 - /*. . . . . . . . . . . . . . . . . . . .*/
81.4979 - case 328: // param ::= defining_identifier_list COLON mode subtype_mark init_opt
81.4980 - {
81.4981 - List RESULT =null;
81.4982 - int identifierListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
81.4983 - int identifierListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
81.4984 - List identifierList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
81.4985 - int modeleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.4986 - int moderight = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.4987 - FormalParameter.Mode mode = (FormalParameter.Mode)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.4988 - int subtypeleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.4989 - int subtyperight = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.4990 - String subtype = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.4991 - int initleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.4992 - int initright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.4993 - Expression init = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.4994 -
81.4995 - List list = new LinkedList();
81.4996 - Identifier subtypeId = new Identifier(subtypeleft, subtyperight, subtype);
81.4997 - TypeName typeName = new TypeName(subtypeleft, subtyperight, subtypeId);
81.4998 - for (Object item : identifierList) {
81.4999 - Identifier identifier = (Identifier)item;
81.5000 - Variable variable = new Variable (identifier.getStartOffset(), identifier.getEndOffset(), identifier);
81.5001 - int end = init == null ? subtyperight : initright;
81.5002 - FormalParameter parameter = new FormalParameter(identifierListleft, end, variable, mode, typeName, init);
81.5003 - list.add(parameter);
81.5004 - }
81.5005 - RESULT = list;
81.5006 -
81.5007 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("param",62, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5008 - }
81.5009 - return CUP$Ada95ASTParser$result;
81.5010 -
81.5011 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5012 - case 327: // param_s ::= param_s SEMICOLON param
81.5013 - {
81.5014 - List RESULT =null;
81.5015 - int listleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.5016 - int listright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.5017 - List list = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.5018 - int parameterleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5019 - int parameterright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5020 - List parameter = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5021 -
81.5022 - list.addAll(parameter);
81.5023 - RESULT = list;
81.5024 -
81.5025 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("param_s",59, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5026 - }
81.5027 - return CUP$Ada95ASTParser$result;
81.5028 -
81.5029 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5030 - case 326: // param_s ::= param
81.5031 - {
81.5032 - List RESULT =null;
81.5033 - int parameterleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5034 - int parameterright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5035 - List parameter = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5036 -
81.5037 - List list = new LinkedList();
81.5038 - list.addAll(parameter);
81.5039 - RESULT = list;
81.5040 -
81.5041 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("param_s",59, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5042 - }
81.5043 - return CUP$Ada95ASTParser$result;
81.5044 -
81.5045 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5046 - case 325: // formal_part ::= LPAREN param_s RPAREN
81.5047 - {
81.5048 - List RESULT =null;
81.5049 - int listleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.5050 - int listright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.5051 - List list = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.5052 -
81.5053 - RESULT = list;
81.5054 -
81.5055 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("formal_part",61, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5056 - }
81.5057 - return CUP$Ada95ASTParser$result;
81.5058 -
81.5059 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5060 - case 324: // formal_part_opt ::= formal_part
81.5061 - {
81.5062 - List RESULT =null;
81.5063 - int listleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5064 - int listright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5065 - List list = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5066 -
81.5067 - RESULT = list;
81.5068 -
81.5069 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("formal_part_opt",60, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5070 - }
81.5071 - return CUP$Ada95ASTParser$result;
81.5072 -
81.5073 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5074 - case 323: // formal_part_opt ::=
81.5075 - {
81.5076 - List RESULT =null;
81.5077 -
81.5078 - List list = new LinkedList();
81.5079 - RESULT = list;
81.5080 -
81.5081 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("formal_part_opt",60, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5082 - }
81.5083 - return CUP$Ada95ASTParser$result;
81.5084 -
81.5085 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5086 - case 322: // designator ::= operator_symbol
81.5087 - {
81.5088 - String RESULT =null;
81.5089 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5090 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5091 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5092 -
81.5093 - RESULT = name;
81.5094 -
81.5095 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("designator",64, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5096 - }
81.5097 - return CUP$Ada95ASTParser$result;
81.5098 -
81.5099 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5100 - case 321: // designator ::= compound_name
81.5101 - {
81.5102 - String RESULT =null;
81.5103 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5104 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5105 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5106 -
81.5107 - RESULT = name;
81.5108 -
81.5109 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("designator",64, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5110 - }
81.5111 - return CUP$Ada95ASTParser$result;
81.5112 -
81.5113 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5114 - case 320: // subprogram_specification ::= FUNCTION designator
81.5115 - {
81.5116 - SubprogramSpecification RESULT =null;
81.5117 - int functionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.5118 - int functionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.5119 - Object function = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.5120 - int functionNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5121 - int functionNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5122 - String functionName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5123 -
81.5124 - Identifier functionId = new Identifier(functionNameleft, functionNameright, functionName);
81.5125 - SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, functionNameright, functionId);
81.5126 - RESULT = subprogramSpecification;
81.5127 -
81.5128 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subprogram_specification",56, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5129 - }
81.5130 - return CUP$Ada95ASTParser$result;
81.5131 -
81.5132 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5133 - case 319: // subprogram_specification ::= FUNCTION designator formal_part_opt RETURN name
81.5134 - {
81.5135 - SubprogramSpecification RESULT =null;
81.5136 - int functionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
81.5137 - int functionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
81.5138 - Object function = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
81.5139 - int functionNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.5140 - int functionNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.5141 - String functionName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.5142 - int formalPartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.5143 - int formalPartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.5144 - List formalPart = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.5145 - int subtypeMarkleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5146 - int subtypeMarkright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5147 - String subtypeMark = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5148 -
81.5149 - Identifier functionId = new Identifier(functionNameleft, functionNameright, functionName);
81.5150 - Identifier subtypeReturn = new Identifier(subtypeMarkleft, subtypeMarkright, subtypeMark);
81.5151 - SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, subtypeMarkright, functionId, formalPart, subtypeReturn);
81.5152 - RESULT = subprogramSpecification;
81.5153 -
81.5154 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subprogram_specification",56, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5155 - }
81.5156 - return CUP$Ada95ASTParser$result;
81.5157 -
81.5158 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5159 - case 318: // subprogram_specification ::= PROCEDURE compound_name formal_part_opt
81.5160 - {
81.5161 - SubprogramSpecification RESULT =null;
81.5162 - int procedureleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.5163 - int procedureright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.5164 - Object procedure = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.5165 - int procedureNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.5166 - int procedureNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.5167 - String procedureName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.5168 - int formalPartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5169 - int formalPartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5170 - List formalPart = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5171 -
81.5172 - Identifier procedureId = new Identifier(procedureNameleft, procedureNameright, procedureName);
81.5173 - SubprogramSpecification subprogramSpecification = new SubprogramSpecification(procedureleft, formalPartright, procedureId, formalPart);
81.5174 - RESULT = subprogramSpecification;
81.5175 -
81.5176 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subprogram_specification",56, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5177 - }
81.5178 - return CUP$Ada95ASTParser$result;
81.5179 -
81.5180 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5181 - case 317: // subprog_declaration ::= subprogram_specification IS ABSTRACT SEMICOLON
81.5182 - {
81.5183 - Statement RESULT =null;
81.5184 - int subprogleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.5185 - int subprogright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.5186 - SubprogramSpecification subprog = (SubprogramSpecification)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.5187 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5188 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5189 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5190 -
81.5191 - RESULT = new MethodDeclaration(subprogleft, endright, Ada95ASTParser.ABSTRACT, subprog);
81.5192 -
81.5193 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subprog_declaration",3, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5194 - }
81.5195 - return CUP$Ada95ASTParser$result;
81.5196 -
81.5197 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5198 - case 316: // subprog_declaration ::= generic_subp_inst SEMICOLON
81.5199 - {
81.5200 - Statement RESULT =null;
81.5201 - int subprogleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.5202 - int subprogright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.5203 - SubprogramSpecification subprog = (SubprogramSpecification)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.5204 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5205 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5206 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5207 -
81.5208 - RESULT = new MethodDeclaration(subprogleft, endright, 0/*modifier*/, subprog);
81.5209 -
81.5210 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subprog_declaration",3, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5211 - }
81.5212 - return CUP$Ada95ASTParser$result;
81.5213 -
81.5214 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5215 - case 315: // subprog_declaration ::= subprogram_specification SEMICOLON
81.5216 - {
81.5217 - Statement RESULT =null;
81.5218 - int subprogleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.5219 - int subprogright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.5220 - SubprogramSpecification subprog = (SubprogramSpecification)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.5221 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5222 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5223 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5224 -
81.5225 - RESULT = new MethodDeclaration(subprogleft, endright, 0/*modifier*/, subprog);
81.5226 -
81.5227 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subprog_declaration",3, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5228 - }
81.5229 - return CUP$Ada95ASTParser$result;
81.5230 -
81.5231 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5232 - case 314: // goto_statement ::= GOTO name SEMICOLON
81.5233 - {
81.5234 - Statement RESULT =null;
81.5235 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.5236 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.5237 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.5238 - int labelNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.5239 - int labelNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.5240 - String labelName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.5241 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5242 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5243 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5244 -
81.5245 - RESULT = new GotoStatement(tokenleft, endright, labelName);
81.5246 -
81.5247 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("goto_statement",55, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5248 - }
81.5249 - return CUP$Ada95ASTParser$result;
81.5250 -
81.5251 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5252 - case 313: // return_statement ::= RETURN expression SEMICOLON
81.5253 - {
81.5254 - Statement RESULT =null;
81.5255 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.5256 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.5257 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.5258 - int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.5259 - int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.5260 - Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.5261 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5262 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5263 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5264 -
81.5265 - RESULT = new ReturnStatement(tokenleft, endright, expr);
81.5266 -
81.5267 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("return_statement",66, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5268 - }
81.5269 - return CUP$Ada95ASTParser$result;
81.5270 -
81.5271 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5272 - case 312: // return_statement ::= RETURN SEMICOLON
81.5273 - {
81.5274 - Statement RESULT =null;
81.5275 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.5276 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.5277 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.5278 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5279 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5280 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5281 -
81.5282 - RESULT = new ReturnStatement(tokenleft, endright);
81.5283 -
81.5284 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("return_statement",66, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5285 - }
81.5286 - return CUP$Ada95ASTParser$result;
81.5287 -
81.5288 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5289 - case 311: // when_opt ::= WHEN condition
81.5290 - {
81.5291 - Expression RESULT =null;
81.5292 - int condleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5293 - int condright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5294 - Expression cond = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5295 -
81.5296 - RESULT = cond;
81.5297 -
81.5298 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("when_opt",108, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5299 - }
81.5300 - return CUP$Ada95ASTParser$result;
81.5301 -
81.5302 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5303 - case 310: // when_opt ::=
81.5304 - {
81.5305 - Expression RESULT =null;
81.5306 -
81.5307 - RESULT = null;
81.5308 -
81.5309 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("when_opt",108, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5310 - }
81.5311 - return CUP$Ada95ASTParser$result;
81.5312 -
81.5313 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5314 - case 309: // name_opt ::= name
81.5315 - {
81.5316 - String RESULT =null;
81.5317 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5318 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5319 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5320 -
81.5321 - RESULT = name;
81.5322 -
81.5323 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("name_opt",54, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5324 - }
81.5325 - return CUP$Ada95ASTParser$result;
81.5326 -
81.5327 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5328 - case 308: // name_opt ::=
81.5329 - {
81.5330 - String RESULT =null;
81.5331 -
81.5332 - RESULT = null;
81.5333 -
81.5334 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("name_opt",54, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5335 - }
81.5336 - return CUP$Ada95ASTParser$result;
81.5337 -
81.5338 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5339 - case 307: // exit_statement ::= EXIT name_opt when_opt SEMICOLON
81.5340 - {
81.5341 - Statement RESULT =null;
81.5342 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.5343 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.5344 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.5345 - int loopNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.5346 - int loopNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.5347 - String loopName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.5348 - int whenConditionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.5349 - int whenConditionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.5350 - Expression whenCondition = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.5351 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5352 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5353 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5354 -
81.5355 - RESULT = new ExitStatement(tokenleft, endright, loopName, whenCondition);
81.5356 -
81.5357 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("exit_statement",53, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5358 - }
81.5359 - return CUP$Ada95ASTParser$result;
81.5360 -
81.5361 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5362 - case 306: // except_handler_part_opt ::= except_handler_part
81.5363 - {
81.5364 - Object RESULT =null;
81.5365 -
81.5366 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("except_handler_part_opt",182, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5367 - }
81.5368 - return CUP$Ada95ASTParser$result;
81.5369 -
81.5370 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5371 - case 305: // except_handler_part_opt ::=
81.5372 - {
81.5373 - Object RESULT =null;
81.5374 -
81.5375 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("except_handler_part_opt",182, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5376 - }
81.5377 - return CUP$Ada95ASTParser$result;
81.5378 -
81.5379 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5380 - case 304: // handled_stmt_s ::= sequence_of_statements except_handler_part_opt
81.5381 - {
81.5382 - List RESULT =null;
81.5383 - int statementsleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.5384 - int statementsright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.5385 - List statements = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.5386 -
81.5387 - RESULT = statements;
81.5388 -
81.5389 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("handled_stmt_s",101, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5390 - }
81.5391 - return CUP$Ada95ASTParser$result;
81.5392 -
81.5393 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5394 - case 303: // block_body ::= BEGIN handled_stmt_s
81.5395 - {
81.5396 - Block RESULT =null;
81.5397 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.5398 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.5399 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.5400 - int statementsleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5401 - int statementsright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5402 - List statements = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5403 -
81.5404 - Block body = new Block(tokenright, statementsright, statements);
81.5405 - RESULT = body;
81.5406 -
81.5407 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("block_body",52, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5408 - }
81.5409 - return CUP$Ada95ASTParser$result;
81.5410 -
81.5411 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5412 - case 302: // block_declarative ::= DECLARE declarative_part
81.5413 - {
81.5414 - Block RESULT =null;
81.5415 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.5416 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.5417 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.5418 - int declarativePartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5419 - int declarativePartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5420 - List declarativePart = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5421 -
81.5422 - Block declarations = new Block(tokenright, declarativePartleft, declarativePart);
81.5423 - RESULT = declarations;
81.5424 -
81.5425 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("block_declarative",51, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5426 - }
81.5427 - return CUP$Ada95ASTParser$result;
81.5428 -
81.5429 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5430 - case 301: // block_declarative ::=
81.5431 - {
81.5432 - Block RESULT =null;
81.5433 -
81.5434 - RESULT = null;
81.5435 -
81.5436 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("block_declarative",51, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5437 - }
81.5438 - return CUP$Ada95ASTParser$result;
81.5439 -
81.5440 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5441 - case 300: // block_statement ::= label_opt block_declarative block_body END id_opt SEMICOLON
81.5442 - {
81.5443 - BlockStatement RESULT =null;
81.5444 - int labelleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
81.5445 - int labelright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
81.5446 - String label = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
81.5447 - int declarationsleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
81.5448 - int declarationsright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
81.5449 - Block declarations = (Block)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
81.5450 - int bodyleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.5451 - int bodyright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.5452 - Block body = (Block)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.5453 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5454 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5455 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5456 -
81.5457 - int start = (label == null) ? declarationsleft : labelleft;
81.5458 - Identifier identifier = new Identifier(labelleft, labelright, label);
81.5459 - BlockStatement blockStatement = new BlockStatement (start, endleft, identifier, declarations, body);
81.5460 - RESULT = blockStatement;
81.5461 -
81.5462 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("block_statement",50, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5463 - }
81.5464 - return CUP$Ada95ASTParser$result;
81.5465 -
81.5466 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5467 - case 299: // id_opt ::= designator
81.5468 - {
81.5469 - String RESULT =null;
81.5470 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5471 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5472 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5473 -
81.5474 - RESULT = name;
81.5475 -
81.5476 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("id_opt",104, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5477 - }
81.5478 - return CUP$Ada95ASTParser$result;
81.5479 -
81.5480 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5481 - case 298: // id_opt ::=
81.5482 - {
81.5483 - String RESULT =null;
81.5484 -
81.5485 - RESULT = null;
81.5486 -
81.5487 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("id_opt",104, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5488 - }
81.5489 - return CUP$Ada95ASTParser$result;
81.5490 -
81.5491 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5492 - case 297: // basic_loop ::= LOOP sequence_of_statements END LOOP
81.5493 - {
81.5494 - Block RESULT =null;
81.5495 - int statementsleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.5496 - int statementsright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.5497 - List statements = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.5498 -
81.5499 - Block loopBlock = new Block(statementsleft, statementsright, statements);
81.5500 - RESULT = loopBlock;
81.5501 -
81.5502 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("basic_loop",48, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5503 - }
81.5504 - return CUP$Ada95ASTParser$result;
81.5505 -
81.5506 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5507 - case 296: // reverse_opt ::= REVERSE
81.5508 - {
81.5509 - Object RESULT =null;
81.5510 -
81.5511 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("reverse_opt",181, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5512 - }
81.5513 - return CUP$Ada95ASTParser$result;
81.5514 -
81.5515 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5516 - case 295: // reverse_opt ::=
81.5517 - {
81.5518 - Object RESULT =null;
81.5519 -
81.5520 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("reverse_opt",181, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5521 - }
81.5522 - return CUP$Ada95ASTParser$result;
81.5523 -
81.5524 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5525 - case 294: // iter_part ::= FOR IDENTIFIER IN
81.5526 - {
81.5527 - Object RESULT =null;
81.5528 -
81.5529 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("iter_part",180, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5530 - }
81.5531 - return CUP$Ada95ASTParser$result;
81.5532 -
81.5533 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5534 - case 293: // iteration ::= iter_part reverse_opt discrete_range
81.5535 - {
81.5536 - Expression RESULT =null;
81.5537 - int conditionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5538 - int conditionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5539 - Expression condition = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5540 -
81.5541 - RESULT = condition;
81.5542 -
81.5543 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("iteration",49, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5544 - }
81.5545 - return CUP$Ada95ASTParser$result;
81.5546 -
81.5547 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5548 - case 292: // iteration ::= WHILE condition
81.5549 - {
81.5550 - Expression RESULT =null;
81.5551 - int conditionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5552 - int conditionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5553 - Expression condition = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5554 -
81.5555 - RESULT = condition;
81.5556 -
81.5557 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("iteration",49, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5558 - }
81.5559 - return CUP$Ada95ASTParser$result;
81.5560 -
81.5561 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5562 - case 291: // iteration ::=
81.5563 - {
81.5564 - Expression RESULT =null;
81.5565 -
81.5566 - RESULT = null;
81.5567 -
81.5568 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("iteration",49, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5569 - }
81.5570 - return CUP$Ada95ASTParser$result;
81.5571 -
81.5572 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5573 - case 290: // label_opt ::= IDENTIFIER COLON
81.5574 - {
81.5575 - String RESULT =null;
81.5576 - int idleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.5577 - int idright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.5578 - String id = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.5579 -
81.5580 - RESULT = id;
81.5581 -
81.5582 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("label_opt",112, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5583 - }
81.5584 - return CUP$Ada95ASTParser$result;
81.5585 -
81.5586 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5587 - case 289: // label_opt ::=
81.5588 - {
81.5589 - String RESULT =null;
81.5590 -
81.5591 - RESULT = null;
81.5592 -
81.5593 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("label_opt",112, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5594 - }
81.5595 - return CUP$Ada95ASTParser$result;
81.5596 -
81.5597 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5598 - case 288: // loop_statement ::= label_opt iteration basic_loop id_opt SEMICOLON
81.5599 - {
81.5600 - LoopStatement RESULT =null;
81.5601 - int labelleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
81.5602 - int labelright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
81.5603 - String label = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
81.5604 - int iterationleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.5605 - int iterationright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.5606 - Expression iteration = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.5607 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.5608 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.5609 - Block statement = (Block)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.5610 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5611 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5612 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5613 -
81.5614 - int start = (label == null) ? iterationleft : labelleft;
81.5615 - Identifier identifier = new Identifier(labelleft, labelright, label);
81.5616 - LoopStatement loopStatement = new LoopStatement(start, endright, identifier, iteration, statement);
81.5617 - RESULT = loopStatement;
81.5618 -
81.5619 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("loop_statement",47, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5620 - }
81.5621 - return CUP$Ada95ASTParser$result;
81.5622 -
81.5623 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5624 - case 287: // alternative ::= WHEN choice_s ARROW sequence_of_statements
81.5625 - {
81.5626 - CaseWhen RESULT =null;
81.5627 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.5628 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.5629 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.5630 - int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.5631 - int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.5632 - Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.5633 - int statementsleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5634 - int statementsright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5635 - List statements = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5636 -
81.5637 - CaseWhen caseWhen = new CaseWhen(tokenleft, statementsright, expr, statements);
81.5638 - RESULT = caseWhen;
81.5639 -
81.5640 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("alternative",46, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5641 - }
81.5642 - return CUP$Ada95ASTParser$result;
81.5643 -
81.5644 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5645 - case 286: // alternative_s ::= alternative_s alternative
81.5646 - {
81.5647 - List RESULT =null;
81.5648 - int whenListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.5649 - int whenListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.5650 - List whenList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.5651 - int whenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5652 - int whenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5653 - CaseWhen when = (CaseWhen)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5654 -
81.5655 - whenList.add (when);
81.5656 - RESULT = whenList;
81.5657 -
81.5658 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("alternative_s",45, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5659 - }
81.5660 - return CUP$Ada95ASTParser$result;
81.5661 -
81.5662 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5663 - case 285: // alternative_s ::=
81.5664 - {
81.5665 - List RESULT =null;
81.5666 -
81.5667 - RESULT = new LinkedList();
81.5668 -
81.5669 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("alternative_s",45, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5670 - }
81.5671 - return CUP$Ada95ASTParser$result;
81.5672 -
81.5673 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5674 - case 284: // case_statement ::= CASE expression IS pragma_s alternative_s END CASE SEMICOLON
81.5675 - {
81.5676 - CaseStatement RESULT =null;
81.5677 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-7)).left;
81.5678 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-7)).right;
81.5679 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-7)).value;
81.5680 - int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).left;
81.5681 - int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).right;
81.5682 - Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).value;
81.5683 - int whenListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.5684 - int whenListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.5685 - List whenList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.5686 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5687 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5688 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5689 -
81.5690 - Block whenBlock = new Block(whenListleft, whenListright, whenList);
81.5691 - CaseStatement caseStatement = new CaseStatement(tokenleft, endright, expr, whenBlock);
81.5692 - RESULT = caseStatement;
81.5693 -
81.5694 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("case_statement",44, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-7)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5695 - }
81.5696 - return CUP$Ada95ASTParser$result;
81.5697 -
81.5698 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5699 - case 283: // else_opt ::= ELSE sequence_of_statements
81.5700 - {
81.5701 - Block RESULT =null;
81.5702 - int statementsleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5703 - int statementsright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5704 - List statements = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5705 -
81.5706 - Block block = new Block(statementsleft, statementsright, statements);
81.5707 - RESULT = block;
81.5708 -
81.5709 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("else_opt",43, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5710 - }
81.5711 - return CUP$Ada95ASTParser$result;
81.5712 -
81.5713 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5714 - case 282: // else_opt ::=
81.5715 - {
81.5716 - Block RESULT =null;
81.5717 -
81.5718 - RESULT = null;
81.5719 -
81.5720 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("else_opt",43, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5721 - }
81.5722 - return CUP$Ada95ASTParser$result;
81.5723 -
81.5724 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5725 - case 281: // condition ::= expression
81.5726 - {
81.5727 - Expression RESULT =null;
81.5728 - int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5729 - int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5730 - Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5731 -
81.5732 - RESULT = expr;
81.5733 -
81.5734 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("condition",42, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5735 - }
81.5736 - return CUP$Ada95ASTParser$result;
81.5737 -
81.5738 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5739 - case 280: // cond_clause_s ::= cond_clause_s ELSIF condition THEN sequence_of_statements
81.5740 - {
81.5741 - List[] RESULT =null;
81.5742 - int condListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
81.5743 - int condListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
81.5744 - List[] condList = (List[])((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
81.5745 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.5746 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.5747 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.5748 - int conditionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.5749 - int conditionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.5750 - Expression condition = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.5751 - int iftrueleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5752 - int iftrueright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5753 - List iftrue = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5754 -
81.5755 - Block block = new Block(iftrueleft, iftrueright, iftrue);
81.5756 - ((LinkedList)condList[0]).addFirst(condition);
81.5757 - ((LinkedList)condList[1]).addFirst(block);
81.5758 - ((LinkedList)condList[2]).addFirst(new Integer(tokenleft));
81.5759 -
81.5760 - RESULT = condList;
81.5761 -
81.5762 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("cond_clause_s",41, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5763 - }
81.5764 - return CUP$Ada95ASTParser$result;
81.5765 -
81.5766 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5767 - case 279: // cond_clause_s ::= condition THEN sequence_of_statements
81.5768 - {
81.5769 - List[] RESULT =null;
81.5770 - int conditionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.5771 - int conditionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.5772 - Expression condition = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.5773 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.5774 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.5775 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.5776 - int iftrueleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5777 - int iftrueright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5778 - List iftrue = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5779 -
81.5780 - List listConditions = new LinkedList();
81.5781 - List listStatements = new LinkedList();
81.5782 - List listTokens = new LinkedList();
81.5783 -
81.5784 - Block block = new Block(iftrueleft, iftrueright, iftrue);
81.5785 - listConditions.add(condition);
81.5786 - listStatements.add(block);
81.5787 - listTokens.add(new Integer(tokenleft));
81.5788 -
81.5789 - List[] returnList = new List[] { listConditions, listStatements, listTokens };
81.5790 -
81.5791 - RESULT = returnList;
81.5792 -
81.5793 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("cond_clause_s",41, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5794 - }
81.5795 - return CUP$Ada95ASTParser$result;
81.5796 -
81.5797 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5798 - case 278: // if_statement ::= IF cond_clause_s else_opt END IF SEMICOLON
81.5799 - {
81.5800 - IfStatement RESULT =null;
81.5801 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
81.5802 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
81.5803 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
81.5804 - int condListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
81.5805 - int condListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
81.5806 - List[] condList = (List[])((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
81.5807 - int iffalseleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.5808 - int iffalseright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.5809 - Block iffalse = (Block)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.5810 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5811 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5812 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5813 -
81.5814 - Expression innerCondition = null;
81.5815 - Expression firstCondition = null;
81.5816 - Statement trueStatement = null;
81.5817 - Statement falseStatement = iffalse;
81.5818 -
81.5819 - for (int i=1 ; i < condList[0].size() ; i++) {
81.5820 - innerCondition = (Expression)condList[0].get(i);
81.5821 - trueStatement = (Statement)condList[1].get(i);
81.5822 - int start = ((Integer)condList[2].get(i)).intValue();
81.5823 - falseStatement = new IfStatement(start, endright, innerCondition, trueStatement, falseStatement);
81.5824 - }
81.5825 -
81.5826 - firstCondition = (Expression)condList[0].get(0);
81.5827 - trueStatement = (Statement)condList[1].get(0);
81.5828 - int start = ((Integer)condList[2].get(0)).intValue();
81.5829 - IfStatement ifStatement = new IfStatement(tokenleft, endright, firstCondition, trueStatement, falseStatement);
81.5830 -
81.5831 - RESULT = ifStatement;
81.5832 -
81.5833 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("if_statement",40, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5834 - }
81.5835 - return CUP$Ada95ASTParser$result;
81.5836 -
81.5837 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5838 - case 277: // assignment_statement ::= name ASSIGNMENT expression SEMICOLON
81.5839 - {
81.5840 - Statement RESULT =null;
81.5841 - int varleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.5842 - int varright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.5843 - String var = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.5844 - int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.5845 - int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.5846 - Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.5847 -
81.5848 - System.out.println ("assignment_statement ::= var => " + var);
81.5849 - System.out.println ("assignment_statement ::= expr => " + expr);
81.5850 - Identifier id = new Identifier(varleft, varright, var);
81.5851 - Variable variable = new Variable (varleft, varright, (Identifier)id);
81.5852 - Assignment assignment = new Assignment(varleft, exprright, variable, expr);
81.5853 - RESULT = assignment;
81.5854 -
81.5855 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("assignment_statement",39, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5856 - }
81.5857 - return CUP$Ada95ASTParser$result;
81.5858 -
81.5859 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5860 - case 276: // null_statement ::= NULL SEMICOLON
81.5861 - {
81.5862 - Statement RESULT =null;
81.5863 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.5864 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.5865 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.5866 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5867 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5868 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5869 -
81.5870 - RESULT = new NullStatement(tokenleft, endright);
81.5871 -
81.5872 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("null_statement",38, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5873 - }
81.5874 - return CUP$Ada95ASTParser$result;
81.5875 -
81.5876 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5877 - case 275: // label ::= LTLT IDENTIFIER GTGT
81.5878 - {
81.5879 - Object RESULT =null;
81.5880 -
81.5881 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("label",176, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5882 - }
81.5883 - return CUP$Ada95ASTParser$result;
81.5884 -
81.5885 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5886 - case 274: // compound_statement ::= select_stmt
81.5887 - {
81.5888 - Statement RESULT =null;
81.5889 -
81.5890 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("compound_statement",37, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5891 - }
81.5892 - return CUP$Ada95ASTParser$result;
81.5893 -
81.5894 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5895 - case 273: // compound_statement ::= accept_stmt
81.5896 - {
81.5897 - Statement RESULT =null;
81.5898 -
81.5899 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("compound_statement",37, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5900 - }
81.5901 - return CUP$Ada95ASTParser$result;
81.5902 -
81.5903 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5904 - case 272: // compound_statement ::= block_statement
81.5905 - {
81.5906 - Statement RESULT =null;
81.5907 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5908 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5909 - BlockStatement statement = (BlockStatement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5910 -
81.5911 - RESULT = statement;
81.5912 -
81.5913 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("compound_statement",37, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5914 - }
81.5915 - return CUP$Ada95ASTParser$result;
81.5916 -
81.5917 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5918 - case 271: // compound_statement ::= loop_statement
81.5919 - {
81.5920 - Statement RESULT =null;
81.5921 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5922 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5923 - LoopStatement statement = (LoopStatement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5924 -
81.5925 - RESULT = statement;
81.5926 -
81.5927 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("compound_statement",37, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5928 - }
81.5929 - return CUP$Ada95ASTParser$result;
81.5930 -
81.5931 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5932 - case 270: // compound_statement ::= case_statement
81.5933 - {
81.5934 - Statement RESULT =null;
81.5935 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5936 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5937 - CaseStatement statement = (CaseStatement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5938 -
81.5939 - RESULT = statement;
81.5940 -
81.5941 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("compound_statement",37, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5942 - }
81.5943 - return CUP$Ada95ASTParser$result;
81.5944 -
81.5945 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5946 - case 269: // compound_statement ::= if_statement
81.5947 - {
81.5948 - Statement RESULT =null;
81.5949 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5950 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5951 - IfStatement statement = (IfStatement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5952 -
81.5953 - RESULT = statement;
81.5954 -
81.5955 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("compound_statement",37, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5956 - }
81.5957 - return CUP$Ada95ASTParser$result;
81.5958 -
81.5959 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5960 - case 268: // simple_statement ::= error SEMICOLON
81.5961 - {
81.5962 - Statement RESULT =null;
81.5963 - int theErrorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.5964 - int theErrorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.5965 - Object theError = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.5966 -
81.5967 - ASTError error = new ASTError(theErrorleft, theErrorright);
81.5968 - RESULT = error;
81.5969 -
81.5970 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5971 - }
81.5972 - return CUP$Ada95ASTParser$result;
81.5973 -
81.5974 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5975 - case 267: // simple_statement ::= requeue_stmt
81.5976 - {
81.5977 - Statement RESULT =null;
81.5978 -
81.5979 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5980 - }
81.5981 - return CUP$Ada95ASTParser$result;
81.5982 -
81.5983 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5984 - case 266: // simple_statement ::= code_statement
81.5985 - {
81.5986 - Statement RESULT =null;
81.5987 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.5988 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.5989 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.5990 -
81.5991 - RESULT = statement;
81.5992 -
81.5993 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.5994 - }
81.5995 - return CUP$Ada95ASTParser$result;
81.5996 -
81.5997 - /*. . . . . . . . . . . . . . . . . . . .*/
81.5998 - case 265: // simple_statement ::= raise_statement
81.5999 - {
81.6000 - Statement RESULT =null;
81.6001 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6002 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6003 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6004 -
81.6005 - RESULT = statement;
81.6006 -
81.6007 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6008 - }
81.6009 - return CUP$Ada95ASTParser$result;
81.6010 -
81.6011 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6012 - case 264: // simple_statement ::= abort_statement
81.6013 - {
81.6014 - Statement RESULT =null;
81.6015 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6016 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6017 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6018 -
81.6019 - RESULT = statement;
81.6020 -
81.6021 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6022 - }
81.6023 - return CUP$Ada95ASTParser$result;
81.6024 -
81.6025 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6026 - case 263: // simple_statement ::= delay_statement
81.6027 - {
81.6028 - Statement RESULT =null;
81.6029 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6030 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6031 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6032 -
81.6033 - RESULT = statement;
81.6034 -
81.6035 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6036 - }
81.6037 - return CUP$Ada95ASTParser$result;
81.6038 -
81.6039 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6040 - case 262: // simple_statement ::= procedure_call_statement
81.6041 - {
81.6042 - Statement RESULT =null;
81.6043 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6044 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6045 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6046 -
81.6047 - RESULT = statement;
81.6048 -
81.6049 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6050 - }
81.6051 - return CUP$Ada95ASTParser$result;
81.6052 -
81.6053 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6054 - case 261: // simple_statement ::= goto_statement
81.6055 - {
81.6056 - Statement RESULT =null;
81.6057 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6058 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6059 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6060 -
81.6061 - RESULT = statement;
81.6062 -
81.6063 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6064 - }
81.6065 - return CUP$Ada95ASTParser$result;
81.6066 -
81.6067 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6068 - case 260: // simple_statement ::= return_statement
81.6069 - {
81.6070 - Statement RESULT =null;
81.6071 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6072 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6073 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6074 -
81.6075 - RESULT = statement;
81.6076 -
81.6077 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6078 - }
81.6079 - return CUP$Ada95ASTParser$result;
81.6080 -
81.6081 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6082 - case 259: // simple_statement ::= exit_statement
81.6083 - {
81.6084 - Statement RESULT =null;
81.6085 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6086 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6087 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6088 -
81.6089 - RESULT = statement;
81.6090 -
81.6091 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6092 - }
81.6093 - return CUP$Ada95ASTParser$result;
81.6094 -
81.6095 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6096 - case 258: // simple_statement ::= assignment_statement
81.6097 - {
81.6098 - Statement RESULT =null;
81.6099 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6100 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6101 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6102 -
81.6103 - RESULT = statement;
81.6104 -
81.6105 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6106 - }
81.6107 - return CUP$Ada95ASTParser$result;
81.6108 -
81.6109 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6110 - case 257: // simple_statement ::= null_statement
81.6111 - {
81.6112 - Statement RESULT =null;
81.6113 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6114 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6115 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6116 -
81.6117 - RESULT = statement;
81.6118 -
81.6119 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6120 - }
81.6121 - return CUP$Ada95ASTParser$result;
81.6122 -
81.6123 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6124 - case 256: // unlabeled ::= pragma
81.6125 - {
81.6126 - Statement RESULT =null;
81.6127 -
81.6128 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("unlabeled",105, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6129 - }
81.6130 - return CUP$Ada95ASTParser$result;
81.6131 -
81.6132 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6133 - case 255: // unlabeled ::= compound_statement
81.6134 - {
81.6135 - Statement RESULT =null;
81.6136 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6137 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6138 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6139 -
81.6140 - RESULT = statement;
81.6141 -
81.6142 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("unlabeled",105, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6143 - }
81.6144 - return CUP$Ada95ASTParser$result;
81.6145 -
81.6146 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6147 - case 254: // unlabeled ::= simple_statement
81.6148 - {
81.6149 - Statement RESULT =null;
81.6150 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6151 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6152 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6153 -
81.6154 - RESULT = statement;
81.6155 -
81.6156 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("unlabeled",105, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6157 - }
81.6158 - return CUP$Ada95ASTParser$result;
81.6159 -
81.6160 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6161 - case 253: // statement ::= label statement
81.6162 - {
81.6163 - Statement RESULT =null;
81.6164 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6165 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6166 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6167 -
81.6168 - RESULT = statement;
81.6169 -
81.6170 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("statement",102, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6171 - }
81.6172 - return CUP$Ada95ASTParser$result;
81.6173 -
81.6174 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6175 - case 252: // statement ::= unlabeled
81.6176 - {
81.6177 - Statement RESULT =null;
81.6178 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6179 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6180 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6181 -
81.6182 - RESULT = statement;
81.6183 -
81.6184 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("statement",102, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6185 - }
81.6186 - return CUP$Ada95ASTParser$result;
81.6187 -
81.6188 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6189 - case 251: // sequence_of_statements ::= sequence_of_statements statement
81.6190 - {
81.6191 - List RESULT =null;
81.6192 - int listleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.6193 - int listright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.6194 - List list = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.6195 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6196 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6197 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6198 -
81.6199 - list.add(statement);
81.6200 - RESULT = list;
81.6201 -
81.6202 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("sequence_of_statements",35, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6203 - }
81.6204 - return CUP$Ada95ASTParser$result;
81.6205 -
81.6206 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6207 - case 250: // sequence_of_statements ::= statement
81.6208 - {
81.6209 - List RESULT =null;
81.6210 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6211 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6212 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6213 -
81.6214 - List list = new LinkedList();
81.6215 - list.add(statement);
81.6216 - RESULT = list;
81.6217 -
81.6218 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("sequence_of_statements",35, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6219 - }
81.6220 - return CUP$Ada95ASTParser$result;
81.6221 -
81.6222 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6223 - case 249: // allocator ::= NEW qualified_expression
81.6224 - {
81.6225 - Object RESULT =null;
81.6226 -
81.6227 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("allocator",175, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6228 - }
81.6229 - return CUP$Ada95ASTParser$result;
81.6230 -
81.6231 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6232 - case 248: // allocator ::= NEW name
81.6233 - {
81.6234 - Object RESULT =null;
81.6235 -
81.6236 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("allocator",175, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6237 - }
81.6238 - return CUP$Ada95ASTParser$result;
81.6239 -
81.6240 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6241 - case 247: // qualified_expression ::= name TICK parenthesized_primary
81.6242 - {
81.6243 - Expression RESULT =null;
81.6244 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.6245 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.6246 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.6247 - int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6248 - int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6249 - Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6250 -
81.6251 - Identifier subtypeMark = new Identifier (nameleft, nameright, name);
81.6252 - RESULT = new QualifiedExpression (nameleft, exprright, subtypeMark, expr);
81.6253 -
81.6254 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("qualified_expression",34, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6255 - }
81.6256 - return CUP$Ada95ASTParser$result;
81.6257 -
81.6258 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6259 - case 246: // parenthesized_primary ::= LPAREN expression RPAREN
81.6260 - {
81.6261 - Expression RESULT =null;
81.6262 - int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.6263 - int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.6264 - Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.6265 -
81.6266 - RESULT = expr;
81.6267 -
81.6268 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("parenthesized_primary",107, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6269 - }
81.6270 - return CUP$Ada95ASTParser$result;
81.6271 -
81.6272 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6273 - case 245: // parenthesized_primary ::= aggregate
81.6274 - {
81.6275 - Expression RESULT =null;
81.6276 -
81.6277 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("parenthesized_primary",107, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6278 - }
81.6279 - return CUP$Ada95ASTParser$result;
81.6280 -
81.6281 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6282 - case 244: // primary ::= parenthesized_primary
81.6283 - {
81.6284 - Expression RESULT =null;
81.6285 - int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6286 - int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6287 - Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6288 -
81.6289 - System.out.println ("primary ::= parenthesized_primary => " + expr);
81.6290 - RESULT = expr;
81.6291 -
81.6292 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("primary",28, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6293 - }
81.6294 - return CUP$Ada95ASTParser$result;
81.6295 -
81.6296 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6297 - case 243: // primary ::= qualified_expression
81.6298 - {
81.6299 - Expression RESULT =null;
81.6300 - int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6301 - int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6302 - Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6303 -
81.6304 - System.out.println ("primary ::= qualified_expression => " + expr);
81.6305 - RESULT = expr;
81.6306 -
81.6307 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("primary",28, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6308 - }
81.6309 - return CUP$Ada95ASTParser$result;
81.6310 -
81.6311 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6312 - case 242: // primary ::= allocator
81.6313 - {
81.6314 - Expression RESULT =null;
81.6315 -
81.6316 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("primary",28, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6317 - }
81.6318 - return CUP$Ada95ASTParser$result;
81.6319 -
81.6320 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6321 - case 241: // primary ::= name
81.6322 - {
81.6323 - Expression RESULT =null;
81.6324 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6325 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6326 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6327 -
81.6328 - System.out.println ("primary ::= name => " + name);
81.6329 - Scalar scalar = new Scalar(nameleft, nameright, name, Scalar.Type.STRING);
81.6330 - RESULT = scalar;
81.6331 -
81.6332 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("primary",28, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6333 - }
81.6334 - return CUP$Ada95ASTParser$result;
81.6335 -
81.6336 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6337 - case 240: // primary ::= literal
81.6338 - {
81.6339 - Expression RESULT =null;
81.6340 - int literalleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6341 - int literalright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6342 - Expression literal = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6343 -
81.6344 - System.out.println ("primary ::= literal => " + literal);
81.6345 - RESULT = literal;
81.6346 -
81.6347 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("primary",28, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6348 - }
81.6349 - return CUP$Ada95ASTParser$result;
81.6350 -
81.6351 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6352 - case 239: // factor ::= primary EXPON primary
81.6353 - {
81.6354 - Expression RESULT =null;
81.6355 - int primaryleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6356 - int primaryright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6357 - Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6358 -
81.6359 - RESULT = primary;
81.6360 -
81.6361 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("factor",27, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6362 - }
81.6363 - return CUP$Ada95ASTParser$result;
81.6364 -
81.6365 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6366 - case 238: // factor ::= ABS primary
81.6367 - {
81.6368 - Expression RESULT =null;
81.6369 - int primaryleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6370 - int primaryright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6371 - Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6372 -
81.6373 - RESULT = primary;
81.6374 -
81.6375 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("factor",27, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6376 - }
81.6377 - return CUP$Ada95ASTParser$result;
81.6378 -
81.6379 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6380 - case 237: // factor ::= NOT primary
81.6381 - {
81.6382 - Expression RESULT =null;
81.6383 - int primaryleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6384 - int primaryright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6385 - Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6386 -
81.6387 - RESULT = primary;
81.6388 -
81.6389 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("factor",27, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6390 - }
81.6391 - return CUP$Ada95ASTParser$result;
81.6392 -
81.6393 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6394 - case 236: // factor ::= primary
81.6395 - {
81.6396 - Expression RESULT =null;
81.6397 - int primaryleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6398 - int primaryright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6399 - Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6400 -
81.6401 - RESULT = primary;
81.6402 -
81.6403 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("factor",27, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6404 - }
81.6405 - return CUP$Ada95ASTParser$result;
81.6406 -
81.6407 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6408 - case 235: // term ::= term multiplying_operator factor
81.6409 - {
81.6410 - Expression RESULT =null;
81.6411 - int factorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6412 - int factorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6413 - Expression factor = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6414 -
81.6415 - RESULT = factor;
81.6416 -
81.6417 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("term",26, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6418 - }
81.6419 - return CUP$Ada95ASTParser$result;
81.6420 -
81.6421 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6422 - case 234: // term ::= factor
81.6423 - {
81.6424 - Expression RESULT =null;
81.6425 - int factorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6426 - int factorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6427 - Expression factor = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6428 -
81.6429 - RESULT = factor;
81.6430 -
81.6431 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("term",26, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6432 - }
81.6433 - return CUP$Ada95ASTParser$result;
81.6434 -
81.6435 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6436 - case 233: // simple_expression ::= simple_expression binary_adding_operator term
81.6437 - {
81.6438 - Expression RESULT =null;
81.6439 - int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.6440 - int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.6441 - Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.6442 - int opleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.6443 - int opright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.6444 - UnaryOperation.Operator op = (UnaryOperation.Operator)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.6445 - int termleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6446 - int termright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6447 - Expression term = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6448 -
81.6449 - RESULT = new UnaryOperation(exprleft, termright, term, op);
81.6450 -
81.6451 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("simple_expression",25, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6452 - }
81.6453 - return CUP$Ada95ASTParser$result;
81.6454 -
81.6455 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6456 - case 232: // simple_expression ::= term
81.6457 - {
81.6458 - Expression RESULT =null;
81.6459 - int termleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6460 - int termright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6461 - Expression term = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6462 -
81.6463 - RESULT = term;
81.6464 -
81.6465 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("simple_expression",25, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6466 - }
81.6467 - return CUP$Ada95ASTParser$result;
81.6468 -
81.6469 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6470 - case 231: // simple_expression ::= unary_adding_operator term
81.6471 - {
81.6472 - Expression RESULT =null;
81.6473 - int opleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.6474 - int opright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.6475 - UnaryOperation.Operator op = (UnaryOperation.Operator)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.6476 - int termleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6477 - int termright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6478 - Expression term = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6479 -
81.6480 - RESULT = new UnaryOperation(opleft, termright, term, op);
81.6481 -
81.6482 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("simple_expression",25, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6483 - }
81.6484 - return CUP$Ada95ASTParser$result;
81.6485 -
81.6486 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6487 - case 230: // relation ::= simple_expression membership name
81.6488 - {
81.6489 - Expression RESULT =null;
81.6490 - int simple_exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.6491 - int simple_exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.6492 - Expression simple_expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.6493 -
81.6494 - RESULT = simple_expr;
81.6495 -
81.6496 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("relation",24, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6497 - }
81.6498 - return CUP$Ada95ASTParser$result;
81.6499 -
81.6500 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6501 - case 229: // relation ::= simple_expression membership range
81.6502 - {
81.6503 - Expression RESULT =null;
81.6504 - int simple_exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.6505 - int simple_exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.6506 - Expression simple_expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.6507 -
81.6508 - RESULT = simple_expr;
81.6509 -
81.6510 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("relation",24, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6511 - }
81.6512 - return CUP$Ada95ASTParser$result;
81.6513 -
81.6514 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6515 - case 228: // relation ::= simple_expression relational_operator simple_expression
81.6516 - {
81.6517 - Expression RESULT =null;
81.6518 - int simple_exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.6519 - int simple_exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.6520 - Expression simple_expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.6521 -
81.6522 - RESULT = simple_expr;
81.6523 -
81.6524 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("relation",24, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6525 - }
81.6526 - return CUP$Ada95ASTParser$result;
81.6527 -
81.6528 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6529 - case 227: // relation ::= simple_expression
81.6530 - {
81.6531 - Expression RESULT =null;
81.6532 - int simple_exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6533 - int simple_exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6534 - Expression simple_expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6535 -
81.6536 - RESULT = simple_expr;
81.6537 -
81.6538 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("relation",24, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6539 - }
81.6540 - return CUP$Ada95ASTParser$result;
81.6541 -
81.6542 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6543 - case 226: // expression ::= expression short_circuit relation
81.6544 - {
81.6545 - Expression RESULT =null;
81.6546 - int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.6547 - int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.6548 - Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.6549 - int relleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6550 - int relright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6551 - Expression rel = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6552 -
81.6553 - System.out.println ("expression ::= expression => " + expr);
81.6554 - System.out.println ("expression ::= relation => " + rel);
81.6555 - RESULT = expr;
81.6556 -
81.6557 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("expression",23, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6558 - }
81.6559 - return CUP$Ada95ASTParser$result;
81.6560 -
81.6561 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6562 - case 225: // expression ::= expression logical_operator relation
81.6563 - {
81.6564 - Expression RESULT =null;
81.6565 - int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.6566 - int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.6567 - Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.6568 - int relleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6569 - int relright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6570 - Expression rel = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6571 -
81.6572 - System.out.println ("expression ::= expression => " + expr);
81.6573 - System.out.println ("expression ::= relation => " + rel);
81.6574 - RESULT = expr;
81.6575 -
81.6576 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("expression",23, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6577 - }
81.6578 - return CUP$Ada95ASTParser$result;
81.6579 -
81.6580 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6581 - case 224: // expression ::= relation
81.6582 - {
81.6583 - Expression RESULT =null;
81.6584 - int relleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6585 - int relright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6586 - Expression rel = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6587 -
81.6588 - System.out.println ("expression ::= relation => " + rel);
81.6589 - RESULT = rel;
81.6590 -
81.6591 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("expression",23, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6592 - }
81.6593 - return CUP$Ada95ASTParser$result;
81.6594 -
81.6595 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6596 - case 223: // multiplying_operator ::= REM
81.6597 - {
81.6598 - String RESULT =null;
81.6599 -
81.6600 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("multiplying_operator",33, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6601 - }
81.6602 - return CUP$Ada95ASTParser$result;
81.6603 -
81.6604 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6605 - case 222: // multiplying_operator ::= MOD
81.6606 - {
81.6607 - String RESULT =null;
81.6608 -
81.6609 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("multiplying_operator",33, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6610 - }
81.6611 - return CUP$Ada95ASTParser$result;
81.6612 -
81.6613 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6614 - case 221: // multiplying_operator ::= SLASH
81.6615 - {
81.6616 - String RESULT =null;
81.6617 -
81.6618 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("multiplying_operator",33, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6619 - }
81.6620 - return CUP$Ada95ASTParser$result;
81.6621 -
81.6622 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6623 - case 220: // multiplying_operator ::= STAR
81.6624 - {
81.6625 - String RESULT =null;
81.6626 -
81.6627 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("multiplying_operator",33, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6628 - }
81.6629 - return CUP$Ada95ASTParser$result;
81.6630 -
81.6631 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6632 - case 219: // binary_adding_operator ::= AMP
81.6633 - {
81.6634 - UnaryOperation.Operator RESULT =null;
81.6635 -
81.6636 - RESULT = UnaryOperation.Operator.AMP;
81.6637 -
81.6638 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("binary_adding_operator",31, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6639 - }
81.6640 - return CUP$Ada95ASTParser$result;
81.6641 -
81.6642 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6643 - case 218: // binary_adding_operator ::= MINUS
81.6644 - {
81.6645 - UnaryOperation.Operator RESULT =null;
81.6646 -
81.6647 - RESULT = UnaryOperation.Operator.MINUS;
81.6648 -
81.6649 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("binary_adding_operator",31, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6650 - }
81.6651 - return CUP$Ada95ASTParser$result;
81.6652 -
81.6653 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6654 - case 217: // binary_adding_operator ::= PLUS
81.6655 - {
81.6656 - UnaryOperation.Operator RESULT =null;
81.6657 -
81.6658 - RESULT = UnaryOperation.Operator.PLUS;
81.6659 -
81.6660 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("binary_adding_operator",31, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6661 - }
81.6662 - return CUP$Ada95ASTParser$result;
81.6663 -
81.6664 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6665 - case 216: // unary_adding_operator ::= MINUS
81.6666 - {
81.6667 - UnaryOperation.Operator RESULT =null;
81.6668 -
81.6669 - RESULT = UnaryOperation.Operator.MINUS;
81.6670 -
81.6671 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("unary_adding_operator",32, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6672 - }
81.6673 - return CUP$Ada95ASTParser$result;
81.6674 -
81.6675 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6676 - case 215: // unary_adding_operator ::= PLUS
81.6677 - {
81.6678 - UnaryOperation.Operator RESULT =null;
81.6679 -
81.6680 - RESULT = UnaryOperation.Operator.PLUS;
81.6681 -
81.6682 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("unary_adding_operator",32, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6683 - }
81.6684 - return CUP$Ada95ASTParser$result;
81.6685 -
81.6686 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6687 - case 214: // membership ::= NOT IN
81.6688 - {
81.6689 - Object RESULT =null;
81.6690 -
81.6691 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("membership",174, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6692 - }
81.6693 - return CUP$Ada95ASTParser$result;
81.6694 -
81.6695 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6696 - case 213: // membership ::= IN
81.6697 - {
81.6698 - Object RESULT =null;
81.6699 -
81.6700 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("membership",174, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6701 - }
81.6702 - return CUP$Ada95ASTParser$result;
81.6703 -
81.6704 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6705 - case 212: // relational_operator ::= GTEQ
81.6706 - {
81.6707 - String RESULT =null;
81.6708 -
81.6709 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("relational_operator",30, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6710 - }
81.6711 - return CUP$Ada95ASTParser$result;
81.6712 -
81.6713 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6714 - case 211: // relational_operator ::= LT
81.6715 - {
81.6716 - String RESULT =null;
81.6717 -
81.6718 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("relational_operator",30, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6719 - }
81.6720 - return CUP$Ada95ASTParser$result;
81.6721 -
81.6722 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6723 - case 210: // relational_operator ::= LTEQ
81.6724 - {
81.6725 - String RESULT =null;
81.6726 -
81.6727 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("relational_operator",30, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6728 - }
81.6729 - return CUP$Ada95ASTParser$result;
81.6730 -
81.6731 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6732 - case 209: // relational_operator ::= GT
81.6733 - {
81.6734 - String RESULT =null;
81.6735 -
81.6736 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("relational_operator",30, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6737 - }
81.6738 - return CUP$Ada95ASTParser$result;
81.6739 -
81.6740 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6741 - case 208: // relational_operator ::= INEQ
81.6742 - {
81.6743 - String RESULT =null;
81.6744 -
81.6745 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("relational_operator",30, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6746 - }
81.6747 - return CUP$Ada95ASTParser$result;
81.6748 -
81.6749 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6750 - case 207: // relational_operator ::= EQ
81.6751 - {
81.6752 - String RESULT =null;
81.6753 -
81.6754 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("relational_operator",30, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6755 - }
81.6756 - return CUP$Ada95ASTParser$result;
81.6757 -
81.6758 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6759 - case 206: // short_circuit ::= OR ELSE
81.6760 - {
81.6761 - Object RESULT =null;
81.6762 -
81.6763 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("short_circuit",173, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6764 - }
81.6765 - return CUP$Ada95ASTParser$result;
81.6766 -
81.6767 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6768 - case 205: // short_circuit ::= AND THEN
81.6769 - {
81.6770 - Object RESULT =null;
81.6771 -
81.6772 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("short_circuit",173, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6773 - }
81.6774 - return CUP$Ada95ASTParser$result;
81.6775 -
81.6776 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6777 - case 204: // logical_operator ::= XOR
81.6778 - {
81.6779 - String RESULT =null;
81.6780 -
81.6781 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("logical_operator",29, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6782 - }
81.6783 - return CUP$Ada95ASTParser$result;
81.6784 -
81.6785 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6786 - case 203: // logical_operator ::= OR
81.6787 - {
81.6788 - String RESULT =null;
81.6789 -
81.6790 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("logical_operator",29, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6791 - }
81.6792 - return CUP$Ada95ASTParser$result;
81.6793 -
81.6794 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6795 - case 202: // logical_operator ::= AND
81.6796 - {
81.6797 - String RESULT =null;
81.6798 -
81.6799 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("logical_operator",29, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6800 - }
81.6801 - return CUP$Ada95ASTParser$result;
81.6802 -
81.6803 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6804 - case 201: // comp_assoc ::= choice_s ARROW expression
81.6805 - {
81.6806 - Object RESULT =null;
81.6807 -
81.6808 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("comp_assoc",170, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6809 - }
81.6810 - return CUP$Ada95ASTParser$result;
81.6811 -
81.6812 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6813 - case 200: // value_s_2 ::= value_s_2 COMMA value
81.6814 - {
81.6815 - Object RESULT =null;
81.6816 -
81.6817 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("value_s_2",172, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6818 - }
81.6819 - return CUP$Ada95ASTParser$result;
81.6820 -
81.6821 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6822 - case 199: // value_s_2 ::= value COMMA value
81.6823 - {
81.6824 - Object RESULT =null;
81.6825 -
81.6826 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("value_s_2",172, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6827 - }
81.6828 - return CUP$Ada95ASTParser$result;
81.6829 -
81.6830 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6831 - case 198: // aggregate ::= LPAREN NULL RECORD RPAREN
81.6832 - {
81.6833 - Object RESULT =null;
81.6834 -
81.6835 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("aggregate",171, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6836 - }
81.6837 - return CUP$Ada95ASTParser$result;
81.6838 -
81.6839 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6840 - case 197: // aggregate ::= LPAREN expression WITH NULL RECORD RPAREN
81.6841 - {
81.6842 - Object RESULT =null;
81.6843 -
81.6844 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("aggregate",171, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6845 - }
81.6846 - return CUP$Ada95ASTParser$result;
81.6847 -
81.6848 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6849 - case 196: // aggregate ::= LPAREN expression WITH value_s RPAREN
81.6850 - {
81.6851 - Object RESULT =null;
81.6852 -
81.6853 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("aggregate",171, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6854 - }
81.6855 - return CUP$Ada95ASTParser$result;
81.6856 -
81.6857 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6858 - case 195: // aggregate ::= LPAREN value_s_2 RPAREN
81.6859 - {
81.6860 - Object RESULT =null;
81.6861 -
81.6862 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("aggregate",171, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6863 - }
81.6864 - return CUP$Ada95ASTParser$result;
81.6865 -
81.6866 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6867 - case 194: // aggregate ::= LPAREN comp_assoc RPAREN
81.6868 - {
81.6869 - Object RESULT =null;
81.6870 -
81.6871 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("aggregate",171, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6872 - }
81.6873 - return CUP$Ada95ASTParser$result;
81.6874 -
81.6875 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6876 - case 193: // literal ::= NULL
81.6877 - {
81.6878 - Expression RESULT =null;
81.6879 -
81.6880 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("literal",106, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6881 - }
81.6882 - return CUP$Ada95ASTParser$result;
81.6883 -
81.6884 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6885 - case 192: // literal ::= used_char
81.6886 - {
81.6887 - Expression RESULT =null;
81.6888 - int usedCharleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6889 - int usedCharright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6890 - String usedChar = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6891 -
81.6892 - Scalar scalar = new Scalar(usedCharleft, usedCharright, usedChar, Scalar.Type.STRING);
81.6893 - RESULT = scalar;
81.6894 -
81.6895 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("literal",106, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6896 - }
81.6897 - return CUP$Ada95ASTParser$result;
81.6898 -
81.6899 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6900 - case 191: // literal ::= BASED_LITERAL
81.6901 - {
81.6902 - Expression RESULT =null;
81.6903 - int decleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6904 - int decright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6905 - String dec = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6906 -
81.6907 - Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
81.6908 - RESULT = scalar;
81.6909 -
81.6910 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("literal",106, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6911 - }
81.6912 - return CUP$Ada95ASTParser$result;
81.6913 -
81.6914 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6915 - case 190: // literal ::= DECIMAL_LITERAL
81.6916 - {
81.6917 - Expression RESULT =null;
81.6918 - int decleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6919 - int decright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6920 - String dec = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6921 -
81.6922 - Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
81.6923 - RESULT = scalar;
81.6924 -
81.6925 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("literal",106, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6926 - }
81.6927 - return CUP$Ada95ASTParser$result;
81.6928 -
81.6929 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6930 - case 189: // attribute_id ::= ACCESS
81.6931 - {
81.6932 - Object RESULT =null;
81.6933 -
81.6934 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("attribute_id",168, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6935 - }
81.6936 - return CUP$Ada95ASTParser$result;
81.6937 -
81.6938 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6939 - case 188: // attribute_id ::= DELTA
81.6940 - {
81.6941 - Object RESULT =null;
81.6942 -
81.6943 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("attribute_id",168, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6944 - }
81.6945 - return CUP$Ada95ASTParser$result;
81.6946 -
81.6947 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6948 - case 187: // attribute_id ::= DIGITS
81.6949 - {
81.6950 - Object RESULT =null;
81.6951 -
81.6952 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("attribute_id",168, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6953 - }
81.6954 - return CUP$Ada95ASTParser$result;
81.6955 -
81.6956 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6957 - case 186: // attribute_id ::= IDENTIFIER
81.6958 - {
81.6959 - Object RESULT =null;
81.6960 -
81.6961 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("attribute_id",168, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6962 - }
81.6963 - return CUP$Ada95ASTParser$result;
81.6964 -
81.6965 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6966 - case 185: // attribute ::= name TICK attribute_id
81.6967 - {
81.6968 - String RESULT =null;
81.6969 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.6970 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.6971 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.6972 -
81.6973 - RESULT = name;
81.6974 -
81.6975 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("attribute",113, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6976 - }
81.6977 - return CUP$Ada95ASTParser$result;
81.6978 -
81.6979 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6980 - case 184: // selected_component ::= name DOT ALL
81.6981 - {
81.6982 - String RESULT =null;
81.6983 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.6984 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.6985 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.6986 - int allleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.6987 - int allright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.6988 - Object all = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.6989 -
81.6990 - RESULT = name + "." + all;
81.6991 -
81.6992 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("selected_component",22, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.6993 - }
81.6994 - return CUP$Ada95ASTParser$result;
81.6995 -
81.6996 - /*. . . . . . . . . . . . . . . . . . . .*/
81.6997 - case 183: // selected_component ::= name DOT operator_symbol
81.6998 - {
81.6999 - String RESULT =null;
81.7000 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.7001 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.7002 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.7003 - int operatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7004 - int operatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7005 - String operator = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7006 -
81.7007 - RESULT = name + "." + operator;
81.7008 -
81.7009 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("selected_component",22, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7010 - }
81.7011 - return CUP$Ada95ASTParser$result;
81.7012 -
81.7013 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7014 - case 182: // selected_component ::= name DOT used_char
81.7015 - {
81.7016 - String RESULT =null;
81.7017 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.7018 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.7019 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.7020 - int usedCharleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7021 - int usedCharright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7022 - String usedChar = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7023 -
81.7024 - RESULT = name + "." + usedChar;
81.7025 -
81.7026 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("selected_component",22, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7027 - }
81.7028 - return CUP$Ada95ASTParser$result;
81.7029 -
81.7030 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7031 - case 181: // selected_component ::= name DOT simple_name
81.7032 - {
81.7033 - String RESULT =null;
81.7034 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.7035 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.7036 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.7037 - int simpleNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7038 - int simpleNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7039 - String simpleName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7040 -
81.7041 - RESULT = name + "." + simpleName;
81.7042 -
81.7043 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("selected_component",22, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7044 - }
81.7045 - return CUP$Ada95ASTParser$result;
81.7046 -
81.7047 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7048 - case 180: // value ::= error
81.7049 - {
81.7050 - Object RESULT =null;
81.7051 - int theErrorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7052 - int theErrorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7053 - Object theError = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7054 -
81.7055 - ASTError error = new ASTError(theErrorleft, theErrorright);
81.7056 - RESULT = error;
81.7057 -
81.7058 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("value",169, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7059 - }
81.7060 - return CUP$Ada95ASTParser$result;
81.7061 -
81.7062 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7063 - case 179: // value ::= discrete_with_range
81.7064 - {
81.7065 - Object RESULT =null;
81.7066 -
81.7067 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("value",169, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7068 - }
81.7069 - return CUP$Ada95ASTParser$result;
81.7070 -
81.7071 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7072 - case 178: // value ::= comp_assoc
81.7073 - {
81.7074 - Object RESULT =null;
81.7075 -
81.7076 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("value",169, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7077 - }
81.7078 - return CUP$Ada95ASTParser$result;
81.7079 -
81.7080 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7081 - case 177: // value ::= expression
81.7082 - {
81.7083 - Object RESULT =null;
81.7084 -
81.7085 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("value",169, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7086 - }
81.7087 - return CUP$Ada95ASTParser$result;
81.7088 -
81.7089 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7090 - case 176: // value_s ::= value_s COMMA value
81.7091 - {
81.7092 - Expression RESULT =null;
81.7093 -
81.7094 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("value_s",115, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7095 - }
81.7096 - return CUP$Ada95ASTParser$result;
81.7097 -
81.7098 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7099 - case 175: // value_s ::= value
81.7100 - {
81.7101 - Expression RESULT =null;
81.7102 -
81.7103 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("value_s",115, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7104 - }
81.7105 - return CUP$Ada95ASTParser$result;
81.7106 -
81.7107 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7108 - case 174: // indexed_comp ::= name LPAREN value_s RPAREN
81.7109 - {
81.7110 - String RESULT =null;
81.7111 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.7112 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.7113 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.7114 - int indexleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.7115 - int indexright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.7116 - Expression index = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.7117 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7118 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7119 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7120 -
81.7121 - System.out.println ("indexed_comp ::= name => " + name);
81.7122 - Identifier identifier = new Identifier(nameleft, nameright, name);
81.7123 - //Variable variable = new Variable (nameleft, nameright, name);
81.7124 - Variable indexedVar = new ArrayAccess(nameleft, endright, identifier, index, ArrayAccess.Type.VARIABLE_ARRAY);
81.7125 - //RESULT = indexedVar;
81.7126 - RESULT = name;
81.7127 -
81.7128 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("indexed_comp",114, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7129 - }
81.7130 - return CUP$Ada95ASTParser$result;
81.7131 -
81.7132 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7133 - case 173: // used_char ::= CHAR_LITERAL
81.7134 - {
81.7135 - String RESULT =null;
81.7136 - int charLiteralleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7137 - int charLiteralright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7138 - String charLiteral = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7139 -
81.7140 - RESULT = charLiteral;
81.7141 -
81.7142 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("used_char",110, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7143 - }
81.7144 - return CUP$Ada95ASTParser$result;
81.7145 -
81.7146 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7147 - case 172: // library_unit_name_list ::= library_unit_name_list COMMA compound_name
81.7148 - {
81.7149 - List RESULT =null;
81.7150 - int nameListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.7151 - int nameListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.7152 - List nameList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.7153 - int compoundNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7154 - int compoundNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7155 - String compoundName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7156 -
81.7157 - nameList.add(compoundName);
81.7158 - RESULT = nameList;
81.7159 -
81.7160 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("library_unit_name_list",89, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7161 - }
81.7162 - return CUP$Ada95ASTParser$result;
81.7163 -
81.7164 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7165 - case 171: // library_unit_name_list ::= compound_name
81.7166 - {
81.7167 - List RESULT =null;
81.7168 - int compoundNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7169 - int compoundNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7170 - String compoundName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7171 -
81.7172 - List nameList = new LinkedList();
81.7173 - Identifier id = new Identifier(compoundNameleft, compoundNameright, (String)compoundName);
81.7174 - PackageName packageName = new PackageName(compoundNameleft, compoundNameright, id);
81.7175 - nameList.add(packageName);
81.7176 - RESULT = nameList;
81.7177 -
81.7178 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("library_unit_name_list",89, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7179 - }
81.7180 - return CUP$Ada95ASTParser$result;
81.7181 -
81.7182 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7183 - case 170: // compound_name ::= compound_name DOT simple_name
81.7184 - {
81.7185 - String RESULT =null;
81.7186 - int compoundNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.7187 - int compoundNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.7188 - String compoundName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.7189 - int simpleNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7190 - int simpleNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7191 - String simpleName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7192 -
81.7193 - RESULT = compoundName + "." + simpleName;
81.7194 -
81.7195 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("compound_name",94, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7196 - }
81.7197 - return CUP$Ada95ASTParser$result;
81.7198 -
81.7199 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7200 - case 169: // compound_name ::= simple_name
81.7201 - {
81.7202 - String RESULT =null;
81.7203 - int simpleNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7204 - int simpleNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7205 - String simpleName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7206 -
81.7207 - RESULT = simpleName;
81.7208 -
81.7209 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("compound_name",94, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7210 - }
81.7211 - return CUP$Ada95ASTParser$result;
81.7212 -
81.7213 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7214 - case 168: // simple_name ::= IDENTIFIER
81.7215 - {
81.7216 - String RESULT =null;
81.7217 - int identifierleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7218 - int identifierright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7219 - String identifier = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7220 -
81.7221 - RESULT = identifier;
81.7222 -
81.7223 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("simple_name",21, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7224 - }
81.7225 - return CUP$Ada95ASTParser$result;
81.7226 -
81.7227 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7228 - case 167: // subtype_mark ::= subtype_mark DOT simple_name
81.7229 - {
81.7230 - String RESULT =null;
81.7231 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.7232 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.7233 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.7234 - int simpleNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7235 - int simpleNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7236 - String simpleName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7237 -
81.7238 - RESULT = name + "." + simpleName;
81.7239 -
81.7240 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subtype_mark",100, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7241 - }
81.7242 - return CUP$Ada95ASTParser$result;
81.7243 -
81.7244 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7245 - case 166: // subtype_mark ::= subtype_mark TICK attribute_id
81.7246 - {
81.7247 - String RESULT =null;
81.7248 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.7249 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.7250 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.7251 -
81.7252 - // TODO: manage the attribute
81.7253 - RESULT = name;
81.7254 -
81.7255 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subtype_mark",100, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7256 - }
81.7257 - return CUP$Ada95ASTParser$result;
81.7258 -
81.7259 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7260 - case 165: // subtype_mark ::= simple_name
81.7261 - {
81.7262 - String RESULT =null;
81.7263 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7264 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7265 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7266 -
81.7267 - RESULT = name;
81.7268 -
81.7269 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subtype_mark",100, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7270 - }
81.7271 - return CUP$Ada95ASTParser$result;
81.7272 -
81.7273 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7274 - case 164: // name ::= operator_symbol
81.7275 - {
81.7276 - String RESULT =null;
81.7277 - int opleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7278 - int opright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7279 - String op = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7280 -
81.7281 - RESULT = op;
81.7282 -
81.7283 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("name",20, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7284 - }
81.7285 - return CUP$Ada95ASTParser$result;
81.7286 -
81.7287 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7288 - case 163: // name ::= attribute
81.7289 - {
81.7290 - String RESULT =null;
81.7291 - int attrleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7292 - int attrright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7293 - String attr = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7294 -
81.7295 - RESULT = attr;
81.7296 -
81.7297 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("name",20, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7298 - }
81.7299 - return CUP$Ada95ASTParser$result;
81.7300 -
81.7301 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7302 - case 162: // name ::= selected_component
81.7303 - {
81.7304 - String RESULT =null;
81.7305 - int compleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7306 - int compright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7307 - String comp = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7308 -
81.7309 - RESULT = comp;
81.7310 -
81.7311 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("name",20, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7312 - }
81.7313 - return CUP$Ada95ASTParser$result;
81.7314 -
81.7315 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7316 - case 161: // name ::= indexed_comp
81.7317 - {
81.7318 - String RESULT =null;
81.7319 - int compleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7320 - int compright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7321 - String comp = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7322 -
81.7323 - RESULT = comp;
81.7324 -
81.7325 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("name",20, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7326 - }
81.7327 - return CUP$Ada95ASTParser$result;
81.7328 -
81.7329 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7330 - case 160: // name ::= simple_name
81.7331 - {
81.7332 - String RESULT =null;
81.7333 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7334 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7335 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7336 -
81.7337 - RESULT = name;
81.7338 -
81.7339 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("name",20, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7340 - }
81.7341 - return CUP$Ada95ASTParser$result;
81.7342 -
81.7343 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7344 - case 159: // proper_body ::= protected_body
81.7345 - {
81.7346 - Statement RESULT =null;
81.7347 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7348 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7349 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7350 -
81.7351 - RESULT = statement;
81.7352 -
81.7353 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("proper_body",11, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7354 - }
81.7355 - return CUP$Ada95ASTParser$result;
81.7356 -
81.7357 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7358 - case 158: // proper_body ::= task_body
81.7359 - {
81.7360 - Statement RESULT =null;
81.7361 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7362 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7363 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7364 -
81.7365 - RESULT = statement;
81.7366 -
81.7367 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("proper_body",11, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7368 - }
81.7369 - return CUP$Ada95ASTParser$result;
81.7370 -
81.7371 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7372 - case 157: // proper_body ::= package_body
81.7373 - {
81.7374 - Statement RESULT =null;
81.7375 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7376 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7377 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7378 -
81.7379 - RESULT = statement;
81.7380 -
81.7381 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("proper_body",11, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7382 - }
81.7383 - return CUP$Ada95ASTParser$result;
81.7384 -
81.7385 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7386 - case 156: // proper_body ::= subprogram_body
81.7387 - {
81.7388 - Statement RESULT =null;
81.7389 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7390 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7391 - MethodDeclaration statement = (MethodDeclaration)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7392 -
81.7393 - RESULT = statement;
81.7394 -
81.7395 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("proper_body",11, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7396 - }
81.7397 - return CUP$Ada95ASTParser$result;
81.7398 -
81.7399 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7400 - case 155: // body ::= protected_body
81.7401 - {
81.7402 - Statement RESULT =null;
81.7403 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7404 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7405 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7406 -
81.7407 - RESULT = statement;
81.7408 -
81.7409 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("body",70, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7410 - }
81.7411 - return CUP$Ada95ASTParser$result;
81.7412 -
81.7413 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7414 - case 154: // body ::= task_body
81.7415 - {
81.7416 - Statement RESULT =null;
81.7417 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7418 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7419 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7420 -
81.7421 - RESULT = statement;
81.7422 -
81.7423 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("body",70, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7424 - }
81.7425 - return CUP$Ada95ASTParser$result;
81.7426 -
81.7427 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7428 - case 153: // body ::= package_body
81.7429 - {
81.7430 - Statement RESULT =null;
81.7431 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7432 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7433 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7434 -
81.7435 - RESULT = statement;
81.7436 -
81.7437 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("body",70, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7438 - }
81.7439 - return CUP$Ada95ASTParser$result;
81.7440 -
81.7441 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7442 - case 152: // body ::= subprogram_body
81.7443 - {
81.7444 - Statement RESULT =null;
81.7445 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7446 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7447 - MethodDeclaration statement = (MethodDeclaration)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7448 -
81.7449 - RESULT = statement;
81.7450 -
81.7451 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("body",70, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7452 - }
81.7453 - return CUP$Ada95ASTParser$result;
81.7454 -
81.7455 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7456 - case 151: // declarative_item_or_body ::= declarative_item
81.7457 - {
81.7458 - Object RESULT =null;
81.7459 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7460 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7461 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7462 -
81.7463 - RESULT = statement;
81.7464 -
81.7465 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item_or_body",167, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7466 - }
81.7467 - return CUP$Ada95ASTParser$result;
81.7468 -
81.7469 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7470 - case 150: // declarative_item_or_body ::= body
81.7471 - {
81.7472 - Object RESULT =null;
81.7473 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7474 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7475 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7476 -
81.7477 - RESULT = statement;
81.7478 -
81.7479 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item_or_body",167, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7480 - }
81.7481 - return CUP$Ada95ASTParser$result;
81.7482 -
81.7483 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7484 - case 149: // declarative_item_or_body_s1 ::= declarative_item_or_body_s1 declarative_item_or_body
81.7485 - {
81.7486 - List RESULT =null;
81.7487 - int declaritiveItemListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.7488 - int declaritiveItemListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.7489 - List declaritiveItemList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.7490 - int declaritiveItemleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7491 - int declaritiveItemright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7492 - Object declaritiveItem = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7493 -
81.7494 - declaritiveItemList.add(declaritiveItem);
81.7495 - RESULT = declaritiveItemList;
81.7496 -
81.7497 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item_or_body_s1",9, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7498 - }
81.7499 - return CUP$Ada95ASTParser$result;
81.7500 -
81.7501 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7502 - case 148: // declarative_item_or_body_s1 ::= declarative_item_or_body
81.7503 - {
81.7504 - List RESULT =null;
81.7505 - int declaritiveItemleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7506 - int declaritiveItemright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7507 - Object declaritiveItem = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7508 -
81.7509 - List declaritiveItemList = new LinkedList();
81.7510 - declaritiveItemList.add(declaritiveItem);
81.7511 - RESULT = declaritiveItemList;
81.7512 -
81.7513 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item_or_body_s1",9, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7514 - }
81.7515 - return CUP$Ada95ASTParser$result;
81.7516 -
81.7517 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7518 - case 147: // declarative_item ::= pragma
81.7519 - {
81.7520 - Statement RESULT =null;
81.7521 -
81.7522 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item",7, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7523 - }
81.7524 - return CUP$Ada95ASTParser$result;
81.7525 -
81.7526 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7527 - case 146: // declarative_item ::= rep_spec
81.7528 - {
81.7529 - Statement RESULT =null;
81.7530 -
81.7531 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item",7, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7532 - }
81.7533 - return CUP$Ada95ASTParser$result;
81.7534 -
81.7535 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7536 - case 145: // declarative_item ::= use_clause
81.7537 - {
81.7538 - Statement RESULT =null;
81.7539 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7540 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7541 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7542 -
81.7543 - RESULT = statement;
81.7544 -
81.7545 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item",7, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7546 - }
81.7547 - return CUP$Ada95ASTParser$result;
81.7548 -
81.7549 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7550 - case 144: // declarative_item ::= declaration
81.7551 - {
81.7552 - Statement RESULT =null;
81.7553 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7554 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7555 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7556 -
81.7557 - RESULT = statement;
81.7558 -
81.7559 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item",7, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7560 - }
81.7561 - return CUP$Ada95ASTParser$result;
81.7562 -
81.7563 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7564 - case 143: // declarative_item ::= package_declaration
81.7565 - {
81.7566 - Statement RESULT =null;
81.7567 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7568 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7569 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7570 -
81.7571 - RESULT = statement;
81.7572 -
81.7573 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item",7, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7574 - }
81.7575 - return CUP$Ada95ASTParser$result;
81.7576 -
81.7577 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7578 - case 142: // declarative_item ::= subprog_declaration
81.7579 - {
81.7580 - Statement RESULT =null;
81.7581 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7582 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7583 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7584 -
81.7585 - RESULT = statement;
81.7586 -
81.7587 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item",7, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7588 - }
81.7589 - return CUP$Ada95ASTParser$result;
81.7590 -
81.7591 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7592 - case 141: // declarative_item ::= type_declaration
81.7593 - {
81.7594 - Statement RESULT =null;
81.7595 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7596 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7597 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7598 -
81.7599 - RESULT = statement;
81.7600 -
81.7601 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item",7, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7602 - }
81.7603 - return CUP$Ada95ASTParser$result;
81.7604 -
81.7605 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7606 - case 140: // declarative_item ::= fields_declaration
81.7607 - {
81.7608 - Statement RESULT =null;
81.7609 - int listleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7610 - int listright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7611 - List list = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7612 -
81.7613 - FieldsDeclaration fieldsDeclaration = new FieldsDeclaration(listleft, listright, list);
81.7614 - RESULT = fieldsDeclaration;
81.7615 -
81.7616 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item",7, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7617 - }
81.7618 - return CUP$Ada95ASTParser$result;
81.7619 -
81.7620 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7621 - case 139: // declarative_item_list ::= declarative_item_list declarative_item
81.7622 - {
81.7623 - List RESULT =null;
81.7624 - int declaritiveItemListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.7625 - int declaritiveItemListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.7626 - List declaritiveItemList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.7627 - int declaritiveItemleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7628 - int declaritiveItemright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7629 - Statement declaritiveItem = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7630 -
81.7631 - declaritiveItemList.add(declaritiveItem);
81.7632 - RESULT = declaritiveItemList;
81.7633 -
81.7634 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item_list",6, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7635 - }
81.7636 - return CUP$Ada95ASTParser$result;
81.7637 -
81.7638 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7639 - case 138: // declarative_item_list ::= declarative_item
81.7640 - {
81.7641 - List RESULT =null;
81.7642 - int declaritiveItemleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7643 - int declaritiveItemright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7644 - Statement declaritiveItem = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7645 -
81.7646 - List declaritiveItemList = new LinkedList();
81.7647 - declaritiveItemList.add(declaritiveItem);
81.7648 - RESULT = declaritiveItemList;
81.7649 -
81.7650 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item_list",6, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7651 - }
81.7652 - return CUP$Ada95ASTParser$result;
81.7653 -
81.7654 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7655 - case 137: // declarative_items_opt ::= declarative_item_list
81.7656 - {
81.7657 - List RESULT =null;
81.7658 - int declaritiveItemListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7659 - int declaritiveItemListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7660 - List declaritiveItemList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7661 -
81.7662 - RESULT = declaritiveItemList;
81.7663 -
81.7664 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_items_opt",5, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7665 - }
81.7666 - return CUP$Ada95ASTParser$result;
81.7667 -
81.7668 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7669 - case 136: // declarative_items_opt ::=
81.7670 - {
81.7671 - List RESULT =null;
81.7672 -
81.7673 - RESULT = new LinkedList();
81.7674 -
81.7675 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_items_opt",5, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7676 - }
81.7677 - return CUP$Ada95ASTParser$result;
81.7678 -
81.7679 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7680 - case 135: // declarative_part ::= declarative_item_or_body_s1
81.7681 - {
81.7682 - List RESULT =null;
81.7683 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7684 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7685 - List statement = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7686 -
81.7687 - RESULT = statement;
81.7688 -
81.7689 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_part",8, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7690 - }
81.7691 - return CUP$Ada95ASTParser$result;
81.7692 -
81.7693 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7694 - case 134: // declarative_part ::=
81.7695 - {
81.7696 - List RESULT =null;
81.7697 -
81.7698 - RESULT = new LinkedList();
81.7699 -
81.7700 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_part",8, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7701 - }
81.7702 - return CUP$Ada95ASTParser$result;
81.7703 -
81.7704 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7705 - case 133: // prot_opt ::= PROTECTED
81.7706 - {
81.7707 - Object RESULT =null;
81.7708 -
81.7709 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_opt",165, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7710 - }
81.7711 - return CUP$Ada95ASTParser$result;
81.7712 -
81.7713 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7714 - case 132: // prot_opt ::=
81.7715 - {
81.7716 - Object RESULT =null;
81.7717 -
81.7718 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_opt",165, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7719 - }
81.7720 - return CUP$Ada95ASTParser$result;
81.7721 -
81.7722 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7723 - case 131: // access_type ::= ACCESS prot_opt FUNCTION formal_part_opt RETURN subtype_mark
81.7724 - {
81.7725 - Object RESULT =null;
81.7726 -
81.7727 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("access_type",132, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7728 - }
81.7729 - return CUP$Ada95ASTParser$result;
81.7730 -
81.7731 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7732 - case 130: // access_type ::= ACCESS prot_opt PROCEDURE formal_part_opt
81.7733 - {
81.7734 - Object RESULT =null;
81.7735 -
81.7736 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("access_type",132, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7737 - }
81.7738 - return CUP$Ada95ASTParser$result;
81.7739 -
81.7740 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7741 - case 129: // access_type ::= ACCESS ALL subtype_indication
81.7742 - {
81.7743 - Object RESULT =null;
81.7744 -
81.7745 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("access_type",132, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7746 - }
81.7747 - return CUP$Ada95ASTParser$result;
81.7748 -
81.7749 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7750 - case 128: // access_type ::= ACCESS CONSTANT subtype_indication
81.7751 - {
81.7752 - Object RESULT =null;
81.7753 -
81.7754 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("access_type",132, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7755 - }
81.7756 - return CUP$Ada95ASTParser$result;
81.7757 -
81.7758 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7759 - case 127: // access_type ::= ACCESS subtype_indication
81.7760 - {
81.7761 - Object RESULT =null;
81.7762 -
81.7763 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("access_type",132, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7764 - }
81.7765 - return CUP$Ada95ASTParser$result;
81.7766 -
81.7767 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7768 - case 126: // discrete_with_range ::= range
81.7769 - {
81.7770 - Object RESULT =null;
81.7771 -
81.7772 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrete_with_range",164, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7773 - }
81.7774 - return CUP$Ada95ASTParser$result;
81.7775 -
81.7776 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7777 - case 125: // discrete_with_range ::= name range_constraint
81.7778 - {
81.7779 - Object RESULT =null;
81.7780 -
81.7781 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrete_with_range",164, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7782 - }
81.7783 - return CUP$Ada95ASTParser$result;
81.7784 -
81.7785 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7786 - case 124: // choice ::= OTHERS
81.7787 - {
81.7788 - Object RESULT =null;
81.7789 -
81.7790 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("choice",163, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7791 - }
81.7792 - return CUP$Ada95ASTParser$result;
81.7793 -
81.7794 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7795 - case 123: // choice ::= discrete_with_range
81.7796 - {
81.7797 - Object RESULT =null;
81.7798 -
81.7799 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("choice",163, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7800 - }
81.7801 - return CUP$Ada95ASTParser$result;
81.7802 -
81.7803 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7804 - case 122: // choice ::= expression
81.7805 - {
81.7806 - Object RESULT =null;
81.7807 -
81.7808 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("choice",163, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7809 - }
81.7810 - return CUP$Ada95ASTParser$result;
81.7811 -
81.7812 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7813 - case 121: // choice_s ::= choice_s BAR choice
81.7814 - {
81.7815 - Expression RESULT =null;
81.7816 -
81.7817 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("choice_s",111, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7818 - }
81.7819 - return CUP$Ada95ASTParser$result;
81.7820 -
81.7821 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7822 - case 120: // choice_s ::= choice
81.7823 - {
81.7824 - Expression RESULT =null;
81.7825 -
81.7826 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("choice_s",111, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7827 - }
81.7828 - return CUP$Ada95ASTParser$result;
81.7829 -
81.7830 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7831 - case 119: // variant ::= WHEN choice_s ARROW pragma_s comp_list
81.7832 - {
81.7833 - Object RESULT =null;
81.7834 -
81.7835 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("variant",162, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7836 - }
81.7837 - return CUP$Ada95ASTParser$result;
81.7838 -
81.7839 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7840 - case 118: // variant_s ::= variant_s variant
81.7841 - {
81.7842 - Object RESULT =null;
81.7843 -
81.7844 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("variant_s",161, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7845 - }
81.7846 - return CUP$Ada95ASTParser$result;
81.7847 -
81.7848 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7849 - case 117: // variant_s ::= variant
81.7850 - {
81.7851 - Object RESULT =null;
81.7852 -
81.7853 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("variant_s",161, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7854 - }
81.7855 - return CUP$Ada95ASTParser$result;
81.7856 -
81.7857 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7858 - case 116: // variant_part ::= CASE simple_name IS pragma_s variant_s END CASE SEMICOLON
81.7859 - {
81.7860 - Object RESULT =null;
81.7861 -
81.7862 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("variant_part",157, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-7)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7863 - }
81.7864 - return CUP$Ada95ASTParser$result;
81.7865 -
81.7866 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7867 - case 115: // access_opt ::= ACCESS
81.7868 - {
81.7869 - Object RESULT =null;
81.7870 -
81.7871 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("access_opt",160, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7872 - }
81.7873 - return CUP$Ada95ASTParser$result;
81.7874 -
81.7875 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7876 - case 114: // access_opt ::=
81.7877 - {
81.7878 - Object RESULT =null;
81.7879 -
81.7880 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("access_opt",160, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7881 - }
81.7882 - return CUP$Ada95ASTParser$result;
81.7883 -
81.7884 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7885 - case 113: // discrim_spec ::= error
81.7886 - {
81.7887 - Object RESULT =null;
81.7888 - int theErrorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.7889 - int theErrorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.7890 - Object theError = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.7891 -
81.7892 - ASTError error = new ASTError(theErrorleft, theErrorright);
81.7893 - RESULT = error;
81.7894 -
81.7895 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrim_spec",159, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7896 - }
81.7897 - return CUP$Ada95ASTParser$result;
81.7898 -
81.7899 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7900 - case 112: // discrim_spec ::= defining_identifier_list COLON access_opt subtype_mark init_opt
81.7901 - {
81.7902 - Object RESULT =null;
81.7903 -
81.7904 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrim_spec",159, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7905 - }
81.7906 - return CUP$Ada95ASTParser$result;
81.7907 -
81.7908 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7909 - case 111: // discrim_spec_s ::= discrim_spec_s SEMICOLON discrim_spec
81.7910 - {
81.7911 - Object RESULT =null;
81.7912 -
81.7913 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrim_spec_s",158, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7914 - }
81.7915 - return CUP$Ada95ASTParser$result;
81.7916 -
81.7917 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7918 - case 110: // discrim_spec_s ::= discrim_spec
81.7919 - {
81.7920 - Object RESULT =null;
81.7921 -
81.7922 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrim_spec_s",158, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7923 - }
81.7924 - return CUP$Ada95ASTParser$result;
81.7925 -
81.7926 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7927 - case 109: // discrim_part ::= LPAREN discrim_spec_s RPAREN
81.7928 - {
81.7929 - Object RESULT =null;
81.7930 -
81.7931 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrim_part",126, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7932 - }
81.7933 - return CUP$Ada95ASTParser$result;
81.7934 -
81.7935 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7936 - case 108: // comp_decl ::= error SEMICOLON
81.7937 - {
81.7938 - Object RESULT =null;
81.7939 - int theErrorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.7940 - int theErrorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.7941 - Object theError = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.7942 -
81.7943 - ASTError error = new ASTError(theErrorleft, theErrorright);
81.7944 - RESULT = error;
81.7945 -
81.7946 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("comp_decl",155, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7947 - }
81.7948 - return CUP$Ada95ASTParser$result;
81.7949 -
81.7950 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7951 - case 107: // comp_decl ::= defining_identifier_list COLON component_subtype_def init_opt SEMICOLON
81.7952 - {
81.7953 - Object RESULT =null;
81.7954 -
81.7955 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("comp_decl",155, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7956 - }
81.7957 - return CUP$Ada95ASTParser$result;
81.7958 -
81.7959 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7960 - case 106: // variant_part_opt ::= pragma_s variant_part pragma_s
81.7961 - {
81.7962 - Object RESULT =null;
81.7963 -
81.7964 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("variant_part_opt",156, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7965 - }
81.7966 - return CUP$Ada95ASTParser$result;
81.7967 -
81.7968 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7969 - case 105: // variant_part_opt ::= pragma_s
81.7970 - {
81.7971 - Object RESULT =null;
81.7972 -
81.7973 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("variant_part_opt",156, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7974 - }
81.7975 - return CUP$Ada95ASTParser$result;
81.7976 -
81.7977 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7978 - case 104: // comp_decl_s ::= comp_decl_s pragma_s comp_decl
81.7979 - {
81.7980 - Object RESULT =null;
81.7981 -
81.7982 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("comp_decl_s",154, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7983 - }
81.7984 - return CUP$Ada95ASTParser$result;
81.7985 -
81.7986 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7987 - case 103: // comp_decl_s ::= comp_decl
81.7988 - {
81.7989 - Object RESULT =null;
81.7990 -
81.7991 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("comp_decl_s",154, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.7992 - }
81.7993 - return CUP$Ada95ASTParser$result;
81.7994 -
81.7995 - /*. . . . . . . . . . . . . . . . . . . .*/
81.7996 - case 102: // comp_list ::= NULL SEMICOLON pragma_s
81.7997 - {
81.7998 - Object RESULT =null;
81.7999 -
81.8000 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("comp_list",153, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8001 - }
81.8002 - return CUP$Ada95ASTParser$result;
81.8003 -
81.8004 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8005 - case 101: // comp_list ::= variant_part pragma_s
81.8006 - {
81.8007 - Object RESULT =null;
81.8008 -
81.8009 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("comp_list",153, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8010 - }
81.8011 - return CUP$Ada95ASTParser$result;
81.8012 -
81.8013 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8014 - case 100: // comp_list ::= comp_decl_s variant_part_opt
81.8015 - {
81.8016 - Object RESULT =null;
81.8017 -
81.8018 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("comp_list",153, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8019 - }
81.8020 - return CUP$Ada95ASTParser$result;
81.8021 -
81.8022 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8023 - case 99: // tagged_opt ::= ABSTRACT TAGGED
81.8024 - {
81.8025 - Integer RESULT =null;
81.8026 -
81.8027 - RESULT = Ada95ASTParser.TAGGED + Ada95ASTParser.ABSTRACT;
81.8028 -
81.8029 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("tagged_opt",72, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8030 - }
81.8031 - return CUP$Ada95ASTParser$result;
81.8032 -
81.8033 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8034 - case 98: // tagged_opt ::= TAGGED
81.8035 - {
81.8036 - Integer RESULT =null;
81.8037 -
81.8038 - RESULT = Ada95ASTParser.TAGGED;
81.8039 -
81.8040 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("tagged_opt",72, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8041 - }
81.8042 - return CUP$Ada95ASTParser$result;
81.8043 -
81.8044 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8045 - case 97: // tagged_opt ::=
81.8046 - {
81.8047 - Integer RESULT =null;
81.8048 -
81.8049 - RESULT = 0;
81.8050 -
81.8051 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("tagged_opt",72, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8052 - }
81.8053 - return CUP$Ada95ASTParser$result;
81.8054 -
81.8055 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8056 - case 96: // record_def ::= NULL RECORD
81.8057 - {
81.8058 - Object RESULT =null;
81.8059 -
81.8060 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("record_def",138, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8061 - }
81.8062 - return CUP$Ada95ASTParser$result;
81.8063 -
81.8064 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8065 - case 95: // record_def ::= RECORD pragma_s comp_list END RECORD
81.8066 - {
81.8067 - Object RESULT =null;
81.8068 -
81.8069 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("record_def",138, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8070 - }
81.8071 - return CUP$Ada95ASTParser$result;
81.8072 -
81.8073 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8074 - case 94: // record_type ::= tagged_opt limited_opt record_def
81.8075 - {
81.8076 - Object RESULT =null;
81.8077 -
81.8078 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("record_type",131, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8079 - }
81.8080 - return CUP$Ada95ASTParser$result;
81.8081 -
81.8082 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8083 - case 93: // range_constr_opt ::= range_constraint
81.8084 - {
81.8085 - Object RESULT =null;
81.8086 -
81.8087 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("range_constr_opt",137, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8088 - }
81.8089 - return CUP$Ada95ASTParser$result;
81.8090 -
81.8091 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8092 - case 92: // range_constr_opt ::=
81.8093 - {
81.8094 - Object RESULT =null;
81.8095 -
81.8096 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("range_constr_opt",137, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8097 - }
81.8098 - return CUP$Ada95ASTParser$result;
81.8099 -
81.8100 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8101 - case 91: // discrete_range ::= range
81.8102 - {
81.8103 - Expression RESULT =null;
81.8104 - int rangeleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.8105 - int rangeright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.8106 - Expression range = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.8107 -
81.8108 - RESULT = range;
81.8109 -
81.8110 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrete_range",116, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8111 - }
81.8112 - return CUP$Ada95ASTParser$result;
81.8113 -
81.8114 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8115 - case 90: // discrete_range ::= name range_constr_opt
81.8116 - {
81.8117 - Expression RESULT =null;
81.8118 -
81.8119 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrete_range",116, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8120 - }
81.8121 - return CUP$Ada95ASTParser$result;
81.8122 -
81.8123 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8124 - case 89: // iter_discrete_range_s ::= iter_discrete_range_s COMMA discrete_range
81.8125 - {
81.8126 - Object RESULT =null;
81.8127 -
81.8128 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("iter_discrete_range_s",152, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8129 - }
81.8130 - return CUP$Ada95ASTParser$result;
81.8131 -
81.8132 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8133 - case 88: // iter_discrete_range_s ::= discrete_range
81.8134 - {
81.8135 - Object RESULT =null;
81.8136 -
81.8137 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("iter_discrete_range_s",152, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8138 - }
81.8139 - return CUP$Ada95ASTParser$result;
81.8140 -
81.8141 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8142 - case 87: // iter_index_constraint ::= LPAREN iter_discrete_range_s RPAREN
81.8143 - {
81.8144 - Object RESULT =null;
81.8145 -
81.8146 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("iter_index_constraint",151, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8147 - }
81.8148 - return CUP$Ada95ASTParser$result;
81.8149 -
81.8150 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8151 - case 86: // index ::= name RANGE BOX
81.8152 - {
81.8153 - Object RESULT =null;
81.8154 -
81.8155 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("index",148, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8156 - }
81.8157 - return CUP$Ada95ASTParser$result;
81.8158 -
81.8159 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8160 - case 85: // index_s ::= index_s COMMA index
81.8161 - {
81.8162 - Object RESULT =null;
81.8163 -
81.8164 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("index_s",147, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8165 - }
81.8166 - return CUP$Ada95ASTParser$result;
81.8167 -
81.8168 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8169 - case 84: // index_s ::= index
81.8170 - {
81.8171 - Object RESULT =null;
81.8172 -
81.8173 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("index_s",147, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8174 - }
81.8175 - return CUP$Ada95ASTParser$result;
81.8176 -
81.8177 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8178 - case 83: // aliased_opt ::= ALIASED
81.8179 - {
81.8180 - Object RESULT =null;
81.8181 -
81.8182 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("aliased_opt",150, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8183 - }
81.8184 - return CUP$Ada95ASTParser$result;
81.8185 -
81.8186 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8187 - case 82: // aliased_opt ::=
81.8188 - {
81.8189 - Object RESULT =null;
81.8190 -
81.8191 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("aliased_opt",150, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8192 - }
81.8193 - return CUP$Ada95ASTParser$result;
81.8194 -
81.8195 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8196 - case 81: // component_subtype_def ::= aliased_opt subtype_indication
81.8197 - {
81.8198 - Object RESULT =null;
81.8199 -
81.8200 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("component_subtype_def",149, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8201 - }
81.8202 - return CUP$Ada95ASTParser$result;
81.8203 -
81.8204 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8205 - case 80: // constr_array_type ::= ARRAY iter_index_constraint OF component_subtype_def
81.8206 - {
81.8207 - Object RESULT =null;
81.8208 -
81.8209 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("constr_array_type",146, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8210 - }
81.8211 - return CUP$Ada95ASTParser$result;
81.8212 -
81.8213 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8214 - case 79: // unconstr_array_type ::= ARRAY LPAREN index_s RPAREN OF component_subtype_def
81.8215 - {
81.8216 - Object RESULT =null;
81.8217 -
81.8218 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("unconstr_array_type",145, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8219 - }
81.8220 - return CUP$Ada95ASTParser$result;
81.8221 -
81.8222 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8223 - case 78: // array_type ::= constr_array_type
81.8224 - {
81.8225 - Object RESULT =null;
81.8226 -
81.8227 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("array_type",130, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8228 - }
81.8229 - return CUP$Ada95ASTParser$result;
81.8230 -
81.8231 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8232 - case 77: // array_type ::= unconstr_array_type
81.8233 - {
81.8234 - Object RESULT =null;
81.8235 -
81.8236 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("array_type",130, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8237 - }
81.8238 - return CUP$Ada95ASTParser$result;
81.8239 -
81.8240 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8241 - case 76: // fixed_type ::= DELTA expression DIGITS expression range_spec_opt
81.8242 - {
81.8243 - Object RESULT =null;
81.8244 -
81.8245 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("fixed_type",144, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8246 - }
81.8247 - return CUP$Ada95ASTParser$result;
81.8248 -
81.8249 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8250 - case 75: // fixed_type ::= DELTA expression range_spec
81.8251 - {
81.8252 - Object RESULT =null;
81.8253 -
81.8254 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("fixed_type",144, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8255 - }
81.8256 - return CUP$Ada95ASTParser$result;
81.8257 -
81.8258 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8259 - case 74: // float_type ::= DIGITS expression range_spec_opt
81.8260 - {
81.8261 - Object RESULT =null;
81.8262 -
81.8263 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("float_type",143, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8264 - }
81.8265 - return CUP$Ada95ASTParser$result;
81.8266 -
81.8267 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8268 - case 73: // real_type ::= fixed_type
81.8269 - {
81.8270 - Object RESULT =null;
81.8271 -
81.8272 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("real_type",129, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8273 - }
81.8274 - return CUP$Ada95ASTParser$result;
81.8275 -
81.8276 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8277 - case 72: // real_type ::= float_type
81.8278 - {
81.8279 - Object RESULT =null;
81.8280 -
81.8281 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("real_type",129, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8282 - }
81.8283 - return CUP$Ada95ASTParser$result;
81.8284 -
81.8285 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8286 - case 71: // range_spec_opt ::= range_spec
81.8287 - {
81.8288 - Object RESULT =null;
81.8289 -
81.8290 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("range_spec_opt",142, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8291 - }
81.8292 - return CUP$Ada95ASTParser$result;
81.8293 -
81.8294 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8295 - case 70: // range_spec_opt ::=
81.8296 - {
81.8297 - Object RESULT =null;
81.8298 -
81.8299 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("range_spec_opt",142, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8300 - }
81.8301 - return CUP$Ada95ASTParser$result;
81.8302 -
81.8303 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8304 - case 69: // range_spec ::= range_constraint
81.8305 - {
81.8306 - Object RESULT =null;
81.8307 -
81.8308 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("range_spec",141, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8309 - }
81.8310 - return CUP$Ada95ASTParser$result;
81.8311 -
81.8312 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8313 - case 68: // integer_type ::= MOD expression
81.8314 - {
81.8315 - Object RESULT =null;
81.8316 -
81.8317 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("integer_type",128, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8318 - }
81.8319 - return CUP$Ada95ASTParser$result;
81.8320 -
81.8321 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8322 - case 67: // integer_type ::= range_spec
81.8323 - {
81.8324 - Object RESULT =null;
81.8325 -
81.8326 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("integer_type",128, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8327 - }
81.8328 - return CUP$Ada95ASTParser$result;
81.8329 -
81.8330 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8331 - case 66: // enum_id ::= CHAR_LITERAL
81.8332 - {
81.8333 - Object RESULT =null;
81.8334 -
81.8335 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("enum_id",140, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8336 - }
81.8337 - return CUP$Ada95ASTParser$result;
81.8338 -
81.8339 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8340 - case 65: // enum_id ::= IDENTIFIER
81.8341 - {
81.8342 - Object RESULT =null;
81.8343 -
81.8344 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("enum_id",140, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8345 - }
81.8346 - return CUP$Ada95ASTParser$result;
81.8347 -
81.8348 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8349 - case 64: // enum_id_s ::= enum_id_s COMMA enum_id
81.8350 - {
81.8351 - Object RESULT =null;
81.8352 -
81.8353 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("enum_id_s",139, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8354 - }
81.8355 - return CUP$Ada95ASTParser$result;
81.8356 -
81.8357 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8358 - case 63: // enum_id_s ::= enum_id
81.8359 - {
81.8360 - Object RESULT =null;
81.8361 -
81.8362 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("enum_id_s",139, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8363 - }
81.8364 - return CUP$Ada95ASTParser$result;
81.8365 -
81.8366 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8367 - case 62: // enumeration_type ::= LPAREN enum_id_s RPAREN
81.8368 - {
81.8369 - Object RESULT =null;
81.8370 -
81.8371 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("enumeration_type",127, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8372 - }
81.8373 - return CUP$Ada95ASTParser$result;
81.8374 -
81.8375 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8376 - case 61: // range ::= name TICK RANGE LPAREN expression RPAREN
81.8377 - {
81.8378 - Expression RESULT =null;
81.8379 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
81.8380 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
81.8381 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
81.8382 - int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.8383 - int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.8384 - Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.8385 -
81.8386 - RESULT = expr;
81.8387 -
81.8388 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("range",117, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8389 - }
81.8390 - return CUP$Ada95ASTParser$result;
81.8391 -
81.8392 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8393 - case 60: // range ::= name TICK RANGE
81.8394 - {
81.8395 - Expression RESULT =null;
81.8396 -
81.8397 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("range",117, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8398 - }
81.8399 - return CUP$Ada95ASTParser$result;
81.8400 -
81.8401 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8402 - case 59: // range ::= simple_expression DOT_DOT simple_expression
81.8403 - {
81.8404 - Expression RESULT =null;
81.8405 - int simple_exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.8406 - int simple_exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.8407 - Expression simple_expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.8408 -
81.8409 - RESULT = simple_expr;
81.8410 -
81.8411 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("range",117, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8412 - }
81.8413 - return CUP$Ada95ASTParser$result;
81.8414 -
81.8415 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8416 - case 58: // range_constraint ::= RANGE range
81.8417 - {
81.8418 - Object RESULT =null;
81.8419 -
81.8420 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("range_constraint",135, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8421 - }
81.8422 - return CUP$Ada95ASTParser$result;
81.8423 -
81.8424 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8425 - case 57: // derived_type ::= ABSTRACT NEW subtype_indication WITH record_def
81.8426 - {
81.8427 - Object RESULT =null;
81.8428 -
81.8429 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("derived_type",133, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8430 - }
81.8431 - return CUP$Ada95ASTParser$result;
81.8432 -
81.8433 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8434 - case 56: // derived_type ::= ABSTRACT NEW subtype_indication WITH PRIVATE
81.8435 - {
81.8436 - Object RESULT =null;
81.8437 -
81.8438 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("derived_type",133, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8439 - }
81.8440 - return CUP$Ada95ASTParser$result;
81.8441 -
81.8442 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8443 - case 55: // derived_type ::= NEW subtype_indication WITH record_def
81.8444 - {
81.8445 - Object RESULT =null;
81.8446 -
81.8447 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("derived_type",133, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8448 - }
81.8449 - return CUP$Ada95ASTParser$result;
81.8450 -
81.8451 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8452 - case 54: // derived_type ::= NEW subtype_indication WITH PRIVATE
81.8453 - {
81.8454 - Object RESULT =null;
81.8455 -
81.8456 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("derived_type",133, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8457 - }
81.8458 - return CUP$Ada95ASTParser$result;
81.8459 -
81.8460 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8461 - case 53: // derived_type ::= NEW subtype_indication
81.8462 - {
81.8463 - Object RESULT =null;
81.8464 -
81.8465 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("derived_type",133, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8466 - }
81.8467 - return CUP$Ada95ASTParser$result;
81.8468 -
81.8469 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8470 - case 52: // decimal_digits_constraint ::= DIGITS expression range_constr_opt
81.8471 - {
81.8472 - Object RESULT =null;
81.8473 -
81.8474 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("decimal_digits_constraint",136, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8475 - }
81.8476 - return CUP$Ada95ASTParser$result;
81.8477 -
81.8478 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8479 - case 51: // constraint ::= decimal_digits_constraint
81.8480 - {
81.8481 - Object RESULT =null;
81.8482 -
81.8483 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("constraint",134, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8484 - }
81.8485 - return CUP$Ada95ASTParser$result;
81.8486 -
81.8487 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8488 - case 50: // constraint ::= range_constraint
81.8489 - {
81.8490 - Object RESULT =null;
81.8491 -
81.8492 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("constraint",134, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8493 - }
81.8494 - return CUP$Ada95ASTParser$result;
81.8495 -
81.8496 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8497 - case 49: // subtype_indication ::= name
81.8498 - {
81.8499 - TypeName RESULT =null;
81.8500 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.8501 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.8502 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.8503 -
81.8504 - Identifier identifier = new Identifier(nameleft, nameright, name);
81.8505 - TypeName type = new TypeName (nameleft, nameright, identifier);
81.8506 - RESULT = type;
81.8507 -
81.8508 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subtype_indication",15, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8509 - }
81.8510 - return CUP$Ada95ASTParser$result;
81.8511 -
81.8512 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8513 - case 48: // subtype_indication ::= name constraint
81.8514 - {
81.8515 - TypeName RESULT =null;
81.8516 - int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.8517 - int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.8518 - String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.8519 -
81.8520 - Identifier identifier = new Identifier(nameleft, nameright, name);
81.8521 - TypeName type = new TypeName (nameleft, nameright, identifier);
81.8522 - RESULT = type;
81.8523 -
81.8524 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subtype_indication",15, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8525 - }
81.8526 - return CUP$Ada95ASTParser$result;
81.8527 -
81.8528 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8529 - case 47: // subtype_declaration ::= SUBTYPE defining_identifier IS subtype_indication SEMICOLON
81.8530 - {
81.8531 - Statement RESULT =null;
81.8532 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
81.8533 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
81.8534 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
81.8535 - int identifierleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.8536 - int identifierright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.8537 - Identifier identifier = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.8538 - int subtypeIndicationleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.8539 - int subtypeIndicationright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.8540 - TypeName subtypeIndication = (TypeName)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.8541 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.8542 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.8543 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.8544 -
81.8545 - SubtypeDeclaration type = new SubtypeDeclaration (tokenleft, endright, identifier, subtypeIndication);
81.8546 - RESULT = type;
81.8547 -
81.8548 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("subtype_declaration",14, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8549 - }
81.8550 - return CUP$Ada95ASTParser$result;
81.8551 -
81.8552 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8553 - case 46: // type_definition ::= private_type_declaration
81.8554 - {
81.8555 - Expression RESULT =null;
81.8556 - int privateTypeleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.8557 - int privateTyperight = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.8558 - PrivateType privateType = (PrivateType)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.8559 -
81.8560 - RESULT = privateType;
81.8561 -
81.8562 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("type_definition",13, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8563 - }
81.8564 - return CUP$Ada95ASTParser$result;
81.8565 -
81.8566 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8567 - case 45: // type_definition ::= derived_type
81.8568 - {
81.8569 - Expression RESULT =null;
81.8570 -
81.8571 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("type_definition",13, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8572 - }
81.8573 - return CUP$Ada95ASTParser$result;
81.8574 -
81.8575 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8576 - case 44: // type_definition ::= access_type
81.8577 - {
81.8578 - Expression RESULT =null;
81.8579 -
81.8580 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("type_definition",13, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8581 - }
81.8582 - return CUP$Ada95ASTParser$result;
81.8583 -
81.8584 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8585 - case 43: // type_definition ::= record_type
81.8586 - {
81.8587 - Expression RESULT =null;
81.8588 -
81.8589 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("type_definition",13, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8590 - }
81.8591 - return CUP$Ada95ASTParser$result;
81.8592 -
81.8593 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8594 - case 42: // type_definition ::= array_type
81.8595 - {
81.8596 - Expression RESULT =null;
81.8597 -
81.8598 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("type_definition",13, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8599 - }
81.8600 - return CUP$Ada95ASTParser$result;
81.8601 -
81.8602 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8603 - case 41: // type_definition ::= real_type
81.8604 - {
81.8605 - Expression RESULT =null;
81.8606 -
81.8607 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("type_definition",13, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8608 - }
81.8609 - return CUP$Ada95ASTParser$result;
81.8610 -
81.8611 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8612 - case 40: // type_definition ::= integer_type
81.8613 - {
81.8614 - Expression RESULT =null;
81.8615 -
81.8616 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("type_definition",13, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8617 - }
81.8618 - return CUP$Ada95ASTParser$result;
81.8619 -
81.8620 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8621 - case 39: // type_definition ::= enumeration_type
81.8622 - {
81.8623 - Expression RESULT =null;
81.8624 -
81.8625 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("type_definition",13, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8626 - }
81.8627 - return CUP$Ada95ASTParser$result;
81.8628 -
81.8629 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8630 - case 38: // type_completion ::= IS type_definition
81.8631 - {
81.8632 - Expression RESULT =null;
81.8633 - int typeDefleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.8634 - int typeDefright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.8635 - Expression typeDef = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.8636 -
81.8637 - RESULT = typeDef;
81.8638 -
81.8639 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("type_completion",99, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8640 - }
81.8641 - return CUP$Ada95ASTParser$result;
81.8642 -
81.8643 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8644 - case 37: // type_completion ::=
81.8645 - {
81.8646 - Expression RESULT =null;
81.8647 -
81.8648 - RESULT = null;
81.8649 -
81.8650 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("type_completion",99, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8651 - }
81.8652 - return CUP$Ada95ASTParser$result;
81.8653 -
81.8654 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8655 - case 36: // discrim_part_opt ::= LPAREN BOX RPAREN
81.8656 - {
81.8657 - Object RESULT =null;
81.8658 -
81.8659 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrim_part_opt",125, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8660 - }
81.8661 - return CUP$Ada95ASTParser$result;
81.8662 -
81.8663 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8664 - case 35: // discrim_part_opt ::= discrim_part
81.8665 - {
81.8666 - Object RESULT =null;
81.8667 -
81.8668 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrim_part_opt",125, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8669 - }
81.8670 - return CUP$Ada95ASTParser$result;
81.8671 -
81.8672 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8673 - case 34: // discrim_part_opt ::=
81.8674 - {
81.8675 - Object RESULT =null;
81.8676 -
81.8677 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrim_part_opt",125, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8678 - }
81.8679 - return CUP$Ada95ASTParser$result;
81.8680 -
81.8681 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8682 - case 33: // type_decl ::= TYPE defining_identifier discrim_part_opt type_completion SEMICOLON
81.8683 - {
81.8684 - Statement RESULT =null;
81.8685 - int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
81.8686 - int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
81.8687 - Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
81.8688 - int identifierleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.8689 - int identifierright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.8690 - Identifier identifier = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.8691 - int typeCompletionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.8692 - int typeCompletionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.8693 - Expression typeCompletion = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.8694 - int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.8695 - int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.8696 - Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.8697 -
81.8698 - TypeDeclaration type = new TypeDeclaration (tokenleft, endright, identifier, typeCompletion);
81.8699 - RESULT = type;
81.8700 -
81.8701 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("type_decl",98, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8702 - }
81.8703 - return CUP$Ada95ASTParser$result;
81.8704 -
81.8705 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8706 - case 32: // number_declaration ::= defining_identifier_list COLON CONSTANT ASSIGNMENT expression SEMICOLON
81.8707 - {
81.8708 - List RESULT =null;
81.8709 - int identifierListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
81.8710 - int identifierListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
81.8711 - List identifierList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
81.8712 - int initleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.8713 - int initright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.8714 - Expression init = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.8715 -
81.8716 - List list = new LinkedList();
81.8717 - for (Object identifier : identifierList) {
81.8718 - Variable variable = new Variable (((Identifier)identifier).getStartOffset(), ((Identifier)identifier).getEndOffset(), (Identifier)identifier, Variable.Kind.CONSTANT);
81.8719 - list.add(new ASTNode[] {variable, init});
81.8720 - }
81.8721 - RESULT = list;
81.8722 -
81.8723 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("number_declaration",19, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8724 - }
81.8725 - return CUP$Ada95ASTParser$result;
81.8726 -
81.8727 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8728 - case 31: // init_opt ::= ASSIGNMENT expression
81.8729 - {
81.8730 - Expression RESULT =null;
81.8731 - int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.8732 - int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.8733 - Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.8734 -
81.8735 - RESULT = expr;
81.8736 -
81.8737 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("init_opt",97, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8738 - }
81.8739 - return CUP$Ada95ASTParser$result;
81.8740 -
81.8741 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8742 - case 30: // init_opt ::=
81.8743 - {
81.8744 - Expression RESULT =null;
81.8745 -
81.8746 - RESULT = null;
81.8747 -
81.8748 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("init_opt",97, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8749 - }
81.8750 - return CUP$Ada95ASTParser$result;
81.8751 -
81.8752 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8753 - case 29: // object_subtype_def ::= array_type
81.8754 - {
81.8755 - TypeName RESULT =null;
81.8756 - int arrayleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.8757 - int arrayright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.8758 - Object array = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.8759 -
81.8760 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("object_subtype_def",96, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8761 - }
81.8762 - return CUP$Ada95ASTParser$result;
81.8763 -
81.8764 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8765 - case 28: // object_subtype_def ::= subtype_indication
81.8766 - {
81.8767 - TypeName RESULT =null;
81.8768 - int subtypeleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.8769 - int subtyperight = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.8770 - TypeName subtype = (TypeName)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.8771 -
81.8772 - RESULT = subtype;
81.8773 -
81.8774 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("object_subtype_def",96, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8775 - }
81.8776 - return CUP$Ada95ASTParser$result;
81.8777 -
81.8778 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8779 - case 27: // object_qualifier_opt ::= ALIASED CONSTANT
81.8780 - {
81.8781 - Variable.Kind RESULT =null;
81.8782 -
81.8783 - RESULT = Variable.Kind.ALIASED_CONSTANT;
81.8784 -
81.8785 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("object_qualifier_opt",18, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8786 - }
81.8787 - return CUP$Ada95ASTParser$result;
81.8788 -
81.8789 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8790 - case 26: // object_qualifier_opt ::= CONSTANT
81.8791 - {
81.8792 - Variable.Kind RESULT =null;
81.8793 -
81.8794 - RESULT = Variable.Kind.CONSTANT;
81.8795 -
81.8796 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("object_qualifier_opt",18, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8797 - }
81.8798 - return CUP$Ada95ASTParser$result;
81.8799 -
81.8800 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8801 - case 25: // object_qualifier_opt ::= ALIASED
81.8802 - {
81.8803 - Variable.Kind RESULT =null;
81.8804 -
81.8805 - RESULT = Variable.Kind.ALIASED;
81.8806 -
81.8807 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("object_qualifier_opt",18, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8808 - }
81.8809 - return CUP$Ada95ASTParser$result;
81.8810 -
81.8811 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8812 - case 24: // object_qualifier_opt ::=
81.8813 - {
81.8814 - Variable.Kind RESULT =null;
81.8815 -
81.8816 - RESULT = Variable.Kind.DEFAULT;
81.8817 -
81.8818 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("object_qualifier_opt",18, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8819 - }
81.8820 - return CUP$Ada95ASTParser$result;
81.8821 -
81.8822 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8823 - case 23: // defining_identifier_list ::= defining_identifier_list COMMA defining_identifier
81.8824 - {
81.8825 - List RESULT =null;
81.8826 - int identifierListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.8827 - int identifierListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.8828 - List identifierList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.8829 - int identifierleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.8830 - int identifierright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.8831 - Identifier identifier = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.8832 -
81.8833 - identifierList.add(identifier);
81.8834 - RESULT = identifierList;
81.8835 -
81.8836 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("defining_identifier_list",17, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8837 - }
81.8838 - return CUP$Ada95ASTParser$result;
81.8839 -
81.8840 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8841 - case 22: // defining_identifier_list ::= defining_identifier
81.8842 - {
81.8843 - List RESULT =null;
81.8844 - int identifierleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.8845 - int identifierright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.8846 - Identifier identifier = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.8847 -
81.8848 - List identifierList = new LinkedList();
81.8849 - identifierList.add(identifier);
81.8850 - RESULT = identifierList;
81.8851 -
81.8852 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("defining_identifier_list",17, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8853 - }
81.8854 - return CUP$Ada95ASTParser$result;
81.8855 -
81.8856 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8857 - case 21: // object_declaration ::= defining_identifier_list COLON object_qualifier_opt object_subtype_def init_opt SEMICOLON
81.8858 - {
81.8859 - List RESULT =null;
81.8860 - int identifierListleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
81.8861 - int identifierListright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
81.8862 - List identifierList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
81.8863 - int varKindleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
81.8864 - int varKindright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
81.8865 - Variable.Kind varKind = (Variable.Kind)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
81.8866 - int subtypeleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
81.8867 - int subtyperight = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
81.8868 - TypeName subtype = (TypeName)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
81.8869 - int initleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.8870 - int initright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.8871 - Expression init = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.8872 -
81.8873 - List list = new LinkedList();
81.8874 - for (Object identifier : identifierList) {
81.8875 - Variable variable = new Variable (((Identifier)identifier).getStartOffset(), ((Identifier)identifier).getEndOffset(), (Identifier)identifier, varKind, subtype);
81.8876 - list.add(new ASTNode[] {variable, init});
81.8877 - }
81.8878 - RESULT = list;
81.8879 -
81.8880 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("object_declaration",16, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8881 - }
81.8882 - return CUP$Ada95ASTParser$result;
81.8883 -
81.8884 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8885 - case 20: // defining_identifier ::= IDENTIFIER
81.8886 - {
81.8887 - Identifier RESULT =null;
81.8888 - int idleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.8889 - int idright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.8890 - String id = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.8891 -
81.8892 - Identifier identifier = new Identifier(idleft, idright, id);
81.8893 - RESULT = identifier;
81.8894 -
81.8895 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("defining_identifier",4, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8896 - }
81.8897 - return CUP$Ada95ASTParser$result;
81.8898 -
81.8899 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8900 - case 19: // declaration ::= error SEMICOLON
81.8901 - {
81.8902 - Statement RESULT =null;
81.8903 - int theErrorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.8904 - int theErrorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.8905 - Object theError = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.8906 -
81.8907 - ASTError error = new ASTError(theErrorleft, theErrorright);
81.8908 - RESULT = error;
81.8909 -
81.8910 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declaration",0, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8911 - }
81.8912 - return CUP$Ada95ASTParser$result;
81.8913 -
81.8914 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8915 - case 18: // declaration ::= body_stub
81.8916 - {
81.8917 - Statement RESULT =null;
81.8918 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.8919 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.8920 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.8921 -
81.8922 - RESULT = statement;
81.8923 -
81.8924 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declaration",0, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8925 - }
81.8926 - return CUP$Ada95ASTParser$result;
81.8927 -
81.8928 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8929 - case 17: // declaration ::= generic_declaration
81.8930 - {
81.8931 - Statement RESULT =null;
81.8932 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.8933 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.8934 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.8935 -
81.8936 - RESULT = statement;
81.8937 -
81.8938 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declaration",0, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8939 - }
81.8940 - return CUP$Ada95ASTParser$result;
81.8941 -
81.8942 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8943 - case 16: // declaration ::= renaming_declaration
81.8944 - {
81.8945 - Statement RESULT =null;
81.8946 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.8947 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.8948 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.8949 -
81.8950 - RESULT = statement;
81.8951 -
81.8952 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declaration",0, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8953 - }
81.8954 - return CUP$Ada95ASTParser$result;
81.8955 -
81.8956 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8957 - case 15: // declaration ::= exception_decl
81.8958 - {
81.8959 - Statement RESULT =null;
81.8960 -
81.8961 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declaration",0, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8962 - }
81.8963 - return CUP$Ada95ASTParser$result;
81.8964 -
81.8965 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8966 - case 14: // declaration ::= prot_decl
81.8967 - {
81.8968 - Statement RESULT =null;
81.8969 -
81.8970 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declaration",0, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8971 - }
81.8972 - return CUP$Ada95ASTParser$result;
81.8973 -
81.8974 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8975 - case 13: // declaration ::= task_decl
81.8976 - {
81.8977 - Statement RESULT =null;
81.8978 -
81.8979 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declaration",0, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8980 - }
81.8981 - return CUP$Ada95ASTParser$result;
81.8982 -
81.8983 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8984 - case 12: // type_declaration ::= subtype_declaration
81.8985 - {
81.8986 - Statement RESULT =null;
81.8987 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.8988 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.8989 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.8990 -
81.8991 - RESULT = statement;
81.8992 -
81.8993 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("type_declaration",2, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.8994 - }
81.8995 - return CUP$Ada95ASTParser$result;
81.8996 -
81.8997 - /*. . . . . . . . . . . . . . . . . . . .*/
81.8998 - case 11: // type_declaration ::= type_decl
81.8999 - {
81.9000 - Statement RESULT =null;
81.9001 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.9002 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.9003 - Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.9004 -
81.9005 - RESULT = statement;
81.9006 -
81.9007 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("type_declaration",2, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.9008 - }
81.9009 - return CUP$Ada95ASTParser$result;
81.9010 -
81.9011 - /*. . . . . . . . . . . . . . . . . . . .*/
81.9012 - case 10: // fields_declaration ::= number_declaration
81.9013 - {
81.9014 - List RESULT =null;
81.9015 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.9016 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.9017 - List statement = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.9018 -
81.9019 - RESULT = statement;
81.9020 -
81.9021 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("fields_declaration",1, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.9022 - }
81.9023 - return CUP$Ada95ASTParser$result;
81.9024 -
81.9025 - /*. . . . . . . . . . . . . . . . . . . .*/
81.9026 - case 9: // fields_declaration ::= object_declaration
81.9027 - {
81.9028 - List RESULT =null;
81.9029 - int statementleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
81.9030 - int statementright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
81.9031 - List statement = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
81.9032 -
81.9033 - RESULT = statement;
81.9034 -
81.9035 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("fields_declaration",1, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.9036 - }
81.9037 - return CUP$Ada95ASTParser$result;
81.9038 -
81.9039 - /*. . . . . . . . . . . . . . . . . . . .*/
81.9040 - case 8: // pragma_s ::= pragma_s pragma
81.9041 - {
81.9042 - Object RESULT =null;
81.9043 -
81.9044 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("pragma_s",121, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.9045 - }
81.9046 - return CUP$Ada95ASTParser$result;
81.9047 -
81.9048 - /*. . . . . . . . . . . . . . . . . . . .*/
81.9049 - case 7: // pragma_s ::=
81.9050 - {
81.9051 - Object RESULT =null;
81.9052 -
81.9053 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("pragma_s",121, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.9054 - }
81.9055 - return CUP$Ada95ASTParser$result;
81.9056 -
81.9057 - /*. . . . . . . . . . . . . . . . . . . .*/
81.9058 - case 6: // pragma_arg ::= simple_name ARROW expression
81.9059 - {
81.9060 - Object RESULT =null;
81.9061 -
81.9062 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("pragma_arg",120, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.9063 - }
81.9064 - return CUP$Ada95ASTParser$result;
81.9065 -
81.9066 - /*. . . . . . . . . . . . . . . . . . . .*/
81.9067 - case 5: // pragma_arg ::= expression
81.9068 - {
81.9069 - Object RESULT =null;
81.9070 -
81.9071 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("pragma_arg",120, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.9072 - }
81.9073 - return CUP$Ada95ASTParser$result;
81.9074 -
81.9075 - /*. . . . . . . . . . . . . . . . . . . .*/
81.9076 - case 4: // pragma_arg_s ::= pragma_arg_s COMMA pragma_arg
81.9077 - {
81.9078 - Object RESULT =null;
81.9079 -
81.9080 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("pragma_arg_s",119, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.9081 - }
81.9082 - return CUP$Ada95ASTParser$result;
81.9083 -
81.9084 - /*. . . . . . . . . . . . . . . . . . . .*/
81.9085 - case 3: // pragma_arg_s ::= pragma_arg
81.9086 - {
81.9087 - Object RESULT =null;
81.9088 -
81.9089 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("pragma_arg_s",119, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.9090 - }
81.9091 - return CUP$Ada95ASTParser$result;
81.9092 -
81.9093 - /*. . . . . . . . . . . . . . . . . . . .*/
81.9094 - case 2: // pragma ::= PRAGMA simple_name LPAREN pragma_arg_s RPAREN SEMICOLON
81.9095 - {
81.9096 - Object RESULT =null;
81.9097 -
81.9098 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("pragma",118, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.9099 - }
81.9100 - return CUP$Ada95ASTParser$result;
81.9101 -
81.9102 - /*. . . . . . . . . . . . . . . . . . . .*/
81.9103 - case 1: // pragma ::= PRAGMA IDENTIFIER SEMICOLON
81.9104 - {
81.9105 - Object RESULT =null;
81.9106 -
81.9107 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("pragma",118, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.9108 - }
81.9109 - return CUP$Ada95ASTParser$result;
81.9110 -
81.9111 - /*. . . . . . . . . . . . . . . . . . . .*/
81.9112 - case 0: // $START ::= compilation EOF
81.9113 - {
81.9114 - Object RESULT =null;
81.9115 - int start_valleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
81.9116 - int start_valright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
81.9117 - Program start_val = (Program)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
81.9118 - RESULT = start_val;
81.9119 - CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("$START",0, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
81.9120 - }
81.9121 - /* ACCEPT */
81.9122 - CUP$Ada95ASTParser$parser.done_parsing();
81.9123 - return CUP$Ada95ASTParser$result;
81.9124 -
81.9125 - /* . . . . . .*/
81.9126 - default:
81.9127 - throw new Exception(
81.9128 - "Invalid action number found in internal parse table");
81.9129 -
81.9130 - }
81.9131 - }
81.9132 -}
81.9133 -
82.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/Ada95ASTSymbols.java Tue Oct 02 21:55:21 2012 -0400
82.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
82.3 @@ -1,115 +0,0 @@
82.4 -
82.5 -//----------------------------------------------------
82.6 -// The following code was generated by CUP v0.11a beta 20060608
82.7 -// Tue Sep 22 18:19:43 CEST 2009
82.8 -//----------------------------------------------------
82.9 -
82.10 -package org.netbeans.modules.ada.editor.parser;
82.11 -
82.12 -/** CUP generated interface containing symbol constants. */
82.13 -public interface Ada95ASTSymbols {
82.14 - /* terminals */
82.15 - public static final int AT = 11;
82.16 - public static final int IDENTIFIER = 98;
82.17 - public static final int GT = 83;
82.18 - public static final int LIMITED = 34;
82.19 - public static final int ARROW = 87;
82.20 - public static final int AMP = 71;
82.21 - public static final int TYPE = 64;
82.22 - public static final int SUBTYPE = 59;
82.23 - public static final int ALIASED = 7;
82.24 - public static final int RAISE = 51;
82.25 - public static final int RENAMES = 55;
82.26 - public static final int UNTIL = 65;
82.27 - public static final int ASSIGNMENT = 90;
82.28 - public static final int ELSIF = 22;
82.29 - public static final int COMMA = 77;
82.30 - public static final int TERMINATE = 62;
82.31 - public static final int RPAREN = 74;
82.32 - public static final int LT = 85;
82.33 - public static final int ALL = 8;
82.34 - public static final int DECLARE = 16;
82.35 - public static final int ABORT = 2;
82.36 - public static final int GTGT = 95;
82.37 - public static final int LPAREN = 73;
82.38 - public static final int ACCESS = 5;
82.39 - public static final int LOOP = 35;
82.40 - public static final int PROTECTED = 48;
82.41 - public static final int OUT = 43;
82.42 - public static final int NOT = 38;
82.43 - public static final int TASK = 61;
82.44 - public static final int ARRAY = 10;
82.45 - public static final int THEN = 63;
82.46 - public static final int GOTO = 30;
82.47 - public static final int PACKAGE = 44;
82.48 - public static final int RECORD = 53;
82.49 - public static final int EQ = 84;
82.50 - public static final int REVERSE = 50;
82.51 - public static final int MOD = 36;
82.52 - public static final int WHEN = 67;
82.53 - public static final int GENERIC = 29;
82.54 - public static final int DIGITS = 19;
82.55 - public static final int DOT_DOT = 88;
82.56 - public static final int SELECT = 57;
82.57 - public static final int OTHERS = 42;
82.58 - public static final int ABSTRACT = 4;
82.59 - public static final int SLASH = 80;
82.60 - public static final int PLUS = 76;
82.61 - public static final int WHILE = 68;
82.62 - public static final int USE = 66;
82.63 - public static final int DO = 20;
82.64 - public static final int FOR = 27;
82.65 - public static final int EXPON = 89;
82.66 - public static final int STAR = 75;
82.67 - public static final int RETURN = 49;
82.68 - public static final int LTLT = 94;
82.69 - public static final int DELAY = 17;
82.70 - public static final int ELSE = 21;
82.71 - public static final int BASED_LITERAL = 100;
82.72 - public static final int GTEQ = 92;
82.73 - public static final int DOT = 79;
82.74 - public static final int PROCEDURE = 47;
82.75 - public static final int ENTRY = 24;
82.76 - public static final int DELTA = 18;
82.77 - public static final int PRAGMA = 45;
82.78 - public static final int STRING_LITERAL = 101;
82.79 - public static final int TICK = 72;
82.80 - public static final int NULL = 39;
82.81 - public static final int BOX = 96;
82.82 - public static final int SEMICOLON = 82;
82.83 - public static final int EOF = 0;
82.84 - public static final int FUNCTION = 28;
82.85 - public static final int MINUS = 78;
82.86 - public static final int IS = 33;
82.87 - public static final int CONSTANT = 14;
82.88 - public static final int LTEQ = 93;
82.89 - public static final int BODY = 13;
82.90 - public static final int ACCEPT = 6;
82.91 - public static final int IN = 32;
82.92 - public static final int OR = 41;
82.93 - public static final int error = 1;
82.94 - public static final int EXIT = 26;
82.95 - public static final int DECIMAL_LITERAL = 99;
82.96 - public static final int IF = 31;
82.97 - public static final int OF = 40;
82.98 - public static final int ABS = 3;
82.99 - public static final int END = 23;
82.100 - public static final int COLON = 81;
82.101 - public static final int REM = 54;
82.102 - public static final int REQUEUE = 56;
82.103 - public static final int SEPARATE = 58;
82.104 - public static final int INEQ = 91;
82.105 - public static final int CHAR_LITERAL = 97;
82.106 - public static final int BEGIN = 12;
82.107 - public static final int CASE = 15;
82.108 - public static final int EXCEPTION = 25;
82.109 - public static final int NEW = 37;
82.110 - public static final int TAGGED = 60;
82.111 - public static final int RANGE = 52;
82.112 - public static final int AND = 9;
82.113 - public static final int BAR = 86;
82.114 - public static final int PRIVATE = 46;
82.115 - public static final int WITH = 69;
82.116 - public static final int XOR = 70;
82.117 -}
82.118 -
83.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/Ada95ErrorHandler.java Tue Oct 02 21:55:21 2012 -0400
83.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
83.3 @@ -1,375 +0,0 @@
83.4 -/*
83.5 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
83.6 - *
83.7 - * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
83.8 - *
83.9 - * The contents of this file are subject to the terms of either the GNU
83.10 - * General Public License Version 2 only ("GPL") or the Common
83.11 - * Development and Distribution License("CDDL") (collectively, the
83.12 - * "License"). You may not use this file except in compliance with the
83.13 - * License. You can obtain a copy of the License at
83.14 - * http://www.netbeans.org/cddl-gplv2.html
83.15 - * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
83.16 - * specific language governing permissions and limitations under the
83.17 - * License. When distributing the software, include this License Header
83.18 - * Notice in each file and include the License file at
83.19 - * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
83.20 - * particular file as subject to the "Classpath" exception as provided
83.21 - * by Sun in the GPL Version 2 section of the License file that
83.22 - * accompanied this code. If applicable, add the following below the
83.23 - * License Header, with the fields enclosed by brackets [] replaced by
83.24 - * your own identifying information:
83.25 - * "Portions Copyrighted [year] [name of copyright owner]"
83.26 - *
83.27 - * If you wish your version of this file to be governed by only the CDDL
83.28 - * or only the GPL Version 2, indicate your decision by adding
83.29 - * "[Contributor] elects to include this software in this distribution
83.30 - * under the [CDDL or GPL Version 2] license." If you do not indicate a
83.31 - * single choice of license, a recipient has the option to distribute
83.32 - * your version of this file under either the CDDL, the GPL Version 2 or
83.33 - * to extend the choice of license to its licensees as provided above.
83.34 - * However, if you add GPL Version 2 code and therefore, elected the GPL
83.35 - * Version 2 license, then the option applies only if the new code is
83.36 - * made subject to such option by the copyright holder.
83.37 - *
83.38 - * Contributor(s):
83.39 - *
83.40 - * Portions Copyrighted 2008 Sun Microsystems, Inc.
83.41 - */
83.42 -
83.43 -package org.netbeans.modules.ada.editor.parser;
83.44 -
83.45 -import java.util.ArrayList;
83.46 -import java.util.Arrays;
83.47 -import java.util.List;
83.48 -import java.util.logging.Level;
83.49 -import java.util.logging.Logger;
83.50 -import java_cup.runtime.Symbol;
83.51 -import org.netbeans.modules.ada.editor.parser.AdaParser.Context;
83.52 -import org.netbeans.modules.ada.editor.ast.ASTError;
83.53 -import org.netbeans.modules.ada.editor.ast.ASTNode;
83.54 -import org.netbeans.modules.ada.editor.ast.nodes.Program;
83.55 -import org.netbeans.modules.csl.api.Severity;
83.56 -import org.openide.util.NbBundle;
83.57 -import org.netbeans.modules.csl.api.Error;
83.58 -
83.59 -/**
83.60 - * Based on org.netbeans.modules.php.editor.parser.PHP5ErrorHandler
83.61 - *
83.62 - * @author Andrea Lucarelli
83.63 - */
83.64 -public class Ada95ErrorHandler implements ParserErrorHandler {
83.65 -
83.66 - private static final Logger LOGGER = Logger.getLogger(Ada95ErrorHandler.class.getName());
83.67 -
83.68 - public static class SyntaxError {
83.69 - private final short[] expectedTokens;
83.70 - private final Symbol currentToken;
83.71 - private final Symbol previousToken;
83.72 -
83.73 - public SyntaxError(short[] expectedTokens, Symbol currentToken, Symbol previousToken) {
83.74 - this.expectedTokens = expectedTokens;
83.75 - this.currentToken = currentToken;
83.76 - this.previousToken = previousToken;
83.77 - }
83.78 -
83.79 - public Symbol getCurrentToken() {
83.80 - return currentToken;
83.81 - }
83.82 -
83.83 - public Symbol getPreviousToken() {
83.84 - return previousToken;
83.85 - }
83.86 -
83.87 - public short[] getExpectedTokens() {
83.88 - return expectedTokens;
83.89 - }
83.90 - }
83.91 -
83.92 - private final List<SyntaxError> syntaxErrors;
83.93 -
83.94 - private final Context context;
83.95 - AdaParser outer;
83.96 -
83.97 - public Ada95ErrorHandler(Context context, AdaParser outer) {
83.98 - super();
83.99 - this.outer = outer;
83.100 - this.context = context;
83.101 - syntaxErrors = new ArrayList<SyntaxError>();
83.102 - //LOGGER.setLevel(Level.FINEST);
83.103 - }
83.104 -
83.105 - public void handleError(Type type, short[] expectedtokens, Symbol current, Symbol previous) {
83.106 - Error error;
83.107 - if (type == ParserErrorHandler.Type.SYNTAX_ERROR) {
83.108 - // logging syntax error
83.109 - if (LOGGER.isLoggable(Level.FINEST)) {
83.110 - LOGGER.finest("Syntax error:"); //NOI18N
83.111 - LOGGER.finest("Current [" + current.left + ", " + current.right + "](" + Utils.getASTScannerTokenName(current.sym) + "): " + current.value); //NOI18N
83.112 - LOGGER.finest("Previous [" + previous.left + ", " + previous.right + "] (" + Utils.getASTScannerTokenName(previous.sym) + "):" + previous.value); //NOI18N
83.113 - StringBuffer message = new StringBuffer();
83.114 - message.append("Expected tokens:"); //NOI18N
83.115 - for (int i = 0; i < expectedtokens.length; i += 2) {
83.116 - message.append(" ").append( Utils.getASTScannerTokenName(expectedtokens[i])); //NOI18N
83.117 - }
83.118 - LOGGER.finest(message.toString());
83.119 - }
83.120 - syntaxErrors.add(new SyntaxError(expectedtokens, current, previous));
83.121 - } else {
83.122 - String message = null;
83.123 - if (current != null) {
83.124 - String tagText = getTokenTextForm(current.sym);
83.125 - if (tagText != null) {
83.126 - message = NbBundle.getMessage(Ada95ErrorHandler.class, "SE_Unexpected") + " " + tagText;
83.127 - }
83.128 - else {
83.129 - message = NbBundle.getMessage(Ada95ErrorHandler.class, "SE_Unexpected") + " " + Utils.getASTScannerTokenName(current.sym);
83.130 - }
83.131 - }
83.132 - if (message == null) {
83.133 - message = "Parser error"; // NOI18N
83.134 - }
83.135 - error = new AdaError(message, context.getSnapshot().getSource().getFileObject(), current.left, current.right, Severity.ERROR, null);
83.136 - //context.getListener().error(error);
83.137 - }
83.138 - }
83.139 -
83.140 - public void handleError(Type type, Symbol symbol, String message) {
83.141 - Error error;
83.142 - if (symbol != null) {
83.143 - if (message == null) {
83.144 - message = "Parser error";
83.145 - }
83.146 - error = new AdaError(message, context.getSnapshot().getSource().getFileObject(), symbol.left, symbol.right, Severity.ERROR, null);
83.147 - //TODO: context.getListener().error(error);
83.148 - }
83.149 - }
83.150 -
83.151 - public List<Error> displayFatalError(){
83.152 - Error error = new FatalError();
83.153 - return Arrays.asList(error);
83.154 - }
83.155 -
83.156 - public List<Error> displaySyntaxErrors(Program program) {
83.157 - List<Error> errors = new ArrayList<Error>();
83.158 - for (SyntaxError syntaxError : syntaxErrors) {
83.159 - ASTNode astError = null;
83.160 - if (program != null) {
83.161 - astError = org.netbeans.modules.ada.editor.ast.ASTUtils.getNodeAtOffset(program, syntaxError.currentToken.left);
83.162 - if (!(astError instanceof ASTError)) {
83.163 - astError = org.netbeans.modules.ada.editor.ast.ASTUtils.getNodeAtOffset(program, syntaxError.previousToken.right);
83.164 - if (!(astError instanceof ASTError)) {
83.165 - astError = null;
83.166 - }
83.167 - }
83.168 - if (astError != null) {
83.169 - LOGGER.finest("ASTError [" + astError.getStartOffset() + ", " + astError.getEndOffset() + "]"); //NOI18N
83.170 - } else {
83.171 - LOGGER.finest("ASTError was not found"); //NOI18N
83.172 - }
83.173 - }
83.174 - Error error = defaultSyntaxErrorHandling(syntaxError, astError);
83.175 - errors.add(error);
83.176 - }
83.177 - return errors;
83.178 - }
83.179 -
83.180 - // This is just defualt handling. We can do a logic, which will find metter
83.181 - private Error defaultSyntaxErrorHandling(SyntaxError syntaxError, ASTNode astError) {
83.182 - Error error = null;
83.183 - String unexpectedText = ""; //NOI18N
83.184 - StringBuffer message = new StringBuffer();
83.185 - boolean isUnexpected = false;
83.186 - int start = syntaxError.getCurrentToken().left;
83.187 - int end = syntaxError.getCurrentToken().right;
83.188 -
83.189 - if (syntaxError.getCurrentToken().sym == Ada95ASTSymbols.EOF) {
83.190 - isUnexpected = true;
83.191 - unexpectedText = NbBundle.getMessage(Ada95ErrorHandler.class, "SE_EOF");
83.192 - start = end - 1;
83.193 - }
83.194 - else {
83.195 - String currentText = (String)syntaxError.getCurrentToken().value;
83.196 - isUnexpected = currentText != null && currentText.trim().length() > 0;
83.197 - if (isUnexpected) {
83.198 - unexpectedText = currentText.trim();
83.199 - end = start + unexpectedText.length();
83.200 - }
83.201 - }
83.202 -
83.203 - List<String> possibleTags = new ArrayList<String>();
83.204 - for (int i = 0; i < syntaxError.getExpectedTokens().length; i += 2) {
83.205 - String text = getTokenTextForm(syntaxError.getExpectedTokens()[i]);
83.206 - if (text != null) {
83.207 - possibleTags.add(text);
83.208 - }
83.209 - }
83.210 -
83.211 - message.append(NbBundle.getMessage(Ada95ErrorHandler.class, "SE_Message"));
83.212 - message.append(':'); //NOI18N
83.213 - if (isUnexpected) {
83.214 - message.append(' ').append(NbBundle.getMessage(Ada95ErrorHandler.class, "SE_Unexpected"));
83.215 - message.append(": "); //NOI18N
83.216 - message.append(unexpectedText);
83.217 - }
83.218 - if (possibleTags.size() > 0) {
83.219 - message.append('\n').append(NbBundle.getMessage(Ada95ErrorHandler.class, "SE_Expected"));
83.220 - message.append(": "); //NOI18N
83.221 - boolean addOR = false;
83.222 - for (String tag : possibleTags) {
83.223 - if (addOR) {
83.224 - message.append(" " + NbBundle.getMessage(Ada95ErrorHandler.class, "SE_Or") + " ");
83.225 - }
83.226 - else {
83.227 - addOR = true;
83.228 - }
83.229 -
83.230 - message.append(tag);
83.231 - }
83.232 - }
83.233 -
83.234 - if (astError != null){
83.235 - start = astError.getStartOffset();
83.236 - end = astError.getEndOffset();
83.237 - // if the asterror is trough two lines, the problem is ussually at the end
83.238 - String text = context.getSource().substring(start, end);
83.239 - int lastNewLine = text.length()-1;
83.240 - while (text.charAt(lastNewLine) == '\n' || text.charAt(lastNewLine) == '\r'
83.241 - || text.charAt(lastNewLine) == '\t' || text.charAt(lastNewLine) == ' ') {
83.242 - lastNewLine--;
83.243 - if (lastNewLine < 0) {
83.244 - break;
83.245 - }
83.246 - }
83.247 - lastNewLine = text.lastIndexOf('\n', lastNewLine); //NOI18N
83.248 - if (lastNewLine > 0) {
83.249 - start = start + lastNewLine + 1;
83.250 - }
83.251 - }
83.252 - error = new AdaError(message.toString(), context.getSnapshot().getSource().getFileObject(), start, end, Severity.ERROR, new Object[]{syntaxError});
83.253 - return error;
83.254 - }
83.255 -
83.256 - public List<SyntaxError> getSyntaxErrors() {
83.257 - return syntaxErrors;
83.258 - }
83.259 -
83.260 - private String getTokenTextForm (int token) {
83.261 - String text = null;
83.262 - switch (token) {
83.263 - case Ada95ASTSymbols.BASED_LITERAL : text = "number"; break; //NOI18N
83.264 - case Ada95ASTSymbols.DECIMAL_LITERAL : text = "number"; break; //NOI18N
83.265 - case Ada95ASTSymbols.IDENTIFIER : text = "identifier"; break; //NOI18N
83.266 - case Ada95ASTSymbols.ABORT : text = "abort"; break; //NOI18N
83.267 - case Ada95ASTSymbols.ABS : text = "abs"; break; //NOI18N
83.268 - case Ada95ASTSymbols.ABSTRACT : text = "abstract"; break; //NOI18N
83.269 - case Ada95ASTSymbols.ACCESS : text = "access"; break; //NOI18N
83.270 - case Ada95ASTSymbols.ACCEPT : text = "access"; break; //NOI18N
83.271 - case Ada95ASTSymbols.ALIASED : text = "aliased"; break; //NOI18N
83.272 - case Ada95ASTSymbols.ALL : text = "all"; break; //NOI18N
83.273 - case Ada95ASTSymbols.AND : text = "and"; break; //NOI18N
83.274 - case Ada95ASTSymbols.ARRAY : text = "array"; break; //NOI18N
83.275 - case Ada95ASTSymbols.AT : text = "at"; break; //NOI18N
83.276 - case Ada95ASTSymbols.BEGIN : text = "begin"; break; //NOI18N
83.277 - case Ada95ASTSymbols.BODY : text = "body"; break; //NOI18N
83.278 - case Ada95ASTSymbols.CONSTANT : text = "constant"; break; //NOI18N
83.279 - case Ada95ASTSymbols.CASE : text = "case"; break; //NOI18N
83.280 - case Ada95ASTSymbols.DECLARE : text = "declare"; break; //NOI18N
83.281 - case Ada95ASTSymbols.DELAY : text = "delay"; break; //NOI18N
83.282 - case Ada95ASTSymbols.DELTA : text = "delta"; break; //NOI18N
83.283 - case Ada95ASTSymbols.DIGITS : text = "digits"; break; //NOI18N
83.284 - case Ada95ASTSymbols.DO : text = "do"; break; //NOI18N
83.285 - case Ada95ASTSymbols.ELSE : text = "else"; break; //NOI18N
83.286 - case Ada95ASTSymbols.ELSIF : text = "elsif"; break; //NOI18N
83.287 - case Ada95ASTSymbols.END : text = "end"; break; //NOI18N
83.288 - case Ada95ASTSymbols.ENTRY : text = "entry"; break; //NOI18N
83.289 - case Ada95ASTSymbols.EXCEPTION : text = "exception"; break; //NOI18N
83.290 - case Ada95ASTSymbols.EXIT : text = "exit"; break; //NOI18N
83.291 - case Ada95ASTSymbols.FOR : text = "for"; break; //NOI18N
83.292 - case Ada95ASTSymbols.FUNCTION : text = "function"; break; //NOI18N
83.293 - case Ada95ASTSymbols.GENERIC : text = "generic"; break; //NOI18N
83.294 - case Ada95ASTSymbols.GOTO : text = "goto"; break; //NOI18N
83.295 - case Ada95ASTSymbols.IF : text = "if"; break; //NOI18N
83.296 - case Ada95ASTSymbols.IN : text = "in"; break; //NOI18N
83.297 - case Ada95ASTSymbols.IS : text = "is"; break; //NOI18N
83.298 - case Ada95ASTSymbols.LIMITED : text = "limited"; break; //NOI18N
83.299 - case Ada95ASTSymbols.LOOP : text = "loop"; break; //NOI18N
83.300 - case Ada95ASTSymbols.MOD : text = "mod"; break; //NOI18N
83.301 - case Ada95ASTSymbols.NEW : text = "new"; break; //NOI18N
83.302 - case Ada95ASTSymbols.NOT : text = "not"; break; //NOI18N
83.303 - case Ada95ASTSymbols.NULL : text = "null"; break; //NOI18N
83.304 - case Ada95ASTSymbols.OF : text = "of"; break; //NOI18N
83.305 - case Ada95ASTSymbols.OR : text = "or"; break; //NOI18N
83.306 - case Ada95ASTSymbols.OTHERS : text = "others"; break; //NOI18N
83.307 - case Ada95ASTSymbols.OUT : text = "out"; break; //NOI18N
83.308 - case Ada95ASTSymbols.PACKAGE : text = "package"; break; //NOI18N
83.309 - case Ada95ASTSymbols.PRAGMA : text = "pragma"; break; //NOI18N
83.310 - case Ada95ASTSymbols.PRIVATE : text = "private"; break; //NOI18N
83.311 - case Ada95ASTSymbols.PROCEDURE : text = "procedure"; break; //NOI18N
83.312 - case Ada95ASTSymbols.PROTECTED : text = "protected"; break; //NOI18N
83.313 - case Ada95ASTSymbols.RETURN : text = "return"; break; //NOI18N
83.314 - case Ada95ASTSymbols.REVERSE : text = "reverse"; break; //NOI18N
83.315 - case Ada95ASTSymbols.RAISE : text = "raise"; break; //NOI18N
83.316 - case Ada95ASTSymbols.RANGE : text = "range"; break; //NOI18N
83.317 - case Ada95ASTSymbols.RECORD : text = "record"; break; //NOI18N
83.318 - case Ada95ASTSymbols.REM : text = "rem"; break; //NOI18N
83.319 - case Ada95ASTSymbols.RENAMES : text = "renames"; break; //NOI18N
83.320 - case Ada95ASTSymbols.REQUEUE : text = "requeue"; break; //NOI18N
83.321 - case Ada95ASTSymbols.SELECT : text = "select"; break; //NOI18N
83.322 - case Ada95ASTSymbols.SEPARATE : text = "separate"; break; //NOI18N
83.323 - case Ada95ASTSymbols.SUBTYPE : text = "subtype"; break; //NOI18N
83.324 - case Ada95ASTSymbols.TAGGED : text = "tagged"; break; //NOI18N
83.325 - case Ada95ASTSymbols.TASK : text = "task"; break; //NOI18N
83.326 - case Ada95ASTSymbols.TERMINATE : text = "terminate"; break; //NOI18N
83.327 - case Ada95ASTSymbols.THEN : text = "then"; break; //NOI18N
83.328 - case Ada95ASTSymbols.TYPE : text = "type"; break; //NOI18N
83.329 - case Ada95ASTSymbols.UNTIL : text = "until"; break; //NOI18N
83.330 - case Ada95ASTSymbols.USE : text = "use"; break; //NOI18N
83.331 - case Ada95ASTSymbols.WHEN : text = "when"; break; //NOI18N
83.332 - case Ada95ASTSymbols.WHILE : text = "while"; break; //NOI18N
83.333 - case Ada95ASTSymbols.WITH : text = "with"; break; //NOI18N
83.334 - case Ada95ASTSymbols.XOR : text = "xor"; break; //NOI18N
83.335 - case Ada95ASTSymbols.AMP : text = "&"; break; //NOI18N
83.336 - case Ada95ASTSymbols.TICK : text = "'"; break; //NOI18N
83.337 - case Ada95ASTSymbols.LPAREN : text = "("; break; //NOI18N
83.338 - case Ada95ASTSymbols.RPAREN : text = ")"; break; //NOI18N
83.339 - case Ada95ASTSymbols.STAR : text = "*"; break; //NOI18N
83.340 - case Ada95ASTSymbols.PLUS : text = "+"; break; //NOI18N
83.341 - case Ada95ASTSymbols.COMMA : text = ","; break; //NOI18N
83.342 - case Ada95ASTSymbols.MINUS : text = "-"; break; //NOI18N
83.343 - case Ada95ASTSymbols.DOT : text = "."; break; //NOI18N
83.344 - case Ada95ASTSymbols.SLASH : text = "/"; break; //NOI18N
83.345 - case Ada95ASTSymbols.COLON : text = ":"; break; //NOI18N
83.346 - case Ada95ASTSymbols.SEMICOLON : text = ";"; break; //NOI18N
83.347 - case Ada95ASTSymbols.GT : text = "<"; break; //NOI18N
83.348 - case Ada95ASTSymbols.EQ : text = "="; break; //NOI18N
83.349 - case Ada95ASTSymbols.LT : text = ">"; break; //NOI18N
83.350 - case Ada95ASTSymbols.BAR : text = "|"; break; //NOI18N
83.351 - case Ada95ASTSymbols.ARROW : text = "=>"; break; //NOI18N
83.352 - case Ada95ASTSymbols.DOT_DOT : text = ".."; break; //NOI18N
83.353 - case Ada95ASTSymbols.EXPON : text = "**"; break; //NOI18N
83.354 - case Ada95ASTSymbols.ASSIGNMENT : text = ":="; break; //NOI18N
83.355 - case Ada95ASTSymbols.INEQ : text = "/="; break; //NOI18N
83.356 - case Ada95ASTSymbols.GTEQ : text = ">="; break; //NOI18N
83.357 - case Ada95ASTSymbols.LTEQ : text = "<="; break; //NOI18N
83.358 - case Ada95ASTSymbols.LTLT : text = "<<"; break; //NOI18N
83.359 - case Ada95ASTSymbols.GTGT : text = ">>"; break; //NOI18N
83.360 - case Ada95ASTSymbols.BOX : text = "<>"; break; //NOI18N
83.361 - }
83.362 - return text;
83.363 - }
83.364 -
83.365 - private class FatalError extends AdaError{
83.366 - FatalError(){
83.367 - super(NbBundle.getMessage(Ada95ErrorHandler.class, "MSG_FatalError"),
83.368 - context.getSnapshot().getSource().getFileObject(),
83.369 - 0, context.getSource().length(),
83.370 - Severity.ERROR, null);
83.371 - }
83.372 -
83.373 - @Override
83.374 - public boolean isLineError() {
83.375 - return false;
83.376 - }
83.377 - }
83.378 -}
84.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
84.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaASTParser.java Mon Oct 15 23:38:26 2012 +0200
84.3 @@ -0,0 +1,9215 @@
84.4 +
84.5 +//----------------------------------------------------
84.6 +// The following code was generated by CUP v0.11a beta 20060608
84.7 +// Thu Sep 23 23:52:48 CEST 2010
84.8 +//----------------------------------------------------
84.9 +
84.10 +package org.netbeans.modules.ada.editor.parser;
84.11 +
84.12 +import java.util.*;
84.13 +import org.netbeans.modules.ada.editor.lexer.AdaASTLexer;
84.14 +import org.netbeans.modules.ada.editor.ast.*;
84.15 +import org.netbeans.modules.ada.editor.ast.nodes.*;
84.16 +
84.17 +/** CUP v0.11a beta 20060608 generated parser.
84.18 + * @version Thu Sep 23 23:52:48 CEST 2010
84.19 + */
84.20 +public class AdaASTParser extends java_cup.runtime.lr_parser {
84.21 +
84.22 + /** Default constructor. */
84.23 + public AdaASTParser() {super();}
84.24 +
84.25 + /** Constructor which sets the default scanner. */
84.26 + public AdaASTParser(java_cup.runtime.Scanner s) {super(s);}
84.27 +
84.28 + /** Constructor which sets the default scanner. */
84.29 + public AdaASTParser(java_cup.runtime.Scanner s, java_cup.runtime.SymbolFactory sf) {super(s,sf);}
84.30 +
84.31 + /** Production table. */
84.32 + protected static final short _production_table[][] =
84.33 + unpackFromStrings(new String[] {
84.34 + "\000\u0204\000\002\002\004\000\002\173\005\000\002\173" +
84.35 + "\010\000\002\174\003\000\002\174\005\000\002\175\003" +
84.36 + "\000\002\175\005\000\002\176\002\000\002\176\004\000" +
84.37 + "\002\003\003\000\002\003\003\000\002\004\003\000\002" +
84.38 + "\004\003\000\002\002\003\000\002\002\003\000\002\002" +
84.39 + "\003\000\002\002\003\000\002\002\003\000\002\002\003" +
84.40 + "\000\002\002\004\000\002\006\003\000\002\022\010\000" +
84.41 + "\002\023\003\000\002\023\005\000\002\024\002\000\002" +
84.42 + "\024\003\000\002\024\003\000\002\024\004\000\002\142" +
84.43 + "\003\000\002\142\003\000\002\143\002\000\002\143\004" +
84.44 + "\000\002\025\010\000\002\144\007\000\002\202\002\000" +
84.45 + "\002\202\003\000\002\202\005\000\002\145\002\000\002" +
84.46 + "\145\004\000\002\017\003\000\002\017\003\000\002\017" +
84.47 + "\003\000\002\017\003\000\002\017\003\000\002\017\003" +
84.48 + "\000\002\017\003\000\002\017\003\000\002\020\007\000" +
84.49 + "\002\021\004\000\002\021\003\000\002\213\003\000\002" +
84.50 + "\213\003\000\002\215\005\000\002\212\004\000\002\212" +
84.51 + "\006\000\002\212\006\000\002\212\007\000\002\212\007" +
84.52 + "\000\002\214\004\000\002\167\005\000\002\167\005\000" +
84.53 + "\002\167\010\000\002\204\005\000\002\220\003\000\002" +
84.54 + "\220\005\000\002\221\003\000\002\221\003\000\002\205" +
84.55 + "\003\000\002\205\004\000\002\222\003\000\002\223\002" +
84.56 + "\000\002\223\003\000\002\206\003\000\002\206\003\000" +
84.57 + "\002\224\005\000\002\225\005\000\002\225\007\000\002" +
84.58 + "\207\003\000\002\207\003\000\002\226\010\000\002\227" +
84.59 + "\006\000\002\232\004\000\002\233\002\000\002\233\003" +
84.60 + "\000\002\230\003\000\002\230\005\000\002\231\005\000" +
84.61 + "\002\234\005\000\002\235\003\000\002\235\005\000\002" +
84.62 + "\166\004\000\002\166\003\000\002\216\002\000\002\216" +
84.63 + "\003\000\002\210\005\000\002\217\007\000\002\217\004" +
84.64 + "\000\002\112\002\000\002\112\003\000\002\112\004\000" +
84.65 + "\002\236\004\000\002\236\004\000\002\236\005\000\002" +
84.66 + "\237\003\000\002\237\005\000\002\241\003\000\002\241" +
84.67 + "\005\000\002\240\007\000\002\240\004\000\002\203\005" +
84.68 + "\000\002\243\003\000\002\243\005\000\002\244\007\000" +
84.69 + "\002\244\003\000\002\245\002\000\002\245\003\000\002" +
84.70 + "\242\012\000\002\246\003\000\002\246\004\000\002\247" +
84.71 + "\007\000\002\161\003\000\002\161\005\000\002\250\003" +
84.72 + "\000\002\250\003\000\002\250\003\000\002\251\004\000" +
84.73 + "\002\251\003\000\002\211\004\000\002\211\005\000\002" +
84.74 + "\211\005\000\002\211\006\000\002\211\010\000\002\252" +
84.75 + "\002\000\002\252\003\000\002\012\002\000\002\012\003" +
84.76 + "\000\002\007\002\000\002\007\003\000\002\010\003\000" +
84.77 + "\002\010\004\000\002\011\003\000\002\011\003\000\002" +
84.78 + "\011\003\000\002\011\003\000\002\011\003\000\002\011" +
84.79 + "\003\000\002\011\003\000\002\011\003\000\002\013\003" +
84.80 + "\000\002\013\004\000\002\254\003\000\002\254\003\000" +
84.81 + "\002\110\003\000\002\110\003\000\002\110\003\000\002" +
84.82 + "\110\003\000\002\015\003\000\002\015\003\000\002\015" +
84.83 + "\003\000\002\015\003\000\002\026\003\000\002\026\003" +
84.84 + "\000\002\026\003\000\002\026\003\000\002\026\003\000" +
84.85 + "\002\146\003\000\002\146\005\000\002\146\005\000\002" +
84.86 + "\027\003\000\002\140\003\000\002\140\005\000\002\133" +
84.87 + "\003\000\002\133\005\000\002\160\003\000\002\164\006" +
84.88 + "\000\002\165\003\000\002\165\005\000\002\255\003\000" +
84.89 + "\002\255\003\000\002\255\003\000\002\255\003\000\002" +
84.90 + "\030\005\000\002\030\005\000\002\030\005\000\002\030" +
84.91 + "\005\000\002\163\005\000\002\172\003\000\002\172\003" +
84.92 + "\000\002\172\003\000\002\172\003\000\002\154\003\000" +
84.93 + "\002\154\003\000\002\154\003\000\002\154\003\000\002" +
84.94 + "\257\005\000\002\257\005\000\002\257\007\000\002\257" +
84.95 + "\010\000\002\257\006\000\002\260\005\000\002\260\005" +
84.96 + "\000\002\256\005\000\002\037\003\000\002\037\003\000" +
84.97 + "\002\037\003\000\002\170\004\000\002\170\004\000\002" +
84.98 + "\040\003\000\002\040\003\000\002\040\003\000\002\040" +
84.99 + "\003\000\002\040\003\000\002\040\003\000\002\171\003" +
84.100 + "\000\002\171\004\000\002\042\003\000\002\042\003\000" +
84.101 + "\002\041\003\000\002\041\003\000\002\041\003\000\002" +
84.102 + "\043\003\000\002\043\003\000\002\043\003\000\002\043" +
84.103 + "\003\000\002\031\003\000\002\031\005\000\002\031\005" +
84.104 + "\000\002\032\003\000\002\032\005\000\002\032\005\000" +
84.105 + "\002\032\005\000\002\033\004\000\002\033\003\000\002" +
84.106 + "\033\005\000\002\034\003\000\002\034\005\000\002\035" +
84.107 + "\003\000\002\035\004\000\002\035\004\000\002\035\005" +
84.108 + "\000\002\036\003\000\002\036\003\000\002\036\003\000" +
84.109 + "\002\036\003\000\002\036\003\000\002\155\003\000\002" +
84.110 + "\155\005\000\002\044\005\000\002\261\004\000\002\261" +
84.111 + "\004\000\002\045\003\000\002\045\004\000\002\150\003" +
84.112 + "\000\002\150\004\000\002\153\003\000\002\153\003\000" +
84.113 + "\002\153\003\000\002\046\003\000\002\046\003\000\002" +
84.114 + "\046\003\000\002\046\003\000\002\046\003\000\002\046" +
84.115 + "\003\000\002\046\003\000\002\046\003\000\002\046\003" +
84.116 + "\000\002\046\003\000\002\046\003\000\002\046\004\000" +
84.117 + "\002\047\003\000\002\047\003\000\002\047\003\000\002" +
84.118 + "\047\003\000\002\047\003\000\002\047\003\000\002\262" +
84.119 + "\005\000\002\050\004\000\002\051\006\000\002\052\010" +
84.120 + "\000\002\053\005\000\002\053\007\000\002\054\003\000" +
84.121 + "\002\055\002\000\002\055\004\000\002\056\012\000\002" +
84.122 + "\057\002\000\002\057\004\000\002\060\006\000\002\061" +
84.123 + "\007\000\002\162\002\000\002\162\004\000\002\063\002" +
84.124 + "\000\002\063\004\000\002\063\005\000\002\266\005\000" +
84.125 + "\002\267\002\000\002\267\003\000\002\062\006\000\002" +
84.126 + "\152\002\000\002\152\003\000\002\064\010\000\002\065" +
84.127 + "\002\000\002\065\004\000\002\066\004\000\002\147\004" +
84.128 + "\000\002\270\002\000\002\270\003\000\002\067\006\000" +
84.129 + "\002\070\002\000\002\070\003\000\002\156\002\000\002" +
84.130 + "\156\004\000\002\104\004\000\002\104\005\000\002\071" +
84.131 + "\005\000\002\005\004\000\002\005\004\000\002\005\006" +
84.132 + "\000\002\072\005\000\002\072\007\000\002\072\004\000" +
84.133 + "\002\102\003\000\002\102\003\000\002\076\002\000\002" +
84.134 + "\076\003\000\002\077\005\000\002\075\003\000\002\075" +
84.135 + "\005\000\002\100\007\000\002\100\004\000\002\101\002" +
84.136 + "\000\002\101\003\000\002\101\003\000\002\101\004\000" +
84.137 + "\002\101\003\000\002\103\003\000\002\074\011\000\002" +
84.138 + "\157\004\000\002\105\004\000\002\105\004\000\002\106" +
84.139 + "\011\000\002\014\002\000\002\014\004\000\002\141\002" +
84.140 + "\000\002\141\003\000\002\107\013\000\002\273\002\000" +
84.141 + "\002\273\003\000\002\111\005\000\002\113\002\000\002" +
84.142 + "\113\003\000\002\114\005\000\002\114\006\000\002\115" +
84.143 + "\003\000\002\115\005\000\002\116\003\000\002\116\005" +
84.144 + "\000\002\117\011\000\002\117\010\000\002\117\003\000" +
84.145 + "\002\120\007\000\002\120\006\000\002\120\010\000\002" +
84.146 + "\120\007\000\002\177\004\000\002\275\005\000\002\275" +
84.147 + "\007\000\002\276\002\000\002\276\010\000\002\301\002" +
84.148 + "\000\002\301\005\000\002\016\013\000\002\200\004\000" +
84.149 + "\002\302\005\000\002\302\007\000\002\303\007\000\002" +
84.150 + "\305\002\000\002\305\004\000\002\304\002\000\002\304" +
84.151 + "\004\000\002\307\003\000\002\307\004\000\002\307\003" +
84.152 + "\000\002\307\003\000\002\306\002\000\002\306\004\000" +
84.153 + "\002\311\003\000\002\311\003\000\002\121\012\000\002" +
84.154 + "\312\003\000\002\312\005\000\002\313\003\000\002\313" +
84.155 + "\003\000\002\313\004\000\002\277\003\000\002\277\005" +
84.156 + "\000\002\310\006\000\002\310\011\000\002\314\010\000" +
84.157 + "\002\314\014\000\002\315\003\000\002\315\010\000\002" +
84.158 + "\300\002\000\002\300\005\000\002\317\003\000\002\264" +
84.159 + "\004\000\002\264\010\000\002\316\005\000\002\320\003" +
84.160 + "\000\002\320\006\000\002\122\005\000\002\122\006\000" +
84.161 + "\002\265\003\000\002\265\003\000\002\265\003\000\002" +
84.162 + "\265\003\000\002\321\011\000\002\325\003\000\002\325" +
84.163 + "\006\000\002\326\002\000\002\326\005\000\002\327\004" +
84.164 + "\000\002\327\004\000\002\327\004\000\002\331\004\000" +
84.165 + "\002\331\004\000\002\322\012\000\002\323\013\000\002" +
84.166 + "\324\012\000\002\330\002\000\002\330\003\000\002\123" +
84.167 + "\005\000\002\124\003\000\002\124\005\000\002\125\003" +
84.168 + "\000\002\126\002\000\002\126\004\000\002\126\004\000" +
84.169 + "\002\127\006\000\002\127\005\000\002\332\002\000\002" +
84.170 + "\332\003\000\002\130\003\000\002\130\003\000\002\130" +
84.171 + "\003\000\002\130\003\000\002\130\003\000\002\130\003" +
84.172 + "\000\002\130\003\000\002\131\003\000\002\131\003\000" +
84.173 + "\002\131\004\000\002\131\004\000\002\131\004\000\002" +
84.174 + "\132\005\000\002\151\007\000\002\134\010\000\002\134" +
84.175 + "\010\000\002\134\006\000\002\134\010\000\002\201\006" +
84.176 + "\000\002\271\004\000\002\271\004\000\002\333\006\000" +
84.177 + "\002\333\010\000\002\334\003\000\002\334\005\000\002" +
84.178 + "\335\003\000\002\335\003\000\002\135\005\000\002\263" +
84.179 + "\005\000\002\263\007\000\002\136\005\000\002\136\005" +
84.180 + "\000\002\274\003\000\002\274\004\000\002\336\004\000" +
84.181 + "\002\336\010\000\002\336\010\000\002\336\012\000\002" +
84.182 + "\336\014\000\002\336\011\000\002\336\003\000\002\337" +
84.183 + "\002\000\002\337\003\000\002\337\005\000\002\341\002" +
84.184 + "\000\002\341\004\000\002\341\004\000\002\340\005\000" +
84.185 + "\002\340\004\000\002\340\004\000\002\340\004\000\002" +
84.186 + "\340\006\000\002\340\004\000\002\340\003\000\002\340" +
84.187 + "\003\000\002\340\003\000\002\340\003\000\002\342\004" +
84.188 + "\000\002\342\006\000\002\342\007\000\002\073\005\000" +
84.189 + "\002\272\006\000\002\343\004\000\002\253\003\000\002" +
84.190 + "\253\003\000\002\253\003\000\002\344\007\000\002\345" +
84.191 + "\013\000\002\347\002\000\002\347\006\000\002\350\002" +
84.192 + "\000\002\350\011\000\002\346\010\000\002\137\004" });
84.193 +
84.194 + /** Access to production table. */
84.195 + public short[][] production_table() {return _production_table;}
84.196 +
84.197 + /** Parse-action table. */
84.198 + protected static final short[][] _action_table =
84.199 + unpackFromStrings(new String[] {
84.200 + "\000\u03db\000\026\002\ufe4e\036\ufe4e\037\ufe4e\060\ufe4e\061" +
84.201 + "\004\062\ufe4e\063\ufe4e\076\ufe4e\110\ufe4e\113\ufe4e\001\002" +
84.202 + "\000\004\150\u03d0\001\002\000\004\002\u03cf\001\002\000" +
84.203 + "\026\002\ufffa\036\ufffa\037\ufffa\060\ufffa\061\ufffa\062\ufffa" +
84.204 + "\063\ufffa\076\ufffa\110\ufffa\113\ufffa\001\002\000\024\002" +
84.205 + "\ufe4f\036\ufe49\037\ufe49\060\ufe49\062\017\063\ufe49\076\ufe49" +
84.206 + "\110\015\113\013\001\002\000\024\036\ufe49\037\ufe49\060" +
84.207 + "\ufe49\061\004\062\017\063\ufe49\076\ufe49\110\015\113\013" +
84.208 + "\001\002\000\024\036\ufe40\037\ufe40\060\ufe40\061\ufe40\062" +
84.209 + "\ufe40\063\ufe40\076\ufe40\110\ufe40\113\ufe40\001\002\000\024" +
84.210 + "\036\ufe3f\037\ufe3f\060\ufe3f\061\ufe3f\062\ufe3f\063\ufe3f\076" +
84.211 + "\ufe3f\110\ufe3f\113\ufe3f\001\002\000\004\150\045\001\002" +
84.212 + "\000\024\002\ufe4d\036\ufe4d\037\ufe4d\060\ufe4d\062\ufe4d\063" +
84.213 + "\ufe4d\076\ufe4d\110\ufe4d\113\ufe4d\001\002\000\010\106\u03ba" +
84.214 + "\150\045\153\205\001\002\000\014\036\027\037\030\060" +
84.215 + "\036\063\021\076\022\001\002\000\014\036\ufe48\037\ufe48" +
84.216 + "\060\ufe48\063\ufe48\076\ufe48\001\002\000\022\003\u012f\036" +
84.217 + "\027\060\u0369\063\021\106\u036b\110\015\113\u036d\150\126" +
84.218 + "\001\002\000\004\150\045\001\002\000\004\117\u0353\001" +
84.219 + "\002\000\026\002\ufe46\036\ufe46\037\ufe46\060\ufe46\061\ufe46" +
84.220 + "\062\ufe46\063\ufe46\076\ufe46\110\ufe46\113\ufe46\001\002\000" +
84.221 + "\004\130\u0352\001\002\000\004\130\u0351\001\002\000\026" +
84.222 + "\002\ufe45\036\ufe45\037\ufe45\060\ufe45\061\ufe45\062\ufe45\063" +
84.223 + "\ufe45\076\ufe45\110\ufe45\113\ufe45\001\002\000\006\150\045" +
84.224 + "\153\205\001\002\000\022\003\ufe27\036\ufe27\060\ufe27\063" +
84.225 + "\ufe27\106\ufe27\110\ufe27\113\ufe27\150\ufe27\001\002\000\026" +
84.226 + "\002\ufe47\036\ufe47\037\ufe47\060\ufe47\061\ufe47\062\ufe47\063" +
84.227 + "\ufe47\076\ufe47\110\ufe47\113\ufe47\001\002\000\026\002\ufe42" +
84.228 + "\036\ufe42\037\ufe42\060\ufe42\061\ufe42\062\ufe42\063\ufe42\076" +
84.229 + "\ufe42\110\ufe42\113\ufe42\001\002\000\026\002\ufe41\036\ufe41" +
84.230 + "\037\ufe41\060\ufe41\061\ufe41\062\ufe41\063\ufe41\076\ufe41\110" +
84.231 + "\ufe41\113\ufe41\001\002\000\026\002\ufffa\036\ufffa\037\ufffa" +
84.232 + "\060\ufffa\061\ufffa\062\ufffa\063\ufffa\076\ufffa\110\ufffa\113" +
84.233 + "\ufffa\001\002\000\010\044\u034b\073\u024e\130\u024d\001\002" +
84.234 + "\000\006\017\044\150\045\001\002\000\004\130\042\001" +
84.235 + "\002\000\026\002\ufe44\036\ufe44\037\ufe44\060\ufe44\061\ufe44" +
84.236 + "\062\ufe44\063\ufe44\076\ufe44\110\ufe44\113\ufe44\001\002\000" +
84.237 + "\026\002\ufe43\036\ufe43\037\ufe43\060\ufe43\061\ufe43\062\ufe43" +
84.238 + "\063\ufe43\076\ufe43\110\ufe43\113\ufe43\001\002\000\050\002" +
84.239 + "\ufeaf\003\ufeaf\016\ufeaf\031\ufeaf\035\ufeaf\036\ufeaf\037\ufeaf" +
84.240 + "\060\ufeaf\061\ufeaf\062\ufeaf\063\ufeaf\064\ufeaf\076\ufeaf\101" +
84.241 + "\ufeaf\103\ufeaf\106\ufeaf\110\ufeaf\113\ufeaf\150\ufeaf\001\002" +
84.242 + "\000\010\044\u0330\073\u032f\125\051\001\002\000\004\150" +
84.243 + "\045\001\002\000\124\013\uff59\015\uff59\025\uff59\026\uff59" +
84.244 + "\042\uff59\044\uff59\046\uff59\047\uff59\051\uff59\054\uff59\065" +
84.245 + "\uff59\070\uff59\072\uff59\073\uff59\105\uff59\110\uff59\111\uff59" +
84.246 + "\113\uff59\114\uff59\115\uff59\116\uff59\117\uff59\120\uff59\121" +
84.247 + "\uff59\122\uff59\123\uff59\124\uff59\125\uff59\126\uff59\130\uff59" +
84.248 + "\131\uff59\132\uff59\133\uff59\134\uff59\135\uff59\136\uff59\137" +
84.249 + "\uff59\140\uff59\141\uff59\142\uff59\143\uff59\001\002\000\022" +
84.250 + "\044\uff58\065\uff58\073\uff58\117\uff58\120\uff58\123\uff58\125" +
84.251 + "\uff58\130\uff58\001\002\000\006\044\050\125\051\001\002" +
84.252 + "\000\040\003\105\016\uff7b\031\uff7b\035\070\036\027\037" +
84.253 + "\030\060\121\061\004\063\021\064\117\101\076\103\060" +
84.254 + "\106\074\110\015\150\126\001\002\000\004\150\045\001" +
84.255 + "\002\000\022\044\uff57\065\uff57\073\uff57\117\uff57\120\uff57" +
84.256 + "\123\uff57\125\uff57\130\uff57\001\002\000\040\003\uff67\016" +
84.257 + "\uff67\031\uff67\035\uff67\036\uff67\037\uff67\060\uff67\061\uff67" +
84.258 + "\063\uff67\064\uff67\101\uff67\103\uff67\106\uff67\110\uff67\150" +
84.259 + "\uff67\001\002\000\004\130\u032e\001\002\000\042\003\uff74" +
84.260 + "\016\uff74\031\uff74\035\uff74\036\uff74\037\uff74\060\uff74\061" +
84.261 + "\uff74\062\uff74\063\uff74\064\uff74\101\uff74\103\uff74\106\uff74" +
84.262 + "\110\uff74\150\uff74\001\002\000\044\003\ufe06\016\ufe06\031" +
84.263 + "\ufe06\032\ufe06\035\ufe06\036\ufe06\037\ufe06\060\ufe06\061\ufe06" +
84.264 + "\062\ufe06\063\ufe06\064\ufe06\101\ufe06\103\ufe06\106\ufe06\110" +
84.265 + "\ufe06\150\ufe06\001\002\000\042\003\ufff2\016\ufff2\031\ufff2" +
84.266 + "\035\ufff2\036\ufff2\037\ufff2\060\ufff2\061\ufff2\062\ufff2\063" +
84.267 + "\ufff2\064\ufff2\101\ufff2\103\ufff2\106\ufff2\110\ufff2\150\ufff2" +
84.268 + "\001\002\000\010\017\u0310\106\u0312\150\045\001\002\000" +
84.269 + "\042\003\ufff8\016\ufff8\031\ufff8\035\ufff8\036\ufff8\037\ufff8" +
84.270 + "\060\ufff8\061\ufff8\062\ufff8\063\ufff8\064\ufff8\101\ufff8\103" +
84.271 + "\ufff8\106\ufff8\110\ufff8\150\ufff8\001\002\000\006\123\155" +
84.272 + "\127\u02fb\001\002\000\042\003\uff75\016\uff75\031\uff75\035" +
84.273 + "\uff75\036\uff75\037\uff75\060\uff75\061\uff75\062\uff75\063\uff75" +
84.274 + "\064\uff75\101\uff75\103\uff75\106\uff75\110\uff75\150\uff75\001" +
84.275 + "\002\000\042\003\uff6f\016\uff6f\031\uff6f\035\uff6f\036\uff6f" +
84.276 + "\037\uff6f\060\uff6f\061\uff6f\062\uff6f\063\uff6f\064\uff6f\101" +
84.277 + "\uff6f\103\uff6f\106\uff6f\110\uff6f\150\uff6f\001\002\000\042" +
84.278 + "\003\ufff0\016\ufff0\031\ufff0\035\ufff0\036\ufff0\037\ufff0\060" +
84.279 + "\ufff0\061\ufff0\062\ufff0\063\ufff0\064\ufff0\101\ufff0\103\ufff0" +
84.280 + "\106\ufff0\110\ufff0\150\ufff0\001\002\000\042\003\ufff6\016" +
84.281 + "\ufff6\031\ufff6\035\ufff6\036\ufff6\037\ufff6\060\ufff6\061\ufff6" +
84.282 + "\062\ufff6\063\ufff6\064\ufff6\101\ufff6\103\ufff6\106\ufff6\110" +
84.283 + "\ufff6\150\ufff6\001\002\000\040\003\105\016\uff7a\031\uff7a" +
84.284 + "\035\070\036\027\037\030\060\121\061\004\063\021\064" +
84.285 + "\117\101\076\103\060\106\074\110\015\150\126\001\002" +
84.286 + "\000\004\150\045\001\002\000\042\003\uff72\016\uff72\031" +
84.287 + "\uff72\035\uff72\036\uff72\037\uff72\060\uff72\061\uff72\062\uff72" +
84.288 + "\063\uff72\064\uff72\101\uff72\103\uff72\106\uff72\110\uff72\150" +
84.289 + "\uff72\001\002\000\040\003\uff68\016\uff68\031\uff68\035\uff68" +
84.290 + "\036\uff68\037\uff68\060\uff68\061\uff68\063\uff68\064\uff68\101" +
84.291 + "\uff68\103\uff68\106\uff68\110\uff68\150\uff68\001\002\000\040" +
84.292 + "\003\uff69\016\uff69\031\uff69\035\uff69\036\uff69\037\uff69\060" +
84.293 + "\uff69\061\uff69\063\uff69\064\uff69\101\uff69\103\uff69\106\uff69" +
84.294 + "\110\uff69\150\uff69\001\002\000\004\150\126\001\002\000" +
84.295 + "\006\016\u015c\031\ufea7\001\002\000\004\150\126\001\002" +
84.296 + "\000\010\044\u024f\073\u024e\130\u024d\001\002\000\042\003" +
84.297 + "\ufe9a\016\ufe9a\031\ufe9a\035\ufe9a\036\ufe9a\037\ufe9a\060\ufe9a" +
84.298 + "\061\ufe9a\062\ufe9a\063\ufe9a\064\ufe9a\101\ufe9a\103\ufe9a\106" +
84.299 + "\ufe9a\110\ufe9a\150\ufe9a\001\002\000\042\003\ufff4\016\ufff4" +
84.300 + "\031\ufff4\035\ufff4\036\ufff4\037\ufff4\060\ufff4\061\ufff4\062" +
84.301 + "\ufff4\063\ufff4\064\ufff4\101\ufff4\103\ufff4\106\ufff4\110\ufff4" +
84.302 + "\150\ufff4\001\002\000\042\003\uff73\016\uff73\031\uff73\035" +
84.303 + "\uff73\036\uff73\037\uff73\060\uff73\061\uff73\062\uff73\063\uff73" +
84.304 + "\064\uff73\101\uff73\103\uff73\106\uff73\110\uff73\150\uff73\001" +
84.305 + "\002\000\006\123\uffeb\127\uffeb\001\002\000\040\003\uff6b" +
84.306 + "\016\uff6b\031\uff6b\035\uff6b\036\uff6b\037\uff6b\060\uff6b\061" +
84.307 + "\uff6b\063\uff6b\064\uff6b\101\uff6b\103\uff6b\106\uff6b\110\uff6b" +
84.308 + "\150\uff6b\001\002\000\004\130\u024c\001\002\000\040\003" +
84.309 + "\uff6a\016\uff6a\031\uff6a\035\uff6a\036\uff6a\037\uff6a\060\uff6a" +
84.310 + "\061\uff6a\063\uff6a\064\uff6a\101\uff6a\103\uff6a\106\uff6a\110" +
84.311 + "\uff6a\150\uff6a\001\002\000\040\003\uff66\016\uff66\031\uff66" +
84.312 + "\035\uff66\036\uff66\037\uff66\060\uff66\061\uff66\063\uff66\064" +
84.313 + "\uff66\101\uff66\103\uff66\106\uff66\110\uff66\150\uff66\001\002" +
84.314 + "\000\042\003\uff70\016\uff70\031\uff70\035\uff70\036\uff70\037" +
84.315 + "\uff70\060\uff70\061\uff70\062\uff70\063\uff70\064\uff70\101\uff70" +
84.316 + "\103\uff70\106\uff70\110\uff70\150\uff70\001\002\000\040\003" +
84.317 + "\uff6d\016\uff6d\031\uff6d\035\uff6d\036\uff6d\037\uff6d\060\uff6d" +
84.318 + "\061\uff6d\063\uff6d\064\uff6d\101\uff6d\103\uff6d\106\uff6d\110" +
84.319 + "\uff6d\150\uff6d\001\002\000\042\003\ufff3\016\ufff3\031\ufff3" +
84.320 + "\035\ufff3\036\ufff3\037\ufff3\060\ufff3\061\ufff3\062\ufff3\063" +
84.321 + "\ufff3\064\ufff3\101\ufff3\103\ufff3\106\ufff3\110\ufff3\150\ufff3" +
84.322 + "\001\002\000\044\003\ufe08\016\ufe08\031\ufe08\032\ufe08\035" +
84.323 + "\ufe08\036\ufe08\037\ufe08\060\ufe08\061\ufe08\062\ufe08\063\ufe08" +
84.324 + "\064\ufe08\101\ufe08\103\ufe08\106\ufe08\110\ufe08\150\ufe08\001" +
84.325 + "\002\000\042\003\uffef\016\uffef\031\uffef\035\uffef\036\uffef" +
84.326 + "\037\uffef\060\uffef\061\uffef\062\uffef\063\uffef\064\uffef\101" +
84.327 + "\uffef\103\uffef\106\uffef\110\uffef\150\uffef\001\002\000\044" +
84.328 + "\003\ufe07\016\ufe07\031\ufe07\032\ufe07\035\ufe07\036\ufe07\037" +
84.329 + "\ufe07\060\ufe07\061\ufe07\062\ufe07\063\ufe07\064\ufe07\101\ufe07" +
84.330 + "\103\ufe07\106\ufe07\110\ufe07\150\ufe07\001\002\000\042\003" +
84.331 + "\ufff1\016\ufff1\031\ufff1\035\ufff1\036\ufff1\037\ufff1\060\ufff1" +
84.332 + "\061\ufff1\062\ufff1\063\ufff1\064\ufff1\101\ufff1\103\ufff1\106" +
84.333 + "\ufff1\110\ufff1\150\ufff1\001\002\000\010\017\135\106\137" +
84.334 + "\150\136\001\002\000\042\003\ufff7\016\ufff7\031\ufff7\035" +
84.335 + "\ufff7\036\ufff7\037\ufff7\060\ufff7\061\ufff7\062\ufff7\063\ufff7" +
84.336 + "\064\ufff7\101\ufff7\103\ufff7\106\ufff7\110\ufff7\150\ufff7\001" +
84.337 + "\002\000\006\017\130\150\045\001\002\000\004\130\127" +
84.338 + "\001\002\000\042\003\uff6e\016\uff6e\031\uff6e\035\uff6e\036" +
84.339 + "\uff6e\037\uff6e\060\uff6e\061\uff6e\062\uff6e\063\uff6e\064\uff6e" +
84.340 + "\101\uff6e\103\uff6e\106\uff6e\110\uff6e\150\uff6e\001\002\000" +
84.341 + "\042\003\ufff5\016\ufff5\031\ufff5\035\ufff5\036\ufff5\037\ufff5" +
84.342 + "\060\ufff5\061\ufff5\062\ufff5\063\ufff5\064\ufff5\101\ufff5\103" +
84.343 + "\ufff5\106\ufff5\110\ufff5\150\ufff5\001\002\000\042\003\uff71" +
84.344 + "\016\uff71\031\uff71\035\uff71\036\uff71\037\uff71\060\uff71\061" +
84.345 + "\uff71\062\uff71\063\uff71\064\uff71\101\uff71\103\uff71\106\uff71" +
84.346 + "\110\uff71\150\uff71\001\002\000\014\044\uffed\117\uffed\123" +
84.347 + "\uffed\127\uffed\130\uffed\001\002\000\042\003\ufe95\016\ufe95" +
84.348 + "\031\ufe95\035\ufe95\036\ufe95\037\ufe95\060\ufe95\061\ufe95\062" +
84.349 + "\ufe95\063\ufe95\064\ufe95\101\ufe95\103\ufe95\106\ufe95\110\ufe95" +
84.350 + "\150\ufe95\001\002\000\004\150\045\001\002\000\006\044" +
84.351 + "\132\125\051\001\002\000\042\003\105\016\uff7b\031\uff7b" +
84.352 + "\035\070\036\027\037\030\060\121\061\004\063\021\064" +
84.353 + "\117\076\133\101\076\103\060\106\074\110\015\150\126" +
84.354 + "\001\002\000\004\130\134\001\002\000\042\003\ufe38\016" +
84.355 + "\ufe38\031\ufe38\035\ufe38\036\ufe38\037\ufe38\060\ufe38\061\ufe38" +
84.356 + "\062\ufe38\063\ufe38\064\ufe38\101\ufe38\103\ufe38\106\ufe38\110" +
84.357 + "\ufe38\150\ufe38\001\002\000\004\150\045\001\002\000\004" +
84.358 + "\044\u0104\001\002\000\004\150\045\001\002\000\006\044" +
84.359 + "\uffdf\117\143\001\002\000\006\044\uffde\130\uffde\001\002" +
84.360 + "\000\004\044\u0104\001\002\000\010\003\145\146\146\150" +
84.361 + "\126\001\002\000\006\123\155\127\156\001\002\000\006" +
84.362 + "\120\uff90\130\uff90\001\002\000\004\120\154\001\002\000" +
84.363 + "\006\120\152\130\151\001\002\000\006\120\uff93\130\uff93" +
84.364 + "\001\002\000\006\003\145\150\126\001\002\000\006\044" +
84.365 + "\uff94\130\uff94\001\002\000\006\120\uff92\130\uff92\001\002" +
84.366 + "\000\006\044\uffdd\130\uffdd\001\002\000\004\150\126\001" +
84.367 + "\002\000\006\007\160\150\uff8f\001\002\000\004\150\045" +
84.368 + "\001\002\000\004\150\uff8e\001\002\000\020\015\uff5c\110" +
84.369 + "\uff5c\116\uff5c\120\uff5c\125\uff5c\130\uff5c\140\uff5c\001\002" +
84.370 + "\000\014\116\165\120\uffe3\125\166\130\uffe3\140\164\001" +
84.371 + "\002\000\006\120\uff91\130\uff91\001\002\000\032\005\213" +
84.372 + "\050\224\051\200\052\227\117\204\122\175\124\217\147" +
84.373 + "\215\150\045\151\177\152\231\153\205\001\002\000\012" +
84.374 + "\007\173\024\174\025\171\150\172\001\002\000\004\150" +
84.375 + "\045\001\002\000\020\015\uff5a\110\uff5a\116\uff5a\120\uff5a" +
84.376 + "\125\uff5a\130\uff5a\140\uff5a\001\002\000\020\015\uff5b\110" +
84.377 + "\uff5b\116\uff5b\120\uff5b\125\uff5b\130\uff5b\140\uff5b\001\002" +
84.378 + "\000\120\013\uff46\015\uff46\025\uff46\042\uff46\044\uff46\046" +
84.379 + "\uff46\047\uff46\051\uff46\054\uff46\070\uff46\072\uff46\073\uff46" +
84.380 + "\105\uff46\110\uff46\111\uff46\113\uff46\114\uff46\115\uff46\116" +
84.381 + "\uff46\117\uff46\120\uff46\121\uff46\122\uff46\123\uff46\124\uff46" +
84.382 + "\125\uff46\126\uff46\130\uff46\131\uff46\132\uff46\133\uff46\134" +
84.383 + "\uff46\135\uff46\136\uff46\137\uff46\140\uff46\141\uff46\142\uff46" +
84.384 + "\143\uff46\001\002\000\120\013\uff47\015\uff47\025\uff47\042" +
84.385 + "\uff47\044\uff47\046\uff47\047\uff47\051\uff47\054\uff47\070\uff47" +
84.386 + "\072\uff47\073\uff47\105\uff47\110\uff47\111\uff47\113\uff47\114" +
84.387 + "\uff47\115\uff47\116\uff47\117\uff47\120\uff47\121\uff47\122\uff47" +
84.388 + "\123\uff47\124\uff47\125\uff47\126\uff47\130\uff47\131\uff47\132" +
84.389 + "\uff47\133\uff47\134\uff47\135\uff47\136\uff47\137\uff47\140\uff47" +
84.390 + "\141\uff47\142\uff47\143\uff47\001\002\000\120\013\uff44\015" +
84.391 + "\uff44\025\uff44\042\uff44\044\uff44\046\uff44\047\uff44\051\uff44" +
84.392 + "\054\uff44\070\uff44\072\uff44\073\uff44\105\uff44\110\uff44\111" +
84.393 + "\uff44\113\uff44\114\uff44\115\uff44\116\uff44\117\uff44\120\uff44" +
84.394 + "\121\uff44\122\uff44\123\uff44\124\uff44\125\uff44\126\uff44\130" +
84.395 + "\uff44\131\uff44\132\uff44\133\uff44\134\uff44\135\uff44\136\uff44" +
84.396 + "\137\uff44\140\uff44\141\uff44\142\uff44\143\uff44\001\002\000" +
84.397 + "\120\013\uff45\015\uff45\025\uff45\042\uff45\044\uff45\046\uff45" +
84.398 + "\047\uff45\051\uff45\054\uff45\070\uff45\072\uff45\073\uff45\105" +
84.399 + "\uff45\110\uff45\111\uff45\113\uff45\114\uff45\115\uff45\116\uff45" +
84.400 + "\117\uff45\120\uff45\121\uff45\122\uff45\123\uff45\124\uff45\125" +
84.401 + "\uff45\126\uff45\130\uff45\131\uff45\132\uff45\133\uff45\134\uff45" +
84.402 + "\135\uff45\136\uff45\137\uff45\140\uff45\141\uff45\142\uff45\143" +
84.403 + "\uff45\001\002\000\026\005\uff2a\050\uff2a\051\uff2a\052\uff2a" +
84.404 + "\117\uff2a\147\uff2a\150\uff2a\151\uff2a\152\uff2a\153\uff2a\001" +
84.405 + "\002\000\114\013\uff5f\025\uff5f\042\uff5f\044\uff5f\046\uff5f" +
84.406 + "\047\uff5f\051\uff5f\054\uff5f\070\uff5f\072\uff5f\073\uff5f\105" +
84.407 + "\uff5f\111\uff5f\113\uff5f\114\uff5f\115\uff5f\116\uff5f\117\uff5f" +
84.408 + "\120\uff5f\121\uff5f\122\uff5f\123\uff5f\124\uff5f\125\uff5f\126" +
84.409 + "\uff5f\130\uff5f\131\uff5f\132\uff5f\133\uff5f\134\uff5f\135\uff5f" +
84.410 + "\136\uff5f\137\uff5f\140\uff5f\141\uff5f\142\uff5f\143\uff5f\001" +
84.411 + "\002\000\104\013\uff43\025\uff43\042\uff43\044\uff43\046\uff43" +
84.412 + "\047\uff43\051\uff43\054\uff43\070\uff43\072\uff43\073\uff43\105" +
84.413 + "\uff43\113\uff43\114\uff43\115\uff43\120\uff43\121\uff43\122\uff43" +
84.414 + "\123\uff43\124\uff43\126\uff43\130\uff43\131\uff43\132\uff43\133" +
84.415 + "\uff43\134\uff43\135\uff43\136\uff43\137\uff43\140\uff43\141\uff43" +
84.416 + "\142\uff43\143\uff43\001\002\000\022\050\224\052\227\117" +
84.417 + "\204\147\215\150\045\151\177\152\231\153\205\001\002" +
84.418 + "\000\104\013\uff0f\025\uff0f\042\uff0f\044\uff0f\046\uff0f\047" +
84.419 + "\uff0f\051\uff0f\054\uff0f\070\uff0f\072\uff0f\073\uff0f\105\uff0f" +
84.420 + "\113\uff0f\114\uff0f\115\uff0f\120\uff0f\121\uff0f\122\uff0f\123" +
84.421 + "\uff0f\124\uff0f\126\uff0f\130\uff0f\131\uff0f\132\uff0f\133\uff0f" +
84.422 + "\134\uff0f\135\uff0f\136\uff0f\137\uff0f\140\uff0f\141\uff0f\142" +
84.423 + "\uff0f\143\uff0f\001\002\000\042\013\uff21\025\uff21\044\uff21" +
84.424 + "\046\uff21\054\uff21\070\uff21\073\uff21\105\uff21\113\uff21\114" +
84.425 + "\uff21\120\uff21\123\uff21\130\uff21\134\uff21\135\uff21\140\uff21" +
84.426 + "\001\002\000\114\013\uff61\025\uff61\042\uff61\044\uff61\046" +
84.427 + "\uff61\047\uff61\051\uff61\054\uff61\070\uff61\072\uff61\073\uff61" +
84.428 + "\105\uff61\111\uff61\113\uff61\114\uff61\115\uff61\116\uff61\117" +
84.429 + "\uff61\120\uff61\121\uff61\122\uff61\123\uff61\124\uff61\125\uff61" +
84.430 + "\126\uff61\130\uff61\131\uff61\132\uff61\133\uff61\134\uff61\135" +
84.431 + "\uff61\136\uff61\137\uff61\140\uff61\141\uff61\142\uff61\143\uff61" +
84.432 + "\001\002\000\036\003\251\005\213\050\224\051\200\052" +
84.433 + "\357\055\253\117\204\122\175\124\217\147\215\150\045" +
84.434 + "\151\177\152\231\153\205\001\002\000\116\013\ufeb2\025" +
84.435 + "\ufeb2\042\ufeb2\044\ufeb2\046\ufeb2\047\ufeb2\051\ufeb2\054\ufeb2" +
84.436 + "\065\ufeb2\070\ufeb2\072\ufeb2\073\ufeb2\105\ufeb2\111\ufeb2\113" +
84.437 + "\ufeb2\114\ufeb2\115\ufeb2\116\ufeb2\117\ufeb2\120\ufeb2\121\ufeb2" +
84.438 + "\122\ufeb2\123\ufeb2\124\ufeb2\125\ufeb2\126\ufeb2\130\ufeb2\131" +
84.439 + "\ufeb2\132\ufeb2\133\ufeb2\134\ufeb2\135\ufeb2\136\ufeb2\137\ufeb2" +
84.440 + "\140\ufeb2\141\ufeb2\142\ufeb2\143\ufeb2\001\002\000\114\013" +
84.441 + "\uff5d\025\uff5d\042\uff5d\044\uff5d\046\uff5d\047\uff5d\051\uff5d" +
84.442 + "\054\uff5d\070\uff5d\072\uff5d\073\uff5d\105\uff5d\111\uff5d\113" +
84.443 + "\uff5d\114\uff5d\115\uff5d\116\uff5d\117\uff5d\120\uff5d\121\uff5d" +
84.444 + "\122\uff5d\123\uff5d\124\uff5d\125\uff5d\126\uff5d\130\uff5d\131" +
84.445 + "\uff5d\132\uff5d\133\uff5d\134\uff5d\135\uff5d\136\uff5d\137\uff5d" +
84.446 + "\140\uff5d\141\uff5d\142\uff5d\143\uff5d\001\002\000\014\013" +
84.447 + "\321\054\324\114\322\120\uffe2\130\uffe2\001\002\000\104" +
84.448 + "\013\uff0c\025\uff0c\042\uff0c\044\uff0c\046\uff0c\047\uff0c\051" +
84.449 + "\uff0c\054\uff0c\070\uff0c\072\uff0c\073\uff0c\105\uff0c\113\uff0c" +
84.450 + "\114\uff0c\115\uff0c\120\uff0c\121\uff0c\122\uff0c\123\uff0c\124" +
84.451 + "\uff0c\126\uff0c\130\uff0c\131\uff0c\132\uff0c\133\uff0c\134\uff0c" +
84.452 + "\135\uff0c\136\uff0c\137\uff0c\140\uff0c\141\uff0c\142\uff0c\143" +
84.453 + "\uff0c\001\002\000\102\013\uff17\025\uff17\042\uff17\044\uff17" +
84.454 + "\046\uff17\047\uff17\051\uff17\054\uff17\070\uff17\072\uff17\073" +
84.455 + "\uff17\105\uff17\113\uff17\114\uff17\115\uff17\120\uff17\121\uff17" +
84.456 + "\122\uff17\123\uff17\124\uff17\126\uff17\130\uff17\131\uff17\132" +
84.457 + "\uff17\133\uff17\134\uff17\135\uff17\136\uff17\140\uff17\141\uff17" +
84.458 + "\142\uff17\143\uff17\001\002\000\102\013\uff19\025\uff19\042" +
84.459 + "\uff19\044\uff19\046\uff19\047\303\051\uff19\054\uff19\070\uff19" +
84.460 + "\072\306\073\uff19\105\uff19\113\uff19\114\uff19\115\uff19\120" +
84.461 + "\uff19\121\302\122\uff19\123\uff19\124\uff19\126\305\130\uff19" +
84.462 + "\131\uff19\132\uff19\133\uff19\134\uff19\135\uff19\136\uff19\140" +
84.463 + "\uff19\141\uff19\142\uff19\143\uff19\001\002\000\022\050\224" +
84.464 + "\052\227\117\204\147\215\150\045\151\177\152\231\153" +
84.465 + "\205\001\002\000\070\013\uff1e\025\uff1e\042\261\044\uff1e" +
84.466 + "\046\uff1e\051\273\054\uff1e\070\uff1e\073\uff1e\105\uff1e\113" +
84.467 + "\uff1e\114\uff1e\115\274\120\uff1e\122\267\123\uff1e\124\260" +
84.468 + "\130\uff1e\131\271\132\266\133\276\134\uff1e\135\uff1e\140" +
84.469 + "\uff1e\141\264\142\262\143\275\001\002\000\114\013\uff54" +
84.470 + "\025\uff54\042\uff54\044\uff54\046\uff54\047\uff54\051\uff54\054" +
84.471 + "\uff54\070\uff54\072\uff54\073\uff54\105\uff54\111\uff54\113\uff54" +
84.472 + "\114\uff54\115\uff54\116\uff54\117\uff54\120\uff54\121\uff54\122" +
84.473 + "\uff54\123\uff54\124\uff54\125\uff54\126\uff54\130\uff54\131\uff54" +
84.474 + "\132\uff54\133\uff54\134\uff54\135\uff54\136\uff54\137\uff54\140" +
84.475 + "\uff54\141\uff54\142\uff54\143\uff54\001\002\000\104\013\uff0d" +
84.476 + "\025\uff0d\042\uff0d\044\uff0d\046\uff0d\047\uff0d\051\uff0d\054" +
84.477 + "\uff0d\070\uff0d\072\uff0d\073\uff0d\105\uff0d\113\uff0d\114\uff0d" +
84.478 + "\115\uff0d\120\uff0d\121\uff0d\122\uff0d\123\uff0d\124\uff0d\126" +
84.479 + "\uff0d\130\uff0d\131\uff0d\132\uff0d\133\uff0d\134\uff0d\135\uff0d" +
84.480 + "\136\uff0d\137\uff0d\140\uff0d\141\uff0d\142\uff0d\143\uff0d\001" +
84.481 + "\002\000\026\005\uff29\050\uff29\051\uff29\052\uff29\117\uff29" +
84.482 + "\147\uff29\150\uff29\151\uff29\152\uff29\153\uff29\001\002\000" +
84.483 + "\104\013\uff15\025\uff15\042\uff15\044\uff15\046\uff15\047\uff15" +
84.484 + "\051\uff15\054\uff15\070\uff15\072\uff15\073\uff15\105\uff15\113" +
84.485 + "\uff15\114\uff15\115\uff15\120\uff15\121\uff15\122\uff15\123\uff15" +
84.486 + "\124\uff15\126\uff15\130\uff15\131\uff15\132\uff15\133\uff15\134" +
84.487 + "\uff15\135\uff15\136\uff15\137\352\140\uff15\141\uff15\142\uff15" +
84.488 + "\143\uff15\001\002\000\114\013\uff60\025\uff60\042\uff60\044" +
84.489 + "\uff60\046\uff60\047\uff60\051\uff60\054\uff60\070\uff60\072\uff60" +
84.490 + "\073\uff60\105\uff60\111\uff60\113\uff60\114\uff60\115\uff60\116" +
84.491 + "\uff60\117\uff60\120\uff60\121\uff60\122\uff60\123\uff60\124\uff60" +
84.492 + "\125\uff60\126\uff60\130\uff60\131\uff60\132\uff60\133\uff60\134" +
84.493 + "\uff60\135\uff60\136\uff60\137\uff60\140\uff60\141\uff60\142\uff60" +
84.494 + "\143\uff60\001\002\000\104\013\uff11\025\uff11\042\uff11\044" +
84.495 + "\uff11\046\uff11\047\uff11\051\uff11\054\uff11\070\uff11\072\uff11" +
84.496 + "\073\uff11\105\uff11\113\uff11\114\uff11\115\uff11\120\uff11\121" +
84.497 + "\uff11\122\uff11\123\uff11\124\uff11\126\uff11\130\uff11\131\uff11" +
84.498 + "\132\uff11\133\uff11\134\uff11\135\uff11\136\uff11\137\uff11\140" +
84.499 + "\uff11\141\uff11\142\uff11\143\uff11\001\002\000\026\005\213" +
84.500 + "\050\224\051\200\052\227\117\204\147\215\150\045\151" +
84.501 + "\177\152\231\153\205\001\002\000\006\150\045\153\205" +
84.502 + "\001\002\000\104\013\uff0e\025\uff0e\042\uff0e\044\uff0e\046" +
84.503 + "\uff0e\047\uff0e\051\uff0e\054\uff0e\070\uff0e\072\uff0e\073\uff0e" +
84.504 + "\105\uff0e\113\uff0e\114\uff0e\115\uff0e\120\uff0e\121\uff0e\122" +
84.505 + "\uff0e\123\uff0e\124\uff0e\126\uff0e\130\uff0e\131\uff0e\132\uff0e" +
84.506 + "\133\uff0e\134\uff0e\135\uff0e\136\uff0e\137\uff0e\140\uff0e\141" +
84.507 + "\uff0e\142\uff0e\143\uff0e\001\002\000\114\013\uff5e\025\uff5e" +
84.508 + "\042\uff5e\044\uff5e\046\uff5e\047\uff5e\051\uff5e\054\uff5e\070" +
84.509 + "\uff5e\072\uff5e\073\uff5e\105\uff5e\111\uff5e\113\uff5e\114\uff5e" +
84.510 + "\115\uff5e\116\uff5e\117\uff5e\120\uff5e\121\uff5e\122\uff5e\123" +
84.511 + "\uff5e\124\uff5e\125\uff5e\126\uff5e\130\uff5e\131\uff5e\132\uff5e" +
84.512 + "\133\uff5e\134\uff5e\135\uff5e\136\uff5e\137\uff5e\140\uff5e\141" +
84.513 + "\uff5e\142\uff5e\143\uff5e\001\002\000\104\013\uff40\025\uff40" +
84.514 + "\042\uff40\044\uff40\046\uff40\047\uff40\051\uff40\054\uff40\070" +
84.515 + "\uff40\072\uff40\073\uff40\105\uff40\113\uff40\114\uff40\115\uff40" +
84.516 + "\120\uff40\121\uff40\122\uff40\123\uff40\124\uff40\126\uff40\130" +
84.517 + "\uff40\131\uff40\132\uff40\133\uff40\134\uff40\135\uff40\136\uff40" +
84.518 + "\137\uff40\140\uff40\141\uff40\142\uff40\143\uff40\001\002\000" +
84.519 + "\104\013\uff41\025\uff41\042\uff41\044\uff41\046\uff41\047\uff41" +
84.520 + "\051\uff41\054\uff41\070\uff41\072\uff41\073\uff41\105\uff41\113" +
84.521 + "\uff41\114\uff41\115\uff41\120\uff41\121\uff41\122\uff41\123\uff41" +
84.522 + "\124\uff41\126\uff41\130\uff41\131\uff41\132\uff41\133\uff41\134" +
84.523 + "\uff41\135\uff41\136\uff41\137\uff41\140\uff41\141\uff41\142\uff41" +
84.524 + "\143\uff41\001\002\000\104\013\uff42\025\uff42\042\uff42\044" +
84.525 + "\uff42\046\uff42\047\uff42\051\uff42\054\uff42\070\uff42\072\uff42" +
84.526 + "\073\uff42\105\uff42\113\uff42\114\uff42\115\uff42\120\uff42\121" +
84.527 + "\uff42\122\uff42\123\uff42\124\uff42\126\uff42\130\uff42\131\uff42" +
84.528 + "\132\uff42\133\uff42\134\uff42\135\uff42\136\uff42\137\uff42\140" +
84.529 + "\uff42\141\uff42\142\uff42\143\uff42\001\002\000\112\013\uff10" +
84.530 + "\025\uff10\042\uff10\044\uff10\046\uff10\047\uff10\051\uff10\054" +
84.531 + "\uff10\070\uff10\072\uff10\073\uff10\105\uff10\113\uff10\114\uff10" +
84.532 + "\115\uff10\116\234\117\233\120\uff10\121\uff10\122\uff10\123" +
84.533 + "\uff10\124\uff10\125\235\126\uff10\130\uff10\131\uff10\132\uff10" +
84.534 + "\133\uff10\134\uff10\135\uff10\136\uff10\137\uff10\140\uff10\141" +
84.535 + "\uff10\142\uff10\143\uff10\001\002\000\036\003\251\005\213" +
84.536 + "\050\224\051\200\052\227\055\253\117\204\122\175\124" +
84.537 + "\217\147\215\150\045\151\177\152\231\153\205\001\002" +
84.538 + "\000\014\007\173\024\174\025\171\117\204\150\172\001" +
84.539 + "\002\000\012\012\236\147\215\150\045\153\205\001\002" +
84.540 + "\000\114\013\uff49\025\uff49\042\uff49\044\uff49\046\uff49\047" +
84.541 + "\uff49\051\uff49\054\uff49\070\uff49\072\uff49\073\uff49\105\uff49" +
84.542 + "\111\uff49\113\uff49\114\uff49\115\uff49\116\uff49\117\uff49\120" +
84.543 + "\uff49\121\uff49\122\uff49\123\uff49\124\uff49\125\uff49\126\uff49" +
84.544 + "\130\uff49\131\uff49\132\uff49\133\uff49\134\uff49\135\uff49\136" +
84.545 + "\uff49\137\uff49\140\uff49\141\uff49\142\uff49\143\uff49\001\002" +
84.546 + "\000\114\013\uff4a\025\uff4a\042\uff4a\044\uff4a\046\uff4a\047" +
84.547 + "\uff4a\051\uff4a\054\uff4a\070\uff4a\072\uff4a\073\uff4a\105\uff4a" +
84.548 + "\111\uff4a\113\uff4a\114\uff4a\115\uff4a\116\uff4a\117\uff4a\120" +
84.549 + "\uff4a\121\uff4a\122\uff4a\123\uff4a\124\uff4a\125\uff4a\126\uff4a" +
84.550 + "\130\uff4a\131\uff4a\132\uff4a\133\uff4a\134\uff4a\135\uff4a\136" +
84.551 + "\uff4a\137\uff4a\140\uff4a\141\uff4a\142\uff4a\143\uff4a\001\002" +
84.552 + "\000\114\013\uff4c\025\uff4c\042\uff4c\044\uff4c\046\uff4c\047" +
84.553 + "\uff4c\051\uff4c\054\uff4c\070\uff4c\072\uff4c\073\uff4c\105\uff4c" +
84.554 + "\111\uff4c\113\uff4c\114\uff4c\115\uff4c\116\uff4c\117\uff4c\120" +
84.555 + "\uff4c\121\uff4c\122\uff4c\123\uff4c\124\uff4c\125\uff4c\126\uff4c" +
84.556 + "\130\uff4c\131\uff4c\132\uff4c\133\uff4c\134\uff4c\135\uff4c\136" +
84.557 + "\uff4c\137\uff4c\140\uff4c\141\uff4c\142\uff4c\143\uff4c\001\002" +
84.558 + "\000\114\013\uff4b\025\uff4b\042\uff4b\044\uff4b\046\uff4b\047" +
84.559 + "\uff4b\051\uff4b\054\uff4b\070\uff4b\072\uff4b\073\uff4b\105\uff4b" +
84.560 + "\111\uff4b\113\uff4b\114\uff4b\115\uff4b\116\uff4b\117\uff4b\120" +
84.561 + "\uff4b\121\uff4b\122\uff4b\123\uff4b\124\uff4b\125\uff4b\126\uff4b" +
84.562 + "\130\uff4b\131\uff4b\132\uff4b\133\uff4b\134\uff4b\135\uff4b\136" +
84.563 + "\uff4b\137\uff4b\140\uff4b\141\uff4b\142\uff4b\143\uff4b\001\002" +
84.564 + "\000\114\013\uff48\025\uff48\042\uff48\044\uff48\046\uff48\047" +
84.565 + "\uff48\051\uff48\054\uff48\070\uff48\072\uff48\073\uff48\105\uff48" +
84.566 + "\111\uff48\113\uff48\114\uff48\115\uff48\116\uff48\117\uff48\120" +
84.567 + "\uff48\121\uff48\122\uff48\123\uff48\124\uff48\125\uff48\126\uff48" +
84.568 + "\130\uff48\131\uff48\132\uff48\133\uff48\134\uff48\135\uff48\136" +
84.569 + "\uff48\137\uff48\140\uff48\141\uff48\142\uff48\143\uff48\001\002" +
84.570 + "\000\104\013\uff0a\025\uff0a\042\uff0a\044\uff0a\046\uff0a\047" +
84.571 + "\uff0a\051\uff0a\054\uff0a\070\uff0a\072\uff0a\073\uff0a\105\uff0a" +
84.572 + "\113\uff0a\114\uff0a\115\uff0a\120\uff0a\121\uff0a\122\uff0a\123" +
84.573 + "\uff0a\124\uff0a\126\uff0a\130\uff0a\131\uff0a\132\uff0a\133\uff0a" +
84.574 + "\134\uff0a\135\uff0a\136\uff0a\137\uff0a\140\uff0a\141\uff0a\142" +
84.575 + "\uff0a\143\uff0a\001\002\000\012\120\uff4e\123\uff4e\134\uff86" +
84.576 + "\135\uff86\001\002\000\012\120\uff83\123\uff83\134\uff83\135" +
84.577 + "\uff83\001\002\000\006\134\341\135\342\001\002\000\074" +
84.578 + "\013\uff10\042\uff10\047\uff10\051\uff10\054\uff10\070\335\072" +
84.579 + "\uff10\113\uff10\114\uff10\115\uff10\116\313\117\233\120\uff10" +
84.580 + "\121\uff10\122\uff10\123\uff10\124\uff10\125\235\126\uff10\131" +
84.581 + "\uff10\132\uff10\133\uff10\134\uff10\135\uff10\136\uff10\137\uff10" +
84.582 + "\141\uff10\142\uff10\143\uff10\001\002\000\020\013\321\054" +
84.583 + "\324\114\322\120\uff50\123\uff50\134\uff87\135\uff87\001\002" +
84.584 + "\000\006\120\uff4d\123\uff4d\001\002\000\006\134\uff89\135" +
84.585 + "\uff89\001\002\000\006\134\uff85\135\uff85\001\002\000\006" +
84.586 + "\120\uff4f\123\uff4f\001\002\000\006\120\uff52\123\uff52\001" +
84.587 + "\002\000\006\120\333\123\332\001\002\000\052\013\uff1e" +
84.588 + "\042\261\051\273\054\uff1e\113\uff1e\114\uff1e\115\274\120" +
84.589 + "\uff1e\122\267\123\uff1e\124\260\131\271\132\266\133\276" +
84.590 + "\134\uff1e\135\uff1e\136\272\141\264\142\262\143\275\001" +
84.591 + "\002\000\026\005\uff27\050\uff27\051\uff27\052\uff27\117\uff27" +
84.592 + "\147\uff27\150\uff27\151\uff27\152\uff27\153\uff27\001\002\000" +
84.593 + "\032\005\uff2c\050\uff2c\051\uff2c\052\uff2c\117\uff2c\122\uff2c" +
84.594 + "\124\uff2c\147\uff2c\150\uff2c\151\uff2c\152\uff2c\153\uff2c\001" +
84.595 + "\002\000\032\005\uff2d\050\uff2d\051\uff2d\052\uff2d\117\uff2d" +
84.596 + "\122\uff2d\124\uff2d\147\uff2d\150\uff2d\151\uff2d\152\uff2d\153" +
84.597 + "\uff2d\001\002\000\032\005\213\050\224\051\200\052\227" +
84.598 + "\117\204\122\175\124\217\147\215\150\045\151\177\152" +
84.599 + "\231\153\205\001\002\000\032\005\uff31\050\uff31\051\uff31" +
84.600 + "\052\uff31\117\uff31\122\uff31\124\uff31\147\uff31\150\uff31\151" +
84.601 + "\uff31\152\uff31\153\uff31\001\002\000\032\005\213\050\224" +
84.602 + "\051\200\052\227\117\204\122\175\124\217\147\215\150" +
84.603 + "\045\151\177\152\231\153\205\001\002\000\032\005\uff32" +
84.604 + "\050\uff32\051\uff32\052\uff32\117\uff32\122\uff32\124\uff32\147" +
84.605 + "\uff32\150\uff32\151\uff32\152\uff32\153\uff32\001\002\000\026" +
84.606 + "\005\uff28\050\uff28\051\uff28\052\uff28\117\uff28\147\uff28\150" +
84.607 + "\uff28\151\uff28\152\uff28\153\uff28\001\002\000\026\005\213" +
84.608 + "\050\224\051\200\052\227\117\204\147\215\150\045\151" +
84.609 + "\177\152\231\153\205\001\002\000\032\005\uff30\050\uff30" +
84.610 + "\051\uff30\052\uff30\117\uff30\122\uff30\124\uff30\147\uff30\150" +
84.611 + "\uff30\151\uff30\152\uff30\153\uff30\001\002\000\032\005\213" +
84.612 + "\050\224\051\200\052\227\117\204\122\175\124\217\147" +
84.613 + "\215\150\045\151\177\152\231\153\205\001\002\000\004" +
84.614 + "\042\277\001\002\000\026\005\uff26\050\uff26\051\uff26\052" +
84.615 + "\uff26\117\uff26\147\uff26\150\uff26\151\uff26\152\uff26\153\uff26" +
84.616 + "\001\002\000\032\005\uff2f\050\uff2f\051\uff2f\052\uff2f\117" +
84.617 + "\uff2f\122\uff2f\124\uff2f\147\uff2f\150\uff2f\151\uff2f\152\uff2f" +
84.618 + "\153\uff2f\001\002\000\032\005\uff2e\050\uff2e\051\uff2e\052" +
84.619 + "\uff2e\117\uff2e\122\uff2e\124\uff2e\147\uff2e\150\uff2e\151\uff2e" +
84.620 + "\152\uff2e\153\uff2e\001\002\000\032\005\uff2b\050\uff2b\051" +
84.621 + "\uff2b\052\uff2b\117\uff2b\122\uff2b\124\uff2b\147\uff2b\150\uff2b" +
84.622 + "\151\uff2b\152\uff2b\153\uff2b\001\002\000\050\013\uffc6\025" +
84.623 + "\uffc6\044\uffc6\046\uffc6\054\uffc6\070\uffc6\073\uffc6\105\uffc6" +
84.624 + "\113\uffc6\114\uffc6\115\274\120\uffc6\122\267\123\uffc6\124" +
84.625 + "\260\130\uffc6\134\uffc6\135\uffc6\140\uffc6\001\002\000\102" +
84.626 + "\013\uff18\025\uff18\042\uff18\044\uff18\046\uff18\047\303\051" +
84.627 + "\uff18\054\uff18\070\uff18\072\306\073\uff18\105\uff18\113\uff18" +
84.628 + "\114\uff18\115\uff18\120\uff18\121\302\122\uff18\123\uff18\124" +
84.629 + "\uff18\126\305\130\uff18\131\uff18\132\uff18\133\uff18\134\uff18" +
84.630 + "\135\uff18\136\uff18\140\uff18\141\uff18\142\uff18\143\uff18\001" +
84.631 + "\002\000\026\005\uff25\050\uff25\051\uff25\052\uff25\117\uff25" +
84.632 + "\147\uff25\150\uff25\151\uff25\152\uff25\153\uff25\001\002\000" +
84.633 + "\026\005\uff23\050\uff23\051\uff23\052\uff23\117\uff23\147\uff23" +
84.634 + "\150\uff23\151\uff23\152\uff23\153\uff23\001\002\000\026\005" +
84.635 + "\213\050\224\051\200\052\227\117\204\147\215\150\045" +
84.636 + "\151\177\152\231\153\205\001\002\000\026\005\uff24\050" +
84.637 + "\uff24\051\uff24\052\uff24\117\uff24\147\uff24\150\uff24\151\uff24" +
84.638 + "\152\uff24\153\uff24\001\002\000\026\005\uff22\050\uff22\051" +
84.639 + "\uff22\052\uff22\117\uff22\147\uff22\150\uff22\151\uff22\152\uff22" +
84.640 + "\153\uff22\001\002\000\102\013\uff16\025\uff16\042\uff16\044" +
84.641 + "\uff16\046\uff16\047\uff16\051\uff16\054\uff16\070\uff16\072\uff16" +
84.642 + "\073\uff16\105\uff16\113\uff16\114\uff16\115\uff16\120\uff16\121" +
84.643 + "\uff16\122\uff16\123\uff16\124\uff16\126\uff16\130\uff16\131\uff16" +
84.644 + "\132\uff16\133\uff16\134\uff16\135\uff16\136\uff16\140\uff16\141" +
84.645 + "\uff16\142\uff16\143\uff16\001\002\000\042\013\uff1c\025\uff1c" +
84.646 + "\044\uff1c\046\uff1c\054\uff1c\070\uff1c\073\uff1c\105\uff1c\113" +
84.647 + "\uff1c\114\uff1c\120\uff1c\123\uff1c\130\uff1c\134\uff1c\135\uff1c" +
84.648 + "\140\uff1c\001\002\000\012\115\274\122\267\124\260\136" +
84.649 + "\272\001\002\000\072\013\uff1b\025\uff1b\044\uff1b\046\uff1b" +
84.650 + "\047\uff10\054\uff1b\070\uff1b\072\uff10\073\uff1b\105\uff1b\113" +
84.651 + "\uff1b\114\uff1b\115\uff10\116\313\117\233\120\uff1b\121\uff10" +
84.652 + "\122\uff10\123\uff1b\124\uff10\125\235\126\uff10\130\uff1b\134" +
84.653 + "\uff1b\135\uff1b\136\uff10\137\uff10\140\uff1b\001\002\000\016" +
84.654 + "\007\173\024\174\025\171\070\314\117\204\150\172\001" +
84.655 + "\002\000\044\013\uffc5\025\uffc5\044\uffc5\046\uffc5\054\uffc5" +
84.656 + "\070\uffc5\073\uffc5\105\uffc5\113\uffc5\114\uffc5\117\315\120" +
84.657 + "\uffc5\123\uffc5\130\uffc5\134\uffc5\135\uffc5\140\uffc5\001\002" +
84.658 + "\000\032\005\213\050\224\051\200\052\227\117\204\122" +
84.659 + "\175\124\217\147\215\150\045\151\177\152\231\153\205" +
84.660 + "\001\002\000\012\013\321\054\324\114\322\120\320\001" +
84.661 + "\002\000\032\005\213\050\224\051\200\052\227\117\204" +
84.662 + "\122\175\124\217\147\215\150\045\151\177\152\231\153" +
84.663 + "\205\001\002\000\042\013\uffc4\025\uffc4\044\uffc4\046\uffc4" +
84.664 + "\054\uffc4\070\uffc4\073\uffc4\105\uffc4\113\uffc4\114\uffc4\120" +
84.665 + "\uffc4\123\uffc4\130\uffc4\134\uffc4\135\uffc4\140\uffc4\001\002" +
84.666 + "\000\034\005\uff37\050\uff37\051\uff37\052\uff37\105\327\117" +
84.667 + "\uff37\122\uff37\124\uff37\147\uff37\150\uff37\151\uff37\152\uff37" +
84.668 + "\153\uff37\001\002\000\032\005\uff35\050\uff35\051\uff35\052" +
84.669 + "\uff35\117\uff35\122\uff35\124\uff35\147\uff35\150\uff35\151\uff35" +
84.670 + "\152\uff35\153\uff35\001\002\000\032\005\213\050\224\051" +
84.671 + "\200\052\227\117\204\122\175\124\217\147\215\150\045" +
84.672 + "\151\177\152\231\153\205\001\002\000\034\005\uff36\027" +
84.673 + "\325\050\uff36\051\uff36\052\uff36\117\uff36\122\uff36\124\uff36" +
84.674 + "\147\uff36\150\uff36\151\uff36\152\uff36\153\uff36\001\002\000" +
84.675 + "\032\005\uff33\050\uff33\051\uff33\052\uff33\117\uff33\122\uff33" +
84.676 + "\124\uff33\147\uff33\150\uff33\151\uff33\152\uff33\153\uff33\001" +
84.677 + "\002\000\042\013\uff20\025\uff20\044\uff20\046\uff20\054\uff20" +
84.678 + "\070\uff20\073\uff20\105\uff20\113\uff20\114\uff20\120\uff20\123" +
84.679 + "\uff20\130\uff20\134\uff20\135\uff20\140\uff20\001\002\000\032" +
84.680 + "\005\uff34\050\uff34\051\uff34\052\uff34\117\uff34\122\uff34\124" +
84.681 + "\uff34\147\uff34\150\uff34\151\uff34\152\uff34\153\uff34\001\002" +
84.682 + "\000\042\013\uff1f\025\uff1f\044\uff1f\046\uff1f\054\uff1f\070" +
84.683 + "\uff1f\073\uff1f\105\uff1f\113\uff1f\114\uff1f\120\uff1f\123\uff1f" +
84.684 + "\130\uff1f\134\uff1f\135\uff1f\140\uff1f\001\002\000\050\013" +
84.685 + "\uff1d\025\uff1d\044\uff1d\046\uff1d\054\uff1d\070\uff1d\073\uff1d" +
84.686 + "\105\uff1d\113\uff1d\114\uff1d\115\274\120\uff1d\122\267\123" +
84.687 + "\uff1d\124\260\130\uff1d\134\uff1d\135\uff1d\140\uff1d\001\002" +
84.688 + "\000\036\003\251\005\213\050\224\051\200\052\227\055" +
84.689 + "\253\117\204\122\175\124\217\147\215\150\045\151\177" +
84.690 + "\152\231\153\205\001\002\000\114\013\uff53\025\uff53\042" +
84.691 + "\uff53\044\uff53\046\uff53\047\uff53\051\uff53\054\uff53\070\uff53" +
84.692 + "\072\uff53\073\uff53\105\uff53\111\uff53\113\uff53\114\uff53\115" +
84.693 + "\uff53\116\uff53\117\uff53\120\uff53\121\uff53\122\uff53\123\uff53" +
84.694 + "\124\uff53\125\uff53\126\uff53\130\uff53\131\uff53\132\uff53\133" +
84.695 + "\uff53\134\uff53\135\uff53\136\uff53\137\uff53\140\uff53\141\uff53" +
84.696 + "\142\uff53\143\uff53\001\002\000\006\120\uff51\123\uff51\001" +
84.697 + "\002\000\032\005\213\050\224\051\200\052\227\117\204" +
84.698 + "\122\175\124\217\147\215\150\045\151\177\152\231\153" +
84.699 + "\205\001\002\000\012\120\uff84\123\uff84\134\uff84\135\uff84" +
84.700 + "\001\002\000\024\046\uffc7\073\uffc7\113\uffc7\120\uffc7\123" +
84.701 + "\uffc7\130\uffc7\134\uffc7\135\uffc7\140\uffc7\001\002\000\032" +
84.702 + "\047\uff10\072\uff10\115\uff10\116\313\117\233\121\uff10\122" +
84.703 + "\uff10\124\uff10\125\235\126\uff10\136\uff10\137\uff10\001\002" +
84.704 + "\000\034\005\213\050\224\051\200\052\227\055\253\117" +
84.705 + "\204\122\175\124\217\147\215\150\045\151\177\152\231" +
84.706 + "\153\205\001\002\000\032\005\213\050\224\051\200\052" +
84.707 + "\227\117\204\122\175\124\217\147\215\150\045\151\177" +
84.708 + "\152\231\153\205\001\002\000\014\013\321\054\324\114" +
84.709 + "\322\120\uff38\123\uff38\001\002\000\006\134\uff86\135\uff86" +
84.710 + "\001\002\000\006\134\uff88\135\uff88\001\002\000\014\013" +
84.711 + "\321\054\324\114\322\134\uff87\135\uff87\001\002\000\112" +
84.712 + "\013\uff09\025\uff09\042\uff09\044\uff09\046\uff09\047\uff09\051" +
84.713 + "\uff09\054\uff09\070\uff09\072\uff09\073\uff09\105\uff09\113\uff09" +
84.714 + "\114\uff09\115\uff09\116\234\117\233\120\uff09\121\uff09\122" +
84.715 + "\uff09\123\uff09\124\uff09\125\235\126\uff09\130\uff09\131\uff09" +
84.716 + "\132\uff09\133\uff09\134\uff09\135\uff09\136\uff09\137\uff09\140" +
84.717 + "\uff09\141\uff09\142\uff09\143\uff09\001\002\000\104\013\uff08" +
84.718 + "\025\uff08\042\uff08\044\uff08\046\uff08\047\uff08\051\uff08\054" +
84.719 + "\uff08\070\uff08\072\uff08\073\uff08\105\uff08\113\uff08\114\uff08" +
84.720 + "\115\uff08\120\uff08\121\uff08\122\uff08\123\uff08\124\uff08\126" +
84.721 + "\uff08\130\uff08\131\uff08\132\uff08\133\uff08\134\uff08\135\uff08" +
84.722 + "\136\uff08\137\uff08\140\uff08\141\uff08\142\uff08\143\uff08\001" +
84.723 + "\002\000\102\013\uff1a\025\uff1a\042\uff1a\044\uff1a\046\uff1a" +
84.724 + "\047\303\051\uff1a\054\uff1a\070\uff1a\072\306\073\uff1a\105" +
84.725 + "\uff1a\113\uff1a\114\uff1a\115\uff1a\120\uff1a\121\302\122\uff1a" +
84.726 + "\123\uff1a\124\uff1a\126\305\130\uff1a\131\uff1a\132\uff1a\133" +
84.727 + "\uff1a\134\uff1a\135\uff1a\136\uff1a\140\uff1a\141\uff1a\142\uff1a" +
84.728 + "\143\uff1a\001\002\000\022\050\224\052\227\117\204\147" +
84.729 + "\215\150\045\151\177\152\231\153\205\001\002\000\102" +
84.730 + "\013\uff12\025\uff12\042\uff12\044\uff12\046\uff12\047\uff12\051" +
84.731 + "\uff12\054\uff12\070\uff12\072\uff12\073\uff12\105\uff12\113\uff12" +
84.732 + "\114\uff12\115\uff12\120\uff12\121\uff12\122\uff12\123\uff12\124" +
84.733 + "\uff12\126\uff12\130\uff12\131\uff12\132\uff12\133\uff12\134\uff12" +
84.734 + "\135\uff12\136\uff12\140\uff12\141\uff12\142\uff12\143\uff12\001" +
84.735 + "\002\000\102\013\uff13\025\uff13\042\uff13\044\uff13\046\uff13" +
84.736 + "\047\uff13\051\uff13\054\uff13\070\uff13\072\uff13\073\uff13\105" +
84.737 + "\uff13\113\uff13\114\uff13\115\uff13\120\uff13\121\uff13\122\uff13" +
84.738 + "\123\uff13\124\uff13\126\uff13\130\uff13\131\uff13\132\uff13\133" +
84.739 + "\uff13\134\uff13\135\uff13\136\uff13\140\uff13\141\uff13\142\uff13" +
84.740 + "\143\uff13\001\002\000\006\120\377\123\376\001\002\000" +
84.741 + "\022\013\321\054\324\113\370\114\322\120\367\123\uff50" +
84.742 + "\134\uff87\135\uff87\001\002\000\066\013\uff40\042\uff40\047" +
84.743 + "\uff40\051\uff40\054\uff40\071\365\072\uff40\113\uff40\114\uff40" +
84.744 + "\115\uff40\120\uff40\121\uff40\122\uff40\123\uff40\124\uff40\126" +
84.745 + "\uff40\131\uff40\132\uff40\133\uff40\134\uff40\135\uff40\136\uff40" +
84.746 + "\137\uff40\141\uff40\142\uff40\143\uff40\001\002\000\006\120" +
84.747 + "\364\123\uff4f\001\002\000\004\123\362\001\002\000\036" +
84.748 + "\003\251\005\213\050\224\051\200\052\227\055\253\117" +
84.749 + "\204\122\175\124\217\147\215\150\045\151\177\152\231" +
84.750 + "\153\205\001\002\000\006\120\uff3a\123\uff3a\001\002\000" +
84.751 + "\104\013\uff3f\025\uff3f\042\uff3f\044\uff3f\046\uff3f\047\uff3f" +
84.752 + "\051\uff3f\054\uff3f\070\uff3f\072\uff3f\073\uff3f\105\uff3f\113" +
84.753 + "\uff3f\114\uff3f\115\uff3f\120\uff3f\121\uff3f\122\uff3f\123\uff3f" +
84.754 + "\124\uff3f\126\uff3f\130\uff3f\131\uff3f\132\uff3f\133\uff3f\134" +
84.755 + "\uff3f\135\uff3f\136\uff3f\137\uff3f\140\uff3f\141\uff3f\142\uff3f" +
84.756 + "\143\uff3f\001\002\000\004\120\366\001\002\000\104\013" +
84.757 + "\uff3b\025\uff3b\042\uff3b\044\uff3b\046\uff3b\047\uff3b\051\uff3b" +
84.758 + "\054\uff3b\070\uff3b\072\uff3b\073\uff3b\105\uff3b\113\uff3b\114" +
84.759 + "\uff3b\115\uff3b\120\uff3b\121\uff3b\122\uff3b\123\uff3b\124\uff3b" +
84.760 + "\126\uff3b\130\uff3b\131\uff3b\132\uff3b\133\uff3b\134\uff3b\135" +
84.761 + "\uff3b\136\uff3b\137\uff3b\140\uff3b\141\uff3b\142\uff3b\143\uff3b" +
84.762 + "\001\002\000\104\013\uff0b\025\uff0b\042\uff0b\044\uff0b\046" +
84.763 + "\uff0b\047\uff0b\051\uff0b\054\uff0b\070\uff0b\072\uff0b\073\uff0b" +
84.764 + "\105\uff0b\113\uff0b\114\uff0b\115\uff0b\120\uff0b\121\uff0b\122" +
84.765 + "\uff0b\123\uff0b\124\uff0b\126\uff0b\130\uff0b\131\uff0b\132\uff0b" +
84.766 + "\133\uff0b\134\uff0b\135\uff0b\136\uff0b\137\uff0b\140\uff0b\141" +
84.767 + "\uff0b\142\uff0b\143\uff0b\001\002\000\036\003\251\005\213" +
84.768 + "\050\224\051\200\052\371\055\253\117\204\122\175\124" +
84.769 + "\217\147\215\150\045\151\177\152\231\153\205\001\002" +
84.770 + "\000\064\013\uff40\042\uff40\047\uff40\051\uff40\054\uff40\071" +
84.771 + "\374\072\uff40\114\uff40\115\uff40\120\uff40\121\uff40\122\uff40" +
84.772 + "\123\uff40\124\uff40\126\uff40\131\uff40\132\uff40\133\uff40\134" +
84.773 + "\uff40\135\uff40\136\uff40\137\uff40\141\uff40\142\uff40\143\uff40" +
84.774 + "\001\002\000\006\120\373\123\332\001\002\000\104\013" +
84.775 + "\uff3d\025\uff3d\042\uff3d\044\uff3d\046\uff3d\047\uff3d\051\uff3d" +
84.776 + "\054\uff3d\070\uff3d\072\uff3d\073\uff3d\105\uff3d\113\uff3d\114" +
84.777 + "\uff3d\115\uff3d\120\uff3d\121\uff3d\122\uff3d\123\uff3d\124\uff3d" +
84.778 + "\126\uff3d\130\uff3d\131\uff3d\132\uff3d\133\uff3d\134\uff3d\135" +
84.779 + "\uff3d\136\uff3d\137\uff3d\140\uff3d\141\uff3d\142\uff3d\143\uff3d" +
84.780 + "\001\002\000\004\120\375\001\002\000\104\013\uff3c\025" +
84.781 + "\uff3c\042\uff3c\044\uff3c\046\uff3c\047\uff3c\051\uff3c\054\uff3c" +
84.782 + "\070\uff3c\072\uff3c\073\uff3c\105\uff3c\113\uff3c\114\uff3c\115" +
84.783 + "\uff3c\120\uff3c\121\uff3c\122\uff3c\123\uff3c\124\uff3c\126\uff3c" +
84.784 + "\130\uff3c\131\uff3c\132\uff3c\133\uff3c\134\uff3c\135\uff3c\136" +
84.785 + "\uff3c\137\uff3c\140\uff3c\141\uff3c\142\uff3c\143\uff3c\001\002" +
84.786 + "\000\036\003\251\005\213\050\224\051\200\052\227\055" +
84.787 + "\253\117\204\122\175\124\217\147\215\150\045\151\177" +
84.788 + "\152\231\153\205\001\002\000\104\013\uff3e\025\uff3e\042" +
84.789 + "\uff3e\044\uff3e\046\uff3e\047\uff3e\051\uff3e\054\uff3e\070\uff3e" +
84.790 + "\072\uff3e\073\uff3e\105\uff3e\113\uff3e\114\uff3e\115\uff3e\120" +
84.791 + "\uff3e\121\uff3e\122\uff3e\123\uff3e\124\uff3e\126\uff3e\130\uff3e" +
84.792 + "\131\uff3e\132\uff3e\133\uff3e\134\uff3e\135\uff3e\136\uff3e\137" +
84.793 + "\uff3e\140\uff3e\141\uff3e\142\uff3e\143\uff3e\001\002\000\006" +
84.794 + "\120\uff39\123\uff39\001\002\000\102\013\uff14\025\uff14\042" +
84.795 + "\uff14\044\uff14\046\uff14\047\uff14\051\uff14\054\uff14\070\uff14" +
84.796 + "\072\uff14\073\uff14\105\uff14\113\uff14\114\uff14\115\uff14\120" +
84.797 + "\uff14\121\uff14\122\uff14\123\uff14\124\uff14\126\uff14\130\uff14" +
84.798 + "\131\uff14\132\uff14\133\uff14\134\uff14\135\uff14\136\uff14\140" +
84.799 + "\uff14\141\uff14\142\uff14\143\uff14\001\002\000\006\123\uffea" +
84.800 + "\127\uffea\001\002\000\004\130\ufe8b\001\002\000\020\031" +
84.801 + "\ufe87\032\ufe87\035\ufe87\036\ufe87\061\ufe87\062\ufe87\063\ufe87" +
84.802 + "\001\002\000\020\031\ufe89\032\u010a\035\070\036\027\061" +
84.803 + "\004\062\u010b\063\021\001\002\000\020\031\ufe86\032\ufe86" +
84.804 + "\035\ufe86\036\ufe86\061\ufe86\062\ufe86\063\ufe86\001\002\000" +
84.805 + "\024\003\ufe83\031\ufe83\032\ufe83\035\ufe83\036\ufe83\061\ufe83" +
84.806 + "\062\ufe83\063\ufe83\150\ufe83\001\002\000\024\003\ufe82\031" +
84.807 + "\ufe82\032\ufe82\035\ufe82\036\ufe82\061\ufe82\062\ufe82\063\ufe82" +
84.808 + "\150\ufe82\001\002\000\004\031\u0144\001\002\000\004\150" +
84.809 + "\u0126\001\002\000\022\003\ufe81\031\ufe81\032\ufe81\035\ufe81" +
84.810 + "\036\ufe81\061\ufe81\063\ufe81\150\ufe81\001\002\000\024\003" +
84.811 + "\ufe85\031\ufe85\032\ufe85\035\ufe85\036\ufe85\061\ufe85\062\ufe85" +
84.812 + "\063\ufe85\150\ufe85\001\002\000\004\130\u010e\001\002\000" +
84.813 + "\024\003\ufe84\031\ufe84\032\ufe84\035\ufe84\036\ufe84\061\ufe84" +
84.814 + "\062\ufe84\063\ufe84\150\ufe84\001\002\000\022\003\u0114\031" +
84.815 + "\ufe88\032\u010a\035\070\036\027\061\004\063\021\150\126" +
84.816 + "\001\002\000\022\003\ufe80\031\ufe80\032\ufe80\035\ufe80\036" +
84.817 + "\ufe80\061\ufe80\063\ufe80\150\ufe80\001\002\000\006\123\155" +
84.818 + "\127\u0116\001\002\000\022\003\ufe7e\031\ufe7e\032\ufe7e\035" +
84.819 + "\ufe7e\036\ufe7e\061\ufe7e\063\ufe7e\150\ufe7e\001\002\000\022" +
84.820 + "\003\ufe7f\031\ufe7f\032\ufe7f\035\ufe7f\036\ufe7f\061\ufe7f\063" +
84.821 + "\ufe7f\150\ufe7f\001\002\000\004\130\u0115\001\002\000\026" +
84.822 + "\003\uff95\021\uff95\031\uff95\032\uff95\035\uff95\036\uff95\061" +
84.823 + "\uff95\063\uff95\111\uff95\150\uff95\001\002\000\010\011\u0117" +
84.824 + "\150\uffaf\153\uffaf\001\002\000\006\150\uffae\153\uffae\001" +
84.825 + "\002\000\006\150\045\153\205\001\002\000\006\130\uffe3" +
84.826 + "\140\164\001\002\000\004\130\u011b\001\002\000\026\003" +
84.827 + "\uff96\021\uff96\031\uff96\032\uff96\035\uff96\036\uff96\061\uff96" +
84.828 + "\063\uff96\111\uff96\150\uff96\001\002\000\024\025\u011e\070" +
84.829 + "\335\073\uffd0\113\uffd0\116\u0122\117\233\125\235\130\uffd0" +
84.830 + "\140\uffd0\001\002\000\006\130\uffb0\140\uffb0\001\002\000" +
84.831 + "\032\005\213\050\224\051\200\052\227\117\204\122\175" +
84.832 + "\124\217\147\215\150\045\151\177\152\231\153\205\001" +
84.833 + "\002\000\012\073\uffce\113\uffce\130\uffce\140\uffce\001\002" +
84.834 + "\000\012\073\uffcf\113\uffcf\130\uffcf\140\uffcf\001\002\000" +
84.835 + "\012\073\uffd1\113\uffd1\130\uffd1\140\uffd1\001\002\000\012" +
84.836 + "\007\173\024\174\025\171\150\172\001\002\000\022\013" +
84.837 + "\321\054\324\070\335\073\uffa5\113\uffa5\114\322\130\uffa5" +
84.838 + "\140\uffa5\001\002\000\012\073\uffcd\113\uffcd\130\uffcd\140" +
84.839 + "\uffcd\001\002\000\020\046\uffa4\073\uffa4\113\uffa4\120\uffa4" +
84.840 + "\123\uffa4\130\uffa4\140\uffa4\001\002\000\006\117\u0129\130" +
84.841 + "\ufebe\001\002\000\004\130\u0143\001\002\000\016\026\ufebd" +
84.842 + "\044\ufebd\065\ufebd\073\ufebd\111\ufebd\130\ufebd\001\002\000" +
84.843 + "\034\003\u012f\005\213\050\224\051\200\052\227\117\204" +
84.844 + "\122\175\124\217\147\215\150\u0131\151\177\152\231\153" +
84.845 + "\205\001\002\000\006\120\u0141\130\u0140\001\002\000\006" +
84.846 + "\120\ufebb\130\ufebb\001\002\000\006\123\155\127\u0138\001" +
84.847 + "\002\000\010\046\uffa6\120\uffa6\123\uffa6\001\002\000\042" +
84.848 + "\046\uffa5\047\uff10\070\335\072\uff10\115\uff10\116\313\117" +
84.849 + "\233\120\uffa5\121\uff10\122\uff10\123\uffa5\124\uff10\125\235" +
84.850 + "\126\uff10\136\uff10\137\uff10\001\002\000\004\130\u0136\001" +
84.851 + "\002\000\004\120\u0132\001\002\000\070\013\uff59\042\uff59" +
84.852 + "\047\uff59\051\uff59\054\uff59\070\uff59\072\uff59\114\uff59\115" +
84.853 + "\uff59\116\uff59\117\uff59\120\uff59\121\uff59\122\uff59\123\uffed" +
84.854 + "\124\uff59\125\uff59\126\uff59\127\uffed\131\uff59\132\uff59\133" +
84.855 + "\uff59\136\uff59\137\uff59\141\uff59\142\uff59\143\uff59\001\002" +
84.856 + "\000\006\117\u0134\130\ufebe\001\002\000\004\130\u0135\001" +
84.857 + "\002\000\006\003\u012f\150\126\001\002\000\024\003\ufe74" +
84.858 + "\031\ufe74\032\ufe74\035\ufe74\036\ufe74\061\ufe74\062\ufe74\063" +
84.859 + "\ufe74\150\ufe74\001\002\000\006\120\ufeb8\130\ufeb8\001\002" +
84.860 + "\000\010\046\uffa7\120\uffa7\123\uffa7\001\002\000\012\007" +
84.861 + "\u013b\042\u013a\056\u0139\150\ufeb7\001\002\000\004\150\ufeb5" +
84.862 + "\001\002\000\006\056\u013f\150\ufeb6\001\002\000\004\150" +
84.863 + "\ufeb3\001\002\000\004\150\045\001\002\000\014\116\165" +
84.864 + "\120\uffe3\125\166\130\uffe3\140\164\001\002\000\006\120" +
84.865 + "\ufeb9\130\ufeb9\001\002\000\004\150\ufeb4\001\002\000\006" +
84.866 + "\003\u012f\150\126\001\002\000\016\026\ufebc\044\ufebc\065" +
84.867 + "\ufebc\073\ufebc\111\ufebc\130\ufebc\001\002\000\006\120\ufeba" +
84.868 + "\130\ufeba\001\002\000\024\003\ufe75\031\ufe75\032\ufe75\035" +
84.869 + "\ufe75\036\ufe75\061\ufe75\062\ufe75\063\ufe75\150\ufe75\001\002" +
84.870 + "\000\010\130\ufed7\150\045\153\205\001\002\000\004\130" +
84.871 + "\ufed6\001\002\000\016\044\ufec0\065\ufec0\073\ufec0\117\ufec0" +
84.872 + "\125\051\130\ufec0\001\002\000\014\044\ufebf\065\ufebf\073" +
84.873 + "\ufebf\117\ufebf\130\ufebf\001\002\000\004\130\ufe8a\001\002" +
84.874 + "\000\004\130\ufe8c\001\002\000\004\044\u014b\001\002\000" +
84.875 + "\016\031\ufffa\032\ufffa\036\ufffa\061\ufffa\063\ufffa\076\u014c" +
84.876 + "\001\002\000\004\130\u024b\001\002\000\012\031\u0155\032" +
84.877 + "\u0151\036\027\063\021\001\002\000\014\031\ufe7c\032\ufe7c" +
84.878 + "\036\ufe7c\061\004\063\ufe7c\001\002\000\046\002\ufff9\003" +
84.879 + "\ufff9\021\ufff9\031\ufff9\032\ufff9\035\ufff9\036\ufff9\037\ufff9" +
84.880 + "\052\ufff9\060\ufff9\061\ufff9\062\ufff9\063\ufff9\076\ufff9\110" +
84.881 + "\ufff9\111\ufff9\113\ufff9\150\ufff9\001\002\000\014\031\ufe7a" +
84.882 + "\032\ufe7a\036\ufe7a\061\ufe7a\063\ufe7a\001\002\000\004\150" +
84.883 + "\u0237\001\002\000\006\044\u015a\130\u0159\001\002\000\014" +
84.884 + "\031\ufffa\032\ufffa\036\ufffa\061\ufffa\063\ufffa\001\002\000" +
84.885 + "\014\031\ufe79\032\ufe79\036\ufe79\061\ufe79\063\ufe79\001\002" +
84.886 + "\000\010\130\ufed7\150\045\153\205\001\002\000\004\130" +
84.887 + "\u0157\001\002\000\050\002\ufe7d\003\ufe7d\016\ufe7d\031\ufe7d" +
84.888 + "\035\ufe7d\036\ufe7d\037\ufe7d\060\ufe7d\061\ufe7d\062\ufe7d\063" +
84.889 + "\ufe7d\064\ufe7d\076\ufe7d\101\ufe7d\103\ufe7d\106\ufe7d\110\ufe7d" +
84.890 + "\113\ufe7d\150\ufe7d\001\002\000\014\031\ufe7b\032\ufe7b\036" +
84.891 + "\ufe7b\061\004\063\ufe7b\001\002\000\014\031\ufe78\032\ufe78" +
84.892 + "\036\ufe78\061\ufe78\063\ufe78\001\002\000\036\003\105\016" +
84.893 + "\uff7b\035\070\036\027\037\030\060\121\061\004\063\021" +
84.894 + "\064\117\101\076\103\060\106\074\110\015\150\126\001" +
84.895 + "\002\000\004\016\u015c\001\002\000\056\003\u017e\004\u017d" +
84.896 + "\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\034\u0176\035" +
84.897 + "\ufee0\040\u0184\041\u0177\046\ufee0\052\u0180\061\004\065\u017c" +
84.898 + "\067\u018f\074\u0164\075\u0175\112\ufee0\144\u0187\150\u0190\153" +
84.899 + "\205\001\002\000\004\031\u015e\001\002\000\010\130\ufed7" +
84.900 + "\150\045\153\205\001\002\000\004\130\u0160\001\002\000" +
84.901 + "\052\002\ufeb1\003\ufeb1\016\ufeb1\031\ufeb1\032\ufeb1\035\ufeb1" +
84.902 + "\036\ufeb1\037\ufeb1\060\ufeb1\061\ufeb1\062\ufeb1\063\ufeb1\064" +
84.903 + "\ufeb1\076\ufeb1\101\ufeb1\103\ufeb1\106\ufeb1\110\ufeb1\113\ufeb1" +
84.904 + "\150\ufeb1\001\002\000\004\031\ufed2\001\002\000\074\003" +
84.905 + "\ufe63\004\ufe63\010\ufe63\016\ufe63\021\ufe63\022\ufe63\023\ufe63" +
84.906 + "\027\ufe63\030\ufe63\031\ufe63\033\ufe63\034\ufe63\035\ufe63\040" +
84.907 + "\ufe63\041\ufe63\046\ufe63\052\ufe63\054\ufe63\061\ufe63\065\ufe63" +
84.908 + "\067\ufe63\074\ufe63\075\ufe63\105\ufe63\111\ufe63\112\ufe63\144" +
84.909 + "\ufe63\150\ufe63\153\ufe63\001\002\000\004\130\u0236\001\002" +
84.910 + "\000\006\150\045\153\205\001\002\000\074\003\ufefb\004" +
84.911 + "\ufefb\010\ufefb\016\ufefb\021\ufefb\022\ufefb\023\ufefb\027\ufefb" +
84.912 + "\030\ufefb\031\ufefb\033\ufefb\034\ufefb\035\ufefb\040\ufefb\041" +
84.913 + "\ufefb\046\ufefb\052\ufefb\054\ufefb\061\ufefb\065\ufefb\067\ufefb" +
84.914 + "\074\ufefb\075\ufefb\105\ufefb\111\ufefb\112\ufefb\144\ufefb\150" +
84.915 + "\ufefb\153\ufefb\001\002\000\074\003\ufefc\004\ufefc\010\ufefc" +
84.916 + "\016\ufefc\021\ufefc\022\ufefc\023\ufefc\027\ufefc\030\ufefc\031" +
84.917 + "\ufefc\033\ufefc\034\ufefc\035\ufefc\040\ufefc\041\ufefc\046\ufefc" +
84.918 + "\052\ufefc\054\ufefc\061\ufefc\065\ufefc\067\ufefc\074\ufefc\075" +
84.919 + "\ufefc\105\ufefc\111\ufefc\112\ufefc\144\ufefc\150\ufefc\153\ufefc" +
84.920 + "\001\002\000\074\003\ufef0\004\ufef0\010\ufef0\016\ufef0\021" +
84.921 + "\ufef0\022\ufef0\023\ufef0\027\ufef0\030\ufef0\031\ufef0\033\ufef0" +
84.922 + "\034\ufef0\035\ufef0\040\ufef0\041\ufef0\046\ufef0\052\ufef0\054" +
84.923 + "\ufef0\061\ufef0\065\ufef0\067\ufef0\074\ufef0\075\ufef0\105\ufef0" +
84.924 + "\111\ufef0\112\ufef0\144\ufef0\150\ufef0\153\ufef0\001\002\000" +
84.925 + "\074\003\ufef6\004\ufef6\010\ufef6\016\ufef6\021\ufef6\022\ufef6" +
84.926 + "\023\ufef6\027\ufef6\030\ufef6\031\ufef6\033\ufef6\034\ufef6\035" +
84.927 + "\ufef6\040\ufef6\041\ufef6\046\ufef6\052\ufef6\054\ufef6\061\ufef6" +
84.928 + "\065\ufef6\067\ufef6\074\ufef6\075\ufef6\105\ufef6\111\ufef6\112" +
84.929 + "\ufef6\144\ufef6\150\ufef6\153\ufef6\001\002\000\032\005\213" +
84.930 + "\050\224\051\200\052\227\117\204\122\175\124\217\147" +
84.931 + "\215\150\045\151\177\152\231\153\205\001\002\000\074" +
84.932 + "\003\ufef7\004\ufef7\010\ufef7\016\ufef7\021\ufef7\022\ufef7\023" +
84.933 + "\ufef7\027\ufef7\030\ufef7\031\ufef7\033\ufef7\034\ufef7\035\ufef7" +
84.934 + "\040\ufef7\041\ufef7\046\ufef7\052\ufef7\054\ufef7\061\ufef7\065" +
84.935 + "\ufef7\067\ufef7\074\ufef7\075\ufef7\105\ufef7\111\ufef7\112\ufef7" +
84.936 + "\144\ufef7\150\ufef7\153\ufef7\001\002\000\074\003\uff02\004" +
84.937 + "\uff02\010\uff02\016\uff02\021\uff02\022\uff02\023\uff02\027\uff02" +
84.938 + "\030\uff02\031\uff02\033\uff02\034\uff02\035\uff02\040\uff02\041" +
84.939 + "\uff02\046\uff02\052\uff02\054\uff02\061\uff02\065\uff02\067\uff02" +
84.940 + "\074\uff02\075\uff02\105\uff02\111\uff02\112\uff02\144\uff02\150" +
84.941 + "\uff02\153\uff02\001\002\000\074\003\ufefe\004\ufefe\010\ufefe" +
84.942 + "\016\ufefe\021\ufefe\022\ufefe\023\ufefe\027\ufefe\030\ufefe\031" +
84.943 + "\ufefe\033\ufefe\034\ufefe\035\ufefe\040\ufefe\041\ufefe\046\ufefe" +
84.944 + "\052\ufefe\054\ufefe\061\ufefe\065\ufefe\067\ufefe\074\ufefe\075" +
84.945 + "\ufefe\105\ufefe\111\ufefe\112\ufefe\144\ufefe\150\ufefe\153\ufefe" +
84.946 + "\001\002\000\074\003\uff03\004\uff03\010\uff03\016\uff03\021" +
84.947 + "\uff03\022\uff03\023\uff03\027\uff03\030\uff03\031\uff03\033\uff03" +
84.948 + "\034\uff03\035\uff03\040\uff03\041\uff03\046\uff03\052\uff03\054" +
84.949 + "\uff03\061\uff03\065\uff03\067\uff03\074\uff03\075\uff03\105\uff03" +
84.950 + "\111\uff03\112\uff03\144\uff03\150\uff03\153\uff03\001\002\000" +
84.951 + "\074\003\ufeef\004\ufeef\010\ufeef\016\ufeef\021\ufeef\022\ufeef" +
84.952 + "\023\ufeef\027\ufeef\030\ufeef\031\ufeef\033\ufeef\034\ufeef\035" +
84.953 + "\ufeef\040\ufeef\041\ufeef\046\ufeef\052\ufeef\054\ufeef\061\ufeef" +
84.954 + "\065\ufeef\067\ufeef\074\ufeef\075\ufeef\105\ufeef\111\ufeef\112" +
84.955 + "\ufeef\144\ufeef\150\ufeef\153\ufeef\001\002\000\014\116\234" +
84.956 + "\117\233\125\235\130\u01ff\140\u0222\001\002\000\074\003" +
84.957 + "\ufe64\004\ufe64\010\ufe64\016\ufe64\021\ufe64\022\ufe64\023\ufe64" +
84.958 + "\027\ufe64\030\ufe64\031\ufe64\033\ufe64\034\ufe64\035\ufe64\040" +
84.959 + "\ufe64\041\ufe64\046\ufe64\052\ufe64\054\ufe64\061\ufe64\065\ufe64" +
84.960 + "\067\ufe64\074\ufe64\075\ufe64\105\ufe64\111\ufe64\112\ufe64\144" +
84.961 + "\ufe64\150\ufe64\153\ufe64\001\002\000\074\003\ufef4\004\ufef4" +
84.962 + "\010\ufef4\016\ufef4\021\ufef4\022\ufef4\023\ufef4\027\ufef4\030" +
84.963 + "\ufef4\031\ufef4\033\ufef4\034\ufef4\035\ufef4\040\ufef4\041\ufef4" +
84.964 + "\046\ufef4\052\ufef4\054\ufef4\061\ufef4\065\ufef4\067\ufef4\074" +
84.965 + "\ufef4\075\ufef4\105\ufef4\111\ufef4\112\ufef4\144\ufef4\150\ufef4" +
84.966 + "\153\ufef4\001\002\000\074\003\ufef8\004\ufef8\010\ufef8\016" +
84.967 + "\ufef8\021\ufef8\022\ufef8\023\ufef8\027\ufef8\030\ufef8\031\ufef8" +
84.968 + "\033\ufef8\034\ufef8\035\ufef8\040\ufef8\041\ufef8\046\ufef8\052" +
84.969 + "\ufef8\054\ufef8\061\ufef8\065\ufef8\067\ufef8\074\ufef8\075\ufef8" +
84.970 + "\105\ufef8\111\ufef8\112\ufef8\144\ufef8\150\ufef8\153\ufef8\001" +
84.971 + "\002\000\074\003\ufe65\004\ufe65\010\ufe65\016\ufe65\021\ufe65" +
84.972 + "\022\ufe65\023\ufe65\027\ufe65\030\ufe65\031\ufe65\033\ufe65\034" +
84.973 + "\ufe65\035\ufe65\040\ufe65\041\ufe65\046\ufe65\052\ufe65\054\ufe65" +
84.974 + "\061\ufe65\065\ufe65\067\ufe65\074\ufe65\075\ufe65\105\ufe65\111" +
84.975 + "\ufe65\112\ufe65\144\ufe65\150\ufe65\153\ufe65\001\002\000\074" +
84.976 + "\003\ufeff\004\ufeff\010\ufeff\016\ufeff\021\ufeff\022\ufeff\023" +
84.977 + "\ufeff\027\ufeff\030\ufeff\031\ufeff\033\ufeff\034\ufeff\035\ufeff" +
84.978 + "\040\ufeff\041\ufeff\046\ufeff\052\ufeff\054\ufeff\061\ufeff\065" +
84.979 + "\ufeff\067\ufeff\074\ufeff\075\ufeff\105\ufeff\111\ufeff\112\ufeff" +
84.980 + "\144\ufeff\150\ufeff\153\ufeff\001\002\000\016\010\u0183\023" +
84.981 + "\u0185\104\u01fa\111\u01fb\150\045\153\205\001\002\000\012" +
84.982 + "\111\ufecd\130\ufecd\150\045\153\205\001\002\000\032\005" +
84.983 + "\213\050\224\051\200\052\227\117\204\122\175\124\217" +
84.984 + "\147\215\150\045\151\177\152\231\153\205\001\002\000" +
84.985 + "\074\003\ufef3\004\ufef3\010\ufef3\016\ufef3\021\ufef3\022\ufef3" +
84.986 + "\023\ufef3\027\ufef3\030\ufef3\031\ufef3\033\ufef3\034\ufef3\035" +
84.987 + "\ufef3\040\ufef3\041\ufef3\046\ufef3\052\ufef3\054\ufef3\061\ufef3" +
84.988 + "\065\ufef3\067\ufef3\074\ufef3\075\ufef3\105\ufef3\111\ufef3\112" +
84.989 + "\ufef3\144\ufef3\150\ufef3\153\ufef3\001\002\000\074\003\uff07" +
84.990 + "\004\uff07\010\uff07\016\uff07\021\uff07\022\uff07\023\uff07\027" +
84.991 + "\uff07\030\uff07\031\uff07\033\uff07\034\uff07\035\uff07\040\uff07" +
84.992 + "\041\uff07\046\uff07\052\uff07\054\uff07\061\uff07\065\uff07\067" +
84.993 + "\uff07\074\uff07\075\uff07\105\uff07\111\uff07\112\uff07\144\uff07" +
84.994 + "\150\uff07\153\uff07\001\002\000\074\003\ufef2\004\ufef2\010" +
84.995 + "\ufef2\016\ufef2\021\ufef2\022\ufef2\023\ufef2\027\ufef2\030\ufef2" +
84.996 + "\031\ufef2\033\ufef2\034\ufef2\035\ufef2\040\ufef2\041\ufef2\046" +
84.997 + "\ufef2\052\ufef2\054\ufef2\061\ufef2\065\ufef2\067\ufef2\074\ufef2" +
84.998 + "\075\ufef2\105\ufef2\111\ufef2\112\ufef2\144\ufef2\150\ufef2\153" +
84.999 + "\ufef2\001\002\000\006\026\u01dc\130\u01dd\001\002\000\034" +
84.1000 + "\005\213\050\224\051\200\052\227\117\204\122\175\124" +
84.1001 + "\217\130\u01d9\147\215\150\045\151\177\152\231\153\205" +
84.1002 + "\001\002\000\006\150\045\153\205\001\002\000\004\130" +
84.1003 + "\u01d3\001\002\000\062\003\u017e\004\u017d\010\u0183\016\ufee0" +
84.1004 + "\021\u0169\022\ufee0\023\u0185\031\ufed0\033\u01c1\034\u0176\035" +
84.1005 + "\ufee0\040\u0184\041\u0177\046\ufee0\052\u0180\061\004\065\u017c" +
84.1006 + "\067\u018f\074\u0164\075\u0175\112\ufee0\144\u0187\150\u0190\153" +
84.1007 + "\205\001\002\000\004\130\u01bf\001\002\000\074\003\ufefd" +
84.1008 + "\004\ufefd\010\ufefd\016\ufefd\021\ufefd\022\ufefd\023\ufefd\027" +
84.1009 + "\ufefd\030\ufefd\031\ufefd\033\ufefd\034\ufefd\035\ufefd\040\ufefd" +
84.1010 + "\041\ufefd\046\ufefd\052\ufefd\054\ufefd\061\ufefd\065\ufefd\067" +
84.1011 + "\ufefd\074\ufefd\075\ufefd\105\ufefd\111\ufefd\112\ufefd\144\ufefd" +
84.1012 + "\150\ufefd\153\ufefd\001\002\000\074\003\ufe62\004\ufe62\010" +
84.1013 + "\ufe62\016\ufe62\021\ufe62\022\ufe62\023\ufe62\027\ufe62\030\ufe62" +
84.1014 + "\031\ufe62\033\ufe62\034\ufe62\035\ufe62\040\ufe62\041\ufe62\046" +
84.1015 + "\ufe62\052\ufe62\054\ufe62\061\ufe62\065\ufe62\067\ufe62\074\ufe62" +
84.1016 + "\075\ufe62\105\ufe62\111\ufe62\112\ufe62\144\ufe62\150\ufe62\153" +
84.1017 + "\ufe62\001\002\000\004\150\045\001\002\000\006\150\045" +
84.1018 + "\153\205\001\002\000\034\005\213\050\224\051\200\052" +
84.1019 + "\227\107\u01b3\117\204\122\175\124\217\147\215\150\045" +
84.1020 + "\151\177\152\231\153\205\001\002\000\074\003\ufef1\004" +
84.1021 + "\ufef1\010\ufef1\016\ufef1\021\ufef1\022\ufef1\023\ufef1\027\ufef1" +
84.1022 + "\030\ufef1\031\ufef1\033\ufef1\034\ufef1\035\ufef1\040\ufef1\041" +
84.1023 + "\ufef1\046\ufef1\052\ufef1\054\ufef1\061\ufef1\065\ufef1\067\ufef1" +
84.1024 + "\074\ufef1\075\ufef1\105\ufef1\111\ufef1\112\ufef1\144\ufef1\150" +
84.1025 + "\ufef1\153\ufef1\001\002\000\004\150\u01b0\001\002\000\014" +
84.1026 + "\016\ufed4\022\u0196\035\u0198\046\ufede\112\u019b\001\002\000" +
84.1027 + "\074\003\uff00\004\uff00\010\uff00\016\uff00\021\uff00\022\uff00" +
84.1028 + "\023\uff00\027\uff00\030\uff00\031\uff00\033\uff00\034\uff00\035" +
84.1029 + "\uff00\040\uff00\041\uff00\046\uff00\052\uff00\054\uff00\061\uff00" +
84.1030 + "\065\uff00\067\uff00\074\uff00\075\uff00\105\uff00\111\uff00\112" +
84.1031 + "\uff00\144\uff00\150\uff00\153\uff00\001\002\000\056\003\u017e" +
84.1032 + "\004\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\034" +
84.1033 + "\u0176\035\ufee0\040\u0184\041\u0177\046\ufee0\052\u0180\061\004" +
84.1034 + "\065\u017c\067\u018f\074\u0164\075\u0175\112\ufee0\144\u0187\150" +
84.1035 + "\u0190\153\205\001\002\000\074\003\ufefa\004\ufefa\010\ufefa" +
84.1036 + "\016\ufefa\021\ufefa\022\ufefa\023\ufefa\027\ufefa\030\ufefa\031" +
84.1037 + "\ufefa\033\ufefa\034\ufefa\035\ufefa\040\ufefa\041\ufefa\046\ufefa" +
84.1038 + "\052\ufefa\054\ufefa\061\ufefa\065\ufefa\067\ufefa\074\ufefa\075" +
84.1039 + "\ufefa\105\ufefa\111\ufefa\112\ufefa\144\ufefa\150\ufefa\153\ufefa" +
84.1040 + "\001\002\000\074\003\ufef9\004\ufef9\010\ufef9\016\ufef9\021" +
84.1041 + "\ufef9\022\ufef9\023\ufef9\027\ufef9\030\ufef9\031\ufef9\033\ufef9" +
84.1042 + "\034\ufef9\035\ufef9\040\ufef9\041\ufef9\046\ufef9\052\ufef9\054" +
84.1043 + "\ufef9\061\ufef9\065\ufef9\067\ufef9\074\ufef9\075\ufef9\105\ufef9" +
84.1044 + "\111\ufef9\112\ufef9\144\ufef9\150\ufef9\153\ufef9\001\002\000" +
84.1045 + "\074\003\uff05\004\uff05\010\uff05\016\uff05\021\uff05\022\uff05" +
84.1046 + "\023\uff05\027\uff05\030\uff05\031\uff05\033\uff05\034\uff05\035" +
84.1047 + "\uff05\040\uff05\041\uff05\046\uff05\052\uff05\054\uff05\061\uff05" +
84.1048 + "\065\uff05\067\uff05\074\uff05\075\uff05\105\uff05\111\uff05\112" +
84.1049 + "\uff05\144\uff05\150\uff05\153\uff05\001\002\000\074\003\uff01" +
84.1050 + "\004\uff01\010\uff01\016\uff01\021\uff01\022\uff01\023\uff01\027" +
84.1051 + "\uff01\030\uff01\031\uff01\033\uff01\034\uff01\035\uff01\040\uff01" +
84.1052 + "\041\uff01\046\uff01\052\uff01\054\uff01\061\uff01\065\uff01\067" +
84.1053 + "\uff01\074\uff01\075\uff01\105\uff01\111\uff01\112\uff01\144\uff01" +
84.1054 + "\150\uff01\153\uff01\001\002\000\010\130\ufecd\150\045\153" +
84.1055 + "\205\001\002\000\016\116\uff59\117\uff59\125\uff59\127\u0191" +
84.1056 + "\130\uff59\140\uff59\001\002\000\014\016\ufedf\022\ufedf\035" +
84.1057 + "\ufedf\046\ufedf\112\ufedf\001\002\000\014\111\ufecc\116\u0122" +
84.1058 + "\117\233\125\235\130\ufecc\001\002\000\004\130\u0194\001" +
84.1059 + "\002\000\074\003\ufe2c\004\ufe2c\010\ufe2c\016\ufe2c\021\ufe2c" +
84.1060 + "\022\ufe2c\023\ufe2c\027\ufe2c\030\ufe2c\031\ufe2c\033\ufe2c\034" +
84.1061 + "\ufe2c\035\ufe2c\040\ufe2c\041\ufe2c\046\ufe2c\052\ufe2c\054\ufe2c" +
84.1062 + "\061\ufe2c\065\ufe2c\067\ufe2c\074\ufe2c\075\ufe2c\105\ufe2c\111" +
84.1063 + "\ufe2c\112\ufe2c\144\ufe2c\150\ufe2c\153\ufe2c\001\002\000\074" +
84.1064 + "\003\uff04\004\uff04\010\uff04\016\uff04\021\uff04\022\uff04\023" +
84.1065 + "\uff04\027\uff04\030\uff04\031\uff04\033\uff04\034\uff04\035\uff04" +
84.1066 + "\040\uff04\041\uff04\046\uff04\052\uff04\054\uff04\061\uff04\065" +
84.1067 + "\uff04\067\uff04\074\uff04\075\uff04\105\uff04\111\uff04\112\uff04" +
84.1068 + "\144\uff04\150\uff04\153\uff04\001\002\000\036\003\105\016" +
84.1069 + "\uff7b\035\070\036\027\037\030\060\121\061\004\063\021" +
84.1070 + "\064\117\101\076\103\060\106\074\110\015\150\126\001" +
84.1071 + "\002\000\004\016\u015c\001\002\000\004\150\u01a9\001\002" +
84.1072 + "\000\034\005\ufeda\050\ufeda\051\ufeda\052\ufeda\066\u01a7\117" +
84.1073 + "\ufeda\122\ufeda\124\ufeda\147\ufeda\150\ufeda\151\ufeda\152\ufeda" +
84.1074 + "\153\ufeda\001\002\000\004\046\u019f\001\002\000\032\005" +
84.1075 + "\213\050\224\051\200\052\227\117\204\122\175\124\217" +
84.1076 + "\147\215\150\045\151\177\152\231\153\205\001\002\000" +
84.1077 + "\022\013\321\044\ufee8\046\ufee8\054\324\105\ufee8\114\322" +
84.1078 + "\130\ufee8\135\ufee8\001\002\000\004\046\ufedd\001\002\000" +
84.1079 + "\010\130\ufed7\150\045\153\205\001\002\000\056\003\u017e" +
84.1080 + "\004\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\034" +
84.1081 + "\u0176\035\ufee0\040\u0184\041\u0177\046\ufee0\052\u0180\061\004" +
84.1082 + "\065\u017c\067\u018f\074\u0164\075\u0175\112\ufee0\144\u0187\150" +
84.1083 + "\u0190\153\205\001\002\000\060\003\u017e\004\u017d\010\u0183" +
84.1084 + "\016\ufee0\021\u0169\022\ufee0\023\u0185\031\u01a2\034\u0176\035" +
84.1085 + "\ufee0\040\u0184\041\u0177\046\ufee0\052\u0180\061\004\065\u017c" +
84.1086 + "\067\u018f\074\u0164\075\u0175\112\ufee0\144\u0187\150\u0190\153" +
84.1087 + "\205\001\002\000\074\003\uff06\004\uff06\010\uff06\016\uff06" +
84.1088 + "\021\uff06\022\uff06\023\uff06\027\uff06\030\uff06\031\uff06\033" +
84.1089 + "\uff06\034\uff06\035\uff06\040\uff06\041\uff06\046\uff06\052\uff06" +
84.1090 + "\054\uff06\061\uff06\065\uff06\067\uff06\074\uff06\075\uff06\105" +
84.1091 + "\uff06\111\uff06\112\uff06\144\uff06\150\uff06\153\uff06\001\002" +
84.1092 + "\000\004\046\u01a3\001\002\000\010\130\ufed8\150\ufed8\153" +
84.1093 + "\ufed8\001\002\000\004\130\u01a5\001\002\000\074\003\ufee1" +
84.1094 + "\004\ufee1\010\ufee1\016\ufee1\021\ufee1\022\ufee1\023\ufee1\027" +
84.1095 + "\ufee1\030\ufee1\031\ufee1\033\ufee1\034\ufee1\035\ufee1\040\ufee1" +
84.1096 + "\041\ufee1\046\ufee1\052\ufee1\054\ufee1\061\ufee1\065\ufee1\067" +
84.1097 + "\ufee1\074\ufee1\075\ufee1\105\ufee1\111\ufee1\112\ufee1\144\ufee1" +
84.1098 + "\150\ufee1\153\ufee1\001\002\000\032\005\213\050\224\051" +
84.1099 + "\200\052\227\117\204\122\175\124\217\147\215\150\045" +
84.1100 + "\151\177\152\231\153\205\001\002\000\032\005\ufed9\050" +
84.1101 + "\ufed9\051\ufed9\052\ufed9\117\ufed9\122\ufed9\124\ufed9\147\ufed9" +
84.1102 + "\150\ufed9\151\ufed9\152\ufed9\153\ufed9\001\002\000\004\046" +
84.1103 + "\ufedc\001\002\000\004\042\u01aa\001\002\000\034\005\ufedb" +
84.1104 + "\050\ufedb\051\ufedb\052\ufedb\066\ufedb\117\ufedb\122\ufedb\124" +
84.1105 + "\ufedb\147\ufedb\150\ufedb\151\ufedb\152\ufedb\153\ufedb\001\002" +
84.1106 + "\000\004\031\u01ac\001\002\000\010\130\ufed7\150\045\153" +
84.1107 + "\205\001\002\000\004\130\u01ae\001\002\000\074\003\ufed5" +
84.1108 + "\004\ufed5\010\ufed5\016\ufed5\021\ufed5\022\ufed5\023\ufed5\027" +
84.1109 + "\ufed5\030\ufed5\031\ufed5\033\ufed5\034\ufed5\035\ufed5\040\ufed5" +
84.1110 + "\041\ufed5\046\ufed5\052\ufed5\054\ufed5\061\ufed5\065\ufed5\067" +
84.1111 + "\ufed5\074\ufed5\075\ufed5\105\ufed5\111\ufed5\112\ufed5\144\ufed5" +
84.1112 + "\150\ufed5\153\ufed5\001\002\000\004\016\ufed3\001\002\000" +
84.1113 + "\004\145\u01b1\001\002\000\056\003\ufeee\004\ufeee\010\ufeee" +
84.1114 + "\016\ufeee\021\ufeee\022\ufeee\023\ufeee\034\ufeee\035\ufeee\040" +
84.1115 + "\ufeee\041\ufeee\046\ufeee\052\ufeee\061\ufeee\065\ufeee\067\ufeee" +
84.1116 + "\074\ufeee\075\ufeee\112\ufeee\144\ufeee\150\ufeee\153\ufeee\001" +
84.1117 + "\002\000\012\013\321\054\324\114\322\130\u01b6\001\002" +
84.1118 + "\000\032\005\213\050\224\051\200\052\227\117\204\122" +
84.1119 + "\175\124\217\147\215\150\045\151\177\152\231\153\205" +
84.1120 + "\001\002\000\012\013\321\054\324\114\322\130\u01b5\001" +
84.1121 + "\002\000\074\003\ufe66\004\ufe66\010\ufe66\016\ufe66\021\ufe66" +
84.1122 + "\022\ufe66\023\ufe66\027\ufe66\030\ufe66\031\ufe66\033\ufe66\034" +
84.1123 + "\ufe66\035\ufe66\040\ufe66\041\ufe66\046\ufe66\052\ufe66\054\ufe66" +
84.1124 + "\061\ufe66\065\ufe66\067\ufe66\074\ufe66\075\ufe66\105\ufe66\111" +
84.1125 + "\ufe66\112\ufe66\144\ufe66\150\ufe66\153\ufe66\001\002\000\074" +
84.1126 + "\003\ufe67\004\ufe67\010\ufe67\016\ufe67\021\ufe67\022\ufe67\023" +
84.1127 + "\ufe67\027\ufe67\030\ufe67\031\ufe67\033\ufe67\034\ufe67\035\ufe67" +
84.1128 + "\040\ufe67\041\ufe67\046\ufe67\052\ufe67\054\ufe67\061\ufe67\065" +
84.1129 + "\ufe67\067\ufe67\074\ufe67\075\ufe67\105\ufe67\111\ufe67\112\ufe67" +
84.1130 + "\144\ufe67\150\ufe67\153\ufe67\001\002\000\012\116\u0122\117" +
84.1131 + "\233\125\235\130\u01b8\001\002\000\074\003\ufec7\004\ufec7" +
84.1132 + "\010\ufec7\016\ufec7\021\ufec7\022\ufec7\023\ufec7\027\ufec7\030" +
84.1133 + "\ufec7\031\ufec7\033\ufec7\034\ufec7\035\ufec7\040\ufec7\041\ufec7" +
84.1134 + "\046\ufec7\052\ufec7\054\ufec7\061\ufec7\065\ufec7\067\ufec7\074" +
84.1135 + "\ufec7\075\ufec7\105\ufec7\111\ufec7\112\ufec7\144\ufec7\150\ufec7" +
84.1136 + "\153\ufec7\001\002\000\010\026\ufebe\117\u01bc\130\ufebe\001" +
84.1137 + "\002\000\010\026\ufe69\117\ufe69\130\ufe69\001\002\000\006" +
84.1138 + "\026\ufe6a\130\ufe6a\001\002\000\034\003\u012f\005\213\050" +
84.1139 + "\224\051\200\052\227\117\204\122\175\124\217\147\215" +
84.1140 + "\150\u0131\151\177\152\231\153\205\001\002\000\012\013" +
84.1141 + "\321\054\324\114\322\120\u01be\001\002\000\010\026\ufe68" +
84.1142 + "\117\ufe68\130\ufe68\001\002\000\074\003\ufeed\004\ufeed\010" +
84.1143 + "\ufeed\016\ufeed\021\ufeed\022\ufeed\023\ufeed\027\ufeed\030\ufeed" +
84.1144 + "\031\ufeed\033\ufeed\034\ufeed\035\ufeed\040\ufeed\041\ufeed\046" +
84.1145 + "\ufeed\052\ufeed\054\ufeed\061\ufeed\065\ufeed\067\ufeed\074\ufeed" +
84.1146 + "\075\ufeed\105\ufeed\111\ufeed\112\ufeed\144\ufeed\150\ufeed\153" +
84.1147 + "\ufeed\001\002\000\006\031\ufecf\111\u01c3\001\002\000\004" +
84.1148 + "\111\u01c3\001\002\000\004\031\ufed1\001\002\000\010\055" +
84.1149 + "\u01c5\150\u01c7\153\205\001\002\000\006\031\ufe34\111\ufe34" +
84.1150 + "\001\002\000\006\134\ufe2d\135\ufe2d\001\002\000\014\116" +
84.1151 + "\u0122\117\233\125\235\134\ufe2e\135\ufe2e\001\002\000\016" +
84.1152 + "\116\uff59\117\uff59\125\uff59\127\u01ce\134\uff59\135\uff59\001" +
84.1153 + "\002\000\006\134\u01ca\135\u01cb\001\002\000\006\134\ufe30" +
84.1154 + "\135\ufe30\001\002\000\010\055\u01c5\150\045\153\205\001" +
84.1155 + "\002\000\056\003\u017e\004\u017d\010\u0183\016\ufee0\021\u0169" +
84.1156 + "\022\ufee0\023\u0185\034\u0176\035\ufee0\040\u0184\041\u0177\046" +
84.1157 + "\ufee0\052\u0180\061\004\065\u017c\067\u018f\074\u0164\075\u0175" +
84.1158 + "\112\ufee0\144\u0187\150\u0190\153\205\001\002\000\062\003" +
84.1159 + "\u017e\004\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185" +
84.1160 + "\031\ufe32\034\u0176\035\ufee0\040\u0184\041\u0177\046\ufee0\052" +
84.1161 + "\u0180\061\004\065\u017c\067\u018f\074\u0164\075\u0175\111\ufe32" +
84.1162 + "\112\ufee0\144\u0187\150\u0190\153\205\001\002\000\006\134" +
84.1163 + "\ufe2f\135\ufe2f\001\002\000\010\055\u01c5\150\045\153\205" +
84.1164 + "\001\002\000\006\134\u01ca\135\u01d0\001\002\000\056\003" +
84.1165 + "\u017e\004\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185" +
84.1166 + "\034\u0176\035\ufee0\040\u0184\041\u0177\046\ufee0\052\u0180\061" +
84.1167 + "\004\065\u017c\067\u018f\074\u0164\075\u0175\112\ufee0\144\u0187" +
84.1168 + "\150\u0190\153\205\001\002\000\062\003\u017e\004\u017d\010" +
84.1169 + "\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\031\ufe31\034\u0176" +
84.1170 + "\035\ufee0\040\u0184\041\u0177\046\ufee0\052\u0180\061\004\065" +
84.1171 + "\u017c\067\u018f\074\u0164\075\u0175\111\ufe31\112\ufee0\144\u0187" +
84.1172 + "\150\u0190\153\205\001\002\000\006\031\ufe33\111\ufe33\001" +
84.1173 + "\002\000\074\003\ufef5\004\ufef5\010\ufef5\016\ufef5\021\ufef5" +
84.1174 + "\022\ufef5\023\ufef5\027\ufef5\030\ufef5\031\ufef5\033\ufef5\034" +
84.1175 + "\ufef5\035\ufef5\040\ufef5\041\ufef5\046\ufef5\052\ufef5\054\ufef5" +
84.1176 + "\061\ufef5\065\ufef5\067\ufef5\074\ufef5\075\ufef5\105\ufef5\111" +
84.1177 + "\ufef5\112\ufef5\144\ufef5\150\ufef5\153\ufef5\001\002\000\014" +
84.1178 + "\116\u0122\117\233\123\ufe51\125\235\130\ufe51\001\002\000" +
84.1179 + "\006\123\u01d6\130\u01d7\001\002\000\006\150\045\153\205" +
84.1180 + "\001\002\000\074\003\ufe52\004\ufe52\010\ufe52\016\ufe52\021" +
84.1181 + "\ufe52\022\ufe52\023\ufe52\027\ufe52\030\ufe52\031\ufe52\033\ufe52" +
84.1182 + "\034\ufe52\035\ufe52\040\ufe52\041\ufe52\046\ufe52\052\ufe52\054" +
84.1183 + "\ufe52\061\ufe52\065\ufe52\067\ufe52\074\ufe52\075\ufe52\105\ufe52" +
84.1184 + "\111\ufe52\112\ufe52\144\ufe52\150\ufe52\153\ufe52\001\002\000" +
84.1185 + "\014\116\u0122\117\233\123\ufe50\125\235\130\ufe50\001\002" +
84.1186 + "\000\074\003\ufec9\004\ufec9\010\ufec9\016\ufec9\021\ufec9\022" +
84.1187 + "\ufec9\023\ufec9\027\ufec9\030\ufec9\031\ufec9\033\ufec9\034\ufec9" +
84.1188 + "\035\ufec9\040\ufec9\041\ufec9\046\ufec9\052\ufec9\054\ufec9\061" +
84.1189 + "\ufec9\065\ufec9\067\ufec9\074\ufec9\075\ufec9\105\ufec9\111\ufec9" +
84.1190 + "\112\ufec9\144\ufec9\150\ufec9\153\ufec9\001\002\000\012\013" +
84.1191 + "\321\054\324\114\322\130\u01db\001\002\000\074\003\ufec8" +
84.1192 + "\004\ufec8\010\ufec8\016\ufec8\021\ufec8\022\ufec8\023\ufec8\027" +
84.1193 + "\ufec8\030\ufec8\031\ufec8\033\ufec8\034\ufec8\035\ufec8\040\ufec8" +
84.1194 + "\041\ufec8\046\ufec8\052\ufec8\054\ufec8\061\ufec8\065\ufec8\067" +
84.1195 + "\ufec8\074\ufec8\075\ufec8\105\ufec8\111\ufec8\112\ufec8\144\ufec8" +
84.1196 + "\150\ufec8\153\ufec8\001\002\000\056\003\u017e\004\u017d\010" +
84.1197 + "\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\034\u0176\035\ufee0" +
84.1198 + "\040\u0184\041\u0177\046\ufee0\052\u0180\061\004\065\u017c\067" +
84.1199 + "\u018f\074\u0164\075\u0175\112\ufee0\144\u0187\150\u0190\153\205" +
84.1200 + "\001\002\000\074\003\ufe6c\004\ufe6c\010\ufe6c\016\ufe6c\021" +
84.1201 + "\ufe6c\022\ufe6c\023\ufe6c\027\ufe6c\030\ufe6c\031\ufe6c\033\ufe6c" +
84.1202 + "\034\ufe6c\035\ufe6c\040\ufe6c\041\ufe6c\046\ufe6c\052\ufe6c\054" +
84.1203 + "\ufe6c\061\ufe6c\065\ufe6c\067\ufe6c\074\ufe6c\075\ufe6c\105\ufe6c" +
84.1204 + "\111\ufe6c\112\ufe6c\144\ufe6c\150\ufe6c\153\ufe6c\001\002\000" +
84.1205 + "\004\031\u01df\001\002\000\010\130\ufed7\150\045\153\205" +
84.1206 + "\001\002\000\004\130\u01e1\001\002\000\074\003\ufe6b\004" +
84.1207 + "\ufe6b\010\ufe6b\016\ufe6b\021\ufe6b\022\ufe6b\023\ufe6b\027\ufe6b" +
84.1208 + "\030\ufe6b\031\ufe6b\033\ufe6b\034\ufe6b\035\ufe6b\040\ufe6b\041" +
84.1209 + "\ufe6b\046\ufe6b\052\ufe6b\054\ufe6b\061\ufe6b\065\ufe6b\067\ufe6b" +
84.1210 + "\074\ufe6b\075\ufe6b\105\ufe6b\111\ufe6b\112\ufe6b\144\ufe6b\150" +
84.1211 + "\ufe6b\153\ufe6b\001\002\000\010\027\u01e6\030\u01e7\031\ufee7" +
84.1212 + "\001\002\000\004\105\u01e4\001\002\000\056\003\u017e\004" +
84.1213 + "\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\034\u0176" +
84.1214 + "\035\ufee0\040\u0184\041\u0177\046\ufee0\052\u0180\061\004\065" +
84.1215 + "\u017c\067\u018f\074\u0164\075\u0175\112\ufee0\144\u0187\150\u0190" +
84.1216 + "\153\205\001\002\000\064\003\u017e\004\u017d\010\u0183\016" +
84.1217 + "\ufee0\021\u0169\022\ufee0\023\u0185\027\ufeea\030\ufeea\031\ufeea" +
84.1218 + "\034\u0176\035\ufee0\040\u0184\041\u0177\046\ufee0\052\u0180\061" +
84.1219 + "\004\065\u017c\067\u018f\074\u0164\075\u0175\112\ufee0\144\u0187" +
84.1220 + "\150\u0190\153\205\001\002\000\056\003\u017e\004\u017d\010" +
84.1221 + "\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\034\u0176\035\ufee0" +
84.1222 + "\040\u0184\041\u0177\046\ufee0\052\u0180\061\004\065\u017c\067" +
84.1223 + "\u018f\074\u0164\075\u0175\112\ufee0\144\u0187\150\u0190\153\205" +
84.1224 + "\001\002\000\032\005\213\050\224\051\200\052\227\117" +
84.1225 + "\204\122\175\124\217\147\215\150\045\151\177\152\231" +
84.1226 + "\153\205\001\002\000\004\031\u01e9\001\002\000\004\041" +
84.1227 + "\u01ea\001\002\000\004\130\u01eb\001\002\000\074\003\ufeeb" +
84.1228 + "\004\ufeeb\010\ufeeb\016\ufeeb\021\ufeeb\022\ufeeb\023\ufeeb\027" +
84.1229 + "\ufeeb\030\ufeeb\031\ufeeb\033\ufeeb\034\ufeeb\035\ufeeb\040\ufeeb" +
84.1230 + "\041\ufeeb\046\ufeeb\052\ufeeb\054\ufeeb\061\ufeeb\065\ufeeb\067" +
84.1231 + "\ufeeb\074\ufeeb\075\ufeeb\105\ufeeb\111\ufeeb\112\ufeeb\144\ufeeb" +
84.1232 + "\150\ufeeb\153\ufeeb\001\002\000\004\105\u01ed\001\002\000" +
84.1233 + "\056\003\u017e\004\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0" +
84.1234 + "\023\u0185\034\u0176\035\ufee0\040\u0184\041\u0177\046\ufee0\052" +
84.1235 + "\u0180\061\004\065\u017c\067\u018f\074\u0164\075\u0175\112\ufee0" +
84.1236 + "\144\u0187\150\u0190\153\205\001\002\000\064\003\u017e\004" +
84.1237 + "\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\027\ufee9" +
84.1238 + "\030\ufee9\031\ufee9\034\u0176\035\ufee0\040\u0184\041\u0177\046" +
84.1239 + "\ufee0\052\u0180\061\004\065\u017c\067\u018f\074\u0164\075\u0175" +
84.1240 + "\112\ufee0\144\u0187\150\u0190\153\205\001\002\000\060\003" +
84.1241 + "\u017e\004\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185" +
84.1242 + "\031\ufee6\034\u0176\035\ufee0\040\u0184\041\u0177\046\ufee0\052" +
84.1243 + "\u0180\061\004\065\u017c\067\u018f\074\u0164\075\u0175\112\ufee0" +
84.1244 + "\144\u0187\150\u0190\153\205\001\002\000\006\111\u01f2\130" +
84.1245 + "\ufecb\001\002\000\004\130\u01f4\001\002\000\032\005\213" +
84.1246 + "\050\224\051\200\052\227\117\204\122\175\124\217\147" +
84.1247 + "\215\150\045\151\177\152\231\153\205\001\002\000\004" +
84.1248 + "\130\ufeca\001\002\000\074\003\ufece\004\ufece\010\ufece\016" +
84.1249 + "\ufece\021\ufece\022\ufece\023\ufece\027\ufece\030\ufece\031\ufece" +
84.1250 + "\033\ufece\034\ufece\035\ufece\040\ufece\041\ufece\046\ufece\052" +
84.1251 + "\ufece\054\ufece\061\ufece\065\ufece\067\ufece\074\ufece\075\ufece" +
84.1252 + "\105\ufece\111\ufece\112\ufece\144\ufece\150\ufece\153\ufece\001" +
84.1253 + "\002\000\066\003\u017e\004\u017d\010\u0183\016\ufee0\021\u0169" +
84.1254 + "\022\ufee0\023\u0185\027\ufe54\031\ufe54\034\u0176\035\ufee0\040" +
84.1255 + "\u0184\041\u0177\046\ufee0\052\u0180\054\ufe54\061\004\065\u017c" +
84.1256 + "\067\u018f\074\u0164\075\u0175\105\ufe54\112\ufee0\144\u0187\150" +
84.1257 + "\u0190\153\205\001\002\000\064\003\u017e\004\u017d\010\u0183" +
84.1258 + "\016\ufee0\021\u0169\022\ufee0\023\u0185\027\ufe54\034\u0176\035" +
84.1259 + "\ufee0\040\u0184\041\u0177\046\ufee0\052\u0180\054\ufe54\061\004" +
84.1260 + "\065\u017c\067\u018f\074\u0164\075\u0175\105\ufe54\112\ufee0\144" +
84.1261 + "\u0187\150\u0190\153\205\001\002\000\010\027\ufe60\031\ufe60" +
84.1262 + "\054\ufe60\001\002\000\004\105\u020f\001\002\000\064\003" +
84.1263 + "\ufe6d\004\ufe6d\010\ufe6d\016\ufe6d\021\ufe6d\022\ufe6d\023\ufe6d" +
84.1264 + "\027\ufe6d\034\ufe6d\035\ufe6d\040\ufe6d\041\ufe6d\046\ufe6d\052" +
84.1265 + "\ufe6d\054\ufe6d\061\ufe6d\065\ufe6d\067\ufe6d\074\ufe6d\075\ufe6d" +
84.1266 + "\105\ufe6d\112\ufe6d\144\ufe6d\150\ufe6d\153\ufe6d\001\002\000" +
84.1267 + "\004\130\u020e\001\002\000\032\005\213\050\224\051\200" +
84.1268 + "\052\227\117\204\122\175\124\217\147\215\150\045\151" +
84.1269 + "\177\152\231\153\205\001\002\000\064\003\u017e\004\u017d" +
84.1270 + "\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\027\ufe54\031" +
84.1271 + "\ufe54\034\u0176\035\ufee0\040\u0184\041\u0177\046\ufee0\052\u0180" +
84.1272 + "\054\ufe54\061\004\065\u017c\067\u018f\074\u0164\075\u0175\112" +
84.1273 + "\ufee0\144\u0187\150\u0190\153\205\001\002\000\010\027\ufe5e" +
84.1274 + "\031\ufe5e\054\ufe5e\001\002\000\012\116\u0122\117\233\125" +
84.1275 + "\235\130\u01ff\001\002\000\074\003\ufeb0\004\ufeb0\010\ufeb0" +
84.1276 + "\016\ufeb0\021\ufeb0\022\ufeb0\023\ufeb0\027\ufeb0\030\ufeb0\031" +
84.1277 + "\ufeb0\033\ufeb0\034\ufeb0\035\ufeb0\040\ufeb0\041\ufeb0\046\ufeb0" +
84.1278 + "\052\ufeb0\054\ufeb0\061\ufeb0\065\ufeb0\067\ufeb0\074\ufeb0\075" +
84.1279 + "\ufeb0\105\ufeb0\111\ufeb0\112\ufeb0\144\ufeb0\150\ufeb0\153\ufeb0" +
84.1280 + "\001\002\000\010\027\u01e6\031\ufee7\054\u0202\001\002\000" +
84.1281 + "\004\031\u0207\001\002\000\012\010\u0183\023\u0185\104\u01fa" +
84.1282 + "\111\u01fb\001\002\000\064\003\u017e\004\u017d\010\u0183\016" +
84.1283 + "\ufee0\021\u0169\022\ufee0\023\u0185\027\ufe54\031\ufe54\034\u0176" +
84.1284 + "\035\ufee0\040\u0184\041\u0177\046\ufee0\052\u0180\054\ufe54\061" +
84.1285 + "\004\065\u017c\067\u018f\074\u0164\075\u0175\112\ufee0\144\u0187" +
84.1286 + "\150\u0190\153\205\001\002\000\010\027\ufe5d\031\ufe5d\054" +
84.1287 + "\ufe5d\001\002\000\010\027\ufe5b\031\ufe5b\054\ufe5b\001\002" +
84.1288 + "\000\066\003\u017e\004\u017d\010\u0183\016\ufee0\021\u0169\022" +
84.1289 + "\ufee0\023\u0185\027\ufe53\031\ufe53\034\u0176\035\ufee0\040\u0184" +
84.1290 + "\041\u0177\046\ufee0\052\u0180\054\ufe53\061\004\065\u017c\067" +
84.1291 + "\u018f\074\u0164\075\u0175\105\ufe53\112\ufee0\144\u0187\150\u0190" +
84.1292 + "\153\205\001\002\000\004\075\u0208\001\002\000\004\130" +
84.1293 + "\u0209\001\002\000\074\003\ufe61\004\ufe61\010\ufe61\016\ufe61" +
84.1294 + "\021\ufe61\022\ufe61\023\ufe61\027\ufe61\030\ufe61\031\ufe61\033" +
84.1295 + "\ufe61\034\ufe61\035\ufe61\040\ufe61\041\ufe61\046\ufe61\052\ufe61" +
84.1296 + "\054\ufe61\061\ufe61\065\ufe61\067\ufe61\074\ufe61\075\ufe61\105" +
84.1297 + "\ufe61\111\ufe61\112\ufe61\144\ufe61\150\ufe61\153\ufe61\001\002" +
84.1298 + "\000\010\027\ufe5c\031\ufe5c\054\ufe5c\001\002\000\004\135" +
84.1299 + "\u020c\001\002\000\010\010\u0183\023\u0185\104\u01fa\001\002" +
84.1300 + "\000\010\027\ufe5f\031\ufe5f\054\ufe5f\001\002\000\010\027" +
84.1301 + "\ufe5a\031\ufe5a\054\ufe5a\001\002\000\004\004\u0210\001\002" +
84.1302 + "\000\056\003\u017e\004\u017d\010\u0183\016\ufee0\021\u0169\022" +
84.1303 + "\ufee0\023\u0185\034\u0176\035\ufee0\040\u0184\041\u0177\046\ufee0" +
84.1304 + "\052\u0180\061\004\065\u017c\067\u018f\074\u0164\075\u0175\112" +
84.1305 + "\ufee0\144\u0187\150\u0190\153\205\001\002\000\060\003\u017e" +
84.1306 + "\004\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\031" +
84.1307 + "\u0212\034\u0176\035\ufee0\040\u0184\041\u0177\046\ufee0\052\u0180" +
84.1308 + "\061\004\065\u017c\067\u018f\074\u0164\075\u0175\112\ufee0\144" +
84.1309 + "\u0187\150\u0190\153\205\001\002\000\004\075\u0213\001\002" +
84.1310 + "\000\004\130\u0214\001\002\000\074\003\ufe57\004\ufe57\010" +
84.1311 + "\ufe57\016\ufe57\021\ufe57\022\ufe57\023\ufe57\027\ufe57\030\ufe57" +
84.1312 + "\031\ufe57\033\ufe57\034\ufe57\035\ufe57\040\ufe57\041\ufe57\046" +
84.1313 + "\ufe57\052\ufe57\054\ufe57\061\ufe57\065\ufe57\067\ufe57\074\ufe57" +
84.1314 + "\075\ufe57\105\ufe57\111\ufe57\112\ufe57\144\ufe57\150\ufe57\153" +
84.1315 + "\ufe57\001\002\000\010\027\u0216\054\u0217\105\ufe58\001\002" +
84.1316 + "\000\056\003\u017e\004\u017d\010\u0183\016\ufee0\021\u0169\022" +
84.1317 + "\ufee0\023\u0185\034\u0176\035\ufee0\040\u0184\041\u0177\046\ufee0" +
84.1318 + "\052\u0180\061\004\065\u017c\067\u018f\074\u0164\075\u0175\112" +
84.1319 + "\ufee0\144\u0187\150\u0190\153\205\001\002\000\004\023\u0185" +
84.1320 + "\001\002\000\060\003\u017e\004\u017d\010\u0183\016\ufee0\021" +
84.1321 + "\u0169\022\ufee0\023\u0185\031\ufe54\034\u0176\035\ufee0\040\u0184" +
84.1322 + "\041\u0177\046\ufee0\052\u0180\061\004\065\u017c\067\u018f\074" +
84.1323 + "\u0164\075\u0175\112\ufee0\144\u0187\150\u0190\153\205\001\002" +
84.1324 + "\000\004\031\u021a\001\002\000\004\075\u021b\001\002\000" +
84.1325 + "\004\130\u021c\001\002\000\074\003\ufe56\004\ufe56\010\ufe56" +
84.1326 + "\016\ufe56\021\ufe56\022\ufe56\023\ufe56\027\ufe56\030\ufe56\031" +
84.1327 + "\ufe56\033\ufe56\034\ufe56\035\ufe56\040\ufe56\041\ufe56\046\ufe56" +
84.1328 + "\052\ufe56\054\ufe56\061\ufe56\065\ufe56\067\ufe56\074\ufe56\075" +
84.1329 + "\ufe56\105\ufe56\111\ufe56\112\ufe56\144\ufe56\150\ufe56\153\ufe56" +
84.1330 + "\001\002\000\060\003\u017e\004\u017d\010\u0183\016\ufee0\021" +
84.1331 + "\u0169\022\ufee0\023\u0185\031\u021e\034\u0176\035\ufee0\040\u0184" +
84.1332 + "\041\u0177\046\ufee0\052\u0180\061\004\065\u017c\067\u018f\074" +
84.1333 + "\u0164\075\u0175\112\ufee0\144\u0187\150\u0190\153\205\001\002" +
84.1334 + "\000\004\075\u021f\001\002\000\004\130\u0220\001\002\000" +
84.1335 + "\074\003\ufe55\004\ufe55\010\ufe55\016\ufe55\021\ufe55\022\ufe55" +
84.1336 + "\023\ufe55\027\ufe55\030\ufe55\031\ufe55\033\ufe55\034\ufe55\035" +
84.1337 + "\ufe55\040\ufe55\041\ufe55\046\ufe55\052\ufe55\054\ufe55\061\ufe55" +
84.1338 + "\065\ufe55\067\ufe55\074\ufe55\075\ufe55\105\ufe55\111\ufe55\112" +
84.1339 + "\ufe55\144\ufe55\150\ufe55\153\ufe55\001\002\000\012\027\ufe5b" +
84.1340 + "\031\ufe5b\054\ufe5b\105\ufe59\001\002\000\032\005\213\050" +
84.1341 + "\224\051\200\052\227\117\204\122\175\124\217\147\215" +
84.1342 + "\150\045\151\177\152\231\153\205\001\002\000\012\013" +
84.1343 + "\321\054\324\114\322\130\u0224\001\002\000\074\003\ufeec" +
84.1344 + "\004\ufeec\010\ufeec\016\ufeec\021\ufeec\022\ufeec\023\ufeec\027" +
84.1345 + "\ufeec\030\ufeec\031\ufeec\033\ufeec\034\ufeec\035\ufeec\040\ufeec" +
84.1346 + "\041\ufeec\046\ufeec\052\ufeec\054\ufeec\061\ufeec\065\ufeec\067" +
84.1347 + "\ufeec\074\ufeec\075\ufeec\105\ufeec\111\ufeec\112\ufeec\144\ufeec" +
84.1348 + "\150\ufeec\153\ufeec\001\002\000\012\013\321\044\u0226\054" +
84.1349 + "\324\114\322\001\002\000\010\031\ufffa\061\ufffa\111\ufffa" +
84.1350 + "\001\002\000\010\031\ufee4\061\004\111\ufee4\001\002\000" +
84.1351 + "\006\031\u022b\111\u022a\001\002\000\006\031\ufee3\111\ufee3" +
84.1352 + "\001\002\000\034\005\213\050\224\051\200\052\227\055" +
84.1353 + "\253\117\204\122\175\124\217\147\215\150\045\151\177" +
84.1354 + "\152\231\153\205\001\002\000\004\021\u022c\001\002\000" +
84.1355 + "\004\130\u022d\001\002\000\074\003\ufee5\004\ufee5\010\ufee5" +
84.1356 + "\016\ufee5\021\ufee5\022\ufee5\023\ufee5\027\ufee5\030\ufee5\031" +
84.1357 + "\ufee5\033\ufee5\034\ufee5\035\ufee5\040\ufee5\041\ufee5\046\ufee5" +
84.1358 + "\052\ufee5\054\ufee5\061\ufee5\065\ufee5\067\ufee5\074\ufee5\075" +
84.1359 + "\ufee5\105\ufee5\111\ufee5\112\ufee5\144\ufee5\150\ufee5\153\ufee5" +
84.1360 + "\001\002\000\006\134\341\135\u022f\001\002\000\056\003" +
84.1361 + "\u017e\004\u017d\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185" +
84.1362 + "\034\u0176\035\ufee0\040\u0184\041\u0177\046\ufee0\052\u0180\061" +
84.1363 + "\004\065\u017c\067\u018f\074\u0164\075\u0175\112\ufee0\144\u0187" +
84.1364 + "\150\u0190\153\205\001\002\000\062\003\u017e\004\u017d\010" +
84.1365 + "\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\031\ufee2\034\u0176" +
84.1366 + "\035\ufee0\040\u0184\041\u0177\046\ufee0\052\u0180\061\004\065" +
84.1367 + "\u017c\067\u018f\074\u0164\075\u0175\111\ufee2\112\ufee0\144\u0187" +
84.1368 + "\150\u0190\153\205\001\002\000\014\113\u0233\116\u0122\117" +
84.1369 + "\233\125\235\130\u0232\001\002\000\074\003\ufe2b\004\ufe2b" +
84.1370 + "\010\ufe2b\016\ufe2b\021\ufe2b\022\ufe2b\023\ufe2b\027\ufe2b\030" +
84.1371 + "\ufe2b\031\ufe2b\033\ufe2b\034\ufe2b\035\ufe2b\040\ufe2b\041\ufe2b" +
84.1372 + "\046\ufe2b\052\ufe2b\054\ufe2b\061\ufe2b\065\ufe2b\067\ufe2b\074" +
84.1373 + "\ufe2b\075\ufe2b\105\ufe2b\111\ufe2b\112\ufe2b\144\ufe2b\150\ufe2b" +
84.1374 + "\153\ufe2b\001\002\000\004\004\u0234\001\002\000\004\130" +
84.1375 + "\u0235\001\002\000\074\003\ufe2a\004\ufe2a\010\ufe2a\016\ufe2a" +
84.1376 + "\021\ufe2a\022\ufe2a\023\ufe2a\027\ufe2a\030\ufe2a\031\ufe2a\033" +
84.1377 + "\ufe2a\034\ufe2a\035\ufe2a\040\ufe2a\041\ufe2a\046\ufe2a\052\ufe2a" +
84.1378 + "\054\ufe2a\061\ufe2a\065\ufe2a\067\ufe2a\074\ufe2a\075\ufe2a\105" +
84.1379 + "\ufe2a\111\ufe2a\112\ufe2a\144\ufe2a\150\ufe2a\153\ufe2a\001\002" +
84.1380 + "\000\074\003\ufdfe\004\ufdfe\010\ufdfe\016\ufdfe\021\ufdfe\022" +
84.1381 + "\ufdfe\023\ufdfe\027\ufdfe\030\ufdfe\031\ufdfe\033\ufdfe\034\ufdfe" +
84.1382 + "\035\ufdfe\040\ufdfe\041\ufdfe\046\ufdfe\052\ufdfe\054\ufdfe\061" +
84.1383 + "\ufdfe\065\ufdfe\067\ufdfe\074\ufdfe\075\ufdfe\105\ufdfe\111\ufdfe" +
84.1384 + "\112\ufdfe\144\ufdfe\150\ufdfe\153\ufdfe\001\002\000\006\111" +
84.1385 + "\ufebe\117\u0239\001\002\000\004\111\u0248\001\002\000\010" +
84.1386 + "\003\u012f\035\u0198\150\126\001\002\000\032\005\213\050" +
84.1387 + "\224\051\200\052\227\117\204\122\175\124\217\147\215" +
84.1388 + "\150\045\151\177\152\231\153\205\001\002\000\004\120" +
84.1389 + "\u023c\001\002\000\006\111\ufebe\117\u0134\001\002\000\004" +
84.1390 + "\111\u023e\001\002\000\032\005\213\050\224\051\200\052" +
84.1391 + "\227\117\204\122\175\124\217\147\215\150\045\151\177" +
84.1392 + "\152\231\153\205\001\002\000\006\044\u0241\130\u0240\001" +
84.1393 + "\002\000\014\031\ufe71\032\ufe71\036\ufe71\061\ufe71\063\ufe71" +
84.1394 + "\001\002\000\036\003\105\016\uff7b\035\070\036\027\037" +
84.1395 + "\030\060\121\061\004\063\021\064\117\101\076\103\060" +
84.1396 + "\106\074\110\015\150\126\001\002\000\014\031\ufe72\032" +
84.1397 + "\ufe72\036\ufe72\061\ufe72\063\ufe72\001\002\000\004\016\u015c" +
84.1398 + "\001\002\000\004\031\u0245\001\002\000\010\130\ufed7\150" +
84.1399 + "\045\153\205\001\002\000\004\130\u0247\001\002\000\014" +
84.1400 + "\031\ufe70\032\ufe70\036\ufe70\061\ufe70\063\ufe70\001\002\000" +
84.1401 + "\032\005\213\050\224\051\200\052\227\117\204\122\175" +
84.1402 + "\124\217\147\215\150\045\151\177\152\231\153\205\001" +
84.1403 + "\002\000\006\044\u0241\130\u0240\001\002\000\014\031\ufe73" +
84.1404 + "\032\ufe73\036\ufe73\061\ufe73\063\ufe73\001\002\000\042\003" +
84.1405 + "\ufe36\016\ufe36\031\ufe36\035\ufe36\036\ufe36\037\ufe36\060\ufe36" +
84.1406 + "\061\ufe36\062\ufe36\063\ufe36\064\ufe36\101\ufe36\103\ufe36\106" +
84.1407 + "\ufe36\110\ufe36\150\ufe36\001\002\000\042\003\uffee\016\uffee" +
84.1408 + "\031\uffee\035\uffee\036\uffee\037\uffee\060\uffee\061\uffee\062" +
84.1409 + "\uffee\063\uffee\064\uffee\101\uffee\103\uffee\106\uffee\110\uffee" +
84.1410 + "\150\uffee\001\002\000\050\002\ufec6\003\ufec6\016\ufec6\031" +
84.1411 + "\ufec6\035\ufec6\036\ufec6\037\ufec6\060\ufec6\061\ufec6\062\ufec6" +
84.1412 + "\063\ufec6\064\ufec6\076\ufec6\101\ufec6\103\ufec6\106\ufec6\110" +
84.1413 + "\ufec6\113\ufec6\150\ufec6\001\002\000\006\150\045\153\205" +
84.1414 + "\001\002\000\044\003\105\006\u0252\016\uff7b\035\070\036" +
84.1415 + "\027\037\030\050\u0253\060\121\061\004\063\021\064\117" +
84.1416 + "\076\u0250\101\076\103\060\106\074\110\015\150\126\001" +
84.1417 + "\002\000\004\130\u0256\001\002\000\004\130\ufe0b\001\002" +
84.1418 + "\000\004\130\u0255\001\002\000\006\150\045\153\205\001" +
84.1419 + "\002\000\012\116\u0122\117\233\125\235\130\ufe09\001\002" +
84.1420 + "\000\050\002\ufec4\003\ufec4\016\ufec4\031\ufec4\035\ufec4\036" +
84.1421 + "\ufec4\037\ufec4\060\ufec4\061\ufec4\062\ufec4\063\ufec4\064\ufec4" +
84.1422 + "\076\ufec4\101\ufec4\103\ufec4\106\ufec4\110\ufec4\113\ufec4\150" +
84.1423 + "\ufec4\001\002\000\042\003\ufe37\016\ufe37\031\ufe37\035\ufe37" +
84.1424 + "\036\ufe37\037\ufe37\060\ufe37\061\ufe37\062\ufe37\063\ufe37\064" +
84.1425 + "\ufe37\101\ufe37\103\ufe37\106\ufe37\110\ufe37\150\ufe37\001\002" +
84.1426 + "\000\012\116\u0122\117\233\125\235\130\u0258\001\002\000" +
84.1427 + "\050\002\ufe98\003\ufe98\016\ufe98\031\ufe98\035\ufe98\036\ufe98" +
84.1428 + "\037\ufe98\060\ufe98\061\ufe98\062\ufe98\063\ufe98\064\ufe98\076" +
84.1429 + "\ufe98\101\ufe98\103\ufe98\106\ufe98\110\ufe98\113\ufe98\150\ufe98" +
84.1430 + "\001\002\000\004\044\u025a\001\002\000\006\150\045\153" +
84.1431 + "\205\001\002\000\004\130\u025c\001\002\000\042\003\uffd2" +
84.1432 + "\016\uffd2\031\uffd2\035\uffd2\036\uffd2\037\uffd2\060\uffd2\061" +
84.1433 + "\uffd2\062\uffd2\063\uffd2\064\uffd2\101\uffd2\103\uffd2\106\uffd2" +
84.1434 + "\110\uffd2\150\uffd2\001\002\000\004\031\ufea6\001\002\000" +
84.1435 + "\004\031\u025f\001\002\000\006\130\ufeaa\150\045\001\002" +
84.1436 + "\000\006\125\051\130\ufea9\001\002\000\004\130\u0262\001" +
84.1437 + "\002\000\050\002\ufea8\003\ufea8\016\ufea8\031\ufea8\035\ufea8" +
84.1438 + "\036\ufea8\037\ufea8\060\ufea8\061\ufea8\062\ufea8\063\ufea8\064" +
84.1439 + "\ufea8\076\ufea8\101\ufea8\103\ufea8\106\ufea8\110\ufea8\113\ufea8" +
84.1440 + "\150\ufea8\001\002\000\010\044\uffdf\117\143\130\uffdf\001" +
84.1441 + "\002\000\006\044\u0266\130\uffdc\001\002\000\004\130\u02e2" +
84.1442 + "\001\002\000\036\006\u0279\007\u026b\014\u027d\024\u0274\025" +
84.1443 + "\u0275\045\uffa0\047\u0267\050\u027a\052\uffa0\062\uffa0\070\335" +
84.1444 + "\071\uffa0\102\u026a\117\u026f\001\002\000\032\005\213\050" +
84.1445 + "\224\051\200\052\227\117\204\122\175\124\217\147\215" +
84.1446 + "\150\045\151\177\152\231\153\205\001\002\000\004\130" +
84.1447 + "\uffda\001\002\000\012\045\u02dd\052\ufea4\062\ufea4\071\ufea4" +
84.1448 + "\001\002\000\012\045\uff9f\052\uff9f\062\uff9f\071\uff9f\001" +
84.1449 + "\002\000\020\012\u02d2\020\u02d0\036\uff7d\063\uff7d\064\u02d3" +
84.1450 + "\150\045\153\205\001\002\000\004\130\uffd5\001\002\000" +
84.1451 + "\004\130\uffdb\001\002\000\004\130\uffbe\001\002\000\006" +
84.1452 + "\147\u02c9\150\u02ca\001\002\000\004\130\uffd6\001\002\000" +
84.1453 + "\004\130\uffb9\001\002\000\004\130\uffd9\001\002\000\004" +
84.1454 + "\130\uffd3\001\002\000\032\005\213\050\224\051\200\052" +
84.1455 + "\227\117\204\122\175\124\217\147\215\150\045\151\177" +
84.1456 + "\152\231\153\205\001\002\000\032\005\213\050\224\051" +
84.1457 + "\200\052\227\117\204\122\175\124\217\147\215\150\045" +
84.1458 + "\151\177\152\231\153\205\001\002\000\004\130\uffd8\001" +
84.1459 + "\002\000\004\130\uffb8\001\002\000\004\130\uffd4\001\002" +
84.1460 + "\000\006\050\u02bc\102\u02bb\001\002\000\006\150\045\153" +
84.1461 + "\205\001\002\000\004\130\uffbc\001\002\000\004\130\uffd7" +
84.1462 + "\001\002\000\004\117\u0281\001\002\000\006\130\uffb4\140" +
84.1463 + "\uffb4\001\002\000\006\130\uffb3\140\uffb3\001\002\000\004" +
84.1464 + "\053\u0293\001\002\000\032\005\213\050\224\051\200\052" +
84.1465 + "\227\117\204\122\175\124\217\147\215\150\045\151\177" +
84.1466 + "\152\231\153\205\001\002\000\006\120\u028d\123\u028c\001" +
84.1467 + "\002\000\006\120\uffad\123\uffad\001\002\000\006\120\u028a" +
84.1468 + "\123\u0289\001\002\000\006\120\uffa9\123\uffa9\001\002\000" +
84.1469 + "\040\047\uff10\070\u0287\072\uff10\115\uff10\116\313\117\233" +
84.1470 + "\120\uffa5\121\uff10\122\uff10\123\uffa5\124\uff10\125\235\126" +
84.1471 + "\uff10\136\uff10\137\uff10\001\002\000\034\005\213\050\224" +
84.1472 + "\051\200\052\227\117\204\122\175\124\217\146\u0288\147" +
84.1473 + "\215\150\045\151\177\152\231\153\205\001\002\000\006" +
84.1474 + "\120\uffab\123\uffab\001\002\000\032\005\213\050\224\051" +
84.1475 + "\200\052\227\117\204\122\175\124\217\147\215\150\045" +
84.1476 + "\151\177\152\231\153\205\001\002\000\004\053\uffaa\001" +
84.1477 + "\002\000\006\120\uffa8\123\uffa8\001\002\000\006\150\045" +
84.1478 + "\153\205\001\002\000\004\053\u028e\001\002\000\010\011" +
84.1479 + "\u0117\150\uffaf\153\uffaf\001\002\000\006\130\uffb2\140\uffb2" +
84.1480 + "\001\002\000\012\070\u0292\116\u0122\117\233\125\235\001" +
84.1481 + "\002\000\006\120\uffac\123\uffac\001\002\000\004\146\u0288" +
84.1482 + "\001\002\000\010\011\u0117\150\uffaf\153\uffaf\001\002\000" +
84.1483 + "\006\130\uffb1\140\uffb1\001\002\000\006\113\u0296\130\uffcc" +
84.1484 + "\001\002\000\010\052\u0299\062\u029a\071\u0297\001\002\000" +
84.1485 + "\014\003\ufffa\021\ufffa\052\ufffa\061\ufffa\150\ufffa\001\002" +
84.1486 + "\000\004\130\uffca\001\002\000\004\071\u029b\001\002\000" +
84.1487 + "\004\130\uffcb\001\002\000\004\130\uffa1\001\002\000\014" +
84.1488 + "\003\u0114\021\u02a0\052\u029d\061\004\150\126\001\002\000" +
84.1489 + "\004\130\u02b9\001\002\000\016\003\ufffa\021\ufffa\031\ufffa" +
84.1490 + "\061\ufffa\111\ufffa\150\ufffa\001\002\000\004\031\u02b2\001" +
84.1491 + "\002\000\004\150\045\001\002\000\016\003\uff9a\021\uff9a" +
84.1492 + "\031\uff9a\061\uff9a\111\uff9a\150\uff9a\001\002\000\010\031" +
84.1493 + "\ufffa\061\ufffa\111\ufffa\001\002\000\010\031\uff9c\061\004" +
84.1494 + "\111\uff9c\001\002\000\004\044\u02a5\001\002\000\006\061" +
84.1495 + "\ufffa\111\ufffa\001\002\000\006\061\004\111\u02a8\001\002" +
84.1496 + "\000\006\031\uff8c\111\uff8c\001\002\000\034\005\213\050" +
84.1497 + "\224\051\200\052\227\055\253\117\204\122\175\124\217" +
84.1498 + "\147\215\150\045\151\177\152\231\153\205\001\002\000" +
84.1499 + "\006\031\u02ab\111\u02a8\001\002\000\006\031\uff8b\111\uff8b" +
84.1500 + "\001\002\000\004\021\u02ac\001\002\000\004\130\u02ad\001" +
84.1501 + "\002\000\010\031\uff8d\061\uff8d\111\uff8d\001\002\000\006" +
84.1502 + "\134\341\135\u02af\001\002\000\014\003\ufffa\021\ufffa\052" +
84.1503 + "\ufffa\061\ufffa\150\ufffa\001\002\000\014\003\u0114\021\u02a0" +
84.1504 + "\052\u029d\061\004\150\126\001\002\000\006\031\uff8a\111" +
84.1505 + "\uff8a\001\002\000\004\071\u02b3\001\002\000\004\130\uffa2" +
84.1506 + "\001\002\000\006\031\uff9d\111\uff9d\001\002\000\016\003" +
84.1507 + "\u0114\021\u02a0\031\uff98\061\004\111\uff98\150\126\001\002" +
84.1508 + "\000\016\003\uff99\021\uff99\031\uff99\061\uff99\111\uff99\150" +
84.1509 + "\uff99\001\002\000\010\031\ufffa\061\ufffa\111\ufffa\001\002" +
84.1510 + "\000\010\031\uff97\061\004\111\uff97\001\002\000\010\031" +
84.1511 + "\ufffa\061\ufffa\111\ufffa\001\002\000\010\031\uff9b\061\004" +
84.1512 + "\111\uff9b\001\002\000\012\045\uff9e\052\uff9e\062\uff9e\071" +
84.1513 + "\uff9e\001\002\000\006\150\045\153\205\001\002\000\004" +
84.1514 + "\113\u02be\001\002\000\010\052\u0299\062\u02c0\071\u0297\001" +
84.1515 + "\002\000\004\130\uffc8\001\002\000\004\130\uffc9\001\002" +
84.1516 + "\000\014\013\321\054\324\070\335\114\322\130\uffbb\001" +
84.1517 + "\002\000\004\130\uffb7\001\002\000\004\130\uffba\001\002" +
84.1518 + "\000\014\013\321\025\u02c6\054\324\070\335\114\322\001" +
84.1519 + "\002\000\004\130\uffb6\001\002\000\032\005\213\050\224" +
84.1520 + "\051\200\052\227\117\204\122\175\124\217\147\215\150" +
84.1521 + "\045\151\177\152\231\153\205\001\002\000\014\013\321" +
84.1522 + "\054\324\070\335\114\322\130\uffbb\001\002\000\004\130" +
84.1523 + "\uffb5\001\002\000\006\120\uffbf\123\uffbf\001\002\000\006" +
84.1524 + "\120\uffc0\123\uffc0\001\002\000\006\120\uffc2\123\uffc2\001" +
84.1525 + "\002\000\006\120\u02ce\123\u02cd\001\002\000\006\147\u02c9" +
84.1526 + "\150\u02ca\001\002\000\004\130\uffc3\001\002\000\006\120" +
84.1527 + "\uffc1\123\uffc1\001\002\000\006\150\045\153\205\001\002" +
84.1528 + "\000\006\036\u02d7\063\u02d6\001\002\000\006\150\045\153" +
84.1529 + "\205\001\002\000\006\036\uff7c\063\uff7c\001\002\000\004" +
84.1530 + "\130\uff82\001\002\000\004\130\uff80\001\002\000\006\117" +
84.1531 + "\u0134\130\ufebe\001\002\000\006\065\ufebe\117\u0134\001\002" +
84.1532 + "\000\004\065\u02d9\001\002\000\004\150\045\001\002\000" +
84.1533 + "\010\116\165\125\166\130\uff7e\001\002\000\004\130\uff7f" +
84.1534 + "\001\002\000\004\130\uff81\001\002\000\010\052\ufea3\062" +
84.1535 + "\ufea3\071\ufea3\001\002\000\010\052\u0299\062\u02e0\071\u0297" +
84.1536 + "\001\002\000\004\130\uffa3\001\002\000\004\130\ufea5\001" +
84.1537 + "\002\000\012\013\321\054\324\114\322\130\uffbd\001\002" +
84.1538 + "\000\042\003\uffe0\016\uffe0\031\uffe0\035\uffe0\036\uffe0\037" +
84.1539 + "\uffe0\060\uffe0\061\uffe0\062\uffe0\063\uffe0\064\uffe0\101\uffe0" +
84.1540 + "\103\uffe0\106\uffe0\110\uffe0\150\uffe0\001\002\000\010\110" +
84.1541 + "\u02e4\116\165\125\166\001\002\000\036\005\213\015\u02e5" +
84.1542 + "\050\224\051\200\052\227\071\u02e7\117\204\122\175\124" +
84.1543 + "\217\147\215\150\045\151\177\152\231\153\205\001\002" +
84.1544 + "\000\032\005\213\050\224\051\200\052\227\117\204\122" +
84.1545 + "\175\124\217\147\215\150\045\151\177\152\231\153\205" +
84.1546 + "\001\002\000\012\013\321\054\324\114\322\130\u02f7\001" +
84.1547 + "\002\000\010\015\u02e8\031\ufe03\150\ufe03\001\002\000\004" +
84.1548 + "\047\u02f4\001\002\000\006\031\ufe01\150\ufe01\001\002\000" +
84.1549 + "\006\031\u02eb\150\045\001\002\000\004\071\u02f2\001\002" +
84.1550 + "\000\010\015\u02ed\116\165\125\166\001\002\000\032\005" +
84.1551 + "\213\050\224\051\200\052\227\117\204\122\175\124\217" +
84.1552 + "\147\215\150\045\151\177\152\231\153\205\001\002\000" +
84.1553 + "\012\013\321\054\324\070\u02ef\114\322\001\002\000\032" +
84.1554 + "\005\213\050\224\051\200\052\227\117\204\122\175\124" +
84.1555 + "\217\147\215\150\045\151\177\152\231\153\205\001\002" +
84.1556 + "\000\004\130\u02f1\001\002\000\006\031\ufe00\150\ufe00\001" +
84.1557 + "\002\000\004\130\u02f3\001\002\000\044\003\ufe04\016\ufe04" +
84.1558 + "\031\ufe04\032\ufe04\035\ufe04\036\ufe04\037\ufe04\060\ufe04\061" +
84.1559 + "\ufe04\062\ufe04\063\ufe04\064\ufe04\101\ufe04\103\ufe04\106\ufe04" +
84.1560 + "\110\ufe04\150\ufe04\001\002\000\032\005\213\050\224\051" +
84.1561 + "\200\052\227\117\204\122\175\124\217\147\215\150\045" +
84.1562 + "\151\177\152\231\153\205\001\002\000\012\013\321\054" +
84.1563 + "\324\114\322\130\u02f6\001\002\000\006\031\ufe02\150\ufe02" +
84.1564 + "\001\002\000\044\003\ufe05\016\ufe05\031\ufe05\032\ufe05\035" +
84.1565 + "\ufe05\036\ufe05\037\ufe05\060\ufe05\061\ufe05\062\ufe05\063\ufe05" +
84.1566 + "\064\ufe05\101\ufe05\103\ufe05\106\ufe05\110\ufe05\150\ufe05\001" +
84.1567 + "\002\000\012\013\321\054\324\114\322\130\u02f9\001\002" +
84.1568 + "\000\044\003\ufdff\016\ufdff\031\ufdff\032\ufdff\035\ufdff\036" +
84.1569 + "\ufdff\037\ufdff\060\ufdff\061\ufdff\062\ufdff\063\ufdff\064\ufdff" +
84.1570 + "\101\ufdff\103\ufdff\106\ufdff\110\ufdff\150\ufdff\001\002\000" +
84.1571 + "\040\003\uff6c\016\uff6c\031\uff6c\035\uff6c\036\uff6c\037\uff6c" +
84.1572 + "\060\uff6c\061\uff6c\063\uff6c\064\uff6c\101\uff6c\103\uff6c\106" +
84.1573 + "\uff6c\110\uff6c\150\uff6c\001\002\000\016\011\u02fd\014\uffe9" +
84.1574 + "\020\u02fe\033\u02fc\150\uffe9\153\uffe9\001\002\000\006\073" +
84.1575 + "\u030d\130\u030c\001\002\000\012\014\uffe8\020\u030b\150\uffe8" +
84.1576 + "\153\uffe8\001\002\000\012\014\uffe7\140\u0308\150\uffe7\153" +
84.1577 + "\uffe7\001\002\000\010\014\u027d\150\045\153\205\001\002" +
84.1578 + "\000\006\130\uffe3\140\164\001\002\000\010\073\u0303\130" +
84.1579 + "\uffe5\140\uffe5\001\002\000\006\130\uffe4\140\uffe4\001\002" +
84.1580 + "\000\006\150\045\153\205\001\002\000\012\116\u0122\117" +
84.1581 + "\233\125\235\130\u0305\001\002\000\042\003\ufe9c\016\ufe9c" +
84.1582 + "\031\ufe9c\035\ufe9c\036\ufe9c\037\ufe9c\060\ufe9c\061\ufe9c\062" +
84.1583 + "\ufe9c\063\ufe9c\064\ufe9c\101\ufe9c\103\ufe9c\106\ufe9c\110\ufe9c" +
84.1584 + "\150\ufe9c\001\002\000\004\130\u0307\001\002\000\042\003" +
84.1585 + "\uffec\016\uffec\031\uffec\035\uffec\036\uffec\037\uffec\060\uffec" +
84.1586 + "\061\uffec\062\uffec\063\uffec\064\uffec\101\uffec\103\uffec\106" +
84.1587 + "\uffec\110\uffec\150\uffec\001\002\000\032\005\213\050\224" +
84.1588 + "\051\200\052\227\117\204\122\175\124\217\147\215\150" +
84.1589 + "\045\151\177\152\231\153\205\001\002\000\012\013\321" +
84.1590 + "\054\324\114\322\130\u030a\001\002\000\042\003\uffe1\016" +
84.1591 + "\uffe1\031\uffe1\035\uffe1\036\uffe1\037\uffe1\060\uffe1\061\uffe1" +
84.1592 + "\062\uffe1\063\uffe1\064\uffe1\101\uffe1\103\uffe1\106\uffe1\110" +
84.1593 + "\uffe1\150\uffe1\001\002\000\010\014\uffe6\150\uffe6\153\uffe6" +
84.1594 + "\001\002\000\042\003\ufe35\016\ufe35\031\ufe35\035\ufe35\036" +
84.1595 + "\ufe35\037\ufe35\060\ufe35\061\ufe35\062\ufe35\063\ufe35\064\ufe35" +
84.1596 + "\101\ufe35\103\ufe35\106\ufe35\110\ufe35\150\ufe35\001\002\000" +
84.1597 + "\006\150\045\153\205\001\002\000\012\116\u0122\117\233" +
84.1598 + "\125\235\130\u030f\001\002\000\042\003\ufe9b\016\ufe9b\031" +
84.1599 + "\ufe9b\035\ufe9b\036\ufe9b\037\ufe9b\060\ufe9b\061\ufe9b\062\ufe9b" +
84.1600 + "\063\ufe9b\064\ufe9b\101\ufe9b\103\ufe9b\106\ufe9b\110\ufe9b\150" +
84.1601 + "\ufe9b\001\002\000\004\150\045\001\002\000\006\044\u0315" +
84.1602 + "\130\ufe92\001\002\000\004\150\045\001\002\000\010\044" +
84.1603 + "\uffdf\117\143\130\uffdf\001\002\000\006\044\u0315\130\ufe92" +
84.1604 + "\001\002\000\014\031\ufffa\032\ufffa\035\ufffa\061\ufffa\062" +
84.1605 + "\ufffa\001\002\000\004\130\ufe93\001\002\000\012\031\ufe6f" +
84.1606 + "\032\u010a\035\ufe6f\062\ufe6f\001\002\000\014\031\ufe77\032" +
84.1607 + "\ufe77\035\ufe77\061\004\062\ufe77\001\002\000\014\031\ufffa" +
84.1608 + "\032\ufffa\035\ufffa\061\ufffa\062\ufffa\001\002\000\010\031" +
84.1609 + "\ufe90\035\070\062\u031d\001\002\000\012\031\ufffa\035\ufffa" +
84.1610 + "\061\ufffa\062\ufffa\001\002\000\004\031\u0320\001\002\000" +
84.1611 + "\012\031\ufffa\032\ufffa\035\ufffa\061\ufffa\001\002\000\010" +
84.1612 + "\031\ufe6f\032\u010a\035\ufe6f\001\002\000\006\031\ufe8f\035" +
84.1613 + "\070\001\002\000\010\130\ufed7\150\045\153\205\001\002" +
84.1614 + "\000\004\130\ufe91\001\002\000\012\031\ufe6e\035\ufe6e\061" +
84.1615 + "\004\062\ufe6e\001\002\000\014\031\ufe76\032\ufe76\035\ufe76" +
84.1616 + "\061\004\062\ufe76\001\002\000\004\130\ufe94\001\002\000" +
84.1617 + "\004\044\u0326\001\002\000\040\003\105\016\uff7b\035\070" +
84.1618 + "\036\027\037\030\060\121\061\004\063\021\064\117\076" +
84.1619 + "\u0327\101\076\103\060\106\074\110\015\150\126\001\002" +
84.1620 + "\000\004\130\u032d\001\002\000\004\016\u015c\001\002\000" +
84.1621 + "\004\031\u032a\001\002\000\010\130\ufed7\150\045\153\205" +
84.1622 + "\001\002\000\004\130\u032c\001\002\000\050\002\ufe8e\003" +
84.1623 + "\ufe8e\016\ufe8e\031\ufe8e\035\ufe8e\036\ufe8e\037\ufe8e\060\ufe8e" +
84.1624 + "\061\ufe8e\062\ufe8e\063\ufe8e\064\ufe8e\076\ufe8e\101\ufe8e\103" +
84.1625 + "\ufe8e\106\ufe8e\110\ufe8e\113\ufe8e\150\ufe8e\001\002\000\042" +
84.1626 + "\003\ufe39\016\ufe39\031\ufe39\035\ufe39\036\ufe39\037\ufe39\060" +
84.1627 + "\ufe39\061\ufe39\062\ufe39\063\ufe39\064\ufe39\101\ufe39\103\ufe39" +
84.1628 + "\106\ufe39\110\ufe39\150\ufe39\001\002\000\042\003\ufe8d\016" +
84.1629 + "\ufe8d\031\ufe8d\035\ufe8d\036\ufe8d\037\ufe8d\060\ufe8d\061\ufe8d" +
84.1630 + "\062\ufe8d\063\ufe8d\064\ufe8d\101\ufe8d\103\ufe8d\106\ufe8d\110" +
84.1631 + "\ufe8d\150\ufe8d\001\002\000\006\150\045\153\205\001\002" +
84.1632 + "\000\042\003\105\031\uff79\035\070\036\027\037\030\050" +
84.1633 + "\u0253\060\u0337\061\004\062\uff79\063\021\064\u0336\101\076" +
84.1634 + "\103\u0331\106\074\110\015\150\126\001\002\000\010\017" +
84.1635 + "\u0346\106\u0312\150\045\001\002\000\004\130\ufe0a\001\002" +
84.1636 + "\000\010\044\u0345\073\u024e\130\u024d\001\002\000\006\031" +
84.1637 + "\ufeac\062\u0341\001\002\000\040\003\uff77\031\uff77\035\uff77" +
84.1638 + "\036\uff77\037\uff77\060\uff77\061\uff77\062\uff77\063\uff77\064" +
84.1639 + "\uff77\101\uff77\103\uff77\106\uff77\110\uff77\150\uff77\001\002" +
84.1640 + "\000\010\017\u033d\106\137\150\136\001\002\000\006\017" +
84.1641 + "\u033a\150\045\001\002\000\040\003\105\031\uff78\035\070" +
84.1642 + "\036\027\037\030\060\u0337\061\004\062\uff78\063\021\064" +
84.1643 + "\u0336\101\076\103\u0331\106\074\110\015\150\126\001\002" +
84.1644 + "\000\040\003\uff76\031\uff76\035\uff76\036\uff76\037\uff76\060" +
84.1645 + "\uff76\061\uff76\062\uff76\063\uff76\064\uff76\101\uff76\103\uff76" +
84.1646 + "\106\uff76\110\uff76\150\uff76\001\002\000\004\150\045\001" +
84.1647 + "\002\000\006\044\u033c\125\051\001\002\000\004\076\133" +
84.1648 + "\001\002\000\004\150\045\001\002\000\004\044\u033f\001" +
84.1649 + "\002\000\004\076\u014c\001\002\000\004\031\u0343\001\002" +
84.1650 + "\000\036\003\105\031\uff79\035\070\036\027\037\030\060" +
84.1651 + "\u0337\061\004\063\021\064\u0336\101\076\103\u0331\106\074" +
84.1652 + "\110\015\150\126\001\002\000\004\031\ufeab\001\002\000" +
84.1653 + "\006\130\ufeaa\150\045\001\002\000\004\130\ufead\001\002" +
84.1654 + "\000\010\006\u0252\050\u0253\076\u0250\001\002\000\004\150" +
84.1655 + "\045\001\002\000\004\044\u0348\001\002\000\004\076\u0327" +
84.1656 + "\001\002\000\012\116\u0122\117\233\125\235\130\u034a\001" +
84.1657 + "\002\000\050\002\ufe99\003\ufe99\016\ufe99\031\ufe99\035\ufe99" +
84.1658 + "\036\ufe99\037\ufe99\060\ufe99\061\ufe99\062\ufe99\063\ufe99\064" +
84.1659 + "\ufe99\076\ufe99\101\ufe99\103\ufe99\106\ufe99\110\ufe99\113\ufe99" +
84.1660 + "\150\ufe99\001\002\000\042\003\105\006\u0252\016\uff7b\035" +
84.1661 + "\070\036\027\037\030\050\u0253\060\121\061\004\063\021" +
84.1662 + "\064\117\101\076\103\060\106\074\110\015\150\126\001" +
84.1663 + "\002\000\026\002\ufe4a\036\ufe4a\037\ufe4a\060\ufe4a\061\004" +
84.1664 + "\062\ufe4a\063\ufe4a\076\ufe4a\110\ufe4a\113\ufe4a\001\002\000" +
84.1665 + "\014\044\ufec1\065\ufebe\073\ufec1\117\u0134\130\ufec1\001\002" +
84.1666 + "\000\004\065\u034f\001\002\000\006\150\045\153\205\001" +
84.1667 + "\002\000\016\044\ufec2\073\ufec2\116\u0122\117\233\125\235" +
84.1668 + "\130\ufec2\001\002\000\050\002\ufeae\003\ufeae\016\ufeae\031" +
84.1669 + "\ufeae\035\ufeae\036\ufeae\037\ufeae\060\ufeae\061\ufeae\062\ufeae" +
84.1670 + "\063\ufeae\064\ufeae\076\ufeae\101\ufeae\103\ufeae\106\ufeae\110" +
84.1671 + "\ufeae\113\ufeae\150\ufeae\001\002\000\050\002\ufec5\003\ufec5" +
84.1672 + "\016\ufec5\031\ufec5\035\ufec5\036\ufec5\037\ufec5\060\ufec5\061" +
84.1673 + "\ufec5\062\ufec5\063\ufec5\064\ufec5\076\ufec5\101\ufec5\103\ufec5" +
84.1674 + "\106\ufec5\110\ufec5\113\ufec5\150\ufec5\001\002\000\004\150" +
84.1675 + "\045\001\002\000\006\120\u0355\125\051\001\002\000\014" +
84.1676 + "\036\027\060\u0358\063\021\064\u035b\103\u0356\001\002\000" +
84.1677 + "\004\017\u0362\001\002\000\026\002\uff65\036\uff65\037\uff65" +
84.1678 + "\060\uff65\061\uff65\062\uff65\063\uff65\076\uff65\110\uff65\113" +
84.1679 + "\uff65\001\002\000\004\017\044\001\002\000\026\002\uff63" +
84.1680 + "\036\uff63\037\uff63\060\uff63\061\uff63\062\uff63\063\uff63\076" +
84.1681 + "\uff63\110\uff63\113\uff63\001\002\000\026\002\uff62\036\uff62" +
84.1682 + "\037\uff62\060\uff62\061\uff62\062\uff62\063\uff62\076\uff62\110" +
84.1683 + "\uff62\113\uff62\001\002\000\004\017\u035f\001\002\000\026" +
84.1684 + "\002\ufe3a\036\ufe3a\037\ufe3a\060\ufe3a\061\ufe3a\062\ufe3a\063" +
84.1685 + "\ufe3a\076\ufe3a\110\ufe3a\113\ufe3a\001\002\000\026\002\uff64" +
84.1686 + "\036\uff64\037\uff64\060\uff64\061\uff64\062\uff64\063\uff64\076" +
84.1687 + "\uff64\110\uff64\113\uff64\001\002\000\004\044\u015a\001\002" +
84.1688 + "\000\004\150\045\001\002\000\004\044\u0361\001\002\000" +
84.1689 + "\014\031\ufffa\032\ufffa\036\ufffa\061\ufffa\063\ufffa\001\002" +
84.1690 + "\000\004\150\045\001\002\000\004\044\u0364\001\002\000" +
84.1691 + "\036\003\105\016\uff7b\035\070\036\027\037\030\060\121" +
84.1692 + "\061\004\063\021\064\117\101\076\103\060\106\074\110" +
84.1693 + "\015\150\126\001\002\000\014\044\ufebe\073\ufebe\117\u0134" +
84.1694 + "\125\051\130\ufebe\001\002\000\010\044\ufec3\073\ufec3\130" +
84.1695 + "\ufec3\001\002\000\022\003\ufe1f\036\ufe1f\060\ufe1f\063\ufe1f" +
84.1696 + "\106\ufe1f\110\ufe1f\113\ufe1f\150\ufe1f\001\002\000\022\003" +
84.1697 + "\ufe26\036\ufe26\060\ufe26\063\ufe26\106\ufe26\110\ufe26\113\ufe26" +
84.1698 + "\150\ufe26\001\002\000\004\150\045\001\002\000\004\130" +
84.1699 + "\u03b2\001\002\000\004\150\045\001\002\000\004\130\u038c" +
84.1700 + "\001\002\000\010\036\u0375\060\u0374\063\u0373\001\002\000" +
84.1701 + "\006\073\u0370\130\u036f\001\002\000\050\002\ufe29\003\ufe29" +
84.1702 + "\016\ufe29\031\ufe29\035\ufe29\036\ufe29\037\ufe29\060\ufe29\061" +
84.1703 + "\ufe29\062\ufe29\063\ufe29\064\ufe29\076\ufe29\101\ufe29\103\ufe29" +
84.1704 + "\106\ufe29\110\ufe29\113\ufe29\150\ufe29\001\002\000\006\150" +
84.1705 + "\045\153\205\001\002\000\012\116\u0122\117\233\125\235" +
84.1706 + "\130\u0372\001\002\000\050\002\ufe96\003\ufe96\016\ufe96\031" +
84.1707 + "\ufe96\035\ufe96\036\ufe96\037\ufe96\060\ufe96\061\ufe96\062\ufe96" +
84.1708 + "\063\ufe96\064\ufe96\076\ufe96\101\ufe96\103\ufe96\106\ufe96\110" +
84.1709 + "\ufe96\113\ufe96\150\ufe96\001\002\000\004\150\045\001\002" +
84.1710 + "\000\004\150\045\001\002\000\006\150\045\153\205\001" +
84.1711 + "\002\000\006\065\ufebe\117\u0134\001\002\000\004\065\u0378" +
84.1712 + "\001\002\000\006\150\045\153\205\001\002\000\014\044" +
84.1713 + "\u037a\116\u0122\117\233\125\235\130\ufe1b\001\002\000\010" +
84.1714 + "\146\u037d\150\045\153\205\001\002\000\004\130\u037c\001" +
84.1715 + "\002\000\022\003\ufe22\036\ufe22\060\ufe22\063\ufe22\106\ufe22" +
84.1716 + "\110\ufe22\113\ufe22\150\ufe22\001\002\000\004\130\ufe19\001" +
84.1717 + "\002\000\012\116\u0122\117\233\125\235\130\ufe1a\001\002" +
84.1718 + "\000\004\044\u0380\001\002\000\004\050\u0381\001\002\000" +
84.1719 + "\006\150\045\153\205\001\002\000\012\116\u0122\117\u0384" +
84.1720 + "\125\235\130\u0383\001\002\000\022\003\ufe20\036\ufe20\060" +
84.1721 + "\ufe20\063\ufe20\106\ufe20\110\ufe20\113\ufe20\150\ufe20\001\002" +
84.1722 + "\000\040\003\251\005\213\050\224\051\200\052\227\055" +
84.1723 + "\253\117\204\122\175\124\217\146\u0385\147\215\150\045" +
84.1724 + "\151\177\152\231\153\205\001\002\000\004\120\u0386\001" +
84.1725 + "\002\000\004\130\u0387\001\002\000\022\003\ufe21\036\ufe21" +
84.1726 + "\060\ufe21\063\ufe21\106\ufe21\110\ufe21\113\ufe21\150\ufe21\001" +
84.1727 + "\002\000\010\044\ufebe\117\u0134\130\ufebe\001\002\000\006" +
84.1728 + "\044\u037a\130\ufe1b\001\002\000\004\130\u038b\001\002\000" +
84.1729 + "\022\003\ufe23\036\ufe23\060\ufe23\063\ufe23\106\ufe23\110\ufe23" +
84.1730 + "\113\ufe23\150\ufe23\001\002\000\050\002\ufe28\003\ufe28\016" +
84.1731 + "\ufe28\031\ufe28\035\ufe28\036\ufe28\037\ufe28\060\ufe28\061\ufe28" +
84.1732 + "\062\ufe28\063\ufe28\064\ufe28\076\ufe28\101\ufe28\103\ufe28\106" +
84.1733 + "\ufe28\110\ufe28\113\ufe28\150\ufe28\001\002\000\006\044\ufe1e" +
84.1734 + "\117\u038f\001\002\000\004\044\ufe1d\001\002\000\010\003" +
84.1735 + "\145\146\u03b0\150\126\001\002\000\004\044\u0391\001\002" +
84.1736 + "\000\032\006\u039c\007\u026b\014\u027d\024\u0399\025\u039a\045" +
84.1737 + "\uffa0\047\u0392\050\u039d\062\uffa0\070\u0393\102\u026a\117\u0397" +
84.1738 + "\001\002\000\004\146\u03af\001\002\000\004\146\u03ae\001" +
84.1739 + "\002\000\006\045\u02dd\062\ufea4\001\002\000\004\130\u03ac" +
84.1740 + "\001\002\000\004\130\ufe11\001\002\000\004\146\u03aa\001" +
84.1741 + "\002\000\004\130\ufe10\001\002\000\004\146\u03a7\001\002" +
84.1742 + "\000\004\146\u03a6\001\002\000\004\130\ufe0f\001\002\000" +
84.1743 + "\006\050\u03a2\102\u02bb\001\002\000\006\150\045\153\205" +
84.1744 + "\001\002\000\004\130\ufe12\001\002\000\006\113\u03a0\130" +
84.1745 + "\ufe0e\001\002\000\004\062\u03a1\001\002\000\004\130\ufe0d" +
84.1746 + "\001\002\000\006\150\045\153\205\001\002\000\004\113" +
84.1747 + "\u03a4\001\002\000\004\062\u03a5\001\002\000\004\130\ufe0c" +
84.1748 + "\001\002\000\004\130\ufe13\001\002\000\006\025\u03a8\130" +
84.1749 + "\ufe15\001\002\000\004\146\u03a9\001\002\000\004\130\ufe14" +
84.1750 + "\001\002\000\004\120\u03ab\001\002\000\004\130\ufe18\001" +
84.1751 + "\002\000\022\003\ufe24\036\ufe24\060\ufe24\063\ufe24\106\ufe24" +
84.1752 + "\110\ufe24\113\ufe24\150\ufe24\001\002\000\004\062\u02e0\001" +
84.1753 + "\002\000\004\130\ufe17\001\002\000\004\130\ufe16\001\002" +
84.1754 + "\000\004\120\u03b1\001\002\000\004\044\ufe1c\001\002\000" +
84.1755 + "\022\003\ufe25\036\ufe25\060\ufe25\063\ufe25\106\ufe25\110\ufe25" +
84.1756 + "\113\ufe25\150\ufe25\001\002\000\010\044\u03b5\073\u03b4\125" +
84.1757 + "\051\001\002\000\006\150\045\153\205\001\002\000\040" +
84.1758 + "\003\105\031\uff79\035\070\036\027\037\030\060\u0337\061" +
84.1759 + "\004\062\uff79\063\021\064\u0336\101\076\103\u0331\106\074" +
84.1760 + "\110\015\150\126\001\002\000\012\116\u0122\117\233\125" +
84.1761 + "\235\130\u03b7\001\002\000\050\002\ufe97\003\ufe97\016\ufe97" +
84.1762 + "\031\ufe97\035\ufe97\036\ufe97\037\ufe97\060\ufe97\061\ufe97\062" +
84.1763 + "\ufe97\063\ufe97\064\ufe97\076\ufe97\101\ufe97\103\ufe97\106\ufe97" +
84.1764 + "\110\ufe97\113\ufe97\150\ufe97\001\002\000\014\116\u0122\117" +
84.1765 + "\233\123\ufea0\125\235\130\ufea0\001\002\000\006\123\u03c0" +
84.1766 + "\130\u03c1\001\002\000\006\150\045\153\205\001\002\000" +
84.1767 + "\014\116\u0122\117\233\123\ufe9e\125\235\130\ufe9e\001\002" +
84.1768 + "\000\006\123\u03bd\130\u03be\001\002\000\006\150\045\153" +
84.1769 + "\205\001\002\000\046\003\ufea1\016\ufea1\031\ufea1\035\ufea1" +
84.1770 + "\036\ufea1\037\ufea1\060\ufea1\061\ufea1\062\ufea1\063\ufea1\064" +
84.1771 + "\ufea1\076\ufea1\101\ufea1\103\ufea1\106\ufea1\110\ufea1\113\ufea1" +
84.1772 + "\150\ufea1\001\002\000\014\116\u0122\117\233\123\ufe9d\125" +
84.1773 + "\235\130\ufe9d\001\002\000\006\150\045\153\205\001\002" +
84.1774 + "\000\046\003\ufea2\016\ufea2\031\ufea2\035\ufea2\036\ufea2\037" +
84.1775 + "\ufea2\060\ufea2\061\ufea2\062\ufea2\063\ufea2\064\ufea2\076\ufea2" +
84.1776 + "\101\ufea2\103\ufea2\106\ufea2\110\ufea2\113\ufea2\150\ufea2\001" +
84.1777 + "\002\000\014\116\u0122\117\233\123\ufe9f\125\235\130\ufe9f" +
84.1778 + "\001\002\000\010\123\uff56\125\051\130\uff56\001\002\000" +
84.1779 + "\006\123\u03c5\130\u03c6\001\002\000\004\150\045\001\002" +
84.1780 + "\000\024\036\ufe3b\037\ufe3b\060\ufe3b\061\ufe3b\062\ufe3b\063" +
84.1781 + "\ufe3b\076\ufe3b\110\ufe3b\113\ufe3b\001\002\000\010\123\uff55" +
84.1782 + "\125\051\130\uff55\001\002\000\024\036\ufe3c\037\ufe3c\060" +
84.1783 + "\ufe3c\061\ufe3c\062\ufe3c\063\ufe3c\076\ufe3c\110\ufe3c\113\ufe3c" +
84.1784 + "\001\002\000\024\036\ufe3e\037\ufe3e\060\ufe3e\061\ufe3e\062" +
84.1785 + "\ufe3e\063\ufe3e\076\ufe3e\110\ufe3e\113\ufe3e\001\002\000\024" +
84.1786 + "\036\ufe3d\037\ufe3d\060\ufe3d\061\ufe3d\062\ufe3d\063\ufe3d\076" +
84.1787 + "\ufe3d\110\ufe3d\113\ufe3d\001\002\000\014\036\027\037\030" +
84.1788 + "\060\036\063\021\076\022\001\002\000\026\002\ufffa\036" +
84.1789 + "\ufffa\037\ufffa\060\ufffa\061\ufffa\062\ufffa\063\ufffa\076\ufffa" +
84.1790 + "\110\ufffa\113\ufffa\001\002\000\026\002\ufe4b\036\ufe4b\037" +
84.1791 + "\ufe4b\060\ufe4b\061\004\062\ufe4b\063\ufe4b\076\ufe4b\110\ufe4b" +
84.1792 + "\113\ufe4b\001\002\000\026\002\ufe4c\036\ufe4c\037\ufe4c\060" +
84.1793 + "\ufe4c\061\004\062\ufe4c\063\ufe4c\076\ufe4c\110\ufe4c\113\ufe4c" +
84.1794 + "\001\002\000\004\002\001\001\002\000\006\117\uff59\130" +
84.1795 + "\u03dd\001\002\000\004\117\u03d2\001\002\000\032\005\213" +
84.1796 + "\050\224\051\200\052\227\117\204\122\175\124\217\147" +
84.1797 + "\215\150\045\151\177\152\231\153\205\001\002\000\006" +
84.1798 + "\120\ufffe\123\ufffe\001\002\000\006\120\u03da\123\u03d9\001" +
84.1799 + "\002\000\064\013\uff61\042\uff61\047\uff61\051\uff61\054\uff61" +
84.1800 + "\072\uff61\114\uff61\115\uff61\116\uff61\117\uff61\120\uff61\121" +
84.1801 + "\uff61\122\uff61\123\uff61\124\uff61\125\uff61\126\uff61\131\uff61" +
84.1802 + "\132\uff61\133\uff61\135\u03d7\137\uff61\141\uff61\142\uff61\143" +
84.1803 + "\uff61\001\002\000\014\013\321\054\324\114\322\120\ufffc" +
84.1804 + "\123\ufffc\001\002\000\032\005\213\050\224\051\200\052" +
84.1805 + "\227\117\204\122\175\124\217\147\215\150\045\151\177" +
84.1806 + "\152\231\153\205\001\002\000\014\013\321\054\324\114" +
84.1807 + "\322\120\ufffb\123\ufffb\001\002\000\032\005\213\050\224" +
84.1808 + "\051\200\052\227\117\204\122\175\124\217\147\215\150" +
84.1809 + "\045\151\177\152\231\153\205\001\002\000\004\130\u03db" +
84.1810 + "\001\002\000\130\002\uffff\003\uffff\004\uffff\010\uffff\016" +
84.1811 + "\uffff\021\uffff\022\uffff\023\uffff\027\uffff\030\uffff\031\uffff" +
84.1812 + "\032\uffff\033\uffff\034\uffff\035\uffff\036\uffff\037\uffff\040" +
84.1813 + "\uffff\041\uffff\046\uffff\052\uffff\054\uffff\060\uffff\061\uffff" +
84.1814 + "\062\uffff\063\uffff\064\uffff\065\uffff\067\uffff\074\uffff\075" +
84.1815 + "\uffff\076\uffff\101\uffff\103\uffff\105\uffff\106\uffff\110\uffff" +
84.1816 + "\111\uffff\112\uffff\113\uffff\144\uffff\150\uffff\153\uffff\001" +
84.1817 + "\002\000\006\120\ufffd\123\ufffd\001\002\000\130\002\000" +
84.1818 + "\003\000\004\000\010\000\016\000\021\000\022\000\023" +
84.1819 + "\000\027\000\030\000\031\000\032\000\033\000\034\000" +
84.1820 + "\035\000\036\000\037\000\040\000\041\000\046\000\052" +
84.1821 + "\000\054\000\060\000\061\000\062\000\063\000\064\000" +
84.1822 + "\065\000\067\000\074\000\075\000\076\000\101\000\103" +
84.1823 + "\000\105\000\106\000\110\000\111\000\112\000\113\000" +
84.1824 + "\144\000\150\000\153\000\001\002" });
84.1825 +
84.1826 + /** Access to parse-action table. */
84.1827 + public short[][] action_table() {return _action_table;}
84.1828 +
84.1829 + /** <code>reduce_goto</code> table. */
84.1830 + protected static final short[][] _reduce_table =
84.1831 + unpackFromStrings(new String[] {
84.1832 + "\000\u03db\000\010\125\004\126\006\173\005\001\001\000" +
84.1833 + "\004\027\u03d0\001\001\000\002\001\001\000\004\176\u03cd" +
84.1834 + "\001\001\000\014\114\011\127\013\131\007\132\010\332" +
84.1835 + "\015\001\001\000\012\114\u03c9\132\u03c8\173\u03c7\332\u03ca" +
84.1836 + "\001\001\000\002\001\001\000\002\001\001\000\010\027" +
84.1837 + "\045\133\u03c3\140\u03c2\001\001\000\002\001\001\000\020" +
84.1838 + "\026\u03b7\027\202\030\225\103\220\115\u03b8\163\205\164" +
84.1839 + "\175\001\001\000\034\005\025\072\034\073\023\074\037" +
84.1840 + "\105\030\106\036\107\022\120\032\130\033\136\031\151" +
84.1841 + "\040\272\024\274\017\001\001\000\002\001\001\000\020" +
84.1842 + "\006\102\023\u012b\072\u036d\100\u0369\106\u036b\114\u0366\336" +
84.1843 + "\u0367\001\001\000\006\027\045\140\u0364\001\001\000\002" +
84.1844 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.1845 + "\001\000\002\001\001\000\012\027\045\102\u034c\103\u0146" +
84.1846 + "\140\u0145\001\001\000\002\001\001\000\002\001\001\000" +
84.1847 + "\002\001\001\000\002\001\001\000\004\176\u034b\001\001" +
84.1848 + "\000\002\001\001\000\006\027\045\140\042\001\001\000" +
84.1849 + "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
84.1850 + "\001\001\000\002\001\001\000\006\027\045\140\046\001" +
84.1851 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.1852 + "\000\122\002\124\003\062\004\054\005\101\006\102\011" +
84.1853 + "\105\012\074\013\066\016\052\020\123\022\060\023\061" +
84.1854 + "\025\117\072\076\073\023\074\072\105\070\106\036\107" +
84.1855 + "\071\110\103\114\107\117\115\120\077\121\106\134\113" +
84.1856 + "\136\064\144\065\173\122\177\100\200\111\201\056\253" +
84.1857 + "\063\254\110\272\024\274\017\275\121\302\053\344\112" +
84.1858 + "\345\114\346\055\001\001\000\004\027\051\001\001\000" +
84.1859 + "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
84.1860 + "\001\001\000\002\001\001\000\002\001\001\000\004\027" +
84.1861 + "\u0310\001\001\000\002\001\001\000\002\001\001\000\002" +
84.1862 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.1863 + "\001\000\116\002\124\003\062\004\054\005\101\006\102" +
84.1864 + "\011\105\016\052\020\123\022\060\023\061\025\117\072" +
84.1865 + "\076\073\023\074\072\105\070\106\036\107\071\110\103" +
84.1866 + "\114\107\117\115\120\077\121\106\134\113\136\064\144" +
84.1867 + "\065\173\122\177\100\200\111\201\056\253\063\254\u02f9" +
84.1868 + "\272\024\274\017\275\121\302\053\344\112\345\114\346" +
84.1869 + "\055\001\001\000\006\027\160\146\u02e2\001\001\000\002" +
84.1870 + "\001\001\000\002\001\001\000\002\001\001\000\004\006" +
84.1871 + "\u0262\001\001\000\006\066\u025c\273\u025d\001\001\000\004" +
84.1872 + "\006\u0258\001\001\000\002\001\001\000\002\001\001\000" +
84.1873 + "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
84.1874 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.1875 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.1876 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.1877 + "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
84.1878 + "\027\045\140\042\001\001\000\002\001\001\000\002\001" +
84.1879 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.1880 + "\000\002\001\001\000\006\027\045\140\130\001\001\000" +
84.1881 + "\002\001\001\000\122\002\124\003\062\004\054\005\101" +
84.1882 + "\006\102\011\105\012\074\013\066\016\052\020\123\022" +
84.1883 + "\060\023\061\025\117\072\076\073\023\074\072\105\070" +
84.1884 + "\106\036\107\071\110\103\114\107\117\115\120\077\121" +
84.1885 + "\106\134\113\136\064\144\065\173\122\177\100\200\111" +
84.1886 + "\201\056\253\063\254\110\272\024\274\017\275\121\302" +
84.1887 + "\053\344\112\345\114\346\055\001\001\000\002\001\001" +
84.1888 + "\000\002\001\001\000\004\027\u0149\001\001\000\004\303" +
84.1889 + "\u0148\001\001\000\004\027\137\001\001\000\006\202\141" +
84.1890 + "\203\140\001\001\000\002\001\001\000\004\303\u0102\001" +
84.1891 + "\001\000\012\006\102\023\143\243\146\244\147\001\001" +
84.1892 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.1893 + "\002\001\001\000\002\001\001\000\010\006\102\023\143" +
84.1894 + "\244\152\001\001\000\002\001\001\000\002\001\001\000" +
84.1895 + "\002\001\001\000\004\006\u0101\001\001\000\004\245\156" +
84.1896 + "\001\001\000\006\027\160\146\161\001\001\000\002\001" +
84.1897 + "\001\000\002\001\001\000\004\143\162\001\001\000\002" +
84.1898 + "\001\001\000\050\026\231\027\202\030\225\031\206\032" +
84.1899 + "\201\033\213\034\211\035\210\036\217\042\222\044\224" +
84.1900 + "\103\220\154\221\155\215\160\227\163\205\164\175\257" +
84.1901 + "\207\261\200\001\001\000\004\172\167\001\001\000\004" +
84.1902 + "\027\166\001\001\000\002\001\001\000\002\001\001\000" +
84.1903 + "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
84.1904 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.1905 + "\001\000\034\026\231\027\202\030\225\036\u0100\044\224" +
84.1906 + "\103\220\154\221\155\215\160\227\163\205\164\175\257" +
84.1907 + "\207\261\200\001\001\000\002\001\001\000\002\001\001" +
84.1908 + "\000\002\001\001\000\066\026\246\027\202\030\225\031" +
84.1909 + "\355\032\201\033\256\034\211\035\210\036\217\042\222" +
84.1910 + "\044\224\103\220\154\221\155\215\160\227\161\245\163" +
84.1911 + "\205\164\175\167\244\250\251\251\243\255\360\256\357" +
84.1912 + "\257\207\260\354\261\200\001\001\000\002\001\001\000" +
84.1913 + "\002\001\001\000\006\037\322\170\316\001\001\000\002" +
84.1914 + "\001\001\000\002\001\001\000\004\043\303\001\001\000" +
84.1915 + "\034\026\231\027\202\030\225\036\353\044\224\103\220" +
84.1916 + "\154\221\155\215\160\227\163\205\164\175\257\207\261" +
84.1917 + "\200\001\001\000\010\040\262\041\267\171\264\001\001" +
84.1918 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.1919 + "\002\001\001\000\002\001\001\000\002\001\001\000\040" +
84.1920 + "\026\231\027\202\030\225\034\350\035\210\036\217\044" +
84.1921 + "\224\103\220\154\221\155\215\160\227\163\205\164\175" +
84.1922 + "\257\207\261\200\001\001\000\020\026\346\027\202\030" +
84.1923 + "\225\044\347\103\220\163\205\164\175\001\001\000\002" +
84.1924 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.1925 + "\001\000\002\001\001\000\002\001\001\000\066\026\246" +
84.1926 + "\027\202\030\225\031\247\032\201\033\256\034\211\035" +
84.1927 + "\210\036\217\042\222\044\224\103\220\154\221\155\215" +
84.1928 + "\160\227\161\245\163\205\164\175\165\255\167\244\250" +
84.1929 + "\251\251\243\255\254\256\253\257\207\261\200\001\001" +
84.1930 + "\000\010\155\242\172\241\257\207\001\001\000\010\027" +
84.1931 + "\237\103\236\160\240\001\001\000\002\001\001\000\002" +
84.1932 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.1933 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.1934 + "\000\002\001\001\000\004\214\335\001\001\000\006\037" +
84.1935 + "\322\170\316\001\001\000\002\001\001\000\002\001\001" +
84.1936 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.1937 + "\002\001\001\000\010\040\262\041\267\171\264\001\001" +
84.1938 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.1939 + "\044\026\231\027\202\030\225\033\330\034\211\035\210" +
84.1940 + "\036\217\042\222\044\224\103\220\154\221\155\215\160" +
84.1941 + "\227\163\205\164\175\257\207\261\200\001\001\000\002" +
84.1942 + "\001\001\000\046\026\311\027\202\030\225\033\310\034" +
84.1943 + "\211\035\210\036\217\042\222\044\224\103\220\154\221" +
84.1944 + "\155\215\160\227\163\205\164\175\167\307\257\207\261" +
84.1945 + "\200\001\001\000\002\001\001\000\002\001\001\000\040" +
84.1946 + "\026\231\027\202\030\225\034\300\035\210\036\217\044" +
84.1947 + "\224\103\220\154\221\155\215\160\227\163\205\164\175" +
84.1948 + "\257\207\261\200\001\001\000\002\001\001\000\044\026" +
84.1949 + "\231\027\202\030\225\033\277\034\211\035\210\036\217" +
84.1950 + "\042\222\044\224\103\220\154\221\155\215\160\227\163" +
84.1951 + "\205\164\175\257\207\261\200\001\001\000\002\001\001" +
84.1952 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.1953 + "\002\001\001\000\004\041\267\001\001\000\004\043\303" +
84.1954 + "\001\001\000\002\001\001\000\002\001\001\000\036\026" +
84.1955 + "\231\027\202\030\225\035\306\036\217\044\224\103\220" +
84.1956 + "\154\221\155\215\160\227\163\205\164\175\257\207\261" +
84.1957 + "\200\001\001\000\002\001\001\000\002\001\001\000\002" +
84.1958 + "\001\001\000\002\001\001\000\004\041\267\001\001\000" +
84.1959 + "\002\001\001\000\010\155\242\172\241\257\207\001\001" +
84.1960 + "\000\002\001\001\000\050\026\231\027\202\030\225\031" +
84.1961 + "\315\032\201\033\213\034\211\035\210\036\217\042\222" +
84.1962 + "\044\224\103\220\154\221\155\215\160\227\163\205\164" +
84.1963 + "\175\257\207\261\200\001\001\000\006\037\322\170\316" +
84.1964 + "\001\001\000\046\026\231\027\202\030\225\032\327\033" +
84.1965 + "\213\034\211\035\210\036\217\042\222\044\224\103\220" +
84.1966 + "\154\221\155\215\160\227\163\205\164\175\257\207\261" +
84.1967 + "\200\001\001\000\002\001\001\000\002\001\001\000\002" +
84.1968 + "\001\001\000\046\026\231\027\202\030\225\032\325\033" +
84.1969 + "\213\034\211\035\210\036\217\042\222\044\224\103\220" +
84.1970 + "\154\221\155\215\160\227\163\205\164\175\257\207\261" +
84.1971 + "\200\001\001\000\002\001\001\000\002\001\001\000\002" +
84.1972 + "\001\001\000\002\001\001\000\002\001\001\000\004\041" +
84.1973 + "\267\001\001\000\064\026\246\027\202\030\225\031\247" +
84.1974 + "\032\201\033\256\034\211\035\210\036\217\042\222\044" +
84.1975 + "\224\103\220\154\221\155\215\160\227\161\245\163\205" +
84.1976 + "\164\175\167\244\250\251\251\243\255\333\256\253\257" +
84.1977 + "\207\261\200\001\001\000\002\001\001\000\002\001\001" +
84.1978 + "\000\046\026\337\027\202\030\225\033\310\034\211\035" +
84.1979 + "\210\036\217\042\222\044\224\103\220\154\221\155\215" +
84.1980 + "\160\227\163\205\164\175\167\336\257\207\261\200\001" +
84.1981 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.1982 + "\000\056\026\246\027\202\030\225\031\345\032\201\033" +
84.1983 + "\256\034\211\035\210\036\217\042\222\044\224\103\220" +
84.1984 + "\154\221\155\215\160\227\163\205\164\175\167\244\250" +
84.1985 + "\344\251\343\257\207\261\200\001\001\000\050\026\231" +
84.1986 + "\027\202\030\225\031\342\032\201\033\213\034\211\035" +
84.1987 + "\210\036\217\042\222\044\224\103\220\154\221\155\215" +
84.1988 + "\160\227\163\205\164\175\257\207\261\200\001\001\000" +
84.1989 + "\006\037\322\170\316\001\001\000\002\001\001\000\002" +
84.1990 + "\001\001\000\006\037\322\170\316\001\001\000\002\001" +
84.1991 + "\001\000\002\001\001\000\004\043\303\001\001\000\034" +
84.1992 + "\026\231\027\202\030\225\036\352\044\224\103\220\154" +
84.1993 + "\221\155\215\160\227\163\205\164\175\257\207\261\200" +
84.1994 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.1995 + "\001\000\006\037\322\170\316\001\001\000\002\001\001" +
84.1996 + "\000\002\001\001\000\002\001\001\000\064\026\246\027" +
84.1997 + "\202\030\225\031\247\032\201\033\256\034\211\035\210" +
84.1998 + "\036\217\042\222\044\224\103\220\154\221\155\215\160" +
84.1999 + "\227\161\245\163\205\164\175\167\244\250\251\251\243" +
84.2000 + "\255\362\256\253\257\207\261\200\001\001\000\002\001" +
84.2001 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.2002 + "\000\002\001\001\000\066\026\246\027\202\030\225\031" +
84.2003 + "\247\032\201\033\256\034\211\035\210\036\217\042\222" +
84.2004 + "\044\224\103\220\154\221\155\215\160\227\161\245\163" +
84.2005 + "\205\164\175\165\371\167\244\250\251\251\243\255\254" +
84.2006 + "\256\253\257\207\261\200\001\001\000\002\001\001\000" +
84.2007 + "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
84.2008 + "\001\001\000\064\026\246\027\202\030\225\031\247\032" +
84.2009 + "\201\033\256\034\211\035\210\036\217\042\222\044\224" +
84.2010 + "\103\220\154\221\155\215\160\227\161\245\163\205\164" +
84.2011 + "\175\167\244\250\251\251\243\255\377\256\253\257\207" +
84.2012 + "\261\200\001\001\000\002\001\001\000\002\001\001\000" +
84.2013 + "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
84.2014 + "\304\u0104\001\001\000\024\072\u010c\173\u0107\253\u0106\305" +
84.2015 + "\u0108\307\u0105\310\u010b\344\112\345\114\346\055\001\001" +
84.2016 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.2017 + "\002\001\001\000\002\001\001\000\004\306\u010e\001\001" +
84.2018 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.2019 + "\032\006\102\023\u0110\072\u010c\173\u0107\240\u0111\253\u0106" +
84.2020 + "\307\u0112\310\u010b\311\u010f\344\112\345\114\346\055\001" +
84.2021 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.2022 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.2023 + "\006\232\u0118\233\u0117\001\001\000\002\001\001\000\020" +
84.2024 + "\021\u011c\026\u011b\027\202\030\225\103\220\163\205\164" +
84.2025 + "\175\001\001\000\004\143\u0119\001\001\000\002\001\001" +
84.2026 + "\000\002\001\001\000\010\213\u0120\214\u011f\215\u011e\001" +
84.2027 + "\001\000\002\001\001\000\050\026\231\027\202\030\225" +
84.2028 + "\031\u0122\032\201\033\213\034\211\035\210\036\217\042" +
84.2029 + "\222\044\224\103\220\154\221\155\215\160\227\163\205" +
84.2030 + "\164\175\257\207\261\200\001\001\000\002\001\001\000" +
84.2031 + "\002\001\001\000\002\001\001\000\004\172\241\001\001" +
84.2032 + "\000\012\037\322\170\316\214\u0124\216\u0123\001\001\000" +
84.2033 + "\002\001\001\000\002\001\001\000\006\076\u0126\077\u0127" +
84.2034 + "\001\001\000\002\001\001\000\002\001\001\000\060\006" +
84.2035 + "\102\023\u012b\026\u012d\027\202\030\225\033\310\034\211" +
84.2036 + "\035\210\036\217\042\222\044\224\075\u0129\100\u012a\103" +
84.2037 + "\220\154\221\155\215\160\227\163\205\164\175\166\u012f" +
84.2038 + "\167\u012c\257\207\261\200\001\001\000\002\001\001\000" +
84.2039 + "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
84.2040 + "\214\u0124\216\u0136\001\001\000\002\001\001\000\002\001" +
84.2041 + "\001\000\002\001\001\000\006\076\u0132\077\u0127\001\001" +
84.2042 + "\000\002\001\001\000\012\006\102\023\u012b\075\u0129\100" +
84.2043 + "\u012a\001\001\000\002\001\001\000\002\001\001\000\002" +
84.2044 + "\001\001\000\004\101\u013b\001\001\000\002\001\001\000" +
84.2045 + "\002\001\001\000\002\001\001\000\006\027\160\146\u013c" +
84.2046 + "\001\001\000\004\143\u013d\001\001\000\002\001\001\000" +
84.2047 + "\002\001\001\000\010\006\102\023\u012b\100\u0141\001\001" +
84.2048 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.2049 + "\014\027\045\102\u0144\103\u0146\140\u0145\152\u0147\001\001" +
84.2050 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.2051 + "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
84.2052 + "\176\u014d\312\u014c\001\001\000\002\001\001\000\012\072" +
84.2053 + "\u0151\074\u0153\313\u0152\314\u014f\001\001\000\004\173\u014e" +
84.2054 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.2055 + "\001\000\002\001\001\000\004\176\u0157\001\001\000\002" +
84.2056 + "\001\001\000\014\027\045\102\u0144\103\u0146\140\u0145\152" +
84.2057 + "\u0155\001\001\000\002\001\001\000\002\001\001\000\004" +
84.2058 + "\173\u014e\001\001\000\002\001\001\000\122\002\124\003" +
84.2059 + "\062\004\054\005\101\006\102\011\105\012\u015a\013\066" +
84.2060 + "\016\052\020\123\022\060\023\061\025\117\072\076\073" +
84.2061 + "\023\074\072\105\070\106\036\107\071\110\103\114\107" +
84.2062 + "\117\115\120\077\121\106\134\113\136\064\144\065\173" +
84.2063 + "\122\177\100\200\111\201\056\253\063\254\110\272\024" +
84.2064 + "\274\017\275\121\302\053\344\112\345\114\346\055\001" +
84.2065 + "\001\000\004\066\u015c\001\001\000\116\026\u016e\027\202" +
84.2066 + "\030\225\044\u0162\045\u017e\046\u016c\047\u016a\050\u0188\051" +
84.2067 + "\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165" +
84.2068 + "\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\147" +
84.2069 + "\u0160\150\u0178\153\u018c\157\u0164\162\u0187\163\205\164\175" +
84.2070 + "\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
84.2071 + "\u0172\322\u016f\323\u0161\324\u0181\001\001\000\002\001\001" +
84.2072 + "\000\014\027\045\102\u0144\103\u0146\140\u0145\152\u015e\001" +
84.2073 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.2074 + "\000\002\001\001\000\002\001\001\000\016\026\u0230\027" +
84.2075 + "\202\030\225\103\220\163\205\164\175\001\001\000\002" +
84.2076 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.2077 + "\001\000\050\026\231\027\202\030\225\031\u0224\032\201" +
84.2078 + "\033\213\034\211\035\210\036\217\042\222\044\224\103" +
84.2079 + "\220\154\221\155\215\160\227\163\205\164\175\257\207" +
84.2080 + "\261\200\001\001\000\002\001\001\000\002\001\001\000" +
84.2081 + "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
84.2082 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.2083 + "\001\000\002\001\001\000\002\001\001\000\036\026\u01fd" +
84.2084 + "\027\202\030\225\103\220\122\u01f4\157\u01f8\163\205\164" +
84.2085 + "\175\264\u01fb\316\u017a\317\u01f5\325\u01fc\327\u01f6\331\u01f7" +
84.2086 + "\001\001\000\020\026\u0191\027\202\030\225\070\u01ef\103" +
84.2087 + "\220\163\205\164\175\001\001\000\054\026\231\027\202" +
84.2088 + "\030\225\031\u019b\032\201\033\213\034\211\035\210\036" +
84.2089 + "\217\042\222\044\224\053\u01e1\054\u01e2\103\220\154\221" +
84.2090 + "\155\215\160\227\163\205\164\175\257\207\261\200\001" +
84.2091 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.2092 + "\000\002\001\001\000\050\026\231\027\202\030\225\031" +
84.2093 + "\u01d9\032\201\033\213\034\211\035\210\036\217\042\222" +
84.2094 + "\044\224\103\220\154\221\155\215\160\227\163\205\164" +
84.2095 + "\175\257\207\261\200\001\001\000\020\026\u01d3\027\202" +
84.2096 + "\030\225\103\220\124\u01d4\163\205\164\175\001\001\000" +
84.2097 + "\002\001\001\000\116\026\u016e\027\202\030\225\044\u0162" +
84.2098 + "\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061" +
84.2099 + "\u0179\064\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a" +
84.2100 + "\123\u018b\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162" +
84.2101 + "\u0187\163\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166" +
84.2102 + "\265\u016d\270\u01c1\271\u01bf\316\u017a\321\u0172\322\u016f\323" +
84.2103 + "\u0161\324\u0181\001\001\000\002\001\001\000\002\001\001" +
84.2104 + "\000\002\001\001\000\006\027\u01b9\320\u01b8\001\001\000" +
84.2105 + "\016\026\u01b6\027\202\030\225\103\220\163\205\164\175" +
84.2106 + "\001\001\000\050\026\231\027\202\030\225\031\u01b1\032" +
84.2107 + "\201\033\213\034\211\035\210\036\217\042\222\044\224" +
84.2108 + "\103\220\154\221\155\215\160\227\163\205\164\175\257" +
84.2109 + "\207\261\200\001\001\000\002\001\001\000\002\001\001" +
84.2110 + "\000\010\063\u0199\065\u0196\266\u0198\001\001\000\002\001" +
84.2111 + "\001\000\112\026\u016e\027\202\030\225\044\u0162\046\u016c" +
84.2112 + "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
84.2113 + "\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b" +
84.2114 + "\135\u0171\137\u0169\150\u0194\153\u018c\157\u0164\162\u0187\163" +
84.2115 + "\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
84.2116 + "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
84.2117 + "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
84.2118 + "\001\001\000\020\026\u0191\027\202\030\225\070\u0192\103" +
84.2119 + "\220\163\205\164\175\001\001\000\002\001\001\000\002" +
84.2120 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.2121 + "\001\000\002\001\001\000\122\002\124\003\062\004\054" +
84.2122 + "\005\101\006\102\011\105\012\u01ae\013\066\016\052\020" +
84.2123 + "\123\022\060\023\061\025\117\072\076\073\023\074\072" +
84.2124 + "\105\070\106\036\107\071\110\103\114\107\117\115\120" +
84.2125 + "\077\121\106\134\113\136\064\144\065\173\122\177\100" +
84.2126 + "\200\111\201\056\253\063\254\110\272\024\274\017\275" +
84.2127 + "\121\302\053\344\112\345\114\346\055\001\001\000\004" +
84.2128 + "\066\u01aa\001\001\000\002\001\001\000\004\267\u01a5\001" +
84.2129 + "\001\000\004\062\u019d\001\001\000\052\026\231\027\202" +
84.2130 + "\030\225\031\u019b\032\201\033\213\034\211\035\210\036" +
84.2131 + "\217\042\222\044\224\054\u019c\103\220\154\221\155\215" +
84.2132 + "\160\227\163\205\164\175\257\207\261\200\001\001\000" +
84.2133 + "\006\037\322\170\316\001\001\000\002\001\001\000\014" +
84.2134 + "\027\045\102\u0144\103\u0146\140\u0145\152\u01a3\001\001\000" +
84.2135 + "\114\026\u016e\027\202\030\225\044\u0162\045\u019f\046\u016c" +
84.2136 + "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
84.2137 + "\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b" +
84.2138 + "\135\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163" +
84.2139 + "\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
84.2140 + "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
84.2141 + "\112\026\u016e\027\202\030\225\044\u0162\046\u016c\047\u016a" +
84.2142 + "\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067" +
84.2143 + "\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135\u0171" +
84.2144 + "\137\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163\205\164" +
84.2145 + "\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a" +
84.2146 + "\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000\002\001" +
84.2147 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.2148 + "\000\002\001\001\000\050\026\u012d\027\202\030\225\033" +
84.2149 + "\310\034\211\035\210\036\217\042\222\044\224\103\220" +
84.2150 + "\154\221\155\215\160\227\163\205\164\175\166\u01a7\167" +
84.2151 + "\u012c\257\207\261\200\001\001\000\002\001\001\000\002" +
84.2152 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.2153 + "\001\000\014\027\045\102\u0144\103\u0146\140\u0145\152\u01ac" +
84.2154 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.2155 + "\001\000\002\001\001\000\002\001\001\000\006\037\322" +
84.2156 + "\170\316\001\001\000\050\026\231\027\202\030\225\031" +
84.2157 + "\u01b3\032\201\033\213\034\211\035\210\036\217\042\222" +
84.2158 + "\044\224\103\220\154\221\155\215\160\227\163\205\164" +
84.2159 + "\175\257\207\261\200\001\001\000\006\037\322\170\316" +
84.2160 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.2161 + "\001\000\002\001\001\000\006\076\u01ba\077\u0127\001\001" +
84.2162 + "\000\002\001\001\000\002\001\001\000\060\006\102\023" +
84.2163 + "\u012b\026\231\027\202\030\225\031\u01bc\032\201\033\213" +
84.2164 + "\034\211\035\210\036\217\042\222\044\224\075\u0129\100" +
84.2165 + "\u012a\103\220\154\221\155\215\160\227\163\205\164\175" +
84.2166 + "\257\207\261\200\001\001\000\006\037\322\170\316\001" +
84.2167 + "\001\000\002\001\001\000\002\001\001\000\004\333\u01d1" +
84.2168 + "\001\001\000\004\333\u01c3\001\001\000\002\001\001\000" +
84.2169 + "\022\026\u01c5\027\202\030\225\103\220\163\205\164\175" +
84.2170 + "\334\u01c7\335\u01c8\001\001\000\002\001\001\000\002\001" +
84.2171 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.2172 + "\000\002\001\001\000\020\026\u01c5\027\202\030\225\103" +
84.2173 + "\220\163\205\164\175\335\u01cc\001\001\000\114\026\u016e" +
84.2174 + "\027\202\030\225\044\u0162\045\u01cb\046\u016c\047\u016a\050" +
84.2175 + "\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b" +
84.2176 + "\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137" +
84.2177 + "\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205\164\175" +
84.2178 + "\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
84.2179 + "\u0172\322\u016f\323\u0161\324\u0181\001\001\000\112\026\u016e" +
84.2180 + "\027\202\030\225\044\u0162\046\u016c\047\u016a\050\u0188\051" +
84.2181 + "\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165" +
84.2182 + "\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150" +
84.2183 + "\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\175\173\u018d" +
84.2184 + "\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322" +
84.2185 + "\u016f\323\u0161\324\u0181\001\001\000\002\001\001\000\022" +
84.2186 + "\026\u01c5\027\202\030\225\103\220\163\205\164\175\334" +
84.2187 + "\u01ce\335\u01c8\001\001\000\002\001\001\000\114\026\u016e" +
84.2188 + "\027\202\030\225\044\u0162\045\u01d0\046\u016c\047\u016a\050" +
84.2189 + "\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b" +
84.2190 + "\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137" +
84.2191 + "\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205\164\175" +
84.2192 + "\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
84.2193 + "\u0172\322\u016f\323\u0161\324\u0181\001\001\000\112\026\u016e" +
84.2194 + "\027\202\030\225\044\u0162\046\u016c\047\u016a\050\u0188\051" +
84.2195 + "\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165" +
84.2196 + "\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150" +
84.2197 + "\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\175\173\u018d" +
84.2198 + "\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322" +
84.2199 + "\u016f\323\u0161\324\u0181\001\001\000\002\001\001\000\002" +
84.2200 + "\001\001\000\002\001\001\000\002\001\001\000\016\026" +
84.2201 + "\u01d7\027\202\030\225\103\220\163\205\164\175\001\001" +
84.2202 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.2203 + "\006\037\322\170\316\001\001\000\002\001\001\000\116" +
84.2204 + "\026\u016e\027\202\030\225\044\u0162\045\u017e\046\u016c\047" +
84.2205 + "\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185" +
84.2206 + "\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135" +
84.2207 + "\u0171\137\u0169\147\u01dd\150\u0178\153\u018c\157\u0164\162\u0187" +
84.2208 + "\163\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265" +
84.2209 + "\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001" +
84.2210 + "\000\002\001\001\000\002\001\001\000\014\027\045\102" +
84.2211 + "\u0144\103\u0146\140\u0145\152\u01df\001\001\000\002\001\001" +
84.2212 + "\000\002\001\001\000\004\055\u01e7\001\001\000\002\001" +
84.2213 + "\001\000\114\026\u016e\027\202\030\225\044\u0162\045\u01e4" +
84.2214 + "\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061" +
84.2215 + "\u0179\064\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a" +
84.2216 + "\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162" +
84.2217 + "\u0187\163\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166" +
84.2218 + "\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001" +
84.2219 + "\001\000\112\026\u016e\027\202\030\225\044\u0162\046\u016c" +
84.2220 + "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
84.2221 + "\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b" +
84.2222 + "\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163" +
84.2223 + "\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
84.2224 + "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
84.2225 + "\114\026\u016e\027\202\030\225\044\u0162\045\u01ee\046\u016c" +
84.2226 + "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
84.2227 + "\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b" +
84.2228 + "\135\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163" +
84.2229 + "\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
84.2230 + "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
84.2231 + "\052\026\231\027\202\030\225\031\u019b\032\201\033\213" +
84.2232 + "\034\211\035\210\036\217\042\222\044\224\054\u01eb\103" +
84.2233 + "\220\154\221\155\215\160\227\163\205\164\175\257\207" +
84.2234 + "\261\200\001\001\000\002\001\001\000\002\001\001\000" +
84.2235 + "\002\001\001\000\002\001\001\000\002\001\001\000\114" +
84.2236 + "\026\u016e\027\202\030\225\044\u0162\045\u01ed\046\u016c\047" +
84.2237 + "\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185" +
84.2238 + "\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135" +
84.2239 + "\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205" +
84.2240 + "\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316" +
84.2241 + "\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000\112" +
84.2242 + "\026\u016e\027\202\030\225\044\u0162\046\u016c\047\u016a\050" +
84.2243 + "\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b" +
84.2244 + "\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137" +
84.2245 + "\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\175" +
84.2246 + "\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
84.2247 + "\u0172\322\u016f\323\u0161\324\u0181\001\001\000\112\026\u016e" +
84.2248 + "\027\202\030\225\044\u0162\046\u016c\047\u016a\050\u0188\051" +
84.2249 + "\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165" +
84.2250 + "\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150" +
84.2251 + "\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\175\173\u018d" +
84.2252 + "\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322" +
84.2253 + "\u016f\323\u0161\324\u0181\001\001\000\004\156\u01f0\001\001" +
84.2254 + "\000\002\001\001\000\052\026\231\027\202\030\225\031" +
84.2255 + "\u019b\032\201\033\213\034\211\035\210\036\217\042\222" +
84.2256 + "\044\224\054\u01f2\103\220\154\221\155\215\160\227\163" +
84.2257 + "\205\164\175\257\207\261\200\001\001\000\002\001\001" +
84.2258 + "\000\002\001\001\000\116\026\u016e\027\202\030\225\044" +
84.2259 + "\u0162\045\u0205\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170" +
84.2260 + "\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\220\104" +
84.2261 + "\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c" +
84.2262 + "\157\u0164\162\u0187\163\205\164\175\173\u018d\262\u0189\263" +
84.2263 + "\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161" +
84.2264 + "\324\u0181\330\u0220\001\001\000\116\026\u016e\027\202\030" +
84.2265 + "\225\044\u0162\045\u0205\046\u016c\047\u016a\050\u0188\051\u0173" +
84.2266 + "\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103" +
84.2267 + "\220\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178" +
84.2268 + "\153\u018c\157\u0164\162\u0187\163\205\164\175\173\u018d\262" +
84.2269 + "\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f" +
84.2270 + "\323\u0161\324\u0181\330\u0214\001\001\000\002\001\001\000" +
84.2271 + "\002\001\001\000\002\001\001\000\002\001\001\000\052" +
84.2272 + "\026\231\027\202\030\225\031\u019b\032\201\033\213\034" +
84.2273 + "\211\035\210\036\217\042\222\044\224\054\u020a\103\220" +
84.2274 + "\154\221\155\215\160\227\163\205\164\175\257\207\261" +
84.2275 + "\200\001\001\000\116\026\u016e\027\202\030\225\044\u0162" +
84.2276 + "\045\u0205\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056" +
84.2277 + "\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\220\104\u0180" +
84.2278 + "\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c\157" +
84.2279 + "\u0164\162\u0187\163\205\164\175\173\u018d\262\u0189\263\u0167" +
84.2280 + "\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324" +
84.2281 + "\u0181\330\u0209\001\001\000\004\326\u01ff\001\001\000\002" +
84.2282 + "\001\001\000\002\001\001\000\004\055\u0200\001\001\000" +
84.2283 + "\002\001\001\000\014\122\u0202\264\u01fb\316\u017a\325\u0203" +
84.2284 + "\327\u01f6\001\001\000\116\026\u016e\027\202\030\225\044" +
84.2285 + "\u0162\045\u0205\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170" +
84.2286 + "\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\220\104" +
84.2287 + "\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c" +
84.2288 + "\157\u0164\162\u0187\163\205\164\175\173\u018d\262\u0189\263" +
84.2289 + "\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161" +
84.2290 + "\324\u0181\330\u0204\001\001\000\002\001\001\000\002\001" +
84.2291 + "\001\000\112\026\u016e\027\202\030\225\044\u0162\046\u016c" +
84.2292 + "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
84.2293 + "\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b" +
84.2294 + "\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163" +
84.2295 + "\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
84.2296 + "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
84.2297 + "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
84.2298 + "\001\001\000\002\001\001\000\012\122\u0202\264\u01fb\316" +
84.2299 + "\u017a\327\u020c\001\001\000\002\001\001\000\002\001\001" +
84.2300 + "\000\002\001\001\000\114\026\u016e\027\202\030\225\044" +
84.2301 + "\u0162\045\u0210\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170" +
84.2302 + "\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\220\104" +
84.2303 + "\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c" +
84.2304 + "\157\u0164\162\u0187\163\205\164\175\173\u018d\262\u0189\263" +
84.2305 + "\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161" +
84.2306 + "\324\u0181\001\001\000\112\026\u016e\027\202\030\225\044" +
84.2307 + "\u0162\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177" +
84.2308 + "\061\u0179\064\u0185\067\u016b\071\u0165\103\220\104\u0180\122" +
84.2309 + "\u018a\123\u018b\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164" +
84.2310 + "\162\u0187\163\205\164\175\173\u018d\262\u0189\263\u0167\264" +
84.2311 + "\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181" +
84.2312 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.2313 + "\001\000\002\001\001\000\114\026\u016e\027\202\030\225" +
84.2314 + "\044\u0162\045\u021c\046\u016c\047\u016a\050\u0188\051\u0173\052" +
84.2315 + "\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\220" +
84.2316 + "\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153" +
84.2317 + "\u018c\157\u0164\162\u0187\163\205\164\175\173\u018d\262\u0189" +
84.2318 + "\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323" +
84.2319 + "\u0161\324\u0181\001\001\000\004\122\u0217\001\001\000\116" +
84.2320 + "\026\u016e\027\202\030\225\044\u0162\045\u0205\046\u016c\047" +
84.2321 + "\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185" +
84.2322 + "\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135" +
84.2323 + "\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205" +
84.2324 + "\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316" +
84.2325 + "\u017a\321\u0172\322\u016f\323\u0161\324\u0181\330\u0218\001\001" +
84.2326 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.2327 + "\002\001\001\000\112\026\u016e\027\202\030\225\044\u0162" +
84.2328 + "\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061" +
84.2329 + "\u0179\064\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a" +
84.2330 + "\123\u018b\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162" +
84.2331 + "\u0187\163\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166" +
84.2332 + "\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001" +
84.2333 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.2334 + "\000\002\001\001\000\050\026\231\027\202\030\225\031" +
84.2335 + "\u0222\032\201\033\213\034\211\035\210\036\217\042\222" +
84.2336 + "\044\224\103\220\154\221\155\215\160\227\163\205\164" +
84.2337 + "\175\257\207\261\200\001\001\000\006\037\322\170\316" +
84.2338 + "\001\001\000\002\001\001\000\006\037\322\170\316\001" +
84.2339 + "\001\000\004\176\u0226\001\001\000\006\057\u0227\173\u014e" +
84.2340 + "\001\001\000\004\060\u0228\001\001\000\002\001\001\000" +
84.2341 + "\060\026\246\027\202\030\225\031\345\032\201\033\256" +
84.2342 + "\034\211\035\210\036\217\042\222\044\224\103\220\154" +
84.2343 + "\221\155\215\160\227\161\u022d\163\205\164\175\167\244" +
84.2344 + "\250\251\251\343\257\207\261\200\001\001\000\002\001" +
84.2345 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.2346 + "\000\114\026\u016e\027\202\030\225\044\u0162\045\u022f\046" +
84.2347 + "\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179" +
84.2348 + "\064\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123" +
84.2349 + "\u018b\135\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187" +
84.2350 + "\163\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265" +
84.2351 + "\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001" +
84.2352 + "\000\112\026\u016e\027\202\030\225\044\u0162\046\u016c\047" +
84.2353 + "\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185" +
84.2354 + "\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135" +
84.2355 + "\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163\205" +
84.2356 + "\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316" +
84.2357 + "\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000\002" +
84.2358 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.2359 + "\001\000\002\001\001\000\002\001\001\000\006\076\u0237" +
84.2360 + "\077\u0127\001\001\000\002\001\001\000\014\006\102\023" +
84.2361 + "\u012b\075\u0129\100\u012a\266\u0239\001\001\000\050\026\u012d" +
84.2362 + "\027\202\030\225\033\310\034\211\035\210\036\217\042" +
84.2363 + "\222\044\224\103\220\154\221\155\215\160\227\163\205" +
84.2364 + "\164\175\166\u023a\167\u012c\257\207\261\200\001\001\000" +
84.2365 + "\002\001\001\000\006\076\u023c\077\u0127\001\001\000\002" +
84.2366 + "\001\001\000\052\026\231\027\202\030\225\031\u019b\032" +
84.2367 + "\201\033\213\034\211\035\210\036\217\042\222\044\224" +
84.2368 + "\054\u023e\103\220\154\221\155\215\160\227\163\205\164" +
84.2369 + "\175\257\207\261\200\001\001\000\004\315\u0241\001\001" +
84.2370 + "\000\002\001\001\000\122\002\124\003\062\004\054\005" +
84.2371 + "\101\006\102\011\105\012\u0242\013\066\016\052\020\123" +
84.2372 + "\022\060\023\061\025\117\072\076\073\023\074\072\105" +
84.2373 + "\070\106\036\107\071\110\103\114\107\117\115\120\077" +
84.2374 + "\121\106\134\113\136\064\144\065\173\122\177\100\200" +
84.2375 + "\111\201\056\253\063\254\110\272\024\274\017\275\121" +
84.2376 + "\302\053\344\112\345\114\346\055\001\001\000\002\001" +
84.2377 + "\001\000\004\066\u0243\001\001\000\002\001\001\000\014" +
84.2378 + "\027\045\102\u0144\103\u0146\140\u0145\152\u0245\001\001\000" +
84.2379 + "\002\001\001\000\002\001\001\000\052\026\231\027\202" +
84.2380 + "\030\225\031\u019b\032\201\033\213\034\211\035\210\036" +
84.2381 + "\217\042\222\044\224\054\u0248\103\220\154\221\155\215" +
84.2382 + "\160\227\163\205\164\175\257\207\261\200\001\001\000" +
84.2383 + "\004\315\u0249\001\001\000\002\001\001\000\002\001\001" +
84.2384 + "\000\002\001\001\000\002\001\001\000\016\026\u0256\027" +
84.2385 + "\202\030\225\103\220\163\205\164\175\001\001\000\124" +
84.2386 + "\002\124\003\062\004\054\005\101\006\102\011\105\012" +
84.2387 + "\u015a\013\066\016\052\020\123\022\060\023\061\025\117" +
84.2388 + "\072\076\073\023\074\072\105\070\106\036\107\071\110" +
84.2389 + "\103\114\107\117\115\120\077\121\106\134\113\136\064" +
84.2390 + "\144\065\173\122\177\100\200\111\201\056\253\063\254" +
84.2391 + "\110\272\024\274\017\275\121\302\053\343\u0250\344\112" +
84.2392 + "\345\114\346\055\001\001\000\002\001\001\000\002\001" +
84.2393 + "\001\000\002\001\001\000\016\026\u0253\027\202\030\225" +
84.2394 + "\103\220\163\205\164\175\001\001\000\002\001\001\000" +
84.2395 + "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
84.2396 + "\001\001\000\002\001\001\000\020\021\u025a\026\u011b\027" +
84.2397 + "\202\030\225\103\220\163\205\164\175\001\001\000\002" +
84.2398 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.2399 + "\001\000\010\027\045\140\u025f\141\u0260\001\001\000\002" +
84.2400 + "\001\001\000\002\001\001\000\002\001\001\000\006\202" +
84.2401 + "\u0263\203\140\001\001\000\004\145\u0264\001\001\000\002" +
84.2402 + "\001\001\000\042\017\u026c\111\u0272\112\u0268\204\u0267\205" +
84.2403 + "\u0271\206\u0275\207\u027b\210\u026f\211\u026b\212\u0277\214\u027a" +
84.2404 + "\222\u026d\224\u0270\225\u0276\226\u027d\227\u027e\001\001\000" +
84.2405 + "\050\026\231\027\202\030\225\031\u02e0\032\201\033\213" +
84.2406 + "\034\211\035\210\036\217\042\222\044\224\103\220\154" +
84.2407 + "\221\155\215\160\227\163\205\164\175\257\207\261\200" +
84.2408 + "\001\001\000\002\001\001\000\004\113\u02dd\001\001\000" +
84.2409 + "\002\001\001\000\022\021\u02d3\026\u011b\027\202\030\225" +
84.2410 + "\103\220\163\205\164\175\252\u02d0\001\001\000\002\001" +
84.2411 + "\001\000\002\001\001\000\002\001\001\000\006\220\u02cb" +
84.2412 + "\221\u02ca\001\001\000\002\001\001\000\002\001\001\000" +
84.2413 + "\002\001\001\000\002\001\001\000\050\026\231\027\202" +
84.2414 + "\030\225\031\u02c3\032\201\033\213\034\211\035\210\036" +
84.2415 + "\217\042\222\044\224\103\220\154\221\155\215\160\227" +
84.2416 + "\163\205\164\175\257\207\261\200\001\001\000\050\026" +
84.2417 + "\231\027\202\030\225\031\u02c0\032\201\033\213\034\211" +
84.2418 + "\035\210\036\217\042\222\044\224\103\220\154\221\155" +
84.2419 + "\215\160\227\163\205\164\175\257\207\261\200\001\001" +
84.2420 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.2421 + "\002\001\001\000\020\021\u0294\026\u011b\027\202\030\225" +
84.2422 + "\103\220\163\205\164\175\001\001\000\002\001\001\000" +
84.2423 + "\002\001\001\000\004\234\u027f\001\001\000\002\001\001" +
84.2424 + "\000\002\001\001\000\002\001\001\000\056\026\u0285\027" +
84.2425 + "\202\030\225\033\310\034\211\035\210\036\217\042\222" +
84.2426 + "\044\224\103\220\154\221\155\215\160\227\163\205\164" +
84.2427 + "\175\166\u0284\167\u012c\230\u0281\231\u0282\235\u0283\257\207" +
84.2428 + "\261\200\001\001\000\002\001\001\000\002\001\001\000" +
84.2429 + "\002\001\001\000\002\001\001\000\006\214\u0124\216\u0136" +
84.2430 + "\001\001\000\046\026\337\027\202\030\225\033\310\034" +
84.2431 + "\211\035\210\036\217\042\222\044\224\103\220\154\221" +
84.2432 + "\155\215\160\227\163\205\164\175\167\336\257\207\261" +
84.2433 + "\200\001\001\000\002\001\001\000\050\026\u012d\027\202" +
84.2434 + "\030\225\033\310\034\211\035\210\036\217\042\222\044" +
84.2435 + "\224\103\220\154\221\155\215\160\227\163\205\164\175" +
84.2436 + "\166\u028a\167\u012c\257\207\261\200\001\001\000\002\001" +
84.2437 + "\001\000\002\001\001\000\020\026\u028f\027\202\030\225" +
84.2438 + "\103\220\163\205\164\175\231\u0290\001\001\000\002\001" +
84.2439 + "\001\000\006\232\u028e\233\u0117\001\001\000\002\001\001" +
84.2440 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.2441 + "\006\232\u0293\233\u0117\001\001\000\002\001\001\000\002" +
84.2442 + "\001\001\000\004\217\u0297\001\001\000\004\176\u029b\001" +
84.2443 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.2444 + "\000\002\001\001\000\020\006\102\023\u0110\173\u014e\236" +
84.2445 + "\u029e\237\u029d\240\u02a0\242\u02a1\001\001\000\002\001\001" +
84.2446 + "\000\006\176\u02b4\241\u02b3\001\001\000\002\001\001\000" +
84.2447 + "\004\027\u02a3\001\001\000\002\001\001\000\004\176\u02a2" +
84.2448 + "\001\001\000\004\173\u014e\001\001\000\002\001\001\000" +
84.2449 + "\004\176\u02a5\001\001\000\010\173\u014e\246\u02a8\247\u02a6" +
84.2450 + "\001\001\000\002\001\001\000\060\026\246\027\202\030" +
84.2451 + "\225\031\345\032\201\033\256\034\211\035\210\036\217" +
84.2452 + "\042\222\044\224\103\220\154\221\155\215\160\227\161" +
84.2453 + "\u02ad\163\205\164\175\167\244\250\251\251\343\257\207" +
84.2454 + "\261\200\001\001\000\004\247\u02a9\001\001\000\002\001" +
84.2455 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.2456 + "\000\002\001\001\000\004\176\u02af\001\001\000\020\006" +
84.2457 + "\102\023\u0110\173\u014e\236\u02b0\237\u029d\240\u02a0\242\u02a1" +
84.2458 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.2459 + "\001\000\002\001\001\000\014\006\102\023\u0110\173\u014e" +
84.2460 + "\240\u02b5\242\u02b6\001\001\000\002\001\001\000\004\176" +
84.2461 + "\u02b7\001\001\000\004\173\u014e\001\001\000\004\176\u02b9" +
84.2462 + "\001\001\000\004\173\u014e\001\001\000\002\001\001\000" +
84.2463 + "\020\021\u02bc\026\u011b\027\202\030\225\103\220\163\205" +
84.2464 + "\164\175\001\001\000\002\001\001\000\004\217\u02be\001" +
84.2465 + "\001\000\002\001\001\000\002\001\001\000\014\037\322" +
84.2466 + "\170\316\214\u027a\222\u02c2\223\u02c1\001\001\000\002\001" +
84.2467 + "\001\000\002\001\001\000\012\037\322\170\316\214\u027a" +
84.2468 + "\222\u02c4\001\001\000\002\001\001\000\050\026\231\027" +
84.2469 + "\202\030\225\031\u02c6\032\201\033\213\034\211\035\210" +
84.2470 + "\036\217\042\222\044\224\103\220\154\221\155\215\160" +
84.2471 + "\227\163\205\164\175\257\207\261\200\001\001\000\014" +
84.2472 + "\037\322\170\316\214\u027a\222\u02c2\223\u02c7\001\001\000" +
84.2473 + "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
84.2474 + "\001\001\000\002\001\001\000\004\221\u02ce\001\001\000" +
84.2475 + "\002\001\001\000\002\001\001\000\020\021\u02db\026\u011b" +
84.2476 + "\027\202\030\225\103\220\163\205\164\175\001\001\000" +
84.2477 + "\002\001\001\000\020\021\u02d4\026\u011b\027\202\030\225" +
84.2478 + "\103\220\163\205\164\175\001\001\000\002\001\001\000" +
84.2479 + "\002\001\001\000\002\001\001\000\006\076\u02da\077\u0127" +
84.2480 + "\001\001\000\006\076\u02d7\077\u0127\001\001\000\002\001" +
84.2481 + "\001\000\006\027\160\146\u02d9\001\001\000\002\001\001" +
84.2482 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.2483 + "\004\217\u02de\001\001\000\002\001\001\000\002\001\001" +
84.2484 + "\000\006\037\322\170\316\001\001\000\002\001\001\000" +
84.2485 + "\002\001\001\000\050\026\231\027\202\030\225\031\u02e5" +
84.2486 + "\032\201\033\213\034\211\035\210\036\217\042\222\044" +
84.2487 + "\224\103\220\154\221\155\215\160\227\163\205\164\175" +
84.2488 + "\257\207\261\200\001\001\000\050\026\231\027\202\030" +
84.2489 + "\225\031\u02f7\032\201\033\213\034\211\035\210\036\217" +
84.2490 + "\042\222\044\224\103\220\154\221\155\215\160\227\163" +
84.2491 + "\205\164\175\257\207\261\200\001\001\000\006\037\322" +
84.2492 + "\170\316\001\001\000\004\347\u02e8\001\001\000\002\001" +
84.2493 + "\001\000\004\350\u02e9\001\001\000\006\027\160\146\u02eb" +
84.2494 + "\001\001\000\002\001\001\000\002\001\001\000\050\026" +
84.2495 + "\231\027\202\030\225\031\u02ed\032\201\033\213\034\211" +
84.2496 + "\035\210\036\217\042\222\044\224\103\220\154\221\155" +
84.2497 + "\215\160\227\163\205\164\175\257\207\261\200\001\001" +
84.2498 + "\000\006\037\322\170\316\001\001\000\046\026\337\027" +
84.2499 + "\202\030\225\033\310\034\211\035\210\036\217\042\222" +
84.2500 + "\044\224\103\220\154\221\155\215\160\227\163\205\164" +
84.2501 + "\175\167\u02ef\257\207\261\200\001\001\000\002\001\001" +
84.2502 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.2503 + "\050\026\231\027\202\030\225\031\u02f4\032\201\033\213" +
84.2504 + "\034\211\035\210\036\217\042\222\044\224\103\220\154" +
84.2505 + "\221\155\215\160\227\163\205\164\175\257\207\261\200" +
84.2506 + "\001\001\000\006\037\322\170\316\001\001\000\002\001" +
84.2507 + "\001\000\002\001\001\000\006\037\322\170\316\001\001" +
84.2508 + "\000\002\001\001\000\002\001\001\000\004\024\u02fe\001" +
84.2509 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.2510 + "\000\030\021\u0300\026\u011b\027\202\030\225\103\220\142" +
84.2511 + "\u02ff\163\205\164\175\207\u0301\226\u027d\227\u027e\001\001" +
84.2512 + "\000\004\143\u0305\001\001\000\002\001\001\000\002\001" +
84.2513 + "\001\000\016\026\u0303\027\202\030\225\103\220\163\205" +
84.2514 + "\164\175\001\001\000\002\001\001\000\002\001\001\000" +
84.2515 + "\002\001\001\000\002\001\001\000\050\026\231\027\202" +
84.2516 + "\030\225\031\u0308\032\201\033\213\034\211\035\210\036" +
84.2517 + "\217\042\222\044\224\103\220\154\221\155\215\160\227" +
84.2518 + "\163\205\164\175\257\207\261\200\001\001\000\006\037" +
84.2519 + "\322\170\316\001\001\000\002\001\001\000\002\001\001" +
84.2520 + "\000\002\001\001\000\016\026\u030d\027\202\030\225\103" +
84.2521 + "\220\163\205\164\175\001\001\000\002\001\001\000\002" +
84.2522 + "\001\001\000\004\027\u0324\001\001\000\004\276\u0323\001" +
84.2523 + "\001\000\004\027\u0312\001\001\000\006\202\u0313\203\140" +
84.2524 + "\001\001\000\004\276\u0315\001\001\000\006\176\u0317\277" +
84.2525 + "\u0316\001\001\000\002\001\001\000\006\300\u0319\310\u0318" +
84.2526 + "\001\001\000\004\173\u014e\001\001\000\004\176\u0322\001" +
84.2527 + "\001\000\014\253\u031a\301\u031b\344\112\345\114\346\055" +
84.2528 + "\001\001\000\004\176\u0321\001\001\000\002\001\001\000" +
84.2529 + "\006\176\u0317\277\u031d\001\001\000\006\300\u031e\310\u0318" +
84.2530 + "\001\001\000\012\253\u031a\344\112\345\114\346\055\001" +
84.2531 + "\001\000\014\027\045\102\u0144\103\u0146\140\u0145\152\u0320" +
84.2532 + "\001\001\000\002\001\001\000\004\173\u014e\001\001\000" +
84.2533 + "\004\173\u014e\001\001\000\002\001\001\000\002\001\001" +
84.2534 + "\000\122\002\124\003\062\004\054\005\101\006\102\011" +
84.2535 + "\105\012\u0327\013\066\016\052\020\123\022\060\023\061" +
84.2536 + "\025\117\072\076\073\023\074\072\105\070\106\036\107" +
84.2537 + "\071\110\103\114\107\117\115\120\077\121\106\134\113" +
84.2538 + "\136\064\144\065\173\122\177\100\200\111\201\056\253" +
84.2539 + "\063\254\110\272\024\274\017\275\121\302\053\344\112" +
84.2540 + "\345\114\346\055\001\001\000\002\001\001\000\004\066" +
84.2541 + "\u0328\001\001\000\002\001\001\000\014\027\045\102\u0144" +
84.2542 + "\103\u0146\140\u0145\152\u032a\001\001\000\002\001\001\000" +
84.2543 + "\002\001\001\000\002\001\001\000\002\001\001\000\016" +
84.2544 + "\026\u0348\027\202\030\225\103\220\163\205\164\175\001" +
84.2545 + "\001\000\110\002\124\003\062\004\054\005\101\006\102" +
84.2546 + "\007\u0333\010\u0337\011\u0334\020\123\022\060\023\061\025" +
84.2547 + "\117\072\u0332\073\023\105\070\106\036\114\107\117\115" +
84.2548 + "\120\077\134\113\136\064\144\065\173\122\177\100\200" +
84.2549 + "\111\201\056\253\063\272\024\274\017\275\121\302\053" +
84.2550 + "\343\u0331\344\112\345\114\346\055\001\001\000\004\027" +
84.2551 + "\u0310\001\001\000\002\001\001\000\002\001\001\000\004" +
84.2552 + "\014\u033f\001\001\000\002\001\001\000\002\001\001\000" +
84.2553 + "\006\027\045\140\042\001\001\000\102\002\124\003\062" +
84.2554 + "\004\054\005\101\006\102\011\u0338\020\123\022\060\023" +
84.2555 + "\061\025\117\072\u0332\073\023\105\070\106\036\114\107" +
84.2556 + "\117\115\120\077\134\113\136\064\144\065\173\122\177" +
84.2557 + "\100\200\111\201\056\253\063\272\024\274\017\275\121" +
84.2558 + "\302\053\344\112\345\114\346\055\001\001\000\002\001" +
84.2559 + "\001\000\006\027\045\140\u033a\001\001\000\002\001\001" +
84.2560 + "\000\002\001\001\000\004\027\u033d\001\001\000\002\001" +
84.2561 + "\001\000\002\001\001\000\002\001\001\000\106\002\124" +
84.2562 + "\003\062\004\054\005\101\006\102\007\u0341\010\u0337\011" +
84.2563 + "\u0334\020\123\022\060\023\061\025\117\072\u0332\073\023" +
84.2564 + "\105\070\106\036\114\107\117\115\120\077\134\113\136" +
84.2565 + "\064\144\065\173\122\177\100\200\111\201\056\253\063" +
84.2566 + "\272\024\274\017\275\121\302\053\344\112\345\114\346" +
84.2567 + "\055\001\001\000\002\001\001\000\010\027\045\140\u025f" +
84.2568 + "\141\u0343\001\001\000\002\001\001\000\004\343\u0250\001" +
84.2569 + "\001\000\004\027\u0346\001\001\000\002\001\001\000\002" +
84.2570 + "\001\001\000\002\001\001\000\002\001\001\000\124\002" +
84.2571 + "\124\003\062\004\054\005\101\006\102\011\105\012\u015a" +
84.2572 + "\013\066\016\052\020\123\022\060\023\061\025\117\072" +
84.2573 + "\076\073\023\074\072\105\070\106\036\107\071\110\103" +
84.2574 + "\114\107\117\115\120\077\121\106\134\113\136\064\144" +
84.2575 + "\065\173\122\177\100\200\111\201\056\253\063\254\110" +
84.2576 + "\272\024\274\017\275\121\302\053\343\u0250\344\112\345" +
84.2577 + "\114\346\055\001\001\000\004\173\u014e\001\001\000\006" +
84.2578 + "\076\u034d\077\u0127\001\001\000\002\001\001\000\016\026" +
84.2579 + "\u034f\027\202\030\225\103\220\163\205\164\175\001\001" +
84.2580 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.2581 + "\006\027\045\140\u0353\001\001\000\002\001\001\000\016" +
84.2582 + "\015\u035b\016\u0358\072\u035d\074\u0356\107\u035c\121\u0359\001" +
84.2583 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.2584 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.2585 + "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
84.2586 + "\027\u035f\001\001\000\002\001\001\000\006\176\u014d\312" +
84.2587 + "\u014c\001\001\000\004\027\u0362\001\001\000\002\001\001" +
84.2588 + "\000\122\002\124\003\062\004\054\005\101\006\102\011" +
84.2589 + "\105\012\u0327\013\066\016\052\020\123\022\060\023\061" +
84.2590 + "\025\117\072\076\073\023\074\072\105\070\106\036\107" +
84.2591 + "\071\110\103\114\107\117\115\120\077\121\106\134\113" +
84.2592 + "\136\064\144\065\173\122\177\100\200\111\201\056\253" +
84.2593 + "\063\254\110\272\024\274\017\275\121\302\053\344\112" +
84.2594 + "\345\114\346\055\001\001\000\006\076\u0365\077\u0127\001" +
84.2595 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.2596 + "\000\006\027\045\140\u03b2\001\001\000\002\001\001\000" +
84.2597 + "\004\027\u038c\001\001\000\002\001\001\000\002\001\001" +
84.2598 + "\000\002\001\001\000\002\001\001\000\016\026\u0370\027" +
84.2599 + "\202\030\225\103\220\163\205\164\175\001\001\000\002" +
84.2600 + "\001\001\000\002\001\001\000\004\027\u0387\001\001\000" +
84.2601 + "\004\027\u037e\001\001\000\012\027\045\102\u0375\103\u0146" +
84.2602 + "\140\u0145\001\001\000\006\076\u0376\077\u0127\001\001\000" +
84.2603 + "\002\001\001\000\016\026\u0378\027\202\030\225\103\220" +
84.2604 + "\163\205\164\175\001\001\000\004\341\u037a\001\001\000" +
84.2605 + "\016\026\u037d\027\202\030\225\103\220\163\205\164\175" +
84.2606 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.2607 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.2608 + "\000\016\026\u0381\027\202\030\225\103\220\163\205\164" +
84.2609 + "\175\001\001\000\002\001\001\000\002\001\001\000\066" +
84.2610 + "\026\246\027\202\030\225\031\247\032\201\033\256\034" +
84.2611 + "\211\035\210\036\217\042\222\044\224\103\220\154\221" +
84.2612 + "\155\215\160\227\161\245\163\205\164\175\165\255\167" +
84.2613 + "\244\250\251\251\243\255\254\256\253\257\207\261\200" +
84.2614 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.2615 + "\001\000\006\076\u0388\077\u0127\001\001\000\004\341\u0389" +
84.2616 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.2617 + "\001\000\006\203\u038d\337\u038f\001\001\000\002\001\001" +
84.2618 + "\000\012\006\102\023\143\243\146\244\147\001\001\000" +
84.2619 + "\002\001\001\000\022\111\u0397\112\u0393\207\u039d\211\u0395" +
84.2620 + "\226\u027d\227\u027e\340\u0394\342\u039a\001\001\000\002\001" +
84.2621 + "\001\000\002\001\001\000\004\113\u03ac\001\001\000\002" +
84.2622 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.2623 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.2624 + "\000\002\001\001\000\020\021\u039e\026\u011b\027\202\030" +
84.2625 + "\225\103\220\163\205\164\175\001\001\000\002\001\001" +
84.2626 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.2627 + "\020\021\u03a2\026\u011b\027\202\030\225\103\220\163\205" +
84.2628 + "\164\175\001\001\000\002\001\001\000\002\001\001\000" +
84.2629 + "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
84.2630 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.2631 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.2632 + "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
84.2633 + "\002\001\001\000\002\001\001\000\016\026\u03b5\027\202" +
84.2634 + "\030\225\103\220\163\205\164\175\001\001\000\106\002" +
84.2635 + "\124\003\062\004\054\005\101\006\102\007\u0333\010\u0337" +
84.2636 + "\011\u0334\020\123\022\060\023\061\025\117\072\u0332\073" +
84.2637 + "\023\105\070\106\036\114\107\117\115\120\077\134\113" +
84.2638 + "\136\064\144\065\173\122\177\100\200\111\201\056\253" +
84.2639 + "\063\272\024\274\017\275\121\302\053\344\112\345\114" +
84.2640 + "\346\055\001\001\000\002\001\001\000\002\001\001\000" +
84.2641 + "\002\001\001\000\002\001\001\000\020\026\u03ba\027\202" +
84.2642 + "\030\225\103\220\116\u03bb\163\205\164\175\001\001\000" +
84.2643 + "\002\001\001\000\002\001\001\000\016\026\u03be\027\202" +
84.2644 + "\030\225\103\220\163\205\164\175\001\001\000\002\001" +
84.2645 + "\001\000\002\001\001\000\016\026\u03c1\027\202\030\225" +
84.2646 + "\103\220\163\205\164\175\001\001\000\002\001\001\000" +
84.2647 + "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
84.2648 + "\027\045\140\u03c6\001\001\000\002\001\001\000\002\001" +
84.2649 + "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
84.2650 + "\000\034\005\025\072\034\073\023\074\037\105\030\106" +
84.2651 + "\036\107\022\120\032\130\u03cb\136\031\151\040\272\024" +
84.2652 + "\274\017\001\001\000\004\176\u03cc\001\001\000\004\173" +
84.2653 + "\u014e\001\001\000\004\173\u014e\001\001\000\002\001\001" +
84.2654 + "\000\002\001\001\000\002\001\001\000\054\026\231\027" +
84.2655 + "\u03d4\030\225\031\u03d5\032\201\033\213\034\211\035\210" +
84.2656 + "\036\217\042\222\044\224\103\220\154\221\155\215\160" +
84.2657 + "\227\163\205\164\175\174\u03d3\175\u03d2\257\207\261\200" +
84.2658 + "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
84.2659 + "\001\000\006\037\322\170\316\001\001\000\050\026\231" +
84.2660 + "\027\202\030\225\031\u03d7\032\201\033\213\034\211\035" +
84.2661 + "\210\036\217\042\222\044\224\103\220\154\221\155\215" +
84.2662 + "\160\227\163\205\164\175\257\207\261\200\001\001\000" +
84.2663 + "\006\037\322\170\316\001\001\000\052\026\231\027\u03d4" +
84.2664 + "\030\225\031\u03d5\032\201\033\213\034\211\035\210\036" +
84.2665 + "\217\042\222\044\224\103\220\154\221\155\215\160\227" +
84.2666 + "\163\205\164\175\175\u03db\257\207\261\200\001\001\000" +
84.2667 + "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
84.2668 + "\001\001" });
84.2669 +
84.2670 + /** Access to <code>reduce_goto</code> table. */
84.2671 + public short[][] reduce_table() {return _reduce_table;}
84.2672 +
84.2673 + /** Instance of action encapsulation class. */
84.2674 + protected CUP$AdaASTParser$actions action_obj;
84.2675 +
84.2676 + /** Action encapsulation object initializer. */
84.2677 + protected void init_actions()
84.2678 + {
84.2679 + action_obj = new CUP$AdaASTParser$actions(this);
84.2680 + }
84.2681 +
84.2682 + /** Invoke a user supplied parse action. */
84.2683 + public java_cup.runtime.Symbol do_action(
84.2684 + int act_num,
84.2685 + java_cup.runtime.lr_parser parser,
84.2686 + java.util.Stack stack,
84.2687 + int top)
84.2688 + throws java.lang.Exception
84.2689 + {
84.2690 + /* call code in generated class */
84.2691 + return action_obj.CUP$AdaASTParser$do_action(act_num, parser, stack, top);
84.2692 + }
84.2693 +
84.2694 + /** Indicates start state. */
84.2695 + public int start_state() {return 0;}
84.2696 + /** Indicates start production. */
84.2697 + public int start_production() {return 0;}
84.2698 +
84.2699 + /** <code>EOF</code> Symbol index. */
84.2700 + public int EOF_sym() {return 0;}
84.2701 +
84.2702 + /** <code>error</code> Symbol index. */
84.2703 + public int error_sym() {return 1;}
84.2704 +
84.2705 +
84.2706 +
84.2707 + protected final static Integer PUBLIC = new Integer(BodyDeclaration.Modifier.PUBLIC);
84.2708 + protected final static Integer PRIVATE = new Integer(BodyDeclaration.Modifier.PRIVATE);
84.2709 + protected final static Integer TAGGED = new Integer(BodyDeclaration.Modifier.TAGGED);
84.2710 + protected final static Integer LIMITED = new Integer(BodyDeclaration.Modifier.LIMITED);
84.2711 + protected final static Integer ABSTRACT = new Integer(BodyDeclaration.Modifier.ABSTRACT);
84.2712 +
84.2713 + private ErrorStrategy defaultStrategy = new DefaultErrorStrategy();;
84.2714 + private ErrorStrategy errorStrategy = defaultStrategy;
84.2715 +
84.2716 + private ParserErrorHandler errorHandler = null;
84.2717 +
84.2718 + public void setErrorHandler (ParserErrorHandler handler) {
84.2719 + this.errorHandler = handler;
84.2720 + }
84.2721 +
84.2722 + public ParserErrorHandler getErrorHandler () {
84.2723 + return this.errorHandler;
84.2724 + }
84.2725 +
84.2726 +
84.2727 + public Dispatch createDispatch(NameBase dispatcher, NameBase property) {
84.2728 + Dispatch dispatch = null;
84.2729 + if (property instanceof Variable) {
84.2730 + dispatch = new FieldAccess(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (Variable)property);
84.2731 + } else if (property instanceof TypeName) {
84.2732 + dispatch = new TypeAccess(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (TypeName)property);
84.2733 + } else {
84.2734 + throw new IllegalArgumentException();
84.2735 + }
84.2736 + return dispatch;
84.2737 + }
84.2738 +
84.2739 +
84.2740 + public List setModifier(List items, int modifier) {
84.2741 + List list = new LinkedList();
84.2742 + for (Iterator iter = items.iterator(); iter.hasNext();) {
84.2743 + final Object next = iter.next();
84.2744 + if (next instanceof TypeDeclaration) {
84.2745 + ((TypeDeclaration)next).setModifier(modifier);
84.2746 + list.add(next);
84.2747 + } else if (next instanceof MethodDeclaration) {
84.2748 + ((MethodDeclaration)next).setModifier(modifier);
84.2749 + list.add(next);
84.2750 + } else if (next instanceof FieldsDeclaration) {
84.2751 + ((FieldsDeclaration)next).setModifier(modifier);
84.2752 + list.add(next);
84.2753 + } else {
84.2754 + list.add(next);
84.2755 + }
84.2756 + }
84.2757 + return list;
84.2758 + }
84.2759 +
84.2760 + interface ErrorStrategy {
84.2761 + public boolean errorRecovery(boolean debug) throws Exception;
84.2762 + }
84.2763 +
84.2764 + class DefaultErrorStrategy implements ErrorStrategy {
84.2765 +
84.2766 + public boolean errorRecovery(boolean debug) throws Exception {
84.2767 + return AdaASTParser.super.error_recovery(debug);
84.2768 + }
84.2769 + }
84.2770 +
84.2771 + /**
84.2772 + * Attempt to recover from a syntax error. This returns false if recovery fails,
84.2773 + * true if it succeeds.
84.2774 + * @param debug should we produce debugging messages as we parse.
84.2775 + */
84.2776 + @Override
84.2777 + protected boolean error_recovery(boolean debug) throws java.lang.Exception {
84.2778 + return errorStrategy.errorRecovery(debug);
84.2779 + }
84.2780 +
84.2781 + /**
84.2782 + * Report a non fatal error (or warning). This method takes a message
84.2783 + * string and an additional object (to be used by specializations implemented in subclasses).
84.2784 + * The super class prints the message to System.err.
84.2785 + * @param message an error message.
84.2786 + * @param info an extra object reserved for use by specialized subclasses.
84.2787 + */
84.2788 + @Override
84.2789 + public void report_error(String message, Object info) {
84.2790 + System.out.print("report_eror" + message);
84.2791 + }
84.2792 +
84.2793 + /**
84.2794 + * This method is called when a syntax error has been detected and recovery is about to be invoked.
84.2795 + * The super class just emit a "Syntax error" error message.
84.2796 + * @param cur_token the current lookahead Symbol.
84.2797 + */
84.2798 + @Override
84.2799 + public void syntax_error(java_cup.runtime.Symbol cur_token) {
84.2800 + java_cup.runtime.Symbol symbol = (java_cup.runtime.Symbol)stack.peek();
84.2801 + int state = symbol.parse_state;
84.2802 + short[] rowOfProbe = action_tab[state];
84.2803 + if (errorHandler != null) {
84.2804 + errorHandler.handleError(ParserErrorHandler.Type.SYNTAX_ERROR, rowOfProbe, cur_token, symbol);
84.2805 + }
84.2806 + }
84.2807 +
84.2808 + /**
84.2809 + * This method is called when a syntax error has been detected during action.
84.2810 + * @param message an error message.
84.2811 + */
84.2812 + public void message_error(String message) {
84.2813 + java_cup.runtime.Symbol symbol = (java_cup.runtime.Symbol)stack.peek();
84.2814 + if (errorHandler != null) {
84.2815 + errorHandler.handleError(ParserErrorHandler.Type.SYNTAX_ERROR, symbol, message);
84.2816 + }
84.2817 + }
84.2818 +
84.2819 + /**
84.2820 + * Report a fatal error. This method takes a message string and an additional object
84.2821 + * (to be used by specializations implemented in subclasses).
84.2822 + * The super class reports the error then throws an exception.
84.2823 + * @param message an error message.
84.2824 + * @param info an extra object reserved for use by specialized subclasses.
84.2825 + */
84.2826 + @Override
84.2827 + public void report_fatal_error(String message, Object info) throws Exception {
84.2828 + if (errorHandler != null) {
84.2829 + errorHandler.handleError(ParserErrorHandler.Type.FATAL_PARSER_ERROR, null, cur_token, null);
84.2830 + }
84.2831 + }
84.2832 +
84.2833 + @Override
84.2834 + protected int error_sync_size() {
84.2835 + return 1;
84.2836 + }
84.2837 +
84.2838 +
84.2839 +}
84.2840 +
84.2841 +/** Cup generated class to encapsulate user supplied action code.*/
84.2842 +class CUP$AdaASTParser$actions {
84.2843 + private final AdaASTParser parser;
84.2844 +
84.2845 + /** Constructor */
84.2846 + CUP$AdaASTParser$actions(AdaASTParser parser) {
84.2847 + this.parser = parser;
84.2848 + }
84.2849 +
84.2850 + /** Method with the actual generated action code. */
84.2851 + public final java_cup.runtime.Symbol CUP$AdaASTParser$do_action(
84.2852 + int CUP$AdaASTParser$act_num,
84.2853 + java_cup.runtime.lr_parser CUP$AdaASTParser$parser,
84.2854 + java.util.Stack CUP$AdaASTParser$stack,
84.2855 + int CUP$AdaASTParser$top)
84.2856 + throws java.lang.Exception
84.2857 + {
84.2858 + /* Symbol object for return from actions */
84.2859 + java_cup.runtime.Symbol CUP$AdaASTParser$result;
84.2860 +
84.2861 + /* select the action based on the action number */
84.2862 + switch (CUP$AdaASTParser$act_num)
84.2863 + {
84.2864 + /*. . . . . . . . . . . . . . . . . . . .*/
84.2865 + case 515: // code_statement ::= qualified_expression SEMICOLON
84.2866 + {
84.2867 + Statement RESULT =null;
84.2868 + int exprleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.2869 + int exprright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.2870 + Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.2871 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.2872 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.2873 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.2874 +
84.2875 + RESULT = new CodeStatement (exprleft, endright, expr);
84.2876 +
84.2877 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("code_statement",93, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.2878 + }
84.2879 + return CUP$AdaASTParser$result;
84.2880 +
84.2881 + /*. . . . . . . . . . . . . . . . . . . .*/
84.2882 + case 514: // address_spec ::= FOR subtype_mark USE AT expression SEMICOLON
84.2883 + {
84.2884 + Object RESULT =null;
84.2885 +
84.2886 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("address_spec",228, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.2887 + }
84.2888 + return CUP$AdaASTParser$result;
84.2889 +
84.2890 + /*. . . . . . . . . . . . . . . . . . . .*/
84.2891 + case 513: // comp_loc_s ::= comp_loc_s subtype_mark AT expression RANGE range SEMICOLON
84.2892 + {
84.2893 + Object RESULT =null;
84.2894 +
84.2895 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("comp_loc_s",230, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.2896 + }
84.2897 + return CUP$AdaASTParser$result;
84.2898 +
84.2899 + /*. . . . . . . . . . . . . . . . . . . .*/
84.2900 + case 512: // comp_loc_s ::=
84.2901 + {
84.2902 + Object RESULT =null;
84.2903 +
84.2904 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("comp_loc_s",230, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.2905 + }
84.2906 + return CUP$AdaASTParser$result;
84.2907 +
84.2908 + /*. . . . . . . . . . . . . . . . . . . .*/
84.2909 + case 511: // align_opt ::= AT MOD expression SEMICOLON
84.2910 + {
84.2911 + Object RESULT =null;
84.2912 +
84.2913 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("align_opt",229, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.2914 + }
84.2915 + return CUP$AdaASTParser$result;
84.2916 +
84.2917 + /*. . . . . . . . . . . . . . . . . . . .*/
84.2918 + case 510: // align_opt ::=
84.2919 + {
84.2920 + Object RESULT =null;
84.2921 +
84.2922 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("align_opt",229, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.2923 + }
84.2924 + return CUP$AdaASTParser$result;
84.2925 +
84.2926 + /*. . . . . . . . . . . . . . . . . . . .*/
84.2927 + case 509: // record_type_spec ::= FOR subtype_mark USE RECORD align_opt comp_loc_s END RECORD SEMICOLON
84.2928 + {
84.2929 + Object RESULT =null;
84.2930 +
84.2931 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("record_type_spec",227, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-8)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.2932 + }
84.2933 + return CUP$AdaASTParser$result;
84.2934 +
84.2935 + /*. . . . . . . . . . . . . . . . . . . .*/
84.2936 + case 508: // attrib_def ::= FOR subtype_mark USE expression SEMICOLON
84.2937 + {
84.2938 + Object RESULT =null;
84.2939 +
84.2940 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("attrib_def",226, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.2941 + }
84.2942 + return CUP$AdaASTParser$result;
84.2943 +
84.2944 + /*. . . . . . . . . . . . . . . . . . . .*/
84.2945 + case 507: // rep_spec ::= address_spec
84.2946 + {
84.2947 + Object RESULT =null;
84.2948 +
84.2949 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("rep_spec",169, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.2950 + }
84.2951 + return CUP$AdaASTParser$result;
84.2952 +
84.2953 + /*. . . . . . . . . . . . . . . . . . . .*/
84.2954 + case 506: // rep_spec ::= record_type_spec
84.2955 + {
84.2956 + Object RESULT =null;
84.2957 +
84.2958 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("rep_spec",169, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.2959 + }
84.2960 + return CUP$AdaASTParser$result;
84.2961 +
84.2962 + /*. . . . . . . . . . . . . . . . . . . .*/
84.2963 + case 505: // rep_spec ::= attrib_def
84.2964 + {
84.2965 + Object RESULT =null;
84.2966 +
84.2967 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("rep_spec",169, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.2968 + }
84.2969 + return CUP$AdaASTParser$result;
84.2970 +
84.2971 + /*. . . . . . . . . . . . . . . . . . . .*/
84.2972 + case 504: // generic_inst ::= NEW name
84.2973 + {
84.2974 + Object RESULT =null;
84.2975 +
84.2976 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_inst",225, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.2977 + }
84.2978 + return CUP$AdaASTParser$result;
84.2979 +
84.2980 + /*. . . . . . . . . . . . . . . . . . . .*/
84.2981 + case 503: // generic_package_instantiation ::= PACKAGE compound_name IS generic_inst
84.2982 + {
84.2983 + Object RESULT =null;
84.2984 +
84.2985 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_package_instantiation",184, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.2986 + }
84.2987 + return CUP$AdaASTParser$result;
84.2988 +
84.2989 + /*. . . . . . . . . . . . . . . . . . . .*/
84.2990 + case 502: // generic_subp_inst ::= subprogram_specification IS generic_inst
84.2991 + {
84.2992 + SubprogramSpecification RESULT =null;
84.2993 + int subprogleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.2994 + int subprogright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.2995 + SubprogramSpecification subprog = (SubprogramSpecification)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.2996 +
84.2997 + RESULT = subprog;
84.2998 +
84.2999 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_subp_inst",57, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3000 + }
84.3001 + return CUP$AdaASTParser$result;
84.3002 +
84.3003 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3004 + case 501: // generic_derived_type ::= ABSTRACT NEW subtype_indication WITH PRIVATE
84.3005 + {
84.3006 + Object RESULT =null;
84.3007 +
84.3008 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_derived_type",224, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3009 + }
84.3010 + return CUP$AdaASTParser$result;
84.3011 +
84.3012 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3013 + case 500: // generic_derived_type ::= NEW subtype_indication WITH PRIVATE
84.3014 + {
84.3015 + Object RESULT =null;
84.3016 +
84.3017 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_derived_type",224, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3018 + }
84.3019 + return CUP$AdaASTParser$result;
84.3020 +
84.3021 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3022 + case 499: // generic_derived_type ::= NEW subtype_indication
84.3023 + {
84.3024 + Object RESULT =null;
84.3025 +
84.3026 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_derived_type",224, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3027 + }
84.3028 + return CUP$AdaASTParser$result;
84.3029 +
84.3030 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3031 + case 498: // generic_type_def ::= generic_derived_type
84.3032 + {
84.3033 + Object RESULT =null;
84.3034 +
84.3035 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3036 + }
84.3037 + return CUP$AdaASTParser$result;
84.3038 +
84.3039 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3040 + case 497: // generic_type_def ::= private_type_declaration
84.3041 + {
84.3042 + Object RESULT =null;
84.3043 +
84.3044 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3045 + }
84.3046 + return CUP$AdaASTParser$result;
84.3047 +
84.3048 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3049 + case 496: // generic_type_def ::= access_type
84.3050 + {
84.3051 + Object RESULT =null;
84.3052 +
84.3053 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3054 + }
84.3055 + return CUP$AdaASTParser$result;
84.3056 +
84.3057 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3058 + case 495: // generic_type_def ::= array_type
84.3059 + {
84.3060 + Object RESULT =null;
84.3061 +
84.3062 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3063 + }
84.3064 + return CUP$AdaASTParser$result;
84.3065 +
84.3066 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3067 + case 494: // generic_type_def ::= DIGITS BOX
84.3068 + {
84.3069 + Object RESULT =null;
84.3070 +
84.3071 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3072 + }
84.3073 + return CUP$AdaASTParser$result;
84.3074 +
84.3075 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3076 + case 493: // generic_type_def ::= DELTA BOX DIGITS BOX
84.3077 + {
84.3078 + Object RESULT =null;
84.3079 +
84.3080 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3081 + }
84.3082 + return CUP$AdaASTParser$result;
84.3083 +
84.3084 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3085 + case 492: // generic_type_def ::= DELTA BOX
84.3086 + {
84.3087 + Object RESULT =null;
84.3088 +
84.3089 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3090 + }
84.3091 + return CUP$AdaASTParser$result;
84.3092 +
84.3093 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3094 + case 491: // generic_type_def ::= MOD BOX
84.3095 + {
84.3096 + Object RESULT =null;
84.3097 +
84.3098 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3099 + }
84.3100 + return CUP$AdaASTParser$result;
84.3101 +
84.3102 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3103 + case 490: // generic_type_def ::= RANGE BOX
84.3104 + {
84.3105 + Object RESULT =null;
84.3106 +
84.3107 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3108 + }
84.3109 + return CUP$AdaASTParser$result;
84.3110 +
84.3111 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3112 + case 489: // generic_type_def ::= LPAREN BOX RPAREN
84.3113 + {
84.3114 + Object RESULT =null;
84.3115 +
84.3116 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_type_def",222, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3117 + }
84.3118 + return CUP$AdaASTParser$result;
84.3119 +
84.3120 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3121 + case 488: // subp_default ::= IS BOX
84.3122 + {
84.3123 + Object RESULT =null;
84.3124 +
84.3125 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subp_default",223, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3126 + }
84.3127 + return CUP$AdaASTParser$result;
84.3128 +
84.3129 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3130 + case 487: // subp_default ::= IS name
84.3131 + {
84.3132 + Object RESULT =null;
84.3133 +
84.3134 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subp_default",223, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3135 + }
84.3136 + return CUP$AdaASTParser$result;
84.3137 +
84.3138 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3139 + case 486: // subp_default ::=
84.3140 + {
84.3141 + Object RESULT =null;
84.3142 +
84.3143 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subp_default",223, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3144 + }
84.3145 + return CUP$AdaASTParser$result;
84.3146 +
84.3147 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3148 + case 485: // generic_discrim_part_opt ::= LPAREN BOX RPAREN
84.3149 + {
84.3150 + Object RESULT =null;
84.3151 +
84.3152 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_discrim_part_opt",221, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3153 + }
84.3154 + return CUP$AdaASTParser$result;
84.3155 +
84.3156 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3157 + case 484: // generic_discrim_part_opt ::= discrim_part
84.3158 + {
84.3159 + Object RESULT =null;
84.3160 +
84.3161 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_discrim_part_opt",221, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3162 + }
84.3163 + return CUP$AdaASTParser$result;
84.3164 +
84.3165 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3166 + case 483: // generic_discrim_part_opt ::=
84.3167 + {
84.3168 + Object RESULT =null;
84.3169 +
84.3170 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_discrim_part_opt",221, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3171 + }
84.3172 + return CUP$AdaASTParser$result;
84.3173 +
84.3174 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3175 + case 482: // generic_formal ::= use_clause
84.3176 + {
84.3177 + Object RESULT =null;
84.3178 +
84.3179 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_formal",220, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3180 + }
84.3181 + return CUP$AdaASTParser$result;
84.3182 +
84.3183 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3184 + case 481: // generic_formal ::= WITH PACKAGE simple_name IS NEW name SEMICOLON
84.3185 + {
84.3186 + Object RESULT =null;
84.3187 +
84.3188 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_formal",220, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3189 + }
84.3190 + return CUP$AdaASTParser$result;
84.3191 +
84.3192 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3193 + case 480: // generic_formal ::= WITH PACKAGE simple_name IS NEW name LPAREN BOX RPAREN SEMICOLON
84.3194 + {
84.3195 + Object RESULT =null;
84.3196 +
84.3197 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_formal",220, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-9)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3198 + }
84.3199 + return CUP$AdaASTParser$result;
84.3200 +
84.3201 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3202 + case 479: // generic_formal ::= WITH FUNCTION designator formal_part_opt RETURN name subp_default SEMICOLON
84.3203 + {
84.3204 + Object RESULT =null;
84.3205 +
84.3206 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_formal",220, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-7)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3207 + }
84.3208 + return CUP$AdaASTParser$result;
84.3209 +
84.3210 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3211 + case 478: // generic_formal ::= WITH PROCEDURE simple_name formal_part_opt subp_default SEMICOLON
84.3212 + {
84.3213 + Object RESULT =null;
84.3214 +
84.3215 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_formal",220, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3216 + }
84.3217 + return CUP$AdaASTParser$result;
84.3218 +
84.3219 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3220 + case 477: // generic_formal ::= TYPE simple_name generic_discrim_part_opt IS generic_type_def SEMICOLON
84.3221 + {
84.3222 + Object RESULT =null;
84.3223 +
84.3224 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_formal",220, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3225 + }
84.3226 + return CUP$AdaASTParser$result;
84.3227 +
84.3228 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3229 + case 476: // generic_formal ::= param SEMICOLON
84.3230 + {
84.3231 + Object RESULT =null;
84.3232 +
84.3233 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_formal",220, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3234 + }
84.3235 + return CUP$AdaASTParser$result;
84.3236 +
84.3237 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3238 + case 475: // generic_formal_part ::= generic_formal_part generic_formal
84.3239 + {
84.3240 + Object RESULT =null;
84.3241 +
84.3242 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_formal_part",186, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3243 + }
84.3244 + return CUP$AdaASTParser$result;
84.3245 +
84.3246 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3247 + case 474: // generic_formal_part ::= GENERIC
84.3248 + {
84.3249 + Object RESULT =null;
84.3250 +
84.3251 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_formal_part",186, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3252 + }
84.3253 + return CUP$AdaASTParser$result;
84.3254 +
84.3255 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3256 + case 473: // generic_declaration ::= generic_formal_part package_specification SEMICOLON
84.3257 + {
84.3258 + Statement RESULT =null;
84.3259 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.3260 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.3261 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.3262 +
84.3263 + RESULT = statement;
84.3264 +
84.3265 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_declaration",92, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3266 + }
84.3267 + return CUP$AdaASTParser$result;
84.3268 +
84.3269 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3270 + case 472: // generic_declaration ::= generic_formal_part subprogram_specification SEMICOLON
84.3271 + {
84.3272 + Statement RESULT =null;
84.3273 +
84.3274 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("generic_declaration",92, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3275 + }
84.3276 + return CUP$AdaASTParser$result;
84.3277 +
84.3278 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3279 + case 471: // requeue_stmt ::= REQUEUE name WITH ABORT SEMICOLON
84.3280 + {
84.3281 + Object RESULT =null;
84.3282 +
84.3283 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("requeue_stmt",177, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3284 + }
84.3285 + return CUP$AdaASTParser$result;
84.3286 +
84.3287 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3288 + case 470: // requeue_stmt ::= REQUEUE name SEMICOLON
84.3289 + {
84.3290 + Object RESULT =null;
84.3291 +
84.3292 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("requeue_stmt",177, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3293 + }
84.3294 + return CUP$AdaASTParser$result;
84.3295 +
84.3296 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3297 + case 469: // raise_statement ::= RAISE name_opt SEMICOLON
84.3298 + {
84.3299 + Statement RESULT =null;
84.3300 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.3301 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.3302 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.3303 + int exceptionNameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.3304 + int exceptionNameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.3305 + Expression exceptionName = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.3306 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3307 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3308 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3309 +
84.3310 + RESULT = new RaiseStatement(tokenleft, endright, exceptionName);
84.3311 +
84.3312 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("raise_statement",91, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3313 + }
84.3314 + return CUP$AdaASTParser$result;
84.3315 +
84.3316 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3317 + case 468: // except_choice ::= OTHERS
84.3318 + {
84.3319 + Object RESULT =null;
84.3320 +
84.3321 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("except_choice",219, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3322 + }
84.3323 + return CUP$AdaASTParser$result;
84.3324 +
84.3325 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3326 + case 467: // except_choice ::= name
84.3327 + {
84.3328 + Object RESULT =null;
84.3329 +
84.3330 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("except_choice",219, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3331 + }
84.3332 + return CUP$AdaASTParser$result;
84.3333 +
84.3334 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3335 + case 466: // except_choice_s ::= except_choice_s BAR except_choice
84.3336 + {
84.3337 + Object RESULT =null;
84.3338 +
84.3339 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("except_choice_s",218, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3340 + }
84.3341 + return CUP$AdaASTParser$result;
84.3342 +
84.3343 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3344 + case 465: // except_choice_s ::= except_choice
84.3345 + {
84.3346 + Object RESULT =null;
84.3347 +
84.3348 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("except_choice_s",218, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3349 + }
84.3350 + return CUP$AdaASTParser$result;
84.3351 +
84.3352 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3353 + case 464: // exception_handler ::= WHEN IDENTIFIER COLON except_choice_s ARROW sequence_of_statements
84.3354 + {
84.3355 + Object RESULT =null;
84.3356 +
84.3357 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("exception_handler",217, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3358 + }
84.3359 + return CUP$AdaASTParser$result;
84.3360 +
84.3361 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3362 + case 463: // exception_handler ::= WHEN except_choice_s ARROW sequence_of_statements
84.3363 + {
84.3364 + Object RESULT =null;
84.3365 +
84.3366 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("exception_handler",217, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3367 + }
84.3368 + return CUP$AdaASTParser$result;
84.3369 +
84.3370 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3371 + case 462: // except_handler_part ::= except_handler_part exception_handler
84.3372 + {
84.3373 + Object RESULT =null;
84.3374 +
84.3375 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("except_handler_part",183, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3376 + }
84.3377 + return CUP$AdaASTParser$result;
84.3378 +
84.3379 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3380 + case 461: // except_handler_part ::= EXCEPTION exception_handler
84.3381 + {
84.3382 + Object RESULT =null;
84.3383 +
84.3384 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("except_handler_part",183, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3385 + }
84.3386 + return CUP$AdaASTParser$result;
84.3387 +
84.3388 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3389 + case 460: // exception_decl ::= defining_identifier_list COLON EXCEPTION SEMICOLON
84.3390 + {
84.3391 + Object RESULT =null;
84.3392 +
84.3393 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("exception_decl",127, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3394 + }
84.3395 + return CUP$AdaASTParser$result;
84.3396 +
84.3397 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3398 + case 459: // body_stub ::= PROTECTED BODY simple_name IS SEPARATE SEMICOLON
84.3399 + {
84.3400 + Statement RESULT =null;
84.3401 +
84.3402 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("body_stub",90, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3403 + }
84.3404 + return CUP$AdaASTParser$result;
84.3405 +
84.3406 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3407 + case 458: // body_stub ::= subprogram_specification IS SEPARATE SEMICOLON
84.3408 + {
84.3409 + Statement RESULT =null;
84.3410 + int subprogleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.3411 + int subprogright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.3412 + SubprogramSpecification subprog = (SubprogramSpecification)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.3413 +
84.3414 + RESULT = subprog;
84.3415 +
84.3416 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("body_stub",90, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3417 + }
84.3418 + return CUP$AdaASTParser$result;
84.3419 +
84.3420 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3421 + case 457: // body_stub ::= PACKAGE BODY compound_name IS SEPARATE SEMICOLON
84.3422 + {
84.3423 + Statement RESULT =null;
84.3424 +
84.3425 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("body_stub",90, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3426 + }
84.3427 + return CUP$AdaASTParser$result;
84.3428 +
84.3429 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3430 + case 456: // body_stub ::= TASK BODY simple_name IS SEPARATE SEMICOLON
84.3431 + {
84.3432 + Statement RESULT =null;
84.3433 +
84.3434 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("body_stub",90, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3435 + }
84.3436 + return CUP$AdaASTParser$result;
84.3437 +
84.3438 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3439 + case 455: // subunit ::= SEPARATE LPAREN compound_name RPAREN proper_body
84.3440 + {
84.3441 + Statement RESULT =null;
84.3442 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3443 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3444 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3445 +
84.3446 + RESULT = statement;
84.3447 +
84.3448 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subunit",103, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3449 + }
84.3450 + return CUP$AdaASTParser$result;
84.3451 +
84.3452 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3453 + case 454: // with_clause ::= WITH library_unit_name_list SEMICOLON
84.3454 + {
84.3455 + Statement RESULT =null;
84.3456 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.3457 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.3458 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.3459 + int packageListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.3460 + int packageListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.3461 + List packageList = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.3462 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3463 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3464 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3465 +
84.3466 + RESULT = new With(tokenleft, endright, packageList);
84.3467 +
84.3468 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("with_clause",88, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3469 + }
84.3470 + return CUP$AdaASTParser$result;
84.3471 +
84.3472 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3473 + case 453: // context_clause ::= context_clause pragma
84.3474 + {
84.3475 + Statement RESULT =null;
84.3476 +
84.3477 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("context_clause",87, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3478 + }
84.3479 + return CUP$AdaASTParser$result;
84.3480 +
84.3481 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3482 + case 452: // context_clause ::= context_clause use_clause
84.3483 + {
84.3484 + Statement RESULT =null;
84.3485 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3486 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3487 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3488 +
84.3489 + RESULT = statement;
84.3490 +
84.3491 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("context_clause",87, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3492 + }
84.3493 + return CUP$AdaASTParser$result;
84.3494 +
84.3495 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3496 + case 451: // context_clause ::= context_clause with_clause
84.3497 + {
84.3498 + Statement RESULT =null;
84.3499 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3500 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3501 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3502 +
84.3503 + RESULT = statement;
84.3504 +
84.3505 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("context_clause",87, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3506 + }
84.3507 + return CUP$AdaASTParser$result;
84.3508 +
84.3509 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3510 + case 450: // context_clause ::= use_clause
84.3511 + {
84.3512 + Statement RESULT =null;
84.3513 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3514 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3515 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3516 +
84.3517 + RESULT = statement;
84.3518 +
84.3519 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("context_clause",87, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3520 + }
84.3521 + return CUP$AdaASTParser$result;
84.3522 +
84.3523 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3524 + case 449: // context_clause ::= with_clause
84.3525 + {
84.3526 + Statement RESULT =null;
84.3527 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3528 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3529 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3530 +
84.3531 + RESULT = statement;
84.3532 +
84.3533 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("context_clause",87, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3534 + }
84.3535 + return CUP$AdaASTParser$result;
84.3536 +
84.3537 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3538 + case 448: // unit ::= rename_unit
84.3539 + {
84.3540 + Statement RESULT =null;
84.3541 +
84.3542 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("unit",86, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3543 + }
84.3544 + return CUP$AdaASTParser$result;
84.3545 +
84.3546 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3547 + case 447: // unit ::= generic_declaration
84.3548 + {
84.3549 + Statement RESULT =null;
84.3550 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3551 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3552 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3553 +
84.3554 + RESULT = statement;
84.3555 +
84.3556 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("unit",86, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3557 + }
84.3558 + return CUP$AdaASTParser$result;
84.3559 +
84.3560 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3561 + case 446: // unit ::= subunit
84.3562 + {
84.3563 + Statement RESULT =null;
84.3564 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3565 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3566 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3567 +
84.3568 + RESULT = statement;
84.3569 +
84.3570 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("unit",86, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3571 + }
84.3572 + return CUP$AdaASTParser$result;
84.3573 +
84.3574 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3575 + case 445: // unit ::= subprogram_body
84.3576 + {
84.3577 + Statement RESULT =null;
84.3578 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3579 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3580 + MethodDeclaration statement = (MethodDeclaration)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3581 +
84.3582 + RESULT = statement;
84.3583 +
84.3584 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("unit",86, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3585 + }
84.3586 + return CUP$AdaASTParser$result;
84.3587 +
84.3588 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3589 + case 444: // unit ::= subprog_declaration
84.3590 + {
84.3591 + Statement RESULT =null;
84.3592 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3593 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3594 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3595 +
84.3596 + RESULT = statement;
84.3597 +
84.3598 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("unit",86, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3599 + }
84.3600 + return CUP$AdaASTParser$result;
84.3601 +
84.3602 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3603 + case 443: // unit ::= package_body
84.3604 + {
84.3605 + Statement RESULT =null;
84.3606 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3607 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3608 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3609 +
84.3610 + RESULT = statement;
84.3611 +
84.3612 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("unit",86, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3613 + }
84.3614 + return CUP$AdaASTParser$result;
84.3615 +
84.3616 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3617 + case 442: // unit ::= package_declaration
84.3618 + {
84.3619 + Statement RESULT =null;
84.3620 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3621 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3622 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3623 +
84.3624 + RESULT = statement;
84.3625 +
84.3626 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("unit",86, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3627 + }
84.3628 + return CUP$AdaASTParser$result;
84.3629 +
84.3630 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3631 + case 441: // private_opt ::= PRIVATE
84.3632 + {
84.3633 + Object RESULT =null;
84.3634 +
84.3635 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("private_opt",216, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3636 + }
84.3637 + return CUP$AdaASTParser$result;
84.3638 +
84.3639 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3640 + case 440: // private_opt ::=
84.3641 + {
84.3642 + Object RESULT =null;
84.3643 +
84.3644 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("private_opt",216, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3645 + }
84.3646 + return CUP$AdaASTParser$result;
84.3647 +
84.3648 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3649 + case 439: // compilation_unit ::= private_opt unit pragma_s
84.3650 + {
84.3651 + Statement RESULT =null;
84.3652 + int unitleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.3653 + int unitright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.3654 + Statement unit = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.3655 +
84.3656 + RESULT = unit;
84.3657 +
84.3658 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("compilation_unit",85, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3659 + }
84.3660 + return CUP$AdaASTParser$result;
84.3661 +
84.3662 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3663 + case 438: // compilation_unit ::= context_clause private_opt unit pragma_s
84.3664 + {
84.3665 + Statement RESULT =null;
84.3666 + int unitleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.3667 + int unitright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.3668 + Statement unit = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.3669 +
84.3670 + RESULT = unit;
84.3671 +
84.3672 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("compilation_unit",85, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3673 + }
84.3674 + return CUP$AdaASTParser$result;
84.3675 +
84.3676 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3677 + case 437: // compilation_units ::= pragma pragma_s
84.3678 + {
84.3679 + List RESULT =null;
84.3680 +
84.3681 + RESULT = new LinkedList();
84.3682 +
84.3683 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("compilation_units",84, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3684 + }
84.3685 + return CUP$AdaASTParser$result;
84.3686 +
84.3687 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3688 + case 436: // compilation_units ::= compilation_units compilation_unit
84.3689 + {
84.3690 + List RESULT =null;
84.3691 + int unitsleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.3692 + int unitsright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.3693 + List units = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.3694 + int unitleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3695 + int unitright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3696 + Statement unit = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3697 +
84.3698 + if(units != null) {
84.3699 + units.add(unit);
84.3700 + }
84.3701 + RESULT = units;
84.3702 +
84.3703 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("compilation_units",84, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3704 + }
84.3705 + return CUP$AdaASTParser$result;
84.3706 +
84.3707 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3708 + case 435: // compilation_units ::=
84.3709 + {
84.3710 + List RESULT =null;
84.3711 +
84.3712 + RESULT = new LinkedList();
84.3713 +
84.3714 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("compilation_units",84, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3715 + }
84.3716 + return CUP$AdaASTParser$result;
84.3717 +
84.3718 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3719 + case 434: // compilation ::= compilation_units
84.3720 + {
84.3721 + Program RESULT =null;
84.3722 + int unitsleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3723 + int unitsright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3724 + List units = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3725 +
84.3726 + AdaASTLexer AdaASTLexer = (AdaASTLexer) parser.getScanner();
84.3727 + List comments = AdaASTLexer.getCommentList();
84.3728 + Program program = new Program(unitsleft, unitsright, units, comments);
84.3729 + RESULT = program;
84.3730 +
84.3731 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("compilation",83, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3732 + }
84.3733 + return CUP$AdaASTParser$result;
84.3734 +
84.3735 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3736 + case 433: // task_name_list ::= task_name_list COMMA name
84.3737 + {
84.3738 + List RESULT =null;
84.3739 + int idListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.3740 + int idListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.3741 + List idList = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.3742 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3743 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3744 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3745 +
84.3746 + TaskName taskName = new TaskName(nameleft, nameright, name);
84.3747 + idList.add(taskName);
84.3748 + RESULT = idList;
84.3749 +
84.3750 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("task_name_list",82, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3751 + }
84.3752 + return CUP$AdaASTParser$result;
84.3753 +
84.3754 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3755 + case 432: // task_name_list ::= name
84.3756 + {
84.3757 + List RESULT =null;
84.3758 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3759 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3760 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3761 +
84.3762 + List idList = new LinkedList();
84.3763 + TaskName taskName = new TaskName(nameleft, nameright, name);
84.3764 + idList.add(taskName);
84.3765 + RESULT = idList;
84.3766 +
84.3767 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("task_name_list",82, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3768 + }
84.3769 + return CUP$AdaASTParser$result;
84.3770 +
84.3771 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3772 + case 431: // abort_statement ::= ABORT task_name_list SEMICOLON
84.3773 + {
84.3774 + Statement RESULT =null;
84.3775 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.3776 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.3777 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.3778 + int taskListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.3779 + int taskListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.3780 + List taskList = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.3781 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3782 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3783 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3784 +
84.3785 + RESULT = new AbortStatement(tokenleft, endright, taskList);
84.3786 +
84.3787 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("abort_statement",81, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3788 + }
84.3789 + return CUP$AdaASTParser$result;
84.3790 +
84.3791 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3792 + case 430: // stmts_opt ::= sequence_of_statements
84.3793 + {
84.3794 + Object RESULT =null;
84.3795 +
84.3796 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("stmts_opt",214, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3797 + }
84.3798 + return CUP$AdaASTParser$result;
84.3799 +
84.3800 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3801 + case 429: // stmts_opt ::=
84.3802 + {
84.3803 + Object RESULT =null;
84.3804 +
84.3805 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("stmts_opt",214, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3806 + }
84.3807 + return CUP$AdaASTParser$result;
84.3808 +
84.3809 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3810 + case 428: // cond_entry_call ::= SELECT entry_call stmts_opt ELSE sequence_of_statements END SELECT SEMICOLON
84.3811 + {
84.3812 + Object RESULT =null;
84.3813 +
84.3814 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("cond_entry_call",210, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-7)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3815 + }
84.3816 + return CUP$AdaASTParser$result;
84.3817 +
84.3818 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3819 + case 427: // timed_entry_call ::= SELECT entry_call stmts_opt OR delay_statement stmts_opt END SELECT SEMICOLON
84.3820 + {
84.3821 + Object RESULT =null;
84.3822 +
84.3823 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("timed_entry_call",209, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-8)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3824 + }
84.3825 + return CUP$AdaASTParser$result;
84.3826 +
84.3827 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3828 + case 426: // async_select ::= SELECT delay_or_entry_alt THEN ABORT sequence_of_statements END SELECT SEMICOLON
84.3829 + {
84.3830 + Object RESULT =null;
84.3831 +
84.3832 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("async_select",208, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-7)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3833 + }
84.3834 + return CUP$AdaASTParser$result;
84.3835 +
84.3836 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3837 + case 425: // delay_or_entry_alt ::= entry_call stmts_opt
84.3838 + {
84.3839 + Object RESULT =null;
84.3840 +
84.3841 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("delay_or_entry_alt",215, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3842 + }
84.3843 + return CUP$AdaASTParser$result;
84.3844 +
84.3845 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3846 + case 424: // delay_or_entry_alt ::= delay_statement stmts_opt
84.3847 + {
84.3848 + Object RESULT =null;
84.3849 +
84.3850 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("delay_or_entry_alt",215, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3851 + }
84.3852 + return CUP$AdaASTParser$result;
84.3853 +
84.3854 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3855 + case 423: // select_alt ::= TERMINATE SEMICOLON
84.3856 + {
84.3857 + Object RESULT =null;
84.3858 +
84.3859 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("select_alt",213, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3860 + }
84.3861 + return CUP$AdaASTParser$result;
84.3862 +
84.3863 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3864 + case 422: // select_alt ::= delay_statement stmts_opt
84.3865 + {
84.3866 + Object RESULT =null;
84.3867 +
84.3868 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("select_alt",213, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3869 + }
84.3870 + return CUP$AdaASTParser$result;
84.3871 +
84.3872 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3873 + case 421: // select_alt ::= accept_stmt stmts_opt
84.3874 + {
84.3875 + Object RESULT =null;
84.3876 +
84.3877 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("select_alt",213, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3878 + }
84.3879 + return CUP$AdaASTParser$result;
84.3880 +
84.3881 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3882 + case 420: // or_select ::= or_select OR guarded_select_alt
84.3883 + {
84.3884 + Object RESULT =null;
84.3885 +
84.3886 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("or_select",212, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3887 + }
84.3888 + return CUP$AdaASTParser$result;
84.3889 +
84.3890 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3891 + case 419: // or_select ::=
84.3892 + {
84.3893 + Object RESULT =null;
84.3894 +
84.3895 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("or_select",212, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3896 + }
84.3897 + return CUP$AdaASTParser$result;
84.3898 +
84.3899 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3900 + case 418: // guarded_select_alt ::= WHEN condition ARROW select_alt
84.3901 + {
84.3902 + Object RESULT =null;
84.3903 +
84.3904 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("guarded_select_alt",211, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3905 + }
84.3906 + return CUP$AdaASTParser$result;
84.3907 +
84.3908 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3909 + case 417: // guarded_select_alt ::= select_alt
84.3910 + {
84.3911 + Object RESULT =null;
84.3912 +
84.3913 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("guarded_select_alt",211, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3914 + }
84.3915 + return CUP$AdaASTParser$result;
84.3916 +
84.3917 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3918 + case 416: // select_wait ::= SELECT guarded_select_alt or_select else_opt END SELECT SEMICOLON
84.3919 + {
84.3920 + Object RESULT =null;
84.3921 +
84.3922 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("select_wait",207, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3923 + }
84.3924 + return CUP$AdaASTParser$result;
84.3925 +
84.3926 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3927 + case 415: // select_stmt ::= cond_entry_call
84.3928 + {
84.3929 + Object RESULT =null;
84.3930 +
84.3931 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("select_stmt",179, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3932 + }
84.3933 + return CUP$AdaASTParser$result;
84.3934 +
84.3935 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3936 + case 414: // select_stmt ::= timed_entry_call
84.3937 + {
84.3938 + Object RESULT =null;
84.3939 +
84.3940 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("select_stmt",179, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3941 + }
84.3942 + return CUP$AdaASTParser$result;
84.3943 +
84.3944 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3945 + case 413: // select_stmt ::= async_select
84.3946 + {
84.3947 + Object RESULT =null;
84.3948 +
84.3949 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("select_stmt",179, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3950 + }
84.3951 + return CUP$AdaASTParser$result;
84.3952 +
84.3953 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3954 + case 412: // select_stmt ::= select_wait
84.3955 + {
84.3956 + Object RESULT =null;
84.3957 +
84.3958 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("select_stmt",179, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3959 + }
84.3960 + return CUP$AdaASTParser$result;
84.3961 +
84.3962 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3963 + case 411: // delay_statement ::= DELAY UNTIL expression SEMICOLON
84.3964 + {
84.3965 + Statement RESULT =null;
84.3966 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.3967 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.3968 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.3969 + int exprleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.3970 + int exprright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.3971 + Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.3972 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3973 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3974 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3975 +
84.3976 + RESULT = new ReturnStatement(tokenleft, endright, expr);
84.3977 +
84.3978 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("delay_statement",80, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3979 + }
84.3980 + return CUP$AdaASTParser$result;
84.3981 +
84.3982 + /*. . . . . . . . . . . . . . . . . . . .*/
84.3983 + case 410: // delay_statement ::= DELAY expression SEMICOLON
84.3984 + {
84.3985 + Statement RESULT =null;
84.3986 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.3987 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.3988 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.3989 + int exprleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.3990 + int exprright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.3991 + Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.3992 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.3993 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.3994 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.3995 +
84.3996 + RESULT = new ReturnStatement(tokenleft, endright, expr);
84.3997 +
84.3998 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("delay_statement",80, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.3999 + }
84.4000 + return CUP$AdaASTParser$result;
84.4001 +
84.4002 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4003 + case 409: // entry_name ::= entry_name LPAREN expression RPAREN
84.4004 + {
84.4005 + Object RESULT =null;
84.4006 +
84.4007 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("entry_name",206, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4008 + }
84.4009 + return CUP$AdaASTParser$result;
84.4010 +
84.4011 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4012 + case 408: // entry_name ::= simple_name
84.4013 + {
84.4014 + Object RESULT =null;
84.4015 +
84.4016 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("entry_name",206, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4017 + }
84.4018 + return CUP$AdaASTParser$result;
84.4019 +
84.4020 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4021 + case 407: // accept_hdr ::= ACCEPT entry_name formal_part_opt
84.4022 + {
84.4023 + Object RESULT =null;
84.4024 +
84.4025 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("accept_hdr",204, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4026 + }
84.4027 + return CUP$AdaASTParser$result;
84.4028 +
84.4029 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4030 + case 406: // accept_stmt ::= accept_hdr DO handled_stmt_s END id_opt SEMICOLON
84.4031 + {
84.4032 + Object RESULT =null;
84.4033 +
84.4034 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("accept_stmt",178, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4035 + }
84.4036 + return CUP$AdaASTParser$result;
84.4037 +
84.4038 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4039 + case 405: // accept_stmt ::= accept_hdr SEMICOLON
84.4040 + {
84.4041 + Object RESULT =null;
84.4042 +
84.4043 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("accept_stmt",178, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4044 + }
84.4045 + return CUP$AdaASTParser$result;
84.4046 +
84.4047 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4048 + case 404: // entry_call ::= procedure_call_statement
84.4049 + {
84.4050 + Object RESULT =null;
84.4051 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.4052 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.4053 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.4054 +
84.4055 + RESULT = statement;
84.4056 +
84.4057 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("entry_call",205, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4058 + }
84.4059 + return CUP$AdaASTParser$result;
84.4060 +
84.4061 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4062 + case 403: // rep_spec_s ::= rep_spec_s rep_spec pragma_s
84.4063 + {
84.4064 + Object RESULT =null;
84.4065 +
84.4066 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("rep_spec_s",190, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4067 + }
84.4068 + return CUP$AdaASTParser$result;
84.4069 +
84.4070 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4071 + case 402: // rep_spec_s ::=
84.4072 + {
84.4073 + Object RESULT =null;
84.4074 +
84.4075 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("rep_spec_s",190, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4076 + }
84.4077 + return CUP$AdaASTParser$result;
84.4078 +
84.4079 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4080 + case 401: // entry_body_part ::= IS declarative_part block_body END id_opt SEMICOLON
84.4081 + {
84.4082 + Object RESULT =null;
84.4083 +
84.4084 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("entry_body_part",203, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4085 + }
84.4086 + return CUP$AdaASTParser$result;
84.4087 +
84.4088 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4089 + case 400: // entry_body_part ::= SEMICOLON
84.4090 + {
84.4091 + Object RESULT =null;
84.4092 +
84.4093 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("entry_body_part",203, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4094 + }
84.4095 + return CUP$AdaASTParser$result;
84.4096 +
84.4097 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4098 + case 399: // entry_body ::= ENTRY IDENTIFIER LPAREN iter_part discrete_range RPAREN formal_part_opt WHEN condition entry_body_part
84.4099 + {
84.4100 + Object RESULT =null;
84.4101 +
84.4102 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("entry_body",202, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-9)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4103 + }
84.4104 + return CUP$AdaASTParser$result;
84.4105 +
84.4106 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4107 + case 398: // entry_body ::= ENTRY IDENTIFIER formal_part_opt WHEN condition entry_body_part
84.4108 + {
84.4109 + Object RESULT =null;
84.4110 +
84.4111 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("entry_body",202, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4112 + }
84.4113 + return CUP$AdaASTParser$result;
84.4114 +
84.4115 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4116 + case 397: // entry_decl ::= ENTRY IDENTIFIER LPAREN discrete_range RPAREN formal_part_opt SEMICOLON
84.4117 + {
84.4118 + Object RESULT =null;
84.4119 +
84.4120 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("entry_decl",198, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4121 + }
84.4122 + return CUP$AdaASTParser$result;
84.4123 +
84.4124 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4125 + case 396: // entry_decl ::= ENTRY IDENTIFIER formal_part_opt SEMICOLON
84.4126 + {
84.4127 + Object RESULT =null;
84.4128 +
84.4129 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("entry_decl",198, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4130 + }
84.4131 + return CUP$AdaASTParser$result;
84.4132 +
84.4133 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4134 + case 395: // entry_decl_s ::= entry_decl_s entry_decl pragma_s
84.4135 + {
84.4136 + Object RESULT =null;
84.4137 +
84.4138 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("entry_decl_s",189, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4139 + }
84.4140 + return CUP$AdaASTParser$result;
84.4141 +
84.4142 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4143 + case 394: // entry_decl_s ::= pragma_s
84.4144 + {
84.4145 + Object RESULT =null;
84.4146 +
84.4147 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("entry_decl_s",189, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4148 + }
84.4149 + return CUP$AdaASTParser$result;
84.4150 +
84.4151 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4152 + case 393: // prot_op_body ::= subprogram_specification SEMICOLON
84.4153 + {
84.4154 + Object RESULT =null;
84.4155 +
84.4156 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_body",201, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4157 + }
84.4158 + return CUP$AdaASTParser$result;
84.4159 +
84.4160 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4161 + case 392: // prot_op_body ::= subprogram_body
84.4162 + {
84.4163 + Object RESULT =null;
84.4164 +
84.4165 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_body",201, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4166 + }
84.4167 + return CUP$AdaASTParser$result;
84.4168 +
84.4169 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4170 + case 391: // prot_op_body ::= entry_body
84.4171 + {
84.4172 + Object RESULT =null;
84.4173 +
84.4174 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_body",201, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4175 + }
84.4176 + return CUP$AdaASTParser$result;
84.4177 +
84.4178 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4179 + case 390: // prot_op_body_s ::= prot_op_body_s prot_op_body pragma_s
84.4180 + {
84.4181 + Object RESULT =null;
84.4182 +
84.4183 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_body_s",200, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4184 + }
84.4185 + return CUP$AdaASTParser$result;
84.4186 +
84.4187 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4188 + case 389: // prot_op_body_s ::= pragma_s
84.4189 + {
84.4190 + Object RESULT =null;
84.4191 +
84.4192 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_body_s",200, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4193 + }
84.4194 + return CUP$AdaASTParser$result;
84.4195 +
84.4196 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4197 + case 388: // protected_body ::= PROTECTED BODY simple_name IS prot_op_body_s END id_opt SEMICOLON
84.4198 + {
84.4199 + Statement RESULT =null;
84.4200 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).left;
84.4201 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).right;
84.4202 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).value;
84.4203 +
84.4204 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("protected_body",79, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-7)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4205 + }
84.4206 + return CUP$AdaASTParser$result;
84.4207 +
84.4208 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4209 + case 387: // prot_elem_decl ::= comp_decl
84.4210 + {
84.4211 + Object RESULT =null;
84.4212 +
84.4213 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_elem_decl",199, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4214 + }
84.4215 + return CUP$AdaASTParser$result;
84.4216 +
84.4217 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4218 + case 386: // prot_elem_decl ::= prot_op_decl
84.4219 + {
84.4220 + Object RESULT =null;
84.4221 +
84.4222 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_elem_decl",199, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4223 + }
84.4224 + return CUP$AdaASTParser$result;
84.4225 +
84.4226 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4227 + case 385: // prot_elem_decl_s ::= prot_elem_decl_s prot_elem_decl
84.4228 + {
84.4229 + Object RESULT =null;
84.4230 +
84.4231 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_elem_decl_s",196, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4232 + }
84.4233 + return CUP$AdaASTParser$result;
84.4234 +
84.4235 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4236 + case 384: // prot_elem_decl_s ::=
84.4237 + {
84.4238 + Object RESULT =null;
84.4239 +
84.4240 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_elem_decl_s",196, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4241 + }
84.4242 + return CUP$AdaASTParser$result;
84.4243 +
84.4244 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4245 + case 383: // prot_op_decl ::= pragma
84.4246 + {
84.4247 + Object RESULT =null;
84.4248 +
84.4249 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_decl",197, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4250 + }
84.4251 + return CUP$AdaASTParser$result;
84.4252 +
84.4253 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4254 + case 382: // prot_op_decl ::= rep_spec
84.4255 + {
84.4256 + Object RESULT =null;
84.4257 +
84.4258 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_decl",197, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4259 + }
84.4260 + return CUP$AdaASTParser$result;
84.4261 +
84.4262 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4263 + case 381: // prot_op_decl ::= subprogram_specification SEMICOLON
84.4264 + {
84.4265 + Object RESULT =null;
84.4266 +
84.4267 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_decl",197, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4268 + }
84.4269 + return CUP$AdaASTParser$result;
84.4270 +
84.4271 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4272 + case 380: // prot_op_decl ::= entry_decl
84.4273 + {
84.4274 + Object RESULT =null;
84.4275 +
84.4276 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_decl",197, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4277 + }
84.4278 + return CUP$AdaASTParser$result;
84.4279 +
84.4280 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4281 + case 379: // prot_op_decl_s ::= prot_op_decl_s prot_op_decl
84.4282 + {
84.4283 + Object RESULT =null;
84.4284 +
84.4285 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_decl_s",194, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4286 + }
84.4287 + return CUP$AdaASTParser$result;
84.4288 +
84.4289 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4290 + case 378: // prot_op_decl_s ::=
84.4291 + {
84.4292 + Object RESULT =null;
84.4293 +
84.4294 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_op_decl_s",194, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4295 + }
84.4296 + return CUP$AdaASTParser$result;
84.4297 +
84.4298 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4299 + case 377: // prot_private_opt ::= PRIVATE prot_elem_decl_s
84.4300 + {
84.4301 + Object RESULT =null;
84.4302 +
84.4303 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_private_opt",195, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4304 + }
84.4305 + return CUP$AdaASTParser$result;
84.4306 +
84.4307 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4308 + case 376: // prot_private_opt ::=
84.4309 + {
84.4310 + Object RESULT =null;
84.4311 +
84.4312 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_private_opt",195, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4313 + }
84.4314 + return CUP$AdaASTParser$result;
84.4315 +
84.4316 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4317 + case 375: // prot_def ::= IS prot_op_decl_s prot_private_opt END id_opt
84.4318 + {
84.4319 + Object RESULT =null;
84.4320 +
84.4321 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_def",193, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4322 + }
84.4323 + return CUP$AdaASTParser$result;
84.4324 +
84.4325 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4326 + case 374: // prot_spec ::= PROTECTED TYPE simple_name discrim_part_opt prot_def
84.4327 + {
84.4328 + Object RESULT =null;
84.4329 +
84.4330 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_spec",192, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4331 + }
84.4332 + return CUP$AdaASTParser$result;
84.4333 +
84.4334 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4335 + case 373: // prot_spec ::= PROTECTED IDENTIFIER prot_def
84.4336 + {
84.4337 + Object RESULT =null;
84.4338 +
84.4339 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_spec",192, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4340 + }
84.4341 + return CUP$AdaASTParser$result;
84.4342 +
84.4343 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4344 + case 372: // prot_decl ::= prot_spec SEMICOLON
84.4345 + {
84.4346 + Object RESULT =null;
84.4347 +
84.4348 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_decl",126, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4349 + }
84.4350 + return CUP$AdaASTParser$result;
84.4351 +
84.4352 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4353 + case 371: // task_body ::= TASK BODY simple_name IS declarative_part block_body END id_opt SEMICOLON
84.4354 + {
84.4355 + Statement RESULT =null;
84.4356 +
84.4357 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("task_body",12, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-8)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4358 + }
84.4359 + return CUP$AdaASTParser$result;
84.4360 +
84.4361 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4362 + case 370: // task_private_opt ::= PRIVATE entry_decl_s rep_spec_s
84.4363 + {
84.4364 + Object RESULT =null;
84.4365 +
84.4366 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("task_private_opt",191, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4367 + }
84.4368 + return CUP$AdaASTParser$result;
84.4369 +
84.4370 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4371 + case 369: // task_private_opt ::=
84.4372 + {
84.4373 + Object RESULT =null;
84.4374 +
84.4375 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("task_private_opt",191, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4376 + }
84.4377 + return CUP$AdaASTParser$result;
84.4378 +
84.4379 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4380 + case 368: // task_def ::= IS entry_decl_s rep_spec_s task_private_opt END id_opt
84.4381 + {
84.4382 + Object RESULT =null;
84.4383 +
84.4384 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("task_def",188, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4385 + }
84.4386 + return CUP$AdaASTParser$result;
84.4387 +
84.4388 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4389 + case 367: // task_def ::=
84.4390 + {
84.4391 + Object RESULT =null;
84.4392 +
84.4393 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("task_def",188, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4394 + }
84.4395 + return CUP$AdaASTParser$result;
84.4396 +
84.4397 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4398 + case 366: // task_spec ::= TASK TYPE simple_name discrim_part_opt task_def
84.4399 + {
84.4400 + Object RESULT =null;
84.4401 +
84.4402 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("task_spec",187, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4403 + }
84.4404 + return CUP$AdaASTParser$result;
84.4405 +
84.4406 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4407 + case 365: // task_spec ::= TASK simple_name task_def
84.4408 + {
84.4409 + Object RESULT =null;
84.4410 +
84.4411 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("task_spec",187, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4412 + }
84.4413 + return CUP$AdaASTParser$result;
84.4414 +
84.4415 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4416 + case 364: // task_decl ::= task_spec SEMICOLON
84.4417 + {
84.4418 + Object RESULT =null;
84.4419 +
84.4420 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("task_decl",125, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4421 + }
84.4422 + return CUP$AdaASTParser$result;
84.4423 +
84.4424 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4425 + case 363: // rename_unit ::= generic_formal_part subprogram_specification RENAMES name SEMICOLON
84.4426 + {
84.4427 + Statement RESULT =null;
84.4428 +
84.4429 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("rename_unit",78, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4430 + }
84.4431 + return CUP$AdaASTParser$result;
84.4432 +
84.4433 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4434 + case 362: // rename_unit ::= generic_formal_part PACKAGE compound_name RENAMES name SEMICOLON
84.4435 + {
84.4436 + Statement RESULT =null;
84.4437 +
84.4438 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("rename_unit",78, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4439 + }
84.4440 + return CUP$AdaASTParser$result;
84.4441 +
84.4442 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4443 + case 361: // rename_unit ::= subprogram_specification RENAMES name SEMICOLON
84.4444 + {
84.4445 + Statement RESULT =null;
84.4446 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.4447 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.4448 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.4449 +
84.4450 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("rename_unit",78, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4451 + }
84.4452 + return CUP$AdaASTParser$result;
84.4453 +
84.4454 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4455 + case 360: // rename_unit ::= PACKAGE compound_name RENAMES name SEMICOLON
84.4456 + {
84.4457 + Statement RESULT =null;
84.4458 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).left;
84.4459 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).right;
84.4460 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).value;
84.4461 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.4462 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.4463 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.4464 + int renamesleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.4465 + int renamesright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.4466 + Identifier renames = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.4467 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.4468 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.4469 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.4470 +
84.4471 + PackageRenames packageRenames = new PackageRenames(tokenleft, endright, name, renames);
84.4472 + RESULT = packageRenames;
84.4473 +
84.4474 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("rename_unit",78, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4475 + }
84.4476 + return CUP$AdaASTParser$result;
84.4477 +
84.4478 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4479 + case 359: // renaming_declaration ::= rename_unit
84.4480 + {
84.4481 + Statement RESULT =null;
84.4482 + int unitleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.4483 + int unitright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.4484 + Statement unit = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.4485 +
84.4486 + RESULT = unit;
84.4487 +
84.4488 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("renaming_declaration",77, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4489 + }
84.4490 + return CUP$AdaASTParser$result;
84.4491 +
84.4492 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4493 + case 358: // renaming_declaration ::= defining_identifier_list COLON EXCEPTION RENAMES name SEMICOLON
84.4494 + {
84.4495 + Statement RESULT =null;
84.4496 +
84.4497 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("renaming_declaration",77, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4498 + }
84.4499 + return CUP$AdaASTParser$result;
84.4500 +
84.4501 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4502 + case 357: // renaming_declaration ::= defining_identifier_list COLON object_qualifier_opt subtype_indication RENAMES name SEMICOLON
84.4503 + {
84.4504 + Statement RESULT =null;
84.4505 +
84.4506 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("renaming_declaration",77, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4507 + }
84.4508 + return CUP$AdaASTParser$result;
84.4509 +
84.4510 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4511 + case 356: // subtype_mark_list ::= subtype_mark_list COMMA name
84.4512 + {
84.4513 + List RESULT =null;
84.4514 + int idListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.4515 + int idListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.4516 + List idList = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.4517 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.4518 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.4519 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.4520 +
84.4521 + TypeName typeName = new TypeName(nameleft, nameright, name);
84.4522 + idList.add(typeName);
84.4523 + RESULT = idList;
84.4524 +
84.4525 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subtype_mark_list",76, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4526 + }
84.4527 + return CUP$AdaASTParser$result;
84.4528 +
84.4529 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4530 + case 355: // subtype_mark_list ::= name
84.4531 + {
84.4532 + List RESULT =null;
84.4533 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.4534 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.4535 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.4536 +
84.4537 + List idList = new LinkedList();
84.4538 + TypeName typeName = new TypeName(nameleft, nameright, name);
84.4539 + idList.add(typeName);
84.4540 + RESULT = idList;
84.4541 +
84.4542 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subtype_mark_list",76, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4543 + }
84.4544 + return CUP$AdaASTParser$result;
84.4545 +
84.4546 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4547 + case 354: // package_name_list ::= package_name_list COMMA name
84.4548 + {
84.4549 + List RESULT =null;
84.4550 + int idListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.4551 + int idListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.4552 + List idList = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.4553 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.4554 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.4555 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.4556 +
84.4557 + PackageName packageName = new PackageName(nameleft, nameright, name);
84.4558 + idList.add(packageName);
84.4559 + RESULT = idList;
84.4560 +
84.4561 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("package_name_list",75, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4562 + }
84.4563 + return CUP$AdaASTParser$result;
84.4564 +
84.4565 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4566 + case 353: // package_name_list ::= name
84.4567 + {
84.4568 + List RESULT =null;
84.4569 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.4570 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.4571 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.4572 +
84.4573 + List idList = new LinkedList();
84.4574 + PackageName packageName = new PackageName(nameleft, nameright, name);
84.4575 + idList.add(packageName);
84.4576 + RESULT = idList;
84.4577 +
84.4578 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("package_name_list",75, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4579 + }
84.4580 + return CUP$AdaASTParser$result;
84.4581 +
84.4582 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4583 + case 352: // use_clause ::= USE TYPE subtype_mark_list SEMICOLON
84.4584 + {
84.4585 + Statement RESULT =null;
84.4586 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.4587 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.4588 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.4589 + int subTypeListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.4590 + int subTypeListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.4591 + List subTypeList = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.4592 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.4593 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.4594 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.4595 +
84.4596 + RESULT = new UseType(tokenleft, endright, subTypeList);
84.4597 +
84.4598 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("use_clause",74, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4599 + }
84.4600 + return CUP$AdaASTParser$result;
84.4601 +
84.4602 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4603 + case 351: // use_clause ::= USE package_name_list SEMICOLON
84.4604 + {
84.4605 + Statement RESULT =null;
84.4606 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.4607 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.4608 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.4609 + int packageListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.4610 + int packageListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.4611 + List packageList = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.4612 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.4613 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.4614 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.4615 +
84.4616 + RESULT = new Use(tokenleft, endright, packageList);
84.4617 +
84.4618 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("use_clause",74, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4619 + }
84.4620 + return CUP$AdaASTParser$result;
84.4621 +
84.4622 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4623 + case 350: // limited_opt ::= LIMITED
84.4624 + {
84.4625 + Integer RESULT =null;
84.4626 +
84.4627 + RESULT = AdaASTParser.LIMITED;
84.4628 +
84.4629 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("limited_opt",73, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4630 + }
84.4631 + return CUP$AdaASTParser$result;
84.4632 +
84.4633 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4634 + case 349: // limited_opt ::=
84.4635 + {
84.4636 + Integer RESULT =null;
84.4637 +
84.4638 + RESULT = 0;
84.4639 +
84.4640 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("limited_opt",73, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4641 + }
84.4642 + return CUP$AdaASTParser$result;
84.4643 +
84.4644 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4645 + case 348: // private_type_declaration ::= tagged_opt limited_opt PRIVATE
84.4646 + {
84.4647 + PrivateType RESULT =null;
84.4648 + int taggedleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.4649 + int taggedright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.4650 + Integer tagged = (Integer)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.4651 + int limitedleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.4652 + int limitedright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.4653 + Integer limited = (Integer)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.4654 + int privateKeywordleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.4655 + int privateKeywordright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.4656 + Object privateKeyword = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.4657 +
84.4658 + PrivateType privateType = new PrivateType(taggedleft, privateKeywordright, tagged + limited + AdaASTParser.PRIVATE);
84.4659 + RESULT = privateType;
84.4660 +
84.4661 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("private_type_declaration",71, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4662 + }
84.4663 + return CUP$AdaASTParser$result;
84.4664 +
84.4665 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4666 + case 347: // body_opt ::= block_body
84.4667 + {
84.4668 + Object RESULT =null;
84.4669 +
84.4670 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("body_opt",185, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4671 + }
84.4672 + return CUP$AdaASTParser$result;
84.4673 +
84.4674 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4675 + case 346: // body_opt ::=
84.4676 + {
84.4677 + Object RESULT =null;
84.4678 +
84.4679 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("body_opt",185, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4680 + }
84.4681 + return CUP$AdaASTParser$result;
84.4682 +
84.4683 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4684 + case 345: // package_body ::= PACKAGE BODY compound_name IS declarative_part body_opt END compound_name_opt SEMICOLON
84.4685 + {
84.4686 + Statement RESULT =null;
84.4687 + int declarationStartleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-8)).left;
84.4688 + int declarationStartright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-8)).right;
84.4689 + Object declarationStart = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-8)).value;
84.4690 + int package_nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)).left;
84.4691 + int package_nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)).right;
84.4692 + Identifier package_name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)).value;
84.4693 + int blockStartleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).left;
84.4694 + int blockStartright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).right;
84.4695 + Object blockStart = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).value;
84.4696 + int declarativePartleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).left;
84.4697 + int declarativePartright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).right;
84.4698 + List declarativePart = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).value;
84.4699 + int package_name_endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.4700 + int package_name_endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.4701 + Identifier package_name_end = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.4702 + int declarationEndleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.4703 + int declarationEndright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.4704 + Object declarationEnd = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.4705 +
84.4706 + if (package_name_end != null && !package_name_end.getName().equalsIgnoreCase (package_name.getName())) {
84.4707 + this.parser.message_error("mispelling of " + package_name);
84.4708 + }
84.4709 + else {
84.4710 +
84.4711 + List list = this.parser.setModifier (declarativePart, AdaASTParser.PRIVATE);
84.4712 + Block block = new Block(blockStartleft, declarationEndright, list);
84.4713 +
84.4714 + PackageBody packageBody = new PackageBody(declarationStartleft, declarationEndright, package_name, package_name_end, block);
84.4715 + RESULT = packageBody;
84.4716 + }
84.4717 +
84.4718 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("package_body",69, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-8)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4719 + }
84.4720 + return CUP$AdaASTParser$result;
84.4721 +
84.4722 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4723 + case 344: // compound_name_opt ::= compound_name
84.4724 + {
84.4725 + Identifier RESULT =null;
84.4726 + int compound_nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.4727 + int compound_nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.4728 + Identifier compound_name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.4729 +
84.4730 + RESULT = compound_name;
84.4731 +
84.4732 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("compound_name_opt",95, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4733 + }
84.4734 + return CUP$AdaASTParser$result;
84.4735 +
84.4736 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4737 + case 343: // compound_name_opt ::=
84.4738 + {
84.4739 + Identifier RESULT =null;
84.4740 +
84.4741 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("compound_name_opt",95, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4742 + }
84.4743 + return CUP$AdaASTParser$result;
84.4744 +
84.4745 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4746 + case 342: // private_part ::= PRIVATE declarative_items_opt
84.4747 + {
84.4748 + List RESULT =null;
84.4749 + int declarativeItemsleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.4750 + int declarativeItemsright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.4751 + List declarativeItems = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.4752 +
84.4753 + RESULT = this.parser.setModifier (declarativeItems, AdaASTParser.PRIVATE);
84.4754 +
84.4755 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("private_part",10, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4756 + }
84.4757 + return CUP$AdaASTParser$result;
84.4758 +
84.4759 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4760 + case 341: // private_part ::=
84.4761 + {
84.4762 + List RESULT =null;
84.4763 +
84.4764 + RESULT = new LinkedList();
84.4765 +
84.4766 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("private_part",10, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4767 + }
84.4768 + return CUP$AdaASTParser$result;
84.4769 +
84.4770 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4771 + case 340: // package_specification ::= PACKAGE compound_name IS declarative_items_opt private_part END compound_name_opt
84.4772 + {
84.4773 + Statement RESULT =null;
84.4774 + int declarationStartleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)).left;
84.4775 + int declarationStartright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)).right;
84.4776 + Object declarationStart = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)).value;
84.4777 + int package_nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).left;
84.4778 + int package_nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).right;
84.4779 + Identifier package_name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).value;
84.4780 + int blockStartleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).left;
84.4781 + int blockStartright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).right;
84.4782 + Object blockStart = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).value;
84.4783 + int declarativeItemsleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.4784 + int declarativeItemsright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.4785 + List declarativeItems = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.4786 + int privateDeclarativeItemsleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.4787 + int privateDeclarativeItemsright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.4788 + List privateDeclarativeItems = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.4789 + int declarationEndleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.4790 + int declarationEndright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.4791 + Object declarationEnd = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.4792 + int package_name_endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.4793 + int package_name_endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.4794 + Identifier package_name_end = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.4795 +
84.4796 + if (package_name_end != null && !package_name_end.getName().equalsIgnoreCase (package_name.getName())) {
84.4797 + this.parser.message_error("mispelling of " + package_name);
84.4798 + }
84.4799 + else {
84.4800 + declarativeItems.addAll (privateDeclarativeItems);
84.4801 + // Add private part on block statements
84.4802 + Block block = new Block(blockStartleft, declarationEndright, declarativeItems);
84.4803 + PackageSpecification packageSpecification = new PackageSpecification(declarationStartleft, declarationEndright, package_name, package_name_end, block);
84.4804 + RESULT = packageSpecification;
84.4805 + }
84.4806 +
84.4807 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("package_specification",68, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4808 + }
84.4809 + return CUP$AdaASTParser$result;
84.4810 +
84.4811 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4812 + case 339: // package_declaration ::= generic_package_instantiation SEMICOLON
84.4813 + {
84.4814 + Statement RESULT =null;
84.4815 +
84.4816 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("package_declaration",67, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4817 + }
84.4818 + return CUP$AdaASTParser$result;
84.4819 +
84.4820 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4821 + case 338: // package_declaration ::= package_specification SEMICOLON
84.4822 + {
84.4823 + Statement RESULT =null;
84.4824 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.4825 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.4826 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.4827 +
84.4828 + RESULT = statement;
84.4829 +
84.4830 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("package_declaration",67, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4831 + }
84.4832 + return CUP$AdaASTParser$result;
84.4833 +
84.4834 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4835 + case 337: // procedure_call_statement ::= name SEMICOLON
84.4836 + {
84.4837 + Statement RESULT =null;
84.4838 +
84.4839 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("procedure_call_statement",109, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4840 + }
84.4841 + return CUP$AdaASTParser$result;
84.4842 +
84.4843 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4844 + case 336: // subprogram_body ::= subprogram_specification IS declarative_part block_body END id_opt SEMICOLON
84.4845 + {
84.4846 + MethodDeclaration RESULT =null;
84.4847 + int subprogleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)).left;
84.4848 + int subprogright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)).right;
84.4849 + SubprogramSpecification subprog = (SubprogramSpecification)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)).value;
84.4850 + int declarativePartleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).left;
84.4851 + int declarativePartright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).right;
84.4852 + List declarativePart = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).value;
84.4853 + int bodyleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.4854 + int bodyright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.4855 + Block body = (Block)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.4856 + int id_optleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.4857 + int id_optright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.4858 + Identifier id_opt = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.4859 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.4860 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.4861 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.4862 +
84.4863 + if (id_opt != null && !id_opt.getName().equalsIgnoreCase (subprog.getSubprogramName().getName())) {
84.4864 + this.parser.message_error("mispelling of " + subprog.getSubprogramName().getName());
84.4865 + } else {
84.4866 + Block declarations = new Block(subprogright, bodyleft, declarativePart);
84.4867 + body.setEndOffset(endright);
84.4868 + SubprogramBody subprogramBody = new SubprogramBody(subprogleft, endright, subprog, declarations, body, id_opt);
84.4869 + MethodDeclaration methodDeclaration = new MethodDeclaration(subprogleft, endright, 0/*modifier*/, subprogramBody);
84.4870 + RESULT = methodDeclaration;
84.4871 + }
84.4872 +
84.4873 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subprogram_body",58, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4874 + }
84.4875 + return CUP$AdaASTParser$result;
84.4876 +
84.4877 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4878 + case 335: // operator_symbol ::= STRING_LITERAL
84.4879 + {
84.4880 + Identifier RESULT =null;
84.4881 + int string_literalleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.4882 + int string_literalright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.4883 + String string_literal = (String)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.4884 +
84.4885 + Identifier identifier = new Identifier (string_literalleft, string_literalright, string_literal);
84.4886 + RESULT = identifier;
84.4887 +
84.4888 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("operator_symbol",65, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4889 + }
84.4890 + return CUP$AdaASTParser$result;
84.4891 +
84.4892 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4893 + case 334: // mode ::= ACCESS
84.4894 + {
84.4895 + FormalParameter.Mode RESULT =null;
84.4896 +
84.4897 + RESULT = FormalParameter.Mode.ACCESS;
84.4898 +
84.4899 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("mode",63, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4900 + }
84.4901 + return CUP$AdaASTParser$result;
84.4902 +
84.4903 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4904 + case 333: // mode ::= IN OUT
84.4905 + {
84.4906 + FormalParameter.Mode RESULT =null;
84.4907 +
84.4908 + RESULT = FormalParameter.Mode.IN_OUT;
84.4909 +
84.4910 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("mode",63, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4911 + }
84.4912 + return CUP$AdaASTParser$result;
84.4913 +
84.4914 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4915 + case 332: // mode ::= OUT
84.4916 + {
84.4917 + FormalParameter.Mode RESULT =null;
84.4918 +
84.4919 + RESULT = FormalParameter.Mode.OUT;
84.4920 +
84.4921 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("mode",63, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4922 + }
84.4923 + return CUP$AdaASTParser$result;
84.4924 +
84.4925 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4926 + case 331: // mode ::= IN
84.4927 + {
84.4928 + FormalParameter.Mode RESULT =null;
84.4929 +
84.4930 + RESULT = FormalParameter.Mode.IN;
84.4931 +
84.4932 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("mode",63, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4933 + }
84.4934 + return CUP$AdaASTParser$result;
84.4935 +
84.4936 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4937 + case 330: // mode ::=
84.4938 + {
84.4939 + FormalParameter.Mode RESULT =null;
84.4940 +
84.4941 + RESULT = FormalParameter.Mode.IN;
84.4942 +
84.4943 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("mode",63, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4944 + }
84.4945 + return CUP$AdaASTParser$result;
84.4946 +
84.4947 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4948 + case 329: // param ::= error SEMICOLON
84.4949 + {
84.4950 + List RESULT =null;
84.4951 + int theErrorleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.4952 + int theErrorright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.4953 + Object theError = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.4954 +
84.4955 + List list = new LinkedList();
84.4956 + ASTError error = new ASTError(theErrorleft, theErrorright);
84.4957 + list.add(error);
84.4958 + RESULT = list;
84.4959 +
84.4960 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("param",62, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4961 + }
84.4962 + return CUP$AdaASTParser$result;
84.4963 +
84.4964 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4965 + case 328: // param ::= defining_identifier_list COLON mode subtype_mark init_opt
84.4966 + {
84.4967 + List RESULT =null;
84.4968 + int identifierListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).left;
84.4969 + int identifierListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).right;
84.4970 + List identifierList = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).value;
84.4971 + int modeleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.4972 + int moderight = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.4973 + FormalParameter.Mode mode = (FormalParameter.Mode)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.4974 + int subtypeleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.4975 + int subtyperight = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.4976 + NameBase subtype = (NameBase)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.4977 + int initleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.4978 + int initright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.4979 + Expression init = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.4980 +
84.4981 + List list = new LinkedList();
84.4982 + for (Object item : identifierList) {
84.4983 + Identifier identifier = (Identifier)item;
84.4984 + Variable variable = new Variable (identifier.getStartOffset(), identifier.getEndOffset(), identifier);
84.4985 + int end = init == null ? subtyperight : initright;
84.4986 + FormalParameter parameter = new FormalParameter(identifierListleft, end, variable, mode, subtype, init);
84.4987 + list.add(parameter);
84.4988 + }
84.4989 + RESULT = list;
84.4990 +
84.4991 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("param",62, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.4992 + }
84.4993 + return CUP$AdaASTParser$result;
84.4994 +
84.4995 + /*. . . . . . . . . . . . . . . . . . . .*/
84.4996 + case 327: // param_s ::= param_s SEMICOLON param
84.4997 + {
84.4998 + List RESULT =null;
84.4999 + int listleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.5000 + int listright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.5001 + List list = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.5002 + int parameterleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5003 + int parameterright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5004 + List parameter = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5005 +
84.5006 + list.addAll(parameter);
84.5007 + RESULT = list;
84.5008 +
84.5009 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("param_s",59, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5010 + }
84.5011 + return CUP$AdaASTParser$result;
84.5012 +
84.5013 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5014 + case 326: // param_s ::= param
84.5015 + {
84.5016 + List RESULT =null;
84.5017 + int parameterleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5018 + int parameterright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5019 + List parameter = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5020 +
84.5021 + List list = new LinkedList();
84.5022 + list.addAll(parameter);
84.5023 + RESULT = list;
84.5024 +
84.5025 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("param_s",59, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5026 + }
84.5027 + return CUP$AdaASTParser$result;
84.5028 +
84.5029 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5030 + case 325: // formal_part ::= LPAREN param_s RPAREN
84.5031 + {
84.5032 + List RESULT =null;
84.5033 + int listleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.5034 + int listright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.5035 + List list = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.5036 +
84.5037 + RESULT = list;
84.5038 +
84.5039 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("formal_part",61, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5040 + }
84.5041 + return CUP$AdaASTParser$result;
84.5042 +
84.5043 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5044 + case 324: // formal_part_opt ::= formal_part
84.5045 + {
84.5046 + List RESULT =null;
84.5047 + int listleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5048 + int listright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5049 + List list = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5050 +
84.5051 + RESULT = list;
84.5052 +
84.5053 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("formal_part_opt",60, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5054 + }
84.5055 + return CUP$AdaASTParser$result;
84.5056 +
84.5057 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5058 + case 323: // formal_part_opt ::=
84.5059 + {
84.5060 + List RESULT =null;
84.5061 +
84.5062 + List list = new LinkedList();
84.5063 + RESULT = list;
84.5064 +
84.5065 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("formal_part_opt",60, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5066 + }
84.5067 + return CUP$AdaASTParser$result;
84.5068 +
84.5069 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5070 + case 322: // designator ::= operator_symbol
84.5071 + {
84.5072 + Identifier RESULT =null;
84.5073 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5074 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5075 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5076 +
84.5077 + RESULT = name;
84.5078 +
84.5079 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("designator",64, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5080 + }
84.5081 + return CUP$AdaASTParser$result;
84.5082 +
84.5083 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5084 + case 321: // designator ::= compound_name
84.5085 + {
84.5086 + Identifier RESULT =null;
84.5087 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5088 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5089 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5090 +
84.5091 + RESULT = name;
84.5092 +
84.5093 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("designator",64, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5094 + }
84.5095 + return CUP$AdaASTParser$result;
84.5096 +
84.5097 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5098 + case 320: // subprogram_specification ::= FUNCTION designator
84.5099 + {
84.5100 + SubprogramSpecification RESULT =null;
84.5101 + int functionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.5102 + int functionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.5103 + Object function = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.5104 + int designatorleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5105 + int designatorright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5106 + Identifier designator = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5107 +
84.5108 + SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, designatorright, designator);
84.5109 + RESULT = subprogramSpecification;
84.5110 +
84.5111 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subprogram_specification",56, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5112 + }
84.5113 + return CUP$AdaASTParser$result;
84.5114 +
84.5115 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5116 + case 319: // subprogram_specification ::= FUNCTION designator formal_part_opt RETURN name
84.5117 + {
84.5118 + SubprogramSpecification RESULT =null;
84.5119 + int functionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).left;
84.5120 + int functionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).right;
84.5121 + Object function = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).value;
84.5122 + int designatorleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.5123 + int designatorright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.5124 + Identifier designator = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.5125 + int formal_partleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.5126 + int formal_partright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.5127 + List formal_part = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.5128 + int subtype_markleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5129 + int subtype_markright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5130 + Identifier subtype_mark = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5131 +
84.5132 + SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, subtype_markright, designator, formal_part, subtype_mark);
84.5133 + RESULT = subprogramSpecification;
84.5134 +
84.5135 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subprogram_specification",56, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5136 + }
84.5137 + return CUP$AdaASTParser$result;
84.5138 +
84.5139 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5140 + case 318: // subprogram_specification ::= PROCEDURE compound_name formal_part_opt
84.5141 + {
84.5142 + SubprogramSpecification RESULT =null;
84.5143 + int procedureleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.5144 + int procedureright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.5145 + Object procedure = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.5146 + int compound_nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.5147 + int compound_nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.5148 + Identifier compound_name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.5149 + int formal_partleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5150 + int formal_partright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5151 + List formal_part = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5152 +
84.5153 + SubprogramSpecification subprogramSpecification = new SubprogramSpecification(procedureleft, formal_partright, compound_name, formal_part);
84.5154 + RESULT = subprogramSpecification;
84.5155 +
84.5156 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subprogram_specification",56, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5157 + }
84.5158 + return CUP$AdaASTParser$result;
84.5159 +
84.5160 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5161 + case 317: // subprog_declaration ::= subprogram_specification IS ABSTRACT SEMICOLON
84.5162 + {
84.5163 + Statement RESULT =null;
84.5164 + int subprogleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.5165 + int subprogright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.5166 + SubprogramSpecification subprog = (SubprogramSpecification)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.5167 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5168 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5169 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5170 +
84.5171 + RESULT = new MethodDeclaration(subprogleft, endright, AdaASTParser.ABSTRACT, subprog);
84.5172 +
84.5173 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subprog_declaration",3, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5174 + }
84.5175 + return CUP$AdaASTParser$result;
84.5176 +
84.5177 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5178 + case 316: // subprog_declaration ::= generic_subp_inst SEMICOLON
84.5179 + {
84.5180 + Statement RESULT =null;
84.5181 + int subprogleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.5182 + int subprogright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.5183 + SubprogramSpecification subprog = (SubprogramSpecification)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.5184 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5185 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5186 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5187 +
84.5188 + RESULT = new MethodDeclaration(subprogleft, endright, 0/*modifier*/, subprog);
84.5189 +
84.5190 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subprog_declaration",3, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5191 + }
84.5192 + return CUP$AdaASTParser$result;
84.5193 +
84.5194 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5195 + case 315: // subprog_declaration ::= subprogram_specification SEMICOLON
84.5196 + {
84.5197 + Statement RESULT =null;
84.5198 + int subprogleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.5199 + int subprogright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.5200 + SubprogramSpecification subprog = (SubprogramSpecification)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.5201 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5202 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5203 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5204 +
84.5205 + RESULT = new MethodDeclaration(subprogleft, endright, 0/*modifier*/, subprog);
84.5206 +
84.5207 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subprog_declaration",3, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5208 + }
84.5209 + return CUP$AdaASTParser$result;
84.5210 +
84.5211 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5212 + case 314: // goto_statement ::= GOTO name SEMICOLON
84.5213 + {
84.5214 + Statement RESULT =null;
84.5215 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.5216 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.5217 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.5218 + int labelNameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.5219 + int labelNameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.5220 + Identifier labelName = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.5221 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5222 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5223 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5224 +
84.5225 + RESULT = new GotoStatement(tokenleft, endright, labelName);
84.5226 +
84.5227 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("goto_statement",55, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5228 + }
84.5229 + return CUP$AdaASTParser$result;
84.5230 +
84.5231 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5232 + case 313: // return_statement ::= RETURN expression SEMICOLON
84.5233 + {
84.5234 + Statement RESULT =null;
84.5235 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.5236 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.5237 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.5238 + int exprleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.5239 + int exprright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.5240 + Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.5241 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5242 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5243 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5244 +
84.5245 + RESULT = new ReturnStatement(tokenleft, endright, expr);
84.5246 +
84.5247 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("return_statement",66, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5248 + }
84.5249 + return CUP$AdaASTParser$result;
84.5250 +
84.5251 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5252 + case 312: // return_statement ::= RETURN SEMICOLON
84.5253 + {
84.5254 + Statement RESULT =null;
84.5255 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.5256 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.5257 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.5258 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5259 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5260 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5261 +
84.5262 + RESULT = new ReturnStatement(tokenleft, endright);
84.5263 +
84.5264 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("return_statement",66, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5265 + }
84.5266 + return CUP$AdaASTParser$result;
84.5267 +
84.5268 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5269 + case 311: // when_opt ::= WHEN condition
84.5270 + {
84.5271 + Expression RESULT =null;
84.5272 + int condleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5273 + int condright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5274 + Expression cond = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5275 +
84.5276 + RESULT = cond;
84.5277 +
84.5278 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("when_opt",108, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5279 + }
84.5280 + return CUP$AdaASTParser$result;
84.5281 +
84.5282 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5283 + case 310: // when_opt ::=
84.5284 + {
84.5285 + Expression RESULT =null;
84.5286 +
84.5287 + RESULT = null;
84.5288 +
84.5289 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("when_opt",108, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5290 + }
84.5291 + return CUP$AdaASTParser$result;
84.5292 +
84.5293 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5294 + case 309: // name_opt ::= name
84.5295 + {
84.5296 + Expression RESULT =null;
84.5297 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5298 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5299 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5300 +
84.5301 + RESULT = name;
84.5302 +
84.5303 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("name_opt",54, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5304 + }
84.5305 + return CUP$AdaASTParser$result;
84.5306 +
84.5307 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5308 + case 308: // name_opt ::=
84.5309 + {
84.5310 + Expression RESULT =null;
84.5311 +
84.5312 + RESULT = null;
84.5313 +
84.5314 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("name_opt",54, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5315 + }
84.5316 + return CUP$AdaASTParser$result;
84.5317 +
84.5318 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5319 + case 307: // exit_statement ::= EXIT name_opt when_opt SEMICOLON
84.5320 + {
84.5321 + Statement RESULT =null;
84.5322 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.5323 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.5324 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.5325 + int loopNameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.5326 + int loopNameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.5327 + Expression loopName = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.5328 + int whenConditionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.5329 + int whenConditionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.5330 + Expression whenCondition = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.5331 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5332 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5333 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5334 +
84.5335 + RESULT = new ExitStatement(tokenleft, endright, loopName, whenCondition);
84.5336 +
84.5337 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("exit_statement",53, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5338 + }
84.5339 + return CUP$AdaASTParser$result;
84.5340 +
84.5341 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5342 + case 306: // except_handler_part_opt ::= except_handler_part
84.5343 + {
84.5344 + Object RESULT =null;
84.5345 +
84.5346 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("except_handler_part_opt",182, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5347 + }
84.5348 + return CUP$AdaASTParser$result;
84.5349 +
84.5350 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5351 + case 305: // except_handler_part_opt ::=
84.5352 + {
84.5353 + Object RESULT =null;
84.5354 +
84.5355 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("except_handler_part_opt",182, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5356 + }
84.5357 + return CUP$AdaASTParser$result;
84.5358 +
84.5359 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5360 + case 304: // handled_stmt_s ::= sequence_of_statements except_handler_part_opt
84.5361 + {
84.5362 + List RESULT =null;
84.5363 + int statementsleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.5364 + int statementsright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.5365 + List statements = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.5366 +
84.5367 + RESULT = statements;
84.5368 +
84.5369 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("handled_stmt_s",101, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5370 + }
84.5371 + return CUP$AdaASTParser$result;
84.5372 +
84.5373 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5374 + case 303: // block_body ::= BEGIN handled_stmt_s
84.5375 + {
84.5376 + Block RESULT =null;
84.5377 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.5378 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.5379 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.5380 + int statementsleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5381 + int statementsright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5382 + List statements = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5383 +
84.5384 + Block body = new Block(tokenright, statementsright, statements);
84.5385 + RESULT = body;
84.5386 +
84.5387 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("block_body",52, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5388 + }
84.5389 + return CUP$AdaASTParser$result;
84.5390 +
84.5391 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5392 + case 302: // block_declarative ::= DECLARE declarative_part
84.5393 + {
84.5394 + Block RESULT =null;
84.5395 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.5396 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.5397 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.5398 + int declarativePartleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5399 + int declarativePartright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5400 + List declarativePart = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5401 +
84.5402 + Block declarations = new Block(tokenright, declarativePartleft, declarativePart);
84.5403 + RESULT = declarations;
84.5404 +
84.5405 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("block_declarative",51, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5406 + }
84.5407 + return CUP$AdaASTParser$result;
84.5408 +
84.5409 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5410 + case 301: // block_declarative ::=
84.5411 + {
84.5412 + Block RESULT =null;
84.5413 +
84.5414 + RESULT = null;
84.5415 +
84.5416 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("block_declarative",51, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5417 + }
84.5418 + return CUP$AdaASTParser$result;
84.5419 +
84.5420 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5421 + case 300: // block_statement ::= label_opt block_declarative block_body END id_opt SEMICOLON
84.5422 + {
84.5423 + BlockStatement RESULT =null;
84.5424 + int labelleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).left;
84.5425 + int labelright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).right;
84.5426 + Identifier label = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).value;
84.5427 + int declarationsleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).left;
84.5428 + int declarationsright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).right;
84.5429 + Block declarations = (Block)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).value;
84.5430 + int bodyleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.5431 + int bodyright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.5432 + Block body = (Block)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.5433 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5434 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5435 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5436 +
84.5437 + int start = (label == null) ? declarationsleft : labelleft;
84.5438 + BlockStatement blockStatement = new BlockStatement (start, endleft, label, declarations, body);
84.5439 + RESULT = blockStatement;
84.5440 +
84.5441 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("block_statement",50, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5442 + }
84.5443 + return CUP$AdaASTParser$result;
84.5444 +
84.5445 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5446 + case 299: // id_opt ::= designator
84.5447 + {
84.5448 + Identifier RESULT =null;
84.5449 + int designatorleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5450 + int designatorright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5451 + Identifier designator = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5452 +
84.5453 + RESULT = designator;
84.5454 +
84.5455 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("id_opt",104, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5456 + }
84.5457 + return CUP$AdaASTParser$result;
84.5458 +
84.5459 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5460 + case 298: // id_opt ::=
84.5461 + {
84.5462 + Identifier RESULT =null;
84.5463 +
84.5464 + RESULT = null;
84.5465 +
84.5466 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("id_opt",104, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5467 + }
84.5468 + return CUP$AdaASTParser$result;
84.5469 +
84.5470 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5471 + case 297: // basic_loop ::= LOOP sequence_of_statements END LOOP
84.5472 + {
84.5473 + Block RESULT =null;
84.5474 + int statementsleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.5475 + int statementsright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.5476 + List statements = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.5477 +
84.5478 + Block loopBlock = new Block(statementsleft, statementsright, statements);
84.5479 + RESULT = loopBlock;
84.5480 +
84.5481 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("basic_loop",48, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5482 + }
84.5483 + return CUP$AdaASTParser$result;
84.5484 +
84.5485 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5486 + case 296: // reverse_opt ::= REVERSE
84.5487 + {
84.5488 + Object RESULT =null;
84.5489 +
84.5490 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("reverse_opt",181, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5491 + }
84.5492 + return CUP$AdaASTParser$result;
84.5493 +
84.5494 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5495 + case 295: // reverse_opt ::=
84.5496 + {
84.5497 + Object RESULT =null;
84.5498 +
84.5499 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("reverse_opt",181, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5500 + }
84.5501 + return CUP$AdaASTParser$result;
84.5502 +
84.5503 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5504 + case 294: // iter_part ::= FOR IDENTIFIER IN
84.5505 + {
84.5506 + Object RESULT =null;
84.5507 +
84.5508 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("iter_part",180, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5509 + }
84.5510 + return CUP$AdaASTParser$result;
84.5511 +
84.5512 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5513 + case 293: // iteration ::= iter_part reverse_opt discrete_range
84.5514 + {
84.5515 + Expression RESULT =null;
84.5516 + int conditionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5517 + int conditionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5518 + Expression condition = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5519 +
84.5520 + RESULT = condition;
84.5521 +
84.5522 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("iteration",49, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5523 + }
84.5524 + return CUP$AdaASTParser$result;
84.5525 +
84.5526 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5527 + case 292: // iteration ::= WHILE condition
84.5528 + {
84.5529 + Expression RESULT =null;
84.5530 + int conditionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5531 + int conditionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5532 + Expression condition = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5533 +
84.5534 + RESULT = condition;
84.5535 +
84.5536 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("iteration",49, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5537 + }
84.5538 + return CUP$AdaASTParser$result;
84.5539 +
84.5540 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5541 + case 291: // iteration ::=
84.5542 + {
84.5543 + Expression RESULT =null;
84.5544 +
84.5545 + RESULT = null;
84.5546 +
84.5547 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("iteration",49, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5548 + }
84.5549 + return CUP$AdaASTParser$result;
84.5550 +
84.5551 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5552 + case 290: // label_opt ::= IDENTIFIER COLON
84.5553 + {
84.5554 + Identifier RESULT =null;
84.5555 + int idleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.5556 + int idright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.5557 + String id = (String)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.5558 +
84.5559 + Identifier identifier = new Identifier (idleft, idright, id);
84.5560 + RESULT = identifier;
84.5561 +
84.5562 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("label_opt",112, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5563 + }
84.5564 + return CUP$AdaASTParser$result;
84.5565 +
84.5566 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5567 + case 289: // label_opt ::=
84.5568 + {
84.5569 + Identifier RESULT =null;
84.5570 +
84.5571 + RESULT = null;
84.5572 +
84.5573 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("label_opt",112, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5574 + }
84.5575 + return CUP$AdaASTParser$result;
84.5576 +
84.5577 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5578 + case 288: // loop_statement ::= label_opt iteration basic_loop id_opt SEMICOLON
84.5579 + {
84.5580 + LoopStatement RESULT =null;
84.5581 + int labelleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).left;
84.5582 + int labelright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).right;
84.5583 + Identifier label = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).value;
84.5584 + int iterationleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.5585 + int iterationright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.5586 + Expression iteration = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.5587 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.5588 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.5589 + Block statement = (Block)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.5590 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5591 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5592 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5593 +
84.5594 + int start = (label == null) ? iterationleft : labelleft;
84.5595 + LoopStatement loopStatement = new LoopStatement(start, endright, label, iteration, statement);
84.5596 + RESULT = loopStatement;
84.5597 +
84.5598 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("loop_statement",47, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5599 + }
84.5600 + return CUP$AdaASTParser$result;
84.5601 +
84.5602 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5603 + case 287: // alternative ::= WHEN choice_s ARROW sequence_of_statements
84.5604 + {
84.5605 + CaseWhen RESULT =null;
84.5606 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.5607 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.5608 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.5609 + int exprleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.5610 + int exprright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.5611 + Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.5612 + int statementsleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5613 + int statementsright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5614 + List statements = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5615 +
84.5616 + CaseWhen caseWhen = new CaseWhen(tokenleft, statementsright, expr, statements);
84.5617 + RESULT = caseWhen;
84.5618 +
84.5619 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("alternative",46, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5620 + }
84.5621 + return CUP$AdaASTParser$result;
84.5622 +
84.5623 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5624 + case 286: // alternative_s ::= alternative_s alternative
84.5625 + {
84.5626 + List RESULT =null;
84.5627 + int whenListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.5628 + int whenListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.5629 + List whenList = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.5630 + int whenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5631 + int whenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5632 + CaseWhen when = (CaseWhen)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5633 +
84.5634 + whenList.add (when);
84.5635 + RESULT = whenList;
84.5636 +
84.5637 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("alternative_s",45, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5638 + }
84.5639 + return CUP$AdaASTParser$result;
84.5640 +
84.5641 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5642 + case 285: // alternative_s ::=
84.5643 + {
84.5644 + List RESULT =null;
84.5645 +
84.5646 + RESULT = new LinkedList();
84.5647 +
84.5648 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("alternative_s",45, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5649 + }
84.5650 + return CUP$AdaASTParser$result;
84.5651 +
84.5652 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5653 + case 284: // case_statement ::= CASE expression IS pragma_s alternative_s END CASE SEMICOLON
84.5654 + {
84.5655 + CaseStatement RESULT =null;
84.5656 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-7)).left;
84.5657 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-7)).right;
84.5658 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-7)).value;
84.5659 + int exprleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)).left;
84.5660 + int exprright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)).right;
84.5661 + Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-6)).value;
84.5662 + int whenListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.5663 + int whenListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.5664 + List whenList = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.5665 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5666 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5667 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5668 +
84.5669 + Block whenBlock = new Block(whenListleft, whenListright, whenList);
84.5670 + CaseStatement caseStatement = new CaseStatement(tokenleft, endright, expr, whenBlock);
84.5671 + RESULT = caseStatement;
84.5672 +
84.5673 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("case_statement",44, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-7)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5674 + }
84.5675 + return CUP$AdaASTParser$result;
84.5676 +
84.5677 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5678 + case 283: // else_opt ::= ELSE sequence_of_statements
84.5679 + {
84.5680 + Block RESULT =null;
84.5681 + int statementsleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5682 + int statementsright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5683 + List statements = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5684 +
84.5685 + Block block = new Block(statementsleft, statementsright, statements);
84.5686 + RESULT = block;
84.5687 +
84.5688 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("else_opt",43, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5689 + }
84.5690 + return CUP$AdaASTParser$result;
84.5691 +
84.5692 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5693 + case 282: // else_opt ::=
84.5694 + {
84.5695 + Block RESULT =null;
84.5696 +
84.5697 + RESULT = null;
84.5698 +
84.5699 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("else_opt",43, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5700 + }
84.5701 + return CUP$AdaASTParser$result;
84.5702 +
84.5703 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5704 + case 281: // condition ::= expression
84.5705 + {
84.5706 + Expression RESULT =null;
84.5707 + int expressionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5708 + int expressionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5709 + Expression expression = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5710 +
84.5711 + RESULT = expression;
84.5712 +
84.5713 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("condition",42, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5714 + }
84.5715 + return CUP$AdaASTParser$result;
84.5716 +
84.5717 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5718 + case 280: // cond_clause_s ::= cond_clause_s ELSIF condition THEN sequence_of_statements
84.5719 + {
84.5720 + List[] RESULT =null;
84.5721 + int condListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).left;
84.5722 + int condListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).right;
84.5723 + List[] condList = (List[])((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).value;
84.5724 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.5725 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.5726 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.5727 + int conditionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.5728 + int conditionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.5729 + Expression condition = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.5730 + int iftrueleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5731 + int iftrueright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5732 + List iftrue = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5733 +
84.5734 + Block block = new Block(iftrueleft, iftrueright, iftrue);
84.5735 + ((LinkedList)condList[0]).addFirst(condition);
84.5736 + ((LinkedList)condList[1]).addFirst(block);
84.5737 + ((LinkedList)condList[2]).addFirst(new Integer(tokenleft));
84.5738 +
84.5739 + RESULT = condList;
84.5740 +
84.5741 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("cond_clause_s",41, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5742 + }
84.5743 + return CUP$AdaASTParser$result;
84.5744 +
84.5745 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5746 + case 279: // cond_clause_s ::= condition THEN sequence_of_statements
84.5747 + {
84.5748 + List[] RESULT =null;
84.5749 + int conditionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.5750 + int conditionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.5751 + Expression condition = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.5752 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.5753 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.5754 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.5755 + int iftrueleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5756 + int iftrueright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5757 + List iftrue = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5758 +
84.5759 + List listConditions = new LinkedList();
84.5760 + List listStatements = new LinkedList();
84.5761 + List listTokens = new LinkedList();
84.5762 +
84.5763 + Block block = new Block(iftrueleft, iftrueright, iftrue);
84.5764 + listConditions.add(condition);
84.5765 + listStatements.add(block);
84.5766 + listTokens.add(new Integer(tokenleft));
84.5767 +
84.5768 + List[] returnList = new List[] { listConditions, listStatements, listTokens };
84.5769 +
84.5770 + RESULT = returnList;
84.5771 +
84.5772 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("cond_clause_s",41, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5773 + }
84.5774 + return CUP$AdaASTParser$result;
84.5775 +
84.5776 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5777 + case 278: // if_statement ::= IF cond_clause_s else_opt END IF SEMICOLON
84.5778 + {
84.5779 + IfStatement RESULT =null;
84.5780 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).left;
84.5781 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).right;
84.5782 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).value;
84.5783 + int condListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).left;
84.5784 + int condListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).right;
84.5785 + List[] condList = (List[])((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).value;
84.5786 + int iffalseleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.5787 + int iffalseright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.5788 + Block iffalse = (Block)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.5789 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5790 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5791 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5792 +
84.5793 + Expression innerCondition = null;
84.5794 + Expression firstCondition = null;
84.5795 + Statement trueStatement = null;
84.5796 + Statement falseStatement = iffalse;
84.5797 +
84.5798 + for (int i=1 ; i < condList[0].size() ; i++) {
84.5799 + innerCondition = (Expression)condList[0].get(i);
84.5800 + trueStatement = (Statement)condList[1].get(i);
84.5801 + int start = ((Integer)condList[2].get(i)).intValue();
84.5802 + falseStatement = new IfStatement(start, endright, innerCondition, trueStatement, falseStatement);
84.5803 + }
84.5804 +
84.5805 + firstCondition = (Expression)condList[0].get(0);
84.5806 + trueStatement = (Statement)condList[1].get(0);
84.5807 + int start = ((Integer)condList[2].get(0)).intValue();
84.5808 + IfStatement ifStatement = new IfStatement(tokenleft, endright, firstCondition, trueStatement, falseStatement);
84.5809 +
84.5810 + RESULT = ifStatement;
84.5811 +
84.5812 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("if_statement",40, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5813 + }
84.5814 + return CUP$AdaASTParser$result;
84.5815 +
84.5816 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5817 + case 277: // assignment_statement ::= name ASSIGNMENT expression SEMICOLON
84.5818 + {
84.5819 + Statement RESULT =null;
84.5820 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.5821 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.5822 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.5823 + int expressionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.5824 + int expressionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.5825 + Expression expression = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.5826 +
84.5827 + Variable variable = new Variable (nameleft, nameright, name);
84.5828 + Assignment assignment = new Assignment(nameleft, expressionright, variable, expression);
84.5829 + RESULT = assignment;
84.5830 +
84.5831 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("assignment_statement",39, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5832 + }
84.5833 + return CUP$AdaASTParser$result;
84.5834 +
84.5835 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5836 + case 276: // null_statement ::= NULL SEMICOLON
84.5837 + {
84.5838 + Statement RESULT =null;
84.5839 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.5840 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.5841 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.5842 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5843 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5844 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5845 +
84.5846 + RESULT = new NullStatement(tokenleft, endright);
84.5847 +
84.5848 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("null_statement",38, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5849 + }
84.5850 + return CUP$AdaASTParser$result;
84.5851 +
84.5852 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5853 + case 275: // label ::= LTLT IDENTIFIER GTGT
84.5854 + {
84.5855 + Object RESULT =null;
84.5856 +
84.5857 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("label",176, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5858 + }
84.5859 + return CUP$AdaASTParser$result;
84.5860 +
84.5861 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5862 + case 274: // compound_statement ::= select_stmt
84.5863 + {
84.5864 + Statement RESULT =null;
84.5865 +
84.5866 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("compound_statement",37, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5867 + }
84.5868 + return CUP$AdaASTParser$result;
84.5869 +
84.5870 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5871 + case 273: // compound_statement ::= accept_stmt
84.5872 + {
84.5873 + Statement RESULT =null;
84.5874 +
84.5875 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("compound_statement",37, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5876 + }
84.5877 + return CUP$AdaASTParser$result;
84.5878 +
84.5879 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5880 + case 272: // compound_statement ::= block_statement
84.5881 + {
84.5882 + Statement RESULT =null;
84.5883 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5884 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5885 + BlockStatement statement = (BlockStatement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5886 +
84.5887 + RESULT = statement;
84.5888 +
84.5889 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("compound_statement",37, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5890 + }
84.5891 + return CUP$AdaASTParser$result;
84.5892 +
84.5893 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5894 + case 271: // compound_statement ::= loop_statement
84.5895 + {
84.5896 + Statement RESULT =null;
84.5897 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5898 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5899 + LoopStatement statement = (LoopStatement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5900 +
84.5901 + RESULT = statement;
84.5902 +
84.5903 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("compound_statement",37, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5904 + }
84.5905 + return CUP$AdaASTParser$result;
84.5906 +
84.5907 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5908 + case 270: // compound_statement ::= case_statement
84.5909 + {
84.5910 + Statement RESULT =null;
84.5911 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5912 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5913 + CaseStatement statement = (CaseStatement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5914 +
84.5915 + RESULT = statement;
84.5916 +
84.5917 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("compound_statement",37, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5918 + }
84.5919 + return CUP$AdaASTParser$result;
84.5920 +
84.5921 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5922 + case 269: // compound_statement ::= if_statement
84.5923 + {
84.5924 + Statement RESULT =null;
84.5925 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5926 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5927 + IfStatement statement = (IfStatement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5928 +
84.5929 + RESULT = statement;
84.5930 +
84.5931 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("compound_statement",37, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5932 + }
84.5933 + return CUP$AdaASTParser$result;
84.5934 +
84.5935 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5936 + case 268: // simple_statement ::= error SEMICOLON
84.5937 + {
84.5938 + Statement RESULT =null;
84.5939 + int theErrorleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.5940 + int theErrorright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.5941 + Object theError = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.5942 +
84.5943 + ASTError error = new ASTError(theErrorleft, theErrorright);
84.5944 + RESULT = error;
84.5945 +
84.5946 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5947 + }
84.5948 + return CUP$AdaASTParser$result;
84.5949 +
84.5950 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5951 + case 267: // simple_statement ::= requeue_stmt
84.5952 + {
84.5953 + Statement RESULT =null;
84.5954 +
84.5955 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5956 + }
84.5957 + return CUP$AdaASTParser$result;
84.5958 +
84.5959 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5960 + case 266: // simple_statement ::= code_statement
84.5961 + {
84.5962 + Statement RESULT =null;
84.5963 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5964 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5965 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5966 +
84.5967 + RESULT = statement;
84.5968 +
84.5969 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5970 + }
84.5971 + return CUP$AdaASTParser$result;
84.5972 +
84.5973 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5974 + case 265: // simple_statement ::= raise_statement
84.5975 + {
84.5976 + Statement RESULT =null;
84.5977 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5978 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5979 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5980 +
84.5981 + RESULT = statement;
84.5982 +
84.5983 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5984 + }
84.5985 + return CUP$AdaASTParser$result;
84.5986 +
84.5987 + /*. . . . . . . . . . . . . . . . . . . .*/
84.5988 + case 264: // simple_statement ::= abort_statement
84.5989 + {
84.5990 + Statement RESULT =null;
84.5991 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.5992 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.5993 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.5994 +
84.5995 + RESULT = statement;
84.5996 +
84.5997 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.5998 + }
84.5999 + return CUP$AdaASTParser$result;
84.6000 +
84.6001 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6002 + case 263: // simple_statement ::= delay_statement
84.6003 + {
84.6004 + Statement RESULT =null;
84.6005 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6006 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6007 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6008 +
84.6009 + RESULT = statement;
84.6010 +
84.6011 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6012 + }
84.6013 + return CUP$AdaASTParser$result;
84.6014 +
84.6015 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6016 + case 262: // simple_statement ::= procedure_call_statement
84.6017 + {
84.6018 + Statement RESULT =null;
84.6019 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6020 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6021 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6022 +
84.6023 + RESULT = statement;
84.6024 +
84.6025 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6026 + }
84.6027 + return CUP$AdaASTParser$result;
84.6028 +
84.6029 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6030 + case 261: // simple_statement ::= goto_statement
84.6031 + {
84.6032 + Statement RESULT =null;
84.6033 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6034 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6035 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6036 +
84.6037 + RESULT = statement;
84.6038 +
84.6039 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6040 + }
84.6041 + return CUP$AdaASTParser$result;
84.6042 +
84.6043 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6044 + case 260: // simple_statement ::= return_statement
84.6045 + {
84.6046 + Statement RESULT =null;
84.6047 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6048 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6049 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6050 +
84.6051 + RESULT = statement;
84.6052 +
84.6053 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6054 + }
84.6055 + return CUP$AdaASTParser$result;
84.6056 +
84.6057 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6058 + case 259: // simple_statement ::= exit_statement
84.6059 + {
84.6060 + Statement RESULT =null;
84.6061 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6062 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6063 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6064 +
84.6065 + RESULT = statement;
84.6066 +
84.6067 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6068 + }
84.6069 + return CUP$AdaASTParser$result;
84.6070 +
84.6071 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6072 + case 258: // simple_statement ::= assignment_statement
84.6073 + {
84.6074 + Statement RESULT =null;
84.6075 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6076 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6077 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6078 +
84.6079 + RESULT = statement;
84.6080 +
84.6081 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6082 + }
84.6083 + return CUP$AdaASTParser$result;
84.6084 +
84.6085 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6086 + case 257: // simple_statement ::= null_statement
84.6087 + {
84.6088 + Statement RESULT =null;
84.6089 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6090 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6091 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6092 +
84.6093 + RESULT = statement;
84.6094 +
84.6095 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("simple_statement",36, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6096 + }
84.6097 + return CUP$AdaASTParser$result;
84.6098 +
84.6099 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6100 + case 256: // unlabeled ::= pragma
84.6101 + {
84.6102 + Statement RESULT =null;
84.6103 +
84.6104 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("unlabeled",105, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6105 + }
84.6106 + return CUP$AdaASTParser$result;
84.6107 +
84.6108 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6109 + case 255: // unlabeled ::= compound_statement
84.6110 + {
84.6111 + Statement RESULT =null;
84.6112 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6113 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6114 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6115 +
84.6116 + RESULT = statement;
84.6117 +
84.6118 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("unlabeled",105, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6119 + }
84.6120 + return CUP$AdaASTParser$result;
84.6121 +
84.6122 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6123 + case 254: // unlabeled ::= simple_statement
84.6124 + {
84.6125 + Statement RESULT =null;
84.6126 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6127 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6128 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6129 +
84.6130 + RESULT = statement;
84.6131 +
84.6132 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("unlabeled",105, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6133 + }
84.6134 + return CUP$AdaASTParser$result;
84.6135 +
84.6136 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6137 + case 253: // statement ::= label statement
84.6138 + {
84.6139 + Statement RESULT =null;
84.6140 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6141 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6142 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6143 +
84.6144 + RESULT = statement;
84.6145 +
84.6146 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("statement",102, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6147 + }
84.6148 + return CUP$AdaASTParser$result;
84.6149 +
84.6150 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6151 + case 252: // statement ::= unlabeled
84.6152 + {
84.6153 + Statement RESULT =null;
84.6154 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6155 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6156 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6157 +
84.6158 + RESULT = statement;
84.6159 +
84.6160 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("statement",102, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6161 + }
84.6162 + return CUP$AdaASTParser$result;
84.6163 +
84.6164 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6165 + case 251: // sequence_of_statements ::= sequence_of_statements statement
84.6166 + {
84.6167 + List RESULT =null;
84.6168 + int listleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.6169 + int listright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.6170 + List list = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.6171 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6172 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6173 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6174 +
84.6175 + list.add(statement);
84.6176 + RESULT = list;
84.6177 +
84.6178 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("sequence_of_statements",35, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6179 + }
84.6180 + return CUP$AdaASTParser$result;
84.6181 +
84.6182 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6183 + case 250: // sequence_of_statements ::= statement
84.6184 + {
84.6185 + List RESULT =null;
84.6186 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6187 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6188 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6189 +
84.6190 + List list = new LinkedList();
84.6191 + list.add(statement);
84.6192 + RESULT = list;
84.6193 +
84.6194 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("sequence_of_statements",35, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6195 + }
84.6196 + return CUP$AdaASTParser$result;
84.6197 +
84.6198 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6199 + case 249: // allocator ::= NEW qualified_expression
84.6200 + {
84.6201 + Object RESULT =null;
84.6202 +
84.6203 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("allocator",175, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6204 + }
84.6205 + return CUP$AdaASTParser$result;
84.6206 +
84.6207 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6208 + case 248: // allocator ::= NEW name
84.6209 + {
84.6210 + Object RESULT =null;
84.6211 +
84.6212 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("allocator",175, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6213 + }
84.6214 + return CUP$AdaASTParser$result;
84.6215 +
84.6216 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6217 + case 247: // qualified_expression ::= name TICK parenthesized_primary
84.6218 + {
84.6219 + Expression RESULT =null;
84.6220 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.6221 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.6222 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.6223 + int exprleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6224 + int exprright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6225 + Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6226 +
84.6227 + RESULT = new QualifiedExpression (nameleft, exprright, name, expr);
84.6228 +
84.6229 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("qualified_expression",34, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6230 + }
84.6231 + return CUP$AdaASTParser$result;
84.6232 +
84.6233 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6234 + case 246: // parenthesized_primary ::= LPAREN expression RPAREN
84.6235 + {
84.6236 + Expression RESULT =null;
84.6237 + int expressionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.6238 + int expressionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.6239 + Expression expression = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.6240 +
84.6241 + RESULT = expression;
84.6242 +
84.6243 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("parenthesized_primary",107, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6244 + }
84.6245 + return CUP$AdaASTParser$result;
84.6246 +
84.6247 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6248 + case 245: // parenthesized_primary ::= aggregate
84.6249 + {
84.6250 + Expression RESULT =null;
84.6251 +
84.6252 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("parenthesized_primary",107, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6253 + }
84.6254 + return CUP$AdaASTParser$result;
84.6255 +
84.6256 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6257 + case 244: // primary ::= parenthesized_primary
84.6258 + {
84.6259 + Expression RESULT =null;
84.6260 + int parenthesized_primaryleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6261 + int parenthesized_primaryright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6262 + Expression parenthesized_primary = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6263 +
84.6264 + RESULT = parenthesized_primary;
84.6265 +
84.6266 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("primary",28, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6267 + }
84.6268 + return CUP$AdaASTParser$result;
84.6269 +
84.6270 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6271 + case 243: // primary ::= qualified_expression
84.6272 + {
84.6273 + Expression RESULT =null;
84.6274 + int qualified_expressionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6275 + int qualified_expressionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6276 + Expression qualified_expression = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6277 +
84.6278 + RESULT = qualified_expression;
84.6279 +
84.6280 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("primary",28, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6281 + }
84.6282 + return CUP$AdaASTParser$result;
84.6283 +
84.6284 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6285 + case 242: // primary ::= allocator
84.6286 + {
84.6287 + Expression RESULT =null;
84.6288 +
84.6289 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("primary",28, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6290 + }
84.6291 + return CUP$AdaASTParser$result;
84.6292 +
84.6293 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6294 + case 241: // primary ::= name
84.6295 + {
84.6296 + Expression RESULT =null;
84.6297 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6298 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6299 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6300 +
84.6301 +// TODO: must be modified for manage all primery types
84.6302 + Variable variable = new Variable (nameleft, nameright, name);
84.6303 + RESULT = variable;
84.6304 +
84.6305 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("primary",28, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6306 + }
84.6307 + return CUP$AdaASTParser$result;
84.6308 +
84.6309 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6310 + case 240: // primary ::= literal
84.6311 + {
84.6312 + Expression RESULT =null;
84.6313 + int literalleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6314 + int literalright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6315 + Expression literal = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6316 +
84.6317 + RESULT = literal;
84.6318 +
84.6319 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("primary",28, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6320 + }
84.6321 + return CUP$AdaASTParser$result;
84.6322 +
84.6323 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6324 + case 239: // factor ::= primary EXPON primary
84.6325 + {
84.6326 + Expression RESULT =null;
84.6327 + int primary1left = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.6328 + int primary1right = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.6329 + Expression primary1 = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.6330 + int primary2left = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6331 + int primary2right = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6332 + Expression primary2 = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6333 +
84.6334 + InfixExpression infixExpression = new InfixExpression(primary1left, primary2right, primary1, InfixExpression.OperatorType.EXPON, primary2);
84.6335 + RESULT = infixExpression;
84.6336 +
84.6337 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("factor",27, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6338 + }
84.6339 + return CUP$AdaASTParser$result;
84.6340 +
84.6341 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6342 + case 238: // factor ::= ABS primary
84.6343 + {
84.6344 + Expression RESULT =null;
84.6345 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.6346 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.6347 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.6348 + int primaryleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6349 + int primaryright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6350 + Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6351 +
84.6352 + UnaryOperation unaryOperation = new UnaryOperation(tokenleft, primaryright, primary, UnaryOperation.Operator.ABS);
84.6353 + RESULT = unaryOperation;
84.6354 +
84.6355 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("factor",27, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6356 + }
84.6357 + return CUP$AdaASTParser$result;
84.6358 +
84.6359 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6360 + case 237: // factor ::= NOT primary
84.6361 + {
84.6362 + Expression RESULT =null;
84.6363 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.6364 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.6365 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.6366 + int primaryleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6367 + int primaryright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6368 + Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6369 +
84.6370 + UnaryOperation unaryOperation = new UnaryOperation(tokenleft, primaryright, primary, UnaryOperation.Operator.NOT);
84.6371 + RESULT = unaryOperation;
84.6372 +
84.6373 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("factor",27, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6374 + }
84.6375 + return CUP$AdaASTParser$result;
84.6376 +
84.6377 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6378 + case 236: // factor ::= primary
84.6379 + {
84.6380 + Expression RESULT =null;
84.6381 + int primaryleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6382 + int primaryright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6383 + Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6384 +
84.6385 + RESULT = primary;
84.6386 +
84.6387 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("factor",27, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6388 + }
84.6389 + return CUP$AdaASTParser$result;
84.6390 +
84.6391 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6392 + case 235: // term ::= term multiplying_operator factor
84.6393 + {
84.6394 + Expression RESULT =null;
84.6395 + int termleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.6396 + int termright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.6397 + Expression term = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.6398 + int multiplying_operatorleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.6399 + int multiplying_operatorright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.6400 + InfixExpression.OperatorType multiplying_operator = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.6401 + int factorleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6402 + int factorright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6403 + Expression factor = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6404 +
84.6405 + InfixExpression infixExpression = new InfixExpression(termleft, factorright, term, multiplying_operator, factor);
84.6406 + RESULT = infixExpression;
84.6407 +
84.6408 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("term",26, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6409 + }
84.6410 + return CUP$AdaASTParser$result;
84.6411 +
84.6412 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6413 + case 234: // term ::= factor
84.6414 + {
84.6415 + Expression RESULT =null;
84.6416 + int factorleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6417 + int factorright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6418 + Expression factor = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6419 +
84.6420 + RESULT = factor;
84.6421 +
84.6422 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("term",26, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6423 + }
84.6424 + return CUP$AdaASTParser$result;
84.6425 +
84.6426 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6427 + case 233: // simple_expression ::= simple_expression binary_adding_operator term
84.6428 + {
84.6429 + Expression RESULT =null;
84.6430 + int simple_expressionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.6431 + int simple_expressionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.6432 + Expression simple_expression = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.6433 + int binary_adding_operatorleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.6434 + int binary_adding_operatorright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.6435 + InfixExpression.OperatorType binary_adding_operator = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.6436 + int termleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6437 + int termright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6438 + Expression term = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6439 +
84.6440 + InfixExpression infixExpression = new InfixExpression(simple_expressionleft, termright, simple_expression, binary_adding_operator, term);
84.6441 + RESULT = infixExpression;
84.6442 +
84.6443 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("simple_expression",25, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6444 + }
84.6445 + return CUP$AdaASTParser$result;
84.6446 +
84.6447 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6448 + case 232: // simple_expression ::= term
84.6449 + {
84.6450 + Expression RESULT =null;
84.6451 + int termleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6452 + int termright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6453 + Expression term = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6454 +
84.6455 + RESULT = term;
84.6456 +
84.6457 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("simple_expression",25, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6458 + }
84.6459 + return CUP$AdaASTParser$result;
84.6460 +
84.6461 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6462 + case 231: // simple_expression ::= unary_adding_operator term
84.6463 + {
84.6464 + Expression RESULT =null;
84.6465 + int unary_adding_operatorleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.6466 + int unary_adding_operatorright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.6467 + UnaryOperation.Operator unary_adding_operator = (UnaryOperation.Operator)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.6468 + int termleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6469 + int termright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6470 + Expression term = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6471 +
84.6472 + UnaryOperation unaryOperation = new UnaryOperation(unary_adding_operatorleft, termright, term, unary_adding_operator);
84.6473 + RESULT = unaryOperation;
84.6474 +
84.6475 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("simple_expression",25, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6476 + }
84.6477 + return CUP$AdaASTParser$result;
84.6478 +
84.6479 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6480 + case 230: // relation ::= simple_expression membership name
84.6481 + {
84.6482 + Expression RESULT =null;
84.6483 + int simple_expressionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.6484 + int simple_expressionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.6485 + Expression simple_expression = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.6486 + int membershipleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.6487 + int membershipright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.6488 + InfixExpression.OperatorType membership = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.6489 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6490 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6491 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6492 +
84.6493 + InfixExpression infixExpression = new InfixExpression(simple_expressionleft, nameright, simple_expression, membership, name);
84.6494 + RESULT = infixExpression;
84.6495 +
84.6496 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("relation",24, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6497 + }
84.6498 + return CUP$AdaASTParser$result;
84.6499 +
84.6500 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6501 + case 229: // relation ::= simple_expression membership range
84.6502 + {
84.6503 + Expression RESULT =null;
84.6504 + int simple_expressionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.6505 + int simple_expressionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.6506 + Expression simple_expression = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.6507 + int membershipleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.6508 + int membershipright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.6509 + InfixExpression.OperatorType membership = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.6510 + int rangeleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6511 + int rangeright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6512 + Expression range = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6513 +
84.6514 + InfixExpression infixExpression = new InfixExpression(simple_expressionleft, rangeright, simple_expression, membership, range);
84.6515 + RESULT = infixExpression;
84.6516 +
84.6517 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("relation",24, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6518 + }
84.6519 + return CUP$AdaASTParser$result;
84.6520 +
84.6521 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6522 + case 228: // relation ::= simple_expression relational_operator simple_expression
84.6523 + {
84.6524 + Expression RESULT =null;
84.6525 + int simple_expression1left = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.6526 + int simple_expression1right = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.6527 + Expression simple_expression1 = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.6528 + int relational_operatorleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.6529 + int relational_operatorright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.6530 + InfixExpression.OperatorType relational_operator = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.6531 + int simple_expression2left = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6532 + int simple_expression2right = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6533 + Expression simple_expression2 = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6534 +
84.6535 + InfixExpression infixExpression = new InfixExpression(simple_expression1left, simple_expression2right, simple_expression1, relational_operator, simple_expression2);
84.6536 + RESULT = infixExpression;
84.6537 +
84.6538 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("relation",24, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6539 + }
84.6540 + return CUP$AdaASTParser$result;
84.6541 +
84.6542 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6543 + case 227: // relation ::= simple_expression
84.6544 + {
84.6545 + Expression RESULT =null;
84.6546 + int simple_expressionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6547 + int simple_expressionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6548 + Expression simple_expression = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6549 +
84.6550 + RESULT = simple_expression;
84.6551 +
84.6552 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("relation",24, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6553 + }
84.6554 + return CUP$AdaASTParser$result;
84.6555 +
84.6556 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6557 + case 226: // expression ::= expression short_circuit relation
84.6558 + {
84.6559 + Expression RESULT =null;
84.6560 + int expressionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.6561 + int expressionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.6562 + Expression expression = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.6563 + int short_circuitleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.6564 + int short_circuitright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.6565 + InfixExpression.OperatorType short_circuit = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.6566 + int relationleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6567 + int relationright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6568 + Expression relation = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6569 +
84.6570 + InfixExpression infixExpression = new InfixExpression(expressionleft, relationright, expression, short_circuit, relation);
84.6571 + RESULT = infixExpression;
84.6572 +
84.6573 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("expression",23, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6574 + }
84.6575 + return CUP$AdaASTParser$result;
84.6576 +
84.6577 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6578 + case 225: // expression ::= expression logical_operator relation
84.6579 + {
84.6580 + Expression RESULT =null;
84.6581 + int expressionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.6582 + int expressionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.6583 + Expression expression = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.6584 + int logical_operatorleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.6585 + int logical_operatorright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.6586 + InfixExpression.OperatorType logical_operator = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.6587 + int relationleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6588 + int relationright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6589 + Expression relation = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6590 +
84.6591 + InfixExpression infixExpression = new InfixExpression(expressionleft, relationright, expression, logical_operator, relation);
84.6592 + RESULT = infixExpression;
84.6593 +
84.6594 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("expression",23, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6595 + }
84.6596 + return CUP$AdaASTParser$result;
84.6597 +
84.6598 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6599 + case 224: // expression ::= relation
84.6600 + {
84.6601 + Expression RESULT =null;
84.6602 + int relationleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6603 + int relationright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6604 + Expression relation = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6605 +
84.6606 + RESULT = relation;
84.6607 +
84.6608 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("expression",23, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6609 + }
84.6610 + return CUP$AdaASTParser$result;
84.6611 +
84.6612 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6613 + case 223: // multiplying_operator ::= REM
84.6614 + {
84.6615 + InfixExpression.OperatorType RESULT =null;
84.6616 +
84.6617 + RESULT = InfixExpression.OperatorType.REM;
84.6618 +
84.6619 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("multiplying_operator",33, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6620 + }
84.6621 + return CUP$AdaASTParser$result;
84.6622 +
84.6623 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6624 + case 222: // multiplying_operator ::= MOD
84.6625 + {
84.6626 + InfixExpression.OperatorType RESULT =null;
84.6627 +
84.6628 + RESULT = InfixExpression.OperatorType.MOD;
84.6629 +
84.6630 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("multiplying_operator",33, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6631 + }
84.6632 + return CUP$AdaASTParser$result;
84.6633 +
84.6634 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6635 + case 221: // multiplying_operator ::= SLASH
84.6636 + {
84.6637 + InfixExpression.OperatorType RESULT =null;
84.6638 +
84.6639 + RESULT = InfixExpression.OperatorType.DIV;
84.6640 +
84.6641 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("multiplying_operator",33, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6642 + }
84.6643 + return CUP$AdaASTParser$result;
84.6644 +
84.6645 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6646 + case 220: // multiplying_operator ::= STAR
84.6647 + {
84.6648 + InfixExpression.OperatorType RESULT =null;
84.6649 +
84.6650 + RESULT = InfixExpression.OperatorType.MUL;
84.6651 +
84.6652 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("multiplying_operator",33, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6653 + }
84.6654 + return CUP$AdaASTParser$result;
84.6655 +
84.6656 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6657 + case 219: // binary_adding_operator ::= AMP
84.6658 + {
84.6659 + InfixExpression.OperatorType RESULT =null;
84.6660 +
84.6661 + RESULT = InfixExpression.OperatorType.STRING_AND;
84.6662 +
84.6663 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("binary_adding_operator",31, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6664 + }
84.6665 + return CUP$AdaASTParser$result;
84.6666 +
84.6667 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6668 + case 218: // binary_adding_operator ::= MINUS
84.6669 + {
84.6670 + InfixExpression.OperatorType RESULT =null;
84.6671 +
84.6672 + RESULT = InfixExpression.OperatorType.MINUS;
84.6673 +
84.6674 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("binary_adding_operator",31, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6675 + }
84.6676 + return CUP$AdaASTParser$result;
84.6677 +
84.6678 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6679 + case 217: // binary_adding_operator ::= PLUS
84.6680 + {
84.6681 + InfixExpression.OperatorType RESULT =null;
84.6682 +
84.6683 + RESULT = InfixExpression.OperatorType.PLUS;
84.6684 +
84.6685 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("binary_adding_operator",31, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6686 + }
84.6687 + return CUP$AdaASTParser$result;
84.6688 +
84.6689 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6690 + case 216: // unary_adding_operator ::= MINUS
84.6691 + {
84.6692 + UnaryOperation.Operator RESULT =null;
84.6693 +
84.6694 + RESULT = UnaryOperation.Operator.MINUS;
84.6695 +
84.6696 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("unary_adding_operator",32, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6697 + }
84.6698 + return CUP$AdaASTParser$result;
84.6699 +
84.6700 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6701 + case 215: // unary_adding_operator ::= PLUS
84.6702 + {
84.6703 + UnaryOperation.Operator RESULT =null;
84.6704 +
84.6705 + RESULT = UnaryOperation.Operator.PLUS;
84.6706 +
84.6707 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("unary_adding_operator",32, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6708 + }
84.6709 + return CUP$AdaASTParser$result;
84.6710 +
84.6711 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6712 + case 214: // membership ::= NOT IN
84.6713 + {
84.6714 + InfixExpression.OperatorType RESULT =null;
84.6715 +
84.6716 + RESULT = InfixExpression.OperatorType.NOT_IN;
84.6717 +
84.6718 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("membership",119, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6719 + }
84.6720 + return CUP$AdaASTParser$result;
84.6721 +
84.6722 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6723 + case 213: // membership ::= IN
84.6724 + {
84.6725 + InfixExpression.OperatorType RESULT =null;
84.6726 +
84.6727 + RESULT = InfixExpression.OperatorType.IN;
84.6728 +
84.6729 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("membership",119, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6730 + }
84.6731 + return CUP$AdaASTParser$result;
84.6732 +
84.6733 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6734 + case 212: // relational_operator ::= GTEQ
84.6735 + {
84.6736 + InfixExpression.OperatorType RESULT =null;
84.6737 +
84.6738 + RESULT = InfixExpression.OperatorType.IS_GREATER_OR_EQUAL;
84.6739 +
84.6740 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("relational_operator",30, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6741 + }
84.6742 + return CUP$AdaASTParser$result;
84.6743 +
84.6744 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6745 + case 211: // relational_operator ::= LT
84.6746 + {
84.6747 + InfixExpression.OperatorType RESULT =null;
84.6748 +
84.6749 + RESULT = InfixExpression.OperatorType.LGREATER;
84.6750 +
84.6751 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("relational_operator",30, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6752 + }
84.6753 + return CUP$AdaASTParser$result;
84.6754 +
84.6755 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6756 + case 210: // relational_operator ::= LTEQ
84.6757 + {
84.6758 + InfixExpression.OperatorType RESULT =null;
84.6759 +
84.6760 + RESULT = InfixExpression.OperatorType.IS_SMALLER_OR_EQUAL;
84.6761 +
84.6762 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("relational_operator",30, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6763 + }
84.6764 + return CUP$AdaASTParser$result;
84.6765 +
84.6766 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6767 + case 209: // relational_operator ::= GT
84.6768 + {
84.6769 + InfixExpression.OperatorType RESULT =null;
84.6770 +
84.6771 + RESULT = InfixExpression.OperatorType.RGREATER;
84.6772 +
84.6773 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("relational_operator",30, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6774 + }
84.6775 + return CUP$AdaASTParser$result;
84.6776 +
84.6777 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6778 + case 208: // relational_operator ::= INEQ
84.6779 + {
84.6780 + InfixExpression.OperatorType RESULT =null;
84.6781 +
84.6782 + RESULT = InfixExpression.OperatorType.IS_NOT_EQUAL;
84.6783 +
84.6784 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("relational_operator",30, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6785 + }
84.6786 + return CUP$AdaASTParser$result;
84.6787 +
84.6788 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6789 + case 207: // relational_operator ::= EQ
84.6790 + {
84.6791 + InfixExpression.OperatorType RESULT =null;
84.6792 +
84.6793 + RESULT = InfixExpression.OperatorType.IS_EQUAL;
84.6794 +
84.6795 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("relational_operator",30, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6796 + }
84.6797 + return CUP$AdaASTParser$result;
84.6798 +
84.6799 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6800 + case 206: // short_circuit ::= OR ELSE
84.6801 + {
84.6802 + InfixExpression.OperatorType RESULT =null;
84.6803 +
84.6804 + RESULT = InfixExpression.OperatorType.BOOL_AND;
84.6805 +
84.6806 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("short_circuit",118, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6807 + }
84.6808 + return CUP$AdaASTParser$result;
84.6809 +
84.6810 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6811 + case 205: // short_circuit ::= AND THEN
84.6812 + {
84.6813 + InfixExpression.OperatorType RESULT =null;
84.6814 +
84.6815 + RESULT = InfixExpression.OperatorType.BOOL_OR;
84.6816 +
84.6817 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("short_circuit",118, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6818 + }
84.6819 + return CUP$AdaASTParser$result;
84.6820 +
84.6821 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6822 + case 204: // logical_operator ::= XOR
84.6823 + {
84.6824 + InfixExpression.OperatorType RESULT =null;
84.6825 +
84.6826 + RESULT = InfixExpression.OperatorType.BOOL_XOR;
84.6827 +
84.6828 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("logical_operator",29, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6829 + }
84.6830 + return CUP$AdaASTParser$result;
84.6831 +
84.6832 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6833 + case 203: // logical_operator ::= OR
84.6834 + {
84.6835 + InfixExpression.OperatorType RESULT =null;
84.6836 +
84.6837 + RESULT = InfixExpression.OperatorType.BOOL_OR;
84.6838 +
84.6839 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("logical_operator",29, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6840 + }
84.6841 + return CUP$AdaASTParser$result;
84.6842 +
84.6843 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6844 + case 202: // logical_operator ::= AND
84.6845 + {
84.6846 + InfixExpression.OperatorType RESULT =null;
84.6847 +
84.6848 + RESULT = InfixExpression.OperatorType.BOOL_AND;
84.6849 +
84.6850 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("logical_operator",29, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6851 + }
84.6852 + return CUP$AdaASTParser$result;
84.6853 +
84.6854 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6855 + case 201: // comp_assoc ::= choice_s ARROW expression
84.6856 + {
84.6857 + Object RESULT =null;
84.6858 +
84.6859 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("comp_assoc",172, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6860 + }
84.6861 + return CUP$AdaASTParser$result;
84.6862 +
84.6863 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6864 + case 200: // value_s_2 ::= value_s_2 COMMA value
84.6865 + {
84.6866 + Object RESULT =null;
84.6867 +
84.6868 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("value_s_2",174, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6869 + }
84.6870 + return CUP$AdaASTParser$result;
84.6871 +
84.6872 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6873 + case 199: // value_s_2 ::= value COMMA value
84.6874 + {
84.6875 + Object RESULT =null;
84.6876 +
84.6877 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("value_s_2",174, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6878 + }
84.6879 + return CUP$AdaASTParser$result;
84.6880 +
84.6881 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6882 + case 198: // aggregate ::= LPAREN NULL RECORD RPAREN
84.6883 + {
84.6884 + Object RESULT =null;
84.6885 +
84.6886 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("aggregate",173, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6887 + }
84.6888 + return CUP$AdaASTParser$result;
84.6889 +
84.6890 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6891 + case 197: // aggregate ::= LPAREN expression WITH NULL RECORD RPAREN
84.6892 + {
84.6893 + Object RESULT =null;
84.6894 +
84.6895 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("aggregate",173, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6896 + }
84.6897 + return CUP$AdaASTParser$result;
84.6898 +
84.6899 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6900 + case 196: // aggregate ::= LPAREN expression WITH value_s RPAREN
84.6901 + {
84.6902 + Object RESULT =null;
84.6903 +
84.6904 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("aggregate",173, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6905 + }
84.6906 + return CUP$AdaASTParser$result;
84.6907 +
84.6908 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6909 + case 195: // aggregate ::= LPAREN value_s_2 RPAREN
84.6910 + {
84.6911 + Object RESULT =null;
84.6912 +
84.6913 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("aggregate",173, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6914 + }
84.6915 + return CUP$AdaASTParser$result;
84.6916 +
84.6917 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6918 + case 194: // aggregate ::= LPAREN comp_assoc RPAREN
84.6919 + {
84.6920 + Object RESULT =null;
84.6921 +
84.6922 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("aggregate",173, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6923 + }
84.6924 + return CUP$AdaASTParser$result;
84.6925 +
84.6926 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6927 + case 193: // literal ::= NULL
84.6928 + {
84.6929 + Expression RESULT =null;
84.6930 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6931 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6932 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6933 +
84.6934 + Scalar scalar = new Scalar(tokenleft, tokenright, "null", Scalar.Type.SYSTEM);
84.6935 + RESULT = scalar;
84.6936 +
84.6937 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("literal",106, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6938 + }
84.6939 + return CUP$AdaASTParser$result;
84.6940 +
84.6941 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6942 + case 192: // literal ::= used_char
84.6943 + {
84.6944 + Expression RESULT =null;
84.6945 + int usedCharleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6946 + int usedCharright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6947 + String usedChar = (String)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6948 +
84.6949 + Scalar scalar = new Scalar(usedCharleft, usedCharright, usedChar, Scalar.Type.STRING);
84.6950 + RESULT = scalar;
84.6951 +
84.6952 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("literal",106, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6953 + }
84.6954 + return CUP$AdaASTParser$result;
84.6955 +
84.6956 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6957 + case 191: // literal ::= BASED_LITERAL
84.6958 + {
84.6959 + Expression RESULT =null;
84.6960 + int decleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6961 + int decright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6962 + String dec = (String)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6963 +
84.6964 + Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
84.6965 + RESULT = scalar;
84.6966 +
84.6967 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("literal",106, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6968 + }
84.6969 + return CUP$AdaASTParser$result;
84.6970 +
84.6971 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6972 + case 190: // literal ::= DECIMAL_LITERAL
84.6973 + {
84.6974 + Expression RESULT =null;
84.6975 + int decleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.6976 + int decright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.6977 + String dec = (String)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.6978 +
84.6979 + Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
84.6980 + RESULT = scalar;
84.6981 +
84.6982 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("literal",106, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6983 + }
84.6984 + return CUP$AdaASTParser$result;
84.6985 +
84.6986 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6987 + case 189: // attribute_id ::= ACCESS
84.6988 + {
84.6989 + String RESULT =null;
84.6990 +
84.6991 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("attribute_id",120, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.6992 + }
84.6993 + return CUP$AdaASTParser$result;
84.6994 +
84.6995 + /*. . . . . . . . . . . . . . . . . . . .*/
84.6996 + case 188: // attribute_id ::= DELTA
84.6997 + {
84.6998 + String RESULT =null;
84.6999 +
84.7000 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("attribute_id",120, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7001 + }
84.7002 + return CUP$AdaASTParser$result;
84.7003 +
84.7004 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7005 + case 187: // attribute_id ::= DIGITS
84.7006 + {
84.7007 + String RESULT =null;
84.7008 +
84.7009 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("attribute_id",120, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7010 + }
84.7011 + return CUP$AdaASTParser$result;
84.7012 +
84.7013 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7014 + case 186: // attribute_id ::= IDENTIFIER
84.7015 + {
84.7016 + String RESULT =null;
84.7017 +
84.7018 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("attribute_id",120, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7019 + }
84.7020 + return CUP$AdaASTParser$result;
84.7021 +
84.7022 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7023 + case 185: // attribute ::= name TICK attribute_id
84.7024 + {
84.7025 + Identifier RESULT =null;
84.7026 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.7027 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.7028 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.7029 +
84.7030 + RESULT = name;
84.7031 +
84.7032 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("attribute",113, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7033 + }
84.7034 + return CUP$AdaASTParser$result;
84.7035 +
84.7036 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7037 + case 184: // selected_component ::= name DOT ALL
84.7038 + {
84.7039 + Identifier RESULT =null;
84.7040 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.7041 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.7042 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.7043 + int allleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7044 + int allright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7045 + Object all = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7046 +
84.7047 + Identifier identifier = new Identifier (nameleft, allright, name.getName() + "." + "all");
84.7048 + RESULT = identifier;
84.7049 +
84.7050 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("selected_component",22, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7051 + }
84.7052 + return CUP$AdaASTParser$result;
84.7053 +
84.7054 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7055 + case 183: // selected_component ::= name DOT operator_symbol
84.7056 + {
84.7057 + Identifier RESULT =null;
84.7058 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.7059 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.7060 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.7061 + int operatorleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7062 + int operatorright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7063 + Identifier operator = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7064 +
84.7065 + Identifier identifier = new Identifier (nameleft, operatorright, name.getName() + "." + operator.getName());
84.7066 + RESULT = identifier;
84.7067 +
84.7068 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("selected_component",22, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7069 + }
84.7070 + return CUP$AdaASTParser$result;
84.7071 +
84.7072 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7073 + case 182: // selected_component ::= name DOT used_char
84.7074 + {
84.7075 + Identifier RESULT =null;
84.7076 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.7077 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.7078 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.7079 + int used_charleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7080 + int used_charright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7081 + String used_char = (String)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7082 +
84.7083 + Identifier identifier = new Identifier (nameleft, used_charright, name.getName() + "." + used_char);
84.7084 + RESULT = identifier;
84.7085 +
84.7086 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("selected_component",22, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7087 + }
84.7088 + return CUP$AdaASTParser$result;
84.7089 +
84.7090 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7091 + case 181: // selected_component ::= name DOT simple_name
84.7092 + {
84.7093 + Identifier RESULT =null;
84.7094 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.7095 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.7096 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.7097 + int simple_nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7098 + int simple_nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7099 + Identifier simple_name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7100 +
84.7101 + Identifier identifier = new Identifier (nameleft, simple_nameright, name.getName() + "." + simple_name.getName());
84.7102 + RESULT = identifier;
84.7103 +
84.7104 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("selected_component",22, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7105 + }
84.7106 + return CUP$AdaASTParser$result;
84.7107 +
84.7108 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7109 + case 180: // value ::= error
84.7110 + {
84.7111 + Object RESULT =null;
84.7112 + int theErrorleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7113 + int theErrorright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7114 + Object theError = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7115 +
84.7116 + ASTError error = new ASTError(theErrorleft, theErrorright);
84.7117 + RESULT = error;
84.7118 +
84.7119 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("value",171, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7120 + }
84.7121 + return CUP$AdaASTParser$result;
84.7122 +
84.7123 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7124 + case 179: // value ::= discrete_with_range
84.7125 + {
84.7126 + Object RESULT =null;
84.7127 +
84.7128 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("value",171, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7129 + }
84.7130 + return CUP$AdaASTParser$result;
84.7131 +
84.7132 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7133 + case 178: // value ::= comp_assoc
84.7134 + {
84.7135 + Object RESULT =null;
84.7136 +
84.7137 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("value",171, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7138 + }
84.7139 + return CUP$AdaASTParser$result;
84.7140 +
84.7141 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7142 + case 177: // value ::= expression
84.7143 + {
84.7144 + Object RESULT =null;
84.7145 +
84.7146 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("value",171, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7147 + }
84.7148 + return CUP$AdaASTParser$result;
84.7149 +
84.7150 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7151 + case 176: // value_s ::= value_s COMMA value
84.7152 + {
84.7153 + Expression RESULT =null;
84.7154 +
84.7155 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("value_s",115, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7156 + }
84.7157 + return CUP$AdaASTParser$result;
84.7158 +
84.7159 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7160 + case 175: // value_s ::= value
84.7161 + {
84.7162 + Expression RESULT =null;
84.7163 +
84.7164 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("value_s",115, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7165 + }
84.7166 + return CUP$AdaASTParser$result;
84.7167 +
84.7168 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7169 + case 174: // indexed_component ::= name LPAREN value_s RPAREN
84.7170 + {
84.7171 + Identifier RESULT =null;
84.7172 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.7173 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.7174 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.7175 + int indexleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.7176 + int indexright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.7177 + Expression index = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.7178 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7179 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7180 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7181 +
84.7182 + RESULT = name;
84.7183 +
84.7184 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("indexed_component",114, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7185 + }
84.7186 + return CUP$AdaASTParser$result;
84.7187 +
84.7188 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7189 + case 173: // used_char ::= CHAR_LITERAL
84.7190 + {
84.7191 + String RESULT =null;
84.7192 + int charLiteralleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7193 + int charLiteralright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7194 + String charLiteral = (String)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7195 +
84.7196 + RESULT = charLiteral;
84.7197 +
84.7198 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("used_char",110, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7199 + }
84.7200 + return CUP$AdaASTParser$result;
84.7201 +
84.7202 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7203 + case 172: // library_unit_name_list ::= library_unit_name_list COMMA compound_name
84.7204 + {
84.7205 + List RESULT =null;
84.7206 + int nameListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.7207 + int nameListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.7208 + List nameList = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.7209 + int compound_nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7210 + int compound_nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7211 + Identifier compound_name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7212 +
84.7213 + PackageName packageName = new PackageName(compound_nameleft, compound_nameright, compound_name);
84.7214 + nameList.add(packageName);
84.7215 + RESULT = nameList;
84.7216 +
84.7217 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("library_unit_name_list",89, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7218 + }
84.7219 + return CUP$AdaASTParser$result;
84.7220 +
84.7221 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7222 + case 171: // library_unit_name_list ::= compound_name
84.7223 + {
84.7224 + List RESULT =null;
84.7225 + int compound_nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7226 + int compound_nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7227 + Identifier compound_name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7228 +
84.7229 + List nameList = new LinkedList();
84.7230 + PackageName packageName = new PackageName(compound_nameleft, compound_nameright, compound_name);
84.7231 + nameList.add(packageName);
84.7232 + RESULT = nameList;
84.7233 +
84.7234 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("library_unit_name_list",89, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7235 + }
84.7236 + return CUP$AdaASTParser$result;
84.7237 +
84.7238 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7239 + case 170: // compound_name ::= compound_name DOT simple_name
84.7240 + {
84.7241 + Identifier RESULT =null;
84.7242 + int compound_nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.7243 + int compound_nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.7244 + Identifier compound_name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.7245 + int simple_nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7246 + int simple_nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7247 + Identifier simple_name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7248 +
84.7249 + RESULT = simple_name;
84.7250 +
84.7251 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("compound_name",94, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7252 + }
84.7253 + return CUP$AdaASTParser$result;
84.7254 +
84.7255 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7256 + case 169: // compound_name ::= simple_name
84.7257 + {
84.7258 + Identifier RESULT =null;
84.7259 + int simple_nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7260 + int simple_nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7261 + Identifier simple_name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7262 +
84.7263 + RESULT = simple_name;
84.7264 +
84.7265 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("compound_name",94, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7266 + }
84.7267 + return CUP$AdaASTParser$result;
84.7268 +
84.7269 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7270 + case 168: // simple_name ::= IDENTIFIER
84.7271 + {
84.7272 + Identifier RESULT =null;
84.7273 + int idleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7274 + int idright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7275 + String id = (String)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7276 +
84.7277 + Identifier identifier = new Identifier (idleft, idright, id);
84.7278 + RESULT = identifier;
84.7279 +
84.7280 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("simple_name",21, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7281 + }
84.7282 + return CUP$AdaASTParser$result;
84.7283 +
84.7284 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7285 + case 167: // subtype_mark ::= subtype_mark DOT simple_name
84.7286 + {
84.7287 + NameBase RESULT =null;
84.7288 + int subtype_markleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.7289 + int subtype_markright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.7290 + NameBase subtype_mark = (NameBase)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.7291 + int simple_nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7292 + int simple_nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7293 + Identifier simple_name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7294 +
84.7295 + Dispatch dispatch;
84.7296 + TypeName typeName = new TypeName (simple_nameleft, simple_nameright, simple_name);
84.7297 + if (subtype_mark instanceof TypeName) {
84.7298 + PackageName packageName = new PackageName (subtype_markleft, subtype_markright, ((TypeName)subtype_mark).getTypeName());
84.7299 + dispatch = parser.createDispatch(packageName, typeName);
84.7300 + } else {
84.7301 + dispatch = parser.createDispatch(subtype_mark, typeName);
84.7302 + }
84.7303 +
84.7304 + RESULT = dispatch;
84.7305 +
84.7306 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subtype_mark",100, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7307 + }
84.7308 + return CUP$AdaASTParser$result;
84.7309 +
84.7310 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7311 + case 166: // subtype_mark ::= subtype_mark TICK attribute_id
84.7312 + {
84.7313 + NameBase RESULT =null;
84.7314 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.7315 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.7316 + NameBase name = (NameBase)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.7317 + int idleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7318 + int idright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7319 + String id = (String)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7320 +
84.7321 + ((TypeName)name).setAttributeId(id);
84.7322 + RESULT = name;
84.7323 +
84.7324 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subtype_mark",100, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7325 + }
84.7326 + return CUP$AdaASTParser$result;
84.7327 +
84.7328 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7329 + case 165: // subtype_mark ::= simple_name
84.7330 + {
84.7331 + NameBase RESULT =null;
84.7332 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7333 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7334 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7335 +
84.7336 + TypeName typeName = new TypeName (nameleft, nameright, name);
84.7337 + RESULT = typeName;
84.7338 +
84.7339 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subtype_mark",100, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7340 + }
84.7341 + return CUP$AdaASTParser$result;
84.7342 +
84.7343 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7344 + case 164: // name ::= attribute
84.7345 + {
84.7346 + Identifier RESULT =null;
84.7347 + int attributeleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7348 + int attributeright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7349 + Identifier attribute = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7350 +
84.7351 + RESULT = attribute;
84.7352 +
84.7353 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("name",20, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7354 + }
84.7355 + return CUP$AdaASTParser$result;
84.7356 +
84.7357 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7358 + case 163: // name ::= selected_component
84.7359 + {
84.7360 + Identifier RESULT =null;
84.7361 + int selected_componentleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7362 + int selected_componentright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7363 + Identifier selected_component = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7364 +
84.7365 + RESULT = selected_component;
84.7366 +
84.7367 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("name",20, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7368 + }
84.7369 + return CUP$AdaASTParser$result;
84.7370 +
84.7371 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7372 + case 162: // name ::= indexed_component
84.7373 + {
84.7374 + Identifier RESULT =null;
84.7375 + int indexed_componentleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7376 + int indexed_componentright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7377 + Identifier indexed_component = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7378 +
84.7379 + RESULT = indexed_component;
84.7380 +
84.7381 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("name",20, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7382 + }
84.7383 + return CUP$AdaASTParser$result;
84.7384 +
84.7385 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7386 + case 161: // name ::= operator_symbol
84.7387 + {
84.7388 + Identifier RESULT =null;
84.7389 + int operator_symbolleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7390 + int operator_symbolright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7391 + Identifier operator_symbol = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7392 +
84.7393 + RESULT = operator_symbol;
84.7394 +
84.7395 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("name",20, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7396 + }
84.7397 + return CUP$AdaASTParser$result;
84.7398 +
84.7399 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7400 + case 160: // name ::= simple_name
84.7401 + {
84.7402 + Identifier RESULT =null;
84.7403 + int simple_nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7404 + int simple_nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7405 + Identifier simple_name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7406 +
84.7407 + RESULT = simple_name;
84.7408 +
84.7409 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("name",20, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7410 + }
84.7411 + return CUP$AdaASTParser$result;
84.7412 +
84.7413 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7414 + case 159: // proper_body ::= protected_body
84.7415 + {
84.7416 + Statement RESULT =null;
84.7417 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7418 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7419 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7420 +
84.7421 + RESULT = statement;
84.7422 +
84.7423 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("proper_body",11, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7424 + }
84.7425 + return CUP$AdaASTParser$result;
84.7426 +
84.7427 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7428 + case 158: // proper_body ::= task_body
84.7429 + {
84.7430 + Statement RESULT =null;
84.7431 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7432 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7433 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7434 +
84.7435 + RESULT = statement;
84.7436 +
84.7437 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("proper_body",11, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7438 + }
84.7439 + return CUP$AdaASTParser$result;
84.7440 +
84.7441 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7442 + case 157: // proper_body ::= package_body
84.7443 + {
84.7444 + Statement RESULT =null;
84.7445 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7446 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7447 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7448 +
84.7449 + RESULT = statement;
84.7450 +
84.7451 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("proper_body",11, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7452 + }
84.7453 + return CUP$AdaASTParser$result;
84.7454 +
84.7455 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7456 + case 156: // proper_body ::= subprogram_body
84.7457 + {
84.7458 + Statement RESULT =null;
84.7459 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7460 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7461 + MethodDeclaration statement = (MethodDeclaration)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7462 +
84.7463 + RESULT = statement;
84.7464 +
84.7465 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("proper_body",11, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7466 + }
84.7467 + return CUP$AdaASTParser$result;
84.7468 +
84.7469 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7470 + case 155: // body ::= protected_body
84.7471 + {
84.7472 + Statement RESULT =null;
84.7473 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7474 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7475 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7476 +
84.7477 + RESULT = statement;
84.7478 +
84.7479 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("body",70, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7480 + }
84.7481 + return CUP$AdaASTParser$result;
84.7482 +
84.7483 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7484 + case 154: // body ::= task_body
84.7485 + {
84.7486 + Statement RESULT =null;
84.7487 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7488 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7489 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7490 +
84.7491 + RESULT = statement;
84.7492 +
84.7493 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("body",70, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7494 + }
84.7495 + return CUP$AdaASTParser$result;
84.7496 +
84.7497 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7498 + case 153: // body ::= package_body
84.7499 + {
84.7500 + Statement RESULT =null;
84.7501 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7502 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7503 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7504 +
84.7505 + RESULT = statement;
84.7506 +
84.7507 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("body",70, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7508 + }
84.7509 + return CUP$AdaASTParser$result;
84.7510 +
84.7511 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7512 + case 152: // body ::= subprogram_body
84.7513 + {
84.7514 + Statement RESULT =null;
84.7515 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7516 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7517 + MethodDeclaration statement = (MethodDeclaration)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7518 +
84.7519 + RESULT = statement;
84.7520 +
84.7521 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("body",70, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7522 + }
84.7523 + return CUP$AdaASTParser$result;
84.7524 +
84.7525 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7526 + case 151: // declarative_item_or_body ::= declarative_item
84.7527 + {
84.7528 + Object RESULT =null;
84.7529 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7530 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7531 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7532 +
84.7533 + RESULT = statement;
84.7534 +
84.7535 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item_or_body",170, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7536 + }
84.7537 + return CUP$AdaASTParser$result;
84.7538 +
84.7539 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7540 + case 150: // declarative_item_or_body ::= body
84.7541 + {
84.7542 + Object RESULT =null;
84.7543 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7544 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7545 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7546 +
84.7547 + RESULT = statement;
84.7548 +
84.7549 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item_or_body",170, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7550 + }
84.7551 + return CUP$AdaASTParser$result;
84.7552 +
84.7553 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7554 + case 149: // declarative_item_or_body_s1 ::= declarative_item_or_body_s1 declarative_item_or_body
84.7555 + {
84.7556 + List RESULT =null;
84.7557 + int declaritiveItemListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.7558 + int declaritiveItemListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.7559 + List declaritiveItemList = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.7560 + int declaritiveItemleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7561 + int declaritiveItemright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7562 + Object declaritiveItem = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7563 +
84.7564 + declaritiveItemList.add(declaritiveItem);
84.7565 + RESULT = declaritiveItemList;
84.7566 +
84.7567 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item_or_body_s1",9, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7568 + }
84.7569 + return CUP$AdaASTParser$result;
84.7570 +
84.7571 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7572 + case 148: // declarative_item_or_body_s1 ::= declarative_item_or_body
84.7573 + {
84.7574 + List RESULT =null;
84.7575 + int declaritiveItemleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7576 + int declaritiveItemright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7577 + Object declaritiveItem = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7578 +
84.7579 + List declaritiveItemList = new LinkedList();
84.7580 + declaritiveItemList.add(declaritiveItem);
84.7581 + RESULT = declaritiveItemList;
84.7582 +
84.7583 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item_or_body_s1",9, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7584 + }
84.7585 + return CUP$AdaASTParser$result;
84.7586 +
84.7587 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7588 + case 147: // declarative_item ::= pragma
84.7589 + {
84.7590 + Statement RESULT =null;
84.7591 +
84.7592 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item",7, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7593 + }
84.7594 + return CUP$AdaASTParser$result;
84.7595 +
84.7596 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7597 + case 146: // declarative_item ::= rep_spec
84.7598 + {
84.7599 + Statement RESULT =null;
84.7600 +
84.7601 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item",7, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7602 + }
84.7603 + return CUP$AdaASTParser$result;
84.7604 +
84.7605 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7606 + case 145: // declarative_item ::= use_clause
84.7607 + {
84.7608 + Statement RESULT =null;
84.7609 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7610 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7611 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7612 +
84.7613 + RESULT = statement;
84.7614 +
84.7615 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item",7, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7616 + }
84.7617 + return CUP$AdaASTParser$result;
84.7618 +
84.7619 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7620 + case 144: // declarative_item ::= declaration
84.7621 + {
84.7622 + Statement RESULT =null;
84.7623 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7624 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7625 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7626 +
84.7627 + RESULT = statement;
84.7628 +
84.7629 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item",7, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7630 + }
84.7631 + return CUP$AdaASTParser$result;
84.7632 +
84.7633 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7634 + case 143: // declarative_item ::= package_declaration
84.7635 + {
84.7636 + Statement RESULT =null;
84.7637 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7638 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7639 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7640 +
84.7641 + RESULT = statement;
84.7642 +
84.7643 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item",7, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7644 + }
84.7645 + return CUP$AdaASTParser$result;
84.7646 +
84.7647 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7648 + case 142: // declarative_item ::= subprog_declaration
84.7649 + {
84.7650 + Statement RESULT =null;
84.7651 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7652 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7653 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7654 +
84.7655 + RESULT = statement;
84.7656 +
84.7657 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item",7, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7658 + }
84.7659 + return CUP$AdaASTParser$result;
84.7660 +
84.7661 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7662 + case 141: // declarative_item ::= type_declaration
84.7663 + {
84.7664 + Statement RESULT =null;
84.7665 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7666 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7667 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7668 +
84.7669 + RESULT = statement;
84.7670 +
84.7671 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item",7, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7672 + }
84.7673 + return CUP$AdaASTParser$result;
84.7674 +
84.7675 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7676 + case 140: // declarative_item ::= fields_declaration
84.7677 + {
84.7678 + Statement RESULT =null;
84.7679 + int listleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7680 + int listright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7681 + List list = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7682 +
84.7683 + FieldsDeclaration fieldsDeclaration = new FieldsDeclaration(listleft, listright, list);
84.7684 + RESULT = fieldsDeclaration;
84.7685 +
84.7686 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item",7, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7687 + }
84.7688 + return CUP$AdaASTParser$result;
84.7689 +
84.7690 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7691 + case 139: // declarative_item_list ::= declarative_item_list declarative_item
84.7692 + {
84.7693 + List RESULT =null;
84.7694 + int declaritiveItemListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.7695 + int declaritiveItemListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.7696 + List declaritiveItemList = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.7697 + int declaritiveItemleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7698 + int declaritiveItemright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7699 + Statement declaritiveItem = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7700 +
84.7701 + declaritiveItemList.add(declaritiveItem);
84.7702 + RESULT = declaritiveItemList;
84.7703 +
84.7704 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item_list",6, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7705 + }
84.7706 + return CUP$AdaASTParser$result;
84.7707 +
84.7708 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7709 + case 138: // declarative_item_list ::= declarative_item
84.7710 + {
84.7711 + List RESULT =null;
84.7712 + int declaritiveItemleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7713 + int declaritiveItemright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7714 + Statement declaritiveItem = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7715 +
84.7716 + List declaritiveItemList = new LinkedList();
84.7717 + declaritiveItemList.add(declaritiveItem);
84.7718 + RESULT = declaritiveItemList;
84.7719 +
84.7720 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item_list",6, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7721 + }
84.7722 + return CUP$AdaASTParser$result;
84.7723 +
84.7724 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7725 + case 137: // declarative_items_opt ::= declarative_item_list
84.7726 + {
84.7727 + List RESULT =null;
84.7728 + int declaritiveItemListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7729 + int declaritiveItemListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7730 + List declaritiveItemList = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7731 +
84.7732 + RESULT = declaritiveItemList;
84.7733 +
84.7734 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declarative_items_opt",5, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7735 + }
84.7736 + return CUP$AdaASTParser$result;
84.7737 +
84.7738 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7739 + case 136: // declarative_items_opt ::=
84.7740 + {
84.7741 + List RESULT =null;
84.7742 +
84.7743 + RESULT = new LinkedList();
84.7744 +
84.7745 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declarative_items_opt",5, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7746 + }
84.7747 + return CUP$AdaASTParser$result;
84.7748 +
84.7749 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7750 + case 135: // declarative_part ::= declarative_item_or_body_s1
84.7751 + {
84.7752 + List RESULT =null;
84.7753 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7754 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7755 + List statement = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7756 +
84.7757 + RESULT = statement;
84.7758 +
84.7759 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declarative_part",8, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7760 + }
84.7761 + return CUP$AdaASTParser$result;
84.7762 +
84.7763 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7764 + case 134: // declarative_part ::=
84.7765 + {
84.7766 + List RESULT =null;
84.7767 +
84.7768 + RESULT = new LinkedList();
84.7769 +
84.7770 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declarative_part",8, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7771 + }
84.7772 + return CUP$AdaASTParser$result;
84.7773 +
84.7774 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7775 + case 133: // prot_opt ::= PROTECTED
84.7776 + {
84.7777 + Object RESULT =null;
84.7778 +
84.7779 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_opt",168, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7780 + }
84.7781 + return CUP$AdaASTParser$result;
84.7782 +
84.7783 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7784 + case 132: // prot_opt ::=
84.7785 + {
84.7786 + Object RESULT =null;
84.7787 +
84.7788 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("prot_opt",168, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7789 + }
84.7790 + return CUP$AdaASTParser$result;
84.7791 +
84.7792 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7793 + case 131: // access_type ::= ACCESS prot_opt FUNCTION formal_part_opt RETURN subtype_mark
84.7794 + {
84.7795 + Object RESULT =null;
84.7796 +
84.7797 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("access_type",135, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7798 + }
84.7799 + return CUP$AdaASTParser$result;
84.7800 +
84.7801 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7802 + case 130: // access_type ::= ACCESS prot_opt PROCEDURE formal_part_opt
84.7803 + {
84.7804 + Object RESULT =null;
84.7805 +
84.7806 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("access_type",135, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7807 + }
84.7808 + return CUP$AdaASTParser$result;
84.7809 +
84.7810 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7811 + case 129: // access_type ::= ACCESS ALL subtype_indication
84.7812 + {
84.7813 + Object RESULT =null;
84.7814 +
84.7815 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("access_type",135, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7816 + }
84.7817 + return CUP$AdaASTParser$result;
84.7818 +
84.7819 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7820 + case 128: // access_type ::= ACCESS CONSTANT subtype_indication
84.7821 + {
84.7822 + Object RESULT =null;
84.7823 +
84.7824 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("access_type",135, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7825 + }
84.7826 + return CUP$AdaASTParser$result;
84.7827 +
84.7828 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7829 + case 127: // access_type ::= ACCESS subtype_indication
84.7830 + {
84.7831 + Object RESULT =null;
84.7832 +
84.7833 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("access_type",135, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7834 + }
84.7835 + return CUP$AdaASTParser$result;
84.7836 +
84.7837 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7838 + case 126: // discrete_with_range ::= range
84.7839 + {
84.7840 + Object RESULT =null;
84.7841 +
84.7842 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("discrete_with_range",167, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7843 + }
84.7844 + return CUP$AdaASTParser$result;
84.7845 +
84.7846 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7847 + case 125: // discrete_with_range ::= name range_constraint
84.7848 + {
84.7849 + Object RESULT =null;
84.7850 +
84.7851 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("discrete_with_range",167, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7852 + }
84.7853 + return CUP$AdaASTParser$result;
84.7854 +
84.7855 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7856 + case 124: // choice ::= OTHERS
84.7857 + {
84.7858 + Object RESULT =null;
84.7859 +
84.7860 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("choice",166, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7861 + }
84.7862 + return CUP$AdaASTParser$result;
84.7863 +
84.7864 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7865 + case 123: // choice ::= discrete_with_range
84.7866 + {
84.7867 + Object RESULT =null;
84.7868 +
84.7869 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("choice",166, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7870 + }
84.7871 + return CUP$AdaASTParser$result;
84.7872 +
84.7873 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7874 + case 122: // choice ::= expression
84.7875 + {
84.7876 + Object RESULT =null;
84.7877 +
84.7878 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("choice",166, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7879 + }
84.7880 + return CUP$AdaASTParser$result;
84.7881 +
84.7882 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7883 + case 121: // choice_s ::= choice_s BAR choice
84.7884 + {
84.7885 + Expression RESULT =null;
84.7886 +
84.7887 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("choice_s",111, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7888 + }
84.7889 + return CUP$AdaASTParser$result;
84.7890 +
84.7891 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7892 + case 120: // choice_s ::= choice
84.7893 + {
84.7894 + Expression RESULT =null;
84.7895 +
84.7896 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("choice_s",111, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7897 + }
84.7898 + return CUP$AdaASTParser$result;
84.7899 +
84.7900 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7901 + case 119: // variant ::= WHEN choice_s ARROW pragma_s comp_list
84.7902 + {
84.7903 + Object RESULT =null;
84.7904 +
84.7905 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("variant",165, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7906 + }
84.7907 + return CUP$AdaASTParser$result;
84.7908 +
84.7909 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7910 + case 118: // variant_s ::= variant_s variant
84.7911 + {
84.7912 + Object RESULT =null;
84.7913 +
84.7914 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("variant_s",164, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7915 + }
84.7916 + return CUP$AdaASTParser$result;
84.7917 +
84.7918 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7919 + case 117: // variant_s ::= variant
84.7920 + {
84.7921 + Object RESULT =null;
84.7922 +
84.7923 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("variant_s",164, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7924 + }
84.7925 + return CUP$AdaASTParser$result;
84.7926 +
84.7927 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7928 + case 116: // variant_part ::= CASE simple_name IS pragma_s variant_s END CASE SEMICOLON
84.7929 + {
84.7930 + Object RESULT =null;
84.7931 +
84.7932 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("variant_part",160, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-7)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7933 + }
84.7934 + return CUP$AdaASTParser$result;
84.7935 +
84.7936 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7937 + case 115: // access_opt ::= ACCESS
84.7938 + {
84.7939 + Object RESULT =null;
84.7940 +
84.7941 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("access_opt",163, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7942 + }
84.7943 + return CUP$AdaASTParser$result;
84.7944 +
84.7945 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7946 + case 114: // access_opt ::=
84.7947 + {
84.7948 + Object RESULT =null;
84.7949 +
84.7950 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("access_opt",163, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7951 + }
84.7952 + return CUP$AdaASTParser$result;
84.7953 +
84.7954 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7955 + case 113: // discrim_spec ::= error
84.7956 + {
84.7957 + Object RESULT =null;
84.7958 + int theErrorleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.7959 + int theErrorright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.7960 + Object theError = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.7961 +
84.7962 + ASTError error = new ASTError(theErrorleft, theErrorright);
84.7963 + RESULT = error;
84.7964 +
84.7965 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("discrim_spec",162, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7966 + }
84.7967 + return CUP$AdaASTParser$result;
84.7968 +
84.7969 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7970 + case 112: // discrim_spec ::= defining_identifier_list COLON access_opt subtype_mark init_opt
84.7971 + {
84.7972 + Object RESULT =null;
84.7973 +
84.7974 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("discrim_spec",162, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7975 + }
84.7976 + return CUP$AdaASTParser$result;
84.7977 +
84.7978 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7979 + case 111: // discrim_spec_s ::= discrim_spec_s SEMICOLON discrim_spec
84.7980 + {
84.7981 + Object RESULT =null;
84.7982 +
84.7983 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("discrim_spec_s",161, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7984 + }
84.7985 + return CUP$AdaASTParser$result;
84.7986 +
84.7987 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7988 + case 110: // discrim_spec_s ::= discrim_spec
84.7989 + {
84.7990 + Object RESULT =null;
84.7991 +
84.7992 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("discrim_spec_s",161, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.7993 + }
84.7994 + return CUP$AdaASTParser$result;
84.7995 +
84.7996 + /*. . . . . . . . . . . . . . . . . . . .*/
84.7997 + case 109: // discrim_part ::= LPAREN discrim_spec_s RPAREN
84.7998 + {
84.7999 + Object RESULT =null;
84.8000 +
84.8001 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("discrim_part",129, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8002 + }
84.8003 + return CUP$AdaASTParser$result;
84.8004 +
84.8005 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8006 + case 108: // comp_decl ::= error SEMICOLON
84.8007 + {
84.8008 + Object RESULT =null;
84.8009 + int theErrorleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.8010 + int theErrorright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.8011 + Object theError = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.8012 +
84.8013 + ASTError error = new ASTError(theErrorleft, theErrorright);
84.8014 + RESULT = error;
84.8015 +
84.8016 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("comp_decl",158, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8017 + }
84.8018 + return CUP$AdaASTParser$result;
84.8019 +
84.8020 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8021 + case 107: // comp_decl ::= defining_identifier_list COLON component_subtype_def init_opt SEMICOLON
84.8022 + {
84.8023 + Object RESULT =null;
84.8024 +
84.8025 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("comp_decl",158, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8026 + }
84.8027 + return CUP$AdaASTParser$result;
84.8028 +
84.8029 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8030 + case 106: // variant_part_opt ::= pragma_s variant_part pragma_s
84.8031 + {
84.8032 + Object RESULT =null;
84.8033 +
84.8034 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("variant_part_opt",159, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8035 + }
84.8036 + return CUP$AdaASTParser$result;
84.8037 +
84.8038 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8039 + case 105: // variant_part_opt ::= pragma_s
84.8040 + {
84.8041 + Object RESULT =null;
84.8042 +
84.8043 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("variant_part_opt",159, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8044 + }
84.8045 + return CUP$AdaASTParser$result;
84.8046 +
84.8047 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8048 + case 104: // comp_decl_s ::= comp_decl_s pragma_s comp_decl
84.8049 + {
84.8050 + Object RESULT =null;
84.8051 +
84.8052 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("comp_decl_s",157, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8053 + }
84.8054 + return CUP$AdaASTParser$result;
84.8055 +
84.8056 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8057 + case 103: // comp_decl_s ::= comp_decl
84.8058 + {
84.8059 + Object RESULT =null;
84.8060 +
84.8061 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("comp_decl_s",157, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8062 + }
84.8063 + return CUP$AdaASTParser$result;
84.8064 +
84.8065 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8066 + case 102: // comp_list ::= NULL SEMICOLON pragma_s
84.8067 + {
84.8068 + Object RESULT =null;
84.8069 +
84.8070 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("comp_list",156, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8071 + }
84.8072 + return CUP$AdaASTParser$result;
84.8073 +
84.8074 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8075 + case 101: // comp_list ::= variant_part pragma_s
84.8076 + {
84.8077 + Object RESULT =null;
84.8078 +
84.8079 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("comp_list",156, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8080 + }
84.8081 + return CUP$AdaASTParser$result;
84.8082 +
84.8083 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8084 + case 100: // comp_list ::= comp_decl_s variant_part_opt
84.8085 + {
84.8086 + Object RESULT =null;
84.8087 +
84.8088 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("comp_list",156, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8089 + }
84.8090 + return CUP$AdaASTParser$result;
84.8091 +
84.8092 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8093 + case 99: // tagged_opt ::= ABSTRACT TAGGED
84.8094 + {
84.8095 + Integer RESULT =null;
84.8096 +
84.8097 + RESULT = AdaASTParser.TAGGED + AdaASTParser.ABSTRACT;
84.8098 +
84.8099 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("tagged_opt",72, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8100 + }
84.8101 + return CUP$AdaASTParser$result;
84.8102 +
84.8103 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8104 + case 98: // tagged_opt ::= TAGGED
84.8105 + {
84.8106 + Integer RESULT =null;
84.8107 +
84.8108 + RESULT = AdaASTParser.TAGGED;
84.8109 +
84.8110 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("tagged_opt",72, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8111 + }
84.8112 + return CUP$AdaASTParser$result;
84.8113 +
84.8114 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8115 + case 97: // tagged_opt ::=
84.8116 + {
84.8117 + Integer RESULT =null;
84.8118 +
84.8119 + RESULT = 0;
84.8120 +
84.8121 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("tagged_opt",72, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8122 + }
84.8123 + return CUP$AdaASTParser$result;
84.8124 +
84.8125 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8126 + case 96: // record_def ::= NULL RECORD
84.8127 + {
84.8128 + Object RESULT =null;
84.8129 +
84.8130 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("record_def",141, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8131 + }
84.8132 + return CUP$AdaASTParser$result;
84.8133 +
84.8134 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8135 + case 95: // record_def ::= RECORD pragma_s comp_list END RECORD
84.8136 + {
84.8137 + Object RESULT =null;
84.8138 +
84.8139 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("record_def",141, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8140 + }
84.8141 + return CUP$AdaASTParser$result;
84.8142 +
84.8143 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8144 + case 94: // record_type ::= tagged_opt limited_opt record_def
84.8145 + {
84.8146 + Object RESULT =null;
84.8147 +
84.8148 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("record_type",134, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8149 + }
84.8150 + return CUP$AdaASTParser$result;
84.8151 +
84.8152 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8153 + case 93: // range_constr_opt ::= range_constraint
84.8154 + {
84.8155 + Object RESULT =null;
84.8156 +
84.8157 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("range_constr_opt",140, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8158 + }
84.8159 + return CUP$AdaASTParser$result;
84.8160 +
84.8161 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8162 + case 92: // range_constr_opt ::=
84.8163 + {
84.8164 + Object RESULT =null;
84.8165 +
84.8166 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("range_constr_opt",140, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8167 + }
84.8168 + return CUP$AdaASTParser$result;
84.8169 +
84.8170 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8171 + case 91: // discrete_range ::= range
84.8172 + {
84.8173 + Expression RESULT =null;
84.8174 + int rangeleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.8175 + int rangeright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.8176 + Expression range = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.8177 +
84.8178 + RESULT = range;
84.8179 +
84.8180 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("discrete_range",116, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8181 + }
84.8182 + return CUP$AdaASTParser$result;
84.8183 +
84.8184 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8185 + case 90: // discrete_range ::= name range_constr_opt
84.8186 + {
84.8187 + Expression RESULT =null;
84.8188 +
84.8189 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("discrete_range",116, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8190 + }
84.8191 + return CUP$AdaASTParser$result;
84.8192 +
84.8193 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8194 + case 89: // iter_discrete_range_s ::= iter_discrete_range_s COMMA discrete_range
84.8195 + {
84.8196 + Object RESULT =null;
84.8197 +
84.8198 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("iter_discrete_range_s",155, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8199 + }
84.8200 + return CUP$AdaASTParser$result;
84.8201 +
84.8202 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8203 + case 88: // iter_discrete_range_s ::= discrete_range
84.8204 + {
84.8205 + Object RESULT =null;
84.8206 +
84.8207 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("iter_discrete_range_s",155, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8208 + }
84.8209 + return CUP$AdaASTParser$result;
84.8210 +
84.8211 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8212 + case 87: // iter_index_constraint ::= LPAREN iter_discrete_range_s RPAREN
84.8213 + {
84.8214 + Object RESULT =null;
84.8215 +
84.8216 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("iter_index_constraint",154, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8217 + }
84.8218 + return CUP$AdaASTParser$result;
84.8219 +
84.8220 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8221 + case 86: // index ::= name RANGE BOX
84.8222 + {
84.8223 + Object RESULT =null;
84.8224 +
84.8225 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("index",151, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8226 + }
84.8227 + return CUP$AdaASTParser$result;
84.8228 +
84.8229 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8230 + case 85: // index_s ::= index_s COMMA index
84.8231 + {
84.8232 + Object RESULT =null;
84.8233 +
84.8234 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("index_s",150, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8235 + }
84.8236 + return CUP$AdaASTParser$result;
84.8237 +
84.8238 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8239 + case 84: // index_s ::= index
84.8240 + {
84.8241 + Object RESULT =null;
84.8242 +
84.8243 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("index_s",150, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8244 + }
84.8245 + return CUP$AdaASTParser$result;
84.8246 +
84.8247 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8248 + case 83: // aliased_opt ::= ALIASED
84.8249 + {
84.8250 + Object RESULT =null;
84.8251 +
84.8252 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("aliased_opt",153, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8253 + }
84.8254 + return CUP$AdaASTParser$result;
84.8255 +
84.8256 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8257 + case 82: // aliased_opt ::=
84.8258 + {
84.8259 + Object RESULT =null;
84.8260 +
84.8261 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("aliased_opt",153, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8262 + }
84.8263 + return CUP$AdaASTParser$result;
84.8264 +
84.8265 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8266 + case 81: // component_subtype_def ::= aliased_opt subtype_indication
84.8267 + {
84.8268 + Object RESULT =null;
84.8269 +
84.8270 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("component_subtype_def",152, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8271 + }
84.8272 + return CUP$AdaASTParser$result;
84.8273 +
84.8274 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8275 + case 80: // constr_array_type ::= ARRAY iter_index_constraint OF component_subtype_def
84.8276 + {
84.8277 + Object RESULT =null;
84.8278 +
84.8279 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("constr_array_type",149, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8280 + }
84.8281 + return CUP$AdaASTParser$result;
84.8282 +
84.8283 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8284 + case 79: // unconstr_array_type ::= ARRAY LPAREN index_s RPAREN OF component_subtype_def
84.8285 + {
84.8286 + Object RESULT =null;
84.8287 +
84.8288 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("unconstr_array_type",148, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8289 + }
84.8290 + return CUP$AdaASTParser$result;
84.8291 +
84.8292 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8293 + case 78: // array_type ::= constr_array_type
84.8294 + {
84.8295 + Object RESULT =null;
84.8296 +
84.8297 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("array_type",133, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8298 + }
84.8299 + return CUP$AdaASTParser$result;
84.8300 +
84.8301 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8302 + case 77: // array_type ::= unconstr_array_type
84.8303 + {
84.8304 + Object RESULT =null;
84.8305 +
84.8306 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("array_type",133, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8307 + }
84.8308 + return CUP$AdaASTParser$result;
84.8309 +
84.8310 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8311 + case 76: // fixed_type ::= DELTA expression DIGITS expression range_spec_opt
84.8312 + {
84.8313 + Object RESULT =null;
84.8314 +
84.8315 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("fixed_type",147, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8316 + }
84.8317 + return CUP$AdaASTParser$result;
84.8318 +
84.8319 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8320 + case 75: // fixed_type ::= DELTA expression range_spec
84.8321 + {
84.8322 + Object RESULT =null;
84.8323 +
84.8324 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("fixed_type",147, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8325 + }
84.8326 + return CUP$AdaASTParser$result;
84.8327 +
84.8328 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8329 + case 74: // float_type ::= DIGITS expression range_spec_opt
84.8330 + {
84.8331 + Object RESULT =null;
84.8332 +
84.8333 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("float_type",146, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8334 + }
84.8335 + return CUP$AdaASTParser$result;
84.8336 +
84.8337 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8338 + case 73: // real_type ::= fixed_type
84.8339 + {
84.8340 + Object RESULT =null;
84.8341 +
84.8342 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("real_type",132, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8343 + }
84.8344 + return CUP$AdaASTParser$result;
84.8345 +
84.8346 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8347 + case 72: // real_type ::= float_type
84.8348 + {
84.8349 + Object RESULT =null;
84.8350 +
84.8351 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("real_type",132, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8352 + }
84.8353 + return CUP$AdaASTParser$result;
84.8354 +
84.8355 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8356 + case 71: // range_spec_opt ::= range_spec
84.8357 + {
84.8358 + Object RESULT =null;
84.8359 +
84.8360 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("range_spec_opt",145, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8361 + }
84.8362 + return CUP$AdaASTParser$result;
84.8363 +
84.8364 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8365 + case 70: // range_spec_opt ::=
84.8366 + {
84.8367 + Object RESULT =null;
84.8368 +
84.8369 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("range_spec_opt",145, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8370 + }
84.8371 + return CUP$AdaASTParser$result;
84.8372 +
84.8373 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8374 + case 69: // range_spec ::= range_constraint
84.8375 + {
84.8376 + Object RESULT =null;
84.8377 +
84.8378 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("range_spec",144, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8379 + }
84.8380 + return CUP$AdaASTParser$result;
84.8381 +
84.8382 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8383 + case 68: // integer_type ::= MOD expression
84.8384 + {
84.8385 + Object RESULT =null;
84.8386 +
84.8387 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("integer_type",131, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8388 + }
84.8389 + return CUP$AdaASTParser$result;
84.8390 +
84.8391 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8392 + case 67: // integer_type ::= range_spec
84.8393 + {
84.8394 + Object RESULT =null;
84.8395 +
84.8396 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("integer_type",131, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8397 + }
84.8398 + return CUP$AdaASTParser$result;
84.8399 +
84.8400 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8401 + case 66: // enum_id ::= CHAR_LITERAL
84.8402 + {
84.8403 + Object RESULT =null;
84.8404 +
84.8405 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("enum_id",143, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8406 + }
84.8407 + return CUP$AdaASTParser$result;
84.8408 +
84.8409 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8410 + case 65: // enum_id ::= IDENTIFIER
84.8411 + {
84.8412 + Object RESULT =null;
84.8413 +
84.8414 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("enum_id",143, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8415 + }
84.8416 + return CUP$AdaASTParser$result;
84.8417 +
84.8418 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8419 + case 64: // enum_id_s ::= enum_id_s COMMA enum_id
84.8420 + {
84.8421 + Object RESULT =null;
84.8422 +
84.8423 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("enum_id_s",142, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8424 + }
84.8425 + return CUP$AdaASTParser$result;
84.8426 +
84.8427 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8428 + case 63: // enum_id_s ::= enum_id
84.8429 + {
84.8430 + Object RESULT =null;
84.8431 +
84.8432 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("enum_id_s",142, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8433 + }
84.8434 + return CUP$AdaASTParser$result;
84.8435 +
84.8436 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8437 + case 62: // enumeration_type ::= LPAREN enum_id_s RPAREN
84.8438 + {
84.8439 + Object RESULT =null;
84.8440 +
84.8441 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("enumeration_type",130, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8442 + }
84.8443 + return CUP$AdaASTParser$result;
84.8444 +
84.8445 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8446 + case 61: // range ::= name TICK RANGE LPAREN expression RPAREN
84.8447 + {
84.8448 + Expression RESULT =null;
84.8449 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).left;
84.8450 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).right;
84.8451 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).value;
84.8452 + int expressionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.8453 + int expressionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.8454 + Expression expression = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.8455 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.8456 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.8457 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.8458 +
84.8459 + Range range = new Range (nameleft, endright, name, expression);
84.8460 + RESULT = range;
84.8461 +
84.8462 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("range",117, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8463 + }
84.8464 + return CUP$AdaASTParser$result;
84.8465 +
84.8466 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8467 + case 60: // range ::= name TICK RANGE
84.8468 + {
84.8469 + Expression RESULT =null;
84.8470 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.8471 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.8472 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.8473 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.8474 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.8475 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.8476 +
84.8477 + Range range = new Range (nameleft, endright, name, name);
84.8478 + RESULT = range;
84.8479 +
84.8480 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("range",117, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8481 + }
84.8482 + return CUP$AdaASTParser$result;
84.8483 +
84.8484 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8485 + case 59: // range ::= simple_expression DOT_DOT simple_expression
84.8486 + {
84.8487 + Expression RESULT =null;
84.8488 + int simple_expression1left = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.8489 + int simple_expression1right = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.8490 + Expression simple_expression1 = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.8491 + int simple_expression2left = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.8492 + int simple_expression2right = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.8493 + Expression simple_expression2 = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.8494 +
84.8495 + Range range = new Range (simple_expression1left, simple_expression2right, simple_expression1, simple_expression2);
84.8496 + RESULT = range;
84.8497 +
84.8498 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("range",117, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8499 + }
84.8500 + return CUP$AdaASTParser$result;
84.8501 +
84.8502 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8503 + case 58: // range_constraint ::= RANGE range
84.8504 + {
84.8505 + Object RESULT =null;
84.8506 +
84.8507 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("range_constraint",138, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8508 + }
84.8509 + return CUP$AdaASTParser$result;
84.8510 +
84.8511 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8512 + case 57: // derived_type ::= ABSTRACT NEW subtype_indication WITH record_def
84.8513 + {
84.8514 + Object RESULT =null;
84.8515 +
84.8516 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("derived_type",136, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8517 + }
84.8518 + return CUP$AdaASTParser$result;
84.8519 +
84.8520 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8521 + case 56: // derived_type ::= ABSTRACT NEW subtype_indication WITH PRIVATE
84.8522 + {
84.8523 + Object RESULT =null;
84.8524 +
84.8525 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("derived_type",136, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8526 + }
84.8527 + return CUP$AdaASTParser$result;
84.8528 +
84.8529 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8530 + case 55: // derived_type ::= NEW subtype_indication WITH record_def
84.8531 + {
84.8532 + Object RESULT =null;
84.8533 +
84.8534 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("derived_type",136, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8535 + }
84.8536 + return CUP$AdaASTParser$result;
84.8537 +
84.8538 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8539 + case 54: // derived_type ::= NEW subtype_indication WITH PRIVATE
84.8540 + {
84.8541 + Object RESULT =null;
84.8542 +
84.8543 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("derived_type",136, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8544 + }
84.8545 + return CUP$AdaASTParser$result;
84.8546 +
84.8547 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8548 + case 53: // derived_type ::= NEW subtype_indication
84.8549 + {
84.8550 + Object RESULT =null;
84.8551 +
84.8552 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("derived_type",136, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8553 + }
84.8554 + return CUP$AdaASTParser$result;
84.8555 +
84.8556 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8557 + case 52: // decimal_digits_constraint ::= DIGITS expression range_constr_opt
84.8558 + {
84.8559 + Object RESULT =null;
84.8560 +
84.8561 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("decimal_digits_constraint",139, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8562 + }
84.8563 + return CUP$AdaASTParser$result;
84.8564 +
84.8565 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8566 + case 51: // constraint ::= decimal_digits_constraint
84.8567 + {
84.8568 + Object RESULT =null;
84.8569 +
84.8570 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("constraint",137, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8571 + }
84.8572 + return CUP$AdaASTParser$result;
84.8573 +
84.8574 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8575 + case 50: // constraint ::= range_constraint
84.8576 + {
84.8577 + Object RESULT =null;
84.8578 +
84.8579 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("constraint",137, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8580 + }
84.8581 + return CUP$AdaASTParser$result;
84.8582 +
84.8583 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8584 + case 49: // subtype_indication ::= name
84.8585 + {
84.8586 + TypeName RESULT =null;
84.8587 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.8588 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.8589 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.8590 +
84.8591 + TypeName type = new TypeName (nameleft, nameright, name);
84.8592 + RESULT = type;
84.8593 +
84.8594 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subtype_indication",15, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8595 + }
84.8596 + return CUP$AdaASTParser$result;
84.8597 +
84.8598 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8599 + case 48: // subtype_indication ::= name constraint
84.8600 + {
84.8601 + TypeName RESULT =null;
84.8602 + int nameleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.8603 + int nameright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.8604 + Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.8605 +
84.8606 + TypeName type = new TypeName (nameleft, nameright, name);
84.8607 + RESULT = type;
84.8608 +
84.8609 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subtype_indication",15, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8610 + }
84.8611 + return CUP$AdaASTParser$result;
84.8612 +
84.8613 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8614 + case 47: // subtype_declaration ::= SUBTYPE defining_identifier IS subtype_indication SEMICOLON
84.8615 + {
84.8616 + Statement RESULT =null;
84.8617 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).left;
84.8618 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).right;
84.8619 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).value;
84.8620 + int identifierleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.8621 + int identifierright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.8622 + Identifier identifier = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.8623 + int subtypeIndicationleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.8624 + int subtypeIndicationright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.8625 + TypeName subtypeIndication = (TypeName)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.8626 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.8627 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.8628 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.8629 +
84.8630 + SubtypeDeclaration type = new SubtypeDeclaration (tokenleft, endright, identifier, subtypeIndication);
84.8631 + RESULT = type;
84.8632 +
84.8633 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("subtype_declaration",14, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8634 + }
84.8635 + return CUP$AdaASTParser$result;
84.8636 +
84.8637 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8638 + case 46: // type_definition ::= private_type_declaration
84.8639 + {
84.8640 + Expression RESULT =null;
84.8641 + int privateTypeleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.8642 + int privateTyperight = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.8643 + PrivateType privateType = (PrivateType)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.8644 +
84.8645 + RESULT = privateType;
84.8646 +
84.8647 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("type_definition",13, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8648 + }
84.8649 + return CUP$AdaASTParser$result;
84.8650 +
84.8651 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8652 + case 45: // type_definition ::= derived_type
84.8653 + {
84.8654 + Expression RESULT =null;
84.8655 +
84.8656 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("type_definition",13, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8657 + }
84.8658 + return CUP$AdaASTParser$result;
84.8659 +
84.8660 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8661 + case 44: // type_definition ::= access_type
84.8662 + {
84.8663 + Expression RESULT =null;
84.8664 +
84.8665 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("type_definition",13, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8666 + }
84.8667 + return CUP$AdaASTParser$result;
84.8668 +
84.8669 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8670 + case 43: // type_definition ::= record_type
84.8671 + {
84.8672 + Expression RESULT =null;
84.8673 +
84.8674 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("type_definition",13, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8675 + }
84.8676 + return CUP$AdaASTParser$result;
84.8677 +
84.8678 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8679 + case 42: // type_definition ::= array_type
84.8680 + {
84.8681 + Expression RESULT =null;
84.8682 +
84.8683 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("type_definition",13, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8684 + }
84.8685 + return CUP$AdaASTParser$result;
84.8686 +
84.8687 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8688 + case 41: // type_definition ::= real_type
84.8689 + {
84.8690 + Expression RESULT =null;
84.8691 +
84.8692 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("type_definition",13, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8693 + }
84.8694 + return CUP$AdaASTParser$result;
84.8695 +
84.8696 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8697 + case 40: // type_definition ::= integer_type
84.8698 + {
84.8699 + Expression RESULT =null;
84.8700 +
84.8701 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("type_definition",13, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8702 + }
84.8703 + return CUP$AdaASTParser$result;
84.8704 +
84.8705 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8706 + case 39: // type_definition ::= enumeration_type
84.8707 + {
84.8708 + Expression RESULT =null;
84.8709 +
84.8710 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("type_definition",13, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8711 + }
84.8712 + return CUP$AdaASTParser$result;
84.8713 +
84.8714 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8715 + case 38: // type_completion ::= IS type_definition
84.8716 + {
84.8717 + Expression RESULT =null;
84.8718 + int typeDefleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.8719 + int typeDefright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.8720 + Expression typeDef = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.8721 +
84.8722 + RESULT = typeDef;
84.8723 +
84.8724 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("type_completion",99, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8725 + }
84.8726 + return CUP$AdaASTParser$result;
84.8727 +
84.8728 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8729 + case 37: // type_completion ::=
84.8730 + {
84.8731 + Expression RESULT =null;
84.8732 +
84.8733 + RESULT = null;
84.8734 +
84.8735 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("type_completion",99, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8736 + }
84.8737 + return CUP$AdaASTParser$result;
84.8738 +
84.8739 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8740 + case 36: // discrim_part_opt ::= LPAREN BOX RPAREN
84.8741 + {
84.8742 + Object RESULT =null;
84.8743 +
84.8744 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("discrim_part_opt",128, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8745 + }
84.8746 + return CUP$AdaASTParser$result;
84.8747 +
84.8748 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8749 + case 35: // discrim_part_opt ::= discrim_part
84.8750 + {
84.8751 + Object RESULT =null;
84.8752 +
84.8753 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("discrim_part_opt",128, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8754 + }
84.8755 + return CUP$AdaASTParser$result;
84.8756 +
84.8757 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8758 + case 34: // discrim_part_opt ::=
84.8759 + {
84.8760 + Object RESULT =null;
84.8761 +
84.8762 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("discrim_part_opt",128, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8763 + }
84.8764 + return CUP$AdaASTParser$result;
84.8765 +
84.8766 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8767 + case 33: // type_decl ::= TYPE defining_identifier discrim_part_opt type_completion SEMICOLON
84.8768 + {
84.8769 + Statement RESULT =null;
84.8770 + int tokenleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).left;
84.8771 + int tokenright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).right;
84.8772 + Object token = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)).value;
84.8773 + int identifierleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.8774 + int identifierright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.8775 + Identifier identifier = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.8776 + int typeCompletionleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.8777 + int typeCompletionright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.8778 + Expression typeCompletion = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.8779 + int endleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.8780 + int endright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.8781 + Object end = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.8782 +
84.8783 + TypeDeclaration type = new TypeDeclaration (tokenleft, endright, identifier, typeCompletion);
84.8784 + RESULT = type;
84.8785 +
84.8786 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("type_decl",98, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8787 + }
84.8788 + return CUP$AdaASTParser$result;
84.8789 +
84.8790 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8791 + case 32: // number_declaration ::= defining_identifier_list COLON CONSTANT ASSIGNMENT expression SEMICOLON
84.8792 + {
84.8793 + List RESULT =null;
84.8794 + int identifierListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).left;
84.8795 + int identifierListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).right;
84.8796 + List identifierList = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).value;
84.8797 + int initleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.8798 + int initright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.8799 + Expression init = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.8800 +
84.8801 + List list = new LinkedList();
84.8802 + for (Object identifier : identifierList) {
84.8803 + Variable variable = new Variable (((Identifier)identifier).getStartOffset(), ((Identifier)identifier).getEndOffset(), (Identifier)identifier, Variable.Kind.CONSTANT);
84.8804 + list.add(new ASTNode[] {variable, init});
84.8805 + }
84.8806 + RESULT = list;
84.8807 +
84.8808 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("number_declaration",19, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8809 + }
84.8810 + return CUP$AdaASTParser$result;
84.8811 +
84.8812 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8813 + case 31: // init_opt ::= ASSIGNMENT expression
84.8814 + {
84.8815 + Expression RESULT =null;
84.8816 + int exprleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.8817 + int exprright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.8818 + Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.8819 +
84.8820 + RESULT = expr;
84.8821 +
84.8822 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("init_opt",97, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8823 + }
84.8824 + return CUP$AdaASTParser$result;
84.8825 +
84.8826 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8827 + case 30: // init_opt ::=
84.8828 + {
84.8829 + Expression RESULT =null;
84.8830 +
84.8831 + RESULT = null;
84.8832 +
84.8833 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("init_opt",97, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8834 + }
84.8835 + return CUP$AdaASTParser$result;
84.8836 +
84.8837 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8838 + case 29: // object_subtype_def ::= array_type
84.8839 + {
84.8840 + TypeName RESULT =null;
84.8841 + int arrayleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.8842 + int arrayright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.8843 + Object array = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.8844 +
84.8845 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("object_subtype_def",96, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8846 + }
84.8847 + return CUP$AdaASTParser$result;
84.8848 +
84.8849 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8850 + case 28: // object_subtype_def ::= subtype_indication
84.8851 + {
84.8852 + TypeName RESULT =null;
84.8853 + int subtypeleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.8854 + int subtyperight = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.8855 + TypeName subtype = (TypeName)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.8856 +
84.8857 + RESULT = subtype;
84.8858 +
84.8859 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("object_subtype_def",96, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8860 + }
84.8861 + return CUP$AdaASTParser$result;
84.8862 +
84.8863 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8864 + case 27: // object_qualifier_opt ::= ALIASED CONSTANT
84.8865 + {
84.8866 + Variable.Kind RESULT =null;
84.8867 +
84.8868 + RESULT = Variable.Kind.ALIASED_CONSTANT;
84.8869 +
84.8870 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("object_qualifier_opt",18, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8871 + }
84.8872 + return CUP$AdaASTParser$result;
84.8873 +
84.8874 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8875 + case 26: // object_qualifier_opt ::= CONSTANT
84.8876 + {
84.8877 + Variable.Kind RESULT =null;
84.8878 +
84.8879 + RESULT = Variable.Kind.CONSTANT;
84.8880 +
84.8881 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("object_qualifier_opt",18, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8882 + }
84.8883 + return CUP$AdaASTParser$result;
84.8884 +
84.8885 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8886 + case 25: // object_qualifier_opt ::= ALIASED
84.8887 + {
84.8888 + Variable.Kind RESULT =null;
84.8889 +
84.8890 + RESULT = Variable.Kind.ALIASED;
84.8891 +
84.8892 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("object_qualifier_opt",18, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8893 + }
84.8894 + return CUP$AdaASTParser$result;
84.8895 +
84.8896 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8897 + case 24: // object_qualifier_opt ::=
84.8898 + {
84.8899 + Variable.Kind RESULT =null;
84.8900 +
84.8901 + RESULT = Variable.Kind.DEFAULT;
84.8902 +
84.8903 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("object_qualifier_opt",18, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8904 + }
84.8905 + return CUP$AdaASTParser$result;
84.8906 +
84.8907 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8908 + case 23: // defining_identifier_list ::= defining_identifier_list COMMA defining_identifier
84.8909 + {
84.8910 + List RESULT =null;
84.8911 + int identifierListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.8912 + int identifierListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.8913 + List identifierList = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.8914 + int identifierleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.8915 + int identifierright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.8916 + Identifier identifier = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.8917 +
84.8918 + identifierList.add(identifier);
84.8919 + RESULT = identifierList;
84.8920 +
84.8921 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("defining_identifier_list",17, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8922 + }
84.8923 + return CUP$AdaASTParser$result;
84.8924 +
84.8925 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8926 + case 22: // defining_identifier_list ::= defining_identifier
84.8927 + {
84.8928 + List RESULT =null;
84.8929 + int identifierleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.8930 + int identifierright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.8931 + Identifier identifier = (Identifier)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.8932 +
84.8933 + List identifierList = new LinkedList();
84.8934 + identifierList.add(identifier);
84.8935 + RESULT = identifierList;
84.8936 +
84.8937 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("defining_identifier_list",17, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8938 + }
84.8939 + return CUP$AdaASTParser$result;
84.8940 +
84.8941 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8942 + case 21: // object_declaration ::= defining_identifier_list COLON object_qualifier_opt object_subtype_def init_opt SEMICOLON
84.8943 + {
84.8944 + List RESULT =null;
84.8945 + int identifierListleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).left;
84.8946 + int identifierListright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).right;
84.8947 + List identifierList = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)).value;
84.8948 + int varKindleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).left;
84.8949 + int varKindright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).right;
84.8950 + Variable.Kind varKind = (Variable.Kind)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-3)).value;
84.8951 + int subtypeleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).left;
84.8952 + int subtyperight = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).right;
84.8953 + TypeName subtype = (TypeName)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)).value;
84.8954 + int initleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.8955 + int initright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.8956 + Expression init = (Expression)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.8957 +
84.8958 + List list = new LinkedList();
84.8959 + for (Object identifier : identifierList) {
84.8960 + Variable variable = new Variable (((Identifier)identifier).getStartOffset(), ((Identifier)identifier).getEndOffset(), (Identifier)identifier, varKind, subtype);
84.8961 + list.add(new ASTNode[] {variable, init});
84.8962 + }
84.8963 + RESULT = list;
84.8964 +
84.8965 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("object_declaration",16, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8966 + }
84.8967 + return CUP$AdaASTParser$result;
84.8968 +
84.8969 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8970 + case 20: // defining_identifier ::= IDENTIFIER
84.8971 + {
84.8972 + Identifier RESULT =null;
84.8973 + int idleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.8974 + int idright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.8975 + String id = (String)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.8976 +
84.8977 + Identifier identifier = new Identifier(idleft, idright, id);
84.8978 + RESULT = identifier;
84.8979 +
84.8980 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("defining_identifier",4, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8981 + }
84.8982 + return CUP$AdaASTParser$result;
84.8983 +
84.8984 + /*. . . . . . . . . . . . . . . . . . . .*/
84.8985 + case 19: // declaration ::= error SEMICOLON
84.8986 + {
84.8987 + Statement RESULT =null;
84.8988 + int theErrorleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.8989 + int theErrorright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.8990 + Object theError = (Object)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.8991 +
84.8992 + ASTError error = new ASTError(theErrorleft, theErrorright);
84.8993 + RESULT = error;
84.8994 +
84.8995 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declaration",0, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.8996 + }
84.8997 + return CUP$AdaASTParser$result;
84.8998 +
84.8999 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9000 + case 18: // declaration ::= body_stub
84.9001 + {
84.9002 + Statement RESULT =null;
84.9003 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.9004 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.9005 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.9006 +
84.9007 + RESULT = statement;
84.9008 +
84.9009 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declaration",0, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9010 + }
84.9011 + return CUP$AdaASTParser$result;
84.9012 +
84.9013 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9014 + case 17: // declaration ::= generic_declaration
84.9015 + {
84.9016 + Statement RESULT =null;
84.9017 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.9018 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.9019 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.9020 +
84.9021 + RESULT = statement;
84.9022 +
84.9023 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declaration",0, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9024 + }
84.9025 + return CUP$AdaASTParser$result;
84.9026 +
84.9027 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9028 + case 16: // declaration ::= renaming_declaration
84.9029 + {
84.9030 + Statement RESULT =null;
84.9031 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.9032 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.9033 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.9034 +
84.9035 + RESULT = statement;
84.9036 +
84.9037 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declaration",0, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9038 + }
84.9039 + return CUP$AdaASTParser$result;
84.9040 +
84.9041 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9042 + case 15: // declaration ::= exception_decl
84.9043 + {
84.9044 + Statement RESULT =null;
84.9045 +
84.9046 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declaration",0, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9047 + }
84.9048 + return CUP$AdaASTParser$result;
84.9049 +
84.9050 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9051 + case 14: // declaration ::= prot_decl
84.9052 + {
84.9053 + Statement RESULT =null;
84.9054 +
84.9055 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declaration",0, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9056 + }
84.9057 + return CUP$AdaASTParser$result;
84.9058 +
84.9059 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9060 + case 13: // declaration ::= task_decl
84.9061 + {
84.9062 + Statement RESULT =null;
84.9063 +
84.9064 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("declaration",0, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9065 + }
84.9066 + return CUP$AdaASTParser$result;
84.9067 +
84.9068 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9069 + case 12: // type_declaration ::= subtype_declaration
84.9070 + {
84.9071 + Statement RESULT =null;
84.9072 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.9073 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.9074 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.9075 +
84.9076 + RESULT = statement;
84.9077 +
84.9078 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("type_declaration",2, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9079 + }
84.9080 + return CUP$AdaASTParser$result;
84.9081 +
84.9082 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9083 + case 11: // type_declaration ::= type_decl
84.9084 + {
84.9085 + Statement RESULT =null;
84.9086 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.9087 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.9088 + Statement statement = (Statement)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.9089 +
84.9090 + RESULT = statement;
84.9091 +
84.9092 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("type_declaration",2, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9093 + }
84.9094 + return CUP$AdaASTParser$result;
84.9095 +
84.9096 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9097 + case 10: // fields_declaration ::= number_declaration
84.9098 + {
84.9099 + List RESULT =null;
84.9100 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.9101 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.9102 + List statement = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.9103 +
84.9104 + RESULT = statement;
84.9105 +
84.9106 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("fields_declaration",1, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9107 + }
84.9108 + return CUP$AdaASTParser$result;
84.9109 +
84.9110 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9111 + case 9: // fields_declaration ::= object_declaration
84.9112 + {
84.9113 + List RESULT =null;
84.9114 + int statementleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).left;
84.9115 + int statementright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()).right;
84.9116 + List statement = (List)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.peek()).value;
84.9117 +
84.9118 + RESULT = statement;
84.9119 +
84.9120 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("fields_declaration",1, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9121 + }
84.9122 + return CUP$AdaASTParser$result;
84.9123 +
84.9124 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9125 + case 8: // pragma_s ::= pragma_s pragma
84.9126 + {
84.9127 + Object RESULT =null;
84.9128 +
84.9129 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("pragma_s",124, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9130 + }
84.9131 + return CUP$AdaASTParser$result;
84.9132 +
84.9133 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9134 + case 7: // pragma_s ::=
84.9135 + {
84.9136 + Object RESULT =null;
84.9137 +
84.9138 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("pragma_s",124, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9139 + }
84.9140 + return CUP$AdaASTParser$result;
84.9141 +
84.9142 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9143 + case 6: // pragma_arg ::= simple_name ARROW expression
84.9144 + {
84.9145 + Object RESULT =null;
84.9146 +
84.9147 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("pragma_arg",123, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9148 + }
84.9149 + return CUP$AdaASTParser$result;
84.9150 +
84.9151 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9152 + case 5: // pragma_arg ::= expression
84.9153 + {
84.9154 + Object RESULT =null;
84.9155 +
84.9156 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("pragma_arg",123, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9157 + }
84.9158 + return CUP$AdaASTParser$result;
84.9159 +
84.9160 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9161 + case 4: // pragma_arg_s ::= pragma_arg_s COMMA pragma_arg
84.9162 + {
84.9163 + Object RESULT =null;
84.9164 +
84.9165 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("pragma_arg_s",122, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9166 + }
84.9167 + return CUP$AdaASTParser$result;
84.9168 +
84.9169 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9170 + case 3: // pragma_arg_s ::= pragma_arg
84.9171 + {
84.9172 + Object RESULT =null;
84.9173 +
84.9174 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("pragma_arg_s",122, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9175 + }
84.9176 + return CUP$AdaASTParser$result;
84.9177 +
84.9178 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9179 + case 2: // pragma ::= PRAGMA simple_name LPAREN pragma_arg_s RPAREN SEMICOLON
84.9180 + {
84.9181 + Object RESULT =null;
84.9182 +
84.9183 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("pragma",121, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9184 + }
84.9185 + return CUP$AdaASTParser$result;
84.9186 +
84.9187 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9188 + case 1: // pragma ::= PRAGMA IDENTIFIER SEMICOLON
84.9189 + {
84.9190 + Object RESULT =null;
84.9191 +
84.9192 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("pragma",121, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9193 + }
84.9194 + return CUP$AdaASTParser$result;
84.9195 +
84.9196 + /*. . . . . . . . . . . . . . . . . . . .*/
84.9197 + case 0: // $START ::= compilation EOF
84.9198 + {
84.9199 + Object RESULT =null;
84.9200 + int start_valleft = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).left;
84.9201 + int start_valright = ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).right;
84.9202 + Program start_val = (Program)((java_cup.runtime.Symbol) CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)).value;
84.9203 + RESULT = start_val;
84.9204 + CUP$AdaASTParser$result = parser.getSymbolFactory().newSymbol("$START",0, ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.elementAt(CUP$AdaASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$AdaASTParser$stack.peek()), RESULT);
84.9205 + }
84.9206 + /* ACCEPT */
84.9207 + CUP$AdaASTParser$parser.done_parsing();
84.9208 + return CUP$AdaASTParser$result;
84.9209 +
84.9210 + /* . . . . . .*/
84.9211 + default:
84.9212 + throw new Exception(
84.9213 + "Invalid action number found in internal parse table");
84.9214 +
84.9215 + }
84.9216 + }
84.9217 +}
84.9218 +
85.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
85.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaASTSymbols.java Mon Oct 15 23:38:26 2012 +0200
85.3 @@ -0,0 +1,119 @@
85.4 +
85.5 +//----------------------------------------------------
85.6 +// The following code was generated by CUP v0.11a beta 20060608
85.7 +// Thu Sep 23 23:52:48 CEST 2010
85.8 +//----------------------------------------------------
85.9 +
85.10 +package org.netbeans.modules.ada.editor.parser;
85.11 +
85.12 +/** CUP generated interface containing symbol constants. */
85.13 +public interface AdaASTSymbols {
85.14 + /* terminals */
85.15 + public static final int AT = 11;
85.16 + public static final int IDENTIFIER = 102;
85.17 + public static final int GT = 87;
85.18 + public static final int LIMITED = 35;
85.19 + public static final int ARROW = 91;
85.20 + public static final int AMP = 75;
85.21 + public static final int TYPE = 68;
85.22 + public static final int SUBTYPE = 63;
85.23 + public static final int ALIASED = 7;
85.24 + public static final int RAISE = 53;
85.25 + public static final int RENAMES = 57;
85.26 + public static final int UNTIL = 69;
85.27 + public static final int OVERRIDING = 45;
85.28 + public static final int ASSIGNMENT = 94;
85.29 + public static final int ELSIF = 22;
85.30 + public static final int COMMA = 81;
85.31 + public static final int TERMINATE = 66;
85.32 + public static final int RPAREN = 78;
85.33 + public static final int LT = 89;
85.34 + public static final int ALL = 8;
85.35 + public static final int DECLARE = 16;
85.36 + public static final int ABORT = 2;
85.37 + public static final int GTGT = 99;
85.38 + public static final int LPAREN = 77;
85.39 + public static final int ACCESS = 5;
85.40 + public static final int LOOP = 36;
85.41 + public static final int PROTECTED = 50;
85.42 + public static final int OUT = 44;
85.43 + public static final int NOT = 39;
85.44 + public static final int TASK = 65;
85.45 + public static final int ARRAY = 10;
85.46 + public static final int THEN = 67;
85.47 + public static final int GOTO = 30;
85.48 + public static final int PACKAGE = 46;
85.49 + public static final int RECORD = 55;
85.50 + public static final int EQ = 88;
85.51 + public static final int REVERSE = 52;
85.52 + public static final int MOD = 37;
85.53 + public static final int WHEN = 71;
85.54 + public static final int GENERIC = 29;
85.55 + public static final int DIGITS = 19;
85.56 + public static final int DOT_DOT = 92;
85.57 + public static final int SELECT = 59;
85.58 + public static final int OTHERS = 43;
85.59 + public static final int ABSTRACT = 4;
85.60 + public static final int SLASH = 84;
85.61 + public static final int PLUS = 80;
85.62 + public static final int WHILE = 72;
85.63 + public static final int USE = 70;
85.64 + public static final int INTERFACE = 33;
85.65 + public static final int DO = 20;
85.66 + public static final int FOR = 27;
85.67 + public static final int EXPON = 93;
85.68 + public static final int STAR = 79;
85.69 + public static final int RETURN = 51;
85.70 + public static final int LTLT = 98;
85.71 + public static final int DELAY = 17;
85.72 + public static final int ELSE = 21;
85.73 + public static final int BASED_LITERAL = 104;
85.74 + public static final int GTEQ = 96;
85.75 + public static final int DOT = 83;
85.76 + public static final int PROCEDURE = 49;
85.77 + public static final int ENTRY = 24;
85.78 + public static final int DELTA = 18;
85.79 + public static final int PRAGMA = 47;
85.80 + public static final int STRING_LITERAL = 105;
85.81 + public static final int TICK = 76;
85.82 + public static final int NULL = 40;
85.83 + public static final int BOX = 100;
85.84 + public static final int SEMICOLON = 86;
85.85 + public static final int EOF = 0;
85.86 + public static final int FUNCTION = 28;
85.87 + public static final int MINUS = 82;
85.88 + public static final int IS = 34;
85.89 + public static final int CONSTANT = 14;
85.90 + public static final int LTEQ = 97;
85.91 + public static final int BODY = 13;
85.92 + public static final int ACCEPT = 6;
85.93 + public static final int IN = 32;
85.94 + public static final int OR = 42;
85.95 + public static final int error = 1;
85.96 + public static final int EXIT = 26;
85.97 + public static final int DECIMAL_LITERAL = 103;
85.98 + public static final int SYNCHRONIZED = 62;
85.99 + public static final int IF = 31;
85.100 + public static final int OF = 41;
85.101 + public static final int ABS = 3;
85.102 + public static final int END = 23;
85.103 + public static final int COLON = 85;
85.104 + public static final int REM = 56;
85.105 + public static final int REQUEUE = 58;
85.106 + public static final int SEPARATE = 60;
85.107 + public static final int SOME = 61;
85.108 + public static final int INEQ = 95;
85.109 + public static final int CHAR_LITERAL = 101;
85.110 + public static final int BEGIN = 12;
85.111 + public static final int CASE = 15;
85.112 + public static final int EXCEPTION = 25;
85.113 + public static final int NEW = 38;
85.114 + public static final int TAGGED = 64;
85.115 + public static final int RANGE = 54;
85.116 + public static final int AND = 9;
85.117 + public static final int BAR = 90;
85.118 + public static final int PRIVATE = 48;
85.119 + public static final int WITH = 73;
85.120 + public static final int XOR = 74;
85.121 +}
85.122 +
86.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaElementHandle.java Tue Oct 02 21:55:21 2012 -0400
86.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaElementHandle.java Mon Oct 15 23:38:26 2012 +0200
86.3 @@ -100,7 +100,7 @@
86.4
86.5 @Override
86.6 public OffsetRange getOffsetRange(ParserResult result) {
86.7 - AdaElementHandle h = (AdaElementHandle) this;
86.8 + AdaElementHandle h = this;
86.9
86.10 if (h.getASTNode() != null) {
86.11 return new OffsetRange(h.getASTNode().getStartOffset(), h.getASTNode().getEndOffset());
87.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
87.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaErrorHandler.java Mon Oct 15 23:38:26 2012 +0200
87.3 @@ -0,0 +1,377 @@
87.4 +/*
87.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
87.6 + *
87.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
87.8 + *
87.9 + * The contents of this file are subject to the terms of either the GNU
87.10 + * General Public License Version 2 only ("GPL") or the Common
87.11 + * Development and Distribution License("CDDL") (collectively, the
87.12 + * "License"). You may not use this file except in compliance with the
87.13 + * License. You can obtain a copy of the License at
87.14 + * http://www.netbeans.org/cddl-gplv2.html
87.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
87.16 + * specific language governing permissions and limitations under the
87.17 + * License. When distributing the software, include this License Header
87.18 + * Notice in each file and include the License file at
87.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
87.20 + * particular file as subject to the "Classpath" exception as provided
87.21 + * by Sun in the GPL Version 2 section of the License file that
87.22 + * accompanied this code. If applicable, add the following below the
87.23 + * License Header, with the fields enclosed by brackets [] replaced by
87.24 + * your own identifying information:
87.25 + * "Portions Copyrighted [year] [name of copyright owner]"
87.26 + *
87.27 + * If you wish your version of this file to be governed by only the CDDL
87.28 + * or only the GPL Version 2, indicate your decision by adding
87.29 + * "[Contributor] elects to include this software in this distribution
87.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
87.31 + * single choice of license, a recipient has the option to distribute
87.32 + * your version of this file under either the CDDL, the GPL Version 2 or
87.33 + * to extend the choice of license to its licensees as provided above.
87.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
87.35 + * Version 2 license, then the option applies only if the new code is
87.36 + * made subject to such option by the copyright holder.
87.37 + *
87.38 + * Contributor(s):
87.39 + *
87.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
87.41 + */
87.42 +
87.43 +package org.netbeans.modules.ada.editor.parser;
87.44 +
87.45 +import java.util.ArrayList;
87.46 +import java.util.Arrays;
87.47 +import java.util.List;
87.48 +import java.util.logging.Level;
87.49 +import java.util.logging.Logger;
87.50 +import java_cup.runtime.Symbol;
87.51 +import org.netbeans.modules.ada.editor.parser.AdaParser.Context;
87.52 +import org.netbeans.modules.ada.editor.ast.ASTError;
87.53 +import org.netbeans.modules.ada.editor.ast.ASTNode;
87.54 +import org.netbeans.modules.ada.editor.ast.nodes.Program;
87.55 +import org.netbeans.modules.csl.api.Severity;
87.56 +import org.openide.util.NbBundle;
87.57 +import org.netbeans.modules.csl.api.Error;
87.58 +
87.59 +/**
87.60 + * Based on org.netbeans.modules.php.editor.parser.PHP5ErrorHandler
87.61 + *
87.62 + * @author Andrea Lucarelli
87.63 + */
87.64 +public class AdaErrorHandler implements ParserErrorHandler {
87.65 +
87.66 + private static final Logger LOGGER = Logger.getLogger(AdaErrorHandler.class.getName());
87.67 +
87.68 + public static class SyntaxError {
87.69 + private final short[] expectedTokens;
87.70 + private final Symbol currentToken;
87.71 + private final Symbol previousToken;
87.72 +
87.73 + public SyntaxError(short[] expectedTokens, Symbol currentToken, Symbol previousToken) {
87.74 + this.expectedTokens = expectedTokens;
87.75 + this.currentToken = currentToken;
87.76 + this.previousToken = previousToken;
87.77 + }
87.78 +
87.79 + public Symbol getCurrentToken() {
87.80 + return currentToken;
87.81 + }
87.82 +
87.83 + public Symbol getPreviousToken() {
87.84 + return previousToken;
87.85 + }
87.86 +
87.87 + public short[] getExpectedTokens() {
87.88 + return expectedTokens;
87.89 + }
87.90 + }
87.91 +
87.92 + private final List<SyntaxError> syntaxErrors;
87.93 +
87.94 + private final Context context;
87.95 + AdaParser outer;
87.96 +
87.97 + public AdaErrorHandler(Context context, AdaParser outer) {
87.98 + super();
87.99 + this.outer = outer;
87.100 + this.context = context;
87.101 + syntaxErrors = new ArrayList<SyntaxError>();
87.102 + //LOGGER.setLevel(Level.FINE);
87.103 + }
87.104 +
87.105 + @Override
87.106 + public void handleError(Type type, short[] expectedtokens, Symbol current, Symbol previous) {
87.107 + Error error;
87.108 + if (type == ParserErrorHandler.Type.SYNTAX_ERROR) {
87.109 + // logging syntax error
87.110 + if (LOGGER.isLoggable(Level.FINE)) {
87.111 + LOGGER.fine("Syntax error:"); //NOI18N
87.112 + LOGGER.log(Level.FINE, "Current [{0}, {1}]({2}): {3}", new Object[]{current.left, current.right, Utils.getASTScannerTokenName(current.sym), current.value}); //NOI18N
87.113 + LOGGER.log(Level.FINE, "Previous [{0}, {1}] ({2}):{3}", new Object[]{previous.left, previous.right, Utils.getASTScannerTokenName(previous.sym), previous.value}); //NOI18N
87.114 + StringBuilder message = new StringBuilder();
87.115 + message.append("Expected tokens:"); //NOI18N
87.116 + for (int i = 0; i < expectedtokens.length; i += 2) {
87.117 + message.append(" ").append( Utils.getASTScannerTokenName(expectedtokens[i])); //NOI18N
87.118 + }
87.119 + LOGGER.fine(message.toString());
87.120 + }
87.121 + syntaxErrors.add(new SyntaxError(expectedtokens, current, previous));
87.122 + } else {
87.123 + String message = null;
87.124 + if (current != null) {
87.125 + String tagText = getTokenTextForm(current.sym);
87.126 + if (tagText != null) {
87.127 + message = NbBundle.getMessage(AdaErrorHandler.class, "SE_Unexpected") + " " + tagText;
87.128 + }
87.129 + else {
87.130 + message = NbBundle.getMessage(AdaErrorHandler.class, "SE_Unexpected") + " " + Utils.getASTScannerTokenName(current.sym);
87.131 + }
87.132 + }
87.133 + if (message == null) {
87.134 + message = "Parser error"; // NOI18N
87.135 + }
87.136 + error = new AdaError(message, context.getSnapshot().getSource().getFileObject(), current.left, current.right, Severity.ERROR, null);
87.137 + //context.getListener().error(error);
87.138 + }
87.139 + }
87.140 +
87.141 + @Override
87.142 + public void handleError(Type type, Symbol symbol, String message) {
87.143 + Error error;
87.144 + if (symbol != null) {
87.145 + if (message == null) {
87.146 + message = "Parser error";
87.147 + }
87.148 + error = new AdaError(message, context.getSnapshot().getSource().getFileObject(), symbol.left, symbol.right, Severity.ERROR, null);
87.149 + //TODO: context.getListener().error(error);
87.150 + }
87.151 + }
87.152 +
87.153 + public List<Error> displayFatalError(){
87.154 + Error error = new FatalError();
87.155 + return Arrays.asList(error);
87.156 + }
87.157 +
87.158 + public List<Error> displaySyntaxErrors(Program program) {
87.159 + List<Error> errors = new ArrayList<Error>();
87.160 + for (SyntaxError syntaxError : syntaxErrors) {
87.161 + ASTNode astError = null;
87.162 + if (program != null) {
87.163 + astError = org.netbeans.modules.ada.editor.ast.ASTUtils.getNodeAtOffset(program, syntaxError.currentToken.left);
87.164 + if (!(astError instanceof ASTError)) {
87.165 + astError = org.netbeans.modules.ada.editor.ast.ASTUtils.getNodeAtOffset(program, syntaxError.previousToken.right);
87.166 + if (!(astError instanceof ASTError)) {
87.167 + astError = null;
87.168 + }
87.169 + }
87.170 + if (astError != null) {
87.171 + LOGGER.log(Level.FINE, "ASTError [{0}, {1}]", new Object[]{astError.getStartOffset(), astError.getEndOffset()}); //NOI18N
87.172 + } else {
87.173 + LOGGER.fine("ASTError was not found"); //NOI18N
87.174 + }
87.175 + }
87.176 + Error error = defaultSyntaxErrorHandling(syntaxError, astError);
87.177 + errors.add(error);
87.178 + }
87.179 + return errors;
87.180 + }
87.181 +
87.182 + // This is just defualt handling. We can do a logic, which will find metter
87.183 + private Error defaultSyntaxErrorHandling(SyntaxError syntaxError, ASTNode astError) {
87.184 + Error error = null;
87.185 + String unexpectedText = ""; //NOI18N
87.186 + StringBuilder message = new StringBuilder();
87.187 + boolean isUnexpected = false;
87.188 + int start = syntaxError.getCurrentToken().left;
87.189 + int end = syntaxError.getCurrentToken().right;
87.190 +
87.191 + if (syntaxError.getCurrentToken().sym == AdaASTSymbols.EOF) {
87.192 + isUnexpected = true;
87.193 + unexpectedText = NbBundle.getMessage(AdaErrorHandler.class, "SE_EOF");
87.194 + start = end - 1;
87.195 + }
87.196 + else {
87.197 + String currentText = (String)syntaxError.getCurrentToken().value;
87.198 + isUnexpected = currentText != null && currentText.trim().length() > 0;
87.199 + if (isUnexpected) {
87.200 + unexpectedText = currentText.trim();
87.201 + end = start + unexpectedText.length();
87.202 + }
87.203 + }
87.204 +
87.205 + List<String> possibleTags = new ArrayList<String>();
87.206 + for (int i = 0; i < syntaxError.getExpectedTokens().length; i += 2) {
87.207 + String text = getTokenTextForm(syntaxError.getExpectedTokens()[i]);
87.208 + if (text != null) {
87.209 + possibleTags.add(text);
87.210 + }
87.211 + }
87.212 +
87.213 + message.append(NbBundle.getMessage(AdaErrorHandler.class, "SE_Message"));
87.214 + message.append(':'); //NOI18N
87.215 + if (isUnexpected) {
87.216 + message.append(' ').append(NbBundle.getMessage(AdaErrorHandler.class, "SE_Unexpected"));
87.217 + message.append(": "); //NOI18N
87.218 + message.append(unexpectedText);
87.219 + }
87.220 + if (possibleTags.size() > 0) {
87.221 + message.append('\n').append(NbBundle.getMessage(AdaErrorHandler.class, "SE_Expected"));
87.222 + message.append(": "); //NOI18N
87.223 + boolean addOR = false;
87.224 + for (String tag : possibleTags) {
87.225 + if (addOR) {
87.226 + message.append(" ").append(NbBundle.getMessage(AdaErrorHandler.class, "SE_Or")).append(" ");
87.227 + }
87.228 + else {
87.229 + addOR = true;
87.230 + }
87.231 +
87.232 + message.append(tag);
87.233 + }
87.234 + }
87.235 +
87.236 + if (astError != null){
87.237 + start = astError.getStartOffset();
87.238 + end = astError.getEndOffset();
87.239 + // if the asterror is trough two lines, the problem is ussually at the end
87.240 + String text = context.getSource().substring(start, end);
87.241 + int lastNewLine = text.length()-1;
87.242 + while (text.charAt(lastNewLine) == '\n' || text.charAt(lastNewLine) == '\r'
87.243 + || text.charAt(lastNewLine) == '\t' || text.charAt(lastNewLine) == ' ') {
87.244 + lastNewLine--;
87.245 + if (lastNewLine < 0) {
87.246 + break;
87.247 + }
87.248 + }
87.249 + lastNewLine = text.lastIndexOf('\n', lastNewLine); //NOI18N
87.250 + if (lastNewLine > 0) {
87.251 + start = start + lastNewLine + 1;
87.252 + }
87.253 + }
87.254 + error = new AdaError(message.toString(), context.getSnapshot().getSource().getFileObject(), start, end, Severity.ERROR, new Object[]{syntaxError});
87.255 + return error;
87.256 + }
87.257 +
87.258 + public List<SyntaxError> getSyntaxErrors() {
87.259 + return syntaxErrors;
87.260 + }
87.261 +
87.262 + private String getTokenTextForm (int token) {
87.263 + String text = null;
87.264 + switch (token) {
87.265 + case AdaASTSymbols.BASED_LITERAL : text = "number"; break; //NOI18N
87.266 + case AdaASTSymbols.DECIMAL_LITERAL : text = "number"; break; //NOI18N
87.267 + case AdaASTSymbols.IDENTIFIER : text = "identifier"; break; //NOI18N
87.268 + case AdaASTSymbols.ABORT : text = "abort"; break; //NOI18N
87.269 + case AdaASTSymbols.ABS : text = "abs"; break; //NOI18N
87.270 + case AdaASTSymbols.ABSTRACT : text = "abstract"; break; //NOI18N
87.271 + case AdaASTSymbols.ACCESS : text = "access"; break; //NOI18N
87.272 + case AdaASTSymbols.ACCEPT : text = "access"; break; //NOI18N
87.273 + case AdaASTSymbols.ALIASED : text = "aliased"; break; //NOI18N
87.274 + case AdaASTSymbols.ALL : text = "all"; break; //NOI18N
87.275 + case AdaASTSymbols.AND : text = "and"; break; //NOI18N
87.276 + case AdaASTSymbols.ARRAY : text = "array"; break; //NOI18N
87.277 + case AdaASTSymbols.AT : text = "at"; break; //NOI18N
87.278 + case AdaASTSymbols.BEGIN : text = "begin"; break; //NOI18N
87.279 + case AdaASTSymbols.BODY : text = "body"; break; //NOI18N
87.280 + case AdaASTSymbols.CONSTANT : text = "constant"; break; //NOI18N
87.281 + case AdaASTSymbols.CASE : text = "case"; break; //NOI18N
87.282 + case AdaASTSymbols.DECLARE : text = "declare"; break; //NOI18N
87.283 + case AdaASTSymbols.DELAY : text = "delay"; break; //NOI18N
87.284 + case AdaASTSymbols.DELTA : text = "delta"; break; //NOI18N
87.285 + case AdaASTSymbols.DIGITS : text = "digits"; break; //NOI18N
87.286 + case AdaASTSymbols.DO : text = "do"; break; //NOI18N
87.287 + case AdaASTSymbols.ELSE : text = "else"; break; //NOI18N
87.288 + case AdaASTSymbols.ELSIF : text = "elsif"; break; //NOI18N
87.289 + case AdaASTSymbols.END : text = "end"; break; //NOI18N
87.290 + case AdaASTSymbols.ENTRY : text = "entry"; break; //NOI18N
87.291 + case AdaASTSymbols.EXCEPTION : text = "exception"; break; //NOI18N
87.292 + case AdaASTSymbols.EXIT : text = "exit"; break; //NOI18N
87.293 + case AdaASTSymbols.FOR : text = "for"; break; //NOI18N
87.294 + case AdaASTSymbols.FUNCTION : text = "function"; break; //NOI18N
87.295 + case AdaASTSymbols.GENERIC : text = "generic"; break; //NOI18N
87.296 + case AdaASTSymbols.GOTO : text = "goto"; break; //NOI18N
87.297 + case AdaASTSymbols.IF : text = "if"; break; //NOI18N
87.298 + case AdaASTSymbols.IN : text = "in"; break; //NOI18N
87.299 + case AdaASTSymbols.IS : text = "is"; break; //NOI18N
87.300 + case AdaASTSymbols.LIMITED : text = "limited"; break; //NOI18N
87.301 + case AdaASTSymbols.LOOP : text = "loop"; break; //NOI18N
87.302 + case AdaASTSymbols.MOD : text = "mod"; break; //NOI18N
87.303 + case AdaASTSymbols.NEW : text = "new"; break; //NOI18N
87.304 + case AdaASTSymbols.NOT : text = "not"; break; //NOI18N
87.305 + case AdaASTSymbols.NULL : text = "null"; break; //NOI18N
87.306 + case AdaASTSymbols.OF : text = "of"; break; //NOI18N
87.307 + case AdaASTSymbols.OR : text = "or"; break; //NOI18N
87.308 + case AdaASTSymbols.OTHERS : text = "others"; break; //NOI18N
87.309 + case AdaASTSymbols.OUT : text = "out"; break; //NOI18N
87.310 + case AdaASTSymbols.PACKAGE : text = "package"; break; //NOI18N
87.311 + case AdaASTSymbols.PRAGMA : text = "pragma"; break; //NOI18N
87.312 + case AdaASTSymbols.PRIVATE : text = "private"; break; //NOI18N
87.313 + case AdaASTSymbols.PROCEDURE : text = "procedure"; break; //NOI18N
87.314 + case AdaASTSymbols.PROTECTED : text = "protected"; break; //NOI18N
87.315 + case AdaASTSymbols.RETURN : text = "return"; break; //NOI18N
87.316 + case AdaASTSymbols.REVERSE : text = "reverse"; break; //NOI18N
87.317 + case AdaASTSymbols.RAISE : text = "raise"; break; //NOI18N
87.318 + case AdaASTSymbols.RANGE : text = "range"; break; //NOI18N
87.319 + case AdaASTSymbols.RECORD : text = "record"; break; //NOI18N
87.320 + case AdaASTSymbols.REM : text = "rem"; break; //NOI18N
87.321 + case AdaASTSymbols.RENAMES : text = "renames"; break; //NOI18N
87.322 + case AdaASTSymbols.REQUEUE : text = "requeue"; break; //NOI18N
87.323 + case AdaASTSymbols.SELECT : text = "select"; break; //NOI18N
87.324 + case AdaASTSymbols.SEPARATE : text = "separate"; break; //NOI18N
87.325 + case AdaASTSymbols.SUBTYPE : text = "subtype"; break; //NOI18N
87.326 + case AdaASTSymbols.TAGGED : text = "tagged"; break; //NOI18N
87.327 + case AdaASTSymbols.TASK : text = "task"; break; //NOI18N
87.328 + case AdaASTSymbols.TERMINATE : text = "terminate"; break; //NOI18N
87.329 + case AdaASTSymbols.THEN : text = "then"; break; //NOI18N
87.330 + case AdaASTSymbols.TYPE : text = "type"; break; //NOI18N
87.331 + case AdaASTSymbols.UNTIL : text = "until"; break; //NOI18N
87.332 + case AdaASTSymbols.USE : text = "use"; break; //NOI18N
87.333 + case AdaASTSymbols.WHEN : text = "when"; break; //NOI18N
87.334 + case AdaASTSymbols.WHILE : text = "while"; break; //NOI18N
87.335 + case AdaASTSymbols.WITH : text = "with"; break; //NOI18N
87.336 + case AdaASTSymbols.XOR : text = "xor"; break; //NOI18N
87.337 + case AdaASTSymbols.AMP : text = "&"; break; //NOI18N
87.338 + case AdaASTSymbols.TICK : text = "'"; break; //NOI18N
87.339 + case AdaASTSymbols.LPAREN : text = "("; break; //NOI18N
87.340 + case AdaASTSymbols.RPAREN : text = ")"; break; //NOI18N
87.341 + case AdaASTSymbols.STAR : text = "*"; break; //NOI18N
87.342 + case AdaASTSymbols.PLUS : text = "+"; break; //NOI18N
87.343 + case AdaASTSymbols.COMMA : text = ","; break; //NOI18N
87.344 + case AdaASTSymbols.MINUS : text = "-"; break; //NOI18N
87.345 + case AdaASTSymbols.DOT : text = "."; break; //NOI18N
87.346 + case AdaASTSymbols.SLASH : text = "/"; break; //NOI18N
87.347 + case AdaASTSymbols.COLON : text = ":"; break; //NOI18N
87.348 + case AdaASTSymbols.SEMICOLON : text = ";"; break; //NOI18N
87.349 + case AdaASTSymbols.GT : text = "<"; break; //NOI18N
87.350 + case AdaASTSymbols.EQ : text = "="; break; //NOI18N
87.351 + case AdaASTSymbols.LT : text = ">"; break; //NOI18N
87.352 + case AdaASTSymbols.BAR : text = "|"; break; //NOI18N
87.353 + case AdaASTSymbols.ARROW : text = "=>"; break; //NOI18N
87.354 + case AdaASTSymbols.DOT_DOT : text = ".."; break; //NOI18N
87.355 + case AdaASTSymbols.EXPON : text = "**"; break; //NOI18N
87.356 + case AdaASTSymbols.ASSIGNMENT : text = ":="; break; //NOI18N
87.357 + case AdaASTSymbols.INEQ : text = "/="; break; //NOI18N
87.358 + case AdaASTSymbols.GTEQ : text = ">="; break; //NOI18N
87.359 + case AdaASTSymbols.LTEQ : text = "<="; break; //NOI18N
87.360 + case AdaASTSymbols.LTLT : text = "<<"; break; //NOI18N
87.361 + case AdaASTSymbols.GTGT : text = ">>"; break; //NOI18N
87.362 + case AdaASTSymbols.BOX : text = "<>"; break; //NOI18N
87.363 + }
87.364 + return text;
87.365 + }
87.366 +
87.367 + private class FatalError extends AdaError{
87.368 + FatalError(){
87.369 + super(NbBundle.getMessage(AdaErrorHandler.class, "MSG_FatalError"),
87.370 + context.getSnapshot().getSource().getFileObject(),
87.371 + 0, context.getSource().length(),
87.372 + Severity.ERROR, null);
87.373 + }
87.374 +
87.375 + @Override
87.376 + public boolean isLineError() {
87.377 + return false;
87.378 + }
87.379 + }
87.380 +}
88.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaParser.java Tue Oct 02 21:55:21 2012 -0400
88.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaParser.java Mon Oct 15 23:38:26 2012 +0200
88.3 @@ -38,6 +38,8 @@
88.4 */
88.5 package org.netbeans.modules.ada.editor.parser;
88.6
88.7 +import java.beans.PropertyChangeEvent;
88.8 +import java.beans.PropertyChangeListener;
88.9 import java.io.IOException;
88.10 import java.io.StringReader;
88.11 import java.util.ArrayList;
88.12 @@ -47,12 +49,15 @@
88.13 import java.util.logging.Logger;
88.14 import java_cup.runtime.Symbol;
88.15 import javax.swing.event.ChangeListener;
88.16 -import org.netbeans.modules.ada.editor.lexer.Ada95ASTLexer;
88.17 +import org.netbeans.modules.ada.editor.lexer.AdaASTLexer;
88.18 import org.netbeans.modules.ada.editor.ast.ASTError;
88.19 import org.netbeans.modules.ada.editor.ast.nodes.Comment;
88.20 import org.netbeans.modules.ada.editor.ast.nodes.NullStatement;
88.21 import org.netbeans.modules.ada.editor.ast.nodes.Program;
88.22 import org.netbeans.modules.ada.editor.ast.nodes.Statement;
88.23 +import org.netbeans.modules.ada.project.api.AdaLanguageOptions;
88.24 +import org.netbeans.modules.ada.project.api.AdaLanguageOptions.AdaVersion;
88.25 +import org.netbeans.modules.ada.project.api.AdaLanguageOptions.Properties;
88.26 import org.netbeans.modules.csl.api.OffsetRange;
88.27 import org.netbeans.modules.csl.spi.GsfUtilities;
88.28 import org.netbeans.modules.csl.spi.ParserResult;
88.29 @@ -62,36 +67,71 @@
88.30 import org.netbeans.modules.parsing.api.Task;
88.31 import org.netbeans.modules.parsing.spi.SourceModificationEvent;
88.32 import org.openide.filesystems.FileObject;
88.33 +import org.openide.util.ChangeSupport;
88.34 +import org.openide.util.WeakListeners;
88.35
88.36 /**
88.37 * Based on org.netbeans.modules.php.editor.parser.GSFPHPParser
88.38 *
88.39 * @author Andrea Lucarelli
88.40 */
88.41 -public class AdaParser extends Parser {
88.42 +public class AdaParser extends Parser implements PropertyChangeListener {
88.43
88.44 // private PositionManager positionManager = null;
88.45 private static final Logger LOGGER = Logger.getLogger(AdaParser.class.getName());
88.46
88.47 private ParserResult result = null;
88.48 + private ChangeSupport changeSupport = new ChangeSupport(this);
88.49 + private boolean projectPropertiesListenerAdded = false;
88.50 + private AdaVersion adaVersion;
88.51
88.52 + @Override
88.53 + public Result getResult(Task task) throws ParseException {
88.54 + return result;
88.55 + }
88.56 +
88.57 + @Override
88.58 + public void cancel() {
88.59 + // TODO
88.60 + }
88.61 +
88.62 + @Override
88.63 + public void addChangeListener(ChangeListener changeListener) {
88.64 + changeSupport.addChangeListener(changeListener);
88.65 + }
88.66 +
88.67 + @Override
88.68 + public void removeChangeListener(ChangeListener changeListener) {
88.69 + changeSupport.removeChangeListener(changeListener);
88.70 + }
88.71 +
88.72 + @Override
88.73 public void parse(Snapshot snapshot, Task task, SourceModificationEvent event) throws ParseException {
88.74 FileObject file = snapshot.getSource().getFileObject();
88.75 - LOGGER.fine("parseFiles " + file);
88.76 + LOGGER.log(Level.FINE, "parseFiles {0}", file);
88.77 // ParseListener listener = request.listener;
88.78
88.79 // ParseEvent beginEvent = new ParseEvent(ParseEvent.Kind.PARSE, file, null);
88.80 // request.listener.started(beginEvent);
88.81 + Properties languageProperties = AdaLanguageOptions.getDefault().getProperties(file);
88.82 +
88.83 + if (!projectPropertiesListenerAdded){
88.84 + PropertyChangeListener weakListener = WeakListeners.propertyChange(this, languageProperties);
88.85 + AdaLanguageOptions.getDefault().addPropertyChangeListener(weakListener);
88.86 + projectPropertiesListenerAdded = true;
88.87 + }
88.88 +
88.89 + adaVersion = languageProperties.getAdaVersion();
88.90 int end = 0;
88.91 try {
88.92 String source = snapshot.getText().toString();
88.93 end = source.length();
88.94 int caretOffset = GsfUtilities.getLastKnownCaretOffset(snapshot, event);
88.95 - LOGGER.fine("caretOffset: " + caretOffset); //NOI18N
88.96 + LOGGER.log(Level.FINE, "caretOffset: {0}", caretOffset); //NOI18N
88.97 Context context = new Context(snapshot, source, caretOffset);
88.98 result = parseBuffer(context, Sanitize.NONE, null);
88.99 } catch (Exception exception) {
88.100 - LOGGER.fine ("Exception during parsing: " + exception);
88.101 + LOGGER.log (Level.FINE, "Exception during parsing: {0}", exception);
88.102 ASTError error = new ASTError(0, end);
88.103 List<Statement> statements = new ArrayList<Statement>();
88.104 statements.add(error);
88.105 @@ -101,11 +141,11 @@
88.106
88.107 }
88.108
88.109 - protected AdaParseResult parseBuffer(final Context context, final Sanitize sanitizing, Ada95ErrorHandler errorHandler) throws Exception {
88.110 + protected AdaParseResult parseBuffer(final Context context, final Sanitize sanitizing, AdaErrorHandler errorHandler) throws Exception {
88.111 boolean sanitizedSource = false;
88.112 String source = context.source;
88.113 if (errorHandler == null) {
88.114 - errorHandler = new Ada95ErrorHandler(context, this);
88.115 + errorHandler = new AdaErrorHandler(context, this);
88.116 }
88.117 if (!((sanitizing == Sanitize.NONE) || (sanitizing == Sanitize.NEVER))) {
88.118 boolean ok = sanitizeSource(context, sanitizing, errorHandler);
88.119 @@ -122,8 +162,8 @@
88.120
88.121 AdaParseResult localResult;
88.122 // calling the ada ast parser itself
88.123 - Ada95ASTLexer scanner = new Ada95ASTLexer(new StringReader(source));
88.124 - Ada95ASTParser parser = new Ada95ASTParser(scanner);
88.125 + AdaASTLexer scanner = new AdaASTLexer(new StringReader(source), adaVersion);
88.126 + AdaASTParser parser = new AdaASTParser(scanner);
88.127
88.128 if (!sanitizedSource) {
88.129 parser.setErrorHandler(errorHandler);
88.130 @@ -151,7 +191,7 @@
88.131 localResult = sanitize(context, sanitizing, errorHandler);
88.132 }
88.133 } else {
88.134 - LOGGER.fine("The parser value is not a Program: " + rootSymbol.value);
88.135 + LOGGER.log(Level.FINE, "The parser value is not a Program: {0}", rootSymbol.value);
88.136 localResult = sanitize(context, sanitizing, errorHandler);
88.137 }
88.138 //if (!sanitizedSource) {
88.139 @@ -165,11 +205,11 @@
88.140 return localResult;
88.141 }
88.142
88.143 - private boolean sanitizeSource(Context context, Sanitize sanitizing, Ada95ErrorHandler errorHandler) {
88.144 + private boolean sanitizeSource(Context context, Sanitize sanitizing, AdaErrorHandler errorHandler) {
88.145 if (sanitizing == Sanitize.SYNTAX_ERROR_CURRENT) {
88.146 - List<Ada95ErrorHandler.SyntaxError> syntaxErrors = errorHandler.getSyntaxErrors();
88.147 + List<AdaErrorHandler.SyntaxError> syntaxErrors = errorHandler.getSyntaxErrors();
88.148 if (syntaxErrors.size() > 0) {
88.149 - Ada95ErrorHandler.SyntaxError error = syntaxErrors.get(0);
88.150 + AdaErrorHandler.SyntaxError error = syntaxErrors.get(0);
88.151 String source;
88.152 if (context.sanitized == Sanitize.NONE) {
88.153 source = context.source;
88.154 @@ -186,9 +226,9 @@
88.155 }
88.156 }
88.157 if (sanitizing == Sanitize.SYNTAX_ERROR_PREVIOUS) {
88.158 - List<Ada95ErrorHandler.SyntaxError> syntaxErrors = errorHandler.getSyntaxErrors();
88.159 + List<AdaErrorHandler.SyntaxError> syntaxErrors = errorHandler.getSyntaxErrors();
88.160 if (syntaxErrors.size() > 0) {
88.161 - Ada95ErrorHandler.SyntaxError error = syntaxErrors.get(0);
88.162 + AdaErrorHandler.SyntaxError error = syntaxErrors.get(0);
88.163 String source = context.source;
88.164
88.165 int end = error.getPreviousToken().right;
88.166 @@ -200,15 +240,15 @@
88.167 }
88.168 }
88.169 if (sanitizing == Sanitize.SYNTAX_ERROR_PREVIOUS_LINE) {
88.170 - List<Ada95ErrorHandler.SyntaxError> syntaxErrors = errorHandler.getSyntaxErrors();
88.171 + List<AdaErrorHandler.SyntaxError> syntaxErrors = errorHandler.getSyntaxErrors();
88.172 if (syntaxErrors.size() > 0) {
88.173 - Ada95ErrorHandler.SyntaxError error = syntaxErrors.get(0);
88.174 + AdaErrorHandler.SyntaxError error = syntaxErrors.get(0);
88.175 String source = context.source;
88.176
88.177 int end = Utils.getRowEnd(source, error.getPreviousToken().right);
88.178 int start = Utils.getRowStart(source, error.getPreviousToken().left);
88.179
88.180 - StringBuffer sb = new StringBuffer(end - start);
88.181 + StringBuilder sb = new StringBuilder(end - start);
88.182 for (int index = start; index < end; index++) {
88.183 if (source.charAt(index) == ' ' || source.charAt(index) == '\n' || source.charAt(index) == '\r') {
88.184 sb.append(source.charAt(index));
88.185 @@ -245,9 +285,9 @@
88.186 }
88.187 }
88.188 if (sanitizing == Sanitize.SYNTAX_ERROR_BLOCK) {
88.189 - List<Ada95ErrorHandler.SyntaxError> syntaxErrors = errorHandler.getSyntaxErrors();
88.190 + List<AdaErrorHandler.SyntaxError> syntaxErrors = errorHandler.getSyntaxErrors();
88.191 if (syntaxErrors.size() > 0) {
88.192 - Ada95ErrorHandler.SyntaxError error = syntaxErrors.get(0);
88.193 + AdaErrorHandler.SyntaxError error = syntaxErrors.get(0);
88.194 return sanitizeRemoveBlock(context, error.getCurrentToken().left);
88.195 }
88.196 }
88.197 @@ -256,13 +296,13 @@
88.198
88.199 private boolean sanitizeRemoveBlock(Context context, int index) {
88.200 String source = context.getSource();
88.201 - Ada95ASTLexer scanner = new Ada95ASTLexer(new StringReader(source));
88.202 + AdaASTLexer lexer = new AdaASTLexer(new StringReader(source), adaVersion);
88.203 Symbol token = null;
88.204 int start = -1;
88.205 int end = -1;
88.206 try {
88.207 - token = scanner.next_token();
88.208 - while (token.sym != Ada95ASTSymbols.EOF && end == -1) {
88.209 + token = lexer.next_token();
88.210 + while (token.sym != AdaASTSymbols.EOF && end == -1) {
88.211 /*
88.212 if (token.sym == Ada95ASTSymbols.T_CURLY_OPEN && token.left <= index) {
88.213 start = token.right;
88.214 @@ -271,7 +311,7 @@
88.215 end = token.right - 1;
88.216 }
88.217 */
88.218 - token = scanner.next_token();
88.219 + token = lexer.next_token();
88.220 }
88.221 } catch (IOException exception) {
88.222 LOGGER.log(Level.INFO, "Exception during removing block", exception); //NOI18N
88.223 @@ -284,7 +324,7 @@
88.224 return false;
88.225 }
88.226
88.227 - private AdaParseResult sanitize(final Context context, final Sanitize sanitizing, Ada95ErrorHandler errorHandler) throws Exception {
88.228 + private AdaParseResult sanitize(final Context context, final Sanitize sanitizing, AdaErrorHandler errorHandler) throws Exception {
88.229
88.230 switch (sanitizing) {
88.231 case NONE:
88.232 @@ -321,23 +361,14 @@
88.233 }
88.234
88.235 @Override
88.236 - public Result getResult(Task task) throws ParseException {
88.237 - return result;
88.238 + public void propertyChange(PropertyChangeEvent evt) {
88.239 + if (AdaLanguageOptions.PROP_ADA_VERSION.equals(evt.getPropertyName())){
88.240 + forceReparsing();
88.241 + }
88.242 }
88.243
88.244 - @Override
88.245 - public void cancel() {
88.246 - // TODO
88.247 - }
88.248 -
88.249 - @Override
88.250 - public void addChangeListener(ChangeListener changeListener) {
88.251 - // TODO
88.252 - }
88.253 -
88.254 - @Override
88.255 - public void removeChangeListener(ChangeListener changeListener) {
88.256 - // TODO
88.257 + private void forceReparsing(){
88.258 + changeSupport.fireChange();
88.259 }
88.260
88.261
89.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaSemanticAnalyzer.java Tue Oct 02 21:55:21 2012 -0400
89.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaSemanticAnalyzer.java Mon Oct 15 23:38:26 2012 +0200
89.3 @@ -44,6 +44,8 @@
89.4 import java.util.List;
89.5 import java.util.Map;
89.6 import java.util.Set;
89.7 +import java.util.logging.Level;
89.8 +import java.util.logging.Logger;
89.9 import org.netbeans.modules.ada.editor.ast.ASTNode;
89.10 import org.netbeans.modules.ada.editor.ast.nodes.Block;
89.11 import org.netbeans.modules.ada.editor.ast.nodes.BodyDeclaration.Modifier;
89.12 @@ -53,6 +55,7 @@
89.13 import org.netbeans.modules.ada.editor.ast.nodes.PackageBody;
89.14 import org.netbeans.modules.ada.editor.ast.nodes.PackageSpecification;
89.15 import org.netbeans.modules.ada.editor.ast.nodes.TypeDeclaration;
89.16 +import org.netbeans.modules.ada.editor.ast.nodes.TypeName;
89.17 import org.netbeans.modules.ada.editor.ast.nodes.Variable;
89.18 import org.netbeans.modules.ada.editor.ast.nodes.visitors.DefaultVisitor;
89.19 import org.netbeans.modules.csl.api.ColoringAttributes;
89.20 @@ -71,6 +74,8 @@
89.21 */
89.22 public class AdaSemanticAnalyzer extends SemanticAnalyzer {
89.23
89.24 + private static final Logger LOGGER = Logger.getLogger(AdaSemanticAnalyzer.class.getName());
89.25 +
89.26 public static final EnumSet<ColoringAttributes> UNUSED_FIELD_SET = EnumSet.of(ColoringAttributes.UNUSED, ColoringAttributes.FIELD);
89.27 public static final EnumSet<ColoringAttributes> UNUSED_METHOD_SET = EnumSet.of(ColoringAttributes.UNUSED, ColoringAttributes.METHOD);
89.28 private boolean cancelled;
89.29 @@ -78,6 +83,7 @@
89.30
89.31 public AdaSemanticAnalyzer() {
89.32 semanticHighlights = null;
89.33 + LOGGER.setLevel(Level.FINE);
89.34 }
89.35
89.36 public Map<OffsetRange, Set<ColoringAttributes>> getHighlights() {
89.37 @@ -202,32 +208,6 @@
89.38 }
89.39
89.40 @Override
89.41 - public void visit(MethodDeclaration method) {
89.42 - boolean isPrivate = Modifier.isPrivate(method.getModifier());
89.43 - EnumSet<ColoringAttributes> coloring = ColoringAttributes.METHOD_SET;
89.44 -
89.45 - Identifier identifier = method.getSubrogramName();
89.46 - addOffsetRange(identifier, coloring);
89.47 - if (!method.isSpefication()) {
89.48 - Identifier nameEnd = method.getSubrogramNameEnd();
89.49 - addOffsetRange(nameEnd, coloring);
89.50 - }
89.51 -
89.52 - if (method.getSubprogramBody() != null) {
89.53 - // don't scan the body now. It should be scanned after all declarations
89.54 - // are known
89.55 - Block declarations = method.getSubprogramBody().getDeclarations();
89.56 - if (declarations != null) {
89.57 - needToScan.add(declarations);
89.58 - }
89.59 - Block body = method.getSubprogramBody().getBody();
89.60 - if (body != null) {
89.61 - needToScan.add(body);
89.62 - }
89.63 - }
89.64 - }
89.65 -
89.66 - @Override
89.67 public void visit(PackageBody node) {
89.68 if (isCancelled()) {
89.69 return;
89.70 @@ -260,6 +240,59 @@
89.71 }
89.72
89.73 @Override
89.74 + public void visit(MethodDeclaration method) {
89.75 + if (isCancelled()) {
89.76 + return;
89.77 + }
89.78 +
89.79 + boolean isPrivate = Modifier.isPrivate(method.getModifier());
89.80 + EnumSet<ColoringAttributes> coloring = ColoringAttributes.METHOD_SET;
89.81 +
89.82 + Identifier identifier = method.getSubrogramName();
89.83 + addOffsetRange(identifier, coloring);
89.84 + if (!method.isSpefication()) {
89.85 + Identifier nameEnd = method.getSubrogramNameEnd();
89.86 + if (nameEnd != null) {
89.87 + addOffsetRange(nameEnd, coloring);
89.88 + }
89.89 + }
89.90 +
89.91 + if (method.getSubprogramBody() != null) {
89.92 + // don't scan the body now. It should be scanned after all declarations
89.93 + // are known
89.94 + Block declarations = method.getSubprogramBody().getDeclarations();
89.95 + if (declarations != null) {
89.96 + declarations.accept(this);
89.97 + }
89.98 + Block body = method.getSubprogramBody().getBody();
89.99 + if (body != null) {
89.100 + body.accept(this);
89.101 + }
89.102 + }
89.103 + }
89.104 +
89.105 +// @Override
89.106 +// public void visit(BlockStatement block) {
89.107 +// System.out.println("BlockStatement");
89.108 +// if (block.getLabel() != null) {
89.109 +// EnumSet<ColoringAttributes> coloring = ColoringAttributes.METHOD_SET;
89.110 +// Identifier identifier = block.getLabel();
89.111 +// addOffsetRange(identifier, coloring);
89.112 +// }
89.113 +//
89.114 +// // don't scan the body now. It should be scanned after all declarations
89.115 +// // are known
89.116 +// Block declarations = block.getDeclarations();
89.117 +// if (declarations != null) {
89.118 +// needToScan.add(declarations);
89.119 +// }
89.120 +// Block body = block.getBody();
89.121 +// if (body != null) {
89.122 +// needToScan.add(body);
89.123 +// }
89.124 +// }
89.125 +
89.126 + @Override
89.127 public void visit(FieldsDeclaration node) {
89.128 if (isCancelled()) {
89.129 return;
89.130 @@ -275,10 +308,14 @@
89.131 addOffsetRange(variable.getName(), ColoringAttributes.FIELD_SET);
89.132 } else {
89.133 if (variable.getName() instanceof Identifier) {
89.134 - Identifier identifier = (Identifier) variable.getName();
89.135 + Identifier identifier = variable.getName();
89.136 privateFieldsUsed.put(identifier.getName(), new IdentifierColoring(identifier, coloring));
89.137 }
89.138 }
89.139 + if (variable.getVariableType() != null) {
89.140 + TypeName typeName = variable.getVariableType();
89.141 + typeName.accept(this);
89.142 + }
89.143 }
89.144 }
89.145
89.146 @@ -298,5 +335,27 @@
89.147 privateFieldsUsed.put(id.getName(), new IdentifierColoring(id, coloring));
89.148 }
89.149 }
89.150 +
89.151 + @Override
89.152 + public void visit(Variable node) {
89.153 + if (isCancelled()) {
89.154 + return;
89.155 + }
89.156 +
89.157 + Identifier id = node.getName();
89.158 + addOffsetRange(id, ColoringAttributes.FIELD_SET);
89.159 + }
89.160 +
89.161 + @Override
89.162 + public void visit(TypeName node) {
89.163 + if (isCancelled()) {
89.164 + return;
89.165 + }
89.166 +
89.167 + if (node.isIsBaseType() == false) {
89.168 + Identifier id = node.getTypeName();
89.169 + addOffsetRange(id, ColoringAttributes.FIELD_SET);
89.170 + }
89.171 + }
89.172 }
89.173 }
90.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaStructureScanner.java Tue Oct 02 21:55:21 2012 -0400
90.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaStructureScanner.java Mon Oct 15 23:38:26 2012 +0200
90.3 @@ -50,9 +50,11 @@
90.4 import java.util.logging.Logger;
90.5 import javax.swing.ImageIcon;
90.6 import javax.swing.text.Document;
90.7 +import org.netbeans.modules.ada.editor.CodeUtils;
90.8 import org.netbeans.modules.ada.editor.ast.ASTError;
90.9 import org.netbeans.modules.ada.editor.ast.ASTUtils;
90.10 import org.netbeans.modules.ada.editor.ast.nodes.Block;
90.11 +import org.netbeans.modules.ada.editor.ast.nodes.BlockStatement;
90.12 import org.netbeans.modules.ada.editor.ast.nodes.Comment;
90.13 import org.netbeans.modules.ada.editor.ast.nodes.Expression;
90.14 import org.netbeans.modules.ada.editor.ast.nodes.FieldsDeclaration;
90.15 @@ -62,7 +64,9 @@
90.16 import org.netbeans.modules.ada.editor.ast.nodes.PackageSpecification;
90.17 import org.netbeans.modules.ada.editor.ast.nodes.SubprogramBody;
90.18 import org.netbeans.modules.ada.editor.ast.nodes.SubprogramSpecification;
90.19 +import org.netbeans.modules.ada.editor.ast.nodes.TypeAccess;
90.20 import org.netbeans.modules.ada.editor.ast.nodes.TypeDeclaration;
90.21 +import org.netbeans.modules.ada.editor.ast.nodes.TypeName;
90.22 import org.netbeans.modules.ada.editor.ast.nodes.Variable;
90.23 import org.netbeans.modules.ada.editor.ast.nodes.visitors.DefaultVisitor;
90.24 import org.netbeans.modules.ada.editor.parser.AdaElementHandle.SubprogramSpecificationHandle;
90.25 @@ -402,7 +406,7 @@
90.26 }
90.27 String type = null;
90.28 if (formalParameter.getParameterType() != null) {
90.29 - type = formalParameter.getParameterType().getTypeName().getName();
90.30 + type = CodeUtils.extractTypeName(formalParameter.getParameterType());
90.31 }
90.32 if (name != null) {
90.33 if (!first) {
90.34 @@ -469,7 +473,7 @@
90.35 }
90.36 String type = null;
90.37 if (formalParameter.getParameterType() != null) {
90.38 - type = formalParameter.getParameterType().getTypeName().getName();
90.39 + type = CodeUtils.extractTypeName(formalParameter.getParameterType());
90.40 }
90.41 if (name != null) {
90.42 if (!first) {
90.43 @@ -690,6 +694,20 @@
90.44 }
90.45
90.46 @Override
90.47 + public void visit(BlockStatement block) {
90.48 + if (foldType != null) {
90.49 + getRanges(folds, foldType).add(createOffsetRange(block));
90.50 + foldType = null;
90.51 + }
90.52 + if (block.getDeclarations() != null) {
90.53 + scan(block.getDeclarations());
90.54 + }
90.55 + if (block.getBody() != null) {
90.56 + scan(block.getBody());
90.57 + }
90.58 + }
90.59 +
90.60 + @Override
90.61 public void visit(SubprogramBody subprog) {
90.62 foldType = FOLD_CODE_BLOCKS;
90.63 if (subprog.getDeclarations() != null) {
91.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/Utils.java Tue Oct 02 21:55:21 2012 -0400
91.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/Utils.java Mon Oct 15 23:38:26 2012 +0200
91.3 @@ -55,280 +55,280 @@
91.4 public static String getASTScannerTokenName(int id) {
91.5 String name;
91.6 switch (id) {
91.7 - case Ada95ASTSymbols.REVERSE:
91.8 + case AdaASTSymbols.REVERSE:
91.9 name = "REVERSE";
91.10 break;
91.11 - case Ada95ASTSymbols.PROCEDURE:
91.12 + case AdaASTSymbols.PROCEDURE:
91.13 name = "PROCEDURE";
91.14 break;
91.15 - case Ada95ASTSymbols.OF:
91.16 + case AdaASTSymbols.OF:
91.17 name = "OF";
91.18 break;
91.19 - case Ada95ASTSymbols.ABORT:
91.20 + case AdaASTSymbols.ABORT:
91.21 name = "ABORT";
91.22 break;
91.23 - case Ada95ASTSymbols.AMP:
91.24 + case AdaASTSymbols.AMP:
91.25 name = "AMP";
91.26 break;
91.27 - case Ada95ASTSymbols.SEMICOLON:
91.28 + case AdaASTSymbols.SEMICOLON:
91.29 name = "SEMICOLON";
91.30 break;
91.31 - case Ada95ASTSymbols.CASE:
91.32 + case AdaASTSymbols.CASE:
91.33 name = "CASE";
91.34 break;
91.35 - case Ada95ASTSymbols.BASED_LITERAL:
91.36 + case AdaASTSymbols.BASED_LITERAL:
91.37 name = "BASED_LITERAL";
91.38 break;
91.39 - case Ada95ASTSymbols.DECIMAL_LITERAL:
91.40 + case AdaASTSymbols.DECIMAL_LITERAL:
91.41 name = "DECIMAL_LITERAL";
91.42 break;
91.43 - case Ada95ASTSymbols.MOD:
91.44 + case AdaASTSymbols.MOD:
91.45 name = "MOD";
91.46 break;
91.47 - case Ada95ASTSymbols.ARRAY:
91.48 + case AdaASTSymbols.ARRAY:
91.49 name = "ARRAY";
91.50 break;
91.51 - case Ada95ASTSymbols.WITH:
91.52 + case AdaASTSymbols.WITH:
91.53 name = "WITH";
91.54 break;
91.55 - case Ada95ASTSymbols.USE:
91.56 + case AdaASTSymbols.USE:
91.57 name = "USE";
91.58 break;
91.59 - case Ada95ASTSymbols.BAR:
91.60 + case AdaASTSymbols.BAR:
91.61 name = "BAR";
91.62 break;
91.63 - case Ada95ASTSymbols.GENERIC:
91.64 + case AdaASTSymbols.GENERIC:
91.65 name = "GENERIC";
91.66 break;
91.67 - case Ada95ASTSymbols.EXCEPTION:
91.68 + case AdaASTSymbols.EXCEPTION:
91.69 name = "EXCEPTION";
91.70 break;
91.71 - case Ada95ASTSymbols.TAGGED:
91.72 + case AdaASTSymbols.TAGGED:
91.73 name = "TAGGED";
91.74 break;
91.75 - case Ada95ASTSymbols.FOR:
91.76 + case AdaASTSymbols.FOR:
91.77 name = "FOR";
91.78 break;
91.79 - case Ada95ASTSymbols.IDENTIFIER:
91.80 + case AdaASTSymbols.IDENTIFIER:
91.81 name = "IDENTIFIER";
91.82 break;
91.83 - case Ada95ASTSymbols.SLASH:
91.84 + case AdaASTSymbols.SLASH:
91.85 name = "SLASH";
91.86 break;
91.87 - case Ada95ASTSymbols.AT:
91.88 + case AdaASTSymbols.AT:
91.89 name = "AT";
91.90 break;
91.91 - case Ada95ASTSymbols.TYPE:
91.92 + case AdaASTSymbols.TYPE:
91.93 name = "TYPE";
91.94 break;
91.95 - case Ada95ASTSymbols.EQ:
91.96 + case AdaASTSymbols.EQ:
91.97 name = "EQ";
91.98 break;
91.99 - case Ada95ASTSymbols.WHILE:
91.100 + case AdaASTSymbols.WHILE:
91.101 name = "WHILE";
91.102 break;
91.103 - case Ada95ASTSymbols.DELAY:
91.104 + case AdaASTSymbols.DELAY:
91.105 name = "DELAY";
91.106 break;
91.107 - case Ada95ASTSymbols.ENTRY:
91.108 + case AdaASTSymbols.ENTRY:
91.109 name = "ENTRY";
91.110 break;
91.111 - case Ada95ASTSymbols.DELTA:
91.112 + case AdaASTSymbols.DELTA:
91.113 name = "DELTA";
91.114 break;
91.115 - case Ada95ASTSymbols.DIGITS:
91.116 + case AdaASTSymbols.DIGITS:
91.117 name = "DIGITS";
91.118 break;
91.119 - case Ada95ASTSymbols.ABSTRACT:
91.120 + case AdaASTSymbols.ABSTRACT:
91.121 name = "ABSTRACT";
91.122 break;
91.123 - case Ada95ASTSymbols.LOOP:
91.124 + case AdaASTSymbols.LOOP:
91.125 name = "LOOP";
91.126 break;
91.127 - case Ada95ASTSymbols.ACCESS:
91.128 + case AdaASTSymbols.ACCESS:
91.129 name = "ACCESS";
91.130 break;
91.131 - case Ada95ASTSymbols.REQUEUE:
91.132 + case AdaASTSymbols.REQUEUE:
91.133 name = "REQUEUE";
91.134 break;
91.135 - case Ada95ASTSymbols.TASK:
91.136 + case AdaASTSymbols.TASK:
91.137 name = "TASK";
91.138 break;
91.139 - case Ada95ASTSymbols.ABS:
91.140 + case AdaASTSymbols.ABS:
91.141 name = "ABS";
91.142 break;
91.143 - case Ada95ASTSymbols.END:
91.144 + case AdaASTSymbols.END:
91.145 name = "END";
91.146 break;
91.147 - case Ada95ASTSymbols.REM:
91.148 + case AdaASTSymbols.REM:
91.149 name = "REM";
91.150 break;
91.151 - case Ada95ASTSymbols.MINUS:
91.152 + case AdaASTSymbols.MINUS:
91.153 name = "MINUS";
91.154 break;
91.155 - case Ada95ASTSymbols.ASSIGNMENT:
91.156 + case AdaASTSymbols.ASSIGNMENT:
91.157 name = "ASSIGNMENT";
91.158 break;
91.159 - case Ada95ASTSymbols.THEN:
91.160 + case AdaASTSymbols.THEN:
91.161 name = "THEN";
91.162 break;
91.163 - case Ada95ASTSymbols.GOTO:
91.164 + case AdaASTSymbols.GOTO:
91.165 name = "GOTO";
91.166 break;
91.167 - case Ada95ASTSymbols.NEW:
91.168 + case AdaASTSymbols.NEW:
91.169 name = "NEW";
91.170 break;
91.171 - case Ada95ASTSymbols.WHEN:
91.172 + case AdaASTSymbols.WHEN:
91.173 name = "WHEN";
91.174 break;
91.175 - case Ada95ASTSymbols.TERMINATE:
91.176 + case AdaASTSymbols.TERMINATE:
91.177 name = "TERMINATE";
91.178 break;
91.179 - case Ada95ASTSymbols.COLON:
91.180 + case AdaASTSymbols.COLON:
91.181 name = "COLON";
91.182 break;
91.183 - case Ada95ASTSymbols.EOF:
91.184 + case AdaASTSymbols.EOF:
91.185 name = "EOF";
91.186 break;
91.187 - case Ada95ASTSymbols.PLUS:
91.188 + case AdaASTSymbols.PLUS:
91.189 name = "PLUS";
91.190 break;
91.191 - case Ada95ASTSymbols.LTEQ:
91.192 + case AdaASTSymbols.LTEQ:
91.193 name = "LTEQ";
91.194 break;
91.195 - case Ada95ASTSymbols.BEGIN:
91.196 + case AdaASTSymbols.BEGIN:
91.197 name = "BEGIN";
91.198 break;
91.199 - case Ada95ASTSymbols.FUNCTION:
91.200 + case AdaASTSymbols.FUNCTION:
91.201 name = "FUNCTION";
91.202 break;
91.203 - case Ada95ASTSymbols.RECORD:
91.204 + case AdaASTSymbols.RECORD:
91.205 name = "RECORD";
91.206 break;
91.207 - case Ada95ASTSymbols.RANGE:
91.208 + case AdaASTSymbols.RANGE:
91.209 name = "RANGE";
91.210 break;
91.211 - case Ada95ASTSymbols.PROTECTED:
91.212 + case AdaASTSymbols.PROTECTED:
91.213 name = "PROTECTED";
91.214 break;
91.215 - case Ada95ASTSymbols.PRIVATE:
91.216 + case AdaASTSymbols.PRIVATE:
91.217 name = "PRIVATE";
91.218 break;
91.219 - case Ada95ASTSymbols.INEQ:
91.220 + case AdaASTSymbols.INEQ:
91.221 name = "INEQ";
91.222 break;
91.223 - case Ada95ASTSymbols.SEPARATE:
91.224 + case AdaASTSymbols.SEPARATE:
91.225 name = "SEPARATE";
91.226 break;
91.227 - case Ada95ASTSymbols.CONSTANT:
91.228 + case AdaASTSymbols.CONSTANT:
91.229 name = "CONSTANT";
91.230 break;
91.231 - case Ada95ASTSymbols.SELECT:
91.232 + case AdaASTSymbols.SELECT:
91.233 name = "SELECT";
91.234 break;
91.235 - case Ada95ASTSymbols.OTHERS:
91.236 + case AdaASTSymbols.OTHERS:
91.237 name = "OTHERS";
91.238 break;
91.239 - case Ada95ASTSymbols.ALIASED:
91.240 + case AdaASTSymbols.ALIASED:
91.241 name = "ALIASED";
91.242 break;
91.243 - case Ada95ASTSymbols.ELSE:
91.244 + case AdaASTSymbols.ELSE:
91.245 name = "ELSE";
91.246 break;
91.247 - case Ada95ASTSymbols.DO:
91.248 + case AdaASTSymbols.DO:
91.249 name = "DO";
91.250 break;
91.251 - case Ada95ASTSymbols.GT:
91.252 + case AdaASTSymbols.GT:
91.253 name = "GT";
91.254 break;
91.255 - case Ada95ASTSymbols.RENAMES:
91.256 + case AdaASTSymbols.RENAMES:
91.257 name = "RENAMES";
91.258 break;
91.259 - case Ada95ASTSymbols.LIMITED:
91.260 + case AdaASTSymbols.LIMITED:
91.261 name = "LIMITED";
91.262 break;
91.263 - case Ada95ASTSymbols.STAR:
91.264 + case AdaASTSymbols.STAR:
91.265 name = "STAR";
91.266 break;
91.267 - case Ada95ASTSymbols.NULL:
91.268 + case AdaASTSymbols.NULL:
91.269 name = "NULL";
91.270 break;
91.271 - case Ada95ASTSymbols.SUBTYPE:
91.272 + case AdaASTSymbols.SUBTYPE:
91.273 name = "SUBTYPE";
91.274 break;
91.275 - case Ada95ASTSymbols.RETURN:
91.276 + case AdaASTSymbols.RETURN:
91.277 name = "RETURN";
91.278 break;
91.279 - case Ada95ASTSymbols.ALL:
91.280 + case AdaASTSymbols.ALL:
91.281 name = "ALL";
91.282 break;
91.283 - case Ada95ASTSymbols.RAISE:
91.284 + case AdaASTSymbols.RAISE:
91.285 name = "RAISE";
91.286 break;
91.287 - case Ada95ASTSymbols.AND:
91.288 + case AdaASTSymbols.AND:
91.289 name = "AND";
91.290 break;
91.291 - case Ada95ASTSymbols.GTEQ:
91.292 + case AdaASTSymbols.GTEQ:
91.293 name = "GTEQ";
91.294 break;
91.295 - case Ada95ASTSymbols.UNTIL:
91.296 + case AdaASTSymbols.UNTIL:
91.297 name = "UNTIL";
91.298 break;
91.299 - case Ada95ASTSymbols.BODY:
91.300 + case AdaASTSymbols.BODY:
91.301 name = "BODY";
91.302 break;
91.303 - case Ada95ASTSymbols.EXIT:
91.304 + case AdaASTSymbols.EXIT:
91.305 name = "EXIT";
91.306 break;
91.307 - case Ada95ASTSymbols.ACCEPT:
91.308 + case AdaASTSymbols.ACCEPT:
91.309 name = "ACCEPT";
91.310 break;
91.311 - case Ada95ASTSymbols.PRAGMA:
91.312 + case AdaASTSymbols.PRAGMA:
91.313 name = "PRAGMA";
91.314 break;
91.315 - case Ada95ASTSymbols.IS:
91.316 + case AdaASTSymbols.IS:
91.317 name = "IS";
91.318 break;
91.319 - case Ada95ASTSymbols.OR:
91.320 + case AdaASTSymbols.OR:
91.321 name = "OR";
91.322 break;
91.323 - case Ada95ASTSymbols.OUT:
91.324 + case AdaASTSymbols.OUT:
91.325 name = "OUT";
91.326 break;
91.327 - case Ada95ASTSymbols.RPAREN:
91.328 + case AdaASTSymbols.RPAREN:
91.329 name = "RPAREN";
91.330 break;
91.331 - case Ada95ASTSymbols.ELSIF:
91.332 + case AdaASTSymbols.ELSIF:
91.333 name = "ELSIF";
91.334 break;
91.335 - case Ada95ASTSymbols.NOT:
91.336 + case AdaASTSymbols.NOT:
91.337 name = "NOT";
91.338 break;
91.339 - case Ada95ASTSymbols.XOR:
91.340 + case AdaASTSymbols.XOR:
91.341 name = "XOR";
91.342 break;
91.343 - case Ada95ASTSymbols.LPAREN:
91.344 + case AdaASTSymbols.LPAREN:
91.345 name = "LPAREN";
91.346 break;
91.347 - case Ada95ASTSymbols.IN:
91.348 + case AdaASTSymbols.IN:
91.349 name = "IN";
91.350 break;
91.351 - case Ada95ASTSymbols.COMMA:
91.352 + case AdaASTSymbols.COMMA:
91.353 name = "COMMA";
91.354 break;
91.355 - case Ada95ASTSymbols.LT:
91.356 + case AdaASTSymbols.LT:
91.357 name = "LT";
91.358 break;
91.359 - case Ada95ASTSymbols.PACKAGE:
91.360 + case AdaASTSymbols.PACKAGE:
91.361 name = "PACKAGE";
91.362 break;
91.363 - case Ada95ASTSymbols.DOT:
91.364 + case AdaASTSymbols.DOT:
91.365 name = "DOT";
91.366 break;
91.367 - case Ada95ASTSymbols.IF:
91.368 + case AdaASTSymbols.IF:
91.369 name = "IF";
91.370 break;
91.371 - case Ada95ASTSymbols.DECLARE:
91.372 + case AdaASTSymbols.DECLARE:
91.373 name = "DECLARE";
91.374 break;
91.375 default:
92.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/resources/Ada95ASTParser.cup Tue Oct 02 21:55:21 2012 -0400
92.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
92.3 @@ -1,2772 +0,0 @@
92.4 -/*
92.5 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
92.6 - *
92.7 - * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
92.8 - *
92.9 - * The contents of this file are subject to the terms of either the GNU
92.10 - * General Public License Version 2 only ("GPL") or the Common
92.11 - * Development and Distribution License("CDDL") (collectively, the
92.12 - * "License"). You may not use this file except in compliance with the
92.13 - * License. You can obtain a copy of the License at
92.14 - * http://www.netbeans.org/cddl-gplv2.html
92.15 - * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
92.16 - * specific language governing permissions and limitations under the
92.17 - * License. When distributing the software, include this License Header
92.18 - * Notice in each file and include the License file at
92.19 - * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
92.20 - * particular file as subject to the "Classpath" exception as provided
92.21 - * by Sun in the GPL Version 2 section of the License file that
92.22 - * accompanied this code. If applicable, add the following below the
92.23 - * License Header, with the fields enclosed by brackets [] replaced by
92.24 - * your own identifying information:
92.25 - * "Portions Copyrighted [year] [name of copyright owner]"
92.26 - *
92.27 - * If you wish your version of this file to be governed by only the CDDL
92.28 - * or only the GPL Version 2, indicate your decision by binary_adding_operator
92.29 - * "[Contributor] elects to include this software in this distribution
92.30 - * under the [CDDL or GPL Version 2] license." If you do not indicate a
92.31 - * single choice of license, a recipient has the option to distribute
92.32 - * your version of this file under either the CDDL, the GPL Version 2 or
92.33 - * to extend the choice of license to its licensees as provided above.
92.34 - * However, if you add GPL Version 2 code and therefore, elected the GPL
92.35 - * Version 2 license, then the option applies only if the new code is
92.36 - * made subject to such option by the copyright holder.
92.37 - *
92.38 - * Contributor(s):
92.39 - *
92.40 - * Portions Copyrighted 2008 Sun Microsystems, Inc.
92.41 - */
92.42 -package org.netbeans.modules.ada.editor.parser;
92.43 -
92.44 -import java.util.*;
92.45 -import org.netbeans.modules.ada.editor.lexer.Ada95ASTLexer;
92.46 -import org.netbeans.modules.ada.editor.ast.*;
92.47 -import org.netbeans.modules.ada.editor.ast.nodes.*;
92.48 -
92.49 -parser code {:
92.50 - protected final static Integer PUBLIC = new Integer(BodyDeclaration.Modifier.PUBLIC);
92.51 - protected final static Integer PRIVATE = new Integer(BodyDeclaration.Modifier.PRIVATE);
92.52 - protected final static Integer TAGGED = new Integer(BodyDeclaration.Modifier.TAGGED);
92.53 - protected final static Integer LIMITED = new Integer(BodyDeclaration.Modifier.LIMITED);
92.54 - protected final static Integer ABSTRACT = new Integer(BodyDeclaration.Modifier.ABSTRACT);
92.55 -
92.56 - private ErrorStrategy defaultStrategy = new DefaultErrorStrategy();;
92.57 - private ErrorStrategy errorStrategy = defaultStrategy;
92.58 -
92.59 - private ParserErrorHandler errorHandler = null;
92.60 -
92.61 - public void setErrorHandler (ParserErrorHandler handler) {
92.62 - this.errorHandler = handler;
92.63 - }
92.64 -
92.65 - public ParserErrorHandler getErrorHandler () {
92.66 - return this.errorHandler;
92.67 - }
92.68 -
92.69 -/*
92.70 - public Dispatch createDispatch(VariableBase dispatcher, VariableBase property) {
92.71 - Dispatch dispatch = null;
92.72 - if (property instanceof Variable) {
92.73 - dispatch = new FieldAccess(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (Variable)property);
92.74 - } else if (property instanceof FunctionInvocation) {
92.75 - dispatch = new MethodInvocation(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (FunctionInvocation)property);
92.76 - } else if (property instanceof ProcedureInvocation) {
92.77 - dispatch = new MethodInvocation(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (ProcedureInvocation)property);
92.78 - } else {
92.79 - throw new IllegalArgumentException();
92.80 - }
92.81 - return dispatch;
92.82 - }
92.83 -*/
92.84 -
92.85 - public List setModifier(List items, int modifier) {
92.86 - List list = new LinkedList();
92.87 - for (Iterator iter = items.iterator(); iter.hasNext();) {
92.88 - final Object next = iter.next();
92.89 - if (next instanceof TypeDeclaration) {
92.90 - ((TypeDeclaration)next).setModifier(modifier);
92.91 - list.add(next);
92.92 - } else if (next instanceof MethodDeclaration) {
92.93 - ((MethodDeclaration)next).setModifier(modifier);
92.94 - list.add(next);
92.95 - } else if (next instanceof FieldsDeclaration) {
92.96 - ((FieldsDeclaration)next).setModifier(modifier);
92.97 - list.add(next);
92.98 - } else {
92.99 - list.add(next);
92.100 - }
92.101 - }
92.102 - return list;
92.103 - }
92.104 -
92.105 - interface ErrorStrategy {
92.106 - public boolean errorRecovery(boolean debug) throws Exception;
92.107 - }
92.108 -
92.109 - class DefaultErrorStrategy implements ErrorStrategy {
92.110 -
92.111 - public boolean errorRecovery(boolean debug) throws Exception {
92.112 - return Ada95ASTParser.super.error_recovery(debug);
92.113 - }
92.114 - }
92.115 -
92.116 - /**
92.117 - * Attempt to recover from a syntax error. This returns false if recovery fails,
92.118 - * true if it succeeds.
92.119 - * @param debug should we produce debugging messages as we parse.
92.120 - */
92.121 - @Override
92.122 - protected boolean error_recovery(boolean debug) throws java.lang.Exception {
92.123 - return errorStrategy.errorRecovery(debug);
92.124 - }
92.125 -
92.126 - /**
92.127 - * Report a non fatal error (or warning). This method takes a message
92.128 - * string and an additional object (to be used by specializations implemented in subclasses).
92.129 - * The super class prints the message to System.err.
92.130 - * @param message an error message.
92.131 - * @param info an extra object reserved for use by specialized subclasses.
92.132 - */
92.133 - @Override
92.134 - public void report_error(String message, Object info) {
92.135 - System.out.print("report_eror" + message);
92.136 - }
92.137 -
92.138 - /**
92.139 - * This method is called when a syntax error has been detected and recovery is about to be invoked.
92.140 - * The super class just emit a "Syntax error" error message.
92.141 - * @param cur_token the current lookahead Symbol.
92.142 - */
92.143 - @Override
92.144 - public void syntax_error(java_cup.runtime.Symbol cur_token) {
92.145 - java_cup.runtime.Symbol symbol = (java_cup.runtime.Symbol)stack.peek();
92.146 - int state = symbol.parse_state;
92.147 - short[] rowOfProbe = action_tab[state];
92.148 - if (errorHandler != null) {
92.149 - errorHandler.handleError(ParserErrorHandler.Type.SYNTAX_ERROR, rowOfProbe, cur_token, symbol);
92.150 - }
92.151 - }
92.152 -
92.153 - /**
92.154 - * This method is called when a syntax error has been detected during action.
92.155 - * @param message an error message.
92.156 - */
92.157 - public void message_error(String message) {
92.158 - java_cup.runtime.Symbol symbol = (java_cup.runtime.Symbol)stack.peek();
92.159 - if (errorHandler != null) {
92.160 - errorHandler.handleError(ParserErrorHandler.Type.SYNTAX_ERROR, symbol, message);
92.161 - }
92.162 - }
92.163 -
92.164 - /**
92.165 - * Report a fatal error. This method takes a message string and an additional object
92.166 - * (to be used by specializations implemented in subclasses).
92.167 - * The super class reports the error then throws an exception.
92.168 - * @param message an error message.
92.169 - * @param info an extra object reserved for use by specialized subclasses.
92.170 - */
92.171 - @Override
92.172 - public void report_fatal_error(String message, Object info) throws Exception {
92.173 - if (errorHandler != null) {
92.174 - errorHandler.handleError(ParserErrorHandler.Type.FATAL_PARSER_ERROR, null, cur_token, null);
92.175 - }
92.176 - }
92.177 -
92.178 - @Override
92.179 - protected int error_sync_size() {
92.180 - return 1;
92.181 - }
92.182 -
92.183 -:}
92.184 -
92.185 -
92.186 -/*********************************************************
92.187 - * *
92.188 - * Ada 95 (LALR) AST Parser, based on: *
92.189 - * *
92.190 - * 1. Ada Reference Manual *
92.191 - * ISO/IEC 8652:1995(E) *
92.192 - * with Technical Corrigendum 1 *
92.193 - * Language and Standard Libraries *
92.194 - * Copyright © 1992,1993,1994,1995 Intermetrics, Inc. *
92.195 - * Copyright © 2000 The MITRE Corporation, Inc. *
92.196 - * 2. http://www.adaic.com/standards/95lrm/grammar9x.y *
92.197 - * *
92.198 - * Author: Andrea Lucarelli *
92.199 - * Parser Generator: JavCup *
92.200 - * *
92.201 - *********************************************************/
92.202 -
92.203 -/*************************
92.204 - * JavaCup Terminals *
92.205 - *************************/
92.206 -
92.207 -//
92.208 -// Ada 95 keywords
92.209 -//
92.210 -terminal ABORT;
92.211 -terminal ABS;
92.212 -terminal ABSTRACT;
92.213 -terminal ACCESS;
92.214 -terminal ACCEPT;
92.215 -terminal ALIASED;
92.216 -terminal ALL;
92.217 -terminal AND;
92.218 -terminal ARRAY;
92.219 -terminal AT;
92.220 -terminal BEGIN;
92.221 -terminal BODY;
92.222 -terminal CONSTANT;
92.223 -terminal CASE;
92.224 -terminal DECLARE;
92.225 -terminal DELAY;
92.226 -terminal DELTA;
92.227 -terminal DIGITS;
92.228 -terminal DO;
92.229 -terminal ELSE;
92.230 -terminal ELSIF;
92.231 -terminal END;
92.232 -terminal ENTRY;
92.233 -terminal EXCEPTION;
92.234 -terminal EXIT;
92.235 -terminal FOR;
92.236 -terminal FUNCTION;
92.237 -terminal GENERIC;
92.238 -terminal GOTO;
92.239 -terminal IF;
92.240 -terminal IN;
92.241 -terminal IS;
92.242 -terminal LIMITED;
92.243 -terminal LOOP;
92.244 -terminal MOD;
92.245 -terminal NEW;
92.246 -terminal NOT;
92.247 -terminal NULL;
92.248 -terminal OF;
92.249 -terminal OR;
92.250 -terminal OTHERS;
92.251 -terminal OUT;
92.252 -terminal PACKAGE;
92.253 -terminal PRAGMA;
92.254 -terminal PRIVATE;
92.255 -terminal PROCEDURE;
92.256 -terminal PROTECTED;
92.257 -terminal RETURN;
92.258 -terminal REVERSE;
92.259 -terminal RAISE;
92.260 -terminal RANGE;
92.261 -terminal RECORD;
92.262 -terminal REM;
92.263 -terminal RENAMES;
92.264 -terminal REQUEUE;
92.265 -terminal SELECT;
92.266 -terminal SEPARATE;
92.267 -terminal SUBTYPE;
92.268 -terminal TAGGED;
92.269 -terminal TASK;
92.270 -terminal TERMINATE;
92.271 -terminal THEN;
92.272 -terminal TYPE;
92.273 -terminal UNTIL;
92.274 -terminal USE;
92.275 -terminal WHEN;
92.276 -terminal WHILE;
92.277 -terminal WITH;
92.278 -terminal XOR;
92.279 -
92.280 -// 2.2 Lexical Elements, Separators, and Delimiters
92.281 -
92.282 -//
92.283 -// delimiters
92.284 -//
92.285 -terminal AMP;
92.286 -terminal TICK;
92.287 -terminal LPAREN;
92.288 -terminal RPAREN;
92.289 -terminal STAR;
92.290 -terminal PLUS;
92.291 -terminal COMMA;
92.292 -terminal MINUS;
92.293 -terminal DOT;
92.294 -terminal SLASH;
92.295 -terminal COLON;
92.296 -terminal SEMICOLON;
92.297 -terminal GT;
92.298 -terminal EQ;
92.299 -terminal LT;
92.300 -terminal BAR;
92.301 -
92.302 -//
92.303 -// compound delimiters
92.304 -//
92.305 -terminal ARROW;
92.306 -terminal DOT_DOT;
92.307 -terminal EXPON;
92.308 -terminal ASSIGNMENT;
92.309 -terminal INEQ;
92.310 -terminal GTEQ;
92.311 -terminal LTEQ;
92.312 -terminal LTLT;
92.313 -terminal GTGT;
92.314 -terminal BOX;
92.315 -
92.316 -//
92.317 -// others tokens
92.318 -//
92.319 -// ??? terminal String OPERATOR_SYMBOL;
92.320 -terminal String CHAR_LITERAL; // 2.1 Character Set
92.321 -terminal String IDENTIFIER; // 2.3 Identifiers
92.322 -terminal String DECIMAL_LITERAL; // 2.4.1 Decimal Literals
92.323 -terminal String BASED_LITERAL; // 2.4.2 Based Literals
92.324 -terminal String STRING_LITERAL; // 2.6 String Literals
92.325 -
92.326 -
92.327 -/*************************
92.328 - * JavaCup Non terminals *
92.329 - *************************/
92.330 -
92.331 -// 3.1 Declarations
92.332 -non terminal Statement declaration;
92.333 -non terminal List fields_declaration;
92.334 -non terminal Statement type_declaration;
92.335 -non terminal Statement subprog_declaration;
92.336 -non terminal Identifier defining_identifier;
92.337 -
92.338 -// 3.11 Declarative Parts
92.339 -non terminal List declarative_items_opt;
92.340 -non terminal List declarative_item_list;
92.341 -non terminal Statement declarative_item;
92.342 -non terminal List declarative_part;
92.343 -non terminal List declarative_item_or_body_s1;
92.344 -non terminal List private_part;
92.345 -non terminal Statement proper_body;
92.346 -non terminal Statement task_body;
92.347 -
92.348 -// 3.2.1 Type Declarations
92.349 -non terminal Expression type_definition;
92.350 -
92.351 -// 3.2.2 Subtype Declarations
92.352 -non terminal Statement subtype_declaration;
92.353 -non terminal TypeName subtype_indication;
92.354 -
92.355 -// 3.3.1 Object Declarations
92.356 -non terminal List object_declaration;
92.357 -non terminal List defining_identifier_list;
92.358 -non terminal Variable.Kind object_qualifier_opt;
92.359 -
92.360 -// 3.3.2 Number Declarations
92.361 -non terminal List number_declaration;
92.362 -
92.363 -// 4.1 Names
92.364 -non terminal String name;
92.365 -non terminal String simple_name;
92.366 -
92.367 -// 4.1.3 Selected Components
92.368 -non terminal String selected_component;
92.369 -
92.370 -// 4.4 Expressions
92.371 -non terminal Expression expression;
92.372 -non terminal Expression relation;
92.373 -non terminal Expression simple_expression;
92.374 -non terminal Expression term;
92.375 -non terminal Expression factor;
92.376 -non terminal Expression primary;
92.377 -
92.378 -// 4.5 Operators and Expression Evaluation
92.379 -non terminal String logical_operator;
92.380 -non terminal String relational_operator;
92.381 -non terminal UnaryOperation.Operator binary_adding_operator;
92.382 -non terminal UnaryOperation.Operator unary_adding_operator;
92.383 -non terminal String multiplying_operator;
92.384 -
92.385 -// 4.7 Qualified Expressions
92.386 -non terminal Expression qualified_expression;
92.387 -
92.388 -// 5.1 Simple and Compound Statements - Sequences of Statements
92.389 -non terminal List sequence_of_statements;
92.390 -non terminal Statement simple_statement;
92.391 -non terminal Statement compound_statement;
92.392 -non terminal Statement null_statement;
92.393 -
92.394 -// 5.2 Assignment Statements
92.395 -non terminal Statement assignment_statement;
92.396 -
92.397 -// 5.3 If Statements
92.398 -non terminal IfStatement if_statement;
92.399 -non terminal List[] cond_clause_s;
92.400 -non terminal Expression condition;
92.401 -non terminal Block else_opt;
92.402 -
92.403 -// 5.4 Case Statements
92.404 -non terminal CaseStatement case_statement;
92.405 -non terminal List alternative_s;
92.406 -non terminal CaseWhen alternative;
92.407 -
92.408 -// 5.5 Loop Statements
92.409 -non terminal LoopStatement loop_statement;
92.410 -non terminal Block basic_loop;
92.411 -non terminal Expression iteration;
92.412 -
92.413 -// 5.6 Block Statements
92.414 -non terminal BlockStatement block_statement;
92.415 -non terminal Block block_declarative;
92.416 -non terminal Block block_body;
92.417 -
92.418 -// 5.7 Exit Statements
92.419 -non terminal Statement exit_statement;
92.420 -non terminal String name_opt;
92.421 -
92.422 -// 5.8 Goto Statements
92.423 -non terminal Statement goto_statement;
92.424 -
92.425 -// 6.1 Subprogram Declarations
92.426 -non terminal SubprogramSpecification subprogram_specification;
92.427 -non terminal SubprogramSpecification generic_subp_inst;
92.428 -non terminal MethodDeclaration subprogram_body;
92.429 -non terminal List param_s;
92.430 -non terminal List formal_part_opt;
92.431 -non terminal List formal_part;
92.432 -non terminal List param;
92.433 -non terminal FormalParameter.Mode mode;
92.434 -non terminal String designator;
92.435 -non terminal String operator_symbol;
92.436 -
92.437 -// 6.5 Return Statements
92.438 -non terminal Statement return_statement;
92.439 -
92.440 -// 7.1 Package Specifications and Declarations
92.441 -non terminal Statement package_declaration;
92.442 -non terminal Statement package_specification;
92.443 -
92.444 -// 7.2 Package Bodies
92.445 -non terminal Statement package_body;
92.446 -non terminal Statement body;
92.447 -
92.448 -// 7.3 Private Types and Private Extensions
92.449 -non terminal PrivateType private_type_declaration;
92.450 -non terminal Integer tagged_opt;
92.451 -non terminal Integer limited_opt;
92.452 -
92.453 -// 8.4 Use Clauses
92.454 -non terminal Statement use_clause;
92.455 -non terminal List package_name_list;
92.456 -non terminal List subtype_mark_list;
92.457 -
92.458 -// 8.5 Renaming Declarations
92.459 -non terminal Statement renaming_declaration;
92.460 -non terminal Statement rename_unit;
92.461 -
92.462 -// 9.4 Protected Units and Protected Objects
92.463 -non terminal Statement protected_body;
92.464 -
92.465 -// 9.6 Delay Statements, Duration, and Time
92.466 -non terminal Statement delay_statement;
92.467 -
92.468 -// 9.8 Abort of a Task - Abort of a Sequence of Statements
92.469 -non terminal Statement abort_statement;
92.470 -non terminal List task_name_list;
92.471 -
92.472 -// 10.1.1 Compilation Units - Library Units
92.473 -non terminal Program compilation;
92.474 -non terminal List compilation_units;
92.475 -non terminal Statement compilation_unit;
92.476 -non terminal Statement unit;
92.477 -
92.478 -// 10.1.2 Context Clauses - With Clauses
92.479 -non terminal Statement context_clause;
92.480 -non terminal Statement with_clause;
92.481 -non terminal List library_unit_name_list;
92.482 -
92.483 -// 10.1.3 Subunits of Compilation Units
92.484 -non terminal Statement body_stub;
92.485 -
92.486 -// 11.3 Raise Statements
92.487 -non terminal Statement raise_statement;
92.488 -
92.489 -// 12.1 Generic Declarations
92.490 -non terminal Statement generic_declaration;
92.491 -
92.492 -// 13.8 Machine Code Insertions
92.493 -non terminal Statement code_statement;
92.494 -
92.495 -
92.496 -// TBD sections
92.497 -non terminal String compound_name;
92.498 -non terminal String compound_name_opt;
92.499 -non terminal TypeName object_subtype_def;
92.500 -non terminal Expression init_opt;
92.501 -non terminal Statement type_decl;
92.502 -non terminal Expression type_completion;
92.503 -non terminal String subtype_mark;
92.504 -non terminal List handled_stmt_s;
92.505 -non terminal Statement statement;
92.506 -non terminal Statement subunit;
92.507 -non terminal String id_opt;
92.508 -non terminal Statement unlabeled;
92.509 -non terminal Expression literal;
92.510 -non terminal Expression parenthesized_primary;
92.511 -non terminal Expression when_opt;
92.512 -non terminal Statement procedure_call_statement;
92.513 -non terminal String used_char;
92.514 -non terminal Expression choice_s;
92.515 -non terminal String label_opt;
92.516 -non terminal String attribute;
92.517 -non terminal String indexed_comp; // TODO: must be change it
92.518 -non terminal Expression value_s;
92.519 -non terminal Expression discrete_range;
92.520 -non terminal Expression range;
92.521 -
92.522 -// TBD RM sections and types
92.523 -non terminal pragma;
92.524 -non terminal pragma_arg_s;
92.525 -non terminal pragma_arg;
92.526 -non terminal pragma_s;
92.527 -non terminal task_decl;
92.528 -non terminal prot_decl;
92.529 -non terminal exception_decl;
92.530 -non terminal discrim_part_opt;
92.531 -non terminal discrim_part;
92.532 -non terminal enumeration_type;
92.533 -non terminal integer_type;
92.534 -non terminal real_type;
92.535 -non terminal array_type;
92.536 -non terminal record_type;
92.537 -non terminal access_type;
92.538 -non terminal derived_type;
92.539 -non terminal constraint;
92.540 -non terminal range_constraint;
92.541 -non terminal decimal_digits_constraint;
92.542 -non terminal range_constr_opt;
92.543 -non terminal record_def;
92.544 -non terminal enum_id_s;
92.545 -non terminal enum_id;
92.546 -non terminal range_spec;
92.547 -non terminal range_spec_opt;
92.548 -non terminal float_type;
92.549 -non terminal fixed_type;
92.550 -non terminal unconstr_array_type;
92.551 -non terminal constr_array_type;
92.552 -non terminal index_s;
92.553 -non terminal index;
92.554 -non terminal component_subtype_def;
92.555 -non terminal aliased_opt;
92.556 -non terminal iter_index_constraint;
92.557 -non terminal iter_discrete_range_s;
92.558 -non terminal comp_list;
92.559 -non terminal comp_decl_s;
92.560 -non terminal comp_decl;
92.561 -non terminal variant_part_opt;
92.562 -non terminal variant_part;
92.563 -non terminal discrim_spec_s;
92.564 -non terminal discrim_spec;
92.565 -non terminal access_opt;
92.566 -non terminal variant_s;
92.567 -non terminal variant;
92.568 -non terminal choice;
92.569 -non terminal discrete_with_range;
92.570 -non terminal prot_opt;
92.571 -non terminal rep_spec;
92.572 -non terminal declarative_item_or_body;
92.573 -non terminal attribute_id;
92.574 -non terminal value;
92.575 -non terminal comp_assoc;
92.576 -non terminal aggregate;
92.577 -non terminal value_s_2;
92.578 -non terminal short_circuit;
92.579 -non terminal membership;
92.580 -non terminal allocator;
92.581 -non terminal label;
92.582 -non terminal requeue_stmt;
92.583 -non terminal accept_stmt;
92.584 -non terminal select_stmt;
92.585 -non terminal iter_part;
92.586 -non terminal reverse_opt;
92.587 -non terminal except_handler_part_opt;
92.588 -non terminal except_handler_part;
92.589 -non terminal generic_package_instantiation;
92.590 -non terminal body_opt;
92.591 -non terminal generic_formal_part;
92.592 -non terminal task_spec;
92.593 -non terminal task_def;
92.594 -non terminal entry_decl_s;
92.595 -non terminal rep_spec_s;
92.596 -non terminal task_private_opt;
92.597 -non terminal prot_spec;
92.598 -non terminal prot_def;
92.599 -non terminal prot_op_decl_s;
92.600 -non terminal prot_private_opt;
92.601 -non terminal prot_elem_decl_s;
92.602 -non terminal prot_op_decl;
92.603 -non terminal entry_decl;
92.604 -non terminal prot_elem_decl;
92.605 -non terminal prot_op_body_s;
92.606 -non terminal prot_op_body;
92.607 -non terminal entry_body;
92.608 -non terminal entry_body_part;
92.609 -non terminal accept_hdr;
92.610 -non terminal entry_call;
92.611 -non terminal entry_name;
92.612 -non terminal select_wait;
92.613 -non terminal async_select;
92.614 -non terminal timed_entry_call;
92.615 -non terminal cond_entry_call;
92.616 -non terminal guarded_select_alt;
92.617 -non terminal or_select;
92.618 -non terminal select_alt;
92.619 -non terminal stmts_opt;
92.620 -non terminal delay_or_entry_alt;
92.621 -non terminal private_opt;
92.622 -non terminal exception_handler;
92.623 -non terminal except_choice_s;
92.624 -non terminal except_choice;
92.625 -non terminal generic_formal;
92.626 -non terminal generic_discrim_part_opt;
92.627 -non terminal generic_type_def;
92.628 -non terminal subp_default;
92.629 -non terminal generic_derived_type;
92.630 -non terminal generic_inst;
92.631 -non terminal attrib_def;
92.632 -non terminal record_type_spec;
92.633 -non terminal address_spec;
92.634 -non terminal align_opt;
92.635 -non terminal comp_loc_s;
92.636 -
92.637 -/*************************
92.638 - * JavaCup precedence *
92.639 - *************************/
92.640 -
92.641 -//precedence left OR;
92.642 -//precedence left XOR;
92.643 -//precedence left AND;
92.644 -
92.645 -//precedence left SEMICOLON;
92.646 -
92.647 -//precedence left ELSIF;
92.648 -//precedence left ELSE;
92.649 -//precedence left END IF;
92.650 -
92.651 -///////////////////////////////////////////////////////////////////////////////
92.652 -// start with root symbol
92.653 -//
92.654 -start with compilation;
92.655 -
92.656 -/*****************
92.657 - * *
92.658 - * Ada 95 syntax *
92.659 - * *
92.660 - *****************/
92.661 -
92.662 -///////////////////////////////////////////////////////////////////////////////
92.663 -// 2.8 Pragmas
92.664 -//
92.665 -pragma ::= PRAGMA IDENTIFIER SEMICOLON
92.666 - | PRAGMA simple_name LPAREN pragma_arg_s RPAREN SEMICOLON
92.667 - ;
92.668 -
92.669 -pragma_arg_s ::= pragma_arg
92.670 - | pragma_arg_s COMMA pragma_arg
92.671 - ;
92.672 -
92.673 -pragma_arg ::= expression
92.674 - | simple_name ARROW expression
92.675 - ;
92.676 -
92.677 -pragma_s ::=
92.678 - | pragma_s pragma
92.679 - ;
92.680 -
92.681 -///////////////////////////////////////////////////////////////////////////////
92.682 -// 3.1 Declarations
92.683 -//
92.684 -fields_declaration ::=
92.685 -object_declaration:statement
92.686 -{:
92.687 - RESULT = statement;
92.688 -:}
92.689 -| number_declaration:statement
92.690 -{:
92.691 - RESULT = statement;
92.692 -:}
92.693 -;
92.694 -
92.695 -type_declaration ::=
92.696 -type_decl:statement
92.697 -{:
92.698 - RESULT = statement;
92.699 -:}
92.700 -| subtype_declaration:statement
92.701 -{:
92.702 - RESULT = statement;
92.703 -:}
92.704 -;
92.705 -
92.706 -declaration ::=
92.707 -task_decl
92.708 -| prot_decl
92.709 -| exception_decl
92.710 -| renaming_declaration:statement
92.711 -{:
92.712 - RESULT = statement;
92.713 -:}
92.714 -| generic_declaration:statement
92.715 -{:
92.716 - RESULT = statement;
92.717 -:}
92.718 -| body_stub:statement
92.719 -{:
92.720 - RESULT = statement;
92.721 -:}
92.722 -| error:theError SEMICOLON // error statement
92.723 -{:
92.724 - ASTError error = new ASTError(theErrorleft, theErrorright);
92.725 - RESULT = error;
92.726 -:}
92.727 -;
92.728 -
92.729 -defining_identifier ::=
92.730 -IDENTIFIER:id
92.731 -{:
92.732 - Identifier identifier = new Identifier(idleft, idright, id);
92.733 - RESULT = identifier;
92.734 -:}
92.735 -;
92.736 -
92.737 -///////////////////////////////////////////////////////////////////////////////
92.738 -// 3.3.1 Object Declarations
92.739 -//
92.740 -object_declaration ::=
92.741 -defining_identifier_list:identifierList COLON object_qualifier_opt:varKind object_subtype_def:subtype init_opt:init SEMICOLON
92.742 -{:
92.743 - List list = new LinkedList();
92.744 - for (Object identifier : identifierList) {
92.745 - Variable variable = new Variable (((Identifier)identifier).getStartOffset(), ((Identifier)identifier).getEndOffset(), (Identifier)identifier, varKind, subtype);
92.746 - list.add(new ASTNode[] {variable, init});
92.747 - }
92.748 - RESULT = list;
92.749 -:}
92.750 -;
92.751 -
92.752 -defining_identifier_list ::=
92.753 -defining_identifier:identifier
92.754 -{:
92.755 - List identifierList = new LinkedList();
92.756 - identifierList.add(identifier);
92.757 - RESULT = identifierList;
92.758 -:}
92.759 -| defining_identifier_list:identifierList COMMA defining_identifier:identifier
92.760 -{:
92.761 - identifierList.add(identifier);
92.762 - RESULT = identifierList;
92.763 -:}
92.764 -;
92.765 -
92.766 -object_qualifier_opt ::=
92.767 -{:
92.768 - RESULT = Variable.Kind.DEFAULT;
92.769 -:}
92.770 -| ALIASED
92.771 -{:
92.772 - RESULT = Variable.Kind.ALIASED;
92.773 -:}
92.774 -| CONSTANT
92.775 -{:
92.776 - RESULT = Variable.Kind.CONSTANT;
92.777 -:}
92.778 -| ALIASED CONSTANT
92.779 -{:
92.780 - RESULT = Variable.Kind.ALIASED_CONSTANT;
92.781 -:}
92.782 -;
92.783 -
92.784 -object_subtype_def ::=
92.785 -subtype_indication:subtype
92.786 -{:
92.787 - RESULT = subtype;
92.788 -:}
92.789 -| array_type:array
92.790 -;
92.791 -
92.792 -init_opt ::=
92.793 -{:
92.794 - RESULT = null;
92.795 -:}
92.796 -| ASSIGNMENT expression:expr
92.797 -{:
92.798 - RESULT = expr;
92.799 -:}
92.800 -;
92.801 -
92.802 -///////////////////////////////////////////////////////////////////////////////
92.803 -// 3.3.2 Number Declarations
92.804 -//
92.805 -number_declaration ::=
92.806 -defining_identifier_list:identifierList COLON CONSTANT ASSIGNMENT expression:init SEMICOLON
92.807 -{:
92.808 - List list = new LinkedList();
92.809 - for (Object identifier : identifierList) {
92.810 - Variable variable = new Variable (((Identifier)identifier).getStartOffset(), ((Identifier)identifier).getEndOffset(), (Identifier)identifier, Variable.Kind.CONSTANT);
92.811 - list.add(new ASTNode[] {variable, init});
92.812 - }
92.813 - RESULT = list;
92.814 -:}
92.815 -;
92.816 -
92.817 -type_decl ::=
92.818 -TYPE:token defining_identifier:identifier discrim_part_opt type_completion:typeCompletion SEMICOLON:end
92.819 -{:
92.820 - TypeDeclaration type = new TypeDeclaration (tokenleft, endright, identifier, typeCompletion);
92.821 - RESULT = type;
92.822 -:}
92.823 -;
92.824 -
92.825 -discrim_part_opt ::=
92.826 - | discrim_part
92.827 - | LPAREN BOX RPAREN
92.828 - ;
92.829 -
92.830 -type_completion ::=
92.831 -// empty
92.832 -{:
92.833 - RESULT = null;
92.834 -:}
92.835 -| IS type_definition:typeDef
92.836 -{:
92.837 - RESULT = typeDef;
92.838 -:}
92.839 -;
92.840 -
92.841 -type_definition ::=
92.842 -enumeration_type
92.843 -| integer_type
92.844 -| real_type
92.845 -| array_type
92.846 -| record_type
92.847 -| access_type
92.848 -| derived_type
92.849 -| private_type_declaration:privateType
92.850 -{:
92.851 - RESULT = privateType;
92.852 -:}
92.853 -;
92.854 -
92.855 -///////////////////////////////////////////////////////////////////////////////
92.856 -// 3.2.2 Subtype Declarations
92.857 -//
92.858 -subtype_declaration ::=
92.859 -SUBTYPE:token defining_identifier:identifier IS subtype_indication:subtypeIndication SEMICOLON:end
92.860 -{:
92.861 - SubtypeDeclaration type = new SubtypeDeclaration (tokenleft, endright, identifier, subtypeIndication);
92.862 - RESULT = type;
92.863 -:}
92.864 -;
92.865 -
92.866 -subtype_indication ::=
92.867 -name:name constraint
92.868 -{:
92.869 - Identifier identifier = new Identifier(nameleft, nameright, name);
92.870 - TypeName type = new TypeName (nameleft, nameright, identifier);
92.871 - RESULT = type;
92.872 -:}
92.873 -| name:name
92.874 -{:
92.875 - Identifier identifier = new Identifier(nameleft, nameright, name);
92.876 - TypeName type = new TypeName (nameleft, nameright, identifier);
92.877 - RESULT = type;
92.878 -:}
92.879 -;
92.880 -
92.881 -constraint ::= range_constraint
92.882 - | decimal_digits_constraint
92.883 - ;
92.884 -
92.885 -decimal_digits_constraint ::= DIGITS expression range_constr_opt
92.886 - ;
92.887 -
92.888 -derived_type ::= NEW subtype_indication
92.889 - | NEW subtype_indication WITH PRIVATE
92.890 - | NEW subtype_indication WITH record_def
92.891 - | ABSTRACT NEW subtype_indication WITH PRIVATE
92.892 - | ABSTRACT NEW subtype_indication WITH record_def
92.893 - ;
92.894 -
92.895 -range_constraint ::= RANGE range
92.896 - ;
92.897 -
92.898 -range ::=
92.899 -simple_expression:simple_expr DOT_DOT simple_expression
92.900 -{:
92.901 - RESULT = simple_expr;
92.902 -:}
92.903 -| name TICK RANGE
92.904 -| name:name TICK RANGE LPAREN expression:expr RPAREN
92.905 -{:
92.906 - RESULT = expr;
92.907 -:}
92.908 -;
92.909 -
92.910 -enumeration_type ::= LPAREN enum_id_s RPAREN
92.911 - ;
92.912 -
92.913 -enum_id_s ::= enum_id
92.914 - | enum_id_s COMMA enum_id
92.915 - ;
92.916 -
92.917 -enum_id ::= IDENTIFIER
92.918 - | CHAR_LITERAL
92.919 - ;
92.920 -
92.921 -integer_type ::= range_spec
92.922 - | MOD expression
92.923 - ;
92.924 -
92.925 -
92.926 -range_spec ::= range_constraint
92.927 - ;
92.928 -
92.929 -range_spec_opt ::=
92.930 - | range_spec
92.931 - ;
92.932 -
92.933 -real_type ::= float_type
92.934 - | fixed_type
92.935 - ;
92.936 -
92.937 -float_type ::= DIGITS expression range_spec_opt
92.938 - ;
92.939 -
92.940 -fixed_type ::= DELTA expression range_spec
92.941 - | DELTA expression DIGITS expression range_spec_opt
92.942 - ;
92.943 -
92.944 -array_type ::= unconstr_array_type
92.945 - | constr_array_type
92.946 - ;
92.947 -
92.948 -unconstr_array_type ::= ARRAY LPAREN index_s RPAREN OF component_subtype_def
92.949 - ;
92.950 -
92.951 -constr_array_type ::= ARRAY iter_index_constraint OF component_subtype_def
92.952 - ;
92.953 -
92.954 -component_subtype_def ::= aliased_opt subtype_indication
92.955 - ;
92.956 -
92.957 -aliased_opt ::=
92.958 - | ALIASED
92.959 - ;
92.960 -
92.961 -index_s ::= index
92.962 - | index_s COMMA index
92.963 - ;
92.964 -
92.965 -index ::= name RANGE BOX
92.966 - ;
92.967 -
92.968 -iter_index_constraint ::= LPAREN iter_discrete_range_s RPAREN
92.969 - ;
92.970 -
92.971 -iter_discrete_range_s ::= discrete_range
92.972 - | iter_discrete_range_s COMMA discrete_range
92.973 - ;
92.974 -
92.975 -discrete_range ::=
92.976 -name range_constr_opt
92.977 -| range:range
92.978 -{:
92.979 - RESULT = range;
92.980 -:}
92.981 -;
92.982 -
92.983 -range_constr_opt ::=
92.984 - | range_constraint
92.985 - ;
92.986 -
92.987 -record_type ::= tagged_opt limited_opt record_def
92.988 - ;
92.989 -
92.990 -record_def ::= RECORD pragma_s comp_list END RECORD
92.991 - | NULL RECORD
92.992 - ;
92.993 -
92.994 -tagged_opt ::=
92.995 -{:
92.996 - RESULT = 0;
92.997 -:}
92.998 -| TAGGED
92.999 -{:
92.1000 - RESULT = Ada95ASTParser.TAGGED;
92.1001 -:}
92.1002 -| ABSTRACT TAGGED
92.1003 -{:
92.1004 - RESULT = Ada95ASTParser.TAGGED + Ada95ASTParser.ABSTRACT;
92.1005 -:}
92.1006 -;
92.1007 -
92.1008 -comp_list ::= comp_decl_s variant_part_opt
92.1009 - | variant_part pragma_s
92.1010 - | NULL SEMICOLON pragma_s
92.1011 - ;
92.1012 -
92.1013 -comp_decl_s ::= comp_decl
92.1014 - | comp_decl_s pragma_s comp_decl
92.1015 - ;
92.1016 -
92.1017 -variant_part_opt ::= pragma_s
92.1018 - | pragma_s variant_part pragma_s
92.1019 - ;
92.1020 -
92.1021 -comp_decl ::=
92.1022 -defining_identifier_list COLON component_subtype_def init_opt SEMICOLON
92.1023 -| error:theError SEMICOLON
92.1024 -{:
92.1025 - ASTError error = new ASTError(theErrorleft, theErrorright);
92.1026 - RESULT = error;
92.1027 -:}
92.1028 -;
92.1029 -
92.1030 -discrim_part ::= LPAREN discrim_spec_s RPAREN
92.1031 - ;
92.1032 -
92.1033 -discrim_spec_s ::= discrim_spec
92.1034 - | discrim_spec_s SEMICOLON discrim_spec
92.1035 - ;
92.1036 -
92.1037 -discrim_spec ::=
92.1038 -defining_identifier_list COLON access_opt subtype_mark init_opt
92.1039 -| error:theError // error statement
92.1040 -{:
92.1041 - ASTError error = new ASTError(theErrorleft, theErrorright);
92.1042 - RESULT = error;
92.1043 -:}
92.1044 -;
92.1045 -
92.1046 -access_opt ::=
92.1047 - | ACCESS
92.1048 - ;
92.1049 -
92.1050 -variant_part ::= CASE simple_name IS pragma_s variant_s END CASE SEMICOLON
92.1051 - ;
92.1052 -
92.1053 -variant_s ::= variant
92.1054 - | variant_s variant
92.1055 - ;
92.1056 -
92.1057 -variant ::= WHEN choice_s ARROW pragma_s comp_list
92.1058 - ;
92.1059 -
92.1060 -choice_s ::= choice
92.1061 - | choice_s BAR choice
92.1062 - ;
92.1063 -
92.1064 -choice ::= expression
92.1065 - | discrete_with_range
92.1066 - | OTHERS
92.1067 - ;
92.1068 -
92.1069 -discrete_with_range ::= name range_constraint
92.1070 - | range
92.1071 - ;
92.1072 -
92.1073 -access_type ::= ACCESS subtype_indication
92.1074 - | ACCESS CONSTANT subtype_indication
92.1075 - | ACCESS ALL subtype_indication
92.1076 - | ACCESS prot_opt PROCEDURE formal_part_opt
92.1077 - | ACCESS prot_opt FUNCTION formal_part_opt RETURN subtype_mark
92.1078 - ;
92.1079 -
92.1080 -prot_opt ::=
92.1081 - | PROTECTED
92.1082 - ;
92.1083 -
92.1084 -///////////////////////////////////////////////////////////////////////////////
92.1085 -// 3.11 Declarative Parts
92.1086 -//
92.1087 -declarative_part ::=
92.1088 -{:
92.1089 - RESULT = new LinkedList();
92.1090 -:}
92.1091 -| declarative_item_or_body_s1:statement
92.1092 -{:
92.1093 - RESULT = statement;
92.1094 -:}
92.1095 -;
92.1096 -
92.1097 -declarative_items_opt ::=
92.1098 -// empty
92.1099 -{:
92.1100 - RESULT = new LinkedList();
92.1101 -:}
92.1102 -| declarative_item_list:declaritiveItemList
92.1103 -{:
92.1104 - RESULT = declaritiveItemList;
92.1105 -:}
92.1106 -;
92.1107 -
92.1108 -declarative_item_list ::=
92.1109 -declarative_item:declaritiveItem
92.1110 -{:
92.1111 - List declaritiveItemList = new LinkedList();
92.1112 - declaritiveItemList.add(declaritiveItem);
92.1113 - RESULT = declaritiveItemList;
92.1114 -:}
92.1115 -| declarative_item_list:declaritiveItemList declarative_item:declaritiveItem
92.1116 -{:
92.1117 - declaritiveItemList.add(declaritiveItem);
92.1118 - RESULT = declaritiveItemList;
92.1119 -:}
92.1120 -;
92.1121 -
92.1122 -declarative_item ::=
92.1123 -fields_declaration:list
92.1124 -{:
92.1125 - FieldsDeclaration fieldsDeclaration = new FieldsDeclaration(listleft, listright, list);
92.1126 - RESULT = fieldsDeclaration;
92.1127 -:}
92.1128 -| type_declaration:statement
92.1129 -{:
92.1130 - RESULT = statement;
92.1131 -:}
92.1132 -| subprog_declaration:statement
92.1133 -{:
92.1134 - RESULT = statement;
92.1135 -:}
92.1136 -| package_declaration:statement
92.1137 -{:
92.1138 - RESULT = statement;
92.1139 -:}
92.1140 -| declaration:statement // todo: to be split
92.1141 -{:
92.1142 - RESULT = statement;
92.1143 -:}
92.1144 -| use_clause:statement
92.1145 -{:
92.1146 - RESULT = statement;
92.1147 -:}
92.1148 -| rep_spec
92.1149 -| pragma
92.1150 -;
92.1151 -
92.1152 -declarative_item_or_body_s1 ::=
92.1153 -declarative_item_or_body:declaritiveItem
92.1154 -{:
92.1155 - List declaritiveItemList = new LinkedList();
92.1156 - declaritiveItemList.add(declaritiveItem);
92.1157 - RESULT = declaritiveItemList;
92.1158 -:}
92.1159 -| declarative_item_or_body_s1:declaritiveItemList declarative_item_or_body:declaritiveItem
92.1160 -{:
92.1161 - declaritiveItemList.add(declaritiveItem);
92.1162 - RESULT = declaritiveItemList;
92.1163 -:}
92.1164 -;
92.1165 -
92.1166 -declarative_item_or_body ::=
92.1167 -body:statement
92.1168 -{:
92.1169 - RESULT = statement;
92.1170 -:}
92.1171 -| declarative_item:statement
92.1172 -{:
92.1173 - RESULT = statement;
92.1174 -:}
92.1175 -;
92.1176 -
92.1177 -body ::=
92.1178 -subprogram_body:statement
92.1179 -{:
92.1180 - RESULT = statement;
92.1181 -:}
92.1182 -| package_body:statement
92.1183 -{:
92.1184 - RESULT = statement;
92.1185 -:}
92.1186 -| task_body:statement
92.1187 -{:
92.1188 - RESULT = statement;
92.1189 -:}
92.1190 -| protected_body:statement
92.1191 -{:
92.1192 - RESULT = statement;
92.1193 -:}
92.1194 -;
92.1195 -
92.1196 -proper_body ::=
92.1197 -subprogram_body:statement
92.1198 -{:
92.1199 - RESULT = statement;
92.1200 -:}
92.1201 -| package_body:statement
92.1202 -{:
92.1203 - RESULT = statement;
92.1204 -:}
92.1205 -| task_body:statement
92.1206 -{:
92.1207 - RESULT = statement;
92.1208 -:}
92.1209 -| protected_body:statement
92.1210 -{:
92.1211 - RESULT = statement;
92.1212 -:}
92.1213 -;
92.1214 -
92.1215 -
92.1216 -name ::=
92.1217 -simple_name:name
92.1218 -{:
92.1219 - RESULT = name;
92.1220 -:}
92.1221 -| indexed_comp:comp
92.1222 -{:
92.1223 - RESULT = comp;
92.1224 -:}
92.1225 -| selected_component:comp
92.1226 -{:
92.1227 - RESULT = comp;
92.1228 -:}
92.1229 -| attribute:attr
92.1230 -{:
92.1231 - RESULT = attr;
92.1232 -:}
92.1233 -| operator_symbol:op
92.1234 -{:
92.1235 - RESULT = op;
92.1236 -:}
92.1237 -;
92.1238 -
92.1239 -subtype_mark ::=
92.1240 -simple_name:name
92.1241 -{:
92.1242 - RESULT = name;
92.1243 -:}
92.1244 -| subtype_mark:name TICK attribute_id
92.1245 -{:
92.1246 - // TODO: manage the attribute
92.1247 - RESULT = name;
92.1248 -:}
92.1249 -| subtype_mark:name DOT simple_name:simpleName
92.1250 -{:
92.1251 - RESULT = name + "." + simpleName;
92.1252 -:}
92.1253 -;
92.1254 -
92.1255 -simple_name ::=
92.1256 -IDENTIFIER:identifier
92.1257 -{:
92.1258 - RESULT = identifier;
92.1259 -:}
92.1260 -;
92.1261 -
92.1262 -compound_name ::=
92.1263 -simple_name:simpleName
92.1264 -{:
92.1265 - RESULT = simpleName;
92.1266 -:}
92.1267 -| compound_name:compoundName DOT simple_name:simpleName
92.1268 -{:
92.1269 - RESULT = compoundName + "." + simpleName;
92.1270 -:}
92.1271 -;
92.1272 -
92.1273 -library_unit_name_list ::=
92.1274 -compound_name:compoundName
92.1275 -{:
92.1276 - List nameList = new LinkedList();
92.1277 - Identifier id = new Identifier(compoundNameleft, compoundNameright, (String)compoundName);
92.1278 - PackageName packageName = new PackageName(compoundNameleft, compoundNameright, id);
92.1279 - nameList.add(packageName);
92.1280 - RESULT = nameList;
92.1281 -:}
92.1282 -| library_unit_name_list:nameList COMMA compound_name:compoundName
92.1283 -{:
92.1284 - nameList.add(compoundName);
92.1285 - RESULT = nameList;
92.1286 -:}
92.1287 -;
92.1288 -
92.1289 -used_char ::=
92.1290 -CHAR_LITERAL:charLiteral
92.1291 -{:
92.1292 - RESULT = charLiteral;
92.1293 -:}
92.1294 -;
92.1295 -
92.1296 -indexed_comp ::=
92.1297 -name:name LPAREN value_s:index RPAREN:end
92.1298 -{:
92.1299 - System.out.println ("indexed_comp ::= name => " + name);
92.1300 - Identifier identifier = new Identifier(nameleft, nameright, name);
92.1301 - //Variable variable = new Variable (nameleft, nameright, name);
92.1302 - Variable indexedVar = new ArrayAccess(nameleft, endright, identifier, index, ArrayAccess.Type.VARIABLE_ARRAY);
92.1303 - //RESULT = indexedVar;
92.1304 - RESULT = name;
92.1305 -:}
92.1306 -;
92.1307 -
92.1308 -value_s ::= value
92.1309 - | value_s COMMA value
92.1310 - ;
92.1311 -
92.1312 -value ::= expression
92.1313 -| comp_assoc
92.1314 -| discrete_with_range
92.1315 -| error:theError /* error statement */
92.1316 -{:
92.1317 - ASTError error = new ASTError(theErrorleft, theErrorright);
92.1318 - RESULT = error;
92.1319 -:}
92.1320 -;
92.1321 -
92.1322 -///////////////////////////////////////////////////////////////////////////////
92.1323 -// 4.1.3 Selected Components
92.1324 -//
92.1325 -selected_component ::=
92.1326 -name:name DOT simple_name:simpleName
92.1327 -{:
92.1328 - RESULT = name + "." + simpleName;
92.1329 -:}
92.1330 -| name:name DOT used_char:usedChar
92.1331 -{:
92.1332 - RESULT = name + "." + usedChar;
92.1333 -:}
92.1334 -| name:name DOT operator_symbol:operator
92.1335 -{:
92.1336 - RESULT = name + "." + operator;
92.1337 -:}
92.1338 -| name:name DOT ALL:all
92.1339 -{:
92.1340 - RESULT = name + "." + all;
92.1341 -:}
92.1342 -;
92.1343 -
92.1344 -attribute ::=
92.1345 -name:name TICK attribute_id
92.1346 -{:
92.1347 - RESULT = name;
92.1348 -:}
92.1349 -;
92.1350 -
92.1351 -attribute_id ::= IDENTIFIER
92.1352 - | DIGITS
92.1353 - | DELTA
92.1354 - | ACCESS
92.1355 - ;
92.1356 -
92.1357 -literal ::=
92.1358 -DECIMAL_LITERAL:dec
92.1359 -{:
92.1360 - Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
92.1361 - RESULT = scalar;
92.1362 -:}
92.1363 -| BASED_LITERAL:dec
92.1364 -{:
92.1365 - Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
92.1366 - RESULT = scalar;
92.1367 -:}
92.1368 -| used_char:usedChar
92.1369 -{:
92.1370 - Scalar scalar = new Scalar(usedCharleft, usedCharright, usedChar, Scalar.Type.STRING);
92.1371 - RESULT = scalar;
92.1372 -:}
92.1373 -| NULL
92.1374 -;
92.1375 -
92.1376 -aggregate ::= LPAREN comp_assoc RPAREN
92.1377 - | LPAREN value_s_2 RPAREN
92.1378 - | LPAREN expression WITH value_s RPAREN
92.1379 - | LPAREN expression WITH NULL RECORD RPAREN
92.1380 - | LPAREN NULL RECORD RPAREN
92.1381 - ;
92.1382 -
92.1383 -value_s_2 ::= value COMMA value
92.1384 - | value_s_2 COMMA value
92.1385 - ;
92.1386 -
92.1387 -comp_assoc ::= choice_s ARROW expression
92.1388 - ;
92.1389 -
92.1390 -
92.1391 -///////////////////////////////////////////////////////////////////////////////
92.1392 -// 4.5 Operators and Expression Evaluation
92.1393 -//
92.1394 -logical_operator ::=
92.1395 -AND
92.1396 -| OR
92.1397 -| XOR
92.1398 -;
92.1399 -
92.1400 -short_circuit ::= AND THEN
92.1401 - | OR ELSE
92.1402 - ;
92.1403 -
92.1404 -
92.1405 -relational_operator ::=
92.1406 -EQ
92.1407 -| INEQ
92.1408 -| GT
92.1409 -| LTEQ
92.1410 -| LT
92.1411 -| GTEQ
92.1412 -;
92.1413 -
92.1414 -membership ::= IN
92.1415 - | NOT IN
92.1416 - ;
92.1417 -
92.1418 -unary_adding_operator ::=
92.1419 -PLUS
92.1420 -{:
92.1421 - RESULT = UnaryOperation.Operator.PLUS;
92.1422 -:}
92.1423 -| MINUS
92.1424 -{:
92.1425 - RESULT = UnaryOperation.Operator.MINUS;
92.1426 -:}
92.1427 -;
92.1428 -
92.1429 -binary_adding_operator ::=
92.1430 -PLUS
92.1431 -{:
92.1432 - RESULT = UnaryOperation.Operator.PLUS;
92.1433 -:}
92.1434 -| MINUS
92.1435 -{:
92.1436 - RESULT = UnaryOperation.Operator.MINUS;
92.1437 -:}
92.1438 -| AMP
92.1439 -{:
92.1440 - RESULT = UnaryOperation.Operator.AMP;
92.1441 -:}
92.1442 -;
92.1443 -
92.1444 -multiplying_operator ::=
92.1445 -STAR
92.1446 -| SLASH
92.1447 -| MOD
92.1448 -| REM
92.1449 -;
92.1450 -
92.1451 -///////////////////////////////////////////////////////////////////////////////
92.1452 -// 4.4 Expressions
92.1453 -//
92.1454 -expression ::=
92.1455 -relation:rel
92.1456 -{:
92.1457 - System.out.println ("expression ::= relation => " + rel);
92.1458 - RESULT = rel;
92.1459 -:}
92.1460 -| expression:expr logical_operator relation:rel
92.1461 -{:
92.1462 - System.out.println ("expression ::= expression => " + expr);
92.1463 - System.out.println ("expression ::= relation => " + rel);
92.1464 - RESULT = expr;
92.1465 -:}
92.1466 -| expression:expr short_circuit relation:rel
92.1467 -{:
92.1468 - System.out.println ("expression ::= expression => " + expr);
92.1469 - System.out.println ("expression ::= relation => " + rel);
92.1470 - RESULT = expr;
92.1471 -:}
92.1472 -;
92.1473 -
92.1474 -relation ::=
92.1475 -simple_expression:simple_expr
92.1476 -{:
92.1477 - RESULT = simple_expr;
92.1478 -:}
92.1479 -| simple_expression:simple_expr relational_operator simple_expression
92.1480 -{:
92.1481 - RESULT = simple_expr;
92.1482 -:}
92.1483 -| simple_expression:simple_expr membership range
92.1484 -{:
92.1485 - RESULT = simple_expr;
92.1486 -:}
92.1487 -| simple_expression:simple_expr membership name
92.1488 -{:
92.1489 - RESULT = simple_expr;
92.1490 -:}
92.1491 -;
92.1492 -
92.1493 -simple_expression ::=
92.1494 -unary_adding_operator:op term:term
92.1495 -{:
92.1496 - RESULT = new UnaryOperation(opleft, termright, term, op);
92.1497 -:}
92.1498 -| term:term
92.1499 -{:
92.1500 - RESULT = term;
92.1501 -:}
92.1502 -| simple_expression:expr binary_adding_operator:op term:term
92.1503 -{:
92.1504 - RESULT = new UnaryOperation(exprleft, termright, term, op);
92.1505 -:}
92.1506 -;
92.1507 -
92.1508 -term ::=
92.1509 -factor:factor
92.1510 -{:
92.1511 - RESULT = factor;
92.1512 -:}
92.1513 -| term multiplying_operator factor:factor
92.1514 -{:
92.1515 - RESULT = factor;
92.1516 -:}
92.1517 -;
92.1518 -
92.1519 -factor ::=
92.1520 -primary:primary
92.1521 -{:
92.1522 - RESULT = primary;
92.1523 -:}
92.1524 -| NOT primary:primary
92.1525 -{:
92.1526 - RESULT = primary;
92.1527 -:}
92.1528 -| ABS primary:primary
92.1529 -{:
92.1530 - RESULT = primary;
92.1531 -:}
92.1532 -| primary EXPON primary:primary
92.1533 -{:
92.1534 - RESULT = primary;
92.1535 -:}
92.1536 -;
92.1537 -
92.1538 -primary ::=
92.1539 -literal:literal
92.1540 -{:
92.1541 - System.out.println ("primary ::= literal => " + literal);
92.1542 - RESULT = literal;
92.1543 -:}
92.1544 -| name:name
92.1545 -{:
92.1546 - System.out.println ("primary ::= name => " + name);
92.1547 - Scalar scalar = new Scalar(nameleft, nameright, name, Scalar.Type.STRING);
92.1548 - RESULT = scalar;
92.1549 -:}
92.1550 -| allocator
92.1551 -| qualified_expression:expr
92.1552 -{:
92.1553 - System.out.println ("primary ::= qualified_expression => " + expr);
92.1554 - RESULT = expr;
92.1555 -:}
92.1556 -| parenthesized_primary:expr
92.1557 -{:
92.1558 - System.out.println ("primary ::= parenthesized_primary => " + expr);
92.1559 - RESULT = expr;
92.1560 -:}
92.1561 -;
92.1562 -
92.1563 -parenthesized_primary ::=
92.1564 -aggregate
92.1565 -| LPAREN expression:expr RPAREN
92.1566 -{:
92.1567 - RESULT = expr;
92.1568 -:}
92.1569 -;
92.1570 -
92.1571 -qualified_expression ::=
92.1572 -name:name TICK parenthesized_primary:expr
92.1573 -{:
92.1574 - Identifier subtypeMark = new Identifier (nameleft, nameright, name);
92.1575 - RESULT = new QualifiedExpression (nameleft, exprright, subtypeMark, expr);
92.1576 -:}
92.1577 -;
92.1578 -
92.1579 -allocator ::= NEW name
92.1580 - | NEW qualified_expression
92.1581 - ;
92.1582 -
92.1583 -///////////////////////////////////////////////////////////////////////////////
92.1584 -// 5.1 Simple and Compound Statements - Sequences of Statements
92.1585 -//
92.1586 -sequence_of_statements ::=
92.1587 -statement:statement
92.1588 -{:
92.1589 - List list = new LinkedList();
92.1590 - list.add(statement);
92.1591 - RESULT = list;
92.1592 -:}
92.1593 -| sequence_of_statements:list statement:statement
92.1594 -{:
92.1595 - list.add(statement);
92.1596 - RESULT = list;
92.1597 -:}
92.1598 -;
92.1599 -
92.1600 -statement ::=
92.1601 -unlabeled:statement
92.1602 -{:
92.1603 - RESULT = statement;
92.1604 -:}
92.1605 -| label statement:statement
92.1606 -{:
92.1607 - RESULT = statement;
92.1608 -:}
92.1609 -;
92.1610 -
92.1611 -unlabeled ::=
92.1612 -simple_statement:statement
92.1613 -{:
92.1614 - RESULT = statement;
92.1615 -:}
92.1616 -| compound_statement:statement
92.1617 -{:
92.1618 - RESULT = statement;
92.1619 -:}
92.1620 -| pragma
92.1621 -;
92.1622 -
92.1623 -simple_statement ::=
92.1624 -null_statement:statement
92.1625 -{:
92.1626 - RESULT = statement;
92.1627 -:}
92.1628 -| assignment_statement:statement
92.1629 -{:
92.1630 - RESULT = statement;
92.1631 -:}
92.1632 -| exit_statement:statement
92.1633 -{:
92.1634 - RESULT = statement;
92.1635 -:}
92.1636 -| return_statement:statement
92.1637 -{:
92.1638 - RESULT = statement;
92.1639 -:}
92.1640 -| goto_statement:statement
92.1641 -{:
92.1642 - RESULT = statement;
92.1643 -:}
92.1644 -| procedure_call_statement:statement
92.1645 -{:
92.1646 - RESULT = statement;
92.1647 -:}
92.1648 -| delay_statement:statement
92.1649 -{:
92.1650 - RESULT = statement;
92.1651 -:}
92.1652 -| abort_statement:statement
92.1653 -{:
92.1654 - RESULT = statement;
92.1655 -:}
92.1656 -| raise_statement:statement
92.1657 -{:
92.1658 - RESULT = statement;
92.1659 -:}
92.1660 -| code_statement:statement
92.1661 -{:
92.1662 - RESULT = statement;
92.1663 -:}
92.1664 -| requeue_stmt
92.1665 -| error:theError SEMICOLON /* error statement */
92.1666 -{:
92.1667 - ASTError error = new ASTError(theErrorleft, theErrorright);
92.1668 - RESULT = error;
92.1669 -:}
92.1670 -;
92.1671 -
92.1672 -compound_statement ::=
92.1673 -if_statement:statement
92.1674 -{:
92.1675 - RESULT = statement;
92.1676 -:}
92.1677 -| case_statement:statement
92.1678 -{:
92.1679 - RESULT = statement;
92.1680 -:}
92.1681 -| loop_statement:statement
92.1682 -{:
92.1683 - RESULT = statement;
92.1684 -:}
92.1685 -| block_statement:statement
92.1686 -{:
92.1687 - RESULT = statement;
92.1688 -:}
92.1689 -| accept_stmt
92.1690 -| select_stmt
92.1691 -;
92.1692 -
92.1693 -label ::= LTLT IDENTIFIER GTGT
92.1694 - ;
92.1695 -
92.1696 -null_statement ::=
92.1697 -NULL:token SEMICOLON:end
92.1698 -{:
92.1699 - RESULT = new NullStatement(tokenleft, endright);
92.1700 -:}
92.1701 -;
92.1702 -
92.1703 -///////////////////////////////////////////////////////////////////////////////
92.1704 -// 5.2 Assignment Statements
92.1705 -//
92.1706 -assignment_statement ::=
92.1707 -name:var ASSIGNMENT expression:expr SEMICOLON
92.1708 -{:
92.1709 - System.out.println ("assignment_statement ::= var => " + var);
92.1710 - System.out.println ("assignment_statement ::= expr => " + expr);
92.1711 - Identifier id = new Identifier(varleft, varright, var);
92.1712 - Variable variable = new Variable (varleft, varright, (Identifier)id);
92.1713 - Assignment assignment = new Assignment(varleft, exprright, variable, expr);
92.1714 - RESULT = assignment;
92.1715 -:}
92.1716 -;
92.1717 -
92.1718 -///////////////////////////////////////////////////////////////////////////////
92.1719 -// 5.3 If Statements
92.1720 -//
92.1721 -if_statement ::=
92.1722 -IF:token cond_clause_s:condList else_opt:iffalse END IF SEMICOLON:end
92.1723 -{:
92.1724 - Expression innerCondition = null;
92.1725 - Expression firstCondition = null;
92.1726 - Statement trueStatement = null;
92.1727 - Statement falseStatement = iffalse;
92.1728 -
92.1729 - for (int i=1 ; i < condList[0].size() ; i++) {
92.1730 - innerCondition = (Expression)condList[0].get(i);
92.1731 - trueStatement = (Statement)condList[1].get(i);
92.1732 - int start = ((Integer)condList[2].get(i)).intValue();
92.1733 - falseStatement = new IfStatement(start, endright, innerCondition, trueStatement, falseStatement);
92.1734 - }
92.1735 -
92.1736 - firstCondition = (Expression)condList[0].get(0);
92.1737 - trueStatement = (Statement)condList[1].get(0);
92.1738 - int start = ((Integer)condList[2].get(0)).intValue();
92.1739 - IfStatement ifStatement = new IfStatement(tokenleft, endright, firstCondition, trueStatement, falseStatement);
92.1740 -
92.1741 - RESULT = ifStatement;
92.1742 -:}
92.1743 -;
92.1744 -
92.1745 -cond_clause_s ::=
92.1746 -condition:condition THEN:token sequence_of_statements:iftrue
92.1747 -{:
92.1748 - List listConditions = new LinkedList();
92.1749 - List listStatements = new LinkedList();
92.1750 - List listTokens = new LinkedList();
92.1751 -
92.1752 - Block block = new Block(iftrueleft, iftrueright, iftrue);
92.1753 - listConditions.add(condition);
92.1754 - listStatements.add(block);
92.1755 - listTokens.add(new Integer(tokenleft));
92.1756 -
92.1757 - List[] returnList = new List[] { listConditions, listStatements, listTokens };
92.1758 -
92.1759 - RESULT = returnList;
92.1760 -:}
92.1761 -| cond_clause_s:condList ELSIF:token condition:condition THEN sequence_of_statements:iftrue
92.1762 -{:
92.1763 - Block block = new Block(iftrueleft, iftrueright, iftrue);
92.1764 - ((LinkedList)condList[0]).addFirst(condition);
92.1765 - ((LinkedList)condList[1]).addFirst(block);
92.1766 - ((LinkedList)condList[2]).addFirst(new Integer(tokenleft));
92.1767 -
92.1768 - RESULT = condList;
92.1769 -:}
92.1770 -;
92.1771 -
92.1772 -condition ::=
92.1773 -expression:expr
92.1774 -{:
92.1775 - RESULT = expr;
92.1776 -:}
92.1777 -;
92.1778 -
92.1779 -else_opt ::=
92.1780 -/* empty */
92.1781 -{:
92.1782 - RESULT = null;
92.1783 -:}
92.1784 -| ELSE sequence_of_statements:statements
92.1785 -{:
92.1786 - Block block = new Block(statementsleft, statementsright, statements);
92.1787 - RESULT = block;
92.1788 -:}
92.1789 -;
92.1790 -
92.1791 -///////////////////////////////////////////////////////////////////////////////
92.1792 -// 5.4 Case Statements
92.1793 -//
92.1794 -case_statement ::=
92.1795 -CASE:token expression:expr IS pragma_s alternative_s:whenList END CASE SEMICOLON:end
92.1796 -{:
92.1797 - Block whenBlock = new Block(whenListleft, whenListright, whenList);
92.1798 - CaseStatement caseStatement = new CaseStatement(tokenleft, endright, expr, whenBlock);
92.1799 - RESULT = caseStatement;
92.1800 -:}
92.1801 -;
92.1802 -
92.1803 -alternative_s ::=
92.1804 -/* empty */
92.1805 -{:
92.1806 - RESULT = new LinkedList();
92.1807 -:}
92.1808 -| alternative_s:whenList alternative:when
92.1809 -{:
92.1810 - whenList.add (when);
92.1811 - RESULT = whenList;
92.1812 -:}
92.1813 -;
92.1814 -
92.1815 -alternative ::=
92.1816 -WHEN:token choice_s:expr ARROW sequence_of_statements:statements
92.1817 -{:
92.1818 - CaseWhen caseWhen = new CaseWhen(tokenleft, statementsright, expr, statements);
92.1819 - RESULT = caseWhen;
92.1820 -:}
92.1821 -;
92.1822 -
92.1823 -///////////////////////////////////////////////////////////////////////////////
92.1824 -// 5.5 Loop Statements
92.1825 -//
92.1826 -loop_statement ::=
92.1827 -label_opt:label iteration:iteration basic_loop:statement id_opt SEMICOLON:end
92.1828 -{:
92.1829 - int start = (label == null) ? iterationleft : labelleft;
92.1830 - Identifier identifier = new Identifier(labelleft, labelright, label);
92.1831 - LoopStatement loopStatement = new LoopStatement(start, endright, identifier, iteration, statement);
92.1832 - RESULT = loopStatement;
92.1833 -:}
92.1834 -;
92.1835 -
92.1836 -label_opt ::=
92.1837 -/* empty */
92.1838 -{:
92.1839 - RESULT = null;
92.1840 -:}
92.1841 -| IDENTIFIER:id COLON
92.1842 -{:
92.1843 - RESULT = id;
92.1844 -:}
92.1845 -;
92.1846 -
92.1847 -iteration ::=
92.1848 -/* empty */
92.1849 -{:
92.1850 - RESULT = null;
92.1851 -:}
92.1852 -| WHILE condition:condition
92.1853 -{:
92.1854 - RESULT = condition;
92.1855 -:}
92.1856 -| iter_part reverse_opt discrete_range:condition
92.1857 -{:
92.1858 - RESULT = condition;
92.1859 -:}
92.1860 -;
92.1861 -
92.1862 -iter_part ::=
92.1863 -FOR IDENTIFIER IN
92.1864 -;
92.1865 -
92.1866 -reverse_opt ::=
92.1867 -| REVERSE
92.1868 -;
92.1869 -
92.1870 -basic_loop ::=
92.1871 -LOOP sequence_of_statements:statements END LOOP
92.1872 -{:
92.1873 - Block loopBlock = new Block(statementsleft, statementsright, statements);
92.1874 - RESULT = loopBlock;
92.1875 -:}
92.1876 -;
92.1877 -
92.1878 -
92.1879 -///////////////////////////////////////////////////////////////////////////////
92.1880 -
92.1881 -id_opt ::=
92.1882 -// empty
92.1883 -{:
92.1884 - RESULT = null;
92.1885 -:}
92.1886 -| designator:name
92.1887 -{:
92.1888 - RESULT = name;
92.1889 -:}
92.1890 -;
92.1891 -
92.1892 -///////////////////////////////////////////////////////////////////////////////
92.1893 -// 5.6 Block Statements
92.1894 -//
92.1895 -block_statement ::=
92.1896 -label_opt:label block_declarative:declarations block_body:body END id_opt SEMICOLON:end
92.1897 -{:
92.1898 - int start = (label == null) ? declarationsleft : labelleft;
92.1899 - Identifier identifier = new Identifier(labelleft, labelright, label);
92.1900 - BlockStatement blockStatement = new BlockStatement (start, endleft, identifier, declarations, body);
92.1901 - RESULT = blockStatement;
92.1902 -:}
92.1903 -;
92.1904 -
92.1905 -block_declarative ::=
92.1906 -{:
92.1907 - RESULT = null;
92.1908 -:}
92.1909 -| DECLARE:token declarative_part:declarativePart
92.1910 -{:
92.1911 - Block declarations = new Block(tokenright, declarativePartleft, declarativePart);
92.1912 - RESULT = declarations;
92.1913 -:}
92.1914 -;
92.1915 -
92.1916 -block_body ::=
92.1917 -BEGIN:token handled_stmt_s:statements
92.1918 -{:
92.1919 - Block body = new Block(tokenright, statementsright, statements);
92.1920 - RESULT = body;
92.1921 -:}
92.1922 -;
92.1923 -
92.1924 -handled_stmt_s ::=
92.1925 -sequence_of_statements:statements except_handler_part_opt
92.1926 -{:
92.1927 - RESULT = statements;
92.1928 -:}
92.1929 -;
92.1930 -
92.1931 -except_handler_part_opt ::=
92.1932 - | except_handler_part
92.1933 - ;
92.1934 -
92.1935 -///////////////////////////////////////////////////////////////////////////////
92.1936 -// 5.7 Exit Statements
92.1937 -//
92.1938 -exit_statement ::=
92.1939 -EXIT:token name_opt:loopName when_opt:whenCondition SEMICOLON:end
92.1940 -{:
92.1941 - RESULT = new ExitStatement(tokenleft, endright, loopName, whenCondition);
92.1942 -:}
92.1943 -;
92.1944 -
92.1945 -name_opt ::=
92.1946 -{:
92.1947 - RESULT = null;
92.1948 -:}
92.1949 -| name:name
92.1950 -{:
92.1951 - RESULT = name;
92.1952 -:}
92.1953 -;
92.1954 -
92.1955 -when_opt ::=
92.1956 -{:
92.1957 - RESULT = null;
92.1958 -:}
92.1959 -| WHEN condition:cond
92.1960 -{:
92.1961 - RESULT = cond;
92.1962 -:}
92.1963 -;
92.1964 -
92.1965 -///////////////////////////////////////////////////////////////////////////////
92.1966 -// 6.5 Return Statements
92.1967 -//
92.1968 -return_statement ::=
92.1969 -RETURN:token SEMICOLON:end
92.1970 -{:
92.1971 - RESULT = new ReturnStatement(tokenleft, endright);
92.1972 -:}
92.1973 -| RETURN:token expression:expr SEMICOLON:end
92.1974 -{:
92.1975 - RESULT = new ReturnStatement(tokenleft, endright, expr);
92.1976 -:}
92.1977 -;
92.1978 -
92.1979 -///////////////////////////////////////////////////////////////////////////////
92.1980 -// 5.8 Goto Statements
92.1981 -//
92.1982 -goto_statement ::=
92.1983 -GOTO:token name:labelName SEMICOLON:end
92.1984 -{:
92.1985 - RESULT = new GotoStatement(tokenleft, endright, labelName);
92.1986 -:}
92.1987 -;
92.1988 -
92.1989 -///////////////////////////////////////////////////////////////////////////////
92.1990 -// 6.1 Subprogram Declarations
92.1991 -//
92.1992 -subprog_declaration ::=
92.1993 -subprogram_specification:subprog SEMICOLON:end
92.1994 -{:
92.1995 - RESULT = new MethodDeclaration(subprogleft, endright, 0/*modifier*/, subprog);
92.1996 -:}
92.1997 -| generic_subp_inst:subprog SEMICOLON:end
92.1998 -{:
92.1999 - RESULT = new MethodDeclaration(subprogleft, endright, 0/*modifier*/, subprog);
92.2000 -:}
92.2001 -| subprogram_specification:subprog IS ABSTRACT SEMICOLON:end
92.2002 -{:
92.2003 - RESULT = new MethodDeclaration(subprogleft, endright, Ada95ASTParser.ABSTRACT, subprog);
92.2004 -:}
92.2005 -;
92.2006 -
92.2007 -subprogram_specification ::=
92.2008 -PROCEDURE:procedure compound_name:procedureName formal_part_opt:formalPart
92.2009 -{:
92.2010 - Identifier procedureId = new Identifier(procedureNameleft, procedureNameright, procedureName);
92.2011 - SubprogramSpecification subprogramSpecification = new SubprogramSpecification(procedureleft, formalPartright, procedureId, formalPart);
92.2012 - RESULT = subprogramSpecification;
92.2013 -:}
92.2014 -| FUNCTION:function designator:functionName formal_part_opt:formalPart RETURN name:subtypeMark
92.2015 -{:
92.2016 - Identifier functionId = new Identifier(functionNameleft, functionNameright, functionName);
92.2017 - Identifier subtypeReturn = new Identifier(subtypeMarkleft, subtypeMarkright, subtypeMark);
92.2018 - SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, subtypeMarkright, functionId, formalPart, subtypeReturn);
92.2019 - RESULT = subprogramSpecification;
92.2020 -:}
92.2021 -| FUNCTION:function designator:functionName /* for generic inst and generic rename */
92.2022 -{:
92.2023 - Identifier functionId = new Identifier(functionNameleft, functionNameright, functionName);
92.2024 - SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, functionNameright, functionId);
92.2025 - RESULT = subprogramSpecification;
92.2026 -:}
92.2027 -;
92.2028 -
92.2029 -designator ::=
92.2030 -compound_name:name
92.2031 -{:
92.2032 - RESULT = name;
92.2033 -:}
92.2034 -| operator_symbol:name
92.2035 -{:
92.2036 - RESULT = name;
92.2037 -:}
92.2038 -;
92.2039 -
92.2040 -formal_part_opt ::=
92.2041 -// empty
92.2042 -{:
92.2043 - List list = new LinkedList();
92.2044 - RESULT = list;
92.2045 -:}
92.2046 -| formal_part:list
92.2047 -{:
92.2048 - RESULT = list;
92.2049 -:}
92.2050 -;
92.2051 -
92.2052 -formal_part ::=
92.2053 -LPAREN param_s:list RPAREN
92.2054 -{:
92.2055 - RESULT = list;
92.2056 -:}
92.2057 -;
92.2058 -
92.2059 -param_s ::=
92.2060 -param:parameter
92.2061 -{:
92.2062 - List list = new LinkedList();
92.2063 - list.addAll(parameter);
92.2064 - RESULT = list;
92.2065 -:}
92.2066 -| param_s:list SEMICOLON param:parameter
92.2067 -{:
92.2068 - list.addAll(parameter);
92.2069 - RESULT = list;
92.2070 -:}
92.2071 -;
92.2072 -
92.2073 -param ::=
92.2074 -defining_identifier_list:identifierList COLON mode:mode subtype_mark:subtype init_opt:init
92.2075 -{:
92.2076 - List list = new LinkedList();
92.2077 - Identifier subtypeId = new Identifier(subtypeleft, subtyperight, subtype);
92.2078 - TypeName typeName = new TypeName(subtypeleft, subtyperight, subtypeId);
92.2079 - for (Object item : identifierList) {
92.2080 - Identifier identifier = (Identifier)item;
92.2081 - Variable variable = new Variable (identifier.getStartOffset(), identifier.getEndOffset(), identifier);
92.2082 - int end = init == null ? subtyperight : initright;
92.2083 - FormalParameter parameter = new FormalParameter(identifierListleft, end, variable, mode, typeName, init);
92.2084 - list.add(parameter);
92.2085 - }
92.2086 - RESULT = list;
92.2087 -:}
92.2088 -| error:theError SEMICOLON /* error statement */
92.2089 -{:
92.2090 - List list = new LinkedList();
92.2091 - ASTError error = new ASTError(theErrorleft, theErrorright);
92.2092 - list.add(error);
92.2093 - RESULT = list;
92.2094 -:}
92.2095 -;
92.2096 -
92.2097 -mode ::=
92.2098 -// empty
92.2099 -{:
92.2100 - RESULT = FormalParameter.Mode.IN;
92.2101 -:}
92.2102 -| IN
92.2103 -{:
92.2104 - RESULT = FormalParameter.Mode.IN;
92.2105 -:}
92.2106 -| OUT
92.2107 -{:
92.2108 - RESULT = FormalParameter.Mode.OUT;
92.2109 -:}
92.2110 -| IN OUT
92.2111 -{:
92.2112 - RESULT = FormalParameter.Mode.IN_OUT;
92.2113 -:}
92.2114 -| ACCESS
92.2115 -{:
92.2116 - RESULT = FormalParameter.Mode.ACCESS;
92.2117 -:}
92.2118 -;
92.2119 -
92.2120 -// TODO: manage the overload operators ex: "+" "and" ecc.
92.2121 -operator_symbol ::=
92.2122 -STRING_LITERAL:stringLiteral
92.2123 -{:
92.2124 - RESULT = stringLiteral;
92.2125 -:}
92.2126 -;
92.2127 -
92.2128 -subprogram_body ::=
92.2129 -subprogram_specification:subprog IS
92.2130 -declarative_part:declarativePart block_body:body END id_opt:idOpt SEMICOLON:end
92.2131 -{:
92.2132 - if (idOpt != null && !idOpt.equalsIgnoreCase (subprog.getSubprogramName().getName())) {
92.2133 - this.parser.message_error("mispelling of " + subprog.getSubprogramName().getName());
92.2134 - } else {
92.2135 - Block declarations = new Block(subprogright, bodyleft, declarativePart);
92.2136 - body.setEndOffset(endright);
92.2137 - Identifier nameEnd = new Identifier(idOptleft, idOptright, idOpt);
92.2138 - SubprogramBody subprogramBody = new SubprogramBody(subprogleft, endright, subprog, declarations, body, nameEnd);
92.2139 - MethodDeclaration methodDeclaration = new MethodDeclaration(subprogleft, endright, 0/*modifier*/, subprogramBody);
92.2140 - RESULT = methodDeclaration;
92.2141 - }
92.2142 -:}
92.2143 -;
92.2144 -
92.2145 -///////////////////////////////////////////////////////////////////////////////
92.2146 -// 6.4 Subprogram Calls
92.2147 -//
92.2148 -procedure_call_statement ::=
92.2149 -name SEMICOLON
92.2150 -;
92.2151 -
92.2152 -
92.2153 -///////////////////////////////////////////////////////////////////////////////
92.2154 -// 7.1 Package Specifications and Declarations
92.2155 -//
92.2156 -package_declaration ::=
92.2157 -package_specification:statement SEMICOLON
92.2158 -{:
92.2159 - RESULT = statement;
92.2160 -:}
92.2161 -| generic_package_instantiation SEMICOLON
92.2162 -;
92.2163 -
92.2164 -package_specification ::=
92.2165 -PACKAGE:declarationStart compound_name:packageName IS:blockStart
92.2166 - declarative_items_opt:declarativeItems private_part:privateDeclarativeItems
92.2167 -END:declarationEnd compound_name_opt:packageNameEnd
92.2168 -{:
92.2169 - if (packageNameEnd != null && !packageNameEnd.equalsIgnoreCase (packageName)) {
92.2170 - this.parser.message_error("mispelling of " + packageName);
92.2171 - }
92.2172 - else {
92.2173 - Identifier packageId = new Identifier(packageNameleft, packageNameright, packageName);
92.2174 - Identifier packageIdEnd = new Identifier(packageNameEndleft, packageNameEndright, packageNameEnd);
92.2175 - declarativeItems.addAll (privateDeclarativeItems);
92.2176 - // Add private part on block statements
92.2177 - Block block = new Block(blockStartleft, declarationEndright, declarativeItems);
92.2178 - PackageSpecification packageSpecification = new PackageSpecification(declarationStartleft, declarationEndright, packageId, packageIdEnd, block);
92.2179 - RESULT = packageSpecification;
92.2180 - }
92.2181 -:}
92.2182 -;
92.2183 -
92.2184 -private_part ::=
92.2185 -{:
92.2186 - RESULT = new LinkedList();
92.2187 -:}
92.2188 -| PRIVATE declarative_items_opt:declarativeItems
92.2189 -{:
92.2190 - RESULT = this.parser.setModifier (declarativeItems, Ada95ASTParser.PRIVATE);
92.2191 -:}
92.2192 -;
92.2193 -
92.2194 -compound_name_opt ::=
92.2195 -// empty
92.2196 -| compound_name:compoundName
92.2197 -{:
92.2198 - RESULT = compoundName;
92.2199 -:}
92.2200 -;
92.2201 -
92.2202 -///////////////////////////////////////////////////////////////////////////////
92.2203 -// 7.2 Package Bodies
92.2204 -//
92.2205 -package_body ::=
92.2206 -PACKAGE:declarationStart BODY compound_name:packageName IS:blockStart
92.2207 - declarative_part:declarativePart body_opt END compound_name_opt:packageNameEnd SEMICOLON:declarationEnd
92.2208 -{:
92.2209 - if (packageNameEnd != null && !packageNameEnd.equalsIgnoreCase (packageName)) {
92.2210 - this.parser.message_error("mispelling of " + packageName);
92.2211 - }
92.2212 - else {
92.2213 - Identifier packageId = new Identifier(packageNameleft, packageNameright, packageName);
92.2214 - Identifier packageIdEnd = new Identifier(packageNameEndleft, packageNameEndright, packageNameEnd);
92.2215 -
92.2216 - List list = this.parser.setModifier (declarativePart, Ada95ASTParser.PRIVATE);
92.2217 - Block block = new Block(blockStartleft, declarationEndright, list);
92.2218 -
92.2219 - PackageBody packageBody = new PackageBody(declarationStartleft, declarationEndright, packageId, packageIdEnd, block);
92.2220 - RESULT = packageBody;
92.2221 - }
92.2222 -:}
92.2223 -;
92.2224 -
92.2225 -body_opt ::=
92.2226 - | block_body
92.2227 - ;
92.2228 -
92.2229 -///////////////////////////////////////////////////////////////////////////////
92.2230 -// 7.3 Private Types and Private Extensions
92.2231 -//
92.2232 -private_type_declaration ::=
92.2233 -tagged_opt:tagged limited_opt:limited PRIVATE:privateKeyword
92.2234 -{:
92.2235 - PrivateType privateType = new PrivateType(taggedleft, privateKeywordright, tagged + limited + Ada95ASTParser.PRIVATE);
92.2236 - RESULT = privateType;
92.2237 -:}
92.2238 -;
92.2239 -
92.2240 -limited_opt ::=
92.2241 -{:
92.2242 - RESULT = 0;
92.2243 -:}
92.2244 -| LIMITED
92.2245 -{:
92.2246 - RESULT = Ada95ASTParser.LIMITED;
92.2247 -:}
92.2248 -;
92.2249 -
92.2250 -///////////////////////////////////////////////////////////////////////////////
92.2251 -// 8.4 Use Clauses
92.2252 -//
92.2253 -use_clause ::=
92.2254 -USE:token package_name_list:packageList SEMICOLON:end
92.2255 -{:
92.2256 - RESULT = new Use(tokenleft, endright, packageList);
92.2257 -:}
92.2258 -| USE:token TYPE subtype_mark_list:subTypeList SEMICOLON:end
92.2259 -{:
92.2260 - RESULT = new UseType(tokenleft, endright, subTypeList);
92.2261 -:}
92.2262 -;
92.2263 -
92.2264 -package_name_list ::=
92.2265 -name:name
92.2266 -{:
92.2267 - List idList = new LinkedList();
92.2268 - Identifier id = new Identifier(nameleft, nameright, name);
92.2269 - PackageName packageName = new PackageName(nameleft, nameright, id);
92.2270 - idList.add(packageName);
92.2271 - RESULT = idList;
92.2272 -:}
92.2273 -| package_name_list:idList COMMA name:name
92.2274 -{:
92.2275 - Identifier id = new Identifier(nameleft, nameright, name);
92.2276 - PackageName packageName = new PackageName(nameleft, nameright, id);
92.2277 - idList.add(packageName);
92.2278 - RESULT = idList;
92.2279 -:}
92.2280 -;
92.2281 -
92.2282 -subtype_mark_list ::=
92.2283 -name:name
92.2284 -{:
92.2285 - List idList = new LinkedList();
92.2286 - Identifier id = new Identifier(nameleft, nameright, name);
92.2287 - TypeName typeName = new TypeName(nameleft, nameright, id);
92.2288 - idList.add(typeName);
92.2289 - RESULT = idList;
92.2290 -:}
92.2291 -| subtype_mark_list:idList COMMA name:name
92.2292 -{:
92.2293 - Identifier id = new Identifier(nameleft, nameright, name);
92.2294 - TypeName typeName = new TypeName(nameleft, nameright, id);
92.2295 - idList.add(typeName);
92.2296 - RESULT = idList;
92.2297 -:}
92.2298 -;
92.2299 -
92.2300 -
92.2301 -///////////////////////////////////////////////////////////////////////////////
92.2302 -// 8.5 Renaming Declarations
92.2303 -//
92.2304 -renaming_declaration ::=
92.2305 -defining_identifier_list COLON object_qualifier_opt subtype_indication RENAMES name SEMICOLON
92.2306 -| defining_identifier_list COLON EXCEPTION RENAMES name SEMICOLON
92.2307 -| rename_unit:unit
92.2308 -{:
92.2309 - RESULT = unit;
92.2310 -:}
92.2311 -;
92.2312 -
92.2313 -rename_unit ::=
92.2314 -PACKAGE:token compound_name:name RENAMES name:renames SEMICOLON:end
92.2315 -{:
92.2316 - Identifier packageNameId = new Identifier(nameleft, nameright, name);
92.2317 - Identifier packageRenamesId = new Identifier(renamesleft, renamesright, renames);
92.2318 - PackageRenames packageRenames = new PackageRenames(tokenleft, endright, packageNameId, packageRenamesId);
92.2319 - RESULT = packageRenames;
92.2320 -:}
92.2321 -| subprogram_specification RENAMES name SEMICOLON:end
92.2322 -| generic_formal_part PACKAGE compound_name RENAMES name SEMICOLON
92.2323 -| generic_formal_part subprogram_specification RENAMES name SEMICOLON
92.2324 -;
92.2325 -
92.2326 -task_decl ::= task_spec SEMICOLON
92.2327 - ;
92.2328 -
92.2329 -task_spec ::= TASK simple_name task_def
92.2330 - | TASK TYPE simple_name discrim_part_opt task_def
92.2331 - ;
92.2332 -
92.2333 -task_def ::=
92.2334 - | IS entry_decl_s rep_spec_s task_private_opt END id_opt
92.2335 - ;
92.2336 -
92.2337 -task_private_opt ::=
92.2338 - | PRIVATE entry_decl_s rep_spec_s
92.2339 - ;
92.2340 -
92.2341 -task_body ::= TASK BODY simple_name IS
92.2342 - declarative_part block_body END id_opt SEMICOLON
92.2343 - ;
92.2344 -
92.2345 -prot_decl ::= prot_spec SEMICOLON
92.2346 - ;
92.2347 -
92.2348 -prot_spec ::= PROTECTED IDENTIFIER prot_def
92.2349 - | PROTECTED TYPE simple_name discrim_part_opt prot_def
92.2350 - ;
92.2351 -
92.2352 -prot_def ::= IS prot_op_decl_s prot_private_opt END id_opt
92.2353 - ;
92.2354 -
92.2355 -prot_private_opt ::=
92.2356 - | PRIVATE prot_elem_decl_s
92.2357 - ;
92.2358 -
92.2359 -prot_op_decl_s ::=
92.2360 - | prot_op_decl_s prot_op_decl
92.2361 - ;
92.2362 -
92.2363 -prot_op_decl ::= entry_decl
92.2364 - | subprogram_specification SEMICOLON
92.2365 - | rep_spec
92.2366 - | pragma
92.2367 - ;
92.2368 -
92.2369 -prot_elem_decl_s ::=
92.2370 - | prot_elem_decl_s prot_elem_decl
92.2371 - ;
92.2372 -
92.2373 -prot_elem_decl ::= prot_op_decl | comp_decl ;
92.2374 -
92.2375 -/////////////////////////////////////////////////////////////////
92.2376 -// 9.4 Protected Units and Protected Objects
92.2377 -//
92.2378 -protected_body ::=
92.2379 -PROTECTED BODY simple_name:name IS
92.2380 -prot_op_body_s END id_opt SEMICOLON
92.2381 -;
92.2382 -
92.2383 -prot_op_body_s ::= pragma_s
92.2384 - | prot_op_body_s prot_op_body pragma_s
92.2385 - ;
92.2386 -
92.2387 -prot_op_body ::= entry_body
92.2388 - | subprogram_body
92.2389 - | subprogram_specification SEMICOLON
92.2390 - ;
92.2391 -
92.2392 -entry_decl_s ::= pragma_s
92.2393 - | entry_decl_s entry_decl pragma_s
92.2394 - ;
92.2395 -
92.2396 -entry_decl ::= ENTRY IDENTIFIER formal_part_opt SEMICOLON
92.2397 - | ENTRY IDENTIFIER LPAREN discrete_range RPAREN formal_part_opt SEMICOLON
92.2398 - ;
92.2399 -
92.2400 -entry_body ::= ENTRY IDENTIFIER formal_part_opt WHEN condition entry_body_part
92.2401 - | ENTRY IDENTIFIER LPAREN iter_part discrete_range RPAREN
92.2402 - formal_part_opt WHEN condition entry_body_part
92.2403 - ;
92.2404 -
92.2405 -entry_body_part ::= SEMICOLON
92.2406 - | IS declarative_part block_body END id_opt SEMICOLON
92.2407 - ;
92.2408 -
92.2409 -rep_spec_s ::=
92.2410 - | rep_spec_s rep_spec pragma_s
92.2411 - ;
92.2412 -
92.2413 -entry_call ::=
92.2414 -procedure_call_statement:statement
92.2415 -{:
92.2416 - RESULT = statement;
92.2417 -:}
92.2418 -;
92.2419 -
92.2420 -accept_stmt ::= accept_hdr SEMICOLON
92.2421 - | accept_hdr DO handled_stmt_s END id_opt SEMICOLON
92.2422 - ;
92.2423 -
92.2424 -accept_hdr ::= ACCEPT entry_name formal_part_opt
92.2425 - ;
92.2426 -
92.2427 -entry_name ::= simple_name
92.2428 - | entry_name LPAREN expression RPAREN
92.2429 - ;
92.2430 -
92.2431 -/////////////////////////////////////////////////////////////////
92.2432 -// 9.6 Delay Statements, Duration, and Time
92.2433 -//
92.2434 -delay_statement ::=
92.2435 -DELAY:token expression:expr SEMICOLON:end
92.2436 -{:
92.2437 - RESULT = new ReturnStatement(tokenleft, endright, expr);
92.2438 -:}
92.2439 -| DELAY:token UNTIL expression:expr SEMICOLON:end
92.2440 -{:
92.2441 - RESULT = new ReturnStatement(tokenleft, endright, expr);
92.2442 -:}
92.2443 -;
92.2444 -
92.2445 -select_stmt ::= select_wait
92.2446 - | async_select
92.2447 - | timed_entry_call
92.2448 - | cond_entry_call
92.2449 - ;
92.2450 -
92.2451 -select_wait ::= SELECT guarded_select_alt or_select else_opt
92.2452 - END SELECT SEMICOLON
92.2453 - ;
92.2454 -
92.2455 -guarded_select_alt ::= select_alt
92.2456 - | WHEN condition ARROW select_alt
92.2457 - ;
92.2458 -
92.2459 -or_select ::=
92.2460 - | or_select OR guarded_select_alt
92.2461 - ;
92.2462 -
92.2463 -select_alt ::= accept_stmt stmts_opt
92.2464 - | delay_statement stmts_opt
92.2465 - | TERMINATE SEMICOLON
92.2466 - ;
92.2467 -
92.2468 -delay_or_entry_alt ::= delay_statement stmts_opt
92.2469 - | entry_call stmts_opt
92.2470 - ;
92.2471 -
92.2472 -async_select ::= SELECT delay_or_entry_alt
92.2473 - THEN ABORT sequence_of_statements
92.2474 - END SELECT SEMICOLON
92.2475 - ;
92.2476 -
92.2477 -timed_entry_call ::= SELECT entry_call stmts_opt
92.2478 - OR delay_statement stmts_opt
92.2479 - END SELECT SEMICOLON
92.2480 - ;
92.2481 -
92.2482 -cond_entry_call ::= SELECT entry_call stmts_opt
92.2483 - ELSE sequence_of_statements
92.2484 - END SELECT SEMICOLON
92.2485 - ;
92.2486 -
92.2487 -stmts_opt ::=
92.2488 - | sequence_of_statements
92.2489 - ;
92.2490 -
92.2491 -///////////////////////////////////////////////////////////////////////////////
92.2492 -// 9.8 Abort of a Task - Abort of a Sequence of Statements
92.2493 -//
92.2494 -abort_statement ::=
92.2495 -ABORT:token task_name_list:taskList SEMICOLON:end
92.2496 -{:
92.2497 - RESULT = new AbortStatement(tokenleft, endright, taskList);
92.2498 -:}
92.2499 -;
92.2500 -
92.2501 -task_name_list ::=
92.2502 -name:name
92.2503 -{:
92.2504 - List idList = new LinkedList();
92.2505 - Identifier id = new Identifier(nameleft, nameright, name);
92.2506 - TaskName taskName = new TaskName(nameleft, nameright, id);
92.2507 - idList.add(taskName);
92.2508 - RESULT = idList;
92.2509 -:}
92.2510 -| task_name_list:idList COMMA name:name
92.2511 -{:
92.2512 - Identifier id = new Identifier(nameleft, nameright, name);
92.2513 - TaskName taskName = new TaskName(nameleft, nameright, id);
92.2514 - idList.add(taskName);
92.2515 - RESULT = idList;
92.2516 -:}
92.2517 -;
92.2518 -
92.2519 -///////////////////////////////////////////////////////////////////////////////
92.2520 -// 10.1.1 Compilation Units - Library Units
92.2521 -//
92.2522 -compilation ::=
92.2523 -compilation_units:units
92.2524 -{:
92.2525 - Ada95ASTLexer adaAstLexer = (Ada95ASTLexer) parser.getScanner();
92.2526 - List comments = adaAstLexer.getCommentList();
92.2527 - Program program = new Program(unitsleft, unitsright, units, comments);
92.2528 - RESULT = program;
92.2529 -:}
92.2530 -;
92.2531 -
92.2532 -compilation_units ::=
92.2533 -{:
92.2534 - RESULT = new LinkedList();
92.2535 -:}
92.2536 -| compilation_units:units compilation_unit:unit
92.2537 -{:
92.2538 - if(units != null) {
92.2539 - units.add(unit);
92.2540 - }
92.2541 - RESULT = units;
92.2542 -:}
92.2543 -| pragma pragma_s // 10.1.5 - 4
92.2544 -{:
92.2545 - RESULT = new LinkedList();
92.2546 -:}
92.2547 -;
92.2548 -
92.2549 -compilation_unit ::=
92.2550 -context_clause private_opt unit:unit pragma_s
92.2551 -{:
92.2552 - RESULT = unit;
92.2553 -:}
92.2554 -| private_opt unit:unit pragma_s // 10.1.5 - 5/1
92.2555 -{:
92.2556 - RESULT = unit;
92.2557 -:}
92.2558 -;
92.2559 -
92.2560 -private_opt ::=
92.2561 -| PRIVATE
92.2562 -;
92.2563 -
92.2564 -unit ::=
92.2565 -package_declaration:statement
92.2566 -{:
92.2567 - RESULT = statement;
92.2568 -:}
92.2569 -| package_body:statement
92.2570 -{:
92.2571 - RESULT = statement;
92.2572 -:}
92.2573 -| subprog_declaration:statement
92.2574 -{:
92.2575 - RESULT = statement;
92.2576 -:}
92.2577 -| subprogram_body:statement
92.2578 -{:
92.2579 - RESULT = statement;
92.2580 -:}
92.2581 -| subunit:statement
92.2582 -{:
92.2583 - RESULT = statement;
92.2584 -:}
92.2585 -| generic_declaration:statement
92.2586 -{:
92.2587 - RESULT = statement;
92.2588 -:}
92.2589 -| rename_unit
92.2590 -;
92.2591 -
92.2592 -///////////////////////////////////////////////////////////////////////////////
92.2593 -// 10.1.2 Context Clauses - With Clauses
92.2594 -//
92.2595 -context_clause ::=
92.2596 -with_clause:statement
92.2597 -{:
92.2598 - RESULT = statement;
92.2599 -:}
92.2600 -| use_clause:statement
92.2601 -{:
92.2602 - RESULT = statement;
92.2603 -:}
92.2604 -| context_clause with_clause:statement
92.2605 -{:
92.2606 - RESULT = statement;
92.2607 -:}
92.2608 -| context_clause use_clause:statement
92.2609 -{:
92.2610 - RESULT = statement;
92.2611 -:}
92.2612 -| context_clause pragma
92.2613 -;
92.2614 -
92.2615 -with_clause ::=
92.2616 -WITH:token library_unit_name_list:packageList SEMICOLON:end
92.2617 -{:
92.2618 - RESULT = new With(tokenleft, endright, packageList);
92.2619 -:}
92.2620 -;
92.2621 -
92.2622 -///////////////////////////////////////////////////////////////////////////////
92.2623 -// 10.1.3 Subunits of Compilation Units
92.2624 -//
92.2625 -subunit ::=
92.2626 -SEPARATE LPAREN compound_name RPAREN
92.2627 -proper_body:statement
92.2628 -{:
92.2629 - RESULT = statement;
92.2630 -:}
92.2631 -;
92.2632 -
92.2633 -
92.2634 -body_stub ::=
92.2635 -TASK BODY simple_name IS SEPARATE SEMICOLON
92.2636 -| PACKAGE BODY compound_name IS SEPARATE SEMICOLON
92.2637 -| subprogram_specification:subprog IS SEPARATE SEMICOLON
92.2638 -{:
92.2639 - RESULT = subprog;
92.2640 -:}
92.2641 -| PROTECTED BODY simple_name IS SEPARATE SEMICOLON
92.2642 -;
92.2643 -
92.2644 -exception_decl ::= defining_identifier_list COLON EXCEPTION SEMICOLON
92.2645 - ;
92.2646 -
92.2647 -except_handler_part ::= EXCEPTION exception_handler
92.2648 - | except_handler_part exception_handler
92.2649 - ;
92.2650 -
92.2651 -exception_handler ::= WHEN except_choice_s ARROW sequence_of_statements
92.2652 - | WHEN IDENTIFIER COLON except_choice_s ARROW sequence_of_statements
92.2653 - ;
92.2654 -
92.2655 -except_choice_s ::= except_choice
92.2656 - | except_choice_s BAR except_choice
92.2657 - ;
92.2658 -
92.2659 -except_choice ::= name
92.2660 - | OTHERS
92.2661 - ;
92.2662 -
92.2663 -///////////////////////////////////////////////////////////////////////////////
92.2664 -// 11.3 Raise Statements
92.2665 -//
92.2666 -raise_statement ::=
92.2667 -RAISE:token name_opt:exceptionName SEMICOLON:end
92.2668 -{:
92.2669 - RESULT = new RaiseStatement(tokenleft, endright, exceptionName);
92.2670 -:}
92.2671 -;
92.2672 -
92.2673 -requeue_stmt ::= REQUEUE name SEMICOLON
92.2674 - | REQUEUE name WITH ABORT SEMICOLON
92.2675 - ;
92.2676 -
92.2677 -///////////////////////////////////////////////////////////////////////////////
92.2678 -// 12.1 Generic Declarations
92.2679 -//
92.2680 -generic_declaration ::=
92.2681 -generic_formal_part subprogram_specification SEMICOLON
92.2682 -| generic_formal_part package_specification:statement SEMICOLON
92.2683 -{:
92.2684 - RESULT = statement;
92.2685 -:}
92.2686 -;
92.2687 -
92.2688 -generic_formal_part ::= GENERIC
92.2689 - | generic_formal_part generic_formal
92.2690 - ;
92.2691 -
92.2692 -generic_formal ::= param SEMICOLON
92.2693 - | TYPE simple_name generic_discrim_part_opt IS generic_type_def SEMICOLON
92.2694 - | WITH PROCEDURE simple_name
92.2695 - formal_part_opt subp_default SEMICOLON
92.2696 - | WITH FUNCTION designator
92.2697 - formal_part_opt RETURN name subp_default SEMICOLON
92.2698 - | WITH PACKAGE simple_name IS NEW name LPAREN BOX RPAREN SEMICOLON
92.2699 - | WITH PACKAGE simple_name IS NEW name SEMICOLON
92.2700 - | use_clause
92.2701 - ;
92.2702 -
92.2703 -generic_discrim_part_opt ::=
92.2704 - | discrim_part
92.2705 - | LPAREN BOX RPAREN
92.2706 - ;
92.2707 -
92.2708 -subp_default ::=
92.2709 - | IS name
92.2710 - | IS BOX
92.2711 - ;
92.2712 -
92.2713 -generic_type_def ::= LPAREN BOX RPAREN
92.2714 - | RANGE BOX
92.2715 - | MOD BOX
92.2716 - | DELTA BOX
92.2717 - | DELTA BOX DIGITS BOX
92.2718 - | DIGITS BOX
92.2719 - | array_type
92.2720 - | access_type
92.2721 - | private_type_declaration
92.2722 - | generic_derived_type
92.2723 - ;
92.2724 -
92.2725 -generic_derived_type ::= NEW subtype_indication
92.2726 - | NEW subtype_indication WITH PRIVATE
92.2727 - | ABSTRACT NEW subtype_indication WITH PRIVATE
92.2728 - ;
92.2729 -
92.2730 -generic_subp_inst ::=
92.2731 -subprogram_specification:subprog IS generic_inst
92.2732 -{:
92.2733 - RESULT = subprog;
92.2734 -:}
92.2735 -;
92.2736 -
92.2737 -// 12.3
92.2738 -generic_package_instantiation ::=
92.2739 -PACKAGE compound_name IS generic_inst
92.2740 -;
92.2741 -
92.2742 -generic_inst ::= NEW name
92.2743 -;
92.2744 -
92.2745 -rep_spec ::= attrib_def
92.2746 - | record_type_spec
92.2747 - | address_spec
92.2748 - ;
92.2749 -
92.2750 -attrib_def ::= FOR subtype_mark USE expression SEMICOLON
92.2751 - ;
92.2752 -
92.2753 -record_type_spec ::= FOR subtype_mark USE RECORD align_opt comp_loc_s END RECORD SEMICOLON
92.2754 - ;
92.2755 -
92.2756 -align_opt ::=
92.2757 - | AT MOD expression SEMICOLON
92.2758 - ;
92.2759 -
92.2760 -comp_loc_s ::=
92.2761 - | comp_loc_s subtype_mark AT expression RANGE range SEMICOLON
92.2762 - ;
92.2763 -
92.2764 -address_spec ::= FOR subtype_mark USE AT expression SEMICOLON
92.2765 - ;
92.2766 -
92.2767 -///////////////////////////////////////////////////////////////////////////////
92.2768 -// 13.8 Machine Code Insertions
92.2769 -//
92.2770 -code_statement ::=
92.2771 -qualified_expression:expr SEMICOLON:end
92.2772 -{:
92.2773 - RESULT = new CodeStatement (exprleft, endright, expr);
92.2774 -:}
92.2775 -;
92.2776 \ No newline at end of file
93.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/resources/Ada95Parser.cup Tue Oct 02 21:55:21 2012 -0400
93.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
93.3 @@ -1,1510 +0,0 @@
93.4 -/*
93.5 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
93.6 - *
93.7 - * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
93.8 - *
93.9 - * The contents of this file are subject to the terms of either the GNU
93.10 - * General Public License Version 2 only ("GPL") or the Common
93.11 - * Development and Distribution License("CDDL") (collectively, the
93.12 - * "License"). You may not use this file except in compliance with the
93.13 - * License. You can obtain a copy of the License at
93.14 - * http://www.netbeans.org/cddl-gplv2.html
93.15 - * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
93.16 - * specific language governing permissions and limitations under the
93.17 - * License. When distributing the software, include this License Header
93.18 - * Notice in each file and include the License file at
93.19 - * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
93.20 - * particular file as subject to the "Classpath" exception as provided
93.21 - * by Sun in the GPL Version 2 section of the License file that
93.22 - * accompanied this code. If applicable, add the following below the
93.23 - * License Header, with the fields enclosed by brackets [] replaced by
93.24 - * your own identifying information:
93.25 - * "Portions Copyrighted [year] [name of copyright owner]"
93.26 - *
93.27 - * If you wish your version of this file to be governed by only the CDDL
93.28 - * or only the GPL Version 2, indicate your decision by adding
93.29 - * "[Contributor] elects to include this software in this distribution
93.30 - * under the [CDDL or GPL Version 2] license." If you do not indicate a
93.31 - * single choice of license, a recipient has the option to distribute
93.32 - * your version of this file under either the CDDL, the GPL Version 2 or
93.33 - * to extend the choice of license to its licensees as provided above.
93.34 - * However, if you add GPL Version 2 code and therefore, elected the GPL
93.35 - * Version 2 license, then the option applies only if the new code is
93.36 - * made subject to such option by the copyright holder.
93.37 - *
93.38 - * Contributor(s):
93.39 - *
93.40 - * Portions Copyrighted 2008 Sun Microsystems, Inc.
93.41 - */
93.42 -package org.netbeans.modules.ada.editor.parser;
93.43 -
93.44 -import org.netbeans.modules.ada.editor.lexer.Ada95ASTLexer;
93.45 -
93.46 -parser code {:
93.47 -
93.48 - private ErrorStrategy defaultStrategy = new DefaultErrorStrategy();;
93.49 - private ErrorStrategy errorStrategy = defaultStrategy;
93.50 -
93.51 - private ParserErrorHandler errorHandler = null;
93.52 -
93.53 - public void setErrorHandler (ParserErrorHandler handler) {
93.54 - this.errorHandler = handler;
93.55 - }
93.56 -
93.57 - public ParserErrorHandler getErrorHandler () {
93.58 - return this.errorHandler;
93.59 - }
93.60 -
93.61 - interface ErrorStrategy {
93.62 - public boolean errorRecovery(boolean debug) throws Exception;
93.63 - }
93.64 -
93.65 - class DefaultErrorStrategy implements ErrorStrategy {
93.66 -
93.67 - public boolean errorRecovery(boolean debug) throws Exception {
93.68 - return Ada95ASTParser.super.error_recovery(debug);
93.69 - }
93.70 - }
93.71 -
93.72 - /**
93.73 - * Attempt to recover from a syntax error. This returns false if recovery fails,
93.74 - * true if it succeeds.
93.75 - * @param debug should we produce debugging messages as we parse.
93.76 - */
93.77 - @Override
93.78 - protected boolean error_recovery(boolean debug) throws java.lang.Exception {
93.79 - return errorStrategy.errorRecovery(debug);
93.80 - }
93.81 -
93.82 - /**
93.83 - * Report a non fatal error (or warning). This method takes a message
93.84 - * string and an additional object (to be used by specializations implemented in subclasses).
93.85 - * The super class prints the message to System.err.
93.86 - * @param message an error message.
93.87 - * @param info an extra object reserved for use by specialized subclasses.
93.88 - */
93.89 - @Override
93.90 - public void report_error(String message, Object info) {
93.91 - System.out.print("report_eror" + message);
93.92 - }
93.93 -
93.94 - /**
93.95 - * This method is called when a syntax error has been detected and recovery is about to be invoked.
93.96 - * The super class just emit a "Syntax error" error message.
93.97 - * @param cur_token the current lookahead Symbol.
93.98 - */
93.99 - @Override
93.100 - public void syntax_error(java_cup.runtime.Symbol cur_token) {
93.101 - java_cup.runtime.Symbol symbol = (java_cup.runtime.Symbol)stack.peek();
93.102 - int state = symbol.parse_state;
93.103 - short[] rowOfProbe = action_tab[state];
93.104 - if (errorHandler != null) {
93.105 - errorHandler.handleError(ParserErrorHandler.Type.SYNTAX_ERROR, rowOfProbe, cur_token, symbol);
93.106 - }
93.107 - }
93.108 -
93.109 - /**
93.110 - * This method is called when a syntax error has been detected during action.
93.111 - * @param message an error message.
93.112 - */
93.113 - public void message_error(String message) {
93.114 - java_cup.runtime.Symbol symbol = (java_cup.runtime.Symbol)stack.peek();
93.115 - if (errorHandler != null) {
93.116 - errorHandler.handleError(ParserErrorHandler.Type.SYNTAX_ERROR, symbol, message);
93.117 - }
93.118 - }
93.119 -
93.120 - /**
93.121 - * Report a fatal error. This method takes a message string and an additional object
93.122 - * (to be used by specializations implemented in subclasses).
93.123 - * The super class reports the error then throws an exception.
93.124 - * @param message an error message.
93.125 - * @param info an extra object reserved for use by specialized subclasses.
93.126 - */
93.127 - @Override
93.128 - public void report_fatal_error(String message, Object info) throws Exception {
93.129 - if (errorHandler != null) {
93.130 - errorHandler.handleError(ParserErrorHandler.Type.FATAL_PARSER_ERROR, null, cur_token, null);
93.131 - }
93.132 - }
93.133 -
93.134 - @Override
93.135 - protected int error_sync_size() {
93.136 - return 1;
93.137 - }
93.138 -
93.139 -:}
93.140 -
93.141 -
93.142 -/*********************************************************
93.143 - * *
93.144 - * Ada 95 (LALR) Parser (no AST), based on: *
93.145 - * *
93.146 - * 1. Ada Reference Manual *
93.147 - * ISO/IEC 8652:1995(E) *
93.148 - * with Technical Corrigendum 1 *
93.149 - * Language and Standard Libraries *
93.150 - * Copyright � 1992,1993,1994,1995 Intermetrics, Inc. *
93.151 - * Copyright � 2000 The MITRE Corporation, Inc. *
93.152 - * 2. http://www.adaic.com/standards/95lrm/grammar9x.y *
93.153 - * *
93.154 - * Author: Andrea Lucarelli *
93.155 - * Parser Generator: JavCup *
93.156 - * *
93.157 - *********************************************************/
93.158 -
93.159 -/*************************
93.160 - * JavaCup Terminals *
93.161 - *************************/
93.162 -
93.163 -//
93.164 -// Ada 95 keywords
93.165 -//
93.166 -terminal ABORT;
93.167 -terminal ABS;
93.168 -terminal ABSTRACT;
93.169 -terminal ACCEPT;
93.170 -terminal ACCESS;
93.171 -terminal ALIASED;
93.172 -terminal ALL;
93.173 -terminal AND;
93.174 -terminal ARRAY;
93.175 -terminal AT;
93.176 -terminal BEGIN;
93.177 -terminal BODY;
93.178 -terminal CASE;
93.179 -terminal CONSTANT;
93.180 -terminal DECLARE;
93.181 -terminal DELAY;
93.182 -terminal DELTA;
93.183 -terminal DIGITS;
93.184 -terminal DO;
93.185 -terminal ELSE;
93.186 -terminal ELSIF;
93.187 -terminal END;
93.188 -terminal ENTRY;
93.189 -terminal EXCEPTION;
93.190 -terminal EXIT;
93.191 -terminal FOR;
93.192 -terminal FUNCTION;
93.193 -terminal GENERIC;
93.194 -terminal GOTO;
93.195 -terminal IF;
93.196 -terminal IN;
93.197 -terminal IS;
93.198 -terminal LIMITED;
93.199 -terminal LOOP;
93.200 -terminal MOD;
93.201 -terminal NEW;
93.202 -terminal NOT;
93.203 -terminal NULL;
93.204 -terminal OF;
93.205 -terminal OR;
93.206 -terminal OTHERS;
93.207 -terminal OUT;
93.208 -terminal PACKAGE;
93.209 -terminal PRAGMA;
93.210 -terminal PRIVATE;
93.211 -terminal PROCEDURE;
93.212 -terminal PROTECTED;
93.213 -terminal RAISE;
93.214 -terminal RANGE;
93.215 -terminal RECORD;
93.216 -terminal REM;
93.217 -terminal RENAMES;
93.218 -terminal REQUEUE;
93.219 -terminal RETURN;
93.220 -terminal REVERSE;
93.221 -terminal SELECT;
93.222 -terminal SEPARATE;
93.223 -terminal SUBTYPE;
93.224 -terminal TAGGED;
93.225 -terminal TASK;
93.226 -terminal TERMINATE;
93.227 -terminal THEN;
93.228 -terminal TYPE;
93.229 -terminal UNTIL;
93.230 -terminal USE;
93.231 -terminal WHEN;
93.232 -terminal WHILE;
93.233 -terminal WITH;
93.234 -terminal XOR;
93.235 -
93.236 -//
93.237 -// delimiters
93.238 -//
93.239 -terminal AMP;
93.240 -terminal TICK;
93.241 -terminal LPAREN;
93.242 -terminal RPAREN;
93.243 -terminal STAR;
93.244 -terminal PLUS;
93.245 -terminal COMMA;
93.246 -terminal MINUS;
93.247 -terminal DOT;
93.248 -terminal SLASH;
93.249 -terminal COLON;
93.250 -terminal SEMICOLON;
93.251 -terminal GT;
93.252 -terminal EQ;
93.253 -terminal LT;
93.254 -terminal BAR;
93.255 -
93.256 -//
93.257 -// compound delimiters
93.258 -//
93.259 -terminal ARROW;
93.260 -terminal DOT_DOT;
93.261 -terminal EXPON;
93.262 -terminal ASSIGNMENT;
93.263 -terminal INEQ;
93.264 -terminal GTEQ;
93.265 -terminal LTEQ;
93.266 -terminal LTLT;
93.267 -terminal GTGT;
93.268 -terminal BOX;
93.269 -
93.270 -terminal BASED_LITERAL;
93.271 -terminal DECIMAL_LITERAL;
93.272 -terminal CHAR_LITERAL;
93.273 -terminal STRING_LITERAL;
93.274 -terminal IDENTIFIER;
93.275 -
93.276 -non terminal compilation;
93.277 -non terminal pragma;
93.278 -non terminal simple_name;
93.279 -non terminal pragma_arg_s;
93.280 -non terminal pragma_arg;
93.281 -non terminal pragma_s;
93.282 -non terminal decl;
93.283 -non terminal object_decl;
93.284 -non terminal def_id_s;
93.285 -non terminal def_id;
93.286 -non terminal object_qualifier_opt;
93.287 -non terminal object_subtype_def;
93.288 -non terminal init_opt;
93.289 -non terminal number_decl;
93.290 -non terminal type_decl;
93.291 -non terminal discrim_part_opt;
93.292 -non terminal type_completion;
93.293 -non terminal type_def;
93.294 -non terminal subtype_decl;
93.295 -non terminal subtype_ind;
93.296 -non terminal constraint;
93.297 -non terminal decimal_digits_constraint;
93.298 -non terminal derived_type;
93.299 -non terminal range_constraint;
93.300 -non terminal range;
93.301 -non terminal enumeration_type;
93.302 -non terminal enum_id_s;
93.303 -non terminal enum_id;
93.304 -non terminal integer_type;
93.305 -non terminal range_spec;
93.306 -non terminal range_spec_opt;
93.307 -non terminal real_type;
93.308 -non terminal float_type;
93.309 -non terminal fixed_type;
93.310 -non terminal array_type;
93.311 -non terminal unconstr_array_type;
93.312 -non terminal constr_array_type;
93.313 -non terminal component_subtype_def;
93.314 -non terminal aliased_opt;
93.315 -non terminal index_s;
93.316 -non terminal index;
93.317 -non terminal iter_index_constraint;
93.318 -non terminal iter_discrete_range_s;
93.319 -non terminal discrete_range;
93.320 -non terminal range_constr_opt;
93.321 -non terminal record_type;
93.322 -non terminal record_def;
93.323 -non terminal tagged_opt;
93.324 -non terminal comp_list;
93.325 -non terminal comp_decl_s;
93.326 -non terminal variant_part_opt;
93.327 -non terminal comp_decl;
93.328 -non terminal discrim_part;
93.329 -non terminal discrim_spec_s;
93.330 -non terminal discrim_spec;
93.331 -non terminal access_opt;
93.332 -non terminal variant_part;
93.333 -non terminal variant_s;
93.334 -non terminal variant;
93.335 -non terminal choice_s;
93.336 -non terminal choice;
93.337 -non terminal discrete_with_range;
93.338 -non terminal access_type;
93.339 -non terminal prot_opt;
93.340 -non terminal decl_part;
93.341 -non terminal decl_item_s;
93.342 -non terminal decl_item_s1;
93.343 -non terminal decl_item;
93.344 -non terminal decl_item_or_body_s1;
93.345 -non terminal decl_item_or_body;
93.346 -non terminal body;
93.347 -non terminal name;
93.348 -non terminal mark;
93.349 -non terminal compound_name;
93.350 -non terminal c_name_list;
93.351 -non terminal used_char;
93.352 -non terminal operator_symbol;
93.353 -non terminal indexed_comp;
93.354 -non terminal value_s;
93.355 -non terminal value;
93.356 -non terminal selected_comp;
93.357 -non terminal attribute;
93.358 -non terminal attribute_id;
93.359 -non terminal literal;
93.360 -non terminal aggregate;
93.361 -non terminal value_s_2;
93.362 -non terminal comp_assoc;
93.363 -non terminal expression;
93.364 -non terminal logical;
93.365 -non terminal short_circuit;
93.366 -non terminal relation;
93.367 -non terminal relational;
93.368 -non terminal membership;
93.369 -non terminal simple_expression;
93.370 -non terminal unary;
93.371 -non terminal adding;
93.372 -non terminal term;
93.373 -non terminal multiplying;
93.374 -non terminal factor;
93.375 -non terminal primary;
93.376 -non terminal parenthesized_primary;
93.377 -non terminal qualified;
93.378 -non terminal allocator;
93.379 -non terminal statement_s;
93.380 -non terminal statement;
93.381 -non terminal unlabeled;
93.382 -non terminal simple_stmt;
93.383 -non terminal compound_stmt;
93.384 -non terminal label;
93.385 -non terminal NULL_stmt;
93.386 -non terminal assign_stmt;
93.387 -non terminal if_stmt;
93.388 -non terminal cond_clause_s;
93.389 -non terminal cond_clause;
93.390 -non terminal cond_part;
93.391 -non terminal condition;
93.392 -non terminal else_opt;
93.393 -non terminal case_stmt;
93.394 -non terminal case_hdr;
93.395 -non terminal alternative_s;
93.396 -non terminal alternative;
93.397 -non terminal loop_stmt;
93.398 -non terminal label_opt;
93.399 -non terminal iteration;
93.400 -non terminal iter_part;
93.401 -non terminal reverse_opt;
93.402 -non terminal basic_loop;
93.403 -non terminal id_opt;
93.404 -non terminal block;
93.405 -non terminal block_decl;
93.406 -non terminal block_body;
93.407 -non terminal handled_stmt_s;
93.408 -non terminal except_handler_part_opt;
93.409 -non terminal exit_stmt;
93.410 -non terminal name_opt;
93.411 -non terminal when_opt;
93.412 -non terminal return_stmt;
93.413 -non terminal goto_stmt;
93.414 -non terminal subprog_decl;
93.415 -non terminal subprog_spec;
93.416 -non terminal designator;
93.417 -non terminal formal_part_opt;
93.418 -non terminal formal_part;
93.419 -non terminal param_s;
93.420 -non terminal param;
93.421 -non terminal mode;
93.422 -non terminal subprog_spec_is_push;
93.423 -non terminal subprog_body;
93.424 -non terminal procedure_call;
93.425 -non terminal pkg_decl;
93.426 -non terminal pkg_spec;
93.427 -non terminal private_part;
93.428 -non terminal c_id_opt;
93.429 -non terminal pkg_body;
93.430 -non terminal body_opt;
93.431 -non terminal private_type;
93.432 -non terminal limited_opt;
93.433 -non terminal use_clause;
93.434 -non terminal name_s;
93.435 -non terminal rename_decl;
93.436 -non terminal rename_unit;
93.437 -non terminal renames;
93.438 -non terminal task_decl;
93.439 -non terminal task_spec;
93.440 -non terminal task_def;
93.441 -non terminal task_private_opt;
93.442 -non terminal task_body;
93.443 -non terminal prot_decl;
93.444 -non terminal prot_spec;
93.445 -non terminal prot_def;
93.446 -non terminal prot_private_opt;
93.447 -non terminal prot_op_decl_s;
93.448 -non terminal prot_op_decl;
93.449 -non terminal prot_elem_decl_s;
93.450 -non terminal prot_elem_decl;
93.451 -non terminal prot_body;
93.452 -non terminal prot_op_body_s;
93.453 -non terminal prot_op_body;
93.454 -non terminal entry_decl_s;
93.455 -non terminal entry_decl;
93.456 -non terminal entry_body;
93.457 -non terminal entry_body_part;
93.458 -non terminal rep_spec_s;
93.459 -non terminal entry_call;
93.460 -non terminal accept_stmt;
93.461 -non terminal accept_hdr;
93.462 -non terminal entry_name;
93.463 -non terminal delay_stmt;
93.464 -non terminal select_stmt;
93.465 -non terminal select_wait;
93.466 -non terminal guarded_select_alt;
93.467 -non terminal or_select;
93.468 -non terminal select_alt;
93.469 -non terminal delay_or_entry_alt;
93.470 -non terminal async_select;
93.471 -non terminal timed_entry_call;
93.472 -non terminal cond_entry_call;
93.473 -non terminal stmts_opt;
93.474 -non terminal abort_stmt;
93.475 -non terminal comp_unit;
93.476 -non terminal private_opt;
93.477 -non terminal context_spec;
93.478 -non terminal with_clause;
93.479 -non terminal use_clause_opt;
93.480 -non terminal unit;
93.481 -non terminal subunit;
93.482 -non terminal subunit_body;
93.483 -non terminal body_stub;
93.484 -non terminal exception_decl;
93.485 -non terminal except_handler_part;
93.486 -non terminal exception_handler;
93.487 -non terminal except_choice_s;
93.488 -non terminal except_choice;
93.489 -non terminal raise_stmt;
93.490 -non terminal requeue_stmt;
93.491 -non terminal generic_decl;
93.492 -non terminal generic_formal_part;
93.493 -non terminal generic_formal;
93.494 -non terminal generic_discrim_part_opt;
93.495 -non terminal subp_default;
93.496 -non terminal generic_type_def;
93.497 -non terminal generic_derived_type;
93.498 -non terminal generic_subp_inst;
93.499 -non terminal generic_pkg_inst;
93.500 -non terminal generic_inst;
93.501 -non terminal rep_spec;
93.502 -non terminal attrib_def;
93.503 -non terminal record_type_spec;
93.504 -non terminal align_opt;
93.505 -non terminal comp_loc_s;
93.506 -non terminal address_spec;
93.507 -non terminal code_stmt;
93.508 -
93.509 -// root symbol
93.510 -start with compilation;
93.511 -
93.512 -pragma ::= PRAGMA IDENTIFIER SEMICOLON
93.513 - | PRAGMA simple_name LPAREN pragma_arg_s RPAREN SEMICOLON
93.514 - ;
93.515 -
93.516 -pragma_arg_s ::= pragma_arg
93.517 - | pragma_arg_s COMMA pragma_arg
93.518 - ;
93.519 -
93.520 -pragma_arg ::= expression
93.521 - | simple_name ARROW expression
93.522 - ;
93.523 -
93.524 -pragma_s ::=
93.525 - | pragma_s pragma
93.526 - ;
93.527 -
93.528 -decl ::= object_decl
93.529 - | number_decl
93.530 - | type_decl
93.531 - | subtype_decl
93.532 - | subprog_decl
93.533 - | pkg_decl
93.534 - | task_decl
93.535 - | prot_decl
93.536 - | exception_decl
93.537 - | rename_decl
93.538 - | generic_decl
93.539 - | body_stub
93.540 - | error SEMICOLON
93.541 - ;
93.542 -
93.543 -object_decl ::= def_id_s COLON object_qualifier_opt object_subtype_def init_opt SEMICOLON
93.544 - ;
93.545 -
93.546 -def_id_s ::= def_id
93.547 - | def_id_s COMMA def_id
93.548 - ;
93.549 -
93.550 -def_id ::= IDENTIFIER
93.551 - ;
93.552 -
93.553 -object_qualifier_opt ::=
93.554 - | ALIASED
93.555 - | CONSTANT
93.556 - | ALIASED CONSTANT
93.557 - ;
93.558 -
93.559 -object_subtype_def ::= subtype_ind
93.560 - | array_type
93.561 - ;
93.562 -
93.563 -init_opt ::=
93.564 - | ASSIGNMENT expression
93.565 - ;
93.566 -
93.567 -number_decl ::= def_id_s COLON CONSTANT ASSIGNMENT expression SEMICOLON
93.568 - ;
93.569 -
93.570 -type_decl ::= TYPE IDENTIFIER discrim_part_opt type_completion SEMICOLON
93.571 - ;
93.572 -
93.573 -discrim_part_opt ::=
93.574 - | discrim_part
93.575 - | LPAREN BOX RPAREN
93.576 - ;
93.577 -
93.578 -type_completion ::=
93.579 - | IS type_def
93.580 - ;
93.581 -
93.582 -type_def ::= enumeration_type
93.583 - | integer_type
93.584 - | real_type
93.585 - | array_type
93.586 - | record_type
93.587 - | access_type
93.588 - | derived_type
93.589 - | private_type
93.590 - ;
93.591 -
93.592 -subtype_decl ::= SUBTYPE IDENTIFIER IS subtype_ind SEMICOLON
93.593 - ;
93.594 -
93.595 -subtype_ind ::= name constraint
93.596 - | name
93.597 - ;
93.598 -
93.599 -constraint ::= range_constraint
93.600 - | decimal_digits_constraint
93.601 - ;
93.602 -
93.603 -decimal_digits_constraint ::= DIGITS expression range_constr_opt
93.604 - ;
93.605 -
93.606 -derived_type ::= NEW subtype_ind
93.607 - | NEW subtype_ind WITH PRIVATE
93.608 - | NEW subtype_ind WITH record_def
93.609 - | ABSTRACT NEW subtype_ind WITH PRIVATE
93.610 - | ABSTRACT NEW subtype_ind WITH record_def
93.611 - ;
93.612 -
93.613 -range_constraint ::= RANGE range
93.614 - ;
93.615 -
93.616 -range ::= simple_expression DOT_DOT simple_expression
93.617 - | name TICK RANGE
93.618 - | name TICK RANGE LPAREN expression RPAREN
93.619 - ;
93.620 -
93.621 -enumeration_type ::= LPAREN enum_id_s RPAREN
93.622 -;
93.623 -
93.624 -enum_id_s ::= enum_id
93.625 - | enum_id_s COMMA enum_id
93.626 - ;
93.627 -
93.628 -enum_id ::= IDENTIFIER
93.629 - | CHAR_LITERAL
93.630 - ;
93.631 -
93.632 -integer_type ::= range_spec
93.633 - | MOD expression
93.634 - ;
93.635 -
93.636 -
93.637 -range_spec ::= range_constraint
93.638 - ;
93.639 -
93.640 -range_spec_opt ::=
93.641 - | range_spec
93.642 - ;
93.643 -
93.644 -real_type ::= float_type
93.645 - | fixed_type
93.646 - ;
93.647 -
93.648 -float_type ::= DIGITS expression range_spec_opt
93.649 - ;
93.650 -
93.651 -fixed_type ::= DELTA expression range_spec
93.652 - | DELTA expression DIGITS expression range_spec_opt
93.653 - ;
93.654 -
93.655 -array_type ::= unconstr_array_type
93.656 - | constr_array_type
93.657 - ;
93.658 -
93.659 -unconstr_array_type ::= ARRAY LPAREN index_s RPAREN OF component_subtype_def
93.660 - ;
93.661 -
93.662 -constr_array_type ::= ARRAY iter_index_constraint OF component_subtype_def
93.663 - ;
93.664 -
93.665 -component_subtype_def ::= aliased_opt subtype_ind
93.666 - ;
93.667 -
93.668 -aliased_opt ::=
93.669 - | ALIASED
93.670 - ;
93.671 -
93.672 -index_s ::= index
93.673 - | index_s COMMA index
93.674 - ;
93.675 -
93.676 -index ::= name RANGE BOX
93.677 - ;
93.678 -
93.679 -iter_index_constraint ::= LPAREN iter_discrete_range_s RPAREN
93.680 - ;
93.681 -
93.682 -iter_discrete_range_s ::= discrete_range
93.683 - | iter_discrete_range_s COMMA discrete_range
93.684 - ;
93.685 -
93.686 -discrete_range ::= name range_constr_opt
93.687 - | range
93.688 - ;
93.689 -
93.690 -range_constr_opt ::=
93.691 - | range_constraint
93.692 - ;
93.693 -
93.694 -record_type ::= tagged_opt limited_opt record_def
93.695 - ;
93.696 -
93.697 -record_def ::= RECORD pragma_s comp_list END RECORD
93.698 - | NULL RECORD
93.699 - ;
93.700 -
93.701 -tagged_opt ::=
93.702 - | TAGGED
93.703 - | ABSTRACT TAGGED
93.704 - ;
93.705 -
93.706 -comp_list ::= comp_decl_s variant_part_opt
93.707 - | variant_part pragma_s
93.708 - | NULL SEMICOLON pragma_s
93.709 - ;
93.710 -
93.711 -comp_decl_s ::= comp_decl
93.712 - | comp_decl_s pragma_s comp_decl
93.713 - ;
93.714 -
93.715 -variant_part_opt ::= pragma_s
93.716 - | pragma_s variant_part pragma_s
93.717 - ;
93.718 -
93.719 -comp_decl ::= def_id_s COLON component_subtype_def init_opt SEMICOLON
93.720 - | error SEMICOLON
93.721 - ;
93.722 -
93.723 -discrim_part ::= LPAREN discrim_spec_s RPAREN
93.724 - ;
93.725 -
93.726 -discrim_spec_s ::= discrim_spec
93.727 - | discrim_spec_s SEMICOLON discrim_spec
93.728 - ;
93.729 -
93.730 -discrim_spec ::= def_id_s COLON access_opt mark init_opt
93.731 - | error
93.732 - ;
93.733 -
93.734 -access_opt ::=
93.735 - | ACCESS
93.736 - ;
93.737 -
93.738 -variant_part ::= CASE simple_name IS pragma_s variant_s END CASE SEMICOLON
93.739 - ;
93.740 -
93.741 -variant_s ::= variant
93.742 - | variant_s variant
93.743 - ;
93.744 -
93.745 -variant ::= WHEN choice_s ARROW pragma_s comp_list
93.746 - ;
93.747 -
93.748 -choice_s ::= choice
93.749 - | choice_s BAR choice
93.750 - ;
93.751 -
93.752 -choice ::= expression
93.753 - | discrete_with_range
93.754 - | OTHERS
93.755 - ;
93.756 -
93.757 -discrete_with_range ::= name range_constraint
93.758 - | range
93.759 - ;
93.760 -
93.761 -access_type ::= ACCESS subtype_ind
93.762 - | ACCESS CONSTANT subtype_ind
93.763 - | ACCESS ALL subtype_ind
93.764 - | ACCESS prot_opt PROCEDURE formal_part_opt
93.765 - | ACCESS prot_opt FUNCTION formal_part_opt RETURN mark
93.766 - ;
93.767 -
93.768 -prot_opt ::=
93.769 - | PROTECTED
93.770 - ;
93.771 -
93.772 -decl_part ::=
93.773 - | decl_item_or_body_s1
93.774 - ;
93.775 -
93.776 -decl_item_s ::=
93.777 - | decl_item_s1
93.778 - ;
93.779 -
93.780 -decl_item_s1 ::= decl_item
93.781 - | decl_item_s1 decl_item
93.782 - ;
93.783 -
93.784 -decl_item ::= decl
93.785 - | use_clause
93.786 - | rep_spec
93.787 - | pragma
93.788 - ;
93.789 -
93.790 -decl_item_or_body_s1 ::= decl_item_or_body
93.791 - | decl_item_or_body_s1 decl_item_or_body
93.792 - ;
93.793 -
93.794 -decl_item_or_body ::= body
93.795 - | decl_item
93.796 - ;
93.797 -
93.798 -body ::= subprog_body
93.799 - | pkg_body
93.800 - | task_body
93.801 - | prot_body
93.802 - ;
93.803 -
93.804 -name ::= simple_name
93.805 - | indexed_comp
93.806 - | selected_comp
93.807 - | attribute
93.808 - | operator_symbol
93.809 - ;
93.810 -
93.811 -mark ::= simple_name
93.812 - | mark TICK attribute_id
93.813 - | mark DOT simple_name
93.814 - ;
93.815 -
93.816 -simple_name ::=
93.817 -IDENTIFIER:identifier
93.818 -{:
93.819 - RESULT = identifier;
93.820 -:}
93.821 -;
93.822 -
93.823 -compound_name ::=
93.824 -simple_name:simpleName
93.825 -{:
93.826 - RESULT = simpleName;
93.827 -:}
93.828 -| compound_name:compoundName DOT simple_name:simpleName
93.829 -{:
93.830 - RESULT = compoundName + "." + simpleName;
93.831 -:}
93.832 -;
93.833 -
93.834 -c_name_list ::= compound_name
93.835 - | c_name_list COMMA compound_name
93.836 - ;
93.837 -
93.838 -used_char ::= CHAR_LITERAL
93.839 - ;
93.840 -
93.841 -operator_symbol ::= STRING_LITERAL
93.842 - ;
93.843 -
93.844 -indexed_comp ::= name LPAREN value_s RPAREN
93.845 - ;
93.846 -
93.847 -value_s ::= value
93.848 - | value_s COMMA value
93.849 - ;
93.850 -
93.851 -value ::= expression
93.852 - | comp_assoc
93.853 - | discrete_with_range
93.854 - | error
93.855 - ;
93.856 -
93.857 -selected_comp ::= name DOT simple_name
93.858 - | name DOT used_char
93.859 - | name DOT operator_symbol
93.860 - | name DOT ALL
93.861 - ;
93.862 -
93.863 -attribute ::= name TICK attribute_id
93.864 - ;
93.865 -
93.866 -attribute_id ::= IDENTIFIER
93.867 - | DIGITS
93.868 - | DELTA
93.869 - | ACCESS
93.870 - ;
93.871 -
93.872 -literal ::= DECIMAL_LITERAL
93.873 - | BASED_LITERAL
93.874 - | used_char
93.875 - | NULL
93.876 - ;
93.877 -
93.878 -aggregate ::= LPAREN comp_assoc RPAREN
93.879 - | LPAREN value_s_2 RPAREN
93.880 - | LPAREN expression WITH value_s RPAREN
93.881 - | LPAREN expression WITH NULL RECORD RPAREN
93.882 - | LPAREN NULL RECORD RPAREN
93.883 - ;
93.884 -
93.885 -value_s_2 ::= value COMMA value
93.886 - | value_s_2 COMMA value
93.887 - ;
93.888 -
93.889 -comp_assoc ::= choice_s ARROW expression
93.890 - ;
93.891 -
93.892 -expression ::= relation
93.893 - | expression logical relation
93.894 - | expression short_circuit relation
93.895 - ;
93.896 -
93.897 -logical ::= AND
93.898 - | OR
93.899 - | XOR
93.900 - ;
93.901 -
93.902 -short_circuit ::= AND THEN
93.903 - | OR ELSE
93.904 - ;
93.905 -
93.906 -relation ::= simple_expression
93.907 - | simple_expression relational simple_expression
93.908 - | simple_expression membership range
93.909 - | simple_expression membership name
93.910 - ;
93.911 -
93.912 -relational ::= EQ
93.913 - | INEQ
93.914 - | GT
93.915 - | LTEQ
93.916 - | LT
93.917 - | GTEQ
93.918 - ;
93.919 -
93.920 -membership ::= IN
93.921 - | NOT IN
93.922 - ;
93.923 -
93.924 -simple_expression ::= unary term
93.925 - | term
93.926 - | simple_expression adding term
93.927 - ;
93.928 -
93.929 -unary ::= PLUS
93.930 - | MINUS
93.931 - ;
93.932 -
93.933 -adding ::= PLUS
93.934 - | MINUS
93.935 - | AMP
93.936 - ;
93.937 -
93.938 -term ::= factor
93.939 - | term multiplying factor
93.940 - ;
93.941 -
93.942 -multiplying ::= STAR
93.943 - | SLASH
93.944 - | MOD
93.945 - | REM
93.946 - ;
93.947 -
93.948 -factor ::= primary
93.949 - | NOT primary
93.950 - | ABS primary
93.951 - | primary EXPON primary
93.952 - ;
93.953 -
93.954 -primary ::= literal
93.955 - | name
93.956 - | allocator
93.957 - | qualified
93.958 - | parenthesized_primary
93.959 - ;
93.960 -
93.961 -parenthesized_primary ::= aggregate
93.962 - | LPAREN expression RPAREN
93.963 - ;
93.964 -
93.965 -qualified ::= name TICK parenthesized_primary
93.966 - ;
93.967 -
93.968 -allocator ::= NEW name
93.969 - | NEW qualified
93.970 - ;
93.971 -
93.972 -statement_s ::= statement
93.973 - | statement_s statement
93.974 - ;
93.975 -
93.976 -statement ::= unlabeled
93.977 - | label statement
93.978 - ;
93.979 -
93.980 -unlabeled ::= simple_stmt
93.981 - | compound_stmt
93.982 - | pragma
93.983 - ;
93.984 -
93.985 -simple_stmt ::= NULL_stmt
93.986 - | assign_stmt
93.987 - | exit_stmt
93.988 - | return_stmt
93.989 - | goto_stmt
93.990 - | procedure_call
93.991 - | delay_stmt
93.992 - | abort_stmt
93.993 - | raise_stmt
93.994 - | code_stmt
93.995 - | requeue_stmt
93.996 - | error SEMICOLON
93.997 - ;
93.998 -
93.999 -compound_stmt ::= if_stmt
93.1000 - | case_stmt
93.1001 - | loop_stmt
93.1002 - | block
93.1003 - | accept_stmt
93.1004 - | select_stmt
93.1005 - ;
93.1006 -
93.1007 -label ::= LTLT IDENTIFIER GTGT
93.1008 - ;
93.1009 -
93.1010 -NULL_stmt ::= NULL SEMICOLON
93.1011 - ;
93.1012 -
93.1013 -assign_stmt ::= name ASSIGNMENT expression SEMICOLON
93.1014 - ;
93.1015 -
93.1016 -if_stmt ::= IF cond_clause_s else_opt END IF SEMICOLON
93.1017 - ;
93.1018 -
93.1019 -cond_clause_s ::= cond_clause
93.1020 - | cond_clause_s ELSIF cond_clause
93.1021 - ;
93.1022 -
93.1023 -cond_clause ::= cond_part statement_s
93.1024 - ;
93.1025 -
93.1026 -cond_part ::= condition THEN
93.1027 - ;
93.1028 -
93.1029 -condition ::= expression
93.1030 - ;
93.1031 -
93.1032 -else_opt ::=
93.1033 - | ELSE statement_s
93.1034 - ;
93.1035 -
93.1036 -case_stmt ::= case_hdr pragma_s alternative_s END CASE SEMICOLON
93.1037 - ;
93.1038 -
93.1039 -case_hdr ::= CASE expression IS
93.1040 - ;
93.1041 -
93.1042 -alternative_s ::=
93.1043 - | alternative_s alternative
93.1044 - ;
93.1045 -
93.1046 -alternative ::= WHEN choice_s ARROW statement_s
93.1047 - ;
93.1048 -
93.1049 -loop_stmt ::= label_opt iteration basic_loop id_opt SEMICOLON
93.1050 - ;
93.1051 -
93.1052 -label_opt ::=
93.1053 - | IDENTIFIER COLON
93.1054 - ;
93.1055 -
93.1056 -iteration ::=
93.1057 - | WHILE condition
93.1058 - | iter_part reverse_opt discrete_range
93.1059 - ;
93.1060 -
93.1061 -iter_part ::= FOR IDENTIFIER IN
93.1062 - ;
93.1063 -
93.1064 -reverse_opt ::=
93.1065 - | REVERSE
93.1066 - ;
93.1067 -
93.1068 -basic_loop ::= LOOP statement_s END LOOP
93.1069 - ;
93.1070 -
93.1071 -id_opt ::=
93.1072 - | designator
93.1073 - ;
93.1074 -
93.1075 -block ::= label_opt block_decl block_body END id_opt SEMICOLON
93.1076 - ;
93.1077 -
93.1078 -block_decl ::=
93.1079 - | DECLARE decl_part
93.1080 - ;
93.1081 -
93.1082 -block_body ::= BEGIN handled_stmt_s
93.1083 - ;
93.1084 -
93.1085 -handled_stmt_s ::= statement_s except_handler_part_opt
93.1086 - ;
93.1087 -
93.1088 -except_handler_part_opt ::=
93.1089 - | except_handler_part
93.1090 - ;
93.1091 -
93.1092 -exit_stmt ::= EXIT name_opt when_opt SEMICOLON
93.1093 - ;
93.1094 -
93.1095 -name_opt ::=
93.1096 - | name
93.1097 - ;
93.1098 -
93.1099 -when_opt ::=
93.1100 - | WHEN condition
93.1101 - ;
93.1102 -
93.1103 -return_stmt ::= RETURN SEMICOLON
93.1104 - | RETURN expression SEMICOLON
93.1105 - ;
93.1106 -
93.1107 -goto_stmt ::= GOTO name SEMICOLON
93.1108 - ;
93.1109 -
93.1110 -subprog_decl ::= subprog_spec SEMICOLON
93.1111 - | generic_subp_inst SEMICOLON
93.1112 - | subprog_spec_is_push ABSTRACT SEMICOLON
93.1113 - ;
93.1114 -
93.1115 -subprog_spec ::= PROCEDURE compound_name formal_part_opt
93.1116 - | FUNCTION designator formal_part_opt RETURN name
93.1117 - | FUNCTION designator /* for generic inst and generic rename */
93.1118 - ;
93.1119 -
93.1120 -designator ::= compound_name
93.1121 - | STRING_LITERAL
93.1122 - ;
93.1123 -
93.1124 -formal_part_opt ::=
93.1125 - | formal_part
93.1126 - ;
93.1127 -
93.1128 -formal_part ::= LPAREN param_s RPAREN
93.1129 - ;
93.1130 -
93.1131 -param_s ::= param
93.1132 - | param_s SEMICOLON param
93.1133 - ;
93.1134 -
93.1135 -param ::= def_id_s COLON mode mark init_opt
93.1136 - | error
93.1137 - ;
93.1138 -
93.1139 -mode ::=
93.1140 - | IN
93.1141 - | OUT
93.1142 - | IN OUT
93.1143 - | ACCESS
93.1144 - ;
93.1145 -
93.1146 -subprog_spec_is_push ::= subprog_spec IS
93.1147 - ;
93.1148 -
93.1149 -subprog_body ::= subprog_spec_is_push
93.1150 - decl_part block_body END id_opt SEMICOLON
93.1151 - ;
93.1152 -
93.1153 -procedure_call ::= name SEMICOLON
93.1154 - ;
93.1155 -
93.1156 -pkg_decl ::= pkg_spec SEMICOLON
93.1157 - | generic_pkg_inst SEMICOLON
93.1158 - ;
93.1159 -
93.1160 -pkg_spec ::= PACKAGE compound_name IS
93.1161 - decl_item_s private_part END c_id_opt
93.1162 - ;
93.1163 -
93.1164 -private_part ::=
93.1165 - | PRIVATE decl_item_s
93.1166 - ;
93.1167 -
93.1168 -c_id_opt ::=
93.1169 - | compound_name
93.1170 - ;
93.1171 -
93.1172 -pkg_body ::= PACKAGE BODY compound_name IS
93.1173 - decl_part body_opt END c_id_opt SEMICOLON
93.1174 - ;
93.1175 -
93.1176 -body_opt ::=
93.1177 - | block_body
93.1178 - ;
93.1179 -
93.1180 -private_type ::= tagged_opt limited_opt PRIVATE
93.1181 - ;
93.1182 -
93.1183 -limited_opt ::=
93.1184 - | LIMITED
93.1185 - ;
93.1186 -
93.1187 -use_clause ::= USE name_s SEMICOLON
93.1188 - | USE TYPE name_s SEMICOLON
93.1189 - ;
93.1190 -
93.1191 -name_s ::= name
93.1192 - | name_s COMMA name
93.1193 - ;
93.1194 -
93.1195 -rename_decl ::= def_id_s COLON object_qualifier_opt subtype_ind renames SEMICOLON
93.1196 - | def_id_s COLON EXCEPTION renames SEMICOLON
93.1197 - | rename_unit
93.1198 - ;
93.1199 -
93.1200 -rename_unit ::= PACKAGE compound_name renames SEMICOLON
93.1201 - | subprog_spec renames SEMICOLON
93.1202 - | generic_formal_part PACKAGE compound_name renames SEMICOLON
93.1203 - | generic_formal_part subprog_spec renames SEMICOLON
93.1204 - ;
93.1205 -
93.1206 -renames ::= RENAMES name
93.1207 - ;
93.1208 -
93.1209 -task_decl ::= task_spec SEMICOLON
93.1210 - ;
93.1211 -
93.1212 -task_spec ::= TASK simple_name task_def
93.1213 - | TASK TYPE simple_name discrim_part_opt task_def
93.1214 - ;
93.1215 -
93.1216 -task_def ::=
93.1217 - | IS entry_decl_s rep_spec_s task_private_opt END id_opt
93.1218 - ;
93.1219 -
93.1220 -task_private_opt ::=
93.1221 - | PRIVATE entry_decl_s rep_spec_s
93.1222 - ;
93.1223 -
93.1224 -task_body ::= TASK BODY simple_name IS
93.1225 - decl_part block_body END id_opt SEMICOLON
93.1226 - ;
93.1227 -
93.1228 -prot_decl ::= prot_spec SEMICOLON
93.1229 - ;
93.1230 -
93.1231 -prot_spec ::= PROTECTED IDENTIFIER prot_def
93.1232 - | PROTECTED TYPE simple_name discrim_part_opt prot_def
93.1233 - ;
93.1234 -
93.1235 -prot_def ::= IS prot_op_decl_s prot_private_opt END id_opt
93.1236 - ;
93.1237 -
93.1238 -prot_private_opt ::=
93.1239 - | PRIVATE prot_elem_decl_s
93.1240 -;
93.1241 -
93.1242 -prot_op_decl_s ::=
93.1243 - | prot_op_decl_s prot_op_decl
93.1244 - ;
93.1245 -
93.1246 -prot_op_decl ::= entry_decl
93.1247 - | subprog_spec SEMICOLON
93.1248 - | rep_spec
93.1249 - | pragma
93.1250 - ;
93.1251 -
93.1252 -prot_elem_decl_s ::=
93.1253 - | prot_elem_decl_s prot_elem_decl
93.1254 - ;
93.1255 -
93.1256 -prot_elem_decl ::= prot_op_decl | comp_decl ;
93.1257 -
93.1258 -prot_body ::= PROTECTED BODY simple_name IS
93.1259 - prot_op_body_s END id_opt SEMICOLON
93.1260 - ;
93.1261 -
93.1262 -prot_op_body_s ::= pragma_s
93.1263 - | prot_op_body_s prot_op_body pragma_s
93.1264 - ;
93.1265 -
93.1266 -prot_op_body ::= entry_body
93.1267 - | subprog_body
93.1268 - | subprog_spec SEMICOLON
93.1269 - ;
93.1270 -
93.1271 -entry_decl_s ::= pragma_s
93.1272 - | entry_decl_s entry_decl pragma_s
93.1273 - ;
93.1274 -
93.1275 -entry_decl ::= ENTRY IDENTIFIER formal_part_opt SEMICOLON
93.1276 - | ENTRY IDENTIFIER LPAREN discrete_range RPAREN formal_part_opt SEMICOLON
93.1277 - ;
93.1278 -
93.1279 -entry_body ::= ENTRY IDENTIFIER formal_part_opt WHEN condition entry_body_part
93.1280 - | ENTRY IDENTIFIER LPAREN iter_part discrete_range RPAREN
93.1281 - formal_part_opt WHEN condition entry_body_part
93.1282 - ;
93.1283 -
93.1284 -entry_body_part ::= SEMICOLON
93.1285 - | IS decl_part block_body END id_opt SEMICOLON
93.1286 - ;
93.1287 -
93.1288 -rep_spec_s ::=
93.1289 - | rep_spec_s rep_spec pragma_s
93.1290 - ;
93.1291 -
93.1292 -entry_call ::= procedure_call
93.1293 - ;
93.1294 -
93.1295 -accept_stmt ::= accept_hdr SEMICOLON
93.1296 - | accept_hdr DO handled_stmt_s END id_opt SEMICOLON
93.1297 - ;
93.1298 -
93.1299 -accept_hdr ::= ACCEPT entry_name formal_part_opt
93.1300 - ;
93.1301 -
93.1302 -entry_name ::= simple_name
93.1303 - | entry_name LPAREN expression RPAREN
93.1304 - ;
93.1305 -
93.1306 -delay_stmt ::= DELAY expression SEMICOLON
93.1307 - | DELAY UNTIL expression SEMICOLON
93.1308 - ;
93.1309 -
93.1310 -select_stmt ::= select_wait
93.1311 - | async_select
93.1312 - | timed_entry_call
93.1313 - | cond_entry_call
93.1314 - ;
93.1315 -
93.1316 -select_wait ::= SELECT guarded_select_alt or_select else_opt
93.1317 - END SELECT SEMICOLON
93.1318 - ;
93.1319 -
93.1320 -guarded_select_alt ::= select_alt
93.1321 - | WHEN condition ARROW select_alt
93.1322 - ;
93.1323 -
93.1324 -or_select ::=
93.1325 - | or_select OR guarded_select_alt
93.1326 - ;
93.1327 -
93.1328 -select_alt ::= accept_stmt stmts_opt
93.1329 - | delay_stmt stmts_opt
93.1330 - | TERMINATE SEMICOLON
93.1331 - ;
93.1332 -
93.1333 -delay_or_entry_alt ::= delay_stmt stmts_opt
93.1334 - | entry_call stmts_opt
93.1335 -;
93.1336 -
93.1337 -async_select ::= SELECT delay_or_entry_alt
93.1338 - THEN ABORT statement_s
93.1339 - END SELECT SEMICOLON
93.1340 - ;
93.1341 -
93.1342 -timed_entry_call ::= SELECT entry_call stmts_opt
93.1343 - OR delay_stmt stmts_opt
93.1344 - END SELECT SEMICOLON
93.1345 - ;
93.1346 -
93.1347 -cond_entry_call ::= SELECT entry_call stmts_opt
93.1348 - ELSE statement_s
93.1349 - END SELECT SEMICOLON
93.1350 - ;
93.1351 -
93.1352 -stmts_opt ::=
93.1353 - | statement_s
93.1354 - ;
93.1355 -
93.1356 -abort_stmt ::= ABORT name_s SEMICOLON
93.1357 - ;
93.1358 -
93.1359 -compilation ::=
93.1360 - | compilation comp_unit
93.1361 - | pragma pragma_s
93.1362 - ;
93.1363 -
93.1364 -comp_unit ::= context_spec private_opt unit pragma_s
93.1365 - | private_opt unit pragma_s
93.1366 - ;
93.1367 -
93.1368 -private_opt ::=
93.1369 - | PRIVATE
93.1370 - ;
93.1371 -
93.1372 -context_spec ::= with_clause use_clause_opt
93.1373 - | context_spec with_clause use_clause_opt
93.1374 - | context_spec pragma
93.1375 - ;
93.1376 -
93.1377 -with_clause ::= WITH c_name_list SEMICOLON
93.1378 - ;
93.1379 -
93.1380 -use_clause_opt ::=
93.1381 - | use_clause_opt use_clause
93.1382 - ;
93.1383 -
93.1384 -unit ::= pkg_decl
93.1385 - | pkg_body
93.1386 - | subprog_decl
93.1387 - | subprog_body
93.1388 - | subunit
93.1389 - | generic_decl
93.1390 - | rename_unit
93.1391 - ;
93.1392 -
93.1393 -subunit ::= SEPARATE LPAREN compound_name RPAREN
93.1394 - subunit_body
93.1395 - ;
93.1396 -
93.1397 -subunit_body ::= subprog_body
93.1398 - | pkg_body
93.1399 - | task_body
93.1400 - | prot_body
93.1401 - ;
93.1402 -
93.1403 -body_stub ::= TASK BODY simple_name IS SEPARATE SEMICOLON
93.1404 - | PACKAGE BODY compound_name IS SEPARATE SEMICOLON
93.1405 - | subprog_spec IS SEPARATE SEMICOLON
93.1406 - | PROTECTED BODY simple_name IS SEPARATE SEMICOLON
93.1407 - ;
93.1408 -
93.1409 -exception_decl ::= def_id_s COLON EXCEPTION SEMICOLON
93.1410 - ;
93.1411 -
93.1412 -except_handler_part ::= EXCEPTION exception_handler
93.1413 - | except_handler_part exception_handler
93.1414 - ;
93.1415 -
93.1416 -exception_handler ::= WHEN except_choice_s ARROW statement_s
93.1417 - | WHEN IDENTIFIER COLON except_choice_s ARROW statement_s
93.1418 - ;
93.1419 -
93.1420 -except_choice_s ::= except_choice
93.1421 - | except_choice_s BAR except_choice
93.1422 - ;
93.1423 -
93.1424 -except_choice ::= name
93.1425 - | OTHERS
93.1426 - ;
93.1427 -
93.1428 -raise_stmt ::= RAISE name_opt SEMICOLON
93.1429 - ;
93.1430 -
93.1431 -requeue_stmt ::= REQUEUE name SEMICOLON
93.1432 - | REQUEUE name WITH ABORT SEMICOLON
93.1433 - ;
93.1434 -
93.1435 -generic_decl ::= generic_formal_part subprog_spec SEMICOLON
93.1436 - | generic_formal_part pkg_spec SEMICOLON
93.1437 - ;
93.1438 -
93.1439 -generic_formal_part ::= GENERIC
93.1440 - | generic_formal_part generic_formal
93.1441 - ;
93.1442 -
93.1443 -generic_formal ::= param SEMICOLON
93.1444 - | TYPE simple_name generic_discrim_part_opt IS generic_type_def SEMICOLON
93.1445 - | WITH PROCEDURE simple_name
93.1446 - formal_part_opt subp_default SEMICOLON
93.1447 - | WITH FUNCTION designator
93.1448 - formal_part_opt RETURN name subp_default SEMICOLON
93.1449 - | WITH PACKAGE simple_name IS NEW name LPAREN BOX RPAREN SEMICOLON
93.1450 - | WITH PACKAGE simple_name IS NEW name SEMICOLON
93.1451 - | use_clause
93.1452 - ;
93.1453 -
93.1454 -generic_discrim_part_opt ::=
93.1455 - | discrim_part
93.1456 - | LPAREN BOX RPAREN
93.1457 - ;
93.1458 -
93.1459 -subp_default ::=
93.1460 - | IS name
93.1461 - | IS BOX
93.1462 - ;
93.1463 -
93.1464 -generic_type_def ::= LPAREN BOX RPAREN
93.1465 - | RANGE BOX
93.1466 - | MOD BOX
93.1467 - | DELTA BOX
93.1468 - | DELTA BOX DIGITS BOX
93.1469 - | DIGITS BOX
93.1470 - | array_type
93.1471 - | access_type
93.1472 - | private_type
93.1473 - | generic_derived_type
93.1474 - ;
93.1475 -
93.1476 -generic_derived_type ::= NEW subtype_ind
93.1477 - | NEW subtype_ind WITH PRIVATE
93.1478 - | ABSTRACT NEW subtype_ind WITH PRIVATE
93.1479 - ;
93.1480 -
93.1481 -generic_subp_inst ::= subprog_spec IS generic_inst
93.1482 - ;
93.1483 -
93.1484 -generic_pkg_inst ::= PACKAGE compound_name IS generic_inst
93.1485 - ;
93.1486 -
93.1487 -generic_inst ::= NEW name
93.1488 - ;
93.1489 -
93.1490 -rep_spec ::= attrib_def
93.1491 - | record_type_spec
93.1492 - | address_spec
93.1493 - ;
93.1494 -
93.1495 -attrib_def ::= FOR mark USE expression SEMICOLON
93.1496 - ;
93.1497 -
93.1498 -record_type_spec ::= FOR mark USE RECORD align_opt comp_loc_s END RECORD SEMICOLON
93.1499 - ;
93.1500 -
93.1501 -align_opt ::=
93.1502 - | AT MOD expression SEMICOLON
93.1503 - ;
93.1504 -
93.1505 -comp_loc_s ::=
93.1506 - | comp_loc_s mark AT expression RANGE range SEMICOLON
93.1507 - ;
93.1508 -
93.1509 -address_spec ::= FOR mark USE AT expression SEMICOLON
93.1510 - ;
93.1511 -
93.1512 -code_stmt ::= qualified SEMICOLON
93.1513 - ;
94.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
94.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/resources/AdaASTParser.cup Mon Oct 15 23:38:26 2012 +0200
94.3 @@ -0,0 +1,2844 @@
94.4 +/*
94.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
94.6 + *
94.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
94.8 + *
94.9 + * The contents of this file are subject to the terms of either the GNU
94.10 + * General Public License Version 2 only ("GPL") or the Common
94.11 + * Development and Distribution License("CDDL") (collectively, the
94.12 + * "License"). You may not use this file except in compliance with the
94.13 + * License. You can obtain a copy of the License at
94.14 + * http://www.netbeans.org/cddl-gplv2.html
94.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
94.16 + * specific language governing permissions and limitations under the
94.17 + * License. When distributing the software, include this License Header
94.18 + * Notice in each file and include the License file at
94.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
94.20 + * particular file as subject to the "Classpath" exception as provided
94.21 + * by Sun in the GPL Version 2 section of the License file that
94.22 + * accompanied this code. If applicable, add the following below the
94.23 + * License Header, with the fields enclosed by brackets [] replaced by
94.24 + * your own identifying information:
94.25 + * "Portions Copyrighted [year] [name of copyright owner]"
94.26 + *
94.27 + * If you wish your version of this file to be governed by only the CDDL
94.28 + * or only the GPL Version 2, indicate your decision by adding
94.29 + * "[Contributor] elects to include this software in this distribution
94.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
94.31 + * single choice of license, a recipient has the option to distribute
94.32 + * your version of this file under either the CDDL, the GPL Version 2 or
94.33 + * to extend the choice of license to its licensees as provided above.
94.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
94.35 + * Version 2 license, then the option applies only if the new code is
94.36 + * made subject to such option by the copyright holder.
94.37 + *
94.38 + * Contributor(s):
94.39 + *
94.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
94.41 + */
94.42 +package org.netbeans.modules.ada.editor.parser;
94.43 +
94.44 +import java.util.*;
94.45 +import org.netbeans.modules.ada.editor.lexer.AdaASTLexer;
94.46 +import org.netbeans.modules.ada.editor.ast.*;
94.47 +import org.netbeans.modules.ada.editor.ast.nodes.*;
94.48 +
94.49 +parser code {:
94.50 + protected final static Integer PUBLIC = new Integer(BodyDeclaration.Modifier.PUBLIC);
94.51 + protected final static Integer PRIVATE = new Integer(BodyDeclaration.Modifier.PRIVATE);
94.52 + protected final static Integer TAGGED = new Integer(BodyDeclaration.Modifier.TAGGED);
94.53 + protected final static Integer LIMITED = new Integer(BodyDeclaration.Modifier.LIMITED);
94.54 + protected final static Integer ABSTRACT = new Integer(BodyDeclaration.Modifier.ABSTRACT);
94.55 +
94.56 + private ErrorStrategy defaultStrategy = new DefaultErrorStrategy();;
94.57 + private ErrorStrategy errorStrategy = defaultStrategy;
94.58 +
94.59 + private ParserErrorHandler errorHandler = null;
94.60 +
94.61 + public void setErrorHandler (ParserErrorHandler handler) {
94.62 + this.errorHandler = handler;
94.63 + }
94.64 +
94.65 + public ParserErrorHandler getErrorHandler () {
94.66 + return this.errorHandler;
94.67 + }
94.68 +
94.69 +
94.70 + public Dispatch createDispatch(NameBase dispatcher, NameBase property) {
94.71 + Dispatch dispatch = null;
94.72 + if (property instanceof Variable) {
94.73 + dispatch = new FieldAccess(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (Variable)property);
94.74 + } else if (property instanceof TypeName) {
94.75 + dispatch = new TypeAccess(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (TypeName)property);
94.76 + } else {
94.77 + throw new IllegalArgumentException();
94.78 + }
94.79 + return dispatch;
94.80 + }
94.81 +
94.82 +
94.83 + public List setModifier(List items, int modifier) {
94.84 + List list = new LinkedList();
94.85 + for (Iterator iter = items.iterator(); iter.hasNext();) {
94.86 + final Object next = iter.next();
94.87 + if (next instanceof TypeDeclaration) {
94.88 + ((TypeDeclaration)next).setModifier(modifier);
94.89 + list.add(next);
94.90 + } else if (next instanceof MethodDeclaration) {
94.91 + ((MethodDeclaration)next).setModifier(modifier);
94.92 + list.add(next);
94.93 + } else if (next instanceof FieldsDeclaration) {
94.94 + ((FieldsDeclaration)next).setModifier(modifier);
94.95 + list.add(next);
94.96 + } else {
94.97 + list.add(next);
94.98 + }
94.99 + }
94.100 + return list;
94.101 + }
94.102 +
94.103 + interface ErrorStrategy {
94.104 + public boolean errorRecovery(boolean debug) throws Exception;
94.105 + }
94.106 +
94.107 + class DefaultErrorStrategy implements ErrorStrategy {
94.108 +
94.109 + public boolean errorRecovery(boolean debug) throws Exception {
94.110 + return AdaASTParser.super.error_recovery(debug);
94.111 + }
94.112 + }
94.113 +
94.114 + /**
94.115 + * Attempt to recover from a syntax error. This returns false if recovery fails,
94.116 + * true if it succeeds.
94.117 + * @param debug should we produce debugging messages as we parse.
94.118 + */
94.119 + @Override
94.120 + protected boolean error_recovery(boolean debug) throws java.lang.Exception {
94.121 + return errorStrategy.errorRecovery(debug);
94.122 + }
94.123 +
94.124 + /**
94.125 + * Report a non fatal error (or warning). This method takes a message
94.126 + * string and an additional object (to be used by specializations implemented in subclasses).
94.127 + * The super class prints the message to System.err.
94.128 + * @param message an error message.
94.129 + * @param info an extra object reserved for use by specialized subclasses.
94.130 + */
94.131 + @Override
94.132 + public void report_error(String message, Object info) {
94.133 + System.out.print("report_eror" + message);
94.134 + }
94.135 +
94.136 + /**
94.137 + * This method is called when a syntax error has been detected and recovery is about to be invoked.
94.138 + * The super class just emit a "Syntax error" error message.
94.139 + * @param cur_token the current lookahead Symbol.
94.140 + */
94.141 + @Override
94.142 + public void syntax_error(java_cup.runtime.Symbol cur_token) {
94.143 + java_cup.runtime.Symbol symbol = (java_cup.runtime.Symbol)stack.peek();
94.144 + int state = symbol.parse_state;
94.145 + short[] rowOfProbe = action_tab[state];
94.146 + if (errorHandler != null) {
94.147 + errorHandler.handleError(ParserErrorHandler.Type.SYNTAX_ERROR, rowOfProbe, cur_token, symbol);
94.148 + }
94.149 + }
94.150 +
94.151 + /**
94.152 + * This method is called when a syntax error has been detected during action.
94.153 + * @param message an error message.
94.154 + */
94.155 + public void message_error(String message) {
94.156 + java_cup.runtime.Symbol symbol = (java_cup.runtime.Symbol)stack.peek();
94.157 + if (errorHandler != null) {
94.158 + errorHandler.handleError(ParserErrorHandler.Type.SYNTAX_ERROR, symbol, message);
94.159 + }
94.160 + }
94.161 +
94.162 + /**
94.163 + * Report a fatal error. This method takes a message string and an additional object
94.164 + * (to be used by specializations implemented in subclasses).
94.165 + * The super class reports the error then throws an exception.
94.166 + * @param message an error message.
94.167 + * @param info an extra object reserved for use by specialized subclasses.
94.168 + */
94.169 + @Override
94.170 + public void report_fatal_error(String message, Object info) throws Exception {
94.171 + if (errorHandler != null) {
94.172 + errorHandler.handleError(ParserErrorHandler.Type.FATAL_PARSER_ERROR, null, cur_token, null);
94.173 + }
94.174 + }
94.175 +
94.176 + @Override
94.177 + protected int error_sync_size() {
94.178 + return 1;
94.179 + }
94.180 +
94.181 +:}
94.182 +
94.183 +
94.184 +/*********************************************************
94.185 + * *
94.186 + * Ada 83, 95, 2005 and 2012 (LALR) AST Parser, based on:*
94.187 + * *
94.188 + * 1. Ada 83 Reference Manual *
94.189 + * 2. Ada Reference Manual *
94.190 + * ISO/IEC 8652:1995(E) *
94.191 + * with Technical Corrigendum 1 *
94.192 + * Language and Standard Libraries *
94.193 + * Copyright © 1992,1993,1994,1995 Intermetrics, Inc. *
94.194 + * Copyright © 2000 The MITRE Corporation, Inc. *
94.195 + * 3. http://www.adaic.com/standards/95lrm/grammar9x.y *
94.196 + * 4. Ada Reference Manual *
94.197 + * ISO/IEC 8652:201z Ed. 3 *
94.198 + * with Technical Corrigendum 1 *
94.199 + * and Amendment 1 *
94.200 + * and Amendment 2 (Draft 10) *
94.201 + * Language and Standard Libraries *
94.202 + * Copyright © 1992,1993,1994,1995 Intermetrics, Inc. *
94.203 + * Copyright © 2000 The MITRE Corporation, Inc. *
94.204 + * Copyright © 2004, 2005, 2006 AXE Consultants *
94.205 + * Copyright © 2004, 2005, 2006 Ada-Europe *
94.206 + * Copyright © 2008, 2009, 2010 AXE Consultants *
94.207 + * *
94.208 + * Author: Andrea Lucarelli *
94.209 + * Parser Generator: JavaCup *
94.210 + * *
94.211 + *********************************************************/
94.212 +
94.213 +/*************************
94.214 + * JavaCup Terminals *
94.215 + *************************/
94.216 +
94.217 +//
94.218 +// Ada 83, 95 and 2005 keywords
94.219 +//
94.220 +terminal ABORT;
94.221 +terminal ABS;
94.222 +terminal ABSTRACT;
94.223 +terminal ACCESS;
94.224 +terminal ACCEPT;
94.225 +terminal ALIASED;
94.226 +terminal ALL;
94.227 +terminal AND;
94.228 +terminal ARRAY;
94.229 +terminal AT;
94.230 +terminal BEGIN;
94.231 +terminal BODY;
94.232 +terminal CONSTANT;
94.233 +terminal CASE;
94.234 +terminal DECLARE;
94.235 +terminal DELAY;
94.236 +terminal DELTA;
94.237 +terminal DIGITS;
94.238 +terminal DO;
94.239 +terminal ELSE;
94.240 +terminal ELSIF;
94.241 +terminal END;
94.242 +terminal ENTRY;
94.243 +terminal EXCEPTION;
94.244 +terminal EXIT;
94.245 +terminal FOR;
94.246 +terminal FUNCTION;
94.247 +terminal GENERIC;
94.248 +terminal GOTO;
94.249 +terminal IF;
94.250 +terminal IN;
94.251 +terminal INTERFACE;
94.252 +terminal IS;
94.253 +terminal LIMITED;
94.254 +terminal LOOP;
94.255 +terminal MOD;
94.256 +terminal NEW;
94.257 +terminal NOT;
94.258 +terminal NULL;
94.259 +terminal OF;
94.260 +terminal OR;
94.261 +terminal OTHERS;
94.262 +terminal OUT;
94.263 +terminal OVERRIDING;
94.264 +terminal PACKAGE;
94.265 +terminal PRAGMA;
94.266 +terminal PRIVATE;
94.267 +terminal PROCEDURE;
94.268 +terminal PROTECTED;
94.269 +terminal RETURN;
94.270 +terminal REVERSE;
94.271 +terminal RAISE;
94.272 +terminal RANGE;
94.273 +terminal RECORD;
94.274 +terminal REM;
94.275 +terminal RENAMES;
94.276 +terminal REQUEUE;
94.277 +terminal SELECT;
94.278 +terminal SEPARATE;
94.279 +terminal SOME;
94.280 +terminal SYNCHRONIZED;
94.281 +terminal SUBTYPE;
94.282 +terminal TAGGED;
94.283 +terminal TASK;
94.284 +terminal TERMINATE;
94.285 +terminal THEN;
94.286 +terminal TYPE;
94.287 +terminal UNTIL;
94.288 +terminal USE;
94.289 +terminal WHEN;
94.290 +terminal WHILE;
94.291 +terminal WITH;
94.292 +terminal XOR;
94.293 +
94.294 +
94.295 +// 2.2 Lexical Elements, Separators, and Delimiters
94.296 +
94.297 +//
94.298 +// delimiters
94.299 +//
94.300 +terminal AMP;
94.301 +terminal TICK;
94.302 +terminal LPAREN;
94.303 +terminal RPAREN;
94.304 +terminal STAR;
94.305 +terminal PLUS;
94.306 +terminal COMMA;
94.307 +terminal MINUS;
94.308 +terminal DOT;
94.309 +terminal SLASH;
94.310 +terminal COLON;
94.311 +terminal SEMICOLON;
94.312 +terminal GT;
94.313 +terminal EQ;
94.314 +terminal LT;
94.315 +terminal BAR;
94.316 +
94.317 +//
94.318 +// compound delimiters
94.319 +//
94.320 +terminal ARROW;
94.321 +terminal DOT_DOT;
94.322 +terminal EXPON;
94.323 +terminal ASSIGNMENT;
94.324 +terminal INEQ;
94.325 +terminal GTEQ;
94.326 +terminal LTEQ;
94.327 +terminal LTLT;
94.328 +terminal GTGT;
94.329 +terminal BOX;
94.330 +
94.331 +//
94.332 +// others tokens
94.333 +//
94.334 +// ??? terminal String OPERATOR_SYMBOL;
94.335 +terminal String CHAR_LITERAL; // 2.1 Character Set
94.336 +terminal String IDENTIFIER; // 2.3 Identifiers
94.337 +terminal String DECIMAL_LITERAL; // 2.4.1 Decimal Literals
94.338 +terminal String BASED_LITERAL; // 2.4.2 Based Literals
94.339 +terminal String STRING_LITERAL; // 2.6 String Literals
94.340 +
94.341 +
94.342 +/*************************
94.343 + * JavaCup Non terminals *
94.344 + *************************/
94.345 +
94.346 +// 3.1 Declarations
94.347 +non terminal Statement declaration;
94.348 +non terminal List fields_declaration;
94.349 +non terminal Statement type_declaration;
94.350 +non terminal Statement subprog_declaration;
94.351 +non terminal Identifier defining_identifier;
94.352 +
94.353 +// 3.11 Declarative Parts
94.354 +non terminal List declarative_items_opt;
94.355 +non terminal List declarative_item_list;
94.356 +non terminal Statement declarative_item;
94.357 +non terminal List declarative_part;
94.358 +non terminal List declarative_item_or_body_s1;
94.359 +non terminal List private_part;
94.360 +non terminal Statement proper_body;
94.361 +non terminal Statement task_body;
94.362 +
94.363 +// 3.2.1 Type Declarations
94.364 +non terminal Expression type_definition;
94.365 +
94.366 +// 3.2.2 Subtype Declarations
94.367 +non terminal Statement subtype_declaration;
94.368 +non terminal TypeName subtype_indication;
94.369 +
94.370 +// 3.3.1 Object Declarations
94.371 +non terminal List object_declaration;
94.372 +non terminal List defining_identifier_list;
94.373 +non terminal Variable.Kind object_qualifier_opt;
94.374 +
94.375 +// 3.3.2 Number Declarations
94.376 +non terminal List number_declaration;
94.377 +
94.378 +// 4.1 Names
94.379 +non terminal Identifier name;
94.380 +non terminal Identifier simple_name;
94.381 +
94.382 +// 4.1.3 Selected Components
94.383 +non terminal Identifier selected_component;
94.384 +
94.385 +// 4.4 Expressions
94.386 +non terminal Expression expression;
94.387 +non terminal Expression relation;
94.388 +non terminal Expression simple_expression;
94.389 +non terminal Expression term;
94.390 +non terminal Expression factor;
94.391 +non terminal Expression primary;
94.392 +
94.393 +// 4.5 Operators and Expression Evaluation
94.394 +non terminal InfixExpression.OperatorType logical_operator;
94.395 +non terminal InfixExpression.OperatorType relational_operator;
94.396 +non terminal InfixExpression.OperatorType binary_adding_operator;
94.397 +non terminal UnaryOperation.Operator unary_adding_operator;
94.398 +non terminal InfixExpression.OperatorType multiplying_operator;
94.399 +
94.400 +// 4.7 Qualified Expressions
94.401 +non terminal Expression qualified_expression;
94.402 +
94.403 +// 5.1 Simple and Compound Statements - Sequences of Statements
94.404 +non terminal List sequence_of_statements;
94.405 +non terminal Statement simple_statement;
94.406 +non terminal Statement compound_statement;
94.407 +non terminal Statement null_statement;
94.408 +
94.409 +// 5.2 Assignment Statements
94.410 +non terminal Statement assignment_statement;
94.411 +
94.412 +// 5.3 If Statements
94.413 +non terminal IfStatement if_statement;
94.414 +non terminal List[] cond_clause_s;
94.415 +non terminal Expression condition;
94.416 +non terminal Block else_opt;
94.417 +
94.418 +// 5.4 Case Statements
94.419 +non terminal CaseStatement case_statement;
94.420 +non terminal List alternative_s;
94.421 +non terminal CaseWhen alternative;
94.422 +
94.423 +// 5.5 Loop Statements
94.424 +non terminal LoopStatement loop_statement;
94.425 +non terminal Block basic_loop;
94.426 +non terminal Expression iteration;
94.427 +
94.428 +// 5.6 Block Statements
94.429 +non terminal BlockStatement block_statement;
94.430 +non terminal Block block_declarative;
94.431 +non terminal Block block_body;
94.432 +
94.433 +// 5.7 Exit Statements
94.434 +non terminal Statement exit_statement;
94.435 +non terminal Expression name_opt;
94.436 +
94.437 +// 5.8 Goto Statements
94.438 +non terminal Statement goto_statement;
94.439 +
94.440 +// 6.1 Subprogram Declarations
94.441 +non terminal SubprogramSpecification subprogram_specification;
94.442 +non terminal SubprogramSpecification generic_subp_inst;
94.443 +non terminal MethodDeclaration subprogram_body;
94.444 +non terminal List param_s;
94.445 +non terminal List formal_part_opt;
94.446 +non terminal List formal_part;
94.447 +non terminal List param;
94.448 +non terminal FormalParameter.Mode mode;
94.449 +non terminal Identifier designator;
94.450 +non terminal Identifier operator_symbol;
94.451 +
94.452 +// 6.5 Return Statements
94.453 +non terminal Statement return_statement;
94.454 +
94.455 +// 7.1 Package Specifications and Declarations
94.456 +non terminal Statement package_declaration;
94.457 +non terminal Statement package_specification;
94.458 +
94.459 +// 7.2 Package Bodies
94.460 +non terminal Statement package_body;
94.461 +non terminal Statement body;
94.462 +
94.463 +// 7.3 Private Types and Private Extensions
94.464 +non terminal PrivateType private_type_declaration;
94.465 +non terminal Integer tagged_opt;
94.466 +non terminal Integer limited_opt;
94.467 +
94.468 +// 8.4 Use Clauses
94.469 +non terminal Statement use_clause;
94.470 +non terminal List package_name_list;
94.471 +non terminal List subtype_mark_list;
94.472 +
94.473 +// 8.5 Renaming Declarations
94.474 +non terminal Statement renaming_declaration;
94.475 +non terminal Statement rename_unit;
94.476 +
94.477 +// 9.4 Protected Units and Protected Objects
94.478 +non terminal Statement protected_body;
94.479 +
94.480 +// 9.6 Delay Statements, Duration, and Time
94.481 +non terminal Statement delay_statement;
94.482 +
94.483 +// 9.8 Abort of a Task - Abort of a Sequence of Statements
94.484 +non terminal Statement abort_statement;
94.485 +non terminal List task_name_list;
94.486 +
94.487 +// 10.1.1 Compilation Units - Library Units
94.488 +non terminal Program compilation;
94.489 +non terminal List compilation_units;
94.490 +non terminal Statement compilation_unit;
94.491 +non terminal Statement unit;
94.492 +
94.493 +// 10.1.2 Context Clauses - With Clauses
94.494 +non terminal Statement context_clause;
94.495 +non terminal Statement with_clause;
94.496 +non terminal List library_unit_name_list;
94.497 +
94.498 +// 10.1.3 Subunits of Compilation Units
94.499 +non terminal Statement body_stub;
94.500 +
94.501 +// 11.3 Raise Statements
94.502 +non terminal Statement raise_statement;
94.503 +
94.504 +// 12.1 Generic Declarations
94.505 +non terminal Statement generic_declaration;
94.506 +
94.507 +// 13.8 Machine Code Insertions
94.508 +non terminal Statement code_statement;
94.509 +
94.510 +
94.511 +// TBD sections
94.512 +non terminal Identifier compound_name;
94.513 +non terminal Identifier compound_name_opt;
94.514 +non terminal TypeName object_subtype_def;
94.515 +non terminal Expression init_opt;
94.516 +non terminal Statement type_decl;
94.517 +non terminal Expression type_completion;
94.518 +non terminal NameBase subtype_mark;
94.519 +non terminal List handled_stmt_s;
94.520 +non terminal Statement statement;
94.521 +non terminal Statement subunit;
94.522 +non terminal Identifier id_opt;
94.523 +non terminal Statement unlabeled;
94.524 +non terminal Expression literal;
94.525 +non terminal Expression parenthesized_primary;
94.526 +non terminal Expression when_opt;
94.527 +non terminal Statement procedure_call_statement;
94.528 +non terminal String used_char;
94.529 +non terminal Expression choice_s;
94.530 +non terminal Identifier label_opt;
94.531 +non terminal Identifier attribute;
94.532 +non terminal Identifier indexed_component; // TODO: must be change it
94.533 +non terminal Expression value_s;
94.534 +non terminal Expression discrete_range;
94.535 +non terminal Expression range;
94.536 +non terminal InfixExpression.OperatorType short_circuit;
94.537 +non terminal InfixExpression.OperatorType membership;
94.538 +non terminal String attribute_id;
94.539 +
94.540 +// TBD RM sections and types
94.541 +non terminal pragma;
94.542 +non terminal pragma_arg_s;
94.543 +non terminal pragma_arg;
94.544 +non terminal pragma_s;
94.545 +non terminal task_decl;
94.546 +non terminal prot_decl;
94.547 +non terminal exception_decl;
94.548 +non terminal discrim_part_opt;
94.549 +non terminal discrim_part;
94.550 +non terminal enumeration_type;
94.551 +non terminal integer_type;
94.552 +non terminal real_type;
94.553 +non terminal array_type;
94.554 +non terminal record_type;
94.555 +non terminal access_type;
94.556 +non terminal derived_type;
94.557 +non terminal constraint;
94.558 +non terminal range_constraint;
94.559 +non terminal decimal_digits_constraint;
94.560 +non terminal range_constr_opt;
94.561 +non terminal record_def;
94.562 +non terminal enum_id_s;
94.563 +non terminal enum_id;
94.564 +non terminal range_spec;
94.565 +non terminal range_spec_opt;
94.566 +non terminal float_type;
94.567 +non terminal fixed_type;
94.568 +non terminal unconstr_array_type;
94.569 +non terminal constr_array_type;
94.570 +non terminal index_s;
94.571 +non terminal index;
94.572 +non terminal component_subtype_def;
94.573 +non terminal aliased_opt;
94.574 +non terminal iter_index_constraint;
94.575 +non terminal iter_discrete_range_s;
94.576 +non terminal comp_list;
94.577 +non terminal comp_decl_s;
94.578 +non terminal comp_decl;
94.579 +non terminal variant_part_opt;
94.580 +non terminal variant_part;
94.581 +non terminal discrim_spec_s;
94.582 +non terminal discrim_spec;
94.583 +non terminal access_opt;
94.584 +non terminal variant_s;
94.585 +non terminal variant;
94.586 +non terminal choice;
94.587 +non terminal discrete_with_range;
94.588 +non terminal prot_opt;
94.589 +non terminal rep_spec;
94.590 +non terminal declarative_item_or_body;
94.591 +non terminal value;
94.592 +non terminal comp_assoc;
94.593 +non terminal aggregate;
94.594 +non terminal value_s_2;
94.595 +non terminal allocator;
94.596 +non terminal label;
94.597 +non terminal requeue_stmt;
94.598 +non terminal accept_stmt;
94.599 +non terminal select_stmt;
94.600 +non terminal iter_part;
94.601 +non terminal reverse_opt;
94.602 +non terminal except_handler_part_opt;
94.603 +non terminal except_handler_part;
94.604 +non terminal generic_package_instantiation;
94.605 +non terminal body_opt;
94.606 +non terminal generic_formal_part;
94.607 +non terminal task_spec;
94.608 +non terminal task_def;
94.609 +non terminal entry_decl_s;
94.610 +non terminal rep_spec_s;
94.611 +non terminal task_private_opt;
94.612 +non terminal prot_spec;
94.613 +non terminal prot_def;
94.614 +non terminal prot_op_decl_s;
94.615 +non terminal prot_private_opt;
94.616 +non terminal prot_elem_decl_s;
94.617 +non terminal prot_op_decl;
94.618 +non terminal entry_decl;
94.619 +non terminal prot_elem_decl;
94.620 +non terminal prot_op_body_s;
94.621 +non terminal prot_op_body;
94.622 +non terminal entry_body;
94.623 +non terminal entry_body_part;
94.624 +non terminal accept_hdr;
94.625 +non terminal entry_call;
94.626 +non terminal entry_name;
94.627 +non terminal select_wait;
94.628 +non terminal async_select;
94.629 +non terminal timed_entry_call;
94.630 +non terminal cond_entry_call;
94.631 +non terminal guarded_select_alt;
94.632 +non terminal or_select;
94.633 +non terminal select_alt;
94.634 +non terminal stmts_opt;
94.635 +non terminal delay_or_entry_alt;
94.636 +non terminal private_opt;
94.637 +non terminal exception_handler;
94.638 +non terminal except_choice_s;
94.639 +non terminal except_choice;
94.640 +non terminal generic_formal;
94.641 +non terminal generic_discrim_part_opt;
94.642 +non terminal generic_type_def;
94.643 +non terminal subp_default;
94.644 +non terminal generic_derived_type;
94.645 +non terminal generic_inst;
94.646 +non terminal attrib_def;
94.647 +non terminal record_type_spec;
94.648 +non terminal address_spec;
94.649 +non terminal align_opt;
94.650 +non terminal comp_loc_s;
94.651 +
94.652 +/*************************
94.653 + * JavaCup precedence *
94.654 + *************************/
94.655 +
94.656 +// TODO: must be complete
94.657 +precedence left OR;
94.658 +precedence left XOR;
94.659 +precedence left AND;
94.660 +
94.661 +precedence left SEMICOLON;
94.662 +
94.663 +precedence left ELSIF;
94.664 +precedence left ELSE;
94.665 +precedence left END;
94.666 +
94.667 +precedence right NOT;
94.668 +
94.669 +precedence nonassoc ASSIGNMENT;
94.670 +
94.671 +
94.672 +///////////////////////////////////////////////////////////////////////////////
94.673 +// start with root symbol
94.674 +//
94.675 +start with compilation;
94.676 +
94.677 +/******************************
94.678 + * *
94.679 + * Ada 83, 95 and 2005 syntax *
94.680 + * *
94.681 + ******************************/
94.682 +
94.683 +///////////////////////////////////////////////////////////////////////////////
94.684 +// 2.8 Pragmas
94.685 +//
94.686 +pragma ::= PRAGMA IDENTIFIER SEMICOLON
94.687 + | PRAGMA simple_name LPAREN pragma_arg_s RPAREN SEMICOLON
94.688 + ;
94.689 +
94.690 +pragma_arg_s ::= pragma_arg
94.691 + | pragma_arg_s COMMA pragma_arg
94.692 + ;
94.693 +
94.694 +pragma_arg ::= expression
94.695 + | simple_name ARROW expression
94.696 + ;
94.697 +
94.698 +pragma_s ::=
94.699 + | pragma_s pragma
94.700 + ;
94.701 +
94.702 +///////////////////////////////////////////////////////////////////////////////
94.703 +// 3.1 Declarations
94.704 +//
94.705 +fields_declaration ::=
94.706 +object_declaration:statement
94.707 +{:
94.708 + RESULT = statement;
94.709 +:}
94.710 +| number_declaration:statement
94.711 +{:
94.712 + RESULT = statement;
94.713 +:}
94.714 +;
94.715 +
94.716 +type_declaration ::=
94.717 +type_decl:statement
94.718 +{:
94.719 + RESULT = statement;
94.720 +:}
94.721 +| subtype_declaration:statement
94.722 +{:
94.723 + RESULT = statement;
94.724 +:}
94.725 +;
94.726 +
94.727 +declaration ::=
94.728 +task_decl
94.729 +| prot_decl
94.730 +| exception_decl
94.731 +| renaming_declaration:statement
94.732 +{:
94.733 + RESULT = statement;
94.734 +:}
94.735 +| generic_declaration:statement
94.736 +{:
94.737 + RESULT = statement;
94.738 +:}
94.739 +| body_stub:statement
94.740 +{:
94.741 + RESULT = statement;
94.742 +:}
94.743 +| error:theError SEMICOLON // error statement
94.744 +{:
94.745 + ASTError error = new ASTError(theErrorleft, theErrorright);
94.746 + RESULT = error;
94.747 +:}
94.748 +;
94.749 +
94.750 +defining_identifier ::=
94.751 +IDENTIFIER:id
94.752 +{:
94.753 + Identifier identifier = new Identifier(idleft, idright, id);
94.754 + RESULT = identifier;
94.755 +:}
94.756 +;
94.757 +
94.758 +///////////////////////////////////////////////////////////////////////////////
94.759 +// 3.3.1 Object Declarations
94.760 +//
94.761 +object_declaration ::=
94.762 +defining_identifier_list:identifierList COLON object_qualifier_opt:varKind object_subtype_def:subtype init_opt:init SEMICOLON
94.763 +{:
94.764 + List list = new LinkedList();
94.765 + for (Object identifier : identifierList) {
94.766 + Variable variable = new Variable (((Identifier)identifier).getStartOffset(), ((Identifier)identifier).getEndOffset(), (Identifier)identifier, varKind, subtype);
94.767 + list.add(new ASTNode[] {variable, init});
94.768 + }
94.769 + RESULT = list;
94.770 +:}
94.771 +;
94.772 +
94.773 +defining_identifier_list ::=
94.774 +defining_identifier:identifier
94.775 +{:
94.776 + List identifierList = new LinkedList();
94.777 + identifierList.add(identifier);
94.778 + RESULT = identifierList;
94.779 +:}
94.780 +| defining_identifier_list:identifierList COMMA defining_identifier:identifier
94.781 +{:
94.782 + identifierList.add(identifier);
94.783 + RESULT = identifierList;
94.784 +:}
94.785 +;
94.786 +
94.787 +object_qualifier_opt ::=
94.788 +{:
94.789 + RESULT = Variable.Kind.DEFAULT;
94.790 +:}
94.791 +| ALIASED
94.792 +{:
94.793 + RESULT = Variable.Kind.ALIASED;
94.794 +:}
94.795 +| CONSTANT
94.796 +{:
94.797 + RESULT = Variable.Kind.CONSTANT;
94.798 +:}
94.799 +| ALIASED CONSTANT
94.800 +{:
94.801 + RESULT = Variable.Kind.ALIASED_CONSTANT;
94.802 +:}
94.803 +;
94.804 +
94.805 +object_subtype_def ::=
94.806 +subtype_indication:subtype
94.807 +{:
94.808 + RESULT = subtype;
94.809 +:}
94.810 +| array_type:array
94.811 +;
94.812 +
94.813 +init_opt ::=
94.814 +{:
94.815 + RESULT = null;
94.816 +:}
94.817 +| ASSIGNMENT expression:expr
94.818 +{:
94.819 + RESULT = expr;
94.820 +:}
94.821 +;
94.822 +
94.823 +///////////////////////////////////////////////////////////////////////////////
94.824 +// 3.3.2 Number Declarations
94.825 +//
94.826 +number_declaration ::=
94.827 +defining_identifier_list:identifierList COLON CONSTANT ASSIGNMENT expression:init SEMICOLON
94.828 +{:
94.829 + List list = new LinkedList();
94.830 + for (Object identifier : identifierList) {
94.831 + Variable variable = new Variable (((Identifier)identifier).getStartOffset(), ((Identifier)identifier).getEndOffset(), (Identifier)identifier, Variable.Kind.CONSTANT);
94.832 + list.add(new ASTNode[] {variable, init});
94.833 + }
94.834 + RESULT = list;
94.835 +:}
94.836 +;
94.837 +
94.838 +type_decl ::=
94.839 +TYPE:token defining_identifier:identifier discrim_part_opt type_completion:typeCompletion SEMICOLON:end
94.840 +{:
94.841 + TypeDeclaration type = new TypeDeclaration (tokenleft, endright, identifier, typeCompletion);
94.842 + RESULT = type;
94.843 +:}
94.844 +;
94.845 +
94.846 +discrim_part_opt ::=
94.847 + | discrim_part
94.848 + | LPAREN BOX RPAREN
94.849 + ;
94.850 +
94.851 +type_completion ::=
94.852 +// empty
94.853 +{:
94.854 + RESULT = null;
94.855 +:}
94.856 +| IS type_definition:typeDef
94.857 +{:
94.858 + RESULT = typeDef;
94.859 +:}
94.860 +;
94.861 +
94.862 +type_definition ::=
94.863 +enumeration_type
94.864 +| integer_type
94.865 +| real_type
94.866 +| array_type
94.867 +| record_type
94.868 +| access_type
94.869 +| derived_type
94.870 +| private_type_declaration:privateType
94.871 +{:
94.872 + RESULT = privateType;
94.873 +:}
94.874 +;
94.875 +
94.876 +///////////////////////////////////////////////////////////////////////////////
94.877 +// 3.2.2 Subtype Declarations
94.878 +//
94.879 +subtype_declaration ::=
94.880 +SUBTYPE:token defining_identifier:identifier IS subtype_indication:subtypeIndication SEMICOLON:end
94.881 +{:
94.882 + SubtypeDeclaration type = new SubtypeDeclaration (tokenleft, endright, identifier, subtypeIndication);
94.883 + RESULT = type;
94.884 +:}
94.885 +;
94.886 +
94.887 +subtype_indication ::=
94.888 +name:name constraint
94.889 +{:
94.890 + TypeName type = new TypeName (nameleft, nameright, name);
94.891 + RESULT = type;
94.892 +:}
94.893 +| name:name
94.894 +{:
94.895 + TypeName type = new TypeName (nameleft, nameright, name);
94.896 + RESULT = type;
94.897 +:}
94.898 +;
94.899 +
94.900 +constraint ::= range_constraint
94.901 + | decimal_digits_constraint
94.902 + ;
94.903 +
94.904 +decimal_digits_constraint ::= DIGITS expression range_constr_opt
94.905 + ;
94.906 +
94.907 +derived_type ::= NEW subtype_indication
94.908 + | NEW subtype_indication WITH PRIVATE
94.909 + | NEW subtype_indication WITH record_def
94.910 + | ABSTRACT NEW subtype_indication WITH PRIVATE
94.911 + | ABSTRACT NEW subtype_indication WITH record_def
94.912 + ;
94.913 +
94.914 +range_constraint ::= RANGE range
94.915 + ;
94.916 +
94.917 +range ::=
94.918 +simple_expression:simple_expression1 DOT_DOT simple_expression:simple_expression2
94.919 +{:
94.920 + Range range = new Range (simple_expression1left, simple_expression2right, simple_expression1, simple_expression2);
94.921 + RESULT = range;
94.922 +:}
94.923 +| name:name TICK RANGE:end
94.924 +{:
94.925 + Range range = new Range (nameleft, endright, name, name);
94.926 + RESULT = range;
94.927 +:}
94.928 +| name:name TICK RANGE LPAREN expression:expression RPAREN:end
94.929 +{:
94.930 + Range range = new Range (nameleft, endright, name, expression);
94.931 + RESULT = range;
94.932 +:}
94.933 +;
94.934 +
94.935 +enumeration_type ::= LPAREN enum_id_s RPAREN
94.936 + ;
94.937 +
94.938 +enum_id_s ::= enum_id
94.939 + | enum_id_s COMMA enum_id
94.940 + ;
94.941 +
94.942 +enum_id ::= IDENTIFIER
94.943 + | CHAR_LITERAL
94.944 + ;
94.945 +
94.946 +integer_type ::= range_spec
94.947 + | MOD expression
94.948 + ;
94.949 +
94.950 +
94.951 +range_spec ::= range_constraint
94.952 + ;
94.953 +
94.954 +range_spec_opt ::=
94.955 + | range_spec
94.956 + ;
94.957 +
94.958 +real_type ::= float_type
94.959 + | fixed_type
94.960 + ;
94.961 +
94.962 +float_type ::= DIGITS expression range_spec_opt
94.963 + ;
94.964 +
94.965 +fixed_type ::= DELTA expression range_spec
94.966 + | DELTA expression DIGITS expression range_spec_opt
94.967 + ;
94.968 +
94.969 +array_type ::= unconstr_array_type
94.970 + | constr_array_type
94.971 + ;
94.972 +
94.973 +unconstr_array_type ::= ARRAY LPAREN index_s RPAREN OF component_subtype_def
94.974 + ;
94.975 +
94.976 +constr_array_type ::= ARRAY iter_index_constraint OF component_subtype_def
94.977 + ;
94.978 +
94.979 +component_subtype_def ::= aliased_opt subtype_indication
94.980 + ;
94.981 +
94.982 +aliased_opt ::=
94.983 + | ALIASED
94.984 + ;
94.985 +
94.986 +index_s ::= index
94.987 + | index_s COMMA index
94.988 + ;
94.989 +
94.990 +index ::= name RANGE BOX
94.991 + ;
94.992 +
94.993 +iter_index_constraint ::= LPAREN iter_discrete_range_s RPAREN
94.994 + ;
94.995 +
94.996 +iter_discrete_range_s ::= discrete_range
94.997 + | iter_discrete_range_s COMMA discrete_range
94.998 + ;
94.999 +
94.1000 +discrete_range ::=
94.1001 +name range_constr_opt
94.1002 +| range:range
94.1003 +{:
94.1004 + RESULT = range;
94.1005 +:}
94.1006 +;
94.1007 +
94.1008 +range_constr_opt ::=
94.1009 + | range_constraint
94.1010 + ;
94.1011 +
94.1012 +record_type ::= tagged_opt limited_opt record_def
94.1013 + ;
94.1014 +
94.1015 +record_def ::= RECORD pragma_s comp_list END RECORD
94.1016 + | NULL RECORD
94.1017 + ;
94.1018 +
94.1019 +tagged_opt ::=
94.1020 +{:
94.1021 + RESULT = 0;
94.1022 +:}
94.1023 +| TAGGED
94.1024 +{:
94.1025 + RESULT = AdaASTParser.TAGGED;
94.1026 +:}
94.1027 +| ABSTRACT TAGGED
94.1028 +{:
94.1029 + RESULT = AdaASTParser.TAGGED + AdaASTParser.ABSTRACT;
94.1030 +:}
94.1031 +;
94.1032 +
94.1033 +comp_list ::= comp_decl_s variant_part_opt
94.1034 + | variant_part pragma_s
94.1035 + | NULL SEMICOLON pragma_s
94.1036 + ;
94.1037 +
94.1038 +comp_decl_s ::= comp_decl
94.1039 + | comp_decl_s pragma_s comp_decl
94.1040 + ;
94.1041 +
94.1042 +variant_part_opt ::= pragma_s
94.1043 + | pragma_s variant_part pragma_s
94.1044 + ;
94.1045 +
94.1046 +comp_decl ::=
94.1047 +defining_identifier_list COLON component_subtype_def init_opt SEMICOLON
94.1048 +| error:theError SEMICOLON
94.1049 +{:
94.1050 + ASTError error = new ASTError(theErrorleft, theErrorright);
94.1051 + RESULT = error;
94.1052 +:}
94.1053 +;
94.1054 +
94.1055 +discrim_part ::= LPAREN discrim_spec_s RPAREN
94.1056 + ;
94.1057 +
94.1058 +discrim_spec_s ::= discrim_spec
94.1059 + | discrim_spec_s SEMICOLON discrim_spec
94.1060 + ;
94.1061 +
94.1062 +discrim_spec ::=
94.1063 +defining_identifier_list COLON access_opt subtype_mark init_opt
94.1064 +| error:theError // error statement
94.1065 +{:
94.1066 + ASTError error = new ASTError(theErrorleft, theErrorright);
94.1067 + RESULT = error;
94.1068 +:}
94.1069 +;
94.1070 +
94.1071 +access_opt ::=
94.1072 + | ACCESS
94.1073 + ;
94.1074 +
94.1075 +variant_part ::= CASE simple_name IS pragma_s variant_s END CASE SEMICOLON
94.1076 + ;
94.1077 +
94.1078 +variant_s ::= variant
94.1079 + | variant_s variant
94.1080 + ;
94.1081 +
94.1082 +variant ::= WHEN choice_s ARROW pragma_s comp_list
94.1083 + ;
94.1084 +
94.1085 +choice_s ::= choice
94.1086 + | choice_s BAR choice
94.1087 + ;
94.1088 +
94.1089 +choice ::= expression
94.1090 + | discrete_with_range
94.1091 + | OTHERS
94.1092 + ;
94.1093 +
94.1094 +discrete_with_range ::= name range_constraint
94.1095 + | range
94.1096 + ;
94.1097 +
94.1098 +access_type ::= ACCESS subtype_indication
94.1099 + | ACCESS CONSTANT subtype_indication
94.1100 + | ACCESS ALL subtype_indication
94.1101 + | ACCESS prot_opt PROCEDURE formal_part_opt
94.1102 + | ACCESS prot_opt FUNCTION formal_part_opt RETURN subtype_mark
94.1103 + ;
94.1104 +
94.1105 +prot_opt ::=
94.1106 + | PROTECTED
94.1107 + ;
94.1108 +
94.1109 +///////////////////////////////////////////////////////////////////////////////
94.1110 +// 3.11 Declarative Parts
94.1111 +//
94.1112 +declarative_part ::=
94.1113 +{:
94.1114 + RESULT = new LinkedList();
94.1115 +:}
94.1116 +| declarative_item_or_body_s1:statement
94.1117 +{:
94.1118 + RESULT = statement;
94.1119 +:}
94.1120 +;
94.1121 +
94.1122 +declarative_items_opt ::=
94.1123 +// empty
94.1124 +{:
94.1125 + RESULT = new LinkedList();
94.1126 +:}
94.1127 +| declarative_item_list:declaritiveItemList
94.1128 +{:
94.1129 + RESULT = declaritiveItemList;
94.1130 +:}
94.1131 +;
94.1132 +
94.1133 +declarative_item_list ::=
94.1134 +declarative_item:declaritiveItem
94.1135 +{:
94.1136 + List declaritiveItemList = new LinkedList();
94.1137 + declaritiveItemList.add(declaritiveItem);
94.1138 + RESULT = declaritiveItemList;
94.1139 +:}
94.1140 +| declarative_item_list:declaritiveItemList declarative_item:declaritiveItem
94.1141 +{:
94.1142 + declaritiveItemList.add(declaritiveItem);
94.1143 + RESULT = declaritiveItemList;
94.1144 +:}
94.1145 +;
94.1146 +
94.1147 +declarative_item ::=
94.1148 +fields_declaration:list
94.1149 +{:
94.1150 + FieldsDeclaration fieldsDeclaration = new FieldsDeclaration(listleft, listright, list);
94.1151 + RESULT = fieldsDeclaration;
94.1152 +:}
94.1153 +| type_declaration:statement
94.1154 +{:
94.1155 + RESULT = statement;
94.1156 +:}
94.1157 +| subprog_declaration:statement
94.1158 +{:
94.1159 + RESULT = statement;
94.1160 +:}
94.1161 +| package_declaration:statement
94.1162 +{:
94.1163 + RESULT = statement;
94.1164 +:}
94.1165 +| declaration:statement // todo: to be split
94.1166 +{:
94.1167 + RESULT = statement;
94.1168 +:}
94.1169 +| use_clause:statement
94.1170 +{:
94.1171 + RESULT = statement;
94.1172 +:}
94.1173 +| rep_spec
94.1174 +| pragma
94.1175 +;
94.1176 +
94.1177 +declarative_item_or_body_s1 ::=
94.1178 +declarative_item_or_body:declaritiveItem
94.1179 +{:
94.1180 + List declaritiveItemList = new LinkedList();
94.1181 + declaritiveItemList.add(declaritiveItem);
94.1182 + RESULT = declaritiveItemList;
94.1183 +:}
94.1184 +| declarative_item_or_body_s1:declaritiveItemList declarative_item_or_body:declaritiveItem
94.1185 +{:
94.1186 + declaritiveItemList.add(declaritiveItem);
94.1187 + RESULT = declaritiveItemList;
94.1188 +:}
94.1189 +;
94.1190 +
94.1191 +declarative_item_or_body ::=
94.1192 +body:statement
94.1193 +{:
94.1194 + RESULT = statement;
94.1195 +:}
94.1196 +| declarative_item:statement
94.1197 +{:
94.1198 + RESULT = statement;
94.1199 +:}
94.1200 +;
94.1201 +
94.1202 +body ::=
94.1203 +subprogram_body:statement
94.1204 +{:
94.1205 + RESULT = statement;
94.1206 +:}
94.1207 +| package_body:statement
94.1208 +{:
94.1209 + RESULT = statement;
94.1210 +:}
94.1211 +| task_body:statement
94.1212 +{:
94.1213 + RESULT = statement;
94.1214 +:}
94.1215 +| protected_body:statement
94.1216 +{:
94.1217 + RESULT = statement;
94.1218 +:}
94.1219 +;
94.1220 +
94.1221 +proper_body ::=
94.1222 +subprogram_body:statement
94.1223 +{:
94.1224 + RESULT = statement;
94.1225 +:}
94.1226 +| package_body:statement
94.1227 +{:
94.1228 + RESULT = statement;
94.1229 +:}
94.1230 +| task_body:statement
94.1231 +{:
94.1232 + RESULT = statement;
94.1233 +:}
94.1234 +| protected_body:statement
94.1235 +{:
94.1236 + RESULT = statement;
94.1237 +:}
94.1238 +;
94.1239 +
94.1240 +name ::=
94.1241 +simple_name:simple_name // direct_name
94.1242 +{:
94.1243 + RESULT = simple_name;
94.1244 +:}
94.1245 +| operator_symbol:operator_symbol // direct_name
94.1246 +{:
94.1247 + RESULT = operator_symbol;
94.1248 +:}
94.1249 +| indexed_component:indexed_component
94.1250 +{:
94.1251 + RESULT = indexed_component;
94.1252 +:}
94.1253 +| selected_component:selected_component
94.1254 +{:
94.1255 + RESULT = selected_component;
94.1256 +:}
94.1257 +| attribute:attribute
94.1258 +{:
94.1259 + RESULT = attribute;
94.1260 +:}
94.1261 +;
94.1262 +
94.1263 +subtype_mark ::=
94.1264 +simple_name:name
94.1265 +{:
94.1266 + TypeName typeName = new TypeName (nameleft, nameright, name);
94.1267 + RESULT = typeName;
94.1268 +:}
94.1269 +| subtype_mark:name TICK attribute_id:id
94.1270 +{:
94.1271 + ((TypeName)name).setAttributeId(id);
94.1272 + RESULT = name;
94.1273 +:}
94.1274 +| subtype_mark:subtype_mark DOT simple_name:simple_name
94.1275 +{:
94.1276 + Dispatch dispatch;
94.1277 + TypeName typeName = new TypeName (simple_nameleft, simple_nameright, simple_name);
94.1278 + if (subtype_mark instanceof TypeName) {
94.1279 + PackageName packageName = new PackageName (subtype_markleft, subtype_markright, ((TypeName)subtype_mark).getTypeName());
94.1280 + dispatch = parser.createDispatch(packageName, typeName);
94.1281 + } else {
94.1282 + dispatch = parser.createDispatch(subtype_mark, typeName);
94.1283 + }
94.1284 +
94.1285 + RESULT = dispatch;
94.1286 +:}
94.1287 +;
94.1288 +
94.1289 +simple_name ::=
94.1290 +IDENTIFIER:id
94.1291 +{:
94.1292 + Identifier identifier = new Identifier (idleft, idright, id);
94.1293 + RESULT = identifier;
94.1294 +:}
94.1295 +;
94.1296 +
94.1297 +// TODO: must be create a list of identifiers
94.1298 +compound_name ::=
94.1299 +simple_name:simple_name
94.1300 +{:
94.1301 + RESULT = simple_name;
94.1302 +:}
94.1303 +| compound_name:compound_name DOT simple_name:simple_name
94.1304 +{:
94.1305 + RESULT = simple_name;
94.1306 +:}
94.1307 +;
94.1308 +
94.1309 +library_unit_name_list ::=
94.1310 +compound_name:compound_name
94.1311 +{:
94.1312 + List nameList = new LinkedList();
94.1313 + PackageName packageName = new PackageName(compound_nameleft, compound_nameright, compound_name);
94.1314 + nameList.add(packageName);
94.1315 + RESULT = nameList;
94.1316 +:}
94.1317 +| library_unit_name_list:nameList COMMA compound_name:compound_name
94.1318 +{:
94.1319 + PackageName packageName = new PackageName(compound_nameleft, compound_nameright, compound_name);
94.1320 + nameList.add(packageName);
94.1321 + RESULT = nameList;
94.1322 +:}
94.1323 +;
94.1324 +
94.1325 +used_char ::=
94.1326 +CHAR_LITERAL:charLiteral
94.1327 +{:
94.1328 + RESULT = charLiteral;
94.1329 +:}
94.1330 +;
94.1331 +
94.1332 +indexed_component ::=
94.1333 +name:name LPAREN value_s:index RPAREN:end
94.1334 +{:
94.1335 + RESULT = name;
94.1336 +:}
94.1337 +;
94.1338 +
94.1339 +value_s ::= value
94.1340 + | value_s COMMA value
94.1341 + ;
94.1342 +
94.1343 +value ::= expression
94.1344 +| comp_assoc
94.1345 +| discrete_with_range
94.1346 +| error:theError /* error statement */
94.1347 +{:
94.1348 + ASTError error = new ASTError(theErrorleft, theErrorright);
94.1349 + RESULT = error;
94.1350 +:}
94.1351 +;
94.1352 +
94.1353 +///////////////////////////////////////////////////////////////////////////////
94.1354 +// 4.1.3 Selected Components
94.1355 +//
94.1356 +selected_component ::=
94.1357 +name:name DOT simple_name:simple_name
94.1358 +{:
94.1359 + Identifier identifier = new Identifier (nameleft, simple_nameright, name.getName() + "." + simple_name.getName());
94.1360 + RESULT = identifier;
94.1361 +:}
94.1362 +| name:name DOT used_char:used_char
94.1363 +{:
94.1364 + Identifier identifier = new Identifier (nameleft, used_charright, name.getName() + "." + used_char);
94.1365 + RESULT = identifier;
94.1366 +:}
94.1367 +| name:name DOT operator_symbol:operator
94.1368 +{:
94.1369 + Identifier identifier = new Identifier (nameleft, operatorright, name.getName() + "." + operator.getName());
94.1370 + RESULT = identifier;
94.1371 +:}
94.1372 +| name:name DOT ALL:all
94.1373 +{:
94.1374 + Identifier identifier = new Identifier (nameleft, allright, name.getName() + "." + "all");
94.1375 + RESULT = identifier;
94.1376 +:}
94.1377 +;
94.1378 +
94.1379 +attribute ::=
94.1380 +name:name TICK attribute_id
94.1381 +{:
94.1382 + RESULT = name;
94.1383 +:}
94.1384 +;
94.1385 +
94.1386 +attribute_id ::=
94.1387 +IDENTIFIER
94.1388 +| DIGITS
94.1389 +| DELTA
94.1390 +| ACCESS
94.1391 +;
94.1392 +
94.1393 +literal ::=
94.1394 +DECIMAL_LITERAL:dec
94.1395 +{:
94.1396 + Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
94.1397 + RESULT = scalar;
94.1398 +:}
94.1399 +| BASED_LITERAL:dec
94.1400 +{:
94.1401 + Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
94.1402 + RESULT = scalar;
94.1403 +:}
94.1404 +| used_char:usedChar
94.1405 +{:
94.1406 + Scalar scalar = new Scalar(usedCharleft, usedCharright, usedChar, Scalar.Type.STRING);
94.1407 + RESULT = scalar;
94.1408 +:}
94.1409 +| NULL:token
94.1410 +{:
94.1411 + Scalar scalar = new Scalar(tokenleft, tokenright, "null", Scalar.Type.SYSTEM);
94.1412 + RESULT = scalar;
94.1413 +:}
94.1414 +;
94.1415 +
94.1416 +aggregate ::= LPAREN comp_assoc RPAREN
94.1417 + | LPAREN value_s_2 RPAREN
94.1418 + | LPAREN expression WITH value_s RPAREN
94.1419 + | LPAREN expression WITH NULL RECORD RPAREN
94.1420 + | LPAREN NULL RECORD RPAREN
94.1421 + ;
94.1422 +
94.1423 +value_s_2 ::= value COMMA value
94.1424 + | value_s_2 COMMA value
94.1425 + ;
94.1426 +
94.1427 +comp_assoc ::= choice_s ARROW expression
94.1428 + ;
94.1429 +
94.1430 +
94.1431 +///////////////////////////////////////////////////////////////////////////////
94.1432 +// 4.5 Operators and Expression Evaluation
94.1433 +//
94.1434 +logical_operator ::=
94.1435 +AND
94.1436 +{:
94.1437 + RESULT = InfixExpression.OperatorType.BOOL_AND;
94.1438 +:}
94.1439 +| OR
94.1440 +{:
94.1441 + RESULT = InfixExpression.OperatorType.BOOL_OR;
94.1442 +:}
94.1443 +| XOR
94.1444 +{:
94.1445 + RESULT = InfixExpression.OperatorType.BOOL_XOR;
94.1446 +:}
94.1447 +;
94.1448 +
94.1449 +short_circuit ::=
94.1450 +AND THEN
94.1451 +{:
94.1452 + RESULT = InfixExpression.OperatorType.BOOL_OR;
94.1453 +:}
94.1454 +| OR ELSE
94.1455 +{:
94.1456 + RESULT = InfixExpression.OperatorType.BOOL_AND;
94.1457 +:}
94.1458 +;
94.1459 +
94.1460 +relational_operator ::=
94.1461 +EQ
94.1462 +{:
94.1463 + RESULT = InfixExpression.OperatorType.IS_EQUAL;
94.1464 +:}
94.1465 +| INEQ
94.1466 +{:
94.1467 + RESULT = InfixExpression.OperatorType.IS_NOT_EQUAL;
94.1468 +:}
94.1469 +| GT
94.1470 +{:
94.1471 + RESULT = InfixExpression.OperatorType.RGREATER;
94.1472 +:}
94.1473 +| LTEQ
94.1474 +{:
94.1475 + RESULT = InfixExpression.OperatorType.IS_SMALLER_OR_EQUAL;
94.1476 +:}
94.1477 +| LT
94.1478 +{:
94.1479 + RESULT = InfixExpression.OperatorType.LGREATER;
94.1480 +:}
94.1481 +| GTEQ
94.1482 +{:
94.1483 + RESULT = InfixExpression.OperatorType.IS_GREATER_OR_EQUAL;
94.1484 +:}
94.1485 +;
94.1486 +
94.1487 +membership ::=
94.1488 +IN
94.1489 +{:
94.1490 + RESULT = InfixExpression.OperatorType.IN;
94.1491 +:}
94.1492 +| NOT IN
94.1493 +{:
94.1494 + RESULT = InfixExpression.OperatorType.NOT_IN;
94.1495 +:}
94.1496 +;
94.1497 +
94.1498 +unary_adding_operator ::=
94.1499 +PLUS
94.1500 +{:
94.1501 + RESULT = UnaryOperation.Operator.PLUS;
94.1502 +:}
94.1503 +| MINUS
94.1504 +{:
94.1505 + RESULT = UnaryOperation.Operator.MINUS;
94.1506 +:}
94.1507 +;
94.1508 +
94.1509 +binary_adding_operator ::=
94.1510 +PLUS
94.1511 +{:
94.1512 + RESULT = InfixExpression.OperatorType.PLUS;
94.1513 +:}
94.1514 +| MINUS
94.1515 +{:
94.1516 + RESULT = InfixExpression.OperatorType.MINUS;
94.1517 +:}
94.1518 +| AMP
94.1519 +{:
94.1520 + RESULT = InfixExpression.OperatorType.STRING_AND;
94.1521 +:}
94.1522 +;
94.1523 +
94.1524 +multiplying_operator ::=
94.1525 +STAR
94.1526 +{:
94.1527 + RESULT = InfixExpression.OperatorType.MUL;
94.1528 +:}
94.1529 +| SLASH
94.1530 +{:
94.1531 + RESULT = InfixExpression.OperatorType.DIV;
94.1532 +:}
94.1533 +| MOD
94.1534 +{:
94.1535 + RESULT = InfixExpression.OperatorType.MOD;
94.1536 +:}
94.1537 +| REM
94.1538 +{:
94.1539 + RESULT = InfixExpression.OperatorType.REM;
94.1540 +:}
94.1541 +;
94.1542 +
94.1543 +///////////////////////////////////////////////////////////////////////////////
94.1544 +// 4.4 Expressions
94.1545 +//
94.1546 +expression ::=
94.1547 +relation:relation
94.1548 +{:
94.1549 + RESULT = relation;
94.1550 +:}
94.1551 +| expression:expression logical_operator:logical_operator relation:relation
94.1552 +{:
94.1553 + InfixExpression infixExpression = new InfixExpression(expressionleft, relationright, expression, logical_operator, relation);
94.1554 + RESULT = infixExpression;
94.1555 +:}
94.1556 +| expression:expression short_circuit:short_circuit relation:relation
94.1557 +{:
94.1558 + InfixExpression infixExpression = new InfixExpression(expressionleft, relationright, expression, short_circuit, relation);
94.1559 + RESULT = infixExpression;
94.1560 +:}
94.1561 +;
94.1562 +
94.1563 +relation ::=
94.1564 +simple_expression:simple_expression
94.1565 +{:
94.1566 + RESULT = simple_expression;
94.1567 +:}
94.1568 +| simple_expression:simple_expression1 relational_operator:relational_operator simple_expression:simple_expression2
94.1569 +{:
94.1570 + InfixExpression infixExpression = new InfixExpression(simple_expression1left, simple_expression2right, simple_expression1, relational_operator, simple_expression2);
94.1571 + RESULT = infixExpression;
94.1572 +:}
94.1573 +| simple_expression:simple_expression membership:membership range:range
94.1574 +{:
94.1575 + InfixExpression infixExpression = new InfixExpression(simple_expressionleft, rangeright, simple_expression, membership, range);
94.1576 + RESULT = infixExpression;
94.1577 +:}
94.1578 +| simple_expression:simple_expression membership:membership name:name
94.1579 +{:
94.1580 + InfixExpression infixExpression = new InfixExpression(simple_expressionleft, nameright, simple_expression, membership, name);
94.1581 + RESULT = infixExpression;
94.1582 +:}
94.1583 +;
94.1584 +
94.1585 +simple_expression ::=
94.1586 +unary_adding_operator:unary_adding_operator term:term
94.1587 +{:
94.1588 + UnaryOperation unaryOperation = new UnaryOperation(unary_adding_operatorleft, termright, term, unary_adding_operator);
94.1589 + RESULT = unaryOperation;
94.1590 +:}
94.1591 +| term:term
94.1592 +{:
94.1593 + RESULT = term;
94.1594 +:}
94.1595 +| simple_expression:simple_expression binary_adding_operator:binary_adding_operator term:term
94.1596 +{:
94.1597 + InfixExpression infixExpression = new InfixExpression(simple_expressionleft, termright, simple_expression, binary_adding_operator, term);
94.1598 + RESULT = infixExpression;
94.1599 +:}
94.1600 +;
94.1601 +
94.1602 +term ::=
94.1603 +factor:factor
94.1604 +{:
94.1605 + RESULT = factor;
94.1606 +:}
94.1607 +| term:term multiplying_operator:multiplying_operator factor:factor
94.1608 +{:
94.1609 + InfixExpression infixExpression = new InfixExpression(termleft, factorright, term, multiplying_operator, factor);
94.1610 + RESULT = infixExpression;
94.1611 +:}
94.1612 +;
94.1613 +
94.1614 +factor ::=
94.1615 +primary:primary
94.1616 +{:
94.1617 + RESULT = primary;
94.1618 +:}
94.1619 +| NOT:token primary:primary
94.1620 +{:
94.1621 + UnaryOperation unaryOperation = new UnaryOperation(tokenleft, primaryright, primary, UnaryOperation.Operator.NOT);
94.1622 + RESULT = unaryOperation;
94.1623 +:}
94.1624 +| ABS:token primary:primary
94.1625 +{:
94.1626 + UnaryOperation unaryOperation = new UnaryOperation(tokenleft, primaryright, primary, UnaryOperation.Operator.ABS);
94.1627 + RESULT = unaryOperation;
94.1628 +:}
94.1629 +| primary:primary1 EXPON primary:primary2
94.1630 +{:
94.1631 + InfixExpression infixExpression = new InfixExpression(primary1left, primary2right, primary1, InfixExpression.OperatorType.EXPON, primary2);
94.1632 + RESULT = infixExpression;
94.1633 +:}
94.1634 +;
94.1635 +
94.1636 +primary ::=
94.1637 +literal:literal
94.1638 +{:
94.1639 + RESULT = literal;
94.1640 +:}
94.1641 +| name:name
94.1642 +{:
94.1643 +// TODO: must be modified for manage all primery types
94.1644 + Variable variable = new Variable (nameleft, nameright, name);
94.1645 + RESULT = variable;
94.1646 +:}
94.1647 +| allocator
94.1648 +| qualified_expression:qualified_expression
94.1649 +{:
94.1650 + RESULT = qualified_expression;
94.1651 +:}
94.1652 +| parenthesized_primary:parenthesized_primary
94.1653 +{:
94.1654 + RESULT = parenthesized_primary;
94.1655 +:}
94.1656 +;
94.1657 +
94.1658 +parenthesized_primary ::=
94.1659 +aggregate
94.1660 +| LPAREN expression:expression RPAREN
94.1661 +{:
94.1662 + RESULT = expression;
94.1663 +:}
94.1664 +;
94.1665 +
94.1666 +qualified_expression ::=
94.1667 +name:name TICK parenthesized_primary:expr
94.1668 +{:
94.1669 + RESULT = new QualifiedExpression (nameleft, exprright, name, expr);
94.1670 +:}
94.1671 +;
94.1672 +
94.1673 +allocator ::= NEW name
94.1674 + | NEW qualified_expression
94.1675 + ;
94.1676 +
94.1677 +///////////////////////////////////////////////////////////////////////////////
94.1678 +// 5.1 Simple and Compound Statements - Sequences of Statements
94.1679 +//
94.1680 +sequence_of_statements ::=
94.1681 +statement:statement
94.1682 +{:
94.1683 + List list = new LinkedList();
94.1684 + list.add(statement);
94.1685 + RESULT = list;
94.1686 +:}
94.1687 +| sequence_of_statements:list statement:statement
94.1688 +{:
94.1689 + list.add(statement);
94.1690 + RESULT = list;
94.1691 +:}
94.1692 +;
94.1693 +
94.1694 +statement ::=
94.1695 +unlabeled:statement
94.1696 +{:
94.1697 + RESULT = statement;
94.1698 +:}
94.1699 +| label statement:statement
94.1700 +{:
94.1701 + RESULT = statement;
94.1702 +:}
94.1703 +;
94.1704 +
94.1705 +unlabeled ::=
94.1706 +simple_statement:statement
94.1707 +{:
94.1708 + RESULT = statement;
94.1709 +:}
94.1710 +| compound_statement:statement
94.1711 +{:
94.1712 + RESULT = statement;
94.1713 +:}
94.1714 +| pragma
94.1715 +;
94.1716 +
94.1717 +simple_statement ::=
94.1718 +null_statement:statement
94.1719 +{:
94.1720 + RESULT = statement;
94.1721 +:}
94.1722 +| assignment_statement:statement
94.1723 +{:
94.1724 + RESULT = statement;
94.1725 +:}
94.1726 +| exit_statement:statement
94.1727 +{:
94.1728 + RESULT = statement;
94.1729 +:}
94.1730 +| return_statement:statement
94.1731 +{:
94.1732 + RESULT = statement;
94.1733 +:}
94.1734 +| goto_statement:statement
94.1735 +{:
94.1736 + RESULT = statement;
94.1737 +:}
94.1738 +| procedure_call_statement:statement
94.1739 +{:
94.1740 + RESULT = statement;
94.1741 +:}
94.1742 +| delay_statement:statement
94.1743 +{:
94.1744 + RESULT = statement;
94.1745 +:}
94.1746 +| abort_statement:statement
94.1747 +{:
94.1748 + RESULT = statement;
94.1749 +:}
94.1750 +| raise_statement:statement
94.1751 +{:
94.1752 + RESULT = statement;
94.1753 +:}
94.1754 +| code_statement:statement
94.1755 +{:
94.1756 + RESULT = statement;
94.1757 +:}
94.1758 +| requeue_stmt
94.1759 +| error:theError SEMICOLON /* error statement */
94.1760 +{:
94.1761 + ASTError error = new ASTError(theErrorleft, theErrorright);
94.1762 + RESULT = error;
94.1763 +:}
94.1764 +;
94.1765 +
94.1766 +compound_statement ::=
94.1767 +if_statement:statement
94.1768 +{:
94.1769 + RESULT = statement;
94.1770 +:}
94.1771 +| case_statement:statement
94.1772 +{:
94.1773 + RESULT = statement;
94.1774 +:}
94.1775 +| loop_statement:statement
94.1776 +{:
94.1777 + RESULT = statement;
94.1778 +:}
94.1779 +| block_statement:statement
94.1780 +{:
94.1781 + RESULT = statement;
94.1782 +:}
94.1783 +| accept_stmt
94.1784 +| select_stmt
94.1785 +;
94.1786 +
94.1787 +label ::= LTLT IDENTIFIER GTGT
94.1788 + ;
94.1789 +
94.1790 +null_statement ::=
94.1791 +NULL:token SEMICOLON:end
94.1792 +{:
94.1793 + RESULT = new NullStatement(tokenleft, endright);
94.1794 +:}
94.1795 +;
94.1796 +
94.1797 +///////////////////////////////////////////////////////////////////////////////
94.1798 +// 5.2 Assignment Statements
94.1799 +//
94.1800 +assignment_statement ::=
94.1801 +name:name ASSIGNMENT expression:expression SEMICOLON
94.1802 +{:
94.1803 + Variable variable = new Variable (nameleft, nameright, name);
94.1804 + Assignment assignment = new Assignment(nameleft, expressionright, variable, expression);
94.1805 + RESULT = assignment;
94.1806 +:}
94.1807 +;
94.1808 +
94.1809 +///////////////////////////////////////////////////////////////////////////////
94.1810 +// 5.3 If Statements
94.1811 +//
94.1812 +if_statement ::=
94.1813 +IF:token cond_clause_s:condList else_opt:iffalse END IF SEMICOLON:end
94.1814 +{:
94.1815 + Expression innerCondition = null;
94.1816 + Expression firstCondition = null;
94.1817 + Statement trueStatement = null;
94.1818 + Statement falseStatement = iffalse;
94.1819 +
94.1820 + for (int i=1 ; i < condList[0].size() ; i++) {
94.1821 + innerCondition = (Expression)condList[0].get(i);
94.1822 + trueStatement = (Statement)condList[1].get(i);
94.1823 + int start = ((Integer)condList[2].get(i)).intValue();
94.1824 + falseStatement = new IfStatement(start, endright, innerCondition, trueStatement, falseStatement);
94.1825 + }
94.1826 +
94.1827 + firstCondition = (Expression)condList[0].get(0);
94.1828 + trueStatement = (Statement)condList[1].get(0);
94.1829 + int start = ((Integer)condList[2].get(0)).intValue();
94.1830 + IfStatement ifStatement = new IfStatement(tokenleft, endright, firstCondition, trueStatement, falseStatement);
94.1831 +
94.1832 + RESULT = ifStatement;
94.1833 +:}
94.1834 +;
94.1835 +
94.1836 +cond_clause_s ::=
94.1837 +condition:condition THEN:token sequence_of_statements:iftrue
94.1838 +{:
94.1839 + List listConditions = new LinkedList();
94.1840 + List listStatements = new LinkedList();
94.1841 + List listTokens = new LinkedList();
94.1842 +
94.1843 + Block block = new Block(iftrueleft, iftrueright, iftrue);
94.1844 + listConditions.add(condition);
94.1845 + listStatements.add(block);
94.1846 + listTokens.add(new Integer(tokenleft));
94.1847 +
94.1848 + List[] returnList = new List[] { listConditions, listStatements, listTokens };
94.1849 +
94.1850 + RESULT = returnList;
94.1851 +:}
94.1852 +| cond_clause_s:condList ELSIF:token condition:condition THEN sequence_of_statements:iftrue
94.1853 +{:
94.1854 + Block block = new Block(iftrueleft, iftrueright, iftrue);
94.1855 + ((LinkedList)condList[0]).addFirst(condition);
94.1856 + ((LinkedList)condList[1]).addFirst(block);
94.1857 + ((LinkedList)condList[2]).addFirst(new Integer(tokenleft));
94.1858 +
94.1859 + RESULT = condList;
94.1860 +:}
94.1861 +;
94.1862 +
94.1863 +condition ::=
94.1864 +expression:expression
94.1865 +{:
94.1866 + RESULT = expression;
94.1867 +:}
94.1868 +;
94.1869 +
94.1870 +else_opt ::=
94.1871 +/* empty */
94.1872 +{:
94.1873 + RESULT = null;
94.1874 +:}
94.1875 +| ELSE sequence_of_statements:statements
94.1876 +{:
94.1877 + Block block = new Block(statementsleft, statementsright, statements);
94.1878 + RESULT = block;
94.1879 +:}
94.1880 +;
94.1881 +
94.1882 +///////////////////////////////////////////////////////////////////////////////
94.1883 +// 5.4 Case Statements
94.1884 +//
94.1885 +case_statement ::=
94.1886 +CASE:token expression:expr IS pragma_s alternative_s:whenList END CASE SEMICOLON:end
94.1887 +{:
94.1888 + Block whenBlock = new Block(whenListleft, whenListright, whenList);
94.1889 + CaseStatement caseStatement = new CaseStatement(tokenleft, endright, expr, whenBlock);
94.1890 + RESULT = caseStatement;
94.1891 +:}
94.1892 +;
94.1893 +
94.1894 +alternative_s ::=
94.1895 +/* empty */
94.1896 +{:
94.1897 + RESULT = new LinkedList();
94.1898 +:}
94.1899 +| alternative_s:whenList alternative:when
94.1900 +{:
94.1901 + whenList.add (when);
94.1902 + RESULT = whenList;
94.1903 +:}
94.1904 +;
94.1905 +
94.1906 +alternative ::=
94.1907 +WHEN:token choice_s:expr ARROW sequence_of_statements:statements
94.1908 +{:
94.1909 + CaseWhen caseWhen = new CaseWhen(tokenleft, statementsright, expr, statements);
94.1910 + RESULT = caseWhen;
94.1911 +:}
94.1912 +;
94.1913 +
94.1914 +///////////////////////////////////////////////////////////////////////////////
94.1915 +// 5.5 Loop Statements
94.1916 +//
94.1917 +loop_statement ::=
94.1918 +label_opt:label iteration:iteration basic_loop:statement id_opt SEMICOLON:end
94.1919 +{:
94.1920 + int start = (label == null) ? iterationleft : labelleft;
94.1921 + LoopStatement loopStatement = new LoopStatement(start, endright, label, iteration, statement);
94.1922 + RESULT = loopStatement;
94.1923 +:}
94.1924 +;
94.1925 +
94.1926 +label_opt ::=
94.1927 +/* empty */
94.1928 +{:
94.1929 + RESULT = null;
94.1930 +:}
94.1931 +| IDENTIFIER:id COLON
94.1932 +{:
94.1933 + Identifier identifier = new Identifier (idleft, idright, id);
94.1934 + RESULT = identifier;
94.1935 +:}
94.1936 +;
94.1937 +
94.1938 +iteration ::=
94.1939 +/* empty */
94.1940 +{:
94.1941 + RESULT = null;
94.1942 +:}
94.1943 +| WHILE condition:condition
94.1944 +{:
94.1945 + RESULT = condition;
94.1946 +:}
94.1947 +| iter_part reverse_opt discrete_range:condition
94.1948 +{:
94.1949 + RESULT = condition;
94.1950 +:}
94.1951 +;
94.1952 +
94.1953 +iter_part ::=
94.1954 +FOR IDENTIFIER IN
94.1955 +;
94.1956 +
94.1957 +reverse_opt ::=
94.1958 +| REVERSE
94.1959 +;
94.1960 +
94.1961 +basic_loop ::=
94.1962 +LOOP sequence_of_statements:statements END LOOP
94.1963 +{:
94.1964 + Block loopBlock = new Block(statementsleft, statementsright, statements);
94.1965 + RESULT = loopBlock;
94.1966 +:}
94.1967 +;
94.1968 +
94.1969 +
94.1970 +///////////////////////////////////////////////////////////////////////////////
94.1971 +
94.1972 +id_opt ::=
94.1973 +// empty
94.1974 +{:
94.1975 + RESULT = null;
94.1976 +:}
94.1977 +| designator:designator
94.1978 +{:
94.1979 + RESULT = designator;
94.1980 +:}
94.1981 +;
94.1982 +
94.1983 +///////////////////////////////////////////////////////////////////////////////
94.1984 +// 5.6 Block Statements
94.1985 +//
94.1986 +block_statement ::=
94.1987 +label_opt:label block_declarative:declarations block_body:body END id_opt SEMICOLON:end
94.1988 +{:
94.1989 + int start = (label == null) ? declarationsleft : labelleft;
94.1990 + BlockStatement blockStatement = new BlockStatement (start, endleft, label, declarations, body);
94.1991 + RESULT = blockStatement;
94.1992 +:}
94.1993 +;
94.1994 +
94.1995 +block_declarative ::=
94.1996 +{:
94.1997 + RESULT = null;
94.1998 +:}
94.1999 +| DECLARE:token declarative_part:declarativePart
94.2000 +{:
94.2001 + Block declarations = new Block(tokenright, declarativePartleft, declarativePart);
94.2002 + RESULT = declarations;
94.2003 +:}
94.2004 +;
94.2005 +
94.2006 +block_body ::=
94.2007 +BEGIN:token handled_stmt_s:statements
94.2008 +{:
94.2009 + Block body = new Block(tokenright, statementsright, statements);
94.2010 + RESULT = body;
94.2011 +:}
94.2012 +;
94.2013 +
94.2014 +handled_stmt_s ::=
94.2015 +sequence_of_statements:statements except_handler_part_opt
94.2016 +{:
94.2017 + RESULT = statements;
94.2018 +:}
94.2019 +;
94.2020 +
94.2021 +except_handler_part_opt ::=
94.2022 + | except_handler_part
94.2023 + ;
94.2024 +
94.2025 +///////////////////////////////////////////////////////////////////////////////
94.2026 +// 5.7 Exit Statements
94.2027 +//
94.2028 +exit_statement ::=
94.2029 +EXIT:token name_opt:loopName when_opt:whenCondition SEMICOLON:end
94.2030 +{:
94.2031 + RESULT = new ExitStatement(tokenleft, endright, loopName, whenCondition);
94.2032 +:}
94.2033 +;
94.2034 +
94.2035 +name_opt ::=
94.2036 +{:
94.2037 + RESULT = null;
94.2038 +:}
94.2039 +| name:name
94.2040 +{:
94.2041 + RESULT = name;
94.2042 +:}
94.2043 +;
94.2044 +
94.2045 +when_opt ::=
94.2046 +{:
94.2047 + RESULT = null;
94.2048 +:}
94.2049 +| WHEN condition:cond
94.2050 +{:
94.2051 + RESULT = cond;
94.2052 +:}
94.2053 +;
94.2054 +
94.2055 +///////////////////////////////////////////////////////////////////////////////
94.2056 +// 6.5 Return Statements
94.2057 +//
94.2058 +return_statement ::=
94.2059 +RETURN:token SEMICOLON:end
94.2060 +{:
94.2061 + RESULT = new ReturnStatement(tokenleft, endright);
94.2062 +:}
94.2063 +| RETURN:token expression:expr SEMICOLON:end
94.2064 +{:
94.2065 + RESULT = new ReturnStatement(tokenleft, endright, expr);
94.2066 +:}
94.2067 +;
94.2068 +
94.2069 +///////////////////////////////////////////////////////////////////////////////
94.2070 +// 5.8 Goto Statements
94.2071 +//
94.2072 +goto_statement ::=
94.2073 +GOTO:token name:labelName SEMICOLON:end
94.2074 +{:
94.2075 + RESULT = new GotoStatement(tokenleft, endright, labelName);
94.2076 +:}
94.2077 +;
94.2078 +
94.2079 +///////////////////////////////////////////////////////////////////////////////
94.2080 +// 6.1 Subprogram Declarations
94.2081 +//
94.2082 +subprog_declaration ::=
94.2083 +subprogram_specification:subprog SEMICOLON:end
94.2084 +{:
94.2085 + RESULT = new MethodDeclaration(subprogleft, endright, 0/*modifier*/, subprog);
94.2086 +:}
94.2087 +| generic_subp_inst:subprog SEMICOLON:end
94.2088 +{:
94.2089 + RESULT = new MethodDeclaration(subprogleft, endright, 0/*modifier*/, subprog);
94.2090 +:}
94.2091 +| subprogram_specification:subprog IS ABSTRACT SEMICOLON:end
94.2092 +{:
94.2093 + RESULT = new MethodDeclaration(subprogleft, endright, AdaASTParser.ABSTRACT, subprog);
94.2094 +:}
94.2095 +;
94.2096 +
94.2097 +subprogram_specification ::=
94.2098 +PROCEDURE:procedure compound_name:compound_name formal_part_opt:formal_part
94.2099 +{:
94.2100 + SubprogramSpecification subprogramSpecification = new SubprogramSpecification(procedureleft, formal_partright, compound_name, formal_part);
94.2101 + RESULT = subprogramSpecification;
94.2102 +:}
94.2103 +| FUNCTION:function designator:designator formal_part_opt:formal_part RETURN name:subtype_mark
94.2104 +{:
94.2105 + SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, subtype_markright, designator, formal_part, subtype_mark);
94.2106 + RESULT = subprogramSpecification;
94.2107 +:}
94.2108 +| FUNCTION:function designator:designator /* for generic inst and generic rename */
94.2109 +{:
94.2110 + SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, designatorright, designator);
94.2111 + RESULT = subprogramSpecification;
94.2112 +:}
94.2113 +;
94.2114 +
94.2115 +designator ::=
94.2116 +compound_name:name
94.2117 +{:
94.2118 + RESULT = name;
94.2119 +:}
94.2120 +| operator_symbol:name
94.2121 +{:
94.2122 + RESULT = name;
94.2123 +:}
94.2124 +;
94.2125 +
94.2126 +formal_part_opt ::=
94.2127 +// empty
94.2128 +{:
94.2129 + List list = new LinkedList();
94.2130 + RESULT = list;
94.2131 +:}
94.2132 +| formal_part:list
94.2133 +{:
94.2134 + RESULT = list;
94.2135 +:}
94.2136 +;
94.2137 +
94.2138 +formal_part ::=
94.2139 +LPAREN param_s:list RPAREN
94.2140 +{:
94.2141 + RESULT = list;
94.2142 +:}
94.2143 +;
94.2144 +
94.2145 +param_s ::=
94.2146 +param:parameter
94.2147 +{:
94.2148 + List list = new LinkedList();
94.2149 + list.addAll(parameter);
94.2150 + RESULT = list;
94.2151 +:}
94.2152 +| param_s:list SEMICOLON param:parameter
94.2153 +{:
94.2154 + list.addAll(parameter);
94.2155 + RESULT = list;
94.2156 +:}
94.2157 +;
94.2158 +
94.2159 +param ::=
94.2160 +defining_identifier_list:identifierList COLON mode:mode subtype_mark:subtype init_opt:init
94.2161 +{:
94.2162 + List list = new LinkedList();
94.2163 + for (Object item : identifierList) {
94.2164 + Identifier identifier = (Identifier)item;
94.2165 + Variable variable = new Variable (identifier.getStartOffset(), identifier.getEndOffset(), identifier);
94.2166 + int end = init == null ? subtyperight : initright;
94.2167 + FormalParameter parameter = new FormalParameter(identifierListleft, end, variable, mode, subtype, init);
94.2168 + list.add(parameter);
94.2169 + }
94.2170 + RESULT = list;
94.2171 +:}
94.2172 +| error:theError SEMICOLON /* error statement */
94.2173 +{:
94.2174 + List list = new LinkedList();
94.2175 + ASTError error = new ASTError(theErrorleft, theErrorright);
94.2176 + list.add(error);
94.2177 + RESULT = list;
94.2178 +:}
94.2179 +;
94.2180 +
94.2181 +mode ::=
94.2182 +// empty
94.2183 +{:
94.2184 + RESULT = FormalParameter.Mode.IN;
94.2185 +:}
94.2186 +| IN
94.2187 +{:
94.2188 + RESULT = FormalParameter.Mode.IN;
94.2189 +:}
94.2190 +| OUT
94.2191 +{:
94.2192 + RESULT = FormalParameter.Mode.OUT;
94.2193 +:}
94.2194 +| IN OUT
94.2195 +{:
94.2196 + RESULT = FormalParameter.Mode.IN_OUT;
94.2197 +:}
94.2198 +| ACCESS
94.2199 +{:
94.2200 + RESULT = FormalParameter.Mode.ACCESS;
94.2201 +:}
94.2202 +;
94.2203 +
94.2204 +// TODO: manage the overload operators ex: "+" "and" ecc.
94.2205 +operator_symbol ::=
94.2206 +STRING_LITERAL:string_literal
94.2207 +{:
94.2208 + Identifier identifier = new Identifier (string_literalleft, string_literalright, string_literal);
94.2209 + RESULT = identifier;
94.2210 +:}
94.2211 +;
94.2212 +
94.2213 +subprogram_body ::=
94.2214 +subprogram_specification:subprog IS
94.2215 +declarative_part:declarativePart block_body:body END id_opt:id_opt SEMICOLON:end
94.2216 +{:
94.2217 + if (id_opt != null && !id_opt.getName().equalsIgnoreCase (subprog.getSubprogramName().getName())) {
94.2218 + this.parser.message_error("mispelling of " + subprog.getSubprogramName().getName());
94.2219 + } else {
94.2220 + Block declarations = new Block(subprogright, bodyleft, declarativePart);
94.2221 + body.setEndOffset(endright);
94.2222 + SubprogramBody subprogramBody = new SubprogramBody(subprogleft, endright, subprog, declarations, body, id_opt);
94.2223 + MethodDeclaration methodDeclaration = new MethodDeclaration(subprogleft, endright, 0/*modifier*/, subprogramBody);
94.2224 + RESULT = methodDeclaration;
94.2225 + }
94.2226 +:}
94.2227 +;
94.2228 +
94.2229 +///////////////////////////////////////////////////////////////////////////////
94.2230 +// 6.4 Subprogram Calls
94.2231 +//
94.2232 +procedure_call_statement ::=
94.2233 +name SEMICOLON
94.2234 +;
94.2235 +
94.2236 +
94.2237 +///////////////////////////////////////////////////////////////////////////////
94.2238 +// 7.1 Package Specifications and Declarations
94.2239 +//
94.2240 +package_declaration ::=
94.2241 +package_specification:statement SEMICOLON
94.2242 +{:
94.2243 + RESULT = statement;
94.2244 +:}
94.2245 +| generic_package_instantiation SEMICOLON
94.2246 +;
94.2247 +
94.2248 +package_specification ::=
94.2249 +PACKAGE:declarationStart compound_name:package_name IS:blockStart
94.2250 + declarative_items_opt:declarativeItems private_part:privateDeclarativeItems
94.2251 +END:declarationEnd compound_name_opt:package_name_end
94.2252 +{:
94.2253 + if (package_name_end != null && !package_name_end.getName().equalsIgnoreCase (package_name.getName())) {
94.2254 + this.parser.message_error("mispelling of " + package_name);
94.2255 + }
94.2256 + else {
94.2257 + declarativeItems.addAll (privateDeclarativeItems);
94.2258 + // Add private part on block statements
94.2259 + Block block = new Block(blockStartleft, declarationEndright, declarativeItems);
94.2260 + PackageSpecification packageSpecification = new PackageSpecification(declarationStartleft, declarationEndright, package_name, package_name_end, block);
94.2261 + RESULT = packageSpecification;
94.2262 + }
94.2263 +:}
94.2264 +;
94.2265 +
94.2266 +private_part ::=
94.2267 +{:
94.2268 + RESULT = new LinkedList();
94.2269 +:}
94.2270 +| PRIVATE declarative_items_opt:declarativeItems
94.2271 +{:
94.2272 + RESULT = this.parser.setModifier (declarativeItems, AdaASTParser.PRIVATE);
94.2273 +:}
94.2274 +;
94.2275 +
94.2276 +compound_name_opt ::=
94.2277 +// empty
94.2278 +| compound_name:compound_name
94.2279 +{:
94.2280 + RESULT = compound_name;
94.2281 +:}
94.2282 +;
94.2283 +
94.2284 +///////////////////////////////////////////////////////////////////////////////
94.2285 +// 7.2 Package Bodies
94.2286 +//
94.2287 +package_body ::=
94.2288 +PACKAGE:declarationStart BODY compound_name:package_name IS:blockStart
94.2289 + declarative_part:declarativePart body_opt END compound_name_opt:package_name_end SEMICOLON:declarationEnd
94.2290 +{:
94.2291 + if (package_name_end != null && !package_name_end.getName().equalsIgnoreCase (package_name.getName())) {
94.2292 + this.parser.message_error("mispelling of " + package_name);
94.2293 + }
94.2294 + else {
94.2295 +
94.2296 + List list = this.parser.setModifier (declarativePart, AdaASTParser.PRIVATE);
94.2297 + Block block = new Block(blockStartleft, declarationEndright, list);
94.2298 +
94.2299 + PackageBody packageBody = new PackageBody(declarationStartleft, declarationEndright, package_name, package_name_end, block);
94.2300 + RESULT = packageBody;
94.2301 + }
94.2302 +:}
94.2303 +;
94.2304 +
94.2305 +body_opt ::=
94.2306 + | block_body
94.2307 + ;
94.2308 +
94.2309 +///////////////////////////////////////////////////////////////////////////////
94.2310 +// 7.3 Private Types and Private Extensions
94.2311 +//
94.2312 +private_type_declaration ::=
94.2313 +tagged_opt:tagged limited_opt:limited PRIVATE:privateKeyword
94.2314 +{:
94.2315 + PrivateType privateType = new PrivateType(taggedleft, privateKeywordright, tagged + limited + AdaASTParser.PRIVATE);
94.2316 + RESULT = privateType;
94.2317 +:}
94.2318 +;
94.2319 +
94.2320 +limited_opt ::=
94.2321 +{:
94.2322 + RESULT = 0;
94.2323 +:}
94.2324 +| LIMITED
94.2325 +{:
94.2326 + RESULT = AdaASTParser.LIMITED;
94.2327 +:}
94.2328 +;
94.2329 +
94.2330 +///////////////////////////////////////////////////////////////////////////////
94.2331 +// 8.4 Use Clauses
94.2332 +//
94.2333 +use_clause ::=
94.2334 +USE:token package_name_list:packageList SEMICOLON:end
94.2335 +{:
94.2336 + RESULT = new Use(tokenleft, endright, packageList);
94.2337 +:}
94.2338 +| USE:token TYPE subtype_mark_list:subTypeList SEMICOLON:end
94.2339 +{:
94.2340 + RESULT = new UseType(tokenleft, endright, subTypeList);
94.2341 +:}
94.2342 +;
94.2343 +
94.2344 +package_name_list ::=
94.2345 +name:name
94.2346 +{:
94.2347 + List idList = new LinkedList();
94.2348 + PackageName packageName = new PackageName(nameleft, nameright, name);
94.2349 + idList.add(packageName);
94.2350 + RESULT = idList;
94.2351 +:}
94.2352 +| package_name_list:idList COMMA name:name
94.2353 +{:
94.2354 + PackageName packageName = new PackageName(nameleft, nameright, name);
94.2355 + idList.add(packageName);
94.2356 + RESULT = idList;
94.2357 +:}
94.2358 +;
94.2359 +
94.2360 +subtype_mark_list ::=
94.2361 +name:name
94.2362 +{:
94.2363 + List idList = new LinkedList();
94.2364 + TypeName typeName = new TypeName(nameleft, nameright, name);
94.2365 + idList.add(typeName);
94.2366 + RESULT = idList;
94.2367 +:}
94.2368 +| subtype_mark_list:idList COMMA name:name
94.2369 +{:
94.2370 + TypeName typeName = new TypeName(nameleft, nameright, name);
94.2371 + idList.add(typeName);
94.2372 + RESULT = idList;
94.2373 +:}
94.2374 +;
94.2375 +
94.2376 +
94.2377 +///////////////////////////////////////////////////////////////////////////////
94.2378 +// 8.5 Renaming Declarations
94.2379 +//
94.2380 +renaming_declaration ::=
94.2381 +defining_identifier_list COLON object_qualifier_opt subtype_indication RENAMES name SEMICOLON
94.2382 +| defining_identifier_list COLON EXCEPTION RENAMES name SEMICOLON
94.2383 +| rename_unit:unit
94.2384 +{:
94.2385 + RESULT = unit;
94.2386 +:}
94.2387 +;
94.2388 +
94.2389 +rename_unit ::=
94.2390 +PACKAGE:token compound_name:name RENAMES name:renames SEMICOLON:end
94.2391 +{:
94.2392 + PackageRenames packageRenames = new PackageRenames(tokenleft, endright, name, renames);
94.2393 + RESULT = packageRenames;
94.2394 +:}
94.2395 +| subprogram_specification RENAMES name SEMICOLON:end
94.2396 +| generic_formal_part PACKAGE compound_name RENAMES name SEMICOLON
94.2397 +| generic_formal_part subprogram_specification RENAMES name SEMICOLON
94.2398 +;
94.2399 +
94.2400 +task_decl ::= task_spec SEMICOLON
94.2401 + ;
94.2402 +
94.2403 +task_spec ::= TASK simple_name task_def
94.2404 + | TASK TYPE simple_name discrim_part_opt task_def
94.2405 + ;
94.2406 +
94.2407 +task_def ::=
94.2408 + | IS entry_decl_s rep_spec_s task_private_opt END id_opt
94.2409 + ;
94.2410 +
94.2411 +task_private_opt ::=
94.2412 + | PRIVATE entry_decl_s rep_spec_s
94.2413 + ;
94.2414 +
94.2415 +task_body ::= TASK BODY simple_name IS
94.2416 + declarative_part block_body END id_opt SEMICOLON
94.2417 + ;
94.2418 +
94.2419 +prot_decl ::= prot_spec SEMICOLON
94.2420 + ;
94.2421 +
94.2422 +prot_spec ::= PROTECTED IDENTIFIER prot_def
94.2423 + | PROTECTED TYPE simple_name discrim_part_opt prot_def
94.2424 + ;
94.2425 +
94.2426 +prot_def ::= IS prot_op_decl_s prot_private_opt END id_opt
94.2427 + ;
94.2428 +
94.2429 +prot_private_opt ::=
94.2430 + | PRIVATE prot_elem_decl_s
94.2431 + ;
94.2432 +
94.2433 +prot_op_decl_s ::=
94.2434 + | prot_op_decl_s prot_op_decl
94.2435 + ;
94.2436 +
94.2437 +prot_op_decl ::= entry_decl
94.2438 + | subprogram_specification SEMICOLON
94.2439 + | rep_spec
94.2440 + | pragma
94.2441 + ;
94.2442 +
94.2443 +prot_elem_decl_s ::=
94.2444 + | prot_elem_decl_s prot_elem_decl
94.2445 + ;
94.2446 +
94.2447 +prot_elem_decl ::= prot_op_decl | comp_decl ;
94.2448 +
94.2449 +/////////////////////////////////////////////////////////////////
94.2450 +// 9.4 Protected Units and Protected Objects
94.2451 +//
94.2452 +protected_body ::=
94.2453 +PROTECTED BODY simple_name:name IS
94.2454 +prot_op_body_s END id_opt SEMICOLON
94.2455 +;
94.2456 +
94.2457 +prot_op_body_s ::= pragma_s
94.2458 + | prot_op_body_s prot_op_body pragma_s
94.2459 + ;
94.2460 +
94.2461 +prot_op_body ::= entry_body
94.2462 + | subprogram_body
94.2463 + | subprogram_specification SEMICOLON
94.2464 + ;
94.2465 +
94.2466 +entry_decl_s ::= pragma_s
94.2467 + | entry_decl_s entry_decl pragma_s
94.2468 + ;
94.2469 +
94.2470 +entry_decl ::= ENTRY IDENTIFIER formal_part_opt SEMICOLON
94.2471 + | ENTRY IDENTIFIER LPAREN discrete_range RPAREN formal_part_opt SEMICOLON
94.2472 + ;
94.2473 +
94.2474 +entry_body ::= ENTRY IDENTIFIER formal_part_opt WHEN condition entry_body_part
94.2475 + | ENTRY IDENTIFIER LPAREN iter_part discrete_range RPAREN
94.2476 + formal_part_opt WHEN condition entry_body_part
94.2477 + ;
94.2478 +
94.2479 +entry_body_part ::= SEMICOLON
94.2480 + | IS declarative_part block_body END id_opt SEMICOLON
94.2481 + ;
94.2482 +
94.2483 +rep_spec_s ::=
94.2484 + | rep_spec_s rep_spec pragma_s
94.2485 + ;
94.2486 +
94.2487 +entry_call ::=
94.2488 +procedure_call_statement:statement
94.2489 +{:
94.2490 + RESULT = statement;
94.2491 +:}
94.2492 +;
94.2493 +
94.2494 +accept_stmt ::= accept_hdr SEMICOLON
94.2495 + | accept_hdr DO handled_stmt_s END id_opt SEMICOLON
94.2496 + ;
94.2497 +
94.2498 +accept_hdr ::= ACCEPT entry_name formal_part_opt
94.2499 + ;
94.2500 +
94.2501 +entry_name ::= simple_name
94.2502 + | entry_name LPAREN expression RPAREN
94.2503 + ;
94.2504 +
94.2505 +/////////////////////////////////////////////////////////////////
94.2506 +// 9.6 Delay Statements, Duration, and Time
94.2507 +//
94.2508 +delay_statement ::=
94.2509 +DELAY:token expression:expr SEMICOLON:end
94.2510 +{:
94.2511 + RESULT = new ReturnStatement(tokenleft, endright, expr);
94.2512 +:}
94.2513 +| DELAY:token UNTIL expression:expr SEMICOLON:end
94.2514 +{:
94.2515 + RESULT = new ReturnStatement(tokenleft, endright, expr);
94.2516 +:}
94.2517 +;
94.2518 +
94.2519 +select_stmt ::= select_wait
94.2520 + | async_select
94.2521 + | timed_entry_call
94.2522 + | cond_entry_call
94.2523 + ;
94.2524 +
94.2525 +select_wait ::= SELECT guarded_select_alt or_select else_opt
94.2526 + END SELECT SEMICOLON
94.2527 + ;
94.2528 +
94.2529 +guarded_select_alt ::= select_alt
94.2530 + | WHEN condition ARROW select_alt
94.2531 + ;
94.2532 +
94.2533 +or_select ::=
94.2534 + | or_select OR guarded_select_alt
94.2535 + ;
94.2536 +
94.2537 +select_alt ::= accept_stmt stmts_opt
94.2538 + | delay_statement stmts_opt
94.2539 + | TERMINATE SEMICOLON
94.2540 + ;
94.2541 +
94.2542 +delay_or_entry_alt ::= delay_statement stmts_opt
94.2543 + | entry_call stmts_opt
94.2544 + ;
94.2545 +
94.2546 +async_select ::= SELECT delay_or_entry_alt
94.2547 + THEN ABORT sequence_of_statements
94.2548 + END SELECT SEMICOLON
94.2549 + ;
94.2550 +
94.2551 +timed_entry_call ::= SELECT entry_call stmts_opt
94.2552 + OR delay_statement stmts_opt
94.2553 + END SELECT SEMICOLON
94.2554 + ;
94.2555 +
94.2556 +cond_entry_call ::= SELECT entry_call stmts_opt
94.2557 + ELSE sequence_of_statements
94.2558 + END SELECT SEMICOLON
94.2559 + ;
94.2560 +
94.2561 +stmts_opt ::=
94.2562 + | sequence_of_statements
94.2563 + ;
94.2564 +
94.2565 +///////////////////////////////////////////////////////////////////////////////
94.2566 +// 9.8 Abort of a Task - Abort of a Sequence of Statements
94.2567 +//
94.2568 +abort_statement ::=
94.2569 +ABORT:token task_name_list:taskList SEMICOLON:end
94.2570 +{:
94.2571 + RESULT = new AbortStatement(tokenleft, endright, taskList);
94.2572 +:}
94.2573 +;
94.2574 +
94.2575 +task_name_list ::=
94.2576 +name:name
94.2577 +{:
94.2578 + List idList = new LinkedList();
94.2579 + TaskName taskName = new TaskName(nameleft, nameright, name);
94.2580 + idList.add(taskName);
94.2581 + RESULT = idList;
94.2582 +:}
94.2583 +| task_name_list:idList COMMA name:name
94.2584 +{:
94.2585 + TaskName taskName = new TaskName(nameleft, nameright, name);
94.2586 + idList.add(taskName);
94.2587 + RESULT = idList;
94.2588 +:}
94.2589 +;
94.2590 +
94.2591 +///////////////////////////////////////////////////////////////////////////////
94.2592 +// 10.1.1 Compilation Units - Library Units
94.2593 +//
94.2594 +compilation ::=
94.2595 +compilation_units:units
94.2596 +{:
94.2597 + AdaASTLexer AdaASTLexer = (AdaASTLexer) parser.getScanner();
94.2598 + List comments = AdaASTLexer.getCommentList();
94.2599 + Program program = new Program(unitsleft, unitsright, units, comments);
94.2600 + RESULT = program;
94.2601 +:}
94.2602 +;
94.2603 +
94.2604 +compilation_units ::=
94.2605 +{:
94.2606 + RESULT = new LinkedList();
94.2607 +:}
94.2608 +| compilation_units:units compilation_unit:unit
94.2609 +{:
94.2610 + if(units != null) {
94.2611 + units.add(unit);
94.2612 + }
94.2613 + RESULT = units;
94.2614 +:}
94.2615 +| pragma pragma_s // 10.1.5 - 4
94.2616 +{:
94.2617 + RESULT = new LinkedList();
94.2618 +:}
94.2619 +;
94.2620 +
94.2621 +compilation_unit ::=
94.2622 +context_clause private_opt unit:unit pragma_s
94.2623 +{:
94.2624 + RESULT = unit;
94.2625 +:}
94.2626 +| private_opt unit:unit pragma_s // 10.1.5 - 5/1
94.2627 +{:
94.2628 + RESULT = unit;
94.2629 +:}
94.2630 +;
94.2631 +
94.2632 +private_opt ::=
94.2633 +| PRIVATE
94.2634 +;
94.2635 +
94.2636 +unit ::=
94.2637 +package_declaration:statement
94.2638 +{:
94.2639 + RESULT = statement;
94.2640 +:}
94.2641 +| package_body:statement
94.2642 +{:
94.2643 + RESULT = statement;
94.2644 +:}
94.2645 +| subprog_declaration:statement
94.2646 +{:
94.2647 + RESULT = statement;
94.2648 +:}
94.2649 +| subprogram_body:statement
94.2650 +{:
94.2651 + RESULT = statement;
94.2652 +:}
94.2653 +| subunit:statement
94.2654 +{:
94.2655 + RESULT = statement;
94.2656 +:}
94.2657 +| generic_declaration:statement
94.2658 +{:
94.2659 + RESULT = statement;
94.2660 +:}
94.2661 +| rename_unit
94.2662 +;
94.2663 +
94.2664 +///////////////////////////////////////////////////////////////////////////////
94.2665 +// 10.1.2 Context Clauses - With Clauses
94.2666 +//
94.2667 +context_clause ::=
94.2668 +with_clause:statement
94.2669 +{:
94.2670 + RESULT = statement;
94.2671 +:}
94.2672 +| use_clause:statement
94.2673 +{:
94.2674 + RESULT = statement;
94.2675 +:}
94.2676 +| context_clause with_clause:statement
94.2677 +{:
94.2678 + RESULT = statement;
94.2679 +:}
94.2680 +| context_clause use_clause:statement
94.2681 +{:
94.2682 + RESULT = statement;
94.2683 +:}
94.2684 +| context_clause pragma
94.2685 +;
94.2686 +
94.2687 +with_clause ::=
94.2688 +WITH:token library_unit_name_list:packageList SEMICOLON:end
94.2689 +{:
94.2690 + RESULT = new With(tokenleft, endright, packageList);
94.2691 +:}
94.2692 +;
94.2693 +
94.2694 +///////////////////////////////////////////////////////////////////////////////
94.2695 +// 10.1.3 Subunits of Compilation Units
94.2696 +//
94.2697 +subunit ::=
94.2698 +SEPARATE LPAREN compound_name RPAREN
94.2699 +proper_body:statement
94.2700 +{:
94.2701 + RESULT = statement;
94.2702 +:}
94.2703 +;
94.2704 +
94.2705 +
94.2706 +body_stub ::=
94.2707 +TASK BODY simple_name IS SEPARATE SEMICOLON
94.2708 +| PACKAGE BODY compound_name IS SEPARATE SEMICOLON
94.2709 +| subprogram_specification:subprog IS SEPARATE SEMICOLON
94.2710 +{:
94.2711 + RESULT = subprog;
94.2712 +:}
94.2713 +| PROTECTED BODY simple_name IS SEPARATE SEMICOLON
94.2714 +;
94.2715 +
94.2716 +exception_decl ::= defining_identifier_list COLON EXCEPTION SEMICOLON
94.2717 + ;
94.2718 +
94.2719 +except_handler_part ::= EXCEPTION exception_handler
94.2720 + | except_handler_part exception_handler
94.2721 + ;
94.2722 +
94.2723 +exception_handler ::= WHEN except_choice_s ARROW sequence_of_statements
94.2724 + | WHEN IDENTIFIER COLON except_choice_s ARROW sequence_of_statements
94.2725 + ;
94.2726 +
94.2727 +except_choice_s ::= except_choice
94.2728 + | except_choice_s BAR except_choice
94.2729 + ;
94.2730 +
94.2731 +except_choice ::= name
94.2732 + | OTHERS
94.2733 + ;
94.2734 +
94.2735 +///////////////////////////////////////////////////////////////////////////////
94.2736 +// 11.3 Raise Statements
94.2737 +//
94.2738 +raise_statement ::=
94.2739 +RAISE:token name_opt:exceptionName SEMICOLON:end
94.2740 +{:
94.2741 + RESULT = new RaiseStatement(tokenleft, endright, exceptionName);
94.2742 +:}
94.2743 +;
94.2744 +
94.2745 +requeue_stmt ::= REQUEUE name SEMICOLON
94.2746 + | REQUEUE name WITH ABORT SEMICOLON
94.2747 + ;
94.2748 +
94.2749 +///////////////////////////////////////////////////////////////////////////////
94.2750 +// 12.1 Generic Declarations
94.2751 +//
94.2752 +generic_declaration ::=
94.2753 +generic_formal_part subprogram_specification SEMICOLON
94.2754 +| generic_formal_part package_specification:statement SEMICOLON
94.2755 +{:
94.2756 + RESULT = statement;
94.2757 +:}
94.2758 +;
94.2759 +
94.2760 +generic_formal_part ::= GENERIC
94.2761 + | generic_formal_part generic_formal
94.2762 + ;
94.2763 +
94.2764 +generic_formal ::= param SEMICOLON
94.2765 + | TYPE simple_name generic_discrim_part_opt IS generic_type_def SEMICOLON
94.2766 + | WITH PROCEDURE simple_name
94.2767 + formal_part_opt subp_default SEMICOLON
94.2768 + | WITH FUNCTION designator
94.2769 + formal_part_opt RETURN name subp_default SEMICOLON
94.2770 + | WITH PACKAGE simple_name IS NEW name LPAREN BOX RPAREN SEMICOLON
94.2771 + | WITH PACKAGE simple_name IS NEW name SEMICOLON
94.2772 + | use_clause
94.2773 + ;
94.2774 +
94.2775 +generic_discrim_part_opt ::=
94.2776 + | discrim_part
94.2777 + | LPAREN BOX RPAREN
94.2778 + ;
94.2779 +
94.2780 +subp_default ::=
94.2781 + | IS name
94.2782 + | IS BOX
94.2783 + ;
94.2784 +
94.2785 +generic_type_def ::= LPAREN BOX RPAREN
94.2786 + | RANGE BOX
94.2787 + | MOD BOX
94.2788 + | DELTA BOX
94.2789 + | DELTA BOX DIGITS BOX
94.2790 + | DIGITS BOX
94.2791 + | array_type
94.2792 + | access_type
94.2793 + | private_type_declaration
94.2794 + | generic_derived_type
94.2795 + ;
94.2796 +
94.2797 +generic_derived_type ::= NEW subtype_indication
94.2798 + | NEW subtype_indication WITH PRIVATE
94.2799 + | ABSTRACT NEW subtype_indication WITH PRIVATE
94.2800 + ;
94.2801 +
94.2802 +generic_subp_inst ::=
94.2803 +subprogram_specification:subprog IS generic_inst
94.2804 +{:
94.2805 + RESULT = subprog;
94.2806 +:}
94.2807 +;
94.2808 +
94.2809 +// 12.3
94.2810 +generic_package_instantiation ::=
94.2811 +PACKAGE compound_name IS generic_inst
94.2812 +;
94.2813 +
94.2814 +generic_inst ::= NEW name
94.2815 +;
94.2816 +
94.2817 +rep_spec ::= attrib_def
94.2818 + | record_type_spec
94.2819 + | address_spec
94.2820 + ;
94.2821 +
94.2822 +attrib_def ::= FOR subtype_mark USE expression SEMICOLON
94.2823 + ;
94.2824 +
94.2825 +record_type_spec ::= FOR subtype_mark USE RECORD align_opt comp_loc_s END RECORD SEMICOLON
94.2826 + ;
94.2827 +
94.2828 +align_opt ::=
94.2829 + | AT MOD expression SEMICOLON
94.2830 + ;
94.2831 +
94.2832 +comp_loc_s ::=
94.2833 + | comp_loc_s subtype_mark AT expression RANGE range SEMICOLON
94.2834 + ;
94.2835 +
94.2836 +address_spec ::= FOR subtype_mark USE AT expression SEMICOLON
94.2837 + ;
94.2838 +
94.2839 +///////////////////////////////////////////////////////////////////////////////
94.2840 +// 13.8 Machine Code Insertions
94.2841 +//
94.2842 +code_statement ::=
94.2843 +qualified_expression:expr SEMICOLON:end
94.2844 +{:
94.2845 + RESULT = new CodeStatement (exprleft, endright, expr);
94.2846 +:}
94.2847 +;
94.2848 \ No newline at end of file
95.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
95.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/resources/AdaBaseParser.cup Mon Oct 15 23:38:26 2012 +0200
95.3 @@ -0,0 +1,1510 @@
95.4 +/*
95.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
95.6 + *
95.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
95.8 + *
95.9 + * The contents of this file are subject to the terms of either the GNU
95.10 + * General Public License Version 2 only ("GPL") or the Common
95.11 + * Development and Distribution License("CDDL") (collectively, the
95.12 + * "License"). You may not use this file except in compliance with the
95.13 + * License. You can obtain a copy of the License at
95.14 + * http://www.netbeans.org/cddl-gplv2.html
95.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
95.16 + * specific language governing permissions and limitations under the
95.17 + * License. When distributing the software, include this License Header
95.18 + * Notice in each file and include the License file at
95.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
95.20 + * particular file as subject to the "Classpath" exception as provided
95.21 + * by Sun in the GPL Version 2 section of the License file that
95.22 + * accompanied this code. If applicable, add the following below the
95.23 + * License Header, with the fields enclosed by brackets [] replaced by
95.24 + * your own identifying information:
95.25 + * "Portions Copyrighted [year] [name of copyright owner]"
95.26 + *
95.27 + * If you wish your version of this file to be governed by only the CDDL
95.28 + * or only the GPL Version 2, indicate your decision by adding
95.29 + * "[Contributor] elects to include this software in this distribution
95.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
95.31 + * single choice of license, a recipient has the option to distribute
95.32 + * your version of this file under either the CDDL, the GPL Version 2 or
95.33 + * to extend the choice of license to its licensees as provided above.
95.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
95.35 + * Version 2 license, then the option applies only if the new code is
95.36 + * made subject to such option by the copyright holder.
95.37 + *
95.38 + * Contributor(s):
95.39 + *
95.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
95.41 + */
95.42 +package org.netbeans.modules.ada.editor.parser;
95.43 +
95.44 +import org.netbeans.modules.ada.editor.lexer.Ada95ASTLexer;
95.45 +
95.46 +parser code {:
95.47 +
95.48 + private ErrorStrategy defaultStrategy = new DefaultErrorStrategy();;
95.49 + private ErrorStrategy errorStrategy = defaultStrategy;
95.50 +
95.51 + private ParserErrorHandler errorHandler = null;
95.52 +
95.53 + public void setErrorHandler (ParserErrorHandler handler) {
95.54 + this.errorHandler = handler;
95.55 + }
95.56 +
95.57 + public ParserErrorHandler getErrorHandler () {
95.58 + return this.errorHandler;
95.59 + }
95.60 +
95.61 + interface ErrorStrategy {
95.62 + public boolean errorRecovery(boolean debug) throws Exception;
95.63 + }
95.64 +
95.65 + class DefaultErrorStrategy implements ErrorStrategy {
95.66 +
95.67 + public boolean errorRecovery(boolean debug) throws Exception {
95.68 + return Ada95ASTParser.super.error_recovery(debug);
95.69 + }
95.70 + }
95.71 +
95.72 + /**
95.73 + * Attempt to recover from a syntax error. This returns false if recovery fails,
95.74 + * true if it succeeds.
95.75 + * @param debug should we produce debugging messages as we parse.
95.76 + */
95.77 + @Override
95.78 + protected boolean error_recovery(boolean debug) throws java.lang.Exception {
95.79 + return errorStrategy.errorRecovery(debug);
95.80 + }
95.81 +
95.82 + /**
95.83 + * Report a non fatal error (or warning). This method takes a message
95.84 + * string and an additional object (to be used by specializations implemented in subclasses).
95.85 + * The super class prints the message to System.err.
95.86 + * @param message an error message.
95.87 + * @param info an extra object reserved for use by specialized subclasses.
95.88 + */
95.89 + @Override
95.90 + public void report_error(String message, Object info) {
95.91 + System.out.print("report_eror" + message);
95.92 + }
95.93 +
95.94 + /**
95.95 + * This method is called when a syntax error has been detected and recovery is about to be invoked.
95.96 + * The super class just emit a "Syntax error" error message.
95.97 + * @param cur_token the current lookahead Symbol.
95.98 + */
95.99 + @Override
95.100 + public void syntax_error(java_cup.runtime.Symbol cur_token) {
95.101 + java_cup.runtime.Symbol symbol = (java_cup.runtime.Symbol)stack.peek();
95.102 + int state = symbol.parse_state;
95.103 + short[] rowOfProbe = action_tab[state];
95.104 + if (errorHandler != null) {
95.105 + errorHandler.handleError(ParserErrorHandler.Type.SYNTAX_ERROR, rowOfProbe, cur_token, symbol);
95.106 + }
95.107 + }
95.108 +
95.109 + /**
95.110 + * This method is called when a syntax error has been detected during action.
95.111 + * @param message an error message.
95.112 + */
95.113 + public void message_error(String message) {
95.114 + java_cup.runtime.Symbol symbol = (java_cup.runtime.Symbol)stack.peek();
95.115 + if (errorHandler != null) {
95.116 + errorHandler.handleError(ParserErrorHandler.Type.SYNTAX_ERROR, symbol, message);
95.117 + }
95.118 + }
95.119 +
95.120 + /**
95.121 + * Report a fatal error. This method takes a message string and an additional object
95.122 + * (to be used by specializations implemented in subclasses).
95.123 + * The super class reports the error then throws an exception.
95.124 + * @param message an error message.
95.125 + * @param info an extra object reserved for use by specialized subclasses.
95.126 + */
95.127 + @Override
95.128 + public void report_fatal_error(String message, Object info) throws Exception {
95.129 + if (errorHandler != null) {
95.130 + errorHandler.handleError(ParserErrorHandler.Type.FATAL_PARSER_ERROR, null, cur_token, null);
95.131 + }
95.132 + }
95.133 +
95.134 + @Override
95.135 + protected int error_sync_size() {
95.136 + return 1;
95.137 + }
95.138 +
95.139 +:}
95.140 +
95.141 +
95.142 +/*********************************************************
95.143 + * *
95.144 + * Ada 95 (LALR) Parser (no AST), based on: *
95.145 + * *
95.146 + * 1. Ada Reference Manual *
95.147 + * ISO/IEC 8652:1995(E) *
95.148 + * with Technical Corrigendum 1 *
95.149 + * Language and Standard Libraries *
95.150 + * Copyright © 1992,1993,1994,1995 Intermetrics, Inc. *
95.151 + * Copyright © 2000 The MITRE Corporation, Inc. *
95.152 + * 2. http://www.adaic.com/standards/95lrm/grammar9x.y *
95.153 + * *
95.154 + * Author: Andrea Lucarelli *
95.155 + * Parser Generator: JavCup *
95.156 + * *
95.157 + *********************************************************/
95.158 +
95.159 +/*************************
95.160 + * JavaCup Terminals *
95.161 + *************************/
95.162 +
95.163 +//
95.164 +// Ada 95 keywords
95.165 +//
95.166 +terminal ABORT;
95.167 +terminal ABS;
95.168 +terminal ABSTRACT;
95.169 +terminal ACCEPT;
95.170 +terminal ACCESS;
95.171 +terminal ALIASED;
95.172 +terminal ALL;
95.173 +terminal AND;
95.174 +terminal ARRAY;
95.175 +terminal AT;
95.176 +terminal BEGIN;
95.177 +terminal BODY;
95.178 +terminal CASE;
95.179 +terminal CONSTANT;
95.180 +terminal DECLARE;
95.181 +terminal DELAY;
95.182 +terminal DELTA;
95.183 +terminal DIGITS;
95.184 +terminal DO;
95.185 +terminal ELSE;
95.186 +terminal ELSIF;
95.187 +terminal END;
95.188 +terminal ENTRY;
95.189 +terminal EXCEPTION;
95.190 +terminal EXIT;
95.191 +terminal FOR;
95.192 +terminal FUNCTION;
95.193 +terminal GENERIC;
95.194 +terminal GOTO;
95.195 +terminal IF;
95.196 +terminal IN;
95.197 +terminal IS;
95.198 +terminal LIMITED;
95.199 +terminal LOOP;
95.200 +terminal MOD;
95.201 +terminal NEW;
95.202 +terminal NOT;
95.203 +terminal NULL;
95.204 +terminal OF;
95.205 +terminal OR;
95.206 +terminal OTHERS;
95.207 +terminal OUT;
95.208 +terminal PACKAGE;
95.209 +terminal PRAGMA;
95.210 +terminal PRIVATE;
95.211 +terminal PROCEDURE;
95.212 +terminal PROTECTED;
95.213 +terminal RAISE;
95.214 +terminal RANGE;
95.215 +terminal RECORD;
95.216 +terminal REM;
95.217 +terminal RENAMES;
95.218 +terminal REQUEUE;
95.219 +terminal RETURN;
95.220 +terminal REVERSE;
95.221 +terminal SELECT;
95.222 +terminal SEPARATE;
95.223 +terminal SUBTYPE;
95.224 +terminal TAGGED;
95.225 +terminal TASK;
95.226 +terminal TERMINATE;
95.227 +terminal THEN;
95.228 +terminal TYPE;
95.229 +terminal UNTIL;
95.230 +terminal USE;
95.231 +terminal WHEN;
95.232 +terminal WHILE;
95.233 +terminal WITH;
95.234 +terminal XOR;
95.235 +
95.236 +//
95.237 +// delimiters
95.238 +//
95.239 +terminal AMP;
95.240 +terminal TICK;
95.241 +terminal LPAREN;
95.242 +terminal RPAREN;
95.243 +terminal STAR;
95.244 +terminal PLUS;
95.245 +terminal COMMA;
95.246 +terminal MINUS;
95.247 +terminal DOT;
95.248 +terminal SLASH;
95.249 +terminal COLON;
95.250 +terminal SEMICOLON;
95.251 +terminal GT;
95.252 +terminal EQ;
95.253 +terminal LT;
95.254 +terminal BAR;
95.255 +
95.256 +//
95.257 +// compound delimiters
95.258 +//
95.259 +terminal ARROW;
95.260 +terminal DOT_DOT;
95.261 +terminal EXPON;
95.262 +terminal ASSIGNMENT;
95.263 +terminal INEQ;
95.264 +terminal GTEQ;
95.265 +terminal LTEQ;
95.266 +terminal LTLT;
95.267 +terminal GTGT;
95.268 +terminal BOX;
95.269 +
95.270 +terminal BASED_LITERAL;
95.271 +terminal DECIMAL_LITERAL;
95.272 +terminal CHAR_LITERAL;
95.273 +terminal STRING_LITERAL;
95.274 +terminal IDENTIFIER;
95.275 +
95.276 +non terminal compilation;
95.277 +non terminal pragma;
95.278 +non terminal simple_name;
95.279 +non terminal pragma_arg_s;
95.280 +non terminal pragma_arg;
95.281 +non terminal pragma_s;
95.282 +non terminal decl;
95.283 +non terminal object_decl;
95.284 +non terminal def_id_s;
95.285 +non terminal def_id;
95.286 +non terminal object_qualifier_opt;
95.287 +non terminal object_subtype_def;
95.288 +non terminal init_opt;
95.289 +non terminal number_decl;
95.290 +non terminal type_decl;
95.291 +non terminal discrim_part_opt;
95.292 +non terminal type_completion;
95.293 +non terminal type_def;
95.294 +non terminal subtype_decl;
95.295 +non terminal subtype_ind;
95.296 +non terminal constraint;
95.297 +non terminal decimal_digits_constraint;
95.298 +non terminal derived_type;
95.299 +non terminal range_constraint;
95.300 +non terminal range;
95.301 +non terminal enumeration_type;
95.302 +non terminal enum_id_s;
95.303 +non terminal enum_id;
95.304 +non terminal integer_type;
95.305 +non terminal range_spec;
95.306 +non terminal range_spec_opt;
95.307 +non terminal real_type;
95.308 +non terminal float_type;
95.309 +non terminal fixed_type;
95.310 +non terminal array_type;
95.311 +non terminal unconstr_array_type;
95.312 +non terminal constr_array_type;
95.313 +non terminal component_subtype_def;
95.314 +non terminal aliased_opt;
95.315 +non terminal index_s;
95.316 +non terminal index;
95.317 +non terminal iter_index_constraint;
95.318 +non terminal iter_discrete_range_s;
95.319 +non terminal discrete_range;
95.320 +non terminal range_constr_opt;
95.321 +non terminal record_type;
95.322 +non terminal record_def;
95.323 +non terminal tagged_opt;
95.324 +non terminal comp_list;
95.325 +non terminal comp_decl_s;
95.326 +non terminal variant_part_opt;
95.327 +non terminal comp_decl;
95.328 +non terminal discrim_part;
95.329 +non terminal discrim_spec_s;
95.330 +non terminal discrim_spec;
95.331 +non terminal access_opt;
95.332 +non terminal variant_part;
95.333 +non terminal variant_s;
95.334 +non terminal variant;
95.335 +non terminal choice_s;
95.336 +non terminal choice;
95.337 +non terminal discrete_with_range;
95.338 +non terminal access_type;
95.339 +non terminal prot_opt;
95.340 +non terminal decl_part;
95.341 +non terminal decl_item_s;
95.342 +non terminal decl_item_s1;
95.343 +non terminal decl_item;
95.344 +non terminal decl_item_or_body_s1;
95.345 +non terminal decl_item_or_body;
95.346 +non terminal body;
95.347 +non terminal name;
95.348 +non terminal mark;
95.349 +non terminal compound_name;
95.350 +non terminal c_name_list;
95.351 +non terminal used_char;
95.352 +non terminal operator_symbol;
95.353 +non terminal indexed_comp;
95.354 +non terminal value_s;
95.355 +non terminal value;
95.356 +non terminal selected_comp;
95.357 +non terminal attribute;
95.358 +non terminal attribute_id;
95.359 +non terminal literal;
95.360 +non terminal aggregate;
95.361 +non terminal value_s_2;
95.362 +non terminal comp_assoc;
95.363 +non terminal expression;
95.364 +non terminal logical;
95.365 +non terminal short_circuit;
95.366 +non terminal relation;
95.367 +non terminal relational;
95.368 +non terminal membership;
95.369 +non terminal simple_expression;
95.370 +non terminal unary;
95.371 +non terminal adding;
95.372 +non terminal term;
95.373 +non terminal multiplying;
95.374 +non terminal factor;
95.375 +non terminal primary;
95.376 +non terminal parenthesized_primary;
95.377 +non terminal qualified;
95.378 +non terminal allocator;
95.379 +non terminal statement_s;
95.380 +non terminal statement;
95.381 +non terminal unlabeled;
95.382 +non terminal simple_stmt;
95.383 +non terminal compound_stmt;
95.384 +non terminal label;
95.385 +non terminal NULL_stmt;
95.386 +non terminal assign_stmt;
95.387 +non terminal if_stmt;
95.388 +non terminal cond_clause_s;
95.389 +non terminal cond_clause;
95.390 +non terminal cond_part;
95.391 +non terminal condition;
95.392 +non terminal else_opt;
95.393 +non terminal case_stmt;
95.394 +non terminal case_hdr;
95.395 +non terminal alternative_s;
95.396 +non terminal alternative;
95.397 +non terminal loop_stmt;
95.398 +non terminal label_opt;
95.399 +non terminal iteration;
95.400 +non terminal iter_part;
95.401 +non terminal reverse_opt;
95.402 +non terminal basic_loop;
95.403 +non terminal id_opt;
95.404 +non terminal block;
95.405 +non terminal block_decl;
95.406 +non terminal block_body;
95.407 +non terminal handled_stmt_s;
95.408 +non terminal except_handler_part_opt;
95.409 +non terminal exit_stmt;
95.410 +non terminal name_opt;
95.411 +non terminal when_opt;
95.412 +non terminal return_stmt;
95.413 +non terminal goto_stmt;
95.414 +non terminal subprog_decl;
95.415 +non terminal subprog_spec;
95.416 +non terminal designator;
95.417 +non terminal formal_part_opt;
95.418 +non terminal formal_part;
95.419 +non terminal param_s;
95.420 +non terminal param;
95.421 +non terminal mode;
95.422 +non terminal subprog_spec_is_push;
95.423 +non terminal subprog_body;
95.424 +non terminal procedure_call;
95.425 +non terminal pkg_decl;
95.426 +non terminal pkg_spec;
95.427 +non terminal private_part;
95.428 +non terminal c_id_opt;
95.429 +non terminal pkg_body;
95.430 +non terminal body_opt;
95.431 +non terminal private_type;
95.432 +non terminal limited_opt;
95.433 +non terminal use_clause;
95.434 +non terminal name_s;
95.435 +non terminal rename_decl;
95.436 +non terminal rename_unit;
95.437 +non terminal renames;
95.438 +non terminal task_decl;
95.439 +non terminal task_spec;
95.440 +non terminal task_def;
95.441 +non terminal task_private_opt;
95.442 +non terminal task_body;
95.443 +non terminal prot_decl;
95.444 +non terminal prot_spec;
95.445 +non terminal prot_def;
95.446 +non terminal prot_private_opt;
95.447 +non terminal prot_op_decl_s;
95.448 +non terminal prot_op_decl;
95.449 +non terminal prot_elem_decl_s;
95.450 +non terminal prot_elem_decl;
95.451 +non terminal prot_body;
95.452 +non terminal prot_op_body_s;
95.453 +non terminal prot_op_body;
95.454 +non terminal entry_decl_s;
95.455 +non terminal entry_decl;
95.456 +non terminal entry_body;
95.457 +non terminal entry_body_part;
95.458 +non terminal rep_spec_s;
95.459 +non terminal entry_call;
95.460 +non terminal accept_stmt;
95.461 +non terminal accept_hdr;
95.462 +non terminal entry_name;
95.463 +non terminal delay_stmt;
95.464 +non terminal select_stmt;
95.465 +non terminal select_wait;
95.466 +non terminal guarded_select_alt;
95.467 +non terminal or_select;
95.468 +non terminal select_alt;
95.469 +non terminal delay_or_entry_alt;
95.470 +non terminal async_select;
95.471 +non terminal timed_entry_call;
95.472 +non terminal cond_entry_call;
95.473 +non terminal stmts_opt;
95.474 +non terminal abort_stmt;
95.475 +non terminal comp_unit;
95.476 +non terminal private_opt;
95.477 +non terminal context_spec;
95.478 +non terminal with_clause;
95.479 +non terminal use_clause_opt;
95.480 +non terminal unit;
95.481 +non terminal subunit;
95.482 +non terminal subunit_body;
95.483 +non terminal body_stub;
95.484 +non terminal exception_decl;
95.485 +non terminal except_handler_part;
95.486 +non terminal exception_handler;
95.487 +non terminal except_choice_s;
95.488 +non terminal except_choice;
95.489 +non terminal raise_stmt;
95.490 +non terminal requeue_stmt;
95.491 +non terminal generic_decl;
95.492 +non terminal generic_formal_part;
95.493 +non terminal generic_formal;
95.494 +non terminal generic_discrim_part_opt;
95.495 +non terminal subp_default;
95.496 +non terminal generic_type_def;
95.497 +non terminal generic_derived_type;
95.498 +non terminal generic_subp_inst;
95.499 +non terminal generic_pkg_inst;
95.500 +non terminal generic_inst;
95.501 +non terminal rep_spec;
95.502 +non terminal attrib_def;
95.503 +non terminal record_type_spec;
95.504 +non terminal align_opt;
95.505 +non terminal comp_loc_s;
95.506 +non terminal address_spec;
95.507 +non terminal code_stmt;
95.508 +
95.509 +// root symbol
95.510 +start with compilation;
95.511 +
95.512 +pragma ::= PRAGMA IDENTIFIER SEMICOLON
95.513 + | PRAGMA simple_name LPAREN pragma_arg_s RPAREN SEMICOLON
95.514 + ;
95.515 +
95.516 +pragma_arg_s ::= pragma_arg
95.517 + | pragma_arg_s COMMA pragma_arg
95.518 + ;
95.519 +
95.520 +pragma_arg ::= expression
95.521 + | simple_name ARROW expression
95.522 + ;
95.523 +
95.524 +pragma_s ::=
95.525 + | pragma_s pragma
95.526 + ;
95.527 +
95.528 +decl ::= object_decl
95.529 + | number_decl
95.530 + | type_decl
95.531 + | subtype_decl
95.532 + | subprog_decl
95.533 + | pkg_decl
95.534 + | task_decl
95.535 + | prot_decl
95.536 + | exception_decl
95.537 + | rename_decl
95.538 + | generic_decl
95.539 + | body_stub
95.540 + | error SEMICOLON
95.541 + ;
95.542 +
95.543 +object_decl ::= def_id_s COLON object_qualifier_opt object_subtype_def init_opt SEMICOLON
95.544 + ;
95.545 +
95.546 +def_id_s ::= def_id
95.547 + | def_id_s COMMA def_id
95.548 + ;
95.549 +
95.550 +def_id ::= IDENTIFIER
95.551 + ;
95.552 +
95.553 +object_qualifier_opt ::=
95.554 + | ALIASED
95.555 + | CONSTANT
95.556 + | ALIASED CONSTANT
95.557 + ;
95.558 +
95.559 +object_subtype_def ::= subtype_ind
95.560 + | array_type
95.561 + ;
95.562 +
95.563 +init_opt ::=
95.564 + | ASSIGNMENT expression
95.565 + ;
95.566 +
95.567 +number_decl ::= def_id_s COLON CONSTANT ASSIGNMENT expression SEMICOLON
95.568 + ;
95.569 +
95.570 +type_decl ::= TYPE IDENTIFIER discrim_part_opt type_completion SEMICOLON
95.571 + ;
95.572 +
95.573 +discrim_part_opt ::=
95.574 + | discrim_part
95.575 + | LPAREN BOX RPAREN
95.576 + ;
95.577 +
95.578 +type_completion ::=
95.579 + | IS type_def
95.580 + ;
95.581 +
95.582 +type_def ::= enumeration_type
95.583 + | integer_type
95.584 + | real_type
95.585 + | array_type
95.586 + | record_type
95.587 + | access_type
95.588 + | derived_type
95.589 + | private_type
95.590 + ;
95.591 +
95.592 +subtype_decl ::= SUBTYPE IDENTIFIER IS subtype_ind SEMICOLON
95.593 + ;
95.594 +
95.595 +subtype_ind ::= name constraint
95.596 + | name
95.597 + ;
95.598 +
95.599 +constraint ::= range_constraint
95.600 + | decimal_digits_constraint
95.601 + ;
95.602 +
95.603 +decimal_digits_constraint ::= DIGITS expression range_constr_opt
95.604 + ;
95.605 +
95.606 +derived_type ::= NEW subtype_ind
95.607 + | NEW subtype_ind WITH PRIVATE
95.608 + | NEW subtype_ind WITH record_def
95.609 + | ABSTRACT NEW subtype_ind WITH PRIVATE
95.610 + | ABSTRACT NEW subtype_ind WITH record_def
95.611 + ;
95.612 +
95.613 +range_constraint ::= RANGE range
95.614 + ;
95.615 +
95.616 +range ::= simple_expression DOT_DOT simple_expression
95.617 + | name TICK RANGE
95.618 + | name TICK RANGE LPAREN expression RPAREN
95.619 + ;
95.620 +
95.621 +enumeration_type ::= LPAREN enum_id_s RPAREN
95.622 +;
95.623 +
95.624 +enum_id_s ::= enum_id
95.625 + | enum_id_s COMMA enum_id
95.626 + ;
95.627 +
95.628 +enum_id ::= IDENTIFIER
95.629 + | CHAR_LITERAL
95.630 + ;
95.631 +
95.632 +integer_type ::= range_spec
95.633 + | MOD expression
95.634 + ;
95.635 +
95.636 +
95.637 +range_spec ::= range_constraint
95.638 + ;
95.639 +
95.640 +range_spec_opt ::=
95.641 + | range_spec
95.642 + ;
95.643 +
95.644 +real_type ::= float_type
95.645 + | fixed_type
95.646 + ;
95.647 +
95.648 +float_type ::= DIGITS expression range_spec_opt
95.649 + ;
95.650 +
95.651 +fixed_type ::= DELTA expression range_spec
95.652 + | DELTA expression DIGITS expression range_spec_opt
95.653 + ;
95.654 +
95.655 +array_type ::= unconstr_array_type
95.656 + | constr_array_type
95.657 + ;
95.658 +
95.659 +unconstr_array_type ::= ARRAY LPAREN index_s RPAREN OF component_subtype_def
95.660 + ;
95.661 +
95.662 +constr_array_type ::= ARRAY iter_index_constraint OF component_subtype_def
95.663 + ;
95.664 +
95.665 +component_subtype_def ::= aliased_opt subtype_ind
95.666 + ;
95.667 +
95.668 +aliased_opt ::=
95.669 + | ALIASED
95.670 + ;
95.671 +
95.672 +index_s ::= index
95.673 + | index_s COMMA index
95.674 + ;
95.675 +
95.676 +index ::= name RANGE BOX
95.677 + ;
95.678 +
95.679 +iter_index_constraint ::= LPAREN iter_discrete_range_s RPAREN
95.680 + ;
95.681 +
95.682 +iter_discrete_range_s ::= discrete_range
95.683 + | iter_discrete_range_s COMMA discrete_range
95.684 + ;
95.685 +
95.686 +discrete_range ::= name range_constr_opt
95.687 + | range
95.688 + ;
95.689 +
95.690 +range_constr_opt ::=
95.691 + | range_constraint
95.692 + ;
95.693 +
95.694 +record_type ::= tagged_opt limited_opt record_def
95.695 + ;
95.696 +
95.697 +record_def ::= RECORD pragma_s comp_list END RECORD
95.698 + | NULL RECORD
95.699 + ;
95.700 +
95.701 +tagged_opt ::=
95.702 + | TAGGED
95.703 + | ABSTRACT TAGGED
95.704 + ;
95.705 +
95.706 +comp_list ::= comp_decl_s variant_part_opt
95.707 + | variant_part pragma_s
95.708 + | NULL SEMICOLON pragma_s
95.709 + ;
95.710 +
95.711 +comp_decl_s ::= comp_decl
95.712 + | comp_decl_s pragma_s comp_decl
95.713 + ;
95.714 +
95.715 +variant_part_opt ::= pragma_s
95.716 + | pragma_s variant_part pragma_s
95.717 + ;
95.718 +
95.719 +comp_decl ::= def_id_s COLON component_subtype_def init_opt SEMICOLON
95.720 + | error SEMICOLON
95.721 + ;
95.722 +
95.723 +discrim_part ::= LPAREN discrim_spec_s RPAREN
95.724 + ;
95.725 +
95.726 +discrim_spec_s ::= discrim_spec
95.727 + | discrim_spec_s SEMICOLON discrim_spec
95.728 + ;
95.729 +
95.730 +discrim_spec ::= def_id_s COLON access_opt mark init_opt
95.731 + | error
95.732 + ;
95.733 +
95.734 +access_opt ::=
95.735 + | ACCESS
95.736 + ;
95.737 +
95.738 +variant_part ::= CASE simple_name IS pragma_s variant_s END CASE SEMICOLON
95.739 + ;
95.740 +
95.741 +variant_s ::= variant
95.742 + | variant_s variant
95.743 + ;
95.744 +
95.745 +variant ::= WHEN choice_s ARROW pragma_s comp_list
95.746 + ;
95.747 +
95.748 +choice_s ::= choice
95.749 + | choice_s BAR choice
95.750 + ;
95.751 +
95.752 +choice ::= expression
95.753 + | discrete_with_range
95.754 + | OTHERS
95.755 + ;
95.756 +
95.757 +discrete_with_range ::= name range_constraint
95.758 + | range
95.759 + ;
95.760 +
95.761 +access_type ::= ACCESS subtype_ind
95.762 + | ACCESS CONSTANT subtype_ind
95.763 + | ACCESS ALL subtype_ind
95.764 + | ACCESS prot_opt PROCEDURE formal_part_opt
95.765 + | ACCESS prot_opt FUNCTION formal_part_opt RETURN mark
95.766 + ;
95.767 +
95.768 +prot_opt ::=
95.769 + | PROTECTED
95.770 + ;
95.771 +
95.772 +decl_part ::=
95.773 + | decl_item_or_body_s1
95.774 + ;
95.775 +
95.776 +decl_item_s ::=
95.777 + | decl_item_s1
95.778 + ;
95.779 +
95.780 +decl_item_s1 ::= decl_item
95.781 + | decl_item_s1 decl_item
95.782 + ;
95.783 +
95.784 +decl_item ::= decl
95.785 + | use_clause
95.786 + | rep_spec
95.787 + | pragma
95.788 + ;
95.789 +
95.790 +decl_item_or_body_s1 ::= decl_item_or_body
95.791 + | decl_item_or_body_s1 decl_item_or_body
95.792 + ;
95.793 +
95.794 +decl_item_or_body ::= body
95.795 + | decl_item
95.796 + ;
95.797 +
95.798 +body ::= subprog_body
95.799 + | pkg_body
95.800 + | task_body
95.801 + | prot_body
95.802 + ;
95.803 +
95.804 +name ::= simple_name
95.805 + | indexed_comp
95.806 + | selected_comp
95.807 + | attribute
95.808 + | operator_symbol
95.809 + ;
95.810 +
95.811 +mark ::= simple_name
95.812 + | mark TICK attribute_id
95.813 + | mark DOT simple_name
95.814 + ;
95.815 +
95.816 +simple_name ::=
95.817 +IDENTIFIER:identifier
95.818 +{:
95.819 + RESULT = identifier;
95.820 +:}
95.821 +;
95.822 +
95.823 +compound_name ::=
95.824 +simple_name:simpleName
95.825 +{:
95.826 + RESULT = simpleName;
95.827 +:}
95.828 +| compound_name:compoundName DOT simple_name:simpleName
95.829 +{:
95.830 + RESULT = compoundName + "." + simpleName;
95.831 +:}
95.832 +;
95.833 +
95.834 +c_name_list ::= compound_name
95.835 + | c_name_list COMMA compound_name
95.836 + ;
95.837 +
95.838 +used_char ::= CHAR_LITERAL
95.839 + ;
95.840 +
95.841 +operator_symbol ::= STRING_LITERAL
95.842 + ;
95.843 +
95.844 +indexed_comp ::= name LPAREN value_s RPAREN
95.845 + ;
95.846 +
95.847 +value_s ::= value
95.848 + | value_s COMMA value
95.849 + ;
95.850 +
95.851 +value ::= expression
95.852 + | comp_assoc
95.853 + | discrete_with_range
95.854 + | error
95.855 + ;
95.856 +
95.857 +selected_comp ::= name DOT simple_name
95.858 + | name DOT used_char
95.859 + | name DOT operator_symbol
95.860 + | name DOT ALL
95.861 + ;
95.862 +
95.863 +attribute ::= name TICK attribute_id
95.864 + ;
95.865 +
95.866 +attribute_id ::= IDENTIFIER
95.867 + | DIGITS
95.868 + | DELTA
95.869 + | ACCESS
95.870 + ;
95.871 +
95.872 +literal ::= DECIMAL_LITERAL
95.873 + | BASED_LITERAL
95.874 + | used_char
95.875 + | NULL
95.876 + ;
95.877 +
95.878 +aggregate ::= LPAREN comp_assoc RPAREN
95.879 + | LPAREN value_s_2 RPAREN
95.880 + | LPAREN expression WITH value_s RPAREN
95.881 + | LPAREN expression WITH NULL RECORD RPAREN
95.882 + | LPAREN NULL RECORD RPAREN
95.883 + ;
95.884 +
95.885 +value_s_2 ::= value COMMA value
95.886 + | value_s_2 COMMA value
95.887 + ;
95.888 +
95.889 +comp_assoc ::= choice_s ARROW expression
95.890 + ;
95.891 +
95.892 +expression ::= relation
95.893 + | expression logical relation
95.894 + | expression short_circuit relation
95.895 + ;
95.896 +
95.897 +logical ::= AND
95.898 + | OR
95.899 + | XOR
95.900 + ;
95.901 +
95.902 +short_circuit ::= AND THEN
95.903 + | OR ELSE
95.904 + ;
95.905 +
95.906 +relation ::= simple_expression
95.907 + | simple_expression relational simple_expression
95.908 + | simple_expression membership range
95.909 + | simple_expression membership name
95.910 + ;
95.911 +
95.912 +relational ::= EQ
95.913 + | INEQ
95.914 + | GT
95.915 + | LTEQ
95.916 + | LT
95.917 + | GTEQ
95.918 + ;
95.919 +
95.920 +membership ::= IN
95.921 + | NOT IN
95.922 + ;
95.923 +
95.924 +simple_expression ::= unary term
95.925 + | term
95.926 + | simple_expression adding term
95.927 + ;
95.928 +
95.929 +unary ::= PLUS
95.930 + | MINUS
95.931 + ;
95.932 +
95.933 +adding ::= PLUS
95.934 + | MINUS
95.935 + | AMP
95.936 + ;
95.937 +
95.938 +term ::= factor
95.939 + | term multiplying factor
95.940 + ;
95.941 +
95.942 +multiplying ::= STAR
95.943 + | SLASH
95.944 + | MOD
95.945 + | REM
95.946 + ;
95.947 +
95.948 +factor ::= primary
95.949 + | NOT primary
95.950 + | ABS primary
95.951 + | primary EXPON primary
95.952 + ;
95.953 +
95.954 +primary ::= literal
95.955 + | name
95.956 + | allocator
95.957 + | qualified
95.958 + | parenthesized_primary
95.959 + ;
95.960 +
95.961 +parenthesized_primary ::= aggregate
95.962 + | LPAREN expression RPAREN
95.963 + ;
95.964 +
95.965 +qualified ::= name TICK parenthesized_primary
95.966 + ;
95.967 +
95.968 +allocator ::= NEW name
95.969 + | NEW qualified
95.970 + ;
95.971 +
95.972 +statement_s ::= statement
95.973 + | statement_s statement
95.974 + ;
95.975 +
95.976 +statement ::= unlabeled
95.977 + | label statement
95.978 + ;
95.979 +
95.980 +unlabeled ::= simple_stmt
95.981 + | compound_stmt
95.982 + | pragma
95.983 + ;
95.984 +
95.985 +simple_stmt ::= NULL_stmt
95.986 + | assign_stmt
95.987 + | exit_stmt
95.988 + | return_stmt
95.989 + | goto_stmt
95.990 + | procedure_call
95.991 + | delay_stmt
95.992 + | abort_stmt
95.993 + | raise_stmt
95.994 + | code_stmt
95.995 + | requeue_stmt
95.996 + | error SEMICOLON
95.997 + ;
95.998 +
95.999 +compound_stmt ::= if_stmt
95.1000 + | case_stmt
95.1001 + | loop_stmt
95.1002 + | block
95.1003 + | accept_stmt
95.1004 + | select_stmt
95.1005 + ;
95.1006 +
95.1007 +label ::= LTLT IDENTIFIER GTGT
95.1008 + ;
95.1009 +
95.1010 +NULL_stmt ::= NULL SEMICOLON
95.1011 + ;
95.1012 +
95.1013 +assign_stmt ::= name ASSIGNMENT expression SEMICOLON
95.1014 + ;
95.1015 +
95.1016 +if_stmt ::= IF cond_clause_s else_opt END IF SEMICOLON
95.1017 + ;
95.1018 +
95.1019 +cond_clause_s ::= cond_clause
95.1020 + | cond_clause_s ELSIF cond_clause
95.1021 + ;
95.1022 +
95.1023 +cond_clause ::= cond_part statement_s
95.1024 + ;
95.1025 +
95.1026 +cond_part ::= condition THEN
95.1027 + ;
95.1028 +
95.1029 +condition ::= expression
95.1030 + ;
95.1031 +
95.1032 +else_opt ::=
95.1033 + | ELSE statement_s
95.1034 + ;
95.1035 +
95.1036 +case_stmt ::= case_hdr pragma_s alternative_s END CASE SEMICOLON
95.1037 + ;
95.1038 +
95.1039 +case_hdr ::= CASE expression IS
95.1040 + ;
95.1041 +
95.1042 +alternative_s ::=
95.1043 + | alternative_s alternative
95.1044 + ;
95.1045 +
95.1046 +alternative ::= WHEN choice_s ARROW statement_s
95.1047 + ;
95.1048 +
95.1049 +loop_stmt ::= label_opt iteration basic_loop id_opt SEMICOLON
95.1050 + ;
95.1051 +
95.1052 +label_opt ::=
95.1053 + | IDENTIFIER COLON
95.1054 + ;
95.1055 +
95.1056 +iteration ::=
95.1057 + | WHILE condition
95.1058 + | iter_part reverse_opt discrete_range
95.1059 + ;
95.1060 +
95.1061 +iter_part ::= FOR IDENTIFIER IN
95.1062 + ;
95.1063 +
95.1064 +reverse_opt ::=
95.1065 + | REVERSE
95.1066 + ;
95.1067 +
95.1068 +basic_loop ::= LOOP statement_s END LOOP
95.1069 + ;
95.1070 +
95.1071 +id_opt ::=
95.1072 + | designator
95.1073 + ;
95.1074 +
95.1075 +block ::= label_opt block_decl block_body END id_opt SEMICOLON
95.1076 + ;
95.1077 +
95.1078 +block_decl ::=
95.1079 + | DECLARE decl_part
95.1080 + ;
95.1081 +
95.1082 +block_body ::= BEGIN handled_stmt_s
95.1083 + ;
95.1084 +
95.1085 +handled_stmt_s ::= statement_s except_handler_part_opt
95.1086 + ;
95.1087 +
95.1088 +except_handler_part_opt ::=
95.1089 + | except_handler_part
95.1090 + ;
95.1091 +
95.1092 +exit_stmt ::= EXIT name_opt when_opt SEMICOLON
95.1093 + ;
95.1094 +
95.1095 +name_opt ::=
95.1096 + | name
95.1097 + ;
95.1098 +
95.1099 +when_opt ::=
95.1100 + | WHEN condition
95.1101 + ;
95.1102 +
95.1103 +return_stmt ::= RETURN SEMICOLON
95.1104 + | RETURN expression SEMICOLON
95.1105 + ;
95.1106 +
95.1107 +goto_stmt ::= GOTO name SEMICOLON
95.1108 + ;
95.1109 +
95.1110 +subprog_decl ::= subprog_spec SEMICOLON
95.1111 + | generic_subp_inst SEMICOLON
95.1112 + | subprog_spec_is_push ABSTRACT SEMICOLON
95.1113 + ;
95.1114 +
95.1115 +subprog_spec ::= PROCEDURE compound_name formal_part_opt
95.1116 + | FUNCTION designator formal_part_opt RETURN name
95.1117 + | FUNCTION designator /* for generic inst and generic rename */
95.1118 + ;
95.1119 +
95.1120 +designator ::= compound_name
95.1121 + | STRING_LITERAL
95.1122 + ;
95.1123 +
95.1124 +formal_part_opt ::=
95.1125 + | formal_part
95.1126 + ;
95.1127 +
95.1128 +formal_part ::= LPAREN param_s RPAREN
95.1129 + ;
95.1130 +
95.1131 +param_s ::= param
95.1132 + | param_s SEMICOLON param
95.1133 + ;
95.1134 +
95.1135 +param ::= def_id_s COLON mode mark init_opt
95.1136 + | error
95.1137 + ;
95.1138 +
95.1139 +mode ::=
95.1140 + | IN
95.1141 + | OUT
95.1142 + | IN OUT
95.1143 + | ACCESS
95.1144 + ;
95.1145 +
95.1146 +subprog_spec_is_push ::= subprog_spec IS
95.1147 + ;
95.1148 +
95.1149 +subprog_body ::= subprog_spec_is_push
95.1150 + decl_part block_body END id_opt SEMICOLON
95.1151 + ;
95.1152 +
95.1153 +procedure_call ::= name SEMICOLON
95.1154 + ;
95.1155 +
95.1156 +pkg_decl ::= pkg_spec SEMICOLON
95.1157 + | generic_pkg_inst SEMICOLON
95.1158 + ;
95.1159 +
95.1160 +pkg_spec ::= PACKAGE compound_name IS
95.1161 + decl_item_s private_part END c_id_opt
95.1162 + ;
95.1163 +
95.1164 +private_part ::=
95.1165 + | PRIVATE decl_item_s
95.1166 + ;
95.1167 +
95.1168 +c_id_opt ::=
95.1169 + | compound_name
95.1170 + ;
95.1171 +
95.1172 +pkg_body ::= PACKAGE BODY compound_name IS
95.1173 + decl_part body_opt END c_id_opt SEMICOLON
95.1174 + ;
95.1175 +
95.1176 +body_opt ::=
95.1177 + | block_body
95.1178 + ;
95.1179 +
95.1180 +private_type ::= tagged_opt limited_opt PRIVATE
95.1181 + ;
95.1182 +
95.1183 +limited_opt ::=
95.1184 + | LIMITED
95.1185 + ;
95.1186 +
95.1187 +use_clause ::= USE name_s SEMICOLON
95.1188 + | USE TYPE name_s SEMICOLON
95.1189 + ;
95.1190 +
95.1191 +name_s ::= name
95.1192 + | name_s COMMA name
95.1193 + ;
95.1194 +
95.1195 +rename_decl ::= def_id_s COLON object_qualifier_opt subtype_ind renames SEMICOLON
95.1196 + | def_id_s COLON EXCEPTION renames SEMICOLON
95.1197 + | rename_unit
95.1198 + ;
95.1199 +
95.1200 +rename_unit ::= PACKAGE compound_name renames SEMICOLON
95.1201 + | subprog_spec renames SEMICOLON
95.1202 + | generic_formal_part PACKAGE compound_name renames SEMICOLON
95.1203 + | generic_formal_part subprog_spec renames SEMICOLON
95.1204 + ;
95.1205 +
95.1206 +renames ::= RENAMES name
95.1207 + ;
95.1208 +
95.1209 +task_decl ::= task_spec SEMICOLON
95.1210 + ;
95.1211 +
95.1212 +task_spec ::= TASK simple_name task_def
95.1213 + | TASK TYPE simple_name discrim_part_opt task_def
95.1214 + ;
95.1215 +
95.1216 +task_def ::=
95.1217 + | IS entry_decl_s rep_spec_s task_private_opt END id_opt
95.1218 + ;
95.1219 +
95.1220 +task_private_opt ::=
95.1221 + | PRIVATE entry_decl_s rep_spec_s
95.1222 + ;
95.1223 +
95.1224 +task_body ::= TASK BODY simple_name IS
95.1225 + decl_part block_body END id_opt SEMICOLON
95.1226 + ;
95.1227 +
95.1228 +prot_decl ::= prot_spec SEMICOLON
95.1229 + ;
95.1230 +
95.1231 +prot_spec ::= PROTECTED IDENTIFIER prot_def
95.1232 + | PROTECTED TYPE simple_name discrim_part_opt prot_def
95.1233 + ;
95.1234 +
95.1235 +prot_def ::= IS prot_op_decl_s prot_private_opt END id_opt
95.1236 + ;
95.1237 +
95.1238 +prot_private_opt ::=
95.1239 + | PRIVATE prot_elem_decl_s
95.1240 +;
95.1241 +
95.1242 +prot_op_decl_s ::=
95.1243 + | prot_op_decl_s prot_op_decl
95.1244 + ;
95.1245 +
95.1246 +prot_op_decl ::= entry_decl
95.1247 + | subprog_spec SEMICOLON
95.1248 + | rep_spec
95.1249 + | pragma
95.1250 + ;
95.1251 +
95.1252 +prot_elem_decl_s ::=
95.1253 + | prot_elem_decl_s prot_elem_decl
95.1254 + ;
95.1255 +
95.1256 +prot_elem_decl ::= prot_op_decl | comp_decl ;
95.1257 +
95.1258 +prot_body ::= PROTECTED BODY simple_name IS
95.1259 + prot_op_body_s END id_opt SEMICOLON
95.1260 + ;
95.1261 +
95.1262 +prot_op_body_s ::= pragma_s
95.1263 + | prot_op_body_s prot_op_body pragma_s
95.1264 + ;
95.1265 +
95.1266 +prot_op_body ::= entry_body
95.1267 + | subprog_body
95.1268 + | subprog_spec SEMICOLON
95.1269 + ;
95.1270 +
95.1271 +entry_decl_s ::= pragma_s
95.1272 + | entry_decl_s entry_decl pragma_s
95.1273 + ;
95.1274 +
95.1275 +entry_decl ::= ENTRY IDENTIFIER formal_part_opt SEMICOLON
95.1276 + | ENTRY IDENTIFIER LPAREN discrete_range RPAREN formal_part_opt SEMICOLON
95.1277 + ;
95.1278 +
95.1279 +entry_body ::= ENTRY IDENTIFIER formal_part_opt WHEN condition entry_body_part
95.1280 + | ENTRY IDENTIFIER LPAREN iter_part discrete_range RPAREN
95.1281 + formal_part_opt WHEN condition entry_body_part
95.1282 + ;
95.1283 +
95.1284 +entry_body_part ::= SEMICOLON
95.1285 + | IS decl_part block_body END id_opt SEMICOLON
95.1286 + ;
95.1287 +
95.1288 +rep_spec_s ::=
95.1289 + | rep_spec_s rep_spec pragma_s
95.1290 + ;
95.1291 +
95.1292 +entry_call ::= procedure_call
95.1293 + ;
95.1294 +
95.1295 +accept_stmt ::= accept_hdr SEMICOLON
95.1296 + | accept_hdr DO handled_stmt_s END id_opt SEMICOLON
95.1297 + ;
95.1298 +
95.1299 +accept_hdr ::= ACCEPT entry_name formal_part_opt
95.1300 + ;
95.1301 +
95.1302 +entry_name ::= simple_name
95.1303 + | entry_name LPAREN expression RPAREN
95.1304 + ;
95.1305 +
95.1306 +delay_stmt ::= DELAY expression SEMICOLON
95.1307 + | DELAY UNTIL expression SEMICOLON
95.1308 + ;
95.1309 +
95.1310 +select_stmt ::= select_wait
95.1311 + | async_select
95.1312 + | timed_entry_call
95.1313 + | cond_entry_call
95.1314 + ;
95.1315 +
95.1316 +select_wait ::= SELECT guarded_select_alt or_select else_opt
95.1317 + END SELECT SEMICOLON
95.1318 + ;
95.1319 +
95.1320 +guarded_select_alt ::= select_alt
95.1321 + | WHEN condition ARROW select_alt
95.1322 + ;
95.1323 +
95.1324 +or_select ::=
95.1325 + | or_select OR guarded_select_alt
95.1326 + ;
95.1327 +
95.1328 +select_alt ::= accept_stmt stmts_opt
95.1329 + | delay_stmt stmts_opt
95.1330 + | TERMINATE SEMICOLON
95.1331 + ;
95.1332 +
95.1333 +delay_or_entry_alt ::= delay_stmt stmts_opt
95.1334 + | entry_call stmts_opt
95.1335 +;
95.1336 +
95.1337 +async_select ::= SELECT delay_or_entry_alt
95.1338 + THEN ABORT statement_s
95.1339 + END SELECT SEMICOLON
95.1340 + ;
95.1341 +
95.1342 +timed_entry_call ::= SELECT entry_call stmts_opt
95.1343 + OR delay_stmt stmts_opt
95.1344 + END SELECT SEMICOLON
95.1345 + ;
95.1346 +
95.1347 +cond_entry_call ::= SELECT entry_call stmts_opt
95.1348 + ELSE statement_s
95.1349 + END SELECT SEMICOLON
95.1350 + ;
95.1351 +
95.1352 +stmts_opt ::=
95.1353 + | statement_s
95.1354 + ;
95.1355 +
95.1356 +abort_stmt ::= ABORT name_s SEMICOLON
95.1357 + ;
95.1358 +
95.1359 +compilation ::=
95.1360 + | compilation comp_unit
95.1361 + | pragma pragma_s
95.1362 + ;
95.1363 +
95.1364 +comp_unit ::= context_spec private_opt unit pragma_s
95.1365 + | private_opt unit pragma_s
95.1366 + ;
95.1367 +
95.1368 +private_opt ::=
95.1369 + | PRIVATE
95.1370 + ;
95.1371 +
95.1372 +context_spec ::= with_clause use_clause_opt
95.1373 + | context_spec with_clause use_clause_opt
95.1374 + | context_spec pragma
95.1375 + ;
95.1376 +
95.1377 +with_clause ::= WITH c_name_list SEMICOLON
95.1378 + ;
95.1379 +
95.1380 +use_clause_opt ::=
95.1381 + | use_clause_opt use_clause
95.1382 + ;
95.1383 +
95.1384 +unit ::= pkg_decl
95.1385 + | pkg_body
95.1386 + | subprog_decl
95.1387 + | subprog_body
95.1388 + | subunit
95.1389 + | generic_decl
95.1390 + | rename_unit
95.1391 + ;
95.1392 +
95.1393 +subunit ::= SEPARATE LPAREN compound_name RPAREN
95.1394 + subunit_body
95.1395 + ;
95.1396 +
95.1397 +subunit_body ::= subprog_body
95.1398 + | pkg_body
95.1399 + | task_body
95.1400 + | prot_body
95.1401 + ;
95.1402 +
95.1403 +body_stub ::= TASK BODY simple_name IS SEPARATE SEMICOLON
95.1404 + | PACKAGE BODY compound_name IS SEPARATE SEMICOLON
95.1405 + | subprog_spec IS SEPARATE SEMICOLON
95.1406 + | PROTECTED BODY simple_name IS SEPARATE SEMICOLON
95.1407 + ;
95.1408 +
95.1409 +exception_decl ::= def_id_s COLON EXCEPTION SEMICOLON
95.1410 + ;
95.1411 +
95.1412 +except_handler_part ::= EXCEPTION exception_handler
95.1413 + | except_handler_part exception_handler
95.1414 + ;
95.1415 +
95.1416 +exception_handler ::= WHEN except_choice_s ARROW statement_s
95.1417 + | WHEN IDENTIFIER COLON except_choice_s ARROW statement_s
95.1418 + ;
95.1419 +
95.1420 +except_choice_s ::= except_choice
95.1421 + | except_choice_s BAR except_choice
95.1422 + ;
95.1423 +
95.1424 +except_choice ::= name
95.1425 + | OTHERS
95.1426 + ;
95.1427 +
95.1428 +raise_stmt ::= RAISE name_opt SEMICOLON
95.1429 + ;
95.1430 +
95.1431 +requeue_stmt ::= REQUEUE name SEMICOLON
95.1432 + | REQUEUE name WITH ABORT SEMICOLON
95.1433 + ;
95.1434 +
95.1435 +generic_decl ::= generic_formal_part subprog_spec SEMICOLON
95.1436 + | generic_formal_part pkg_spec SEMICOLON
95.1437 + ;
95.1438 +
95.1439 +generic_formal_part ::= GENERIC
95.1440 + | generic_formal_part generic_formal
95.1441 + ;
95.1442 +
95.1443 +generic_formal ::= param SEMICOLON
95.1444 + | TYPE simple_name generic_discrim_part_opt IS generic_type_def SEMICOLON
95.1445 + | WITH PROCEDURE simple_name
95.1446 + formal_part_opt subp_default SEMICOLON
95.1447 + | WITH FUNCTION designator
95.1448 + formal_part_opt RETURN name subp_default SEMICOLON
95.1449 + | WITH PACKAGE simple_name IS NEW name LPAREN BOX RPAREN SEMICOLON
95.1450 + | WITH PACKAGE simple_name IS NEW name SEMICOLON
95.1451 + | use_clause
95.1452 + ;
95.1453 +
95.1454 +generic_discrim_part_opt ::=
95.1455 + | discrim_part
95.1456 + | LPAREN BOX RPAREN
95.1457 + ;
95.1458 +
95.1459 +subp_default ::=
95.1460 + | IS name
95.1461 + | IS BOX
95.1462 + ;
95.1463 +
95.1464 +generic_type_def ::= LPAREN BOX RPAREN
95.1465 + | RANGE BOX
95.1466 + | MOD BOX
95.1467 + | DELTA BOX
95.1468 + | DELTA BOX DIGITS BOX
95.1469 + | DIGITS BOX
95.1470 + | array_type
95.1471 + | access_type
95.1472 + | private_type
95.1473 + | generic_derived_type
95.1474 + ;
95.1475 +
95.1476 +generic_derived_type ::= NEW subtype_ind
95.1477 + | NEW subtype_ind WITH PRIVATE
95.1478 + | ABSTRACT NEW subtype_ind WITH PRIVATE
95.1479 + ;
95.1480 +
95.1481 +generic_subp_inst ::= subprog_spec IS generic_inst
95.1482 + ;
95.1483 +
95.1484 +generic_pkg_inst ::= PACKAGE compound_name IS generic_inst
95.1485 + ;
95.1486 +
95.1487 +generic_inst ::= NEW name
95.1488 + ;
95.1489 +
95.1490 +rep_spec ::= attrib_def
95.1491 + | record_type_spec
95.1492 + | address_spec
95.1493 + ;
95.1494 +
95.1495 +attrib_def ::= FOR mark USE expression SEMICOLON
95.1496 + ;
95.1497 +
95.1498 +record_type_spec ::= FOR mark USE RECORD align_opt comp_loc_s END RECORD SEMICOLON
95.1499 + ;
95.1500 +
95.1501 +align_opt ::=
95.1502 + | AT MOD expression SEMICOLON
95.1503 + ;
95.1504 +
95.1505 +comp_loc_s ::=
95.1506 + | comp_loc_s mark AT expression RANGE range SEMICOLON
95.1507 + ;
95.1508 +
95.1509 +address_spec ::= FOR mark USE AT expression SEMICOLON
95.1510 + ;
95.1511 +
95.1512 +code_stmt ::= qualified SEMICOLON
95.1513 + ;
96.1 Binary file ada.editor/src/org/netbeans/modules/ada/editor/resources/icons/adb-16.png has changed
97.1 Binary file ada.editor/src/org/netbeans/modules/ada/editor/resources/icons/ads-16.png has changed
98.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/resources/layer.xml Tue Oct 02 21:55:21 2012 -0400
98.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/resources/layer.xml Mon Oct 15 23:38:26 2012 +0200
98.3 @@ -37,10 +37,11 @@
98.4
98.5 Portions Copyrighted 2008 Sun Microsystems, Inc.
98.6 -->
98.7 -<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.1//EN" "http://www.netbeans.org/dtds/filesystem-1_1.dtd">
98.8 +<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
98.9 <filesystem>
98.10
98.11 <!-- LOADERS -->
98.12 +<!--
98.13 <folder name="Loaders">
98.14 <folder name="text">
98.15 <folder name="x-ada">
98.16 @@ -49,48 +50,101 @@
98.17 </folder>
98.18 </folder>
98.19 </folder>
98.20 +-->
98.21
98.22 - <!-- CLS -->
98.23 - <folder name="CslPlugins">
98.24 + <folder name="Loaders">
98.25 <folder name="text">
98.26 +
98.27 + <folder name="x-ada+sourcefile">
98.28 + <folder name="Actions">
98.29 + <file name="OpenAction.shadow">
98.30 + <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-OpenAction.instance"/>
98.31 + <attr name="position" intvalue="400"/>
98.32 + </file>
98.33 + <file name="Separator1.instance">
98.34 + <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
98.35 + <attr name="position" intvalue="600"/>
98.36 + </file>
98.37 + <file name="CutAction.shadow">
98.38 + <attr name="originalFile" stringvalue="Actions/Edit/org-openide-actions-CutAction.instance"/>
98.39 + <attr name="position" intvalue="700"/>
98.40 + </file>
98.41 + <file name="CopyAction.shadow">
98.42 + <attr name="originalFile" stringvalue="Actions/Edit/org-openide-actions-CopyAction.instance"/>
98.43 + <attr name="position" intvalue="800"/>
98.44 + </file>
98.45 + <file name="PasteAction.shadow">
98.46 + <attr name="originalFile" stringvalue="Actions/Edit/org-openide-actions-PasteAction.instance"/>
98.47 + <attr name="position" intvalue="900"/>
98.48 + </file>
98.49 + <file name="Separator2.instance">
98.50 + <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
98.51 + <attr name="position" intvalue="1000"/>
98.52 + </file>
98.53 + <file name="DeleteAction.shadow">
98.54 + <attr name="originalFile" stringvalue="Actions/Edit/org-openide-actions-DeleteAction.instance"/>
98.55 + <attr name="position" intvalue="1100"/>
98.56 + </file>
98.57 + <file name="RenameAction.shadow">
98.58 + <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-RenameAction.instance"/>
98.59 + <attr name="position" intvalue="1200"/>
98.60 + </file>
98.61 + <file name="Separator3.instance">
98.62 + <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
98.63 + <attr name="position" intvalue="1300"/>
98.64 + </file>
98.65 + <file name="SaveAsTemplateAction.shadow">
98.66 + <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-SaveAsTemplateAction.instance"/>
98.67 + <attr name="position" intvalue="1400"/>
98.68 + </file>
98.69 + <file name="Separator4.instance">
98.70 + <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
98.71 + <attr name="position" intvalue="1500"/>
98.72 + </file>
98.73 + <file name="FileSystemAction.shadow">
98.74 + <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-FileSystemAction.instance"/>
98.75 + <attr name="position" intvalue="1550"/>
98.76 + </file>
98.77 + <file name="Separator5.instance">
98.78 + <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
98.79 + <attr name="position" intvalue="1575"/>
98.80 + </file>
98.81 + <file name="ToolsAction.shadow">
98.82 + <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-ToolsAction.instance"/>
98.83 + <attr name="position" intvalue="1600"/>
98.84 + </file>
98.85 + <file name="PropertiesAction.shadow">
98.86 + <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-PropertiesAction.instance"/>
98.87 + <attr name="position" intvalue="1700"/>
98.88 + </file>
98.89 + </folder>
98.90 + </folder>
98.91 +
98.92 <folder name="x-ada">
98.93 - <file name="language.instance">
98.94 - <attr name="instanceClass" stringvalue="org.netbeans.modules.ada.editor.AdaLanguage"/>
98.95 - </file>
98.96 - <file name="structure.instance">
98.97 - <attr name="instanceClass" stringvalue="org.netbeans.modules.ada.editor.parser.AdaStructureScanner"/>
98.98 - </file>
98.99 + <folder name="Factories">
98.100 + <file name="org-netbeans-modules-ada-editor-AdaDataLoader.instance">
98.101 + <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.ada.editor.Bundle"/>
98.102 + <attr name="SystemFileSystem.icon" urlvalue="nbresloc:/org/netbeans/modules/ada/editor/resources/icons/ada-spec-16.png"/>
98.103 + <attr name="position" intvalue="99999"/>
98.104 +<!-- <attr name="iconBase" stringvalue="org/netbeans/modules/ada/editor/resources/icons/ada-spec-16.png"/>
98.105 + <attr name="dataObjectClass" stringvalue="org.netbeans.modules.ada.editor.AdaDataObject"/>
98.106 + <attr name="instanceCreate" methodvalue="org.openide.loaders.DataLoaderPool.factory"/>
98.107 + <attr name="mimeType" stringvalue="text/x-ada"/>-->
98.108 + </file>
98.109 + </folder>
98.110 </folder>
98.111 </folder>
98.112 </folder>
98.113
98.114 - <!-- GSF
98.115 - <folder name="GsfPlugins">
98.116 - <folder name="text">
98.117 - <folder name="x-ada">
98.118 - <file name="language.instance">
98.119 - <attr name="instanceClass" stringvalue="org.netbeans.modules.ada.editor.AdaLanguage"/>
98.120 - </file>
98.121 - <file name="structure.instance">
98.122 - <attr name="instanceClass" stringvalue="org.netbeans.modules.ada.editor.parser.AdaStructureScanner"/>
98.123 - </file>
98.124 - </folder>
98.125 - </folder>
98.126 - </folder>
98.127 - -->
98.128 -
98.129 <!-- EDITORS -->
98.130 <folder name="Editors">
98.131 <folder name="text">
98.132 <folder name="x-ada">
98.133 -
98.134 <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.ada.editor.resources.Bundle"/>
98.135 -
98.136 <file name="language.instance">
98.137 <attr name="instanceCreate" methodvalue="org.netbeans.modules.ada.editor.lexer.AdaTokenId.language"/>
98.138 <attr name="instanceOf" stringvalue="org.netbeans.api.lexer.Language"/>
98.139 </file>
98.140 -
98.141 <folder name="FontsColors">
98.142 <folder name="NetBeans">
98.143 <folder name="Defaults">
98.144 @@ -100,7 +154,6 @@
98.145 </folder>
98.146 </folder>
98.147 </folder>
98.148 -
98.149 <folder name="FoldManager">
98.150 <file name="org-netbeans-editor-CustomFoldManager$Factory.instance"/>
98.151 </folder>
99.1 --- a/ada.help/history.txt Tue Oct 02 21:55:21 2012 -0400
99.2 +++ b/ada.help/history.txt Mon Oct 15 23:38:26 2012 +0200
99.3 @@ -1,2 +1,12 @@
99.4 +0.1.3: 11-10-2012
99.5 +- Porting to NB7.2 and others improvements.
99.6 +
99.7 +0.1.2: 12-08-2010
99.8 +- Uodated the help files for manage JVM.
99.9 +
99.10 +0.1.1: 13-10-2009
99.11 +- Added the signing of the nbm file.
99.12 +- Added the new help files.
99.13 +
99.14 0.1.0: 01-11-2008
99.15 - Initial release.
99.16 \ No newline at end of file
100.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
100.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/ada-platform-manager.html Mon Oct 15 23:38:26 2012 +0200
100.3 @@ -0,0 +1,37 @@
100.4 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
100.5 +<!--
100.6 +* Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved.
100.7 +* Use is subject to license terms.
100.8 +-->
100.9 +<html>
100.10 +<head>
100.11 +<meta http-equiv="content-type" content="text/html; charset=UTF-8">
100.12 +<title>Ada Platform Manager Dialog Box</title>
100.13 + <link rel="StyleSheet" href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/ide.css" type="text/css">
100.14 +</head>
100.15 +<body>
100.16 +<h2>Ada Platform Manager Dialog Box</h2>
100.17 +<p> <small><a href="#seealso">See Also</a> </small>
100.18 +<p>The Ada Platform Manager is a tool for registering different versions of
100.19 + the Ada Development Kit and other Ada tools that your programs depend
100.20 + on. The dialog box lists all of your registered Ada Develepment Kit
100.21 + in the left pane and lists the Ada Tools that the IDE is running on as the Default
100.22 + Platform. The Ada Platform Manager is able to recognize the GNAT Java Byte code compiler.
100.23 +<p>You can open the dialog box by choosing Tools > Ada Platforms.
100.24 +<p>Once you have registered an Ada Tool, you can configure a standard project to use
100.25 + that Ada Tool for compilation, execution, and debugging. Go to the project's Project
100.26 + Properties dialog box, select the Build node, and choose the appropriate
100.27 + Ada Tool in the Ada Platform combo box.
100.28 +<dl>
100.29 + <dt><a name="seealso">See Also</a></dt>
100.30 + <dd><a href="new-ada-application.html" title="">New Ada Application</a></dd>
100.31 + <dd><a href="new-from-existing-ada-sources.html" title="">New Ada Application with Existing Sources</a></dd>
100.32 + <dd><a href="customize-project-build.html" title="">Customizing the Project Settings: Build</a></dd>
100.33 +</dl>
100.34 +<hr>
100.35 +<small><a href="../../credits.html">Legal Notices</a></small>
100.36 +<table border="0" cellpadding="50">
100.37 + <tr><td> </td></tr>
100.38 +</table>
100.39 +</body>
100.40 +</html>
101.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-build.html Tue Oct 02 21:55:21 2012 -0400
101.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-build.html Mon Oct 15 23:38:26 2012 +0200
101.3 @@ -63,36 +63,29 @@
101.4 }
101.5 -->
101.6 </style>
101.7 - <title>Customizing the Project Settings: Run Configuration</title>
101.8 + <title>Customizing the Ada Project Settings: Build</title>
101.9 </head>
101.10 <body>
101.11 <h2>
101.12 - Customizing the Project Settings: Build </h2>
101.13 + Customizing the Ada Project Settings: Build </h2>
101.14 <p>
101.15 <small><a href="#seealso">See Also</a></small>
101.16 </p>
101.17 <p>The Build panel of the Project Properties dialog box lets you lets you set the build tool for your projects:</p>
101.18 <ul>
101.19 - <li><b>Ada Platform. </b>Specifies the Ada platform for building the project.</li>
101.20 - <li><b>Main Module. </b>Specifies the Ada main procedure.</li>
101.21 + <li><b>Ada Platform.</b> Specifies the Ada platform for building the project.</li>
101.22 + <li><b>Main Module.</b> Specifies the Ada main procedure.</li>
101.23 + <li><b>Build Formal.</b> Specifies the build output format. The formats for the executable are the native format of your system or java byte code format.</li>
101.24 </ul>
101.25 <dl>
101.26 <dt>
101.27 <a name="seealso">See Also</a> </dt>
101.28 - <dd><a href="new-ada-application.html" title=
101.29 - "Configurinag a New PHP Project withough Previously Developed Sources">New Ada Application</a><a href="new-project-configure_no_sources.html" title=
101.30 - "Configurinag a New PHP Project without Previously Developed Sources"></a> </dd>
101.31 - <dd> <a href="new-from-existing-ada-sources.html" title=
101.32 - "Configurinag a New PHP Project withough Previously Developed Sources">New Ada Application with Existing Sources</a><a href="new-project-configure_existing_sources.html" title=
101.33 - "Importing Previously Developed Source Files into a New Project"></a></dd>
101.34 - <dd><a href="customize-project-sources.html" title=
101.35 - "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Sources</a><a href="new-project-configure_existing_sources.html" title=
101.36 - "Importing Previously Developed Source Files into a New Project"></a></dd>
101.37 - <dd><a href="customize-project-libraries.html" title=
101.38 - "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Libraries</a></dd>
101.39 - <dt></dt>
101.40 - <dd><a href="customize-project-run.html" title=
101.41 - "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Run</a></dd>
101.42 + <dd><a href="new-ada-application.html" title="">New Ada Application</a></dd>
101.43 + <dd><a href="new-from-existing-ada-sources.html" title="">New Ada Application with Existing Sources</a></dd>
101.44 + <dd><a href="customize-project-sources-folders.html" title="">Customizing the Project Settings: Sources Folders</a></dd>
101.45 + <dd><a href="customize-project-sources-naming.html" title="">Customizing the Project Settings: Sources Standards and Naming</a></dd>
101.46 + <dd><a href="customize-project-libraries.html" title="">Customizing the Project Settings: Libraries</a></dd>
101.47 + <dd><a href="customize-project-run.html" title="">Customizing the Project Settings: Run</a></dd>
101.48 <dt></dt>
101.49 <dd> </dd>
101.50 </dl>
102.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-libraries.html Tue Oct 02 21:55:21 2012 -0400
102.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-libraries.html Mon Oct 15 23:38:26 2012 +0200
102.3 @@ -63,31 +63,24 @@
102.4 }
102.5 -->
102.6 </style>
102.7 - <title>Customizing the Project Settings: Include Path</title>
102.8 + <title>Customizing the Ada Project Settings: Libraries</title>
102.9 </head>
102.10 <body>
102.11 <h2>
102.12 - Customizing the Project Settings: Libraries </h2>
102.13 + Customizing the Ada Project Settings: Libraries </h2>
102.14 <p>
102.15 <small><a href="#seealso">See Also</a></small>
102.16 </p>
102.17 - <p><span class="style1">THIS FEATURE IS NOT DEVELOPED</span></p>
102.18 + <p><span class="style1">THIS FEATURE IS NOT IMPLEMENTED</span></p>
102.19 <dl>
102.20 <dt>
102.21 <a name="seealso">See Also</a> </dt>
102.22 - <dd><a href="new-ada-application.html" title=
102.23 - "Configurinag a New PHP Project withough Previously Developed Sources">New Ada Application</a><a href="new-project-configure_no_sources.html" title=
102.24 - "Configurinag a New PHP Project without Previously Developed Sources"></a> </dd>
102.25 - <dd> <a href="new-from-existing-ada-sources.html" title=
102.26 - "Configurinag a New PHP Project withough Previously Developed Sources">New Ada Application with Existing Sources</a><a href="new-project-configure_existing_sources.html" title=
102.27 - "Importing Previously Developed Source Files into a New Project"></a></dd>
102.28 - <dd><a href="customize-project-sources.html" title=
102.29 - "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Sources</a></dd>
102.30 - <dd><a href="customize-project-build.html" title=
102.31 - "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Build</a></dd>
102.32 - <dt></dt>
102.33 - <dd><a href="customize-project-run.html" title=
102.34 - "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Run</a></dd>
102.35 + <dd><a href="new-ada-application.html" title="">New Ada Application</a></dd>
102.36 + <dd><a href="new-from-existing-ada-sources.html" title="">New Ada Application with Existing Sources</a></dd>
102.37 + <dd><a href="customize-project-sources-folders.html" title="">Customizing the Project Settings: Sources Folders</a></dd>
102.38 + <dd><a href="customize-project-sources-naming.html" title="">Customizing the Project Settings: Sources Standards and Naming</a></dd>
102.39 + <dd><a href="customize-project-build.html" title="">Customizing the Project Settings: Build</a></dd>
102.40 + <dd><a href="customize-project-run.html" title="">Customizing the Project Settings: Run</a></dd>
102.41 <dt> </dt>
102.42 <dd> </dd>
102.43 </dl>
103.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-run.html Tue Oct 02 21:55:21 2012 -0400
103.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-run.html Mon Oct 15 23:38:26 2012 +0200
103.3 @@ -63,11 +63,11 @@
103.4 }
103.5 -->
103.6 </style>
103.7 - <title>Customizing the Project Settings: Run Configuration</title>
103.8 + <title>Customizing the Ada Project Settings: Run</title>
103.9 </head>
103.10 <body>
103.11 <h2>
103.12 - Customizing the Project Settings: Run </h2>
103.13 + Customizing the Ada Project Settings: Run </h2>
103.14 <p>
103.15 <small><a href="#seealso">See Also</a></small>
103.16 </p>
103.17 @@ -76,20 +76,12 @@
103.18 <dl>
103.19 <dt>
103.20 <a name="seealso">See Also</a> </dt>
103.21 - <dd><a href="new-ada-application.html" title=
103.22 - "Configurinag a New PHP Project withough Previously Developed Sources">New Ada Application</a><a href="new-project-configure_no_sources.html" title=
103.23 - "Configurinag a New PHP Project without Previously Developed Sources"></a> </dd>
103.24 - <dd> <a href="new-from-existing-ada-sources.html" title=
103.25 - "Configurinag a New PHP Project withough Previously Developed Sources">New Ada Application with Existing Sources</a><a href="new-project-configure_existing_sources.html" title=
103.26 - "Importing Previously Developed Source Files into a New Project"></a></dd>
103.27 - <dd><a href="customize-project-sources.html" title=
103.28 - "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Sources</a><a href="new-project-configure_existing_sources.html" title=
103.29 - "Importing Previously Developed Source Files into a New Project"></a></dd>
103.30 - <dd><a href="customize-project-libraries.html" title=
103.31 - "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Libraries</a></dd>
103.32 - <dt></dt>
103.33 - <dd><a href="customize-project-build.html" title=
103.34 - "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Build</a></dd>
103.35 + <dd><a href="new-ada-application.html" title="">New Ada Application</a></dd>
103.36 + <dd><a href="new-from-existing-ada-sources.html" title="Configurinag a New Ada Project withough Previously Developed Sources">New Ada Application with Existing Sources</a></dd>
103.37 + <dd><a href="customize-project-sources-folders.html" title="">Customizing the Project Settings: Sources Folders</a></dd>
103.38 + <dd><a href="customize-project-sources-naming.html" title="">Customizing the Project Settings: Sources Standards and Naming</a></dd>
103.39 + <dd><a href="customize-project-libraries.html" title="">Customizing the Project Settings: Libraries</a></dd>
103.40 + <dd><a href="customize-project-build.html" title="">Customizing the Project Settings: Build</a></dd>
103.41 <dd> </dd>
103.42 </dl>
103.43 <hr>
104.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
104.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-sources-folders.html Mon Oct 15 23:38:26 2012 +0200
104.3 @@ -0,0 +1,130 @@
104.4 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
104.5 +<!--
104.6 +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
104.7 +
104.8 +Copyright 2008 Sun Microsystems, Inc. All rights reserved.
104.9 +
104.10 +The contents of this file are subject to the terms of either the GNU
104.11 +General Public License Version 2 only ("GPL") or the Common
104.12 +Development and Distribution License("CDDL") (collectively, the
104.13 +"License"). You may not use this file except in compliance with the
104.14 +License. You can obtain a copy of the License at
104.15 +http://www.netbeans.org/cddl-gplv2.html
104.16 +or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
104.17 +specific language governing permissions and limitations under the
104.18 +License. When distributing the software, include this License Header
104.19 +Notice in each file and include the License file at
104.20 +nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
104.21 +particular file as subject to the "Classpath" exception as provided
104.22 +by Sun in the GPL Version 2 section of the License file that
104.23 +accompanied this code. If applicable, add the following below the
104.24 +License Header, with the fields enclosed by brackets [] replaced by
104.25 +your own identifying information:
104.26 +"Portions Copyrighted [year] [name of copyright owner]"
104.27 +
104.28 +If you wish your version of this file to be governed by only the CDDL
104.29 +or only the GPL Version 2, indicate your decision by adding
104.30 +"[Contributor] elects to include this software in this distribution
104.31 +under the [CDDL or GPL Version 2] license." If you do not indicate a
104.32 +single choice of license, a recipient has the option to distribute
104.33 +your version of this file under either the CDDL, the GPL Version 2 or
104.34 +to extend the choice of license to its licensees as provided above.
104.35 +However, if you add GPL Version 2 code and therefore, elected the GPL
104.36 +Version 2 license, then the option applies only if the new code is
104.37 +made subject to such option by the copyright holder.
104.38 +
104.39 +Contributor(s):
104.40 +
104.41 +Portions Copyrighted 2008 Sun Microsystems, Inc.
104.42 +-->
104.43 +<html>
104.44 + <head>
104.45 + <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
104.46 + <link rel="stylesheet" href=
104.47 + "nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/ide.css" type=
104.48 + "text/css">
104.49 + <meta content="Helen" name="generator">
104.50 +<style type="text/css">
104.51 +<!--
104.52 +.comment {
104.53 + color: blue;
104.54 +}
104.55 +.change-bar {
104.56 + border-color: black;
104.57 + border-left-style: solid;
104.58 + border-left: thin;
104.59 + padding-left: 6px;
104.60 +}
104.61 +.deleted {
104.62 + text-decoration: line-through;
104.63 +}
104.64 +.style1 {
104.65 + color: #FF0000;
104.66 + font-weight: bold;
104.67 +}
104.68 +-->
104.69 +</style>
104.70 + <title>Customizing the Ada Project Settings: Sources Folders</title>
104.71 + </head>
104.72 + <body>
104.73 + <h2>
104.74 + Customizing the Ada Project Settings: Sources Folders</h2>
104.75 +<p>
104.76 + <small><a href="#seealso">See Also</a></small></p>
104.77 +<p>The Sources panel enables you to view the location of the project folder,
104.78 + manage source and test package folders, as well as set the source level of
104.79 + the packages which the IDE will use.
104.80 +You open the Ada Project Properties dialog box by right-clicking
104.81 + any and choosing Properties.
104.82 +<!--explain source level?-->
104.83 +</p>
104.84 +<p>Use the buttons on the right side of the panel to add, remove, and change
104.85 + the order of classpath elements.
104.86 +<ul>
104.87 + <li>The source root cannot already exist in another IDE project.
104.88 + <li>The source root cannot already be added to another compilation unit of the same project. For example, a source root that is registered under Test Packages cannot be added to the list of Source Packages.
104.89 + <li>If you have a source root that needs to be used by several projects, you should create a separate project for the source root and set up compilation dependencies between the projects.
104.90 +</ul>
104.91 +<p><b>Test Packages Folders</b></p>
104.92 +<p class="style1">THIS FEATURE IS NOT IMPLEMENTED</p>
104.93 +<p>You can use this pane to specify the folder that the IDE uses when creating Ada Unit tests.
104.94 + By default, when you create a project the IDE creates a test packages folder called <tt>test</tt> with the label Test Packages.
104.95 + Use the buttons to the right of the list to remove the selected folder or to specify the folder that the IDE uses when creating tests.
104.96 + You can also modify the Label field to change how the folder is displayed in the Projects window.</p>
104.97 +<p>To create Ada Unit tests with the IDE, a project must have a test packages folder.
104.98 + If the test packages folder for your project is missing or unavailable, you can create a new folder in your project and
104.99 + then use this pane to designate the new folder as the test packages folder.</p>
104.100 +<dl>
104.101 + <dt>
104.102 + <a name="seealso">See Also</a> </dt>
104.103 + <dd> </dd>
104.104 + <dd><a href="new-ada-application.html" title="">New Ada Application</a></dd>
104.105 + <dd><a href="new-from-existing-ada-sources.html" title="">New Ada Application with Existing Sources</a></dd>
104.106 + <dd><a href="customize-project-sources-naming.html" title="">Customizing the Project Settings: Sources Standards and Naming</a></dd>
104.107 + <dd><a href="customize-project-libraries.html" title="">Customizing the Project Settings: Libraries</a></dd>
104.108 + <dd><a href="customize-project-build.html" title="">Customizing the Project Settings: Build</a></dd>
104.109 + <dd><a href="customize-project-run.html" title="">Customizing the Project Settings: Run</a></dd>
104.110 +</dl>
104.111 +<hr>
104.112 + <p>
104.113 + <small><a href="credits.html">Legal Notices</a></small>
104.114 + </p>
104.115 + <table border="0" cellpadding="150">
104.116 + <tr>
104.117 + <td>
104.118 +
104.119 + </td>
104.120 + </tr>
104.121 + <tr>
104.122 + <td>
104.123 +
104.124 + </td>
104.125 + </tr>
104.126 + <tr>
104.127 + <td>
104.128 +
104.129 + </td>
104.130 + </tr>
104.131 + </table>
104.132 + </body>
104.133 +</html>
105.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
105.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-sources-naming.html Mon Oct 15 23:38:26 2012 +0200
105.3 @@ -0,0 +1,121 @@
105.4 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
105.5 +<!--
105.6 +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
105.7 +
105.8 +Copyright 2008 Sun Microsystems, Inc. All rights reserved.
105.9 +
105.10 +The contents of this file are subject to the terms of either the GNU
105.11 +General Public License Version 2 only ("GPL") or the Common
105.12 +Development and Distribution License("CDDL") (collectively, the
105.13 +"License"). You may not use this file except in compliance with the
105.14 +License. You can obtain a copy of the License at
105.15 +http://www.netbeans.org/cddl-gplv2.html
105.16 +or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
105.17 +specific language governing permissions and limitations under the
105.18 +License. When distributing the software, include this License Header
105.19 +Notice in each file and include the License file at
105.20 +nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
105.21 +particular file as subject to the "Classpath" exception as provided
105.22 +by Sun in the GPL Version 2 section of the License file that
105.23 +accompanied this code. If applicable, add the following below the
105.24 +License Header, with the fields enclosed by brackets [] replaced by
105.25 +your own identifying information:
105.26 +"Portions Copyrighted [year] [name of copyright owner]"
105.27 +
105.28 +If you wish your version of this file to be governed by only the CDDL
105.29 +or only the GPL Version 2, indicate your decision by adding
105.30 +"[Contributor] elects to include this software in this distribution
105.31 +under the [CDDL or GPL Version 2] license." If you do not indicate a
105.32 +single choice of license, a recipient has the option to distribute
105.33 +your version of this file under either the CDDL, the GPL Version 2 or
105.34 +to extend the choice of license to its licensees as provided above.
105.35 +However, if you add GPL Version 2 code and therefore, elected the GPL
105.36 +Version 2 license, then the option applies only if the new code is
105.37 +made subject to such option by the copyright holder.
105.38 +
105.39 +Contributor(s):
105.40 +
105.41 +Portions Copyrighted 2008 Sun Microsystems, Inc.
105.42 +-->
105.43 +<html>
105.44 + <head>
105.45 + <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
105.46 + <link rel="stylesheet" href=
105.47 + "nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/ide.css" type=
105.48 + "text/css">
105.49 + <meta content="Helen" name="generator">
105.50 +<style type="text/css">
105.51 +<!--
105.52 +.comment {
105.53 + color: blue;
105.54 +}
105.55 +.change-bar {
105.56 + border-color: black;
105.57 + border-left-style: solid;
105.58 + border-left: thin;
105.59 + padding-left: 6px;
105.60 +}
105.61 +.deleted {
105.62 + text-decoration: line-through;
105.63 +}
105.64 +.style1 {
105.65 + color: #FF0000;
105.66 + font-weight: bold;
105.67 +}
105.68 +-->
105.69 +</style>
105.70 + <title>Customizing the Ada Project Settings: Sources Standards and Naming</title>
105.71 + </head>
105.72 + <body>
105.73 + <h2>
105.74 + Customizing the Ada Project Settings: Sources Standards and Naming</h2>
105.75 +<p>
105.76 + <small><a href="#seealso">See Also</a></small></p>
105.77 + <p>The Build panel of the Project Properties dialog box lets you lets you set the Standards and Naming for your projects:</p>
105.78 + <p>Standards:</p>
105.79 + <ul>
105.80 + <li><b>Ada Dialects.</b> Specifies the Ada dialects used for your project <span class="style1">(ONLY ADA95 IS IMPLEMENTED)</span>.</li>
105.81 + <li><b>Ada restrictions.</b> Specifies the Ada restrictions used for your project <span class="style1">(THIS FEATURE IS NOT IMPLEMENTED)</span>.</li>
105.82 + </ul>
105.83 + <p>File Naming:</p>
105.84 + <ul>
105.85 + <li><b>Package specification.</b> Specifies the rules for file naming for package specification.</li>
105.86 + <li><b>Package body.</b> Specifies the rules for file naming for package body.</li>
105.87 + <li><b>Separate.</b> Specifies the rules for file naming for separates.</li>
105.88 + </ul>
105.89 +<dl>
105.90 + <dt>
105.91 + <a name="seealso">See Also</a> </dt>
105.92 + <dd> </dd>
105.93 + <dd><a href="new-ada-application.html" title="">New Ada Application</a></dd>
105.94 + <dd><a href="new-from-existing-ada-sources.html" title="">New Ada Application with Existing Sources</a></dd>
105.95 + <dd><a href="customize-project-sources-folders.html" title="">Customizing the Project Settings: Sources Folders</a></dd>
105.96 + <dd><a href="customize-project-libraries.html" title="">Customizing the Project Settings: Libraries</a></dd>
105.97 + <dd><a href="customize-project-build.html" title="">Customizing the Project Settings: Build</a></dd>
105.98 + <dd><a href="customize-project-run.html" title="">Customizing the Project Settings: Run</a></dd>
105.99 + <dt></dt>
105.100 + <dt> </dt>
105.101 +</dl>
105.102 +<hr>
105.103 + <p>
105.104 + <small><a href="credits.html">Legal Notices</a></small>
105.105 + </p>
105.106 + <table border="0" cellpadding="150">
105.107 + <tr>
105.108 + <td>
105.109 +
105.110 + </td>
105.111 + </tr>
105.112 + <tr>
105.113 + <td>
105.114 +
105.115 + </td>
105.116 + </tr>
105.117 + <tr>
105.118 + <td>
105.119 +
105.120 + </td>
105.121 + </tr>
105.122 + </table>
105.123 + </body>
105.124 +</html>
106.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-sources.html Tue Oct 02 21:55:21 2012 -0400
106.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-sources.html Mon Oct 15 23:38:26 2012 +0200
106.3 @@ -64,11 +64,11 @@
106.4 }
106.5 -->
106.6 </style>
106.7 - <title>Customizing the Project Settings: Source Files Location</title>
106.8 + <title>Customizing the Ada Project Settings: Source Files Location</title>
106.9 </head>
106.10 <body>
106.11 <h2>
106.12 - Customizing the Project Settings: Sources</h2>
106.13 + Customizing the Ada Project Settings: Sources</h2>
106.14 <p>
106.15 <small><a href="#seealso">See Also</a></small></p>
106.16 <p>The Sources panel enables you to view the location of the project folder,
107.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/findUsages-CSH.html Tue Oct 02 21:55:21 2012 -0400
107.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
107.3 @@ -1,91 +0,0 @@
107.4 -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
107.5 -<!--
107.6 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
107.7 -
107.8 -Copyright 2008 Sun Microsystems, Inc. All rights reserved.
107.9 -
107.10 -The contents of this file are subject to the terms of either the GNU
107.11 -General Public License Version 2 only ("GPL") or the Common
107.12 -Development and Distribution License("CDDL") (collectively, the
107.13 -"License"). You may not use this file except in compliance with the
107.14 -License. You can obtain a copy of the License at
107.15 -http://www.netbeans.org/cddl-gplv2.html
107.16 -or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
107.17 -specific language governing permissions and limitations under the
107.18 -License. When distributing the software, include this License Header
107.19 -Notice in each file and include the License file at
107.20 -nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
107.21 -particular file as subject to the "Classpath" exception as provided
107.22 -by Sun in the GPL Version 2 section of the License file that
107.23 -accompanied this code. If applicable, add the following below the
107.24 -License Header, with the fields enclosed by brackets [] replaced by
107.25 -your own identifying information:
107.26 -"Portions Copyrighted [year] [name of copyright owner]"
107.27 -
107.28 -If you wish your version of this file to be governed by only the CDDL
107.29 -or only the GPL Version 2, indicate your decision by adding
107.30 -"[Contributor] elects to include this software in this distribution
107.31 -under the [CDDL or GPL Version 2] license." If you do not indicate a
107.32 -single choice of license, a recipient has the option to distribute
107.33 -your version of this file under either the CDDL, the GPL Version 2 or
107.34 -to extend the choice of license to its licensees as provided above.
107.35 -However, if you add GPL Version 2 code and therefore, elected the GPL
107.36 -Version 2 license, then the option applies only if the new code is
107.37 -made subject to such option by the copyright holder.
107.38 -
107.39 -Contributor(s):
107.40 -
107.41 -Portions Copyrighted 2008 Sun Microsystems, Inc.
107.42 --->
107.43 -<html>
107.44 - <head>
107.45 - <title>Find Usages Dialog Box</title>
107.46 - <link rel="StyleSheet" href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/ide.css" type="text/css">
107.47 - </head>
107.48 - <body>
107.49 - <h2>Find Usages Dialog Box</h2>
107.50 - <p>Use this dialog box to specify search options for the Find Usages command.
107.51 -You can use the Find Usages command to determine all of the places a class, function,
107.52 - or variable is used in your project's source code. </p>
107.53 -
107.54 -
107.55 -
107.56 -
107.57 - <p>The Find Usages dialog box displays the following option for all types of identifiers:</p>
107.58 - <ul>
107.59 - <li><b>Search in Comments.</b> If selected, occurrences of the identifier that
107.60 - appear in code comments are also displayed.</li>
107.61 - </ul>
107.62 - <p>For classes and interfaces, the Find Usages dialog box displays the following
107.63 - additional options:</p>
107.64 - <ul>
107.65 - <li><b>Find Usages.</b> If selected, all usages of the class are displayed.</li>
107.66 - <li><b>Find All Subtypes.</b> If selected, usages of all subtypes of the class,
107.67 -including subtypes of subtypes, are displayed. Usages of the class itself are not displayed.</li>
107.68 - <li><b>Find Direct Subtypes Only.</b> If selected, only usages of direct subtypes
107.69 - are displayed. Subtypes of those subtypes are ignored. </li>
107.70 - </ul>
107.71 -
107.72 - <p>For functions, the Find Usages dialog box sometimes displays the following additional options:</p>
107.73 - <ul>
107.74 - <li><b>Find Usages.</b> If selected, all usages of that
107.75 - specific function in your project are displayed.</li>
107.76 - <li><b>Find Overriding Functions.</b> If selected, the output will show every usage
107.77 - of a function that overrides this function in your project.</li>
107.78 - <li><b>Search from Base Class.</b> This option is only relevant if the function for which you
107.79 -are finding usages overrides another function. If selected, the output
107.80 - will show every usage of that base function.</li>
107.81 - </ul>
107.82 - <ul class="note">
107.83 - <li>The Find Usages command is
107.84 - distinct from the Find command, because Find Usages returns only occurrences of
107.85 - the specified identifier in PHP source code. The Find command returns any matching string
107.86 - that you specify in any type of file.</li>
107.87 - </ul>
107.88 - <hr>
107.89 - <small><a href="credits.html">Legal Notices</a></small>
107.90 -<table border="0" cellpadding="50">
107.91 -<tr><td> </td></tr>
107.92 -</table>
107.93 - </body>
107.94 -</html>
108.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-hs.xml Tue Oct 02 21:55:21 2012 -0400
108.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-hs.xml Mon Oct 15 23:38:26 2012 +0200
108.3 @@ -40,22 +40,22 @@
108.4 <!DOCTYPE helpset PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 2.0//EN"
108.5 "http://java.sun.com/products/javahelp/helpset_2_0.dtd">
108.6 <helpset version="2.0">
108.7 - <title>Help for NetBeans IDE for Ada</title>
108.8 - <maps>
108.9 - <homeID>org.netbeans.modules.ada.help.about</homeID>
108.10 - <mapref location="help-map.xml"/>
108.11 - </maps>
108.12 - <view mergetype="javax.help.AppendMerge">
108.13 - <name>TOC</name>
108.14 - <label>Table of Contents</label>
108.15 - <type>javax.help.TOCView</type>
108.16 - <data>help-toc.xml</data>
108.17 - </view>
108.18 + <title>Help for NetBeans IDE for Ada</title>
108.19 + <maps>
108.20 + <homeID>org.netbeans.modules.ada.help.about</homeID>
108.21 + <mapref location="help-map.xml"/>
108.22 + </maps>
108.23 + <view mergetype="javax.help.AppendMerge">
108.24 + <name>TOC</name>
108.25 + <label>Table of Contents</label>
108.26 + <type>javax.help.TOCView</type>
108.27 + <data>help-toc.xml</data>
108.28 + </view>
108.29
108.30 - <view>
108.31 - <name>Search</name>
108.32 - <label>Search</label>
108.33 - <type>javax.help.SearchView</type>
108.34 - <data engine="com.sun.java.help.search.DefaultSearchEngine">JavaHelpSearch</data>
108.35 - </view>
108.36 + <view>
108.37 + <name>Search</name>
108.38 + <label>Search</label>
108.39 + <type>javax.help.SearchView</type>
108.40 + <data engine="com.sun.java.help.search.DefaultSearchEngine">JavaHelpSearch</data>
108.41 + </view>
108.42 </helpset>
109.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-map.xml Tue Oct 02 21:55:21 2012 -0400
109.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-map.xml Mon Oct 15 23:38:26 2012 +0200
109.3 @@ -40,11 +40,13 @@
109.4 <!DOCTYPE map PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Map Version 2.0//EN"
109.5 "http://java.sun.com/products/javahelp/map_2_0.dtd">
109.6 <map version="1.0">
109.7 - <mapID target="org.netbeans.modules.ada.help.about" url="help-about.html"/>
109.8 - <mapID target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.NEW" url="new-ada-application.html"/>
109.9 - <mapID target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.EXISTING" url="new-from-existing-ada-sources.html"/>
109.10 - <mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerSources" url="customize-project-sources.html"/>
109.11 - <mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerLibrariesPath" url="customize-project-libraries.html"/>
109.12 - <mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerBuild" url="customize-project-build.html"/>
109.13 - <mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerRun" url="customize-project-run.html"/>
109.14 + <mapID target="org.netbeans.modules.ada.help.about" url="help-about.html"/>
109.15 + <mapID target="org.netbeans.modules.ada.platform.ui.PlatformsCustomizer" url="ada-platform-manager.html"/>
109.16 + <mapID target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.NEW" url="new-ada-application.html"/>
109.17 + <mapID target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.EXISTING" url="new-from-existing-ada-sources.html"/>
109.18 + <mapID target="org.netbeans.modules.ada.project.options.ui.AdaGeneralOptionsPanel" url="customize-project-sources-naming.html"/>
109.19 + <mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerSources" url="customize-project-sources-folders.html"/>
109.20 + <mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerLibrariesPath" url="customize-project-libraries.html"/>
109.21 + <mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerBuild" url="customize-project-build.html"/>
109.22 + <mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerRun" url="customize-project-run.html"/>
109.23 </map>
110.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-toc.xml Tue Oct 02 21:55:21 2012 -0400
110.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-toc.xml Mon Oct 15 23:38:26 2012 +0200
110.3 @@ -40,13 +40,15 @@
110.4 <!DOCTYPE toc PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 2.0//EN"
110.5 "http://java.sun.com/products/javahelp/toc_2_0.dtd">
110.6 <toc version="2.0">
110.7 - <tocitem text="Ada Development" expand="false">
110.8 - <tocitem text="About Ada Development in the NetBeans IDE" target="org.netbeans.modules.ada.help.about" />
110.9 - <tocitem text="New Ada Application" target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.NEW" />
110.10 - <tocitem text="New Ada Application with Existing Sources" target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.EXISTING" />
110.11 - <tocitem text="Customizing the Project Settings: Sources" target="org.netbeans.modules.ada.project.ui.properties.CustomizerSources" />
110.12 - <tocitem text="Customizing the Project Settings: Libraries" target="org.netbeans.modules.ada.project.ui.properties.CustomizerLibrariesPath" />
110.13 - <tocitem text="Customizing the Project Settings: Build" target="org.netbeans.modules.ada.project.ui.properties.CustomizerBuild" />
110.14 - <tocitem text="Customizing the Project Settings: Run" target="org.netbeans.modules.ada.project.ui.properties.CustomizerRun" />
110.15 - </tocitem>
110.16 + <tocitem text="Ada Development" expand="false">
110.17 + <tocitem text="About Ada Development in the NetBeans IDE" target="org.netbeans.modules.ada.help.about" />
110.18 + <tocitem text="Ada Platform Manager Dialog Box" target="org.netbeans.modules.ada.platform.ui.PlatformsCustomizer" />
110.19 + <tocitem text="New Ada Application" target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.NEW" />
110.20 + <tocitem text="New Ada Application with Existing Sources" target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.EXISTING" />
110.21 + <tocitem text="Customizing the Project Settings: Sources Standards and Naming" target="org.netbeans.modules.ada.project.options.ui.AdaGeneralOptionsPanel" />
110.22 + <tocitem text="Customizing the Project Settings: Sources Folders" target="org.netbeans.modules.ada.project.ui.properties.CustomizerSources" />
110.23 + <tocitem text="Customizing the Project Settings: Libraries" target="org.netbeans.modules.ada.project.ui.properties.CustomizerLibrariesPath" />
110.24 + <tocitem text="Customizing the Project Settings: Build" target="org.netbeans.modules.ada.project.ui.properties.CustomizerBuild" />
110.25 + <tocitem text="Customizing the Project Settings: Run" target="org.netbeans.modules.ada.project.ui.properties.CustomizerRun" />
110.26 + </tocitem>
110.27 </toc>
111.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/new-ada-application.html Tue Oct 02 21:55:21 2012 -0400
111.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/new-ada-application.html Mon Oct 15 23:38:26 2012 +0200
111.3 @@ -60,10 +60,10 @@
111.4 }
111.5 -->
111.6 </style>
111.7 - <title>New PHP Project without Previously Developed Sources: Configure</title>
111.8 + <title>New Ada Application</title>
111.9 </head>
111.10 <body>
111.11 - <h2>New Ada Application</h2>
111.12 + <h2>New Ada Application</h2>
111.13 <p>
111.14 <small><a href="#seealso">See Also</a></small></p>
111.15 <p>The New Ada Application wizard enables you to create a new with a main class.
112.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/new-from-existing-ada-sources.html Tue Oct 02 21:55:21 2012 -0400
112.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/new-from-existing-ada-sources.html Mon Oct 15 23:38:26 2012 +0200
112.3 @@ -60,18 +60,18 @@
112.4 }
112.5 -->
112.6 </style>
112.7 - <title>New PHP Project without Previously Developed Sources: Run Configurations</title>
112.8 + <title>New Ada Application with Existing Sources</title>
112.9 </head>
112.10 <body>
112.11 <h2>New Ada Application with Existing Sources</h2>
112.12 <p>
112.13 <small><a href="#seealso">See Also</a></small></p>
112.14 -<p>The New Java Project with Existing Sources wizard enables you to create a new from an existing Java SE source folder. You open the wizard by
112.15 - opening the New Project wizard and selecting the Java Application with Existing Sources template from the General category.</p>
112.16 +<p>The New Ada Project with Existing Sources wizard enables you to create a new from an existing Ada source folder. You open the wizard by
112.17 + opening the New Project wizard and selecting the Ada Application with Existing Sources template from the General category.</p>
112.18 <p>In the Name and Location page, you have to set the following properties:
112.19 <ul>
112.20 <li><b>Project Name. </b>Specifies the display name of the project.</li>
112.21 - <li><b>Project Location. </b>Specifies the folder where you want to store the
112.22 + <li><b>Project Folder. </b>Specifies the folder where you want to store the
112.23 project metadata and source code. You can place the project folder in the
112.24 source folder or keep it in a separate location.</li>
112.25 <li><b>Set as Main Project.</b> Sets the newly created project as the main
113.1 --- a/ada.help/manifest.mf Tue Oct 02 21:55:21 2012 -0400
113.2 +++ b/ada.help/manifest.mf Mon Oct 15 23:38:26 2012 +0200
113.3 @@ -3,5 +3,5 @@
113.4 OpenIDE-Module-Layer: org/netbeans/modules/ada/help/layer.xml
113.5 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ada/help/Bundle.properties
113.6 OpenIDE-Module-Requires: org.netbeans.api.javahelp.Help
113.7 -OpenIDE-Module-Specification-Version: 0.1.0
113.8 +OpenIDE-Module-Specification-Version: 0.1.3
113.9 AutoUpdate-Show-In-Client: false
114.1 --- a/ada.help/nbproject/project.properties Tue Oct 02 21:55:21 2012 -0400
114.2 +++ b/ada.help/nbproject/project.properties Mon Oct 15 23:38:26 2012 +0200
114.3 @@ -1,5 +1,7 @@
114.4 -javac.source=1.5
114.5 +javac.source=1.6
114.6 javac.compilerargs=-Xlint -Xlint:-serial
114.7 javahelp.hs=adahelp.hs
114.8 nbm.homepage=http://wiki.netbeans.org/Ada
114.9 nbm.module.author=Andrea Lucarelli
114.10 +keystore=nbproject/private/keystore
114.11 +nbm_alias=nbada
115.1 Binary file ada.kit/ada-nbms.zip has changed
116.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
116.2 +++ b/ada.kit/ada-nbms/history.txt Mon Oct 15 23:38:26 2012 +0200
116.3 @@ -0,0 +1,65 @@
116.4 +0.2.3: 11-10-2012
116.5 +- Porting to NB7.2 and others improvements.
116.6 +
116.7 +0.2.2: 14-08-2010
116.8 +- Migrate to NB6.9
116.9 +- Fixed minor issues.
116.10 +
116.11 +0.2.1: 12-08-2010
116.12 +- Added JVM compiler support.
116.13 +- Migrate to NB6.8
116.14 +
116.15 +0.2.0: 13-10-2009
116.16 +- Added the signing of the nbm files.
116.17 +- Added the new help files.
116.18 +- Fixed the issue http://sourceforge.net/tracker/?func=detail&aid=2872967&group_id=248853&atid=1126624.
116.19 +
116.20 +0.1.9: 01-10-2009
116.21 +- Migrates from GSF to CSL for new Parsing & Indexing API.
116.22 +- Added improvements on ast parser.
116.23 +- Improvements on the GPR file management.
116.24 +- Sends of the arguments when the action RUN is invoked
116.25 +- Ada files naming management (options and project properties).
116.26 +- Fixed https://sourceforge.net/tracker/?func=detail&aid=2868718&group_id=248853&atid=1126624.
116.27 +- Fixed https://sourceforge.net/tracker/?func=detail&aid=2863317&group_id=248853&atid=1126624.
116.28 +
116.29 +0.1.8: 13-09-2009
116.30 +- Added improvements on ast parser, navigator, instant renamer.
116.31 +- Added others AST nodes.
116.32 +- Added improvements for gpr handling.
116.33 +- Minor changes.
116.34 +
116.35 +0.1.7: 01-02-2009
116.36 +- Fixed ada generic declaration.
116.37 +- Added improvements on ast parser, navigator, instant renamer.
116.38 +- Added others AST nodes.
116.39 +- Added search into environment path variable for autodetect ada platform.
116.40 +- Fixed the manage clean/build/run actions.
116.41 +
116.42 +0.1.6: 05-01-2009
116.43 +Note: These corrections have been added thanks to comments posted by comp.lang.ada users --> http://groups.google.it/group/comp.lang.ada/browse_thread/thread/5bcecfde044a119d
116.44 +- Fixed string and char literal recognition.
116.45 +- Fixed new ada platform and autodetect in linux system.
116.46 +- Fixed gpr template file for linux system.
116.47 +- Fixed project actions for linux systems.
116.48 +
116.49 +0.1.5: 28-12-2008
116.50 +- Added improvements on ast parser, indexer and navigator.
116.51 +- Added GNAT Project handler.
116.52 +- Added GNAT Ada Platforn autodetect. Tested only windows system.
116.53 +- Updated project actions.
116.54 +
116.55 +0.1.4: 19-12-2008
116.56 +- Added improvements on ast parser, indexer and navigator.
116.57 +
116.58 +0.1.3: 19-11-2008
116.59 +- Adde initial instant renamer, indexer, occurences finder and navigator.
116.60 +
116.61 +0.1.2: 17-11-2008
116.62 +- Added initial indent, formatting, code folding and semantic analyzer.
116.63 +
116.64 +0.1.1: 09-11-2008
116.65 +- Added initial version of Build/Clean actions (tested only windows system) and add help set for Ada Project. Remove previous Ada Platform configured with the previous plug-in version.
116.66 +
116.67 +0.1.0: 31-10-2008
116.68 +- Alpha release.
116.69 \ No newline at end of file
117.1 Binary file ada.kit/ada-nbms/org-netbeans-modules-ada-editor.nbm has changed
118.1 Binary file ada.kit/ada-nbms/org-netbeans-modules-ada-help.nbm has changed
119.1 Binary file ada.kit/ada-nbms/org-netbeans-modules-ada-kit.nbm has changed
120.1 Binary file ada.kit/ada-nbms/org-netbeans-modules-ada-options.nbm has changed
121.1 Binary file ada.kit/ada-nbms/org-netbeans-modules-ada-platform.nbm has changed
122.1 Binary file ada.kit/ada-nbms/org-netbeans-modules-ada-project.nbm has changed
123.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
123.2 +++ b/ada.kit/ada-nbms/planned-features.txt Mon Oct 15 23:38:26 2012 +0200
123.3 @@ -0,0 +1,1 @@
123.4 +See http://wiki.netbeans.org/Ada for more details.
124.1 --- a/ada.kit/build.xml Tue Oct 02 21:55:21 2012 -0400
124.2 +++ b/ada.kit/build.xml Mon Oct 15 23:38:26 2012 +0200
124.3 @@ -9,37 +9,38 @@
124.4 <ant dir="../ada.editor" inheritAll="false" target="clean"/>
124.5 <ant dir="../ada.help" inheritAll="false" target="clean"/>
124.6 <ant dir="../ada.options" inheritAll="false" target="clean"/>
124.7 - <ant dir="." inheritAll="false" target="clean"/>
124.8 + <ant target="clean"/>
124.9 </target>
124.10
124.11 <target name="ada-build" description="Builds all the modules constituting the Ada support">
124.12 - <ant dir="../ada.platform" inheritAll="false" target="netbeans"/>
124.13 - <ant dir="../ada.project" inheritAll="false" target="netbeans"/>
124.14 - <ant dir="../ada.editor" inheritAll="false" target="netbeans"/>
124.15 - <ant dir="../ada.help" inheritAll="false" target="netbeans"/>
124.16 - <ant dir="../ada.options" inheritAll="false" target="netbeans"/>
124.17 - <ant dir="." inheritAll="false" target="netbeans"/>
124.18 + <ant dir="../ada.platform"/>
124.19 + <ant dir="../ada.project"/>
124.20 + <ant dir="../ada.editor"/>
124.21 + <ant dir="../ada.help"/>
124.22 + <ant dir="../ada.options"/>
124.23 + <antcall target="netbeans"/>
124.24 </target>
124.25
124.26 <target name="ada-nbm" description="Creates nbm archives for all Ada modules">
124.27 - <ant dir="../ada.platform" inheritAll="false" target="nbm"/>
124.28 - <ant dir="../ada.project" inheritAll="false" target="nbm"/>
124.29 - <ant dir="../ada.editor" inheritAll="false" target="nbm"/>
124.30 - <ant dir="../ada.help" inheritAll="false" target="nbm"/>
124.31 - <ant dir="../ada.options" inheritAll="false" target="nbm"/>
124.32 - <ant dir="." inheritAll="false" target="nbm"/>
124.33 - <move todir="." flatten="true">
124.34 + <ant dir="../ada.platform" target="nbm"/>
124.35 + <ant dir="../ada.project" target="nbm"/>
124.36 + <ant dir="../ada.editor" target="nbm"/>
124.37 + <ant dir="../ada.help" target="nbm"/>
124.38 + <ant dir="../ada.options" target="nbm"/>
124.39 + <ant dir="../ada.kit" target="nbm"/>
124.40 + <antcall target="netbeans"/>
124.41 + <copy todir="." flatten="true">
124.42 <fileset dir="..">
124.43 <include name="ada.*/**/*.nbm"/>
124.44 </fileset>
124.45 - </move>
124.46 + </copy>
124.47 <zip destfile="ada-nbms.zip">
124.48 - <zipfileset dir=".">
124.49 - <include name="*.nbm"/>
124.50 - <include name="history.txt"/>
124.51 - <include name="planned-features.txt"/>
124.52 - </zipfileset>
124.53 - </zip>
124.54 + <zipfileset dir=".">
124.55 + <include name="*.nbm"/>
124.56 + <include name="history.txt"/>
124.57 + <include name="planned-features.txt"/>
124.58 + </zipfileset>
124.59 + </zip>
124.60 <delete>
124.61 <fileset dir=".">
124.62 <include name="*.nbm"/>
125.1 --- a/ada.kit/history.txt Tue Oct 02 21:55:21 2012 -0400
125.2 +++ b/ada.kit/history.txt Mon Oct 15 23:38:26 2012 +0200
125.3 @@ -1,43 +1,65 @@
125.4 -0.1.9: dd-mm-2009
125.5 -- Migrating GSF framework to CSL (Parsing & Indexing API)
125.6 +0.2.3: 11-10-2012
125.7 +- Porting to NB7.2 and others improvements.
125.8 +
125.9 +0.2.2: 14-08-2010
125.10 +- Migrate to NB6.9
125.11 +- Fixed minor issues.
125.12 +
125.13 +0.2.1: 12-08-2010
125.14 +- Added JVM compiler support.
125.15 +- Migrate to NB6.8
125.16 +
125.17 +0.2.0: 13-10-2009
125.18 +- Added the signing of the nbm files.
125.19 +- Added the new help files.
125.20 +- Fixed the issue http://sourceforge.net/tracker/?func=detail&aid=2872967&group_id=248853&atid=1126624.
125.21 +
125.22 +0.1.9: 01-10-2009
125.23 +- Migrates from GSF to CSL for new Parsing & Indexing API.
125.24 +- Added improvements on ast parser.
125.25 +- Improvements on the GPR file management.
125.26 +- Sends of the arguments when the action RUN is invoked
125.27 +- Ada files naming management (options and project properties).
125.28 +- Fixed https://sourceforge.net/tracker/?func=detail&aid=2868718&group_id=248853&atid=1126624.
125.29 +- Fixed https://sourceforge.net/tracker/?func=detail&aid=2863317&group_id=248853&atid=1126624.
125.30
125.31 0.1.8: 13-09-2009
125.32 -- Add improvements on ast parser, navigator, instant renamer.
125.33 -- Add others AST nodes.
125.34 -- Add improvements for gpr handling.
125.35 +- Added improvements on ast parser, navigator, instant renamer.
125.36 +- Added others AST nodes.
125.37 +- Added improvements for gpr handling.
125.38 - Minor changes.
125.39
125.40 0.1.7: 01-02-2009
125.41 -- Fix ada generic declaration.
125.42 -- Add improvements on ast parser, navigator, instant renamer.
125.43 -- Add others AST nodes.
125.44 -- Add search into environment path variable for autodetect ada platform.
125.45 -- Fix the manage clean/build/run actions.
125.46 +- Fixed ada generic declaration.
125.47 +- Added improvements on ast parser, navigator, instant renamer.
125.48 +- Added others AST nodes.
125.49 +- Added search into environment path variable for autodetect ada platform.
125.50 +- Fixed the manage clean/build/run actions.
125.51
125.52 0.1.6: 05-01-2009
125.53 Note: These corrections have been added thanks to comments posted by comp.lang.ada users --> http://groups.google.it/group/comp.lang.ada/browse_thread/thread/5bcecfde044a119d
125.54 -- Fix string and char literal recognition.
125.55 -- Fix new ada platform and autodetect in linux system.
125.56 -- Fix gpr template file for linux system.
125.57 -- Fix project actions for linux systems.
125.58 +- Fixed string and char literal recognition.
125.59 +- Fixed new ada platform and autodetect in linux system.
125.60 +- Fixed gpr template file for linux system.
125.61 +- Fixed project actions for linux systems.
125.62
125.63 0.1.5: 28-12-2008
125.64 -- Add improvements on ast parser, indexer and navigator.
125.65 -- Add GNAT Project handler.
125.66 -- Add GNAT Ada Platforn autodetect. Tested only windows system.
125.67 -- Update project actions.
125.68 +- Added improvements on ast parser, indexer and navigator.
125.69 +- Added GNAT Project handler.
125.70 +- Added GNAT Ada Platforn autodetect. Tested only windows system.
125.71 +- Updated project actions.
125.72
125.73 0.1.4: 19-12-2008
125.74 -- Add improvements on ast parser, indexer and navigator.
125.75 +- Added improvements on ast parser, indexer and navigator.
125.76
125.77 0.1.3: 19-11-2008
125.78 -- Add initial instant renamer, indexer, occurences finder and navigator.
125.79 +- Adde initial instant renamer, indexer, occurences finder and navigator.
125.80
125.81 0.1.2: 17-11-2008
125.82 -- Add initial indent, formatting, code folding and semantic analyzer.
125.83 +- Added initial indent, formatting, code folding and semantic analyzer.
125.84
125.85 0.1.1: 09-11-2008
125.86 -- Add initial version of Build/Clean actions (tested only windows system) and add help set for Ada Project. Remove previous Ada Platform configured with the previous plug-in version.
125.87 +- Added initial version of Build/Clean actions (tested only windows system) and add help set for Ada Project. Remove previous Ada Platform configured with the previous plug-in version.
125.88
125.89 0.1.0: 31-10-2008
125.90 -- Add initial very alpha release.
125.91 \ No newline at end of file
125.92 +- Alpha release.
125.93 \ No newline at end of file
126.1 --- a/ada.kit/manifest.mf Tue Oct 02 21:55:21 2012 -0400
126.2 +++ b/ada.kit/manifest.mf Mon Oct 15 23:38:26 2012 +0200
126.3 @@ -2,5 +2,5 @@
126.4 AutoUpdate-Show-In-Client: true
126.5 OpenIDE-Module: org.netbeans.modules.ada.kit
126.6 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ada/kit/Bundle.properties
126.7 -OpenIDE-Module-Specification-Version: 0.1.9
126.8 +OpenIDE-Module-Specification-Version: 0.2.3
126.9
127.1 --- a/ada.kit/nbproject/project.properties Tue Oct 02 21:55:21 2012 -0400
127.2 +++ b/ada.kit/nbproject/project.properties Mon Oct 15 23:38:26 2012 +0200
127.3 @@ -2,6 +2,8 @@
127.4 auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.text-limit-width=80
127.5 auxiliary.org-netbeans-modules-editor-indent.CodeStyle.usedProfile=default
127.6 javac.compilerargs=-Xlint -Xlint:-serial
127.7 -javac.source=1.5
127.8 +javac.source=1.6
127.9 nbm.homepage=http://wiki.netbeans.org/Ada
127.10 nbm.module.author=Andrea Lucarelli
127.11 +keystore=nbproject/private/keystore
127.12 +nbm_alias=nbada
128.1 --- a/ada.kit/nbproject/project.xml Tue Oct 02 21:55:21 2012 -0400
128.2 +++ b/ada.kit/nbproject/project.xml Mon Oct 15 23:38:26 2012 +0200
128.3 @@ -8,31 +8,31 @@
128.4 <dependency>
128.5 <code-name-base>org.netbeans.modules.ada.editor</code-name-base>
128.6 <run-dependency>
128.7 - <specification-version>0.1.9</specification-version>
128.8 + <specification-version>0.2.2</specification-version>
128.9 </run-dependency>
128.10 </dependency>
128.11 <dependency>
128.12 <code-name-base>org.netbeans.modules.ada.help</code-name-base>
128.13 <run-dependency>
128.14 - <specification-version>0.1.0</specification-version>
128.15 + <specification-version>0.1.3</specification-version>
128.16 </run-dependency>
128.17 </dependency>
128.18 <dependency>
128.19 <code-name-base>org.netbeans.modules.ada.options</code-name-base>
128.20 <run-dependency>
128.21 - <specification-version>0.1.4</specification-version>
128.22 + <specification-version>0.1.8</specification-version>
128.23 </run-dependency>
128.24 </dependency>
128.25 <dependency>
128.26 <code-name-base>org.netbeans.modules.ada.platform</code-name-base>
128.27 <run-dependency>
128.28 - <specification-version>0.1.5</specification-version>
128.29 + <specification-version>0.1.9</specification-version>
128.30 </run-dependency>
128.31 </dependency>
128.32 <dependency>
128.33 <code-name-base>org.netbeans.modules.ada.project</code-name-base>
128.34 <run-dependency>
128.35 - <specification-version>0.1.7</specification-version>
128.36 + <specification-version>0.1.10</specification-version>
128.37 </run-dependency>
128.38 </dependency>
128.39 </module-dependencies>
129.1 --- a/ada.options/history.txt Tue Oct 02 21:55:21 2012 -0400
129.2 +++ b/ada.options/history.txt Mon Oct 15 23:38:26 2012 +0200
129.3 @@ -1,17 +1,26 @@
129.4 -0.1.5: dd-mm-2009
129.5 -- TBD
129.6 +0.1.8: 11-10-2012
129.7 +- Porting to NB7.2 and others improvements.
129.8 +
129.9 +0.1.7: 12-08-2010
129.10 +- Updates modules dependencies version.
129.11 +
129.12 +0.1.6: 13-10-2009
129.13 +- Added the signing of the nbm files.
129.14 +
129.15 +0.1.5: 01-10-2009
129.16 +- Move Ada Options Panel on Ada Project module.
129.17
129.18 0.1.4: 13-09-2009
129.19 -- Update spec version.
129.20 +- Updated spec version.
129.21
129.22 0.1.3: 01-02-2009
129.23 -- Update spec version.
129.24 +- Updated spec version.
129.25
129.26 0.1.2: 05-01-2009
129.27 -- Update spec version.
129.28 +- Updated spec version.
129.29
129.30 0.1.1: 28-12-2008
129.31 -- Update spec version.
129.32 +- Updated spec version.
129.33
129.34 0.1.0: 11-11-2008
129.35 -- Initial versions. Move options from Ada Project and Ada Editor.
129.36 \ No newline at end of file
129.37 +- Initial version. Move options from Ada Project and Ada Editor.
129.38 \ No newline at end of file
130.1 --- a/ada.options/manifest.mf Tue Oct 02 21:55:21 2012 -0400
130.2 +++ b/ada.options/manifest.mf Mon Oct 15 23:38:26 2012 +0200
130.3 @@ -3,5 +3,5 @@
130.4 OpenIDE-Module: org.netbeans.modules.ada.options
130.5 OpenIDE-Module-Layer: org/netbeans/modules/ada/options/resources/layer.xml
130.6 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ada/options/Bundle.properties
130.7 -OpenIDE-Module-Specification-Version: 0.1.4
130.8 +OpenIDE-Module-Specification-Version: 0.1.8
130.9
131.1 --- a/ada.options/nbproject/project.properties Tue Oct 02 21:55:21 2012 -0400
131.2 +++ b/ada.options/nbproject/project.properties Mon Oct 15 23:38:26 2012 +0200
131.3 @@ -1,4 +1,6 @@
131.4 -javac.source=1.5
131.5 +javac.source=1.6
131.6 javac.compilerargs=-Xlint -Xlint:-serial
131.7 nbm.homepage=http://wiki.netbeans.org/Ada
131.8 nbm.module.author=Andrea Lucarelli
131.9 +keystore=nbproject/private/keystore
131.10 +nbm_alias=nbada
132.1 --- a/ada.options/nbproject/project.xml Tue Oct 02 21:55:21 2012 -0400
132.2 +++ b/ada.options/nbproject/project.xml Mon Oct 15 23:38:26 2012 +0200
132.3 @@ -6,20 +6,11 @@
132.4 <code-name-base>org.netbeans.modules.ada.options</code-name-base>
132.5 <module-dependencies>
132.6 <dependency>
132.7 - <code-name-base>org.jdesktop.layout</code-name-base>
132.8 - <build-prerequisite/>
132.9 - <compile-dependency/>
132.10 - <run-dependency>
132.11 - <release-version>1</release-version>
132.12 - <specification-version>1.6.1</specification-version>
132.13 - </run-dependency>
132.14 - </dependency>
132.15 - <dependency>
132.16 <code-name-base>org.netbeans.modules.ada.editor</code-name-base>
132.17 <build-prerequisite/>
132.18 <compile-dependency/>
132.19 <run-dependency>
132.20 - <specification-version>0.1.9</specification-version>
132.21 + <specification-version>0.2.2</specification-version>
132.22 </run-dependency>
132.23 </dependency>
132.24 <dependency>
132.25 @@ -27,7 +18,7 @@
132.26 <build-prerequisite/>
132.27 <compile-dependency/>
132.28 <run-dependency>
132.29 - <specification-version>0.1.7</specification-version>
132.30 + <specification-version>0.1.10</specification-version>
132.31 </run-dependency>
132.32 </dependency>
132.33 <dependency>
132.34 @@ -36,15 +27,7 @@
132.35 <compile-dependency/>
132.36 <run-dependency>
132.37 <release-version>1</release-version>
132.38 - <specification-version>1.10.1</specification-version>
132.39 - </run-dependency>
132.40 - </dependency>
132.41 - <dependency>
132.42 - <code-name-base>org.openide.awt</code-name-base>
132.43 - <build-prerequisite/>
132.44 - <compile-dependency/>
132.45 - <run-dependency>
132.46 - <specification-version>7.3.1</specification-version>
132.47 + <specification-version>1.26.1</specification-version>
132.48 </run-dependency>
132.49 </dependency>
132.50 <dependency>
132.51 @@ -52,7 +35,15 @@
132.52 <build-prerequisite/>
132.53 <compile-dependency/>
132.54 <run-dependency>
132.55 - <specification-version>7.18.1</specification-version>
132.56 + <specification-version>8.25.1</specification-version>
132.57 + </run-dependency>
132.58 + </dependency>
132.59 + <dependency>
132.60 + <code-name-base>org.openide.util.lookup</code-name-base>
132.61 + <build-prerequisite/>
132.62 + <compile-dependency/>
132.63 + <run-dependency>
132.64 + <specification-version>8.15.1</specification-version>
132.65 </run-dependency>
132.66 </dependency>
132.67 </module-dependencies>
133.1 --- a/ada.options/src/org/netbeans/modules/ada/options/AdaOptionsPanelController.java Tue Oct 02 21:55:21 2012 -0400
133.2 +++ b/ada.options/src/org/netbeans/modules/ada/options/AdaOptionsPanelController.java Mon Oct 15 23:38:26 2012 +0200
133.3 @@ -39,7 +39,6 @@
133.4
133.5 package org.netbeans.modules.ada.options;
133.6
133.7 -import org.netbeans.modules.ada.project.options.AdaGeneralOptionsPanel;
133.8 import java.beans.PropertyChangeListener;
133.9 import java.beans.PropertyChangeSupport;
133.10 import java.util.Collection;
133.11 @@ -52,6 +51,7 @@
133.12 import javax.swing.event.ChangeEvent;
133.13 import javax.swing.event.ChangeListener;
133.14 import org.netbeans.modules.ada.project.options.AdaOptions;
133.15 +import org.netbeans.modules.ada.project.options.ui.AdaGeneralOptionsPanel;
133.16 import org.netbeans.modules.ada.editor.formatter.ui.FormattingOptionsPanel;
133.17 import org.netbeans.spi.options.AdvancedOption;
133.18 import org.netbeans.spi.options.OptionsPanelController;
133.19 @@ -63,7 +63,7 @@
133.20 /**
133.21 * @author Andrea Lucarelli
133.22 */
133.23 -public class AdaOptionsPanelController extends OptionsPanelController implements ChangeListener {
133.24 +public class AdaOptionsPanelController extends OptionsPanelController implements ChangeListener, HelpCtx.Provider {
133.25
133.26 private static final String TAB_FOLDER = "org.netbeans.modules.ada/options/"; // NOI18N
133.27 private final AdaGeneralOptionsPanel generalOptionsPanel = new AdaGeneralOptionsPanel(null);
133.28 @@ -184,7 +184,7 @@
133.29
133.30 @Override
133.31 public HelpCtx getHelpCtx() {
133.32 - return null;
133.33 + return new HelpCtx(AdaGeneralOptionsPanel.class);
133.34 }
133.35
133.36 @Override
133.37 @@ -201,12 +201,24 @@
133.38 return AdaOptions.getInstance();
133.39 }
133.40
133.41 + @Override
133.42 public void stateChanged(ChangeEvent e) {
133.43 changed();
133.44 }
133.45
133.46 private boolean validateComponent() {
133.47 // errors
133.48 + String postfixSpec = generalOptionsPanel.getPkgSpecPostfix();
133.49 + String postfixBody = generalOptionsPanel.getPkgBodyPostfix();
133.50 + String specExt = generalOptionsPanel.getPkgSpecExt();
133.51 + String bodyExt = generalOptionsPanel.getPkgBodyExt();
133.52 +
133.53 + if (specExt.equalsIgnoreCase(bodyExt)) {
133.54 + if (postfixSpec.equalsIgnoreCase(postfixBody)) {
133.55 + generalOptionsPanel.setError(NbBundle.getMessage(AdaOptionsPanelController.class, "MSG_ExtetionsError"));
133.56 + return false;
133.57 + }
133.58 + }
133.59
133.60 // everything ok
133.61 generalOptionsPanel.setError(" "); // NOI18N
134.1 --- a/ada.options/src/org/netbeans/modules/ada/options/Bundle.properties Tue Oct 02 21:55:21 2012 -0400
134.2 +++ b/ada.options/src/org/netbeans/modules/ada/options/Bundle.properties Mon Oct 15 23:38:26 2012 +0200
134.3 @@ -47,4 +47,5 @@
134.4
134.5 # AdaOptionsPanelController
134.6 LBL_GeneralOPtions=General
134.7 -LBL_FormattingPtions=Formatting
134.8 \ No newline at end of file
134.9 +LBL_FormattingPtions=Formatting
134.10 +MSG_ExtetionsError= Body Postfix (".ada") cannot be the same as Spec Postfix.
135.1 --- a/ada.options/src/org/netbeans/modules/ada/options/resources/layer.xml Tue Oct 02 21:55:21 2012 -0400
135.2 +++ b/ada.options/src/org/netbeans/modules/ada/options/resources/layer.xml Mon Oct 15 23:38:26 2012 +0200
135.3 @@ -37,7 +37,7 @@
135.4
135.5 Portions Copyrighted 2008 Sun Microsystems, Inc.
135.6 -->
135.7 -<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.1//EN" "http://www.netbeans.org/dtds/filesystem-1_1.dtd">
135.8 +<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
135.9 <filesystem>
135.10 <folder name="OptionsDialog">
135.11 <file name="org-netbeans-modules-ada-options-AdaOptionsCategory.instance">
136.1 --- a/ada.platform/history.txt Tue Oct 02 21:55:21 2012 -0400
136.2 +++ b/ada.platform/history.txt Mon Oct 15 23:38:26 2012 +0200
136.3 @@ -1,16 +1,31 @@
136.4 +0.1.9: 11-10-2012
136.5 +- Porting to NB7.2 and others improvements.
136.6 +
136.7 +0.1.8: 12-08-2010
136.8 +- Added JVM compiler support.
136.9 +
136.10 +0.1.7: 13-10-2009
136.11 +- Added the signing of the nbm files.
136.12 +- Fixed the issue http://sourceforge.net/tracker/?func=detail&aid=2872967&group_id=248853&atid=1126624.
136.13 +
136.14 +0.1.6: 01-10-2009
136.15 +- Fixed https://sourceforge.net/tracker/?func=detail&aid=2868718&group_id=248853&atid=1126624.
136.16 +- Improvements on the GPR file management.
136.17 +- Sends of the arguments when the action RUN is invoked
136.18 +
136.19 0.1.5: 13-09-2009
136.20 -- Add improvements for gpr handling.
136.21 +- Added improvements for gpr handling.
136.22
136.23 0.1.4: 01-02-2009
136.24 -- Add search into environment path variable for autodetect ada platform.
136.25 +- Added search into environment path variable for autodetect ada platform.
136.26
136.27 0.1.3: 05-01-2009
136.28 -- Fix new ada platform and autodetect in linux system.
136.29 -- Fix gpr template file for linux system.
136.30 +- Fixed new ada platform and autodetect in linux system.
136.31 +- Fixed gpr template file for linux system.
136.32
136.33 0.1.2: 28-12-2008
136.34 -- Add GNAT Project handler.
136.35 -- Add GNAT Ada Platforn autodetect. Tested only windows system.
136.36 +- Added GNAT Project handler.
136.37 +- Added GNAT Ada Platforn autodetect. Tested only windows system.
136.38
136.39 0.1.1: 09-11-2008
136.40 - Added first version of gnatmake command. Tested only windows system.
137.1 --- a/ada.platform/manifest.mf Tue Oct 02 21:55:21 2012 -0400
137.2 +++ b/ada.platform/manifest.mf Mon Oct 15 23:38:26 2012 +0200
137.3 @@ -3,5 +3,5 @@
137.4 OpenIDE-Module: org.netbeans.modules.ada.platform
137.5 OpenIDE-Module-Layer: org/netbeans/modules/ada/platform/resources/layer.xml
137.6 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ada/platform/Bundle.properties
137.7 -OpenIDE-Module-Specification-Version: 0.1.5
137.8 +OpenIDE-Module-Specification-Version: 0.1.9
137.9
138.1 --- a/ada.platform/nbproject/project.properties Tue Oct 02 21:55:21 2012 -0400
138.2 +++ b/ada.platform/nbproject/project.properties Mon Oct 15 23:38:26 2012 +0200
138.3 @@ -1,4 +1,6 @@
138.4 -javac.source=1.5
138.5 +javac.source=1.6
138.6 javac.compilerargs=-Xlint -Xlint:-serial
138.7 nbm.homepage=http://wiki.netbeans.org/Ada
138.8 nbm.module.author=Andrea Lucarelli
138.9 +keystore=nbproject/private/keystore
138.10 +nbm_alias=nbada
139.1 --- a/ada.platform/nbproject/project.xml Tue Oct 02 21:55:21 2012 -0400
139.2 +++ b/ada.platform/nbproject/project.xml Mon Oct 15 23:38:26 2012 +0200
139.3 @@ -6,57 +6,12 @@
139.4 <code-name-base>org.netbeans.modules.ada.platform</code-name-base>
139.5 <module-dependencies>
139.6 <dependency>
139.7 - <code-name-base>org.jdesktop.layout</code-name-base>
139.8 - <build-prerequisite/>
139.9 - <compile-dependency/>
139.10 - <run-dependency>
139.11 - <release-version>1</release-version>
139.12 - <specification-version>1.6</specification-version>
139.13 - </run-dependency>
139.14 - </dependency>
139.15 - <dependency>
139.16 - <code-name-base>org.netbeans.api.progress</code-name-base>
139.17 - <build-prerequisite/>
139.18 - <compile-dependency/>
139.19 - <run-dependency>
139.20 - <release-version>1</release-version>
139.21 - <specification-version>1.12</specification-version>
139.22 - </run-dependency>
139.23 - </dependency>
139.24 - <dependency>
139.25 <code-name-base>org.netbeans.modules.extexecution</code-name-base>
139.26 <build-prerequisite/>
139.27 <compile-dependency/>
139.28 <run-dependency>
139.29 <release-version>2</release-version>
139.30 - <specification-version>1.13</specification-version>
139.31 - </run-dependency>
139.32 - </dependency>
139.33 - <dependency>
139.34 - <code-name-base>org.netbeans.modules.project.ant</code-name-base>
139.35 - <build-prerequisite/>
139.36 - <compile-dependency/>
139.37 - <run-dependency>
139.38 - <release-version>1</release-version>
139.39 - <specification-version>1.26.1</specification-version>
139.40 - </run-dependency>
139.41 - </dependency>
139.42 - <dependency>
139.43 - <code-name-base>org.netbeans.modules.projectapi</code-name-base>
139.44 - <build-prerequisite/>
139.45 - <compile-dependency/>
139.46 - <run-dependency>
139.47 - <release-version>1</release-version>
139.48 - <specification-version>1.19</specification-version>
139.49 - </run-dependency>
139.50 - </dependency>
139.51 - <dependency>
139.52 - <code-name-base>org.netbeans.modules.projectuiapi</code-name-base>
139.53 - <build-prerequisite/>
139.54 - <compile-dependency/>
139.55 - <run-dependency>
139.56 - <release-version>1</release-version>
139.57 - <specification-version>1.31</specification-version>
139.58 + <specification-version>1.31.1</specification-version>
139.59 </run-dependency>
139.60 </dependency>
139.61 <dependency>
139.62 @@ -64,7 +19,7 @@
139.63 <build-prerequisite/>
139.64 <compile-dependency/>
139.65 <run-dependency>
139.66 - <specification-version>7.3</specification-version>
139.67 + <specification-version>7.46.1</specification-version>
139.68 </run-dependency>
139.69 </dependency>
139.70 <dependency>
139.71 @@ -72,7 +27,7 @@
139.72 <build-prerequisite/>
139.73 <compile-dependency/>
139.74 <run-dependency>
139.75 - <specification-version>7.8</specification-version>
139.76 + <specification-version>7.25.1</specification-version>
139.77 </run-dependency>
139.78 </dependency>
139.79 <dependency>
139.80 @@ -80,15 +35,7 @@
139.81 <build-prerequisite/>
139.82 <compile-dependency/>
139.83 <run-dependency>
139.84 - <specification-version>7.13</specification-version>
139.85 - </run-dependency>
139.86 - </dependency>
139.87 - <dependency>
139.88 - <code-name-base>org.openide.modules</code-name-base>
139.89 - <build-prerequisite/>
139.90 - <compile-dependency/>
139.91 - <run-dependency>
139.92 - <specification-version>7.7</specification-version>
139.93 + <specification-version>7.62.1</specification-version>
139.94 </run-dependency>
139.95 </dependency>
139.96 <dependency>
139.97 @@ -96,7 +43,7 @@
139.98 <build-prerequisite/>
139.99 <compile-dependency/>
139.100 <run-dependency>
139.101 - <specification-version>7.18.1</specification-version>
139.102 + <specification-version>8.25.1</specification-version>
139.103 </run-dependency>
139.104 </dependency>
139.105 </module-dependencies>
139.106 @@ -105,6 +52,8 @@
139.107 <package>org.netbeans.api.ada.platform</package>
139.108 <package>org.netbeans.modules.ada.platform.compiler.gnat</package>
139.109 <package>org.netbeans.modules.ada.platform.compiler.gnat.commands</package>
139.110 + <package>org.netbeans.modules.ada.platform.compiler.jgnat</package>
139.111 + <package>org.netbeans.modules.ada.platform.compiler.jgnat.commands</package>
139.112 <package>org.netbeans.modules.ada.platform.ui</package>
139.113 <package>org.netbeans.spi.ada.platform</package>
139.114 </friend-packages>
140.1 --- a/ada.platform/src/org/netbeans/api/ada/platform/AdaAutoDetector.java Tue Oct 02 21:55:21 2012 -0400
140.2 +++ b/ada.platform/src/org/netbeans/api/ada/platform/AdaAutoDetector.java Mon Oct 15 23:38:26 2012 +0200
140.3 @@ -51,16 +51,17 @@
140.4 */
140.5 public class AdaAutoDetector {
140.6
140.7 - private Logger LOGGER = Logger.getLogger(AdaAutoDetector.class.getName());
140.8 + private static final Logger LOGGER = Logger.getLogger(AdaAutoDetector.class.getName());
140.9 private ArrayList<String> matches = new ArrayList<String>();
140.10 private boolean searchNestedDirectoies = true;
140.11 -
140.12 - private void processAction(File dir, String tool) {
140.13 +
140.14 + private void processAction(File dir, String tool) {
140.15 //LOGGER.setLevel(Level.FINE);
140.16 - LOGGER.fine("Inspecting: " + dir.getAbsolutePath());
140.17 + LOGGER.log(Level.FINE, "Inspecting: {0}", dir.getAbsolutePath());
140.18 +
140.19 if (dir.isFile()) {
140.20 int pos = dir.getName().indexOf(".");
140.21 - String name = null;
140.22 + String name;
140.23 if (pos > -1) {
140.24 name = dir.getName().substring(0, pos);
140.25 } else {
140.26 @@ -68,21 +69,36 @@
140.27 }
140.28 if (name.equalsIgnoreCase(tool)) {
140.29 matches.add(dir.getParent());
140.30 - LOGGER.fine("Match: " + dir.getAbsolutePath());
140.31 + LOGGER.log(Level.FINE, "Match: {0}", dir.getAbsolutePath());
140.32 }
140.33 }
140.34 +
140.35 if (dir.isDirectory()) {
140.36 if (Utilities.isWindows()) {
140.37 - if ((dir.getName().toLowerCase().contains("mingw")) ||
140.38 - (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("mingw")) ||
140.39 - (dir.getName().toLowerCase().contains("cygwin")) ||
140.40 - (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("cygwin")) ||
140.41 - (dir.getName().toLowerCase().contains("gnat")) ||
140.42 - (dir.getName().toLowerCase().contains("2007") && dir.getPath().toLowerCase().contains("gnat")) ||
140.43 - (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("gnat")) ||
140.44 - (dir.getName().toLowerCase().contains("gnat")) ||
140.45 - (dir.getName().toLowerCase().contains("2008") && dir.getPath().toLowerCase().contains("gnat")) ||
140.46 - (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("gnat"))) {
140.47 + if ((dir.getName().toLowerCase().contains("mingw"))
140.48 + || (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("mingw"))
140.49 + || (dir.getName().toLowerCase().contains("cygwin"))
140.50 + || (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("cygwin"))
140.51 + || (dir.getName().toLowerCase().contains("gnat"))
140.52 + || (dir.getName().toLowerCase().contains("2007") && dir.getPath().toLowerCase().contains("gnat"))
140.53 + || (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("gnat"))
140.54 + || (dir.getName().toLowerCase().contains("gnat"))
140.55 + || (dir.getName().toLowerCase().contains("2008") && dir.getPath().toLowerCase().contains("gnat"))
140.56 + || (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("gnat"))
140.57 + || (dir.getName().toLowerCase().contains("gnat"))
140.58 + || (dir.getName().toLowerCase().contains("2009") && dir.getPath().toLowerCase().contains("gnat"))
140.59 + || (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("gnat"))
140.60 + || (dir.getName().toLowerCase().contains("gnat"))
140.61 + || (dir.getName().toLowerCase().contains("2010") && dir.getPath().toLowerCase().contains("gnat"))
140.62 + || (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("gnat"))
140.63 + || (dir.getName().toLowerCase().contains("gnat"))
140.64 + || (dir.getName().toLowerCase().contains("2011") && dir.getPath().toLowerCase().contains("gnat"))
140.65 + || (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("gnat"))
140.66 + || (dir.getName().toLowerCase().contains("gnat"))
140.67 + || (dir.getName().toLowerCase().contains("2012") && dir.getPath().toLowerCase().contains("gnat"))
140.68 + || (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("gnat"))
140.69 + )
140.70 + {
140.71 String[] children = dir.list();
140.72 if (children != null) {
140.73 for (int i = 0; i < children.length; i++) {
141.1 --- a/ada.platform/src/org/netbeans/api/ada/platform/AdaExecution.java Tue Oct 02 21:55:21 2012 -0400
141.2 +++ b/ada.platform/src/org/netbeans/api/ada/platform/AdaExecution.java Mon Oct 15 23:38:26 2012 +0200
141.3 @@ -64,6 +64,7 @@
141.4 private String commandArgs;
141.5 private String displayName;
141.6 private boolean redirect;
141.7 +
141.8 private ExecutionDescriptor descriptor = new ExecutionDescriptor().frontWindow(true).controllable(true).inputVisible(true).showProgress(true).showSuspended(true);
141.9
141.10 /**
142.1 --- a/ada.platform/src/org/netbeans/api/ada/platform/AdaOutputProcessor.java Tue Oct 02 21:55:21 2012 -0400
142.2 +++ b/ada.platform/src/org/netbeans/api/ada/platform/AdaOutputProcessor.java Mon Oct 15 23:38:26 2012 +0200
142.3 @@ -48,12 +48,14 @@
142.4 */
142.5 public class AdaOutputProcessor implements InputProcessor {
142.6 StringBuilder builder = new StringBuilder();
142.7 +
142.8 + @Override
142.9 public void processInput(char[] input) throws IOException {
142.10 builder.append(input);
142.11 }
142.12
142.13 public void reset() throws IOException {
142.14 - //builder = new StringBuilder();
142.15 + builder.setLength(0);
142.16 }
142.17
142.18 public void close() throws IOException {
143.1 --- a/ada.platform/src/org/netbeans/api/ada/platform/AdaPlatform.java Tue Oct 02 21:55:21 2012 -0400
143.2 +++ b/ada.platform/src/org/netbeans/api/ada/platform/AdaPlatform.java Mon Oct 15 23:38:26 2012 +0200
143.3 @@ -39,9 +39,7 @@
143.4
143.5 package org.netbeans.api.ada.platform;
143.6
143.7 -import java.io.File;
143.8 import java.io.Serializable;
143.9 -import java.util.ArrayList;
143.10
143.11 /**
143.12 *
143.13 @@ -53,36 +51,44 @@
143.14 private String info;
143.15
143.16 private String compilerPath;
143.17 - private String compilerCommand;
143.18 - private String compilerArgs;
143.19 - private boolean dirty;
143.20 + private String gnatCompilerCommand;
143.21 + private String gnatCompilerArgs;
143.22 + private String jvmGnatCompilerCommand;
143.23 + private String jvmGnatCompilerArgs;
143.24 +
143.25 + public String getJvmGnatCompilerArgs() {
143.26 + return jvmGnatCompilerArgs;
143.27 + }
143.28 +
143.29 + public void setJvmGnatCompilerArgs(String jvmGnatCompilerArgs) {
143.30 + this.jvmGnatCompilerArgs = jvmGnatCompilerArgs;
143.31 + }
143.32 +
143.33 + public String getJvmGnatCompilerCommand() {
143.34 + return jvmGnatCompilerCommand;
143.35 + }
143.36 +
143.37 + public void setJvmGnatCompilerCommand(String jvmGnatCompilerCommand) {
143.38 + this.jvmGnatCompilerCommand = jvmGnatCompilerCommand;
143.39 + }
143.40
143.41 public AdaPlatform() {
143.42 }
143.43
143.44 - public String getCompilerArgs() {
143.45 - return compilerArgs;
143.46 + public String getGnatCompilerArgs() {
143.47 + return gnatCompilerArgs;
143.48 }
143.49
143.50 - public void setCompilerArgs(String compilerArgs) {
143.51 - this.compilerArgs = compilerArgs;
143.52 + public void setGnatCompilerArgs(String gnatCompilerArgs) {
143.53 + this.gnatCompilerArgs = gnatCompilerArgs;
143.54 }
143.55
143.56 - public String getInterpreterCommand() {
143.57 - return compilerCommand;
143.58 + public String getGnatCompilerCommand() {
143.59 + return gnatCompilerCommand;
143.60 }
143.61
143.62 - public void setCompilerCommand(String compilerCommand) {
143.63 - this.compilerCommand = compilerCommand;
143.64 - }
143.65 -
143.66 - public String getCompilerCommand() {
143.67 - return compilerCommand;
143.68 - }
143.69 -
143.70 - /** Has this platform been changed since the last load? */
143.71 - public boolean isDirty() {
143.72 - return dirty;
143.73 + public void setGnatCompilerCommand(String gnatCompilerCommand) {
143.74 + this.gnatCompilerCommand = gnatCompilerCommand;
143.75 }
143.76
143.77 public String getName() {
143.78 @@ -108,22 +114,4 @@
143.79 public void setCompilerPath(String compilerPath) {
143.80 this.compilerPath = compilerPath;
143.81 }
143.82 -
143.83 - /**
143.84 - * Build a path string from arraylist
143.85 - * @param path
143.86 - * @return
143.87 - */
143.88 - public static String buildPath(ArrayList<String> path){
143.89 - StringBuilder pathString = new StringBuilder();
143.90 - int count = 0;
143.91 - for(String pathEle: path){
143.92 - pathString.append(pathEle);
143.93 - if (count++ < path.size()){
143.94 - pathString.append(File.pathSeparator);
143.95 - }
143.96 - }
143.97 - return pathString.toString();
143.98 - }
143.99 -
143.100 }
144.1 --- a/ada.platform/src/org/netbeans/api/ada/platform/AdaPlatformManager.java Tue Oct 02 21:55:21 2012 -0400
144.2 +++ b/ada.platform/src/org/netbeans/api/ada/platform/AdaPlatformManager.java Mon Oct 15 23:38:26 2012 +0200
144.3 @@ -55,6 +55,7 @@
144.4 import java.util.HashMap;
144.5 import java.util.List;
144.6 import java.util.concurrent.Future;
144.7 +import java.util.logging.Level;
144.8 import java.util.logging.Logger;
144.9 import org.openide.filesystems.FileObject;
144.10 import org.openide.util.Exceptions;
144.11 @@ -66,12 +67,17 @@
144.12 *
144.13 * @author Andrea Lucarelli
144.14 */
144.15 -public class AdaPlatformManager implements Serializable {
144.16 +public final class AdaPlatformManager implements Serializable {
144.17
144.18 private static final Logger LOGGER = Logger.getLogger(AdaPlatformManager.class.getName());
144.19 +
144.20 + // Ada platforms properties
144.21 private static final String PLATFORM_FILE = System.getProperty("netbeans.user") + "/config/ada-platforms.xml";
144.22 private static final String GNAT_EXECUTABLE_NAME = "gnat"; // NOI18N
144.23 + private static final String JVM_GNAT_EXECUTABLE_NAME = "jvm-gnat"; // NOI18N
144.24 private static final String GNAT_PLATFORM_NAME = "GNAT";
144.25 +
144.26 + // Ada platforms hash table
144.27 private HashMap<String, AdaPlatform> platforms;
144.28 private String defaultPlatform;
144.29
144.30 @@ -194,15 +200,13 @@
144.31 String line = null;
144.32 try {
144.33 while ((line = reader.readLine()) != null) {
144.34 - sb.append(line + "\n");
144.35 + sb.append(line).append("\n");
144.36 }
144.37 } catch (IOException e) {
144.38 - e.printStackTrace();
144.39 } finally {
144.40 try {
144.41 is.close();
144.42 } catch (IOException e) {
144.43 - e.printStackTrace();
144.44 }
144.45 }
144.46
144.47 @@ -211,8 +215,12 @@
144.48
144.49 public AdaPlatform findPlatformProperties(FileObject folder) throws AdaException {
144.50 AdaPlatform platform = null;
144.51 - String id = null;
144.52 -
144.53 + File tool = null;
144.54 + AdaExecution adaExec = null;
144.55 + ReaderInputStream is = null;
144.56 + BufferedReader reader = null;
144.57 + String line = null;
144.58 +
144.59 // Find GNAT Tool
144.60 // ??? Now only GNAT platform is supported
144.61 FileObject gnat = findTool(GNAT_EXECUTABLE_NAME, folder);
144.62 @@ -220,8 +228,8 @@
144.63 if (gnat != null) {
144.64
144.65 try {
144.66 - File tool = FileUtil.toFile(gnat);
144.67 - AdaExecution adaExec = new AdaExecution();
144.68 + tool = FileUtil.toFile(gnat);
144.69 + adaExec = new AdaExecution();
144.70 adaExec.setCommand(tool.getPath());
144.71 adaExec.setDisplayName("Ada Platform Properties");
144.72 adaExec.setShowControls(false);
144.73 @@ -234,9 +242,9 @@
144.74 Future<Integer> result = adaExec.run();
144.75 Integer value = result.get();
144.76 if (value.intValue() == 0) {
144.77 - ReaderInputStream is = new ReaderInputStream(adaExec.getOutput());
144.78 - BufferedReader reader = new BufferedReader(new InputStreamReader(is));
144.79 - String line = null;
144.80 + is = new ReaderInputStream(adaExec.getOutput());
144.81 + reader = new BufferedReader(new InputStreamReader(is));
144.82 + line = null;
144.83 try {
144.84 while ((line = reader.readLine()) != null) {
144.85 if (line.contains(GNAT_PLATFORM_NAME)) {
144.86 @@ -245,26 +253,20 @@
144.87 int endIndex2 = line.indexOf(")") < 0 ? line.length() : line.indexOf(")");
144.88
144.89 platform = new AdaPlatform();
144.90 - platform.setName(GNAT_PLATFORM_NAME + line.substring(startIndex, endIndex));
144.91 + platform.setName((GNAT_PLATFORM_NAME + line.substring(startIndex, endIndex)).trim());
144.92 if (endIndex < endIndex2) {
144.93 platform.setInfo(line.substring(endIndex + 1, endIndex2));
144.94 }
144.95 - platform.setCompilerCommand(GNAT_EXECUTABLE_NAME);
144.96 + platform.setGnatCompilerCommand(GNAT_EXECUTABLE_NAME);
144.97 platform.setCompilerPath(tool.getPath().substring(0, tool.getPath().lastIndexOf(tool.getName())));
144.98 - if (platforms.size() == 0) {
144.99 - setDefaultPlatform(platform.getName());
144.100 - }
144.101 - platforms.put(platform.getName(), platform);
144.102 break;
144.103 }
144.104 }
144.105 } catch (IOException e) {
144.106 - e.printStackTrace();
144.107 } finally {
144.108 try {
144.109 is.close();
144.110 } catch (IOException e) {
144.111 - e.printStackTrace();
144.112 }
144.113 }
144.114 } else {
144.115 @@ -277,6 +279,62 @@
144.116 Exceptions.printStackTrace(ex);
144.117 }
144.118 }
144.119 +
144.120 + FileObject jvmgnat = findTool(JVM_GNAT_EXECUTABLE_NAME, folder);
144.121 +
144.122 + if (jvmgnat != null) {
144.123 +
144.124 + try {
144.125 + tool = FileUtil.toFile(jvmgnat);
144.126 + adaExec = new AdaExecution();
144.127 + adaExec.setCommand(tool.getPath());
144.128 + adaExec.setDisplayName("Ada Platform Properties");
144.129 + adaExec.setShowControls(false);
144.130 + adaExec.setShowInput(false);
144.131 + adaExec.setShowWindow(false);
144.132 + adaExec.setShowProgress(false);
144.133 + adaExec.setShowSuspended(false);
144.134 + adaExec.attachOutputProcessor();
144.135 + adaExec.setWorkingDirectory(tool.getPath().substring(0, tool.getPath().lastIndexOf(tool.getName())));
144.136 + Future<Integer> result = adaExec.run();
144.137 + Integer value = result.get();
144.138 + if (value.intValue() == 0) {
144.139 + is = new ReaderInputStream(adaExec.getOutput());
144.140 + reader = new BufferedReader(new InputStreamReader(is));
144.141 + line = null;
144.142 + try {
144.143 + while ((line = reader.readLine()) != null) {
144.144 + if (line.contains(GNAT_PLATFORM_NAME)) {
144.145 + platform.setJvmGnatCompilerCommand(JVM_GNAT_EXECUTABLE_NAME);
144.146 + platform.setName(platform.getName() + "+JVM");
144.147 + break;
144.148 + }
144.149 + }
144.150 + } catch (IOException e) {
144.151 + } finally {
144.152 + try {
144.153 + is.close();
144.154 + } catch (IOException e) {
144.155 + }
144.156 + }
144.157 + } else {
144.158 + throw new AdaException("Could not discover Ada properties");
144.159 + }
144.160 + } catch (AdaException ex) {
144.161 + Exceptions.printStackTrace(ex);
144.162 + throw ex;
144.163 + } catch (Exception ex) {
144.164 + Exceptions.printStackTrace(ex);
144.165 + }
144.166 + }
144.167 +
144.168 + if (platform != null) {
144.169 + if (platforms.isEmpty()) {
144.170 + setDefaultPlatform(platform.getName());
144.171 + }
144.172 + platforms.put(platform.getName(), platform);
144.173 + }
144.174 +
144.175 return platform;
144.176 }
144.177
144.178 @@ -317,7 +375,7 @@
144.179 }
144.180
144.181 for (String path : detector.getMatches()) {
144.182 - LOGGER.fine("Auto Detect: " + path + " found");
144.183 + LOGGER.log(Level.FINE, "Auto Detect: {0} found", path);
144.184 FileObject fo = FileUtil.toFileObject(new File(path));
144.185 try {
144.186 findPlatformProperties(fo);
145.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/GnatCompiler.java Tue Oct 02 21:55:21 2012 -0400
145.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/GnatCompiler.java Mon Oct 15 23:38:26 2012 +0200
145.3 @@ -62,6 +62,7 @@
145.4 private final String projectPath;
145.5 private final ArrayList<String> sourceFolders;
145.6 private final String mainFile;
145.7 + private final String adaDialects;
145.8 private final String executableFile;
145.9 private final String commandName;
145.10 private final String spcPostfix;
145.11 @@ -75,7 +76,7 @@
145.12 *
145.13 * @param project
145.14 */
145.15 - public GnatCompiler(AdaPlatform platform, String projectName, String projectPath, ArrayList<String> sourceFolders, String mainFile, String executableFile, String commandName,
145.16 + public GnatCompiler(AdaPlatform platform, String projectName, String projectPath, ArrayList<String> sourceFolders, String mainFile, String adaDialects, String executableFile, String commandName,
145.17 String spcPostfix, String bdyPostfix, String sepPostfix, String spcExt, String bdyExt, String sepExt) {
145.18
145.19 assert platform != null;
145.20 @@ -85,6 +86,7 @@
145.21 this.projectPath = projectPath;
145.22 this.sourceFolders = sourceFolders;
145.23 this.mainFile = mainFile;
145.24 + this.adaDialects = adaDialects;
145.25 this.executableFile = executableFile;
145.26 this.commandName = commandName;
145.27
145.28 @@ -126,6 +128,7 @@
145.29 return gnatCommands.get(commandName);
145.30 }
145.31
145.32 + @Override
145.33 public void Build() {
145.34 try {
145.35 invokeCommand(GnatCommand.GNAT_MAKE, this.getProjectName() + "(" + this.getCommandName() + ")", null);
145.36 @@ -136,6 +139,7 @@
145.37 }
145.38 }
145.39
145.40 + @Override
145.41 public void Run(String args) {
145.42 try {
145.43 invokeCommand(GnatCommand.RUN, this.getProjectName() + "(" + this.getCommandName() + ")", args);
145.44 @@ -146,6 +150,7 @@
145.45 }
145.46 }
145.47
145.48 + @Override
145.49 public void Compile() {
145.50 try {
145.51 invokeCommand(GnatCommand.GNAT_COMPILE, this.getProjectName() + "(" + this.getCommandName() + ")", null);
145.52 @@ -156,6 +161,7 @@
145.53 }
145.54 }
145.55
145.56 + @Override
145.57 public void Clean() {
145.58 try {
145.59 invokeCommand(GnatCommand.GNAT_CLEAN, this.getProjectName() + "(" + this.getCommandName() + ")", null);
145.60 @@ -166,30 +172,42 @@
145.61 }
145.62 }
145.63
145.64 + @Override
145.65 public AdaPlatform getPlatform() {
145.66 return platform;
145.67 }
145.68
145.69 + @Override
145.70 public String getExecutableFile() {
145.71 return executableFile;
145.72 }
145.73
145.74 + @Override
145.75 public String getCommandName() {
145.76 return commandName;
145.77 }
145.78
145.79 + @Override
145.80 public String getMainFile() {
145.81 return mainFile;
145.82 }
145.83
145.84 + @Override
145.85 + public String getAdaDialects() {
145.86 + return adaDialects;
145.87 + }
145.88 +
145.89 + @Override
145.90 public String getProjectPath() {
145.91 return projectPath;
145.92 }
145.93
145.94 + @Override
145.95 public String getProjectName() {
145.96 return projectName;
145.97 }
145.98
145.99 + @Override
145.100 public ArrayList<String> getSourceFolders() {
145.101 return sourceFolders;
145.102 }
146.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/GnatProject.java Tue Oct 02 21:55:21 2012 -0400
146.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/GnatProject.java Mon Oct 15 23:38:26 2012 +0200
146.3 @@ -50,6 +50,7 @@
146.4 import java.io.OutputStreamWriter;
146.5 import java.net.URL;
146.6 import java.util.ArrayList;
146.7 +import java.util.StringTokenizer;
146.8 import org.netbeans.modules.ada.platform.compiler.gnat.commands.GnatCommand;
146.9 import org.openide.filesystems.FileUtil;
146.10
146.11 @@ -80,6 +81,34 @@
146.12 }
146.13 }
146.14
146.15 + public String removeSpaces(String s) {
146.16 + StringTokenizer st = new StringTokenizer(s, " ", false);
146.17 + String t = "";
146.18 + while (st.hasMoreElements()) {
146.19 + t += st.nextElement();
146.20 + }
146.21 + return t;
146.22 + }
146.23 +
146.24 + private String convToGnat(String adaDialects) {
146.25 + String result = "95";
146.26 +
146.27 + if (adaDialects.equalsIgnoreCase("ADA_83")) {
146.28 + result = "83";
146.29 + }
146.30 + else if(adaDialects.equalsIgnoreCase("ADA_95")) {
146.31 + result = "95";
146.32 + }
146.33 + else if(adaDialects.equalsIgnoreCase("ADA_2005")) {
146.34 + result = "05";
146.35 + }
146.36 + else if(adaDialects.equalsIgnoreCase("ADA_2012")) {
146.37 + result = "12";
146.38 + }
146.39 +
146.40 + return result;
146.41 + }
146.42 +
146.43 private void writeGprfileImpl() {
146.44 String resource = "/org/netbeans/modules/ada/platform/resources/GprFileTemplate.gpr"; // NOI18N
146.45 InputStream is = null;
146.46 @@ -91,11 +120,16 @@
146.47 is = GnatCommand.class.getResourceAsStream(resource);
146.48 }
146.49
146.50 - gprFilePath = gnat.getProjectPath() + '/' + "nbproject" + '/' + gnat.getProjectName() + ".gpr"; // UNIX path // NOI18N
146.51 + String projectName = removeSpaces(gnat.getProjectName());
146.52 + String mainFile = gnat.getMainFile();
146.53 + String adaDialects = convToGnat(gnat.getAdaDialects());
146.54 + String execFile = gnat.getExecutableFile();
146.55 + ArrayList<String> sources = gnat.getSourceFolders();
146.56 +
146.57 + gprFilePath = gnat.getProjectPath() + '/' + "nbproject" + '/' + projectName + ".gpr"; // UNIX path // NOI18N
146.58 try {
146.59 os = new FileOutputStream(gprFilePath);
146.60 } catch (IOException ioe) {
146.61 - ioe.printStackTrace();
146.62 }
146.63
146.64 if (is == null || os == null) {
146.65 @@ -106,15 +140,6 @@
146.66 BufferedReader br = new BufferedReader(new InputStreamReader(is));
146.67 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
146.68
146.69 - String projectName = gnat.getProjectName();
146.70 - String mainFile = gnat.getMainFile();
146.71 - String execFile = gnat.getExecutableFile();
146.72 - ArrayList<String> sources = gnat.getSourceFolders();
146.73 -
146.74 - //if (src.equalsIgnoreCase("src")) {
146.75 - // src = "../src/**";
146.76 - //}
146.77 -
146.78 try {
146.79 while (true) {
146.80 String line = br.readLine();
146.81 @@ -128,13 +153,18 @@
146.82 String srcDirs = new String();
146.83 for (int index = 0; index < sources.size(); index++) {
146.84 srcDirs = srcDirs + "\"" + FileUtil.toFileObject(new File(sources.get(index))).getPath() + "/**\"";
146.85 - if (index < sources.size()-1) srcDirs = srcDirs + ",";
146.86 + if (index < sources.size() - 1) {
146.87 + srcDirs = srcDirs + ",";
146.88 + }
146.89 }
146.90 line = line.replaceFirst("\"<SRC>\"", srcDirs); // NOI18N
146.91 }
146.92 if (line.indexOf("<MAINFILE>") >= 0) { // NOI18N
146.93 line = line.replaceFirst("<MAINFILE>", mainFile); // NOI18N
146.94 }
146.95 + if (line.indexOf("<DIALECTS>") >= 0) { // NOI18N
146.96 + line = line.replaceFirst("<DIALECTS>", adaDialects); // NOI18N
146.97 + }
146.98 if (line.indexOf("<EXECFILE>") >= 0) { // NOI18N
146.99 line = line.replaceFirst("<EXECFILE>", execFile); // NOI18N
146.100 }
147.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/commands/GnatClean.java Tue Oct 02 21:55:21 2012 -0400
147.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/commands/GnatClean.java Mon Oct 15 23:38:26 2012 +0200
147.3 @@ -72,7 +72,7 @@
147.4 try {
147.5 AdaExecution adaExec = new AdaExecution();
147.6 adaExec.setCommand(this.getGnatCompiler().getPlatform().getCompilerPath() + "/" + GNAT_CLEAN);
147.7 - adaExec.setCommandArgs(" -P" + gpr.getGprFilePath());
147.8 + adaExec.setCommandArgs(" -P\"" + gpr.getGprFilePath() + "\"");
147.9 adaExec.setWorkingDirectory(this.getGnatCompiler().getProjectPath());
147.10 adaExec.setDisplayName(displayTitle);
147.11 adaExec.setShowControls(true);
148.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/commands/GnatMake.java Tue Oct 02 21:55:21 2012 -0400
148.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/commands/GnatMake.java Mon Oct 15 23:38:26 2012 +0200
148.3 @@ -72,7 +72,7 @@
148.4 try {
148.5 AdaExecution adaExec = new AdaExecution();
148.6 adaExec.setCommand(this.getGnatCompiler().getPlatform().getCompilerPath() + "/" + GNAT_MAKE);
148.7 - adaExec.setCommandArgs(" -P" + gpr.getGprFilePath());
148.8 + adaExec.setCommandArgs(" -P\"" + gpr.getGprFilePath() +"\"");
148.9 adaExec.setWorkingDirectory(this.getGnatCompiler().getProjectPath());
148.10 adaExec.setDisplayName(displayTitle);
148.11 adaExec.setShowControls(true);
149.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
149.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/jgnat/JGnatCompiler.java Mon Oct 15 23:38:26 2012 +0200
149.3 @@ -0,0 +1,238 @@
149.4 +/*
149.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
149.6 + *
149.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
149.8 + *
149.9 + * The contents of this file are subject to the terms of either the GNU
149.10 + * General Public License Version 2 only ("GPL") or the Common
149.11 + * Development and Distribution License("CDDL") (collectively, the
149.12 + * "License"). You may not use this file except in compliance with the
149.13 + * License. You can obtain a copy of the License at
149.14 + * http://www.netbeans.org/cddl-gplv2.html
149.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
149.16 + * specific language governing permissions and limitations under the
149.17 + * License. When distributing the software, include this License Header
149.18 + * Notice in each file and include the License file at
149.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
149.20 + * particular file as subject to the "Classpath" exception as provided
149.21 + * by Sun in the GPL Version 2 section of the License file that
149.22 + * accompanied this code. If applicable, add the following below the
149.23 + * License Header, with the fields enclosed by brackets [] replaced by
149.24 + * your own identifying information:
149.25 + * "Portions Copyrighted [year] [name of copyright owner]"
149.26 + *
149.27 + * If you wish your version of this file to be governed by only the CDDL
149.28 + * or only the GPL Version 2, indicate your decision by adding
149.29 + * "[Contributor] elects to include this software in this distribution
149.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
149.31 + * single choice of license, a recipient has the option to distribute
149.32 + * your version of this file under either the CDDL, the GPL Version 2 or
149.33 + * to extend the choice of license to its licensees as provided above.
149.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
149.35 + * Version 2 license, then the option applies only if the new code is
149.36 + * made subject to such option by the copyright holder.
149.37 + *
149.38 + * Contributor(s):
149.39 + *
149.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
149.41 + */
149.42 +package org.netbeans.modules.ada.platform.compiler.jgnat;
149.43 +
149.44 +import java.util.ArrayList;
149.45 +import java.util.LinkedHashMap;
149.46 +import java.util.Map;
149.47 +import org.netbeans.api.ada.platform.AdaException;
149.48 +import org.netbeans.api.ada.platform.AdaPlatform;
149.49 +import org.netbeans.spi.ada.platform.Compiler;
149.50 +import org.netbeans.modules.ada.platform.compiler.jgnat.commands.JGnatCommand;
149.51 +import org.netbeans.modules.ada.platform.compiler.jgnat.commands.JGnatClean;
149.52 +import org.netbeans.modules.ada.platform.compiler.jgnat.commands.JGnatMake;
149.53 +import org.netbeans.modules.ada.platform.compiler.jgnat.commands.JRun;
149.54 +import org.openide.util.Exceptions;
149.55 +
149.56 +/**
149.57 + *
149.58 + * @author Andrea Lucarelli
149.59 + */
149.60 +public class JGnatCompiler implements Compiler {
149.61 +
149.62 + private final Map<String, JGnatCommand> jgnatCommands;
149.63 + private final AdaPlatform platform;
149.64 + private final String projectName;
149.65 + private final String projectPath;
149.66 + private final ArrayList<String> sourceFolders;
149.67 + private final String mainFile;
149.68 + private final String adaDialects;
149.69 + private final String outputFile;
149.70 + private final String commandName;
149.71 + private final String spcPostfix;
149.72 + private final String bdyPostfix;
149.73 + private final String sepPostfix;
149.74 + private final String spcExt;
149.75 + private final String bdyExt;
149.76 + private final String sepExt;
149.77 +
149.78 + /**
149.79 + *
149.80 + * @param project
149.81 + */
149.82 + public JGnatCompiler(AdaPlatform platform, String projectName, String projectPath, ArrayList<String> sourceFolders, String mainFile, String adaDialects, String outputFile, String commandName,
149.83 + String spcPostfix, String bdyPostfix, String sepPostfix, String spcExt, String bdyExt, String sepExt) {
149.84 +
149.85 + assert platform != null;
149.86 +
149.87 + this.platform = platform;
149.88 + this.projectName = projectName;
149.89 + this.projectPath = projectPath;
149.90 + this.sourceFolders = sourceFolders;
149.91 + this.mainFile = mainFile;
149.92 + this.adaDialects = adaDialects;
149.93 + this.outputFile = outputFile;
149.94 + this.commandName = commandName;
149.95 +
149.96 + jgnatCommands = new LinkedHashMap<String, JGnatCommand>();
149.97 + JGnatCommand[] gnatCommandArray = new JGnatCommand[]{
149.98 + new JGnatMake(this),
149.99 + new JGnatClean(this),
149.100 + new JRun(this)
149.101 + };
149.102 + for (JGnatCommand gnatCommand : gnatCommandArray) {
149.103 + jgnatCommands.put(gnatCommand.getCommandId(), gnatCommand);
149.104 + }
149.105 + this.spcExt = spcExt;
149.106 + this.bdyExt = bdyExt;
149.107 + this.sepExt = sepExt;
149.108 + this.spcPostfix = spcPostfix;
149.109 + this.bdyPostfix = bdyPostfix;
149.110 + this.sepPostfix = sepPostfix;
149.111 + }
149.112 +
149.113 + /**
149.114 + *
149.115 + * @param commandName
149.116 + * @throws IllegalArgumentException
149.117 + */
149.118 + private void invokeCommand(final String commandName, final String displayTitle, final String args) throws IllegalArgumentException, AdaException {
149.119 + final JGnatCommand jgnatCommand = findCommand(commandName);
149.120 + assert jgnatCommand != null;
149.121 + jgnatCommand.invokeCommand(displayTitle, args);
149.122 + }
149.123 +
149.124 + /**
149.125 + *
149.126 + * @param commandName
149.127 + * @return
149.128 + */
149.129 + private JGnatCommand findCommand(final String commandName) {
149.130 + assert commandName != null;
149.131 + return jgnatCommands.get(commandName);
149.132 + }
149.133 +
149.134 + @Override
149.135 + public void Build() {
149.136 + try {
149.137 + invokeCommand(JGnatCommand.JVM_GNAT_MAKE, this.getProjectName() + "(" + this.getCommandName() + ")", null);
149.138 + } catch (IllegalArgumentException ex) {
149.139 + Exceptions.printStackTrace(ex);
149.140 + } catch (AdaException ex) {
149.141 + Exceptions.printStackTrace(ex);
149.142 + }
149.143 + }
149.144 +
149.145 + @Override
149.146 + public void Run(String args) {
149.147 + try {
149.148 + invokeCommand(JGnatCommand.RUN, this.getProjectName() + "(" + this.getCommandName() + ")", args);
149.149 + } catch (IllegalArgumentException ex) {
149.150 + Exceptions.printStackTrace(ex);
149.151 + } catch (AdaException ex) {
149.152 + Exceptions.printStackTrace(ex);
149.153 + }
149.154 + }
149.155 +
149.156 + @Override
149.157 + public void Compile() {
149.158 + try {
149.159 + invokeCommand(JGnatCommand.JVM_GNAT_COMPILE, this.getProjectName() + "(" + this.getCommandName() + ")", null);
149.160 + } catch (IllegalArgumentException ex) {
149.161 + Exceptions.printStackTrace(ex);
149.162 + } catch (AdaException ex) {
149.163 + Exceptions.printStackTrace(ex);
149.164 + }
149.165 + }
149.166 +
149.167 + @Override
149.168 + public void Clean() {
149.169 + try {
149.170 + invokeCommand(JGnatCommand.JVM_GNAT_CLEAN, this.getProjectName() + "(" + this.getCommandName() + ")", null);
149.171 + } catch (IllegalArgumentException ex) {
149.172 + Exceptions.printStackTrace(ex);
149.173 + } catch (AdaException ex) {
149.174 + Exceptions.printStackTrace(ex);
149.175 + }
149.176 + }
149.177 +
149.178 + @Override
149.179 + public AdaPlatform getPlatform() {
149.180 + return platform;
149.181 + }
149.182 +
149.183 + @Override
149.184 + public String getExecutableFile() {
149.185 + return outputFile;
149.186 + }
149.187 +
149.188 + @Override
149.189 + public String getCommandName() {
149.190 + return commandName;
149.191 + }
149.192 +
149.193 + @Override
149.194 + public String getMainFile() {
149.195 + return mainFile;
149.196 + }
149.197 +
149.198 + @Override
149.199 + public String getAdaDialects() {
149.200 + return adaDialects;
149.201 + }
149.202 +
149.203 + @Override
149.204 + public String getProjectPath() {
149.205 + return projectPath;
149.206 + }
149.207 +
149.208 + @Override
149.209 + public String getProjectName() {
149.210 + return projectName;
149.211 + }
149.212 +
149.213 + @Override
149.214 + public ArrayList<String> getSourceFolders() {
149.215 + return sourceFolders;
149.216 + }
149.217 +
149.218 + public String getBdyExt() {
149.219 + return bdyExt;
149.220 + }
149.221 +
149.222 + public String getSepExt() {
149.223 + return sepExt;
149.224 + }
149.225 +
149.226 + public String getSpcExt() {
149.227 + return spcExt;
149.228 + }
149.229 +
149.230 + public String getBdyPostfix() {
149.231 + return bdyPostfix;
149.232 + }
149.233 +
149.234 + public String getSepPostfix() {
149.235 + return sepPostfix;
149.236 + }
149.237 +
149.238 + public String getSpcPostfix() {
149.239 + return spcPostfix;
149.240 + }
149.241 +}
150.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
150.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/jgnat/JGnatProject.java Mon Oct 15 23:38:26 2012 +0200
150.3 @@ -0,0 +1,180 @@
150.4 +/*
150.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
150.6 + *
150.7 + * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
150.8 + *
150.9 + * The contents of this file are subject to the terms of either the GNU
150.10 + * General Public License Version 2 only ("GPL") or the Common
150.11 + * Development and Distribution License("CDDL") (collectively, the
150.12 + * "License"). You may not use this file except in compliance with the
150.13 + * License. You can obtain a copy of the License at
150.14 + * http://www.netbeans.org/cddl-gplv2.html
150.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
150.16 + * specific language governing permissions and limitations under the
150.17 + * License. When distributing the software, include this License Header
150.18 + * Notice in each file and include the License file at
150.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
150.20 + * particular file as subject to the "Classpath" exception as provided
150.21 + * by Sun in the GPL Version 2 section of the License file that
150.22 + * accompanied this code. If applicable, add the following below the
150.23 + * License Header, with the fields enclosed by brackets [] replaced by
150.24 + * your own identifying information:
150.25 + * "Portions Copyrighted [year] [name of copyright owner]"
150.26 + *
150.27 + * Contributor(s):
150.28 + *
150.29 + * The Original Software is NetBeans. The Initial Developer of the Original
150.30 + * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
150.31 + * Microsystems, Inc. All Rights Reserved.
150.32 + *
150.33 + * If you wish your version of this file to be governed by only the CDDL
150.34 + * or only the GPL Version 2, indicate your decision by adding
150.35 + * "[Contributor] elects to include this software in this distribution
150.36 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
150.37 + * single choice of license, a recipient has the option to distribute
150.38 + * your version of this file under either the CDDL, the GPL Version 2 or
150.39 + * to extend the choice of license to its licensees as provided above.
150.40 + * However, if you add GPL Version 2 code and therefore, elected the GPL
150.41 + * Version 2 license, then the option applies only if the new code is
150.42 + * made subject to such option by the copyright holder.
150.43 + */
150.44 +package org.netbeans.modules.ada.platform.compiler.jgnat;
150.45 +
150.46 +import java.io.BufferedReader;
150.47 +import java.io.BufferedWriter;
150.48 +import java.io.File;
150.49 +import java.io.FileOutputStream;
150.50 +import java.io.IOException;
150.51 +import java.io.InputStream;
150.52 +import java.io.InputStreamReader;
150.53 +import java.io.OutputStreamWriter;
150.54 +import java.net.URL;
150.55 +import java.util.ArrayList;
150.56 +import java.util.StringTokenizer;
150.57 +import org.netbeans.modules.ada.platform.compiler.jgnat.commands.JGnatCommand;
150.58 +import org.openide.filesystems.FileUtil;
150.59 +
150.60 +public class JGnatProject {
150.61 +
150.62 + private final JGnatCompiler jgnat;
150.63 + private String gprFilePath;
150.64 +
150.65 + public JGnatProject(final JGnatCompiler jgnat) {
150.66 + this.jgnat = jgnat;
150.67 + }
150.68 +
150.69 + public void write() {
150.70 + cleanup();
150.71 + writeGprfileImpl();
150.72 + }
150.73 +
150.74 + private void cleanup() {
150.75 + // Remove all *.gpr files
150.76 + File folder = new File(jgnat.getProjectPath() + '/' + "nbproject"); // UNIX path // NOI18N
150.77 + File[] children = folder.listFiles();
150.78 + if (children != null) {
150.79 + for (int i = 0; i < children.length; i++) {
150.80 + if (children[i].getName().endsWith("gpr")) { // NOI18N
150.81 + children[i].delete();
150.82 + }
150.83 + }
150.84 + }
150.85 + }
150.86 +
150.87 + public String removeSpaces(String s) {
150.88 + StringTokenizer st = new StringTokenizer(s, " ", false);
150.89 + String t = "";
150.90 + while (st.hasMoreElements()) {
150.91 + t += st.nextElement();
150.92 + }
150.93 + return t;
150.94 + }
150.95 +
150.96 + private void writeGprfileImpl() {
150.97 + String resource = "/org/netbeans/modules/ada/platform/resources/GprFileTemplate.gpr"; // NOI18N
150.98 + InputStream is = null;
150.99 + FileOutputStream os = null;
150.100 + try {
150.101 + URL url = new URL("nbresloc:" + resource); // NOI18N
150.102 + is = url.openStream();
150.103 + } catch (Exception e) {
150.104 + is = JGnatCommand.class.getResourceAsStream(resource);
150.105 + }
150.106 +
150.107 + String projectName = removeSpaces(jgnat.getProjectName());
150.108 + String mainFile = jgnat.getMainFile();
150.109 + String adaDialects = jgnat.getAdaDialects();
150.110 + String execFile = jgnat.getExecutableFile();
150.111 + ArrayList<String> sources = jgnat.getSourceFolders();
150.112 +
150.113 + gprFilePath = jgnat.getProjectPath() + '/' + "nbproject" + '/' + projectName + ".gpr"; // UNIX path // NOI18N
150.114 + try {
150.115 + os = new FileOutputStream(gprFilePath);
150.116 + } catch (IOException ioe) {
150.117 + }
150.118 +
150.119 + if (is == null || os == null) {
150.120 + // FIXUP: ERROR
150.121 + return;
150.122 + }
150.123 +
150.124 + BufferedReader br = new BufferedReader(new InputStreamReader(is));
150.125 + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
150.126 +
150.127 + try {
150.128 + while (true) {
150.129 + String line = br.readLine();
150.130 + if (line == null) {
150.131 + break;
150.132 + }
150.133 + if (line.indexOf("<PN>") >= 0) { // NOI18N
150.134 + line = line.replaceFirst("<PN>", projectName); // NOI18N
150.135 + }
150.136 + if (line.indexOf("<SRC>") >= 0) { // NOI18N
150.137 + String srcDirs = new String();
150.138 + for (int index = 0; index < sources.size(); index++) {
150.139 + srcDirs = srcDirs + "\"" + FileUtil.toFileObject(new File(sources.get(index))).getPath() + "/**\"";
150.140 + if (index < sources.size() - 1) {
150.141 + srcDirs = srcDirs + ",";
150.142 + }
150.143 + }
150.144 + line = line.replaceFirst("\"<SRC>\"", srcDirs); // NOI18N
150.145 + }
150.146 + if (line.indexOf("<MAINFILE>") >= 0) { // NOI18N
150.147 + line = line.replaceFirst("<MAINFILE>", mainFile); // NOI18N
150.148 + }
150.149 + if (line.indexOf("<DIALECTS>") >= 0) { // NOI18N
150.150 + line = line.replaceFirst("<DIALECTS>", adaDialects); // NOI18N
150.151 + }
150.152 + if (line.indexOf("<EXECFILE>") >= 0) { // NOI18N
150.153 + line = line.replaceFirst("<EXECFILE>", execFile); // NOI18N
150.154 + }
150.155 + if (line.indexOf("<SPC-EXT>") >= 0) { // NOI18N
150.156 + line = line.replaceFirst("<SPC-EXT>", jgnat.getSpcExt()); // NOI18N
150.157 + }
150.158 + if (line.indexOf("<BDY-EXT>") >= 0) { // NOI18N
150.159 + line = line.replaceFirst("<BDY-EXT>", jgnat.getBdyExt()); // NOI18N
150.160 + }
150.161 + if (line.indexOf("<EXT-SEP>") >= 0) { // NOI18N
150.162 + line = line.replaceFirst("<EXT-SEP>", jgnat.getSepExt()); // NOI18N
150.163 + }
150.164 + if (line.indexOf("<SPC-POSTFIX>") >= 0) { // NOI18N
150.165 + line = line.replaceFirst("<SPC-POSTFIX>", jgnat.getSpcPostfix()); // NOI18N
150.166 + }
150.167 + if (line.indexOf("<BDY-POSTFIX>") >= 0) { // NOI18N
150.168 + line = line.replaceFirst("<BDY-POSTFIX>", jgnat.getBdyPostfix()); // NOI18N
150.169 + }
150.170 + bw.write(line + "\n"); // NOI18N
150.171 + }
150.172 + br.close();
150.173 + bw.flush();
150.174 + bw.close();
150.175 + } catch (Exception e) {
150.176 + }
150.177 +
150.178 + }
150.179 +
150.180 + public String getGprFilePath() {
150.181 + return this.gprFilePath;
150.182 + }
150.183 +}
151.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
151.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/jgnat/commands/JGnatClean.java Mon Oct 15 23:38:26 2012 +0200
151.3 @@ -0,0 +1,95 @@
151.4 +/*
151.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
151.6 + *
151.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
151.8 + *
151.9 + * The contents of this file are subject to the terms of either the GNU
151.10 + * General Public License Version 2 only ("GPL") or the Common
151.11 + * Development and Distribution License("CDDL") (collectively, the
151.12 + * "License"). You may not use this file except in compliance with the
151.13 + * License. You can obtain a copy of the License at
151.14 + * http://www.netbeans.org/cddl-gplv2.html
151.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
151.16 + * specific language governing permissions and limitations under the
151.17 + * License. When distributing the software, include this License Header
151.18 + * Notice in each file and include the License file at
151.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
151.20 + * particular file as subject to the "Classpath" exception as provided
151.21 + * by Sun in the GPL Version 2 section of the License file that
151.22 + * accompanied this code. If applicable, add the following below the
151.23 + * License Header, with the fields enclosed by brackets [] replaced by
151.24 + * your own identifying information:
151.25 + * "Portions Copyrighted [year] [name of copyright owner]"
151.26 + *
151.27 + * If you wish your version of this file to be governed by only the CDDL
151.28 + * or only the GPL Version 2, indicate your decision by adding
151.29 + * "[Contributor] elects to include this software in this distribution
151.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
151.31 + * single choice of license, a recipient has the option to distribute
151.32 + * your version of this file under either the CDDL, the GPL Version 2 or
151.33 + * to extend the choice of license to its licensees as provided above.
151.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
151.35 + * Version 2 license, then the option applies only if the new code is
151.36 + * made subject to such option by the copyright holder.
151.37 + *
151.38 + * Contributor(s):
151.39 + *
151.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
151.41 + */
151.42 +package org.netbeans.modules.ada.platform.compiler.jgnat.commands;
151.43 +
151.44 +import java.util.concurrent.Future;
151.45 +import org.netbeans.api.ada.platform.AdaException;
151.46 +import org.netbeans.api.ada.platform.AdaExecution;
151.47 +import org.netbeans.modules.ada.platform.compiler.jgnat.JGnatCompiler;
151.48 +import org.netbeans.modules.ada.platform.compiler.jgnat.JGnatProject;
151.49 +import org.openide.util.Exceptions;
151.50 +
151.51 +/**
151.52 + *
151.53 + * @author Andrea Lucarelli
151.54 + */
151.55 +public class JGnatClean extends JGnatCommand {
151.56 +
151.57 + private static final String COMMAND = JVM_GNAT_CLEAN;
151.58 +
151.59 + public JGnatClean(JGnatCompiler jgnatCompiler) {
151.60 + super(jgnatCompiler);
151.61 + }
151.62 +
151.63 + @Override
151.64 + public String getCommandId() {
151.65 + return COMMAND;
151.66 + }
151.67 +
151.68 + @Override
151.69 + public void invokeCommand(String displayTitle, String args) throws IllegalArgumentException, AdaException {
151.70 +
151.71 + // Make the GPR file
151.72 + JGnatProject gpr = new JGnatProject(this.getJGnatCompiler());
151.73 + gpr.write();
151.74 +
151.75 + try {
151.76 + AdaExecution adaExec = new AdaExecution();
151.77 + adaExec.setCommand(this.getJGnatCompiler().getPlatform().getCompilerPath() + "/" + COMMAND);
151.78 + adaExec.setCommandArgs(" -P\"" + gpr.getGprFilePath() + "\"");
151.79 + adaExec.setWorkingDirectory(this.getJGnatCompiler().getProjectPath());
151.80 + adaExec.setDisplayName(displayTitle);
151.81 + adaExec.setShowControls(true);
151.82 + adaExec.setShowInput(false);
151.83 + adaExec.setShowWindow(true);
151.84 + adaExec.setShowProgress(true);
151.85 + adaExec.setShowSuspended(true);
151.86 + //adaExec.attachOutputProcessor();
151.87 + adaExec.setRedirectError(true);
151.88 + Future<Integer> result = adaExec.run();
151.89 + Integer value = result.get();
151.90 + if (value.intValue() == 0) {
151.91 + } else {
151.92 + }
151.93 + } catch (Exception ex) {
151.94 + Exceptions.printStackTrace(ex);
151.95 + }
151.96 +
151.97 + }
151.98 +}
152.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
152.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/jgnat/commands/JGnatCommand.java Mon Oct 15 23:38:26 2012 +0200
152.3 @@ -0,0 +1,82 @@
152.4 +/*
152.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
152.6 + *
152.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
152.8 + *
152.9 + * The contents of this file are subject to the terms of either the GNU
152.10 + * General Public License Version 2 only ("GPL") or the Common
152.11 + * Development and Distribution License("CDDL") (collectively, the
152.12 + * "License"). You may not use this file except in compliance with the
152.13 + * License. You can obtain a copy of the License at
152.14 + * http://www.netbeans.org/cddl-gplv2.html
152.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
152.16 + * specific language governing permissions and limitations under the
152.17 + * License. When distributing the software, include this License Header
152.18 + * Notice in each file and include the License file at
152.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
152.20 + * particular file as subject to the "Classpath" exception as provided
152.21 + * by Sun in the GPL Version 2 section of the License file that
152.22 + * accompanied this code. If applicable, add the following below the
152.23 + * License Header, with the fields enclosed by brackets [] replaced by
152.24 + * your own identifying information:
152.25 + * "Portions Copyrighted [year] [name of copyright owner]"
152.26 + *
152.27 + * If you wish your version of this file to be governed by only the CDDL
152.28 + * or only the GPL Version 2, indicate your decision by adding
152.29 + * "[Contributor] elects to include this software in this distribution
152.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
152.31 + * single choice of license, a recipient has the option to distribute
152.32 + * your version of this file under either the CDDL, the GPL Version 2 or
152.33 + * to extend the choice of license to its licensees as provided above.
152.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
152.35 + * Version 2 license, then the option applies only if the new code is
152.36 + * made subject to such option by the copyright holder.
152.37 + *
152.38 + * Contributor(s):
152.39 + *
152.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
152.41 + */
152.42 +package org.netbeans.modules.ada.platform.compiler.jgnat.commands;
152.43 +
152.44 +import org.netbeans.api.ada.platform.AdaException;
152.45 +import org.netbeans.modules.ada.platform.compiler.jgnat.JGnatCompiler;
152.46 +
152.47 +/**
152.48 + *
152.49 + * @author Andrea Lucarelli
152.50 + */
152.51 +public abstract class JGnatCommand {
152.52 +
152.53 + public static final String RUN = "run"; // NOI18N
152.54 +
152.55 + // List of GNAT available commands
152.56 + public static final String JVM_GNAT_BIND = "jvm-gnatbind"; // NOI18N
152.57 + public static final String JVM_GNAT_CHOP = "jvm-gnatchop"; // NOI18N
152.58 + public static final String JVM_GNAT_CLEAN = "jvm-gnatclean"; // NOI18N
152.59 + public static final String JVM_GNAT_COMPILE = "jvm-gnatmake -f -u -c"; // NOI18N
152.60 + public static final String JVM_GNAT_ELIM = "jvm-gnatelim"; // NOI18N
152.61 + public static final String JVM_GNAT_FIND = "jvm-gnatfind"; // NOI18N
152.62 + public static final String JVM_GNAT_KRUNCH = "jvm-gnatkr"; // NOI18N
152.63 + public static final String JVM_GNAT_LINK = "jvm-gnatlink"; // NOI18N
152.64 + public static final String JVM_GNAT_LIST = "jvm-gnatls"; // NOI18N
152.65 + public static final String JVM_GNAT_MAKE = "jvm-gnatmake"; // NOI18N
152.66 + public static final String JVM_GNAT_NAME = "jvm-gnatname"; // NOI18N
152.67 + public static final String JVM_GNAT_PREPROCESS = "jvm-gnatprep"; // NOI18N
152.68 + public static final String JVM_GNAT_PRETTY = "jvm-gnatpp"; // NOI18N
152.69 + public static final String JVM_GNAT_STUB = "jvm-gnatstub"; // NOI18N
152.70 + public static final String JVM_GNAT_XREF = "jvm-gnatxref"; // NOI18N
152.71 +
152.72 + private final JGnatCompiler jgnatCompiler;
152.73 +
152.74 + public JGnatCommand(JGnatCompiler jgnatCompiler) {
152.75 + this.jgnatCompiler = jgnatCompiler;
152.76 + }
152.77 +
152.78 + public abstract String getCommandId();
152.79 +
152.80 + public abstract void invokeCommand(String displayTitle, String args) throws IllegalArgumentException, AdaException;
152.81 +
152.82 + public JGnatCompiler getJGnatCompiler() {
152.83 + return jgnatCompiler;
152.84 + }
152.85 +}
153.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
153.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/jgnat/commands/JGnatMake.java Mon Oct 15 23:38:26 2012 +0200
153.3 @@ -0,0 +1,95 @@
153.4 +/*
153.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
153.6 + *
153.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
153.8 + *
153.9 + * The contents of this file are subject to the terms of either the GNU
153.10 + * General Public License Version 2 only ("GPL") or the Common
153.11 + * Development and Distribution License("CDDL") (collectively, the
153.12 + * "License"). You may not use this file except in compliance with the
153.13 + * License. You can obtain a copy of the License at
153.14 + * http://www.netbeans.org/cddl-gplv2.html
153.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
153.16 + * specific language governing permissions and limitations under the
153.17 + * License. When distributing the software, include this License Header
153.18 + * Notice in each file and include the License file at
153.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
153.20 + * particular file as subject to the "Classpath" exception as provided
153.21 + * by Sun in the GPL Version 2 section of the License file that
153.22 + * accompanied this code. If applicable, add the following below the
153.23 + * License Header, with the fields enclosed by brackets [] replaced by
153.24 + * your own identifying information:
153.25 + * "Portions Copyrighted [year] [name of copyright owner]"
153.26 + *
153.27 + * If you wish your version of this file to be governed by only the CDDL
153.28 + * or only the GPL Version 2, indicate your decision by adding
153.29 + * "[Contributor] elects to include this software in this distribution
153.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
153.31 + * single choice of license, a recipient has the option to distribute
153.32 + * your version of this file under either the CDDL, the GPL Version 2 or
153.33 + * to extend the choice of license to its licensees as provided above.
153.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
153.35 + * Version 2 license, then the option applies only if the new code is
153.36 + * made subject to such option by the copyright holder.
153.37 + *
153.38 + * Contributor(s):
153.39 + *
153.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
153.41 + */
153.42 +package org.netbeans.modules.ada.platform.compiler.jgnat.commands;
153.43 +
153.44 +import java.util.concurrent.Future;
153.45 +import org.netbeans.api.ada.platform.AdaException;
153.46 +import org.netbeans.api.ada.platform.AdaExecution;
153.47 +import org.netbeans.modules.ada.platform.compiler.jgnat.JGnatCompiler;
153.48 +import org.netbeans.modules.ada.platform.compiler.jgnat.JGnatProject;
153.49 +import org.openide.util.Exceptions;
153.50 +
153.51 +/**
153.52 + *
153.53 + * @author Andrea Lucarelli
153.54 + */
153.55 +public class JGnatMake extends JGnatCommand {
153.56 +
153.57 + private static final String COMMAND = JVM_GNAT_MAKE;
153.58 +
153.59 + public JGnatMake(JGnatCompiler jgnatCompiler) {
153.60 + super(jgnatCompiler);
153.61 + }
153.62 +
153.63 + @Override
153.64 + public String getCommandId() {
153.65 + return COMMAND;
153.66 + }
153.67 +
153.68 + @Override
153.69 + public void invokeCommand(String displayTitle, String args) throws IllegalArgumentException, AdaException {
153.70 +
153.71 + // Make the GPR file
153.72 + JGnatProject gpr = new JGnatProject(this.getJGnatCompiler());
153.73 + gpr.write();
153.74 +
153.75 + try {
153.76 + AdaExecution adaExec = new AdaExecution();
153.77 + adaExec.setCommand(this.getJGnatCompiler().getPlatform().getCompilerPath() + "/" + COMMAND);
153.78 + adaExec.setCommandArgs(" -P\"" + gpr.getGprFilePath() +"\"");
153.79 + adaExec.setWorkingDirectory(this.getJGnatCompiler().getProjectPath());
153.80 + adaExec.setDisplayName(displayTitle);
153.81 + adaExec.setShowControls(true);
153.82 + adaExec.setShowInput(false);
153.83 + adaExec.setShowWindow(true);
153.84 + adaExec.setShowProgress(true);
153.85 + adaExec.setShowSuspended(true);
153.86 + //adaExec.attachOutputProcessor();
153.87 + adaExec.setRedirectError(true);
153.88 + Future<Integer> result = adaExec.run();
153.89 + Integer value = result.get();
153.90 + if (value.intValue() == 0) {
153.91 + } else {
153.92 + }
153.93 + } catch (Exception ex) {
153.94 + Exceptions.printStackTrace(ex);
153.95 + }
153.96 +
153.97 + }
153.98 +}
154.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
154.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/jgnat/commands/JRun.java Mon Oct 15 23:38:26 2012 +0200
154.3 @@ -0,0 +1,95 @@
154.4 +/*
154.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
154.6 + *
154.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
154.8 + *
154.9 + * The contents of this file are subject to the terms of either the GNU
154.10 + * General Public License Version 2 only ("GPL") or the Common
154.11 + * Development and Distribution License("CDDL") (collectively, the
154.12 + * "License"). You may not use this file except in compliance with the
154.13 + * License. You can obtain a copy of the License at
154.14 + * http://www.netbeans.org/cddl-gplv2.html
154.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
154.16 + * specific language governing permissions and limitations under the
154.17 + * License. When distributing the software, include this License Header
154.18 + * Notice in each file and include the License file at
154.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
154.20 + * particular file as subject to the "Classpath" exception as provided
154.21 + * by Sun in the GPL Version 2 section of the License file that
154.22 + * accompanied this code. If applicable, add the following below the
154.23 + * License Header, with the fields enclosed by brackets [] replaced by
154.24 + * your own identifying information:
154.25 + * "Portions Copyrighted [year] [name of copyright owner]"
154.26 + *
154.27 + * If you wish your version of this file to be governed by only the CDDL
154.28 + * or only the GPL Version 2, indicate your decision by adding
154.29 + * "[Contributor] elects to include this software in this distribution
154.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
154.31 + * single choice of license, a recipient has the option to distribute
154.32 + * your version of this file under either the CDDL, the GPL Version 2 or
154.33 + * to extend the choice of license to its licensees as provided above.
154.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
154.35 + * Version 2 license, then the option applies only if the new code is
154.36 + * made subject to such option by the copyright holder.
154.37 + *
154.38 + * Contributor(s):
154.39 + *
154.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
154.41 + */
154.42 +package org.netbeans.modules.ada.platform.compiler.jgnat.commands;
154.43 +
154.44 +import java.util.concurrent.Future;
154.45 +import org.netbeans.api.ada.platform.AdaException;
154.46 +import org.netbeans.api.ada.platform.AdaExecution;
154.47 +import org.netbeans.modules.ada.platform.compiler.jgnat.JGnatProject;
154.48 +import org.netbeans.modules.ada.platform.compiler.jgnat.JGnatCompiler;
154.49 +import org.openide.util.Exceptions;
154.50 +
154.51 +/**
154.52 + *
154.53 + * @author Andrea Lucarelli
154.54 + */
154.55 +public class JRun extends JGnatCommand {
154.56 +
154.57 + private static final String COMMAND_ID = RUN;
154.58 +
154.59 + public JRun(JGnatCompiler jgnatCompiler) {
154.60 + super(jgnatCompiler);
154.61 + }
154.62 +
154.63 + @Override
154.64 + public String getCommandId() {
154.65 + return COMMAND_ID;
154.66 + }
154.67 +
154.68 + @Override
154.69 + public void invokeCommand(String displayTitle, String args) throws IllegalArgumentException, AdaException {
154.70 +
154.71 + // Make the GPR file
154.72 + JGnatProject gpr = new JGnatProject(this.getJGnatCompiler());
154.73 + gpr.write();
154.74 +
154.75 + try {
154.76 + AdaExecution adaExec = new AdaExecution();
154.77 + adaExec.setCommand(this.getJGnatCompiler().getProjectPath() + "/dist/" + this.getJGnatCompiler().getExecutableFile());
154.78 + adaExec.setCommandArgs(args);
154.79 + adaExec.setWorkingDirectory(this.getJGnatCompiler().getProjectPath());
154.80 + adaExec.setDisplayName(displayTitle);
154.81 + adaExec.setShowControls(true);
154.82 + adaExec.setShowInput(false);
154.83 + adaExec.setShowWindow(true);
154.84 + adaExec.setShowProgress(true);
154.85 + adaExec.setShowSuspended(true);
154.86 + //adaExec.attachOutputProcessor();
154.87 + adaExec.setRedirectError(true);
154.88 + Future<Integer> result = adaExec.run();
154.89 + Integer value = result.get();
154.90 + if (value.intValue() == 0) {
154.91 + } else {
154.92 + }
154.93 + } catch (Exception ex) {
154.94 + Exceptions.printStackTrace(ex);
154.95 + }
154.96 +
154.97 + }
154.98 +}
155.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/resources/GprFileTemplate.gpr Tue Oct 02 21:55:21 2012 -0400
155.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/resources/GprFileTemplate.gpr Mon Oct 15 23:38:26 2012 +0200
155.3 @@ -22,7 +22,7 @@
155.4 end Naming;
155.5
155.6 package Compiler is
155.7 - for Default_Switches ("ada") use ("-gnat95");
155.8 + for Default_Switches ("ada") use ("-gnat<DIALECTS>");
155.9 end Compiler;
155.10
155.11 for Languages use ("Ada", "C", "C++");
156.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/ui/Bundle.properties Tue Oct 02 21:55:21 2012 -0400
156.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/ui/Bundle.properties Mon Oct 15 23:38:26 2012 +0200
156.3 @@ -72,16 +72,17 @@
156.4 PlatformsCustomizer.removeButton.text=Remove
156.5 PlatformsCustomizer.autoDetectButton.text=Auto Detect
156.6 PlatformsCustomizer.platfromNameLabel.text=Platform Name
156.7 -PlatformsCustomizer.jLabel6.text=jLabel6
156.8 PlatformsCustomizer.makeDefaultButton.text=Make Default
156.9 PlatformsCustomizer.moveDownPath.text=Move Down
156.10 PlatformsCustomizer.moveUpPath.text=Move Up
156.11 PlatformsCustomizer.addPath.text=Add...
156.12 PlatformsCustomizer.removePath.text=Remove
156.13 -PlatformsCustomizer.compilerCommandLabel.text=Compiler Command
156.14 +PlatformsCustomizer.compilerCommandLabel.text=GNAT Compiler Command
156.15 PlatformsCustomizer.platformName.text_1=
156.16 PlatformsCustomizer.otherInfoLabel.text=Platform info
156.17 PlatformsCustomizer.compilerCommand.text=
156.18 PlatformsCustomizer.adaPathPanel.TabConstraints.tabTitle_1=Ada Path
156.19 PlatformsCustomizer.platformInfoTextField.text=
156.20 PlatformsCustomizer.autoDetectLabel.text=Detecting Ada Platforms
156.21 +PlatformsCustomizer.jvmCompilerCommandLabel.text=JVM Compiler Command
156.22 +PlatformsCustomizer.jvmCompilerCommand.text=
157.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/ui/PlatformsCustomizer.form Tue Oct 02 21:55:21 2012 -0400
157.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/ui/PlatformsCustomizer.form Mon Oct 15 23:38:26 2012 +0200
157.3 @@ -1,22 +1,13 @@
157.4 -<?xml version="1.0" encoding="UTF-8" ?>
157.5 +<?xml version="1.1" encoding="UTF-8" ?>
157.6
157.7 <Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
157.8 - <NonVisualComponents>
157.9 - <Component class="javax.swing.JLabel" name="jLabel6">
157.10 - <Properties>
157.11 - <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
157.12 - <ResourceString bundle="org/netbeans/modules/ada/platform/ui/Bundle.properties" key="PlatformsCustomizer.jLabel6.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
157.13 - </Property>
157.14 - </Properties>
157.15 - </Component>
157.16 - </NonVisualComponents>
157.17 <AuxValues>
157.18 <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
157.19 <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
157.20 <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
157.21 <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
157.22 <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
157.23 - <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="2"/>
157.24 + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
157.25 <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
157.26 <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
157.27 <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
157.28 @@ -28,18 +19,18 @@
157.29 <Group type="102" alignment="0" attributes="0">
157.30 <EmptySpace max="-2" attributes="0"/>
157.31 <Group type="103" groupAlignment="1" attributes="0">
157.32 - <Component id="makeDefaultButton" alignment="0" pref="130" max="32767" attributes="0"/>
157.33 - <Component id="autoDetectButton" alignment="0" pref="130" max="32767" attributes="1"/>
157.34 + <Component id="makeDefaultButton" alignment="0" pref="168" max="32767" attributes="0"/>
157.35 + <Component id="autoDetectButton" alignment="0" pref="168" max="32767" attributes="1"/>
157.36 <Group type="102" alignment="0" attributes="0">
157.37 - <Component id="newButton" max="32767" attributes="0"/>
157.38 + <Component id="newButton" pref="73" max="32767" attributes="0"/>
157.39 <EmptySpace min="-2" max="-2" attributes="0"/>
157.40 - <Component id="removeButton" max="32767" attributes="0"/>
157.41 + <Component id="removeButton" pref="89" max="32767" attributes="0"/>
157.42 </Group>
157.43 <Component id="paltformsListTitleLabel" alignment="0" min="-2" max="-2" attributes="0"/>
157.44 - <Component id="platformsListScrollPanel" alignment="0" pref="130" max="32767" attributes="2"/>
157.45 + <Component id="platformsListScrollPanel" alignment="0" min="-2" pref="168" max="-2" attributes="2"/>
157.46 </Group>
157.47 <EmptySpace max="-2" attributes="0"/>
157.48 - <Component id="tabbedPane" pref="512" max="32767" attributes="0"/>
157.49 + <Component id="tabbedPane" pref="474" max="32767" attributes="0"/>
157.50 <EmptySpace max="-2" attributes="0"/>
157.51 </Group>
157.52 </Group>
157.53 @@ -52,9 +43,9 @@
157.54 <Component id="tabbedPane" alignment="0" pref="321" max="32767" attributes="0"/>
157.55 <Group type="102" alignment="0" attributes="0">
157.56 <Component id="paltformsListTitleLabel" min="-2" max="-2" attributes="0"/>
157.57 - <EmptySpace min="-2" max="-2" attributes="0"/>
157.58 + <EmptySpace max="-2" attributes="0"/>
157.59 <Component id="platformsListScrollPanel" pref="214" max="32767" attributes="0"/>
157.60 - <EmptySpace min="-2" max="-2" attributes="0"/>
157.61 + <EmptySpace max="-2" attributes="0"/>
157.62 <Group type="103" groupAlignment="3" attributes="0">
157.63 <Component id="removeButton" alignment="3" min="-2" max="-2" attributes="0"/>
157.64 <Component id="newButton" alignment="3" min="-2" max="-2" attributes="0"/>
157.65 @@ -148,44 +139,38 @@
157.66 <Layout>
157.67 <DimensionLayout dim="0">
157.68 <Group type="103" groupAlignment="0" attributes="0">
157.69 - <Group type="102" alignment="0" attributes="0">
157.70 + <Group type="102" attributes="0">
157.71 <Group type="103" groupAlignment="0" attributes="0">
157.72 - <Group type="103" groupAlignment="0" attributes="0">
157.73 - <Group type="102" alignment="0" attributes="0">
157.74 - <EmptySpace max="-2" attributes="0"/>
157.75 - <Component id="compilerCommandLabel" min="-2" max="-2" attributes="0"/>
157.76 + <Group type="102" alignment="0" attributes="0">
157.77 + <EmptySpace min="-2" pref="10" max="-2" attributes="0"/>
157.78 + <Group type="103" groupAlignment="1" attributes="0">
157.79 + <Component id="otherInfoLabel" min="-2" pref="91" max="-2" attributes="0"/>
157.80 + <Group type="103" alignment="1" groupAlignment="0" attributes="0">
157.81 + <Component id="compilerCommandLabel" alignment="0" min="-2" max="-2" attributes="0"/>
157.82 + <Component id="platfromNameLabel" alignment="1" min="-2" pref="91" max="-2" attributes="0"/>
157.83 + </Group>
157.84 </Group>
157.85 - <Group type="102" alignment="1" attributes="0">
157.86 - <EmptySpace max="-2" attributes="0"/>
157.87 - <Component id="platfromNameLabel" min="-2" pref="91" max="-2" attributes="0"/>
157.88 + <EmptySpace max="-2" attributes="0"/>
157.89 + <Group type="103" groupAlignment="0" attributes="0">
157.90 + <Component id="compilerCommand" pref="324" max="32767" attributes="0"/>
157.91 + <Component id="platformName" alignment="0" pref="324" max="32767" attributes="0"/>
157.92 + <Component id="platformInfoTextField" alignment="1" pref="324" max="32767" attributes="0"/>
157.93 </Group>
157.94 </Group>
157.95 - <Group type="102" attributes="0">
157.96 + <Group type="102" alignment="1" attributes="0">
157.97 + <EmptySpace pref="192" max="32767" attributes="0"/>
157.98 + <Component id="autoDetectLabel" min="-2" max="-2" attributes="0"/>
157.99 + <EmptySpace min="5" pref="5" max="5" attributes="0"/>
157.100 + <Component id="autoDetectProgress" min="-2" max="-2" attributes="0"/>
157.101 + </Group>
157.102 + <Group type="102" alignment="1" attributes="0">
157.103 + <EmptySpace min="-2" pref="19" max="-2" attributes="0"/>
157.104 + <Component id="jvmCompilerCommandLabel" min="-2" max="-2" attributes="0"/>
157.105 <EmptySpace max="-2" attributes="0"/>
157.106 - <Component id="otherInfoLabel" min="-2" pref="91" max="-2" attributes="0"/>
157.107 + <Component id="jvmCompilerCommand" pref="323" max="32767" attributes="0"/>
157.108 </Group>
157.109 </Group>
157.110 <EmptySpace max="-2" attributes="0"/>
157.111 - <Group type="103" groupAlignment="0" attributes="0">
157.112 - <Group type="102" attributes="0">
157.113 - <Component id="compilerCommand" pref="392" max="32767" attributes="0"/>
157.114 - <EmptySpace max="-2" attributes="0"/>
157.115 - </Group>
157.116 - <Group type="102" alignment="1" attributes="0">
157.117 - <Group type="103" groupAlignment="1" attributes="0">
157.118 - <Component id="platformName" alignment="0" pref="392" max="32767" attributes="0"/>
157.119 - <Component id="platformInfoTextField" alignment="1" pref="392" max="32767" attributes="0"/>
157.120 - </Group>
157.121 - <EmptySpace max="-2" attributes="0"/>
157.122 - </Group>
157.123 - </Group>
157.124 - </Group>
157.125 - <Group type="102" alignment="1" attributes="0">
157.126 - <EmptySpace pref="230" max="32767" attributes="0"/>
157.127 - <Component id="autoDetectLabel" min="-2" max="-2" attributes="0"/>
157.128 - <EmptySpace min="5" pref="5" max="5" attributes="0"/>
157.129 - <Component id="autoDetectProgress" min="-2" max="-2" attributes="0"/>
157.130 - <EmptySpace max="-2" attributes="0"/>
157.131 </Group>
157.132 </Group>
157.133 </DimensionLayout>
157.134 @@ -207,7 +192,12 @@
157.135 <Component id="compilerCommandLabel" alignment="3" min="-2" max="-2" attributes="0"/>
157.136 <Component id="compilerCommand" alignment="3" min="-2" max="-2" attributes="0"/>
157.137 </Group>
157.138 - <EmptySpace pref="175" max="32767" attributes="0"/>
157.139 + <EmptySpace type="unrelated" max="-2" attributes="0"/>
157.140 + <Group type="103" groupAlignment="3" attributes="0">
157.141 + <Component id="jvmCompilerCommand" alignment="3" min="-2" max="-2" attributes="0"/>
157.142 + <Component id="jvmCompilerCommandLabel" alignment="3" min="-2" max="-2" attributes="0"/>
157.143 + </Group>
157.144 + <EmptySpace pref="144" max="32767" attributes="0"/>
157.145 <Group type="103" groupAlignment="0" attributes="0">
157.146 <Component id="autoDetectLabel" min="-2" max="-2" attributes="0"/>
157.147 <Component id="autoDetectProgress" min="-2" max="-2" attributes="0"/>
157.148 @@ -277,6 +267,22 @@
157.149 <Property name="indeterminate" type="boolean" value="true"/>
157.150 </Properties>
157.151 </Component>
157.152 + <Component class="javax.swing.JTextField" name="jvmCompilerCommand">
157.153 + <Properties>
157.154 + <Property name="editable" type="boolean" value="false"/>
157.155 + <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
157.156 + <ResourceString bundle="org/netbeans/modules/ada/platform/ui/Bundle.properties" key="PlatformsCustomizer.jvmCompilerCommand.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
157.157 + </Property>
157.158 + </Properties>
157.159 + </Component>
157.160 + <Component class="javax.swing.JLabel" name="jvmCompilerCommandLabel">
157.161 + <Properties>
157.162 + <Property name="horizontalAlignment" type="int" value="4"/>
157.163 + <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
157.164 + <ResourceString bundle="org/netbeans/modules/ada/platform/ui/Bundle.properties" key="PlatformsCustomizer.jvmCompilerCommandLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
157.165 + </Property>
157.166 + </Properties>
157.167 + </Component>
157.168 </SubComponents>
157.169 </Container>
157.170 <Container class="javax.swing.JPanel" name="adaPathPanel">
157.171 @@ -297,7 +303,7 @@
157.172 <EmptySpace max="-2" attributes="0"/>
157.173 <Group type="103" groupAlignment="0" attributes="0">
157.174 <Group type="102" attributes="0">
157.175 - <Component id="jScrollPane2" pref="392" max="32767" attributes="0"/>
157.176 + <Component id="jScrollPane2" pref="354" max="32767" attributes="0"/>
157.177 <EmptySpace max="-2" attributes="0"/>
157.178 <Group type="103" groupAlignment="0" attributes="0">
157.179 <Component id="moveDownPath" max="32767" attributes="0"/>
158.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/ui/PlatformsCustomizer.java Tue Oct 02 21:55:21 2012 -0400
158.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/ui/PlatformsCustomizer.java Mon Oct 15 23:38:26 2012 +0200
158.3 @@ -81,7 +81,6 @@
158.4 // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
158.5 private void initComponents() {
158.6
158.7 - jLabel6 = new javax.swing.JLabel();
158.8 platformsListScrollPanel = new javax.swing.JScrollPane();
158.9 PlatformList = new javax.swing.JList();
158.10 paltformsListTitleLabel = new javax.swing.JLabel();
158.11 @@ -98,6 +97,8 @@
158.12 platformInfoTextField = new javax.swing.JTextField();
158.13 autoDetectLabel = new javax.swing.JLabel();
158.14 autoDetectProgress = new javax.swing.JProgressBar();
158.15 + jvmCompilerCommand = new javax.swing.JTextField();
158.16 + jvmCompilerCommandLabel = new javax.swing.JLabel();
158.17 adaPathPanel = new javax.swing.JPanel();
158.18 jLabel5 = new javax.swing.JLabel();
158.19 jScrollPane2 = new javax.swing.JScrollPane();
158.20 @@ -108,8 +109,6 @@
158.21 moveDownPath = new javax.swing.JButton();
158.22 makeDefaultButton = new javax.swing.JButton();
158.23
158.24 - jLabel6.setText(org.openide.util.NbBundle.getMessage(PlatformsCustomizer.class, "PlatformsCustomizer.jLabel6.text")); // NOI18N
158.25 -
158.26 PlatformList.setModel(platformListModel);
158.27 PlatformList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
158.28 PlatformList.setCellRenderer(new PlatformListCellRenderer());
158.29 @@ -164,58 +163,65 @@
158.30
158.31 autoDetectProgress.setIndeterminate(true);
158.32
158.33 - org.jdesktop.layout.GroupLayout mainPanelLayout = new org.jdesktop.layout.GroupLayout(mainPanel);
158.34 + jvmCompilerCommand.setEditable(false);
158.35 + jvmCompilerCommand.setText(org.openide.util.NbBundle.getMessage(PlatformsCustomizer.class, "PlatformsCustomizer.jvmCompilerCommand.text")); // NOI18N
158.36 +
158.37 + jvmCompilerCommandLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
158.38 + jvmCompilerCommandLabel.setText(org.openide.util.NbBundle.getMessage(PlatformsCustomizer.class, "PlatformsCustomizer.jvmCompilerCommandLabel.text")); // NOI18N
158.39 +
158.40 + javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
158.41 mainPanel.setLayout(mainPanelLayout);
158.42 mainPanelLayout.setHorizontalGroup(
158.43 - mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
158.44 - .add(mainPanelLayout.createSequentialGroup()
158.45 - .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
158.46 - .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
158.47 - .add(mainPanelLayout.createSequentialGroup()
158.48 - .addContainerGap()
158.49 - .add(compilerCommandLabel))
158.50 - .add(org.jdesktop.layout.GroupLayout.TRAILING, mainPanelLayout.createSequentialGroup()
158.51 - .addContainerGap()
158.52 - .add(platfromNameLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 91, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
158.53 - .add(mainPanelLayout.createSequentialGroup()
158.54 - .addContainerGap()
158.55 - .add(otherInfoLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 91, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
158.56 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
158.57 - .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
158.58 - .add(mainPanelLayout.createSequentialGroup()
158.59 - .add(compilerCommand, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 392, Short.MAX_VALUE)
158.60 - .addContainerGap())
158.61 - .add(org.jdesktop.layout.GroupLayout.TRAILING, mainPanelLayout.createSequentialGroup()
158.62 - .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
158.63 - .add(org.jdesktop.layout.GroupLayout.LEADING, platformName, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 392, Short.MAX_VALUE)
158.64 - .add(platformInfoTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 392, Short.MAX_VALUE))
158.65 - .addContainerGap())))
158.66 - .add(org.jdesktop.layout.GroupLayout.TRAILING, mainPanelLayout.createSequentialGroup()
158.67 - .addContainerGap(230, Short.MAX_VALUE)
158.68 - .add(autoDetectLabel)
158.69 - .add(5, 5, 5)
158.70 - .add(autoDetectProgress, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
158.71 + mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
158.72 + .addGroup(mainPanelLayout.createSequentialGroup()
158.73 + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
158.74 + .addGroup(mainPanelLayout.createSequentialGroup()
158.75 + .addGap(10, 10, 10)
158.76 + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
158.77 + .addComponent(otherInfoLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)
158.78 + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
158.79 + .addComponent(compilerCommandLabel)
158.80 + .addComponent(platfromNameLabel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)))
158.81 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
158.82 + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
158.83 + .addComponent(compilerCommand, javax.swing.GroupLayout.DEFAULT_SIZE, 324, Short.MAX_VALUE)
158.84 + .addComponent(platformName, javax.swing.GroupLayout.DEFAULT_SIZE, 324, Short.MAX_VALUE)
158.85 + .addComponent(platformInfoTextField, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 324, Short.MAX_VALUE)))
158.86 + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup()
158.87 + .addContainerGap(192, Short.MAX_VALUE)
158.88 + .addComponent(autoDetectLabel)
158.89 + .addGap(5, 5, 5)
158.90 + .addComponent(autoDetectProgress, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
158.91 + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup()
158.92 + .addGap(19, 19, 19)
158.93 + .addComponent(jvmCompilerCommandLabel)
158.94 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
158.95 + .addComponent(jvmCompilerCommand, javax.swing.GroupLayout.DEFAULT_SIZE, 323, Short.MAX_VALUE)))
158.96 .addContainerGap())
158.97 );
158.98 mainPanelLayout.setVerticalGroup(
158.99 - mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
158.100 - .add(mainPanelLayout.createSequentialGroup()
158.101 + mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
158.102 + .addGroup(mainPanelLayout.createSequentialGroup()
158.103 .addContainerGap()
158.104 - .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
158.105 - .add(platfromNameLabel)
158.106 - .add(platformName, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
158.107 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
158.108 - .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
158.109 - .add(platformInfoTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
158.110 - .add(otherInfoLabel))
158.111 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
158.112 - .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
158.113 - .add(compilerCommandLabel)
158.114 - .add(compilerCommand, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
158.115 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 175, Short.MAX_VALUE)
158.116 - .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
158.117 - .add(autoDetectLabel)
158.118 - .add(autoDetectProgress, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
158.119 + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
158.120 + .addComponent(platfromNameLabel)
158.121 + .addComponent(platformName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
158.122 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
158.123 + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
158.124 + .addComponent(platformInfoTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
158.125 + .addComponent(otherInfoLabel))
158.126 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
158.127 + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
158.128 + .addComponent(compilerCommandLabel)
158.129 + .addComponent(compilerCommand, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
158.130 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
158.131 + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
158.132 + .addComponent(jvmCompilerCommand, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
158.133 + .addComponent(jvmCompilerCommandLabel))
158.134 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 144, Short.MAX_VALUE)
158.135 + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
158.136 + .addComponent(autoDetectLabel)
158.137 + .addComponent(autoDetectProgress, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
158.138 .addContainerGap())
158.139 );
158.140
158.141 @@ -255,39 +261,39 @@
158.142 }
158.143 });
158.144
158.145 - org.jdesktop.layout.GroupLayout adaPathPanelLayout = new org.jdesktop.layout.GroupLayout(adaPathPanel);
158.146 + javax.swing.GroupLayout adaPathPanelLayout = new javax.swing.GroupLayout(adaPathPanel);
158.147 adaPathPanel.setLayout(adaPathPanelLayout);
158.148 adaPathPanelLayout.setHorizontalGroup(
158.149 - adaPathPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
158.150 - .add(adaPathPanelLayout.createSequentialGroup()
158.151 + adaPathPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
158.152 + .addGroup(adaPathPanelLayout.createSequentialGroup()
158.153 .addContainerGap()
158.154 - .add(adaPathPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
158.155 - .add(adaPathPanelLayout.createSequentialGroup()
158.156 - .add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 392, Short.MAX_VALUE)
158.157 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
158.158 - .add(adaPathPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
158.159 - .add(moveDownPath, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
158.160 - .add(moveUpPath, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 89, Short.MAX_VALUE)
158.161 - .add(removePath, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 89, Short.MAX_VALUE)
158.162 - .add(addPath, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 89, Short.MAX_VALUE)))
158.163 - .add(jLabel5))
158.164 + .addGroup(adaPathPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
158.165 + .addGroup(adaPathPanelLayout.createSequentialGroup()
158.166 + .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 354, Short.MAX_VALUE)
158.167 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
158.168 + .addGroup(adaPathPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
158.169 + .addComponent(moveDownPath, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
158.170 + .addComponent(moveUpPath, javax.swing.GroupLayout.DEFAULT_SIZE, 89, Short.MAX_VALUE)
158.171 + .addComponent(removePath, javax.swing.GroupLayout.DEFAULT_SIZE, 89, Short.MAX_VALUE)
158.172 + .addComponent(addPath, javax.swing.GroupLayout.DEFAULT_SIZE, 89, Short.MAX_VALUE)))
158.173 + .addComponent(jLabel5))
158.174 .addContainerGap())
158.175 );
158.176 adaPathPanelLayout.setVerticalGroup(
158.177 - adaPathPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
158.178 - .add(adaPathPanelLayout.createSequentialGroup()
158.179 - .add(jLabel5)
158.180 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
158.181 - .add(adaPathPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
158.182 - .add(org.jdesktop.layout.GroupLayout.LEADING, adaPathPanelLayout.createSequentialGroup()
158.183 - .add(addPath)
158.184 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
158.185 - .add(removePath)
158.186 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
158.187 - .add(moveUpPath)
158.188 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
158.189 - .add(moveDownPath))
158.190 - .add(org.jdesktop.layout.GroupLayout.LEADING, jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE))
158.191 + adaPathPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
158.192 + .addGroup(adaPathPanelLayout.createSequentialGroup()
158.193 + .addComponent(jLabel5)
158.194 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
158.195 + .addGroup(adaPathPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
158.196 + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, adaPathPanelLayout.createSequentialGroup()
158.197 + .addComponent(addPath)
158.198 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
158.199 + .addComponent(removePath)
158.200 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
158.201 + .addComponent(moveUpPath)
158.202 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
158.203 + .addComponent(moveDownPath))
158.204 + .addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE))
158.205 .addContainerGap())
158.206 );
158.207
158.208 @@ -300,43 +306,43 @@
158.209 }
158.210 });
158.211
158.212 - org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
158.213 + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
158.214 this.setLayout(layout);
158.215 layout.setHorizontalGroup(
158.216 - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
158.217 - .add(layout.createSequentialGroup()
158.218 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
158.219 + .addGroup(layout.createSequentialGroup()
158.220 .addContainerGap()
158.221 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
158.222 - .add(org.jdesktop.layout.GroupLayout.LEADING, makeDefaultButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE)
158.223 - .add(org.jdesktop.layout.GroupLayout.LEADING, autoDetectButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE)
158.224 - .add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup()
158.225 - .add(newButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
158.226 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
158.227 - .add(removeButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
158.228 - .add(org.jdesktop.layout.GroupLayout.LEADING, paltformsListTitleLabel)
158.229 - .add(org.jdesktop.layout.GroupLayout.LEADING, platformsListScrollPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE))
158.230 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
158.231 - .add(tabbedPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 512, Short.MAX_VALUE)
158.232 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
158.233 + .addComponent(makeDefaultButton, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 168, Short.MAX_VALUE)
158.234 + .addComponent(autoDetectButton, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 168, Short.MAX_VALUE)
158.235 + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
158.236 + .addComponent(newButton, javax.swing.GroupLayout.DEFAULT_SIZE, 73, Short.MAX_VALUE)
158.237 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
158.238 + .addComponent(removeButton, javax.swing.GroupLayout.DEFAULT_SIZE, 89, Short.MAX_VALUE))
158.239 + .addComponent(paltformsListTitleLabel, javax.swing.GroupLayout.Alignment.LEADING)
158.240 + .addComponent(platformsListScrollPanel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 168, javax.swing.GroupLayout.PREFERRED_SIZE))
158.241 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
158.242 + .addComponent(tabbedPane, javax.swing.GroupLayout.DEFAULT_SIZE, 474, Short.MAX_VALUE)
158.243 .addContainerGap())
158.244 );
158.245 layout.setVerticalGroup(
158.246 - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
158.247 - .add(layout.createSequentialGroup()
158.248 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
158.249 + .addGroup(layout.createSequentialGroup()
158.250 .addContainerGap()
158.251 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
158.252 - .add(tabbedPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 321, Short.MAX_VALUE)
158.253 - .add(layout.createSequentialGroup()
158.254 - .add(paltformsListTitleLabel)
158.255 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
158.256 - .add(platformsListScrollPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 214, Short.MAX_VALUE)
158.257 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
158.258 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
158.259 - .add(removeButton)
158.260 - .add(newButton))
158.261 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
158.262 - .add(autoDetectButton)
158.263 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
158.264 - .add(makeDefaultButton))))
158.265 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
158.266 + .addComponent(tabbedPane, javax.swing.GroupLayout.DEFAULT_SIZE, 321, Short.MAX_VALUE)
158.267 + .addGroup(layout.createSequentialGroup()
158.268 + .addComponent(paltformsListTitleLabel)
158.269 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
158.270 + .addComponent(platformsListScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 214, Short.MAX_VALUE)
158.271 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
158.272 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
158.273 + .addComponent(removeButton)
158.274 + .addComponent(newButton))
158.275 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
158.276 + .addComponent(autoDetectButton)
158.277 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
158.278 + .addComponent(makeDefaultButton))))
158.279 );
158.280 }// </editor-fold>//GEN-END:initComponents
158.281
158.282 @@ -350,8 +356,9 @@
158.283 private void loadPlatform() {
158.284 platformName.setText(adaPlatform.getName());
158.285 platformInfoTextField.setText(adaPlatform.getInfo());
158.286 - compilerCommand.setText(adaPlatform.getInterpreterCommand());
158.287 - // TODO: add in main tab the commands list for ada platform
158.288 + compilerCommand.setText(adaPlatform.getGnatCompilerCommand());
158.289 + jvmCompilerCommand.setText(adaPlatform.getJvmGnatCompilerCommand());
158.290 + // TODO: add in main tab the commands list for ada platform
158.291 // adaPathModel.setModel(adaPlatform.getCompilerPath());
158.292 }
158.293
158.294 @@ -410,9 +417,11 @@
158.295 if (fo != null) {
158.296 try {
158.297 adaPlatform = adaPlatformManager.findPlatformProperties(fo);
158.298 - loadPlatform();
158.299 - platformListModel.refresh();
158.300 - platformName.setEditable(true);
158.301 + if (adaPlatform != null) {
158.302 + loadPlatform();
158.303 + platformListModel.refresh();
158.304 + platformName.setEditable(true);
158.305 + }
158.306 } catch (AdaException ex) {
158.307 Exceptions.printStackTrace(ex);
158.308 }
158.309 @@ -434,14 +443,15 @@
158.310 }//GEN-LAST:event_PlatformListValueChanged
158.311
158.312 private void removeButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_removeButtonActionPerformed
158.313 - int selectedIndex = PlatformList.getSelectedIndex();
158.314 - if (selectedIndex != -1) {
158.315 - adaPlatformManager.removePlatform(
158.316 - (String) platformListModel.getElementAt(
158.317 - PlatformList.getSelectedIndex()));
158.318 - platformListModel.refresh();
158.319 - adaPlatform = null;
158.320 - clearPlatform();
158.321 + if (platformListModel.getSize() > 0) {
158.322 + int selectedIndex = PlatformList.getSelectedIndex();
158.323 + if (selectedIndex != -1) {
158.324 + adaPlatformManager.removePlatform(
158.325 + (String) platformListModel.getElementAt(selectedIndex));
158.326 + platformListModel.refresh();
158.327 + adaPlatform = null;
158.328 + clearPlatform();
158.329 + }
158.330 }
158.331 }//GEN-LAST:event_removeButtonActionPerformed
158.332
158.333 @@ -479,9 +489,11 @@
158.334 private void autoDetectButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_autoDetectButtonActionPerformed
158.335 setAutoDetecting(true);
158.336 RequestProcessor.getDefault().post(new Runnable() {
158.337 +
158.338 public void run() {
158.339 adaPlatformManager.autoDetect();
158.340 EventQueue.invokeLater(new Runnable() {
158.341 +
158.342 public void run() {
158.343 platformListModel.refresh();
158.344 setAutoDetecting(false);
158.345 @@ -490,7 +502,6 @@
158.346 }
158.347 });
158.348 }//GEN-LAST:event_autoDetectButtonActionPerformed
158.349 -
158.350 // Variables declaration - do not modify//GEN-BEGIN:variables
158.351 private javax.swing.JList PlatformList;
158.352 private javax.swing.JList adaPath;
158.353 @@ -502,8 +513,9 @@
158.354 private javax.swing.JTextField compilerCommand;
158.355 private javax.swing.JLabel compilerCommandLabel;
158.356 private javax.swing.JLabel jLabel5;
158.357 - private javax.swing.JLabel jLabel6;
158.358 private javax.swing.JScrollPane jScrollPane2;
158.359 + private javax.swing.JTextField jvmCompilerCommand;
158.360 + private javax.swing.JLabel jvmCompilerCommandLabel;
158.361 private javax.swing.JPanel mainPanel;
158.362 private javax.swing.JButton makeDefaultButton;
158.363 private javax.swing.JButton moveDownPath;
158.364 @@ -556,7 +568,7 @@
158.365 }
158.366
158.367 adaPlatform.setInfo(platformInfoTextField.getText());
158.368 - adaPlatform.setCompilerCommand(compilerCommand.getText());
158.369 + adaPlatform.setGnatCompilerCommand(compilerCommand.getText());
158.370 // TODO: add in main tab the commands list for ada platform
158.371 // adaPlatform.setCompilerPath(adaPathModel.getModel());
158.372 adaPlatformManager.addPlatform(adaPlatform);
158.373 @@ -566,5 +578,4 @@
158.374 String defaultPlatform = adaPlatformManager.getDefaultPlatform();
158.375 return defaultPlatform != null && !defaultPlatform.equals(platform);
158.376 }
158.377 -
158.378 }
159.1 --- a/ada.platform/src/org/netbeans/spi/ada/platform/Compiler.java Tue Oct 02 21:55:21 2012 -0400
159.2 +++ b/ada.platform/src/org/netbeans/spi/ada/platform/Compiler.java Mon Oct 15 23:38:26 2012 +0200
159.3 @@ -63,6 +63,8 @@
159.4
159.5 public String getMainFile();
159.6
159.7 + public String getAdaDialects();
159.8 +
159.9 public String getProjectPath();
159.10
159.11 public String getProjectName();
160.1 --- a/ada.project/history.txt Tue Oct 02 21:55:21 2012 -0400
160.2 +++ b/ada.project/history.txt Mon Oct 15 23:38:26 2012 +0200
160.3 @@ -1,23 +1,34 @@
160.4 -0.1.7: dd-mm-2009
160.5 -- TBD
160.6 +0.1.10: 11-10-2012
160.7 +- Porting to NB7.2 and others improvements.
160.8 +
160.9 +0.1.9: 12-08-2010
160.10 +- Added JVM compiler support.
160.11 +
160.12 +0.1.8: 13-10-2009
160.13 +- Added the signing of the nbm files.
160.14 +- Fixed the issue http://sourceforge.net/tracker/?func=detail&aid=2872967&group_id=248853&atid=1126624.
160.15 +
160.16 +0.1.7: 01-10-2009
160.17 +- Fixed https://sourceforge.net/tracker/?func=detail&aid=2863317&group_id=248853&atid=1126624.
160.18 +- Ada files naming management (options and project properties).
160.19
160.20 0.1.6: 13-11-2009
160.21 - Minor changes.
160.22
160.23 0.1.5: 01-02-2009
160.24 -- Fix the manage clean/build/run actions.
160.25 +- Fixed the manage clean/build/run actions.
160.26
160.27 0.1.4: 05-01-2009
160.28 -- Fix project actions for linux systems.
160.29 +- Fixed project actions for linux systems.
160.30
160.31 0.1.3: 28-12-2008
160.32 -- Update project actions.
160.33 +- Updated project actions.
160.34
160.35 0.1.2: 19-11-2008
160.36 -- Update path classes.
160.37 +- Updated path classes.
160.38
160.39 0.1.1: 09-11-2008
160.40 -- Add initial version of Build/Clean actions.
160.41 +- Added initial version of Build/Clean actions.
160.42
160.43 0.1.0: 23-09-2008
160.44 - Initial, very alpha release.
161.1 --- a/ada.project/manifest.mf Tue Oct 02 21:55:21 2012 -0400
161.2 +++ b/ada.project/manifest.mf Mon Oct 15 23:38:26 2012 +0200
161.3 @@ -3,5 +3,5 @@
161.4 OpenIDE-Module: org.netbeans.modules.ada.project
161.5 OpenIDE-Module-Layer: org/netbeans/modules/ada/project/resources/layer.xml
161.6 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ada/project/Bundle.properties
161.7 -OpenIDE-Module-Specification-Version: 0.1.7
161.8 +OpenIDE-Module-Specification-Version: 0.1.10
161.9
162.1 --- a/ada.project/nbproject/project.properties Tue Oct 02 21:55:21 2012 -0400
162.2 +++ b/ada.project/nbproject/project.properties Mon Oct 15 23:38:26 2012 +0200
162.3 @@ -1,4 +1,6 @@
162.4 -javac.source=1.5
162.5 +javac.source=1.6
162.6 javac.compilerargs=-Xlint -Xlint:-serial
162.7 nbm.homepage=http://wiki.netbeans.org/Ada
162.8 nbm.module.author=Andrea Lucarelli
162.9 +keystore=nbproject/private/keystore
162.10 +nbm_alias=nbada
163.1 --- a/ada.project/nbproject/project.xml Tue Oct 02 21:55:21 2012 -0400
163.2 +++ b/ada.project/nbproject/project.xml Mon Oct 15 23:38:26 2012 +0200
163.3 @@ -11,7 +11,7 @@
163.4 <compile-dependency/>
163.5 <run-dependency>
163.6 <release-version>1</release-version>
163.7 - <specification-version>1.6</specification-version>
163.8 + <specification-version>1.21.1</specification-version>
163.9 </run-dependency>
163.10 </dependency>
163.11 <dependency>
163.12 @@ -20,7 +20,7 @@
163.13 <compile-dependency/>
163.14 <run-dependency>
163.15 <release-version>1</release-version>
163.16 - <specification-version>1.19.1</specification-version>
163.17 + <specification-version>1.33.1</specification-version>
163.18 </run-dependency>
163.19 </dependency>
163.20 <dependency>
163.21 @@ -29,7 +29,7 @@
163.22 <compile-dependency/>
163.23 <run-dependency>
163.24 <release-version>1</release-version>
163.25 - <specification-version>1.12</specification-version>
163.26 + <specification-version>1.28.1</specification-version>
163.27 </run-dependency>
163.28 </dependency>
163.29 <dependency>
163.30 @@ -37,16 +37,7 @@
163.31 <build-prerequisite/>
163.32 <compile-dependency/>
163.33 <run-dependency>
163.34 - <specification-version>0.1.5</specification-version>
163.35 - </run-dependency>
163.36 - </dependency>
163.37 - <dependency>
163.38 - <code-name-base>org.netbeans.modules.options.api</code-name-base>
163.39 - <build-prerequisite/>
163.40 - <compile-dependency/>
163.41 - <run-dependency>
163.42 - <release-version>1</release-version>
163.43 - <specification-version>1.10</specification-version>
163.44 + <specification-version>0.1.9</specification-version>
163.45 </run-dependency>
163.46 </dependency>
163.47 <dependency>
163.48 @@ -55,7 +46,7 @@
163.49 <compile-dependency/>
163.50 <run-dependency>
163.51 <release-version>1</release-version>
163.52 - <specification-version>1.25</specification-version>
163.53 + <specification-version>1.48.1</specification-version>
163.54 </run-dependency>
163.55 </dependency>
163.56 <dependency>
163.57 @@ -64,7 +55,7 @@
163.58 <compile-dependency/>
163.59 <run-dependency>
163.60 <release-version>1</release-version>
163.61 - <specification-version>1.19</specification-version>
163.62 + <specification-version>1.46.1</specification-version>
163.63 </run-dependency>
163.64 </dependency>
163.65 <dependency>
163.66 @@ -73,7 +64,7 @@
163.67 <compile-dependency/>
163.68 <run-dependency>
163.69 <release-version>1</release-version>
163.70 - <specification-version>1.31</specification-version>
163.71 + <specification-version>1.57.1</specification-version>
163.72 </run-dependency>
163.73 </dependency>
163.74 <dependency>
163.75 @@ -82,7 +73,7 @@
163.76 <compile-dependency/>
163.77 <run-dependency>
163.78 <release-version>1</release-version>
163.79 - <specification-version>1.13</specification-version>
163.80 + <specification-version>1.28.1</specification-version>
163.81 </run-dependency>
163.82 </dependency>
163.83 <dependency>
163.84 @@ -90,7 +81,7 @@
163.85 <build-prerequisite/>
163.86 <compile-dependency/>
163.87 <run-dependency>
163.88 - <specification-version>6.8</specification-version>
163.89 + <specification-version>6.26.1</specification-version>
163.90 </run-dependency>
163.91 </dependency>
163.92 <dependency>
163.93 @@ -98,7 +89,7 @@
163.94 <build-prerequisite/>
163.95 <compile-dependency/>
163.96 <run-dependency>
163.97 - <specification-version>7.3</specification-version>
163.98 + <specification-version>7.46.1</specification-version>
163.99 </run-dependency>
163.100 </dependency>
163.101 <dependency>
163.102 @@ -106,7 +97,7 @@
163.103 <build-prerequisite/>
163.104 <compile-dependency/>
163.105 <run-dependency>
163.106 - <specification-version>7.8</specification-version>
163.107 + <specification-version>7.25.1</specification-version>
163.108 </run-dependency>
163.109 </dependency>
163.110 <dependency>
163.111 @@ -114,7 +105,7 @@
163.112 <build-prerequisite/>
163.113 <compile-dependency/>
163.114 <run-dependency>
163.115 - <specification-version>7.19</specification-version>
163.116 + <specification-version>7.62.1</specification-version>
163.117 </run-dependency>
163.118 </dependency>
163.119 <dependency>
163.120 @@ -122,7 +113,15 @@
163.121 <build-prerequisite/>
163.122 <compile-dependency/>
163.123 <run-dependency>
163.124 - <specification-version>7.2</specification-version>
163.125 + <specification-version>7.37.1</specification-version>
163.126 + </run-dependency>
163.127 + </dependency>
163.128 + <dependency>
163.129 + <code-name-base>org.openide.modules</code-name-base>
163.130 + <build-prerequisite/>
163.131 + <compile-dependency/>
163.132 + <run-dependency>
163.133 + <specification-version>7.32.1</specification-version>
163.134 </run-dependency>
163.135 </dependency>
163.136 <dependency>
163.137 @@ -130,7 +129,7 @@
163.138 <build-prerequisite/>
163.139 <compile-dependency/>
163.140 <run-dependency>
163.141 - <specification-version>7.7</specification-version>
163.142 + <specification-version>7.28.1</specification-version>
163.143 </run-dependency>
163.144 </dependency>
163.145 <dependency>
163.146 @@ -138,7 +137,15 @@
163.147 <build-prerequisite/>
163.148 <compile-dependency/>
163.149 <run-dependency>
163.150 - <specification-version>7.18.1</specification-version>
163.151 + <specification-version>8.25.1</specification-version>
163.152 + </run-dependency>
163.153 + </dependency>
163.154 + <dependency>
163.155 + <code-name-base>org.openide.util.lookup</code-name-base>
163.156 + <build-prerequisite/>
163.157 + <compile-dependency/>
163.158 + <run-dependency>
163.159 + <specification-version>8.15.1</specification-version>
163.160 </run-dependency>
163.161 </dependency>
163.162 <dependency>
163.163 @@ -146,7 +153,7 @@
163.164 <build-prerequisite/>
163.165 <compile-dependency/>
163.166 <run-dependency>
163.167 - <specification-version>6.24</specification-version>
163.168 + <specification-version>6.55.1</specification-version>
163.169 </run-dependency>
163.170 </dependency>
163.171 </module-dependencies>
163.172 @@ -155,6 +162,7 @@
163.173 <friend>org.netbeans.modules.ada.options</friend>
163.174 <package>org.netbeans.modules.ada.project.api</package>
163.175 <package>org.netbeans.modules.ada.project.options</package>
163.176 + <package>org.netbeans.modules.ada.project.options.ui</package>
163.177 <package>org.netbeans.modules.ada.project.ui.properties</package>
163.178 </friend-packages>
163.179 </data>
164.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
164.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/AdaLanguageOptionsAccessor.java Mon Oct 15 23:38:26 2012 +0200
164.3 @@ -0,0 +1,78 @@
164.4 +/*
164.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
164.6 + *
164.7 + * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
164.8 + *
164.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
164.10 + * Other names may be trademarks of their respective owners.
164.11 + *
164.12 + * The contents of this file are subject to the terms of either the GNU
164.13 + * General Public License Version 2 only ("GPL") or the Common
164.14 + * Development and Distribution License("CDDL") (collectively, the
164.15 + * "License"). You may not use this file except in compliance with the
164.16 + * License. You can obtain a copy of the License at
164.17 + * http://www.netbeans.org/cddl-gplv2.html
164.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
164.19 + * specific language governing permissions and limitations under the
164.20 + * License. When distributing the software, include this License Header
164.21 + * Notice in each file and include the License file at
164.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
164.23 + * particular file as subject to the "Classpath" exception as provided
164.24 + * by Oracle in the GPL Version 2 section of the License file that
164.25 + * accompanied this code. If applicable, add the following below the
164.26 + * License Header, with the fields enclosed by brackets [] replaced by
164.27 + * your own identifying information:
164.28 + * "Portions Copyrighted [year] [name of copyright owner]"
164.29 + *
164.30 + * If you wish your version of this file to be governed by only the CDDL
164.31 + * or only the GPL Version 2, indicate your decision by adding
164.32 + * "[Contributor] elects to include this software in this distribution
164.33 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
164.34 + * single choice of license, a recipient has the option to distribute
164.35 + * your version of this file under either the CDDL, the GPL Version 2 or
164.36 + * to extend the choice of license to its licensees as provided above.
164.37 + * However, if you add GPL Version 2 code and therefore, elected the GPL
164.38 + * Version 2 license, then the option applies only if the new code is
164.39 + * made subject to such option by the copyright holder.
164.40 + *
164.41 + * Contributor(s):
164.42 + *
164.43 + * Portions Copyrighted 2009 Sun Microsystems, Inc.
164.44 + */
164.45 +
164.46 +package org.netbeans.modules.ada.project;
164.47 +
164.48 +import org.netbeans.modules.ada.project.api.AdaLanguageOptions;
164.49 +import org.openide.util.Exceptions;
164.50 +
164.51 +/**
164.52 + * @author Tomas Mysik
164.53 + */
164.54 +public abstract class AdaLanguageOptionsAccessor {
164.55 +
164.56 + private static volatile AdaLanguageOptionsAccessor accessor;
164.57 +
164.58 + public static void setDefault(AdaLanguageOptionsAccessor accessor) {
164.59 + if (AdaLanguageOptionsAccessor.accessor != null) {
164.60 + throw new IllegalStateException("Already initialized accessor");
164.61 + }
164.62 + AdaLanguageOptionsAccessor.accessor = accessor;
164.63 + }
164.64 +
164.65 + public static synchronized AdaLanguageOptionsAccessor getDefault() {
164.66 + if (accessor != null) {
164.67 + return accessor;
164.68 + }
164.69 +
164.70 + Class<?> c = AdaLanguageOptions.class;
164.71 + try {
164.72 + Class.forName(c.getName(), true, AdaLanguageOptionsAccessor.class.getClassLoader());
164.73 + } catch (ClassNotFoundException cnf) {
164.74 + Exceptions.printStackTrace(cnf);
164.75 + }
164.76 + assert accessor != null;
164.77 + return accessor;
164.78 + }
164.79 +
164.80 + public abstract void firePropertyChange(String propertyName, Object oldValue, Object newValue);
164.81 +}
165.1 --- a/ada.project/src/org/netbeans/modules/ada/project/AdaLogicalViewProvider.java Tue Oct 02 21:55:21 2012 -0400
165.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/AdaLogicalViewProvider.java Mon Oct 15 23:38:26 2012 +0200
165.3 @@ -46,7 +46,6 @@
165.4 import org.netbeans.api.project.FileOwnerQuery;
165.5 import org.netbeans.api.project.Project;
165.6 import org.netbeans.api.project.ProjectUtils;
165.7 -import org.netbeans.spi.project.ActionProvider;
165.8 import org.netbeans.spi.project.ui.LogicalViewProvider;
165.9 import org.netbeans.spi.project.ui.support.CommonProjectActions;
165.10 import org.netbeans.spi.project.ui.support.DefaultProjectOperations;
166.1 --- a/ada.project/src/org/netbeans/modules/ada/project/AdaProject.java Tue Oct 02 21:55:21 2012 -0400
166.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/AdaProject.java Mon Oct 15 23:38:26 2012 +0200
166.3 @@ -81,7 +81,7 @@
166.4 *
166.5 * @author Andrea Lucarelli
166.6 */
166.7 -public class AdaProject implements Project {
166.8 +public final class AdaProject implements Project {
166.9
166.10 protected AntProjectHelper helper;
166.11 protected UpdateHelper updateHelper;
166.12 @@ -109,6 +109,7 @@
166.13 public AdaProject() {
166.14 }
166.15
166.16 + @Override
166.17 public FileObject getProjectDirectory() {
166.18 return helper.getProjectDirectory();
166.19 }
166.20 @@ -146,6 +147,7 @@
166.21 });
166.22 }
166.23
166.24 + @Override
166.25 public Lookup getLookup() {
166.26 return lookup;
166.27 }
166.28 @@ -215,6 +217,7 @@
166.29 public String getName() {
166.30 return ProjectManager.mutex().readAccess(new Mutex.Action<String>() {
166.31
166.32 + @Override
166.33 public String run() {
166.34 Element data = getHelper().getPrimaryConfigurationData(true);
166.35 NodeList nl = data.getElementsByTagNameNS(AdaProjectType.PROJECT_CONFIGURATION_NAMESPACE, "name"); // NOI18N
166.36 @@ -232,6 +235,7 @@
166.37 void setName(final String name) {
166.38 ProjectManager.mutex().writeAccess(new Runnable() {
166.39
166.40 + @Override
166.41 public void run() {
166.42 Element data = getHelper().getPrimaryConfigurationData(true);
166.43 NodeList nl = data.getElementsByTagNameNS(AdaProjectType.PROJECT_CONFIGURATION_NAMESPACE, "name"); // NOI18N
166.44 @@ -258,26 +262,32 @@
166.45 private final ImageIcon PROJECT_ICON = new ImageIcon(ImageUtilities.loadImage("org/netbeans/modules/ada/project/ui/resources/ada-lovelace-16.png"));
166.46 private final PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);
166.47
166.48 + @Override
166.49 public void addPropertyChangeListener(PropertyChangeListener listener) {
166.50 propertyChangeSupport.addPropertyChangeListener(listener);
166.51 }
166.52
166.53 + @Override
166.54 public void removePropertyChangeListener(PropertyChangeListener listener) {
166.55 propertyChangeSupport.removePropertyChangeListener(listener);
166.56 }
166.57
166.58 + @Override
166.59 public String getDisplayName() {
166.60 return getName();
166.61 }
166.62
166.63 + @Override
166.64 public Icon getIcon() {
166.65 return PROJECT_ICON;
166.66 }
166.67
166.68 + @Override
166.69 public String getName() {
166.70 return AdaProject.this.getName();
166.71 }
166.72
166.73 + @Override
166.74 public Project getProject() {
166.75 return AdaProject.this;
166.76 }
166.77 @@ -289,6 +299,7 @@
166.78
166.79 public final class AdaOpenedHook extends ProjectOpenedHook {
166.80
166.81 + @Override
166.82 protected void projectOpened() {
166.83 // register project's classpaths to GlobalPathRegistry
166.84 final AdaClassPathProvider cpProvider = getLookup().lookup(AdaClassPathProvider.class);
166.85 @@ -297,6 +308,7 @@
166.86 GlobalPathRegistry.getDefault().register(ClassPath.SOURCE, cpProvider.getProjectClassPaths(ClassPath.SOURCE));
166.87 }
166.88
166.89 + @Override
166.90 protected void projectClosed() {
166.91 // unregister project's classpaths to GlobalPathRegistry
166.92 final AdaClassPathProvider cpProvider = getLookup().lookup(AdaClassPathProvider.class);
166.93 @@ -316,6 +328,7 @@
166.94 public AdaProjectXmlSavedHook() {
166.95 }
166.96
166.97 + @Override
166.98 protected void projectXmlSaved() throws IOException {
166.99 Info info = getLookup().lookup(Info.class);
166.100 assert info != null;
166.101 @@ -343,16 +356,18 @@
166.102
166.103 // List of primarily supported templates
166.104 private static final String[] PRIVILEGED_NAMES = new String[]{
166.105 - "Templates/Ada/NewAdaMain", //NOI18N
166.106 - "Templates/Ada/NewAdaPackageSpec", // NOI18N
166.107 - "Templates/Ada/NewAdaPackageBody", // NOI18N
166.108 + "Templates/Ada/NewMain", //NOI18N
166.109 + "Templates/Ada/NewPackageSpec", // NOI18N
166.110 + "Templates/Ada/NewPackageBody", // NOI18N
166.111 "Templates/Other/Folder"
166.112 };
166.113
166.114 + @Override
166.115 public String[] getRecommendedTypes() {
166.116 return RECOMMENDED_TYPES;
166.117 }
166.118
166.119 + @Override
166.120 public String[] getPrivilegedTemplates() {
166.121 return PRIVILEGED_NAMES;
166.122 }
167.1 --- a/ada.project/src/org/netbeans/modules/ada/project/AdaSources.java Tue Oct 02 21:55:21 2012 -0400
167.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/AdaSources.java Mon Oct 15 23:38:26 2012 +0200
167.3 @@ -136,8 +136,12 @@
167.4 String prop = propNames[i];
167.5 String displayName = roots.getRootDisplayName(rootNames[i], prop);
167.6 String loc = "${" + prop + "}"; // NOI18N
167.7 - sourcesHelper.addPrincipalSourceRoot(loc, displayName, null, null); // NOI18N
167.8 - sourcesHelper.addTypedSourceRoot(loc, SOURCES_TYPE_ADA, displayName, null, null);
167.9 +// sourcesHelper.addPrincipalSourceRoot(loc, displayName, null, null); // NOI18N
167.10 +// sourcesHelper.addTypedSourceRoot(loc, SOURCES_TYPE_ADA, displayName, null, null);
167.11 + sourcesHelper.sourceRoot(loc).displayName(displayName)
167.12 + .add() // principal root
167.13 + .type(SOURCES_TYPE_ADA).add(); // typed root
167.14 +
167.15 }
167.16 }
167.17
168.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
168.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/api/AdaLanguageOptions.java Mon Oct 15 23:38:26 2012 +0200
168.3 @@ -0,0 +1,200 @@
168.4 +/*
168.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
168.6 + *
168.7 + * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
168.8 + *
168.9 + * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
168.10 + * Other names may be trademarks of their respective owners.
168.11 + *
168.12 + * The contents of this file are subject to the terms of either the GNU
168.13 + * General Public License Version 2 only ("GPL") or the Common
168.14 + * Development and Distribution License("CDDL") (collectively, the
168.15 + * "License"). You may not use this file except in compliance with the
168.16 + * License. You can obtain a copy of the License at
168.17 + * http://www.netbeans.org/cddl-gplv2.html
168.18 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
168.19 + * specific language governing permissions and limitations under the
168.20 + * License. When distributing the software, include this License Header
168.21 + * Notice in each file and include the License file at
168.22 + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
168.23 + * particular file as subject to the "Classpath" exception as provided
168.24 + * by Oracle in the GPL Version 2 section of the License file that
168.25 + * accompanied this code. If applicable, add the following below the
168.26 + * License Header, with the fields enclosed by brackets [] replaced by
168.27 + * your own identifying information:
168.28 + * "Portions Copyrighted [year] [name of copyright owner]"
168.29 + *
168.30 + * If you wish your version of this file to be governed by only the CDDL
168.31 + * or only the GPL Version 2, indicate your decision by adding
168.32 + * "[Contributor] elects to include this software in this distribution
168.33 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
168.34 + * single choice of license, a recipient has the option to distribute
168.35 + * your version of this file under either the CDDL, the GPL Version 2 or
168.36 + * to extend the choice of license to its licensees as provided above.
168.37 + * However, if you add GPL Version 2 code and therefore, elected the GPL
168.38 + * Version 2 license, then the option applies only if the new code is
168.39 + * made subject to such option by the copyright holder.
168.40 + *
168.41 + * Contributor(s):
168.42 + *
168.43 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
168.44 + */
168.45 +
168.46 +package org.netbeans.modules.ada.project.api;
168.47 +
168.48 +import java.beans.PropertyChangeListener;
168.49 +import java.beans.PropertyChangeSupport;
168.50 +import org.netbeans.modules.ada.project.AdaLanguageOptionsAccessor;
168.51 +import org.netbeans.modules.ada.project.AdaProject;
168.52 +import org.netbeans.modules.ada.project.options.AdaOptions;
168.53 +import org.openide.filesystems.FileObject;
168.54 +import org.openide.util.NbBundle;
168.55 +
168.56 +/**
168.57 + * Helper class to get Ada language properties like Ada dialects etc.
168.58 + * @author Andrea Lucarelli
168.59 + */
168.60 +public final class AdaLanguageOptions {
168.61 + /**
168.62 + * Property which is fired when {@link Properties#getAdaVersion()} changes.
168.63 + */
168.64 + public static final String PROP_ADA_VERSION = AdaLanguageOptions.class.getName() + ".adaVersion";
168.65 +
168.66 + /**
168.67 + * Ada version, currently used only for hints.
168.68 + * @see Properties#getAdaVersion()
168.69 + * @see #getProperties(FileObject)
168.70 + */
168.71 + public static enum AdaVersion {
168.72 + ADA_83(NbBundle.getMessage(AdaLanguageOptions.class, "ADA_83")),
168.73 + ADA_95(NbBundle.getMessage(AdaLanguageOptions.class, "ADA_95")),
168.74 + ADA_2005(NbBundle.getMessage(AdaLanguageOptions.class, "ADA_2005")),
168.75 + ADA_2012(NbBundle.getMessage(AdaLanguageOptions.class, "ADA_2012"));
168.76 +
168.77 + private final String displayName;
168.78 +
168.79 + AdaVersion(String displayName) {
168.80 + assert displayName != null;
168.81 + this.displayName = displayName;
168.82 + }
168.83 +
168.84 + public String getDisplayName() {
168.85 + return displayName;
168.86 + }
168.87 +
168.88 + @Override
168.89 + public String toString() {
168.90 + return getDisplayName();
168.91 + }
168.92 + };
168.93 +
168.94 + static final AdaLanguageOptions INSTANCE = new AdaLanguageOptions();
168.95 + private final PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);
168.96 +
168.97 + static {
168.98 + AdaLanguageOptionsAccessor.setDefault(new AdaLanguageOptionsAccessor() {
168.99 +
168.100 + @Override
168.101 + public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
168.102 + INSTANCE.firePropertyChange(propertyName, oldValue, newValue);
168.103 + }
168.104 + });
168.105 + }
168.106 +
168.107 + private AdaLanguageOptions() {
168.108 + }
168.109 +
168.110 + /**
168.111 + * Get the default instance of {@link AdaLanguageOptions} class.
168.112 + * @return the default instance of {@link AdaLanguageOptions} class.
168.113 + */
168.114 + public static AdaLanguageOptions getDefault() {
168.115 + return INSTANCE;
168.116 + }
168.117 +
168.118 + /**
168.119 + * Get {@link Properties Ada language properties} for the given file (can be <code>null</code>).
168.120 + * These properties are project specific. If no project is found for the file, then properties with the default values are returned.
168.121 + * @param file a file which could belong to a project (if not or <code>null</code>, properties with the default values are returned).
168.122 + * @return {@link Properties properties}.
168.123 + * @see AdaVersion
168.124 + */
168.125 + public Properties getProperties(FileObject file) {
168.126 + AdaVersion adaVersion = AdaVersion.ADA_95;
168.127 +
168.128 + if (file != null) {
168.129 + AdaProject adaProject = org.netbeans.modules.ada.project.ui.Utils.getAdaProject(file);
168.130 + if (adaProject != null) {
168.131 + adaVersion = getAdaVersion(adaProject);
168.132 + }
168.133 + }
168.134 + return new Properties(adaVersion);
168.135 + }
168.136 +
168.137 + public static AdaVersion getAdaVersion(AdaProject project) {
168.138 + String value = project.getEvaluator().getProperty(AdaOptions.ADA_DIALECTS);
168.139 + AdaVersion adaVersion = null;
168.140 + if (value != null) {
168.141 + try {
168.142 + adaVersion = AdaVersion.valueOf(value);
168.143 + } catch (IllegalArgumentException iae) {
168.144 + // ignored
168.145 + }
168.146 + }
168.147 + return adaVersion != null ? adaVersion : AdaVersion.ADA_95;
168.148 +
168.149 + }
168.150 +
168.151 + /**
168.152 + * Add listener that is notified when any "important" Ada language property changes.
168.153 + * @param listener a listener to add
168.154 + * @see #removePropertyChangeListener(PropertyChangeListener)
168.155 + */
168.156 + public void addPropertyChangeListener(PropertyChangeListener listener) {
168.157 + propertyChangeSupport.addPropertyChangeListener(listener);
168.158 + }
168.159 +
168.160 + /**
168.161 + * Remove listener.
168.162 + * @param listener a listener to remove
168.163 + * @see #addPropertyChangeListener(PropertyChangeListener)
168.164 + */
168.165 + public void removePropertyChangeListener(PropertyChangeListener listener) {
168.166 + propertyChangeSupport.removePropertyChangeListener(listener);
168.167 + }
168.168 +
168.169 + void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
168.170 + propertyChangeSupport.firePropertyChange(propertyName, oldValue, newValue);
168.171 + }
168.172 +
168.173 + /**
168.174 + * Data object for Ada language properties.
168.175 + */
168.176 + public static final class Properties {
168.177 + private final AdaVersion adaVersion;
168.178 +
168.179 + Properties(AdaVersion adaVersion) {
168.180 + this.adaVersion = adaVersion;
168.181 + }
168.182 +
168.183 +
168.184 + /**
168.185 + * Get the {@link AdaVersion Ada version} of the project.
168.186 + * If not specified, {@link AdaVersion#ADA_95 Ada 95} is returned.
168.187 + * @return the {@link AdaVersion Ada version} of the project
168.188 + */
168.189 + public AdaVersion getAdaVersion() {
168.190 + return adaVersion;
168.191 + }
168.192 +
168.193 + @Override
168.194 + public String toString() {
168.195 + StringBuilder sb = new StringBuilder(100);
168.196 + sb.append(getClass().getName());
168.197 + sb.append(" [Ada Version: ");
168.198 + sb.append(adaVersion);
168.199 + sb.append("]");
168.200 + return sb.toString();
168.201 + }
168.202 + }
168.203 +}
169.1 --- a/ada.project/src/org/netbeans/modules/ada/project/api/AdaSourcePath.java Tue Oct 02 21:55:21 2012 -0400
169.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/api/AdaSourcePath.java Mon Oct 15 23:38:26 2012 +0200
169.3 @@ -48,7 +48,6 @@
169.4 public final class AdaSourcePath {
169.5 public static final String BOOT_CP = "classpath/ada-boot"; //NOI18N
169.6 public static final String SOURCE_CP = "classpath/ada-source"; //NOI18N
169.7 - public static final String MIME_TYPE = "text/x-ada"; // NOI18N
169.8
169.9 /**
169.10 * Possible types of a file.
170.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
170.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/api/Bundle.properties Mon Oct 15 23:38:26 2012 +0200
170.3 @@ -0,0 +1,44 @@
170.4 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
170.5 +#
170.6 +# Copyright 2010 Oracle and/or its affiliates. All rights reserved.
170.7 +#
170.8 +# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
170.9 +# Other names may be trademarks of their respective owners.
170.10 +#
170.11 +# The contents of this file are subject to the terms of either the GNU
170.12 +# General Public License Version 2 only ("GPL") or the Common
170.13 +# Development and Distribution License("CDDL") (collectively, the
170.14 +# "License"). You may not use this file except in compliance with the
170.15 +# License. You can obtain a copy of the License at
170.16 +# http://www.netbeans.org/cddl-gplv2.html
170.17 +# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
170.18 +# specific language governing permissions and limitations under the
170.19 +# License. When distributing the software, include this License Header
170.20 +# Notice in each file and include the License file at
170.21 +# nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
170.22 +# particular file as subject to the "Classpath" exception as provided
170.23 +# by Oracle in the GPL Version 2 section of the License file that
170.24 +# accompanied this code. If applicable, add the following below the
170.25 +# License Header, with the fields enclosed by brackets [] replaced by
170.26 +# your own identifying information:
170.27 +# "Portions Copyrighted [year] [name of copyright owner]"
170.28 +#
170.29 +# If you wish your version of this file to be governed by only the CDDL
170.30 +# or only the GPL Version 2, indicate your decision by adding
170.31 +# "[Contributor] elects to include this software in this distribution
170.32 +# under the [CDDL or GPL Version 2] license." If you do not indicate a
170.33 +# single choice of license, a recipient has the option to distribute
170.34 +# your version of this file under either the CDDL, the GPL Version 2 or
170.35 +# to extend the choice of license to its licensees as provided above.
170.36 +# However, if you add GPL Version 2 code and therefore, elected the GPL
170.37 +# Version 2 license, then the option applies only if the new code is
170.38 +# made subject to such option by the copyright holder.
170.39 +#
170.40 +# Contributor(s):
170.41 +#
170.42 +# Portions Copyrighted 2009 Sun Microsystems, Inc.
170.43 +
170.44 +ADA_83=Ada 83
170.45 +ADA_95=Ada 95
170.46 +ADA_2005=Ada 2005
170.47 +ADA_2012=Ada 2012
170.48 \ No newline at end of file
171.1 --- a/ada.project/src/org/netbeans/modules/ada/project/options/AdaGeneralOptionsPanel.form Tue Oct 02 21:55:21 2012 -0400
171.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
171.3 @@ -1,410 +0,0 @@
171.4 -<?xml version="1.0" encoding="UTF-8" ?>
171.5 -
171.6 -<Form version="1.5" maxVersion="1.6" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
171.7 - <AuxValues>
171.8 - <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
171.9 - <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
171.10 - <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="false"/>
171.11 - <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
171.12 - <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
171.13 - <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="2"/>
171.14 - <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
171.15 - <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
171.16 - <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
171.17 - </AuxValues>
171.18 -
171.19 - <Layout>
171.20 - <DimensionLayout dim="0">
171.21 - <Group type="103" groupAlignment="0" attributes="0">
171.22 - <Group type="102" attributes="0">
171.23 - <Group type="103" groupAlignment="0" attributes="0">
171.24 - <Group type="102" alignment="0" attributes="0">
171.25 - <EmptySpace min="-2" max="-2" attributes="0"/>
171.26 - <Group type="103" groupAlignment="0" attributes="0">
171.27 - <Group type="102" alignment="0" attributes="0">
171.28 - <Component id="standardsLabel" min="-2" max="-2" attributes="0"/>
171.29 - <EmptySpace max="-2" attributes="0"/>
171.30 - <Component id="standardsLineSeparator" pref="572" max="32767" attributes="0"/>
171.31 - </Group>
171.32 - <Component id="errorLabel" alignment="0" min="-2" max="-2" attributes="0"/>
171.33 - <Group type="102" alignment="0" attributes="0">
171.34 - <EmptySpace min="12" pref="12" max="12" attributes="0"/>
171.35 - <Group type="103" groupAlignment="0" attributes="0">
171.36 - <Component id="adaRestrictionsLabel" linkSize="4" alignment="0" min="-2" max="-2" attributes="0"/>
171.37 - <Component id="adaDialectsLabel" linkSize="4" alignment="0" min="-2" pref="63" max="-2" attributes="0"/>
171.38 - </Group>
171.39 - <EmptySpace type="unrelated" max="-2" attributes="0"/>
171.40 - <Group type="103" groupAlignment="0" attributes="0">
171.41 - <Component id="adaRestrictionsComboBox" linkSize="5" alignment="0" min="-2" max="-2" attributes="0"/>
171.42 - <Component id="adaDialectsComboBox" linkSize="5" alignment="0" min="-2" max="-2" attributes="0"/>
171.43 - </Group>
171.44 - <EmptySpace min="-2" pref="373" max="-2" attributes="0"/>
171.45 - </Group>
171.46 - </Group>
171.47 - </Group>
171.48 - <Group type="102" attributes="0">
171.49 - <EmptySpace min="-2" pref="20" max="-2" attributes="0"/>
171.50 - <Group type="103" groupAlignment="1" max="-2" attributes="0">
171.51 - <Component id="pkgBodyMaskLabel" linkSize="6" alignment="0" max="32767" attributes="1"/>
171.52 - <Component id="pkgSpecMaskLabel" linkSize="6" alignment="0" max="32767" attributes="1"/>
171.53 - <Component id="separatorMaskLabel" linkSize="6" alignment="0" min="-2" pref="107" max="-2" attributes="1"/>
171.54 - </Group>
171.55 - <EmptySpace type="unrelated" max="-2" attributes="0"/>
171.56 - <Group type="103" groupAlignment="0" attributes="0">
171.57 - <Group type="103" alignment="0" groupAlignment="1" attributes="0">
171.58 - <Group type="103" alignment="1" groupAlignment="0" attributes="0">
171.59 - <Component id="pkgSpecPrefixComboBox" linkSize="9" min="-2" max="-2" attributes="0"/>
171.60 - <Component id="pkgBodyPrefixComboBox" linkSize="9" alignment="0" min="-2" max="-2" attributes="0"/>
171.61 - </Group>
171.62 - <Component id="prefixTitleLabel" min="-2" max="-2" attributes="1"/>
171.63 - </Group>
171.64 - <Component id="separatePrefixComboBox" linkSize="9" alignment="0" min="-2" max="-2" attributes="0"/>
171.65 - </Group>
171.66 - <EmptySpace max="-2" attributes="0"/>
171.67 - <Group type="103" groupAlignment="1" attributes="0">
171.68 - <Component id="separatorTitleLabel" min="-2" max="-2" attributes="1"/>
171.69 - <Component id="pkgSpecSepTextField" linkSize="7" min="-2" pref="38" max="-2" attributes="0"/>
171.70 - <Component id="pkgBodySepTextField" linkSize="7" min="-2" pref="38" max="-2" attributes="0"/>
171.71 - <Component id="separateSepTextField" linkSize="7" min="-2" pref="38" max="-2" attributes="0"/>
171.72 - </Group>
171.73 - <EmptySpace max="-2" attributes="0"/>
171.74 - <Group type="103" groupAlignment="0" max="-2" attributes="0">
171.75 - <Component id="pkgBodyPostfixComboBox" linkSize="9" alignment="0" pref="110" max="32767" attributes="1"/>
171.76 - <Component id="separatePostfixComboBox" linkSize="9" alignment="0" max="32767" attributes="1"/>
171.77 - <Component id="pkgSpecPostfixComboBox" linkSize="9" alignment="0" max="32767" attributes="1"/>
171.78 - <Component id="postfixTitleLabel" alignment="1" min="-2" max="-2" attributes="1"/>
171.79 - </Group>
171.80 - <EmptySpace max="-2" attributes="0"/>
171.81 - <Group type="103" groupAlignment="0" max="-2" attributes="0">
171.82 - <Component id="separateExtComboBox" min="0" pref="0" max="32767" attributes="1"/>
171.83 - <Component id="pkgBodyExtComboBox" alignment="0" min="0" pref="0" max="32767" attributes="1"/>
171.84 - <Component id="pkgSpecExtComboBox" alignment="0" min="0" pref="0" max="32767" attributes="1"/>
171.85 - <Group type="102" alignment="0" attributes="0">
171.86 - <EmptySpace min="-2" pref="41" max="-2" attributes="0"/>
171.87 - <Component id="extTitleLabel" min="-2" max="-2" attributes="1"/>
171.88 - </Group>
171.89 - </Group>
171.90 - </Group>
171.91 - <Group type="102" alignment="0" attributes="0">
171.92 - <EmptySpace min="-2" max="-2" attributes="0"/>
171.93 - <Component id="namingLabel" min="-2" max="-2" attributes="0"/>
171.94 - <EmptySpace min="-2" max="-2" attributes="0"/>
171.95 - <Component id="namingLineSeparator" pref="586" max="32767" attributes="0"/>
171.96 - </Group>
171.97 - </Group>
171.98 - <EmptySpace max="-2" attributes="0"/>
171.99 - </Group>
171.100 - </Group>
171.101 - </DimensionLayout>
171.102 - <DimensionLayout dim="1">
171.103 - <Group type="103" groupAlignment="0" attributes="0">
171.104 - <Group type="102" attributes="0">
171.105 - <EmptySpace max="-2" attributes="0"/>
171.106 - <Group type="103" groupAlignment="2" attributes="0">
171.107 - <Component id="standardsLineSeparator" alignment="2" min="-2" pref="12" max="-2" attributes="0"/>
171.108 - <Component id="standardsLabel" alignment="2" min="-2" max="-2" attributes="0"/>
171.109 - </Group>
171.110 - <EmptySpace min="-2" max="-2" attributes="0"/>
171.111 - <Group type="103" groupAlignment="2" attributes="0">
171.112 - <Component id="adaDialectsComboBox" alignment="2" min="-2" max="-2" attributes="0"/>
171.113 - <Component id="adaDialectsLabel" alignment="2" min="-2" max="-2" attributes="0"/>
171.114 - </Group>
171.115 - <EmptySpace max="-2" attributes="0"/>
171.116 - <Group type="103" groupAlignment="2" attributes="0">
171.117 - <Component id="adaRestrictionsComboBox" alignment="2" min="-2" max="-2" attributes="0"/>
171.118 - <Component id="adaRestrictionsLabel" alignment="2" min="-2" max="-2" attributes="0"/>
171.119 - </Group>
171.120 - <EmptySpace type="separate" max="-2" attributes="0"/>
171.121 - <Group type="103" groupAlignment="2" attributes="0">
171.122 - <Component id="namingLineSeparator" alignment="2" min="-2" pref="10" max="-2" attributes="0"/>
171.123 - <Component id="namingLabel" alignment="2" min="-2" max="-2" attributes="0"/>
171.124 - </Group>
171.125 - <EmptySpace min="-2" pref="1" max="-2" attributes="0"/>
171.126 - <Group type="103" groupAlignment="0" attributes="0">
171.127 - <Group type="103" alignment="0" groupAlignment="3" attributes="0">
171.128 - <Component id="prefixTitleLabel" alignment="3" min="-2" max="-2" attributes="0"/>
171.129 - <Component id="separatorTitleLabel" alignment="3" min="-2" max="-2" attributes="0"/>
171.130 - </Group>
171.131 - <Component id="extTitleLabel" alignment="0" min="-2" max="-2" attributes="0"/>
171.132 - <Component id="postfixTitleLabel" alignment="0" min="-2" max="-2" attributes="0"/>
171.133 - </Group>
171.134 - <EmptySpace min="-2" pref="4" max="-2" attributes="0"/>
171.135 - <Group type="103" groupAlignment="2" attributes="0">
171.136 - <Component id="pkgSpecMaskLabel" alignment="2" min="-2" max="-2" attributes="0"/>
171.137 - <Component id="pkgSpecPrefixComboBox" alignment="2" min="-2" max="-2" attributes="0"/>
171.138 - <Component id="pkgSpecSepTextField" alignment="2" min="-2" max="-2" attributes="0"/>
171.139 - <Component id="pkgSpecPostfixComboBox" alignment="2" min="-2" max="-2" attributes="0"/>
171.140 - <Component id="pkgSpecExtComboBox" alignment="2" min="-2" max="-2" attributes="0"/>
171.141 - </Group>
171.142 - <EmptySpace max="-2" attributes="0"/>
171.143 - <Group type="103" groupAlignment="0" attributes="0">
171.144 - <Group type="103" alignment="0" groupAlignment="2" attributes="0">
171.145 - <Component id="pkgBodyPrefixComboBox" alignment="2" min="-2" max="-2" attributes="0"/>
171.146 - <Component id="pkgBodyMaskLabel" alignment="2" min="-2" max="-2" attributes="0"/>
171.147 - </Group>
171.148 - <Component id="pkgBodyExtComboBox" alignment="0" min="-2" max="-2" attributes="0"/>
171.149 - <Group type="103" alignment="0" groupAlignment="3" attributes="0">
171.150 - <Component id="pkgBodyPostfixComboBox" alignment="3" min="-2" max="-2" attributes="0"/>
171.151 - <Component id="pkgBodySepTextField" alignment="3" min="-2" max="-2" attributes="0"/>
171.152 - </Group>
171.153 - </Group>
171.154 - <EmptySpace max="-2" attributes="0"/>
171.155 - <Group type="103" groupAlignment="2" attributes="0">
171.156 - <Component id="separatorMaskLabel" alignment="2" min="-2" max="-2" attributes="0"/>
171.157 - <Component id="separatePrefixComboBox" alignment="2" min="-2" max="-2" attributes="0"/>
171.158 - <Component id="separateSepTextField" alignment="2" min="-2" max="-2" attributes="0"/>
171.159 - <Component id="separatePostfixComboBox" alignment="2" min="-2" max="-2" attributes="0"/>
171.160 - <Component id="separateExtComboBox" alignment="2" min="-2" max="-2" attributes="0"/>
171.161 - </Group>
171.162 - <EmptySpace pref="150" max="32767" attributes="0"/>
171.163 - <Component id="errorLabel" min="-2" max="-2" attributes="0"/>
171.164 - <EmptySpace max="-2" attributes="0"/>
171.165 - </Group>
171.166 - </Group>
171.167 - </DimensionLayout>
171.168 - </Layout>
171.169 - <SubComponents>
171.170 - <Component class="javax.swing.JLabel" name="standardsLabel">
171.171 - <Properties>
171.172 - <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
171.173 - <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_Standards" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
171.174 - </Property>
171.175 - </Properties>
171.176 - </Component>
171.177 - <Component class="javax.swing.JSeparator" name="standardsLineSeparator">
171.178 - </Component>
171.179 - <Component class="javax.swing.JLabel" name="adaDialectsLabel">
171.180 - <Properties>
171.181 - <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
171.182 - <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_AdaDialects" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
171.183 - </Property>
171.184 - </Properties>
171.185 - </Component>
171.186 - <Component class="javax.swing.JLabel" name="namingLabel">
171.187 - <Properties>
171.188 - <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
171.189 - <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_Naming" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
171.190 - </Property>
171.191 - </Properties>
171.192 - </Component>
171.193 - <Component class="javax.swing.JSeparator" name="namingLineSeparator">
171.194 - </Component>
171.195 - <Component class="javax.swing.JLabel" name="errorLabel">
171.196 - <Properties>
171.197 - <Property name="text" type="java.lang.String" value="ERROR"/>
171.198 - </Properties>
171.199 - </Component>
171.200 - <Component class="javax.swing.JLabel" name="adaRestrictionsLabel">
171.201 - <Properties>
171.202 - <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
171.203 - <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_adaRestrictions" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
171.204 - </Property>
171.205 - </Properties>
171.206 - </Component>
171.207 - <Component class="javax.swing.JComboBox" name="adaDialectsComboBox">
171.208 - <Properties>
171.209 - <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
171.210 - <StringArray count="3">
171.211 - <StringItem index="0" value="Ada 83"/>
171.212 - <StringItem index="1" value="Ada 95"/>
171.213 - <StringItem index="2" value="Ada 2005"/>
171.214 - </StringArray>
171.215 - </Property>
171.216 - </Properties>
171.217 - <Events>
171.218 - <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="adaDialectsComboBoxActionPerformed"/>
171.219 - </Events>
171.220 - </Component>
171.221 - <Component class="javax.swing.JComboBox" name="adaRestrictionsComboBox">
171.222 - <Properties>
171.223 - <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
171.224 - <StringArray count="3">
171.225 - <StringItem index="0" value="None"/>
171.226 - <StringItem index="1" value="Spark"/>
171.227 - <StringItem index="2" value="MIL-STD-498"/>
171.228 - </StringArray>
171.229 - </Property>
171.230 - </Properties>
171.231 - <Events>
171.232 - <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="adaRestrictionsComboBoxActionPerformed"/>
171.233 - </Events>
171.234 - </Component>
171.235 - <Component class="javax.swing.JLabel" name="pkgSpecMaskLabel">
171.236 - <Properties>
171.237 - <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
171.238 - <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_pkgSpecMask" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
171.239 - </Property>
171.240 - </Properties>
171.241 - </Component>
171.242 - <Component class="javax.swing.JLabel" name="pkgBodyMaskLabel">
171.243 - <Properties>
171.244 - <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
171.245 - <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_pkgBodyMask" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
171.246 - </Property>
171.247 - </Properties>
171.248 - </Component>
171.249 - <Component class="javax.swing.JLabel" name="separatorMaskLabel">
171.250 - <Properties>
171.251 - <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
171.252 - <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_separatorMask" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
171.253 - </Property>
171.254 - </Properties>
171.255 - </Component>
171.256 - <Component class="javax.swing.JTextField" name="pkgSpecSepTextField">
171.257 - <Properties>
171.258 - <Property name="horizontalAlignment" type="int" value="0"/>
171.259 - </Properties>
171.260 - </Component>
171.261 - <Component class="javax.swing.JTextField" name="separateSepTextField">
171.262 - <Properties>
171.263 - <Property name="horizontalAlignment" type="int" value="0"/>
171.264 - </Properties>
171.265 - </Component>
171.266 - <Component class="javax.swing.JTextField" name="pkgBodySepTextField">
171.267 - <Properties>
171.268 - <Property name="horizontalAlignment" type="int" value="0"/>
171.269 - </Properties>
171.270 - </Component>
171.271 - <Component class="javax.swing.JLabel" name="extTitleLabel">
171.272 - <Properties>
171.273 - <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
171.274 - <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_extTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
171.275 - </Property>
171.276 - </Properties>
171.277 - </Component>
171.278 - <Component class="javax.swing.JComboBox" name="pkgSpecPrefixComboBox">
171.279 - <Properties>
171.280 - <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
171.281 - <StringArray count="2">
171.282 - <StringItem index="0" value="<package name>"/>
171.283 - <StringItem index="1" value="<free name>"/>
171.284 - </StringArray>
171.285 - </Property>
171.286 - <Property name="enabled" type="boolean" value="false"/>
171.287 - </Properties>
171.288 - </Component>
171.289 - <Component class="javax.swing.JLabel" name="prefixTitleLabel">
171.290 - <Properties>
171.291 - <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
171.292 - <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_prefixTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
171.293 - </Property>
171.294 - </Properties>
171.295 - </Component>
171.296 - <Component class="javax.swing.JComboBox" name="pkgBodyPrefixComboBox">
171.297 - <Properties>
171.298 - <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
171.299 - <StringArray count="2">
171.300 - <StringItem index="0" value="<package name>"/>
171.301 - <StringItem index="1" value="<free name>"/>
171.302 - </StringArray>
171.303 - </Property>
171.304 - <Property name="enabled" type="boolean" value="false"/>
171.305 - </Properties>
171.306 - </Component>
171.307 - <Component class="javax.swing.JLabel" name="postfixTitleLabel">
171.308 - <Properties>
171.309 - <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
171.310 - <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_postfixTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
171.311 - </Property>
171.312 - </Properties>
171.313 - </Component>
171.314 - <Component class="javax.swing.JComboBox" name="pkgSpecPostfixComboBox">
171.315 - <Properties>
171.316 - <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
171.317 - <StringArray count="2">
171.318 - <StringItem index="0" value="<none>"/>
171.319 - <StringItem index="1" value="<free name>"/>
171.320 - </StringArray>
171.321 - </Property>
171.322 - </Properties>
171.323 - <Events>
171.324 - <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="pkgSpecPostfixComboBoxActionPerformed"/>
171.325 - </Events>
171.326 - </Component>
171.327 - <Component class="javax.swing.JComboBox" name="separatePrefixComboBox">
171.328 - <Properties>
171.329 - <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
171.330 - <StringArray count="2">
171.331 - <StringItem index="0" value="<package name>"/>
171.332 - <StringItem index="1" value="<free name>"/>
171.333 - </StringArray>
171.334 - </Property>
171.335 - <Property name="enabled" type="boolean" value="false"/>
171.336 - </Properties>
171.337 - </Component>
171.338 - <Component class="javax.swing.JComboBox" name="pkgBodyPostfixComboBox">
171.339 - <Properties>
171.340 - <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
171.341 - <StringArray count="2">
171.342 - <StringItem index="0" value="<none>"/>
171.343 - <StringItem index="1" value="<free name>"/>
171.344 - </StringArray>
171.345 - </Property>
171.346 - </Properties>
171.347 - <Events>
171.348 - <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="pkgBodyPostfixComboBoxActionPerformed"/>
171.349 - </Events>
171.350 - </Component>
171.351 - <Component class="javax.swing.JComboBox" name="separatePostfixComboBox">
171.352 - <Properties>
171.353 - <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
171.354 - <StringArray count="3">
171.355 - <StringItem index="0" value="<procedure name>"/>
171.356 - <StringItem index="1" value="<free name>"/>
171.357 - <StringItem index="2" value="<none>"/>
171.358 - </StringArray>
171.359 - </Property>
171.360 - <Property name="enabled" type="boolean" value="false"/>
171.361 - </Properties>
171.362 - <Events>
171.363 - <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="separatePostfixComboBoxActionPerformed"/>
171.364 - </Events>
171.365 - </Component>
171.366 - <Component class="javax.swing.JComboBox" name="pkgSpecExtComboBox">
171.367 - <Properties>
171.368 - <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
171.369 - <StringArray count="2">
171.370 - <StringItem index="0" value="ads"/>
171.371 - <StringItem index="1" value="ada"/>
171.372 - </StringArray>
171.373 - </Property>
171.374 - </Properties>
171.375 - <Events>
171.376 - <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="pkgSpecExtComboBoxActionPerformed"/>
171.377 - </Events>
171.378 - </Component>
171.379 - <Component class="javax.swing.JComboBox" name="pkgBodyExtComboBox">
171.380 - <Properties>
171.381 - <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
171.382 - <StringArray count="2">
171.383 - <StringItem index="0" value="adb"/>
171.384 - <StringItem index="1" value="ada"/>
171.385 - </StringArray>
171.386 - </Property>
171.387 - </Properties>
171.388 - <Events>
171.389 - <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="pkgBodyExtComboBoxActionPerformed"/>
171.390 - </Events>
171.391 - </Component>
171.392 - <Component class="javax.swing.JComboBox" name="separateExtComboBox">
171.393 - <Properties>
171.394 - <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
171.395 - <StringArray count="2">
171.396 - <StringItem index="0" value="adb"/>
171.397 - <StringItem index="1" value="ada"/>
171.398 - </StringArray>
171.399 - </Property>
171.400 - </Properties>
171.401 - <Events>
171.402 - <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="separateExtComboBoxActionPerformed"/>
171.403 - </Events>
171.404 - </Component>
171.405 - <Component class="javax.swing.JLabel" name="separatorTitleLabel">
171.406 - <Properties>
171.407 - <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
171.408 - <ResourceString bundle="org/netbeans/modules/ada/project/options/Bundle.properties" key="AdaGeneralOptionsPanel.separatorTitleLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
171.409 - </Property>
171.410 - </Properties>
171.411 - </Component>
171.412 - </SubComponents>
171.413 -</Form>
172.1 --- a/ada.project/src/org/netbeans/modules/ada/project/options/AdaGeneralOptionsPanel.java Tue Oct 02 21:55:21 2012 -0400
172.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
172.3 @@ -1,589 +0,0 @@
172.4 -/*
172.5 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
172.6 - *
172.7 - * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
172.8 - *
172.9 - * The contents of this file are subject to the terms of either the GNU
172.10 - * General Public License Version 2 only ("GPL") or the Common
172.11 - * Development and Distribution License("CDDL") (collectively, the
172.12 - * "License"). You may not use this file except in compliance with the
172.13 - * License. You can obtain a copy of the License at
172.14 - * http://www.netbeans.org/cddl-gplv2.html
172.15 - * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
172.16 - * specific language governing permissions and limitations under the
172.17 - * License. When distributing the software, include this License Header
172.18 - * Notice in each file and include the License file at
172.19 - * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
172.20 - * particular file as subject to the "Classpath" exception as provided
172.21 - * by Sun in the GPL Version 2 section of the License file that
172.22 - * accompanied this code. If applicable, add the following below the
172.23 - * License Header, with the fields enclosed by brackets [] replaced by
172.24 - * your own identifying information:
172.25 - * "Portions Copyrighted [year] [name of copyright owner]"
172.26 - *
172.27 - * If you wish your version of this file to be governed by only the CDDL
172.28 - * or only the GPL Version 2, indicate your decision by adding
172.29 - * "[Contributor] elects to include this software in this distribution
172.30 - * under the [CDDL or GPL Version 2] license." If you do not indicate a
172.31 - * single choice of license, a recipient has the option to distribute
172.32 - * your version of this file under either the CDDL, the GPL Version 2 or
172.33 - * to extend the choice of license to its licensees as provided above.
172.34 - * However, if you add GPL Version 2 code and therefore, elected the GPL
172.35 - * Version 2 license, then the option applies only if the new code is
172.36 - * made subject to such option by the copyright holder.
172.37 - *
172.38 - * Contributor(s):
172.39 - *
172.40 - * Portions Copyrighted 2008 Sun Microsystems, Inc.
172.41 - */
172.42 -
172.43 -package org.netbeans.modules.ada.project.options;
172.44 -
172.45 -import java.awt.Component;
172.46 -import java.awt.event.ActionEvent;
172.47 -import java.awt.event.ActionListener;
172.48 -import javax.swing.DefaultComboBoxModel;
172.49 -import javax.swing.JComboBox;
172.50 -import javax.swing.JLabel;
172.51 -import javax.swing.JPanel;
172.52 -import javax.swing.JSeparator;
172.53 -import javax.swing.JTextField;
172.54 -import javax.swing.UIManager;
172.55 -import javax.swing.event.ChangeListener;
172.56 -import javax.swing.event.DocumentEvent;
172.57 -import javax.swing.event.DocumentListener;
172.58 -import org.jdesktop.layout.GroupLayout;
172.59 -import org.jdesktop.layout.LayoutStyle;
172.60 -import org.netbeans.modules.ada.project.ui.properties.AdaProjectProperties;
172.61 -import org.openide.awt.Mnemonics;
172.62 -import org.openide.util.ChangeSupport;
172.63 -import org.openide.util.NbBundle;
172.64 -
172.65 -/**
172.66 - * @author Andrea Lucarelli
172.67 - */
172.68 -public class AdaGeneralOptionsPanel extends JPanel {
172.69 -
172.70 - private final ChangeSupport changeSupport = new ChangeSupport(this);
172.71 - private final AdaProjectProperties uiProperties;
172.72 -
172.73 - public AdaGeneralOptionsPanel(final AdaProjectProperties uiProperties) {
172.74 - this.uiProperties = uiProperties;
172.75 - initComponents();
172.76 - errorLabel.setText(" "); // NOI18N
172.77 -
172.78 - // listeners
172.79 - //DocumentListener documentListener = new DefaultDocumentListener();
172.80 - if (uiProperties != null) {
172.81 - setAdaDialects(uiProperties.getAdaDialects());
172.82 - setAdaRestrictions(uiProperties.getAdaRestrictions());
172.83 - setPkgSpecPrefix(uiProperties.getPkgSpecPrefix());
172.84 - setPkgBodyPrefix(uiProperties.getPkgBodyPrefix());
172.85 - setSeparatePrefix(uiProperties.getSeparatePrefix());
172.86 - setPkgSpecPostfix(uiProperties.getPkgSpecPostfix());
172.87 - setPkgBodyPostfix(uiProperties.getPkgBodyPostfix());
172.88 - setSeparatePostfix(uiProperties.getSeparatePostfix());
172.89 - setPkgSpecExt(uiProperties.getPkgSpecExt());
172.90 - setPkgBodyExt(uiProperties.getPkgBodyExt());
172.91 - setSeparateExt(uiProperties.getSeparateExt());
172.92 - }
172.93 - }
172.94 -
172.95 - public String getAdaDialects() {
172.96 - if (adaDialectsComboBox.getSelectedItem() != null) {
172.97 - return adaDialectsComboBox.getSelectedItem().toString();
172.98 - }
172.99 - return "";
172.100 - }
172.101 -
172.102 - public void setAdaDialects(String adaDialects) {
172.103 - adaDialectsComboBox.setSelectedItem(adaDialects);
172.104 - }
172.105 -
172.106 - public String getAdaRestrictions() {
172.107 - if (adaRestrictionsComboBox.getSelectedItem() != null) {
172.108 - return adaRestrictionsComboBox.getSelectedItem().toString();
172.109 - }
172.110 - return "";
172.111 - }
172.112 -
172.113 - public void setAdaRestrictions(String adaRestrictions) {
172.114 - adaRestrictionsComboBox.setSelectedItem(adaRestrictions);
172.115 - }
172.116 -
172.117 - public String getPkgSpecPrefix() {
172.118 - return pkgSpecPrefixComboBox.getSelectedItem().toString();
172.119 - }
172.120 -
172.121 - public void setPkgSpecPrefix(String pkgSpecPrefix) {
172.122 - pkgSpecPrefixComboBox.setSelectedItem(pkgSpecPrefix);
172.123 - }
172.124 -
172.125 - public String getPkgBodyPrefix() {
172.126 - return pkgBodyPrefixComboBox.getSelectedItem().toString();
172.127 - }
172.128 -
172.129 - public void setPkgBodyPrefix(String pkgBodyPrefix) {
172.130 - pkgBodyPrefixComboBox.setSelectedItem(pkgBodyPrefix);
172.131 - }
172.132 -
172.133 - public String getSeparatePrefix() {
172.134 - return separatePrefixComboBox.getSelectedItem().toString();
172.135 - }
172.136 -
172.137 - public void setSeparatePrefix(String separatePrefix) {
172.138 - separatePrefixComboBox.setSelectedItem(separatePrefix);
172.139 - }
172.140 -
172.141 - public String getPkgSpecPostfix() {
172.142 - return pkgSpecPostfixComboBox.getSelectedItem().toString();
172.143 - }
172.144 -
172.145 - public void setPkgSpecPostfix(String pkgSpecPostfix) {
172.146 - if (pkgSpecPostfix.equalsIgnoreCase("<none>")) {
172.147 - pkgSpecPostfixComboBox.setSelectedItem(pkgSpecPostfix);
172.148 - } else {
172.149 - pkgSpecPostfixComboBox.setEditable(true);
172.150 - pkgSpecPostfixComboBox.addItem(pkgSpecPostfix);
172.151 - pkgSpecPostfixComboBox.setSelectedItem(pkgSpecPostfix);
172.152 - }
172.153 - }
172.154 -
172.155 - public String getPkgBodyPostfix() {
172.156 - return pkgBodyPostfixComboBox.getSelectedItem().toString();
172.157 - }
172.158 -
172.159 - public void setPkgBodyPostfix(String pkgBodyPostfix) {
172.160 - if (pkgBodyPostfix.equalsIgnoreCase("<none>")) {
172.161 - pkgBodyPostfixComboBox.setSelectedItem(pkgBodyPostfix);
172.162 - } else {
172.163 - pkgBodyPostfixComboBox.setEditable(true);
172.164 - pkgBodyPostfixComboBox.addItem(pkgBodyPostfix);
172.165 - pkgBodyPostfixComboBox.setSelectedItem(pkgBodyPostfix);
172.166 - }
172.167 - }
172.168 -
172.169 - public String getSeparatePostfix() {
172.170 - return separatePostfixComboBox.getSelectedItem().toString();
172.171 - }
172.172 -
172.173 - public void setSeparatePostfix(String separatePostfix) {
172.174 - separatePostfixComboBox.setSelectedItem(separatePostfix);
172.175 - }
172.176 -
172.177 - public String getPkgSpecExt() {
172.178 - return pkgSpecExtComboBox.getSelectedItem().toString();
172.179 - }
172.180 -
172.181 - public void setPkgSpecExt(String pkgSpecExt) {
172.182 - pkgSpecExtComboBox.setSelectedItem(pkgSpecExt);
172.183 - }
172.184 -
172.185 - public String getPkgBodyExt() {
172.186 - return pkgBodyExtComboBox.getSelectedItem().toString();
172.187 - }
172.188 -
172.189 - public void setPkgBodyExt(String pkgBodyExt) {
172.190 - pkgBodyExtComboBox.setSelectedItem(pkgBodyExt);
172.191 - }
172.192 -
172.193 - public String getSeparateExt() {
172.194 - return separateExtComboBox.getSelectedItem().toString();
172.195 - }
172.196 -
172.197 - public void setSeparateExt(String separateExt) {
172.198 - separateExtComboBox.setSelectedItem(separateExt);
172.199 - }
172.200 -
172.201 - public void setError(String message) {
172.202 - errorLabel.setText(" "); // NOI18N
172.203 - errorLabel.setForeground(UIManager.getColor("nb.errorForeground")); // NOI18N
172.204 - errorLabel.setText(message);
172.205 - }
172.206 -
172.207 - public void setWarning(String message) {
172.208 - errorLabel.setText(" "); // NOI18N
172.209 - errorLabel.setForeground(UIManager.getColor("nb.warningForeground")); // NOI18N
172.210 - errorLabel.setText(message);
172.211 - }
172.212 -
172.213 - public void addChangeListener(ChangeListener listener) {
172.214 - changeSupport.addChangeListener(listener);
172.215 - }
172.216 -
172.217 - public void removeChangeListener(ChangeListener listener) {
172.218 - changeSupport.removeChangeListener(listener);
172.219 - }
172.220 -
172.221 - void fireChange() {
172.222 - changeSupport.fireChange();
172.223 - }
172.224 -
172.225 - /** This method is called from within the constructor to
172.226 - * initialize the form.
172.227 - * WARNING: Do NOT modify this code. The content of this method is
172.228 - * always regenerated by the Form Editor.
172.229 - */
172.230 - @SuppressWarnings("unchecked")
172.231 - // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
172.232 - private void initComponents() {
172.233 -
172.234 -
172.235 -
172.236 -
172.237 -
172.238 -
172.239 -
172.240 -
172.241 -
172.242 - standardsLabel = new JLabel();
172.243 - standardsLineSeparator = new JSeparator();
172.244 - adaDialectsLabel = new JLabel();
172.245 - namingLabel = new JLabel();
172.246 - namingLineSeparator = new JSeparator();
172.247 - errorLabel = new JLabel();
172.248 - adaRestrictionsLabel = new JLabel();
172.249 - adaDialectsComboBox = new JComboBox();
172.250 - adaRestrictionsComboBox = new JComboBox();
172.251 - pkgSpecMaskLabel = new JLabel();
172.252 - pkgBodyMaskLabel = new JLabel();
172.253 - separatorMaskLabel = new JLabel();
172.254 - pkgSpecSepTextField = new JTextField();
172.255 - separateSepTextField = new JTextField();
172.256 - pkgBodySepTextField = new JTextField();
172.257 - extTitleLabel = new JLabel();
172.258 - pkgSpecPrefixComboBox = new JComboBox();
172.259 - prefixTitleLabel = new JLabel();
172.260 - pkgBodyPrefixComboBox = new JComboBox();
172.261 - postfixTitleLabel = new JLabel();
172.262 - pkgSpecPostfixComboBox = new JComboBox();
172.263 - separatePrefixComboBox = new JComboBox();
172.264 - pkgBodyPostfixComboBox = new JComboBox();
172.265 - separatePostfixComboBox = new JComboBox();
172.266 - pkgSpecExtComboBox = new JComboBox();
172.267 - pkgBodyExtComboBox = new JComboBox();
172.268 - separateExtComboBox = new JComboBox();
172.269 - separatorTitleLabel = new JLabel();
172.270 - Mnemonics.setLocalizedText(standardsLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_Standards"));
172.271 - Mnemonics.setLocalizedText(adaDialectsLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_AdaDialects"));
172.272 - Mnemonics.setLocalizedText(namingLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_Naming"));
172.273 - Mnemonics.setLocalizedText(errorLabel, "ERROR");
172.274 - Mnemonics.setLocalizedText(adaRestrictionsLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_adaRestrictions"));
172.275 - adaDialectsComboBox.setModel(new DefaultComboBoxModel(new String[] { "Ada 83", "Ada 95", "Ada 2005" }));
172.276 - adaDialectsComboBox.addActionListener(new ActionListener() {
172.277 - public void actionPerformed(ActionEvent evt) {
172.278 - adaDialectsComboBoxActionPerformed(evt);
172.279 - }
172.280 - });
172.281 -
172.282 - adaRestrictionsComboBox.setModel(new DefaultComboBoxModel(new String[] { "None", "Spark", "MIL-STD-498" }));
172.283 - adaRestrictionsComboBox.addActionListener(new ActionListener() {
172.284 - public void actionPerformed(ActionEvent evt) {
172.285 - adaRestrictionsComboBoxActionPerformed(evt);
172.286 - }
172.287 - });
172.288 - Mnemonics.setLocalizedText(pkgSpecMaskLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_pkgSpecMask"));
172.289 - Mnemonics.setLocalizedText(pkgBodyMaskLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_pkgBodyMask"));
172.290 - Mnemonics.setLocalizedText(separatorMaskLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_separatorMask"));
172.291 - pkgSpecSepTextField.setHorizontalAlignment(JTextField.CENTER);
172.292 -
172.293 - separateSepTextField.setHorizontalAlignment(JTextField.CENTER);
172.294 -
172.295 - pkgBodySepTextField.setHorizontalAlignment(JTextField.CENTER);
172.296 - Mnemonics.setLocalizedText(extTitleLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_extTitle"));
172.297 - pkgSpecPrefixComboBox.setModel(new DefaultComboBoxModel(new String[] { "<package name>", "<free name>" }));
172.298 - pkgSpecPrefixComboBox.setEnabled(false);
172.299 -
172.300 - Mnemonics.setLocalizedText(prefixTitleLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_prefixTitle"));
172.301 - pkgBodyPrefixComboBox.setModel(new DefaultComboBoxModel(new String[] { "<package name>", "<free name>" }));
172.302 - pkgBodyPrefixComboBox.setEnabled(false);
172.303 -
172.304 -
172.305 - Mnemonics.setLocalizedText(postfixTitleLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_postfixTitle"));
172.306 - pkgSpecPostfixComboBox.setModel(new DefaultComboBoxModel(new String[] { "<none>", "<free name>" }));
172.307 - pkgSpecPostfixComboBox.addActionListener(new ActionListener() {
172.308 - public void actionPerformed(ActionEvent evt) {
172.309 - pkgSpecPostfixComboBoxActionPerformed(evt);
172.310 - }
172.311 - });
172.312 -
172.313 - separatePrefixComboBox.setModel(new DefaultComboBoxModel(new String[] { "<package name>", "<free name>" }));
172.314 - separatePrefixComboBox.setEnabled(false);
172.315 -
172.316 - pkgBodyPostfixComboBox.setModel(new DefaultComboBoxModel(new String[] { "<none>", "<free name>" }));
172.317 - pkgBodyPostfixComboBox.addActionListener(new ActionListener() {
172.318 - public void actionPerformed(ActionEvent evt) {
172.319 - pkgBodyPostfixComboBoxActionPerformed(evt);
172.320 - }
172.321 - });
172.322 -
172.323 - separatePostfixComboBox.setModel(new DefaultComboBoxModel(new String[] { "<procedure name>", "<free name>", "<none>" }));
172.324 - separatePostfixComboBox.setEnabled(false);
172.325 -
172.326 - separatePostfixComboBox.addActionListener(new ActionListener() {
172.327 - public void actionPerformed(ActionEvent evt) {
172.328 - separatePostfixComboBoxActionPerformed(evt);
172.329 - }
172.330 - });
172.331 -
172.332 - pkgSpecExtComboBox.setModel(new DefaultComboBoxModel(new String[] { "ads", "ada" }));
172.333 - pkgSpecExtComboBox.addActionListener(new ActionListener() {
172.334 - public void actionPerformed(ActionEvent evt) {
172.335 - pkgSpecExtComboBoxActionPerformed(evt);
172.336 - }
172.337 - });
172.338 -
172.339 - pkgBodyExtComboBox.setModel(new DefaultComboBoxModel(new String[] { "adb", "ada" }));
172.340 - pkgBodyExtComboBox.addActionListener(new ActionListener() {
172.341 - public void actionPerformed(ActionEvent evt) {
172.342 - pkgBodyExtComboBoxActionPerformed(evt);
172.343 - }
172.344 - });
172.345 -
172.346 - separateExtComboBox.setModel(new DefaultComboBoxModel(new String[] { "adb", "ada" }));
172.347 - separateExtComboBox.addActionListener(new ActionListener() {
172.348 - public void actionPerformed(ActionEvent evt) {
172.349 - separateExtComboBoxActionPerformed(evt);
172.350 - }
172.351 - });
172.352 - Mnemonics.setLocalizedText(separatorTitleLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "AdaGeneralOptionsPanel.separatorTitleLabel.text"));
172.353 - GroupLayout layout = new GroupLayout(this);
172.354 - this.setLayout(layout);
172.355 - layout.setHorizontalGroup(
172.356 - layout.createParallelGroup(GroupLayout.LEADING)
172.357 - .add(layout.createSequentialGroup()
172.358 - .add(layout.createParallelGroup(GroupLayout.LEADING)
172.359 - .add(layout.createSequentialGroup()
172.360 - .addContainerGap()
172.361 - .add(layout.createParallelGroup(GroupLayout.LEADING)
172.362 - .add(layout.createSequentialGroup()
172.363 - .add(standardsLabel)
172.364 - .addPreferredGap(LayoutStyle.RELATED)
172.365 - .add(standardsLineSeparator, GroupLayout.DEFAULT_SIZE, 572, Short.MAX_VALUE))
172.366 - .add(errorLabel)
172.367 - .add(layout.createSequentialGroup()
172.368 - .add(12, 12, 12)
172.369 - .add(layout.createParallelGroup(GroupLayout.LEADING)
172.370 - .add(adaRestrictionsLabel)
172.371 - .add(adaDialectsLabel, GroupLayout.PREFERRED_SIZE, 63, GroupLayout.PREFERRED_SIZE))
172.372 - .addPreferredGap(LayoutStyle.UNRELATED)
172.373 - .add(layout.createParallelGroup(GroupLayout.LEADING)
172.374 - .add(adaRestrictionsComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
172.375 - .add(adaDialectsComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
172.376 - .add(373, 373, 373))))
172.377 - .add(layout.createSequentialGroup()
172.378 - .add(20, 20, 20)
172.379 - .add(layout.createParallelGroup(GroupLayout.TRAILING, false)
172.380 - .add(GroupLayout.LEADING, pkgBodyMaskLabel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
172.381 - .add(GroupLayout.LEADING, pkgSpecMaskLabel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
172.382 - .add(GroupLayout.LEADING, separatorMaskLabel, GroupLayout.PREFERRED_SIZE, 107, GroupLayout.PREFERRED_SIZE))
172.383 - .addPreferredGap(LayoutStyle.UNRELATED)
172.384 - .add(layout.createParallelGroup(GroupLayout.LEADING)
172.385 - .add(layout.createParallelGroup(GroupLayout.TRAILING)
172.386 - .add(layout.createParallelGroup(GroupLayout.LEADING)
172.387 - .add(pkgSpecPrefixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
172.388 - .add(pkgBodyPrefixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
172.389 - .add(prefixTitleLabel))
172.390 - .add(separatePrefixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
172.391 - .addPreferredGap(LayoutStyle.RELATED)
172.392 - .add(layout.createParallelGroup(GroupLayout.TRAILING)
172.393 - .add(separatorTitleLabel)
172.394 - .add(pkgSpecSepTextField, GroupLayout.PREFERRED_SIZE, 38, GroupLayout.PREFERRED_SIZE)
172.395 - .add(pkgBodySepTextField, GroupLayout.PREFERRED_SIZE, 38, GroupLayout.PREFERRED_SIZE)
172.396 - .add(separateSepTextField, GroupLayout.PREFERRED_SIZE, 38, GroupLayout.PREFERRED_SIZE))
172.397 - .addPreferredGap(LayoutStyle.RELATED)
172.398 - .add(layout.createParallelGroup(GroupLayout.LEADING, false)
172.399 - .add(pkgBodyPostfixComboBox, 0, 110, Short.MAX_VALUE)
172.400 - .add(separatePostfixComboBox, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
172.401 - .add(pkgSpecPostfixComboBox, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
172.402 - .add(GroupLayout.TRAILING, postfixTitleLabel))
172.403 - .addPreferredGap(LayoutStyle.RELATED)
172.404 - .add(layout.createParallelGroup(GroupLayout.LEADING, false)
172.405 - .add(separateExtComboBox, 0, 0, Short.MAX_VALUE)
172.406 - .add(pkgBodyExtComboBox, 0, 0, Short.MAX_VALUE)
172.407 - .add(pkgSpecExtComboBox, 0, 0, Short.MAX_VALUE)
172.408 - .add(layout.createSequentialGroup()
172.409 - .add(41, 41, 41)
172.410 - .add(extTitleLabel))))
172.411 - .add(layout.createSequentialGroup()
172.412 - .addContainerGap()
172.413 - .add(namingLabel)
172.414 - .addPreferredGap(LayoutStyle.RELATED)
172.415 - .add(namingLineSeparator, GroupLayout.DEFAULT_SIZE, 586, Short.MAX_VALUE)))
172.416 - .addContainerGap())
172.417 - );
172.418 -
172.419 - layout.linkSize(new Component[] {adaDialectsLabel, adaRestrictionsLabel}, GroupLayout.HORIZONTAL);
172.420 -
172.421 - layout.linkSize(new Component[] {adaDialectsComboBox, adaRestrictionsComboBox}, GroupLayout.HORIZONTAL);
172.422 -
172.423 - layout.linkSize(new Component[] {pkgBodyMaskLabel, pkgSpecMaskLabel, separatorMaskLabel}, GroupLayout.HORIZONTAL);
172.424 -
172.425 - layout.linkSize(new Component[] {pkgBodySepTextField, pkgSpecSepTextField, separateSepTextField}, GroupLayout.HORIZONTAL);
172.426 -
172.427 - layout.linkSize(new Component[] {pkgBodyPostfixComboBox, pkgBodyPrefixComboBox, pkgSpecPostfixComboBox, pkgSpecPrefixComboBox, separatePostfixComboBox, separatePrefixComboBox}, GroupLayout.HORIZONTAL);
172.428 -
172.429 - layout.setVerticalGroup(
172.430 - layout.createParallelGroup(GroupLayout.LEADING)
172.431 - .add(layout.createSequentialGroup()
172.432 - .addContainerGap()
172.433 - .add(layout.createParallelGroup(GroupLayout.CENTER)
172.434 - .add(standardsLineSeparator, GroupLayout.PREFERRED_SIZE, 12, GroupLayout.PREFERRED_SIZE)
172.435 - .add(standardsLabel))
172.436 - .addPreferredGap(LayoutStyle.RELATED)
172.437 - .add(layout.createParallelGroup(GroupLayout.CENTER)
172.438 - .add(adaDialectsComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
172.439 - .add(adaDialectsLabel))
172.440 - .addPreferredGap(LayoutStyle.RELATED)
172.441 - .add(layout.createParallelGroup(GroupLayout.CENTER)
172.442 - .add(adaRestrictionsComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
172.443 - .add(adaRestrictionsLabel))
172.444 - .add(18, 18, 18)
172.445 - .add(layout.createParallelGroup(GroupLayout.CENTER)
172.446 - .add(namingLineSeparator, GroupLayout.PREFERRED_SIZE, 10, GroupLayout.PREFERRED_SIZE)
172.447 - .add(namingLabel))
172.448 - .add(1, 1, 1)
172.449 - .add(layout.createParallelGroup(GroupLayout.LEADING)
172.450 - .add(layout.createParallelGroup(GroupLayout.BASELINE)
172.451 - .add(prefixTitleLabel)
172.452 - .add(separatorTitleLabel))
172.453 - .add(extTitleLabel)
172.454 - .add(postfixTitleLabel))
172.455 - .add(4, 4, 4)
172.456 - .add(layout.createParallelGroup(GroupLayout.CENTER)
172.457 - .add(pkgSpecMaskLabel)
172.458 - .add(pkgSpecPrefixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
172.459 - .add(pkgSpecSepTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
172.460 - .add(pkgSpecPostfixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
172.461 - .add(pkgSpecExtComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
172.462 - .addPreferredGap(LayoutStyle.RELATED)
172.463 - .add(layout.createParallelGroup(GroupLayout.LEADING)
172.464 - .add(layout.createParallelGroup(GroupLayout.CENTER)
172.465 - .add(pkgBodyPrefixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
172.466 - .add(pkgBodyMaskLabel))
172.467 - .add(pkgBodyExtComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
172.468 - .add(layout.createParallelGroup(GroupLayout.BASELINE)
172.469 - .add(pkgBodyPostfixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
172.470 - .add(pkgBodySepTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
172.471 - .addPreferredGap(LayoutStyle.RELATED)
172.472 - .add(layout.createParallelGroup(GroupLayout.CENTER)
172.473 - .add(separatorMaskLabel)
172.474 - .add(separatePrefixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
172.475 - .add(separateSepTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
172.476 - .add(separatePostfixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
172.477 - .add(separateExtComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
172.478 - .addPreferredGap(LayoutStyle.RELATED, 150, Short.MAX_VALUE)
172.479 - .add(errorLabel)
172.480 - .addContainerGap())
172.481 - );
172.482 - }// </editor-fold>//GEN-END:initComponents
172.483 -
172.484 - private void adaDialectsComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_adaDialectsComboBoxActionPerformed
172.485 - if (this.uiProperties != null) {
172.486 - this.uiProperties.setAdaDialects(getAdaDialects());
172.487 - }
172.488 - }//GEN-LAST:event_adaDialectsComboBoxActionPerformed
172.489 -
172.490 - private void adaRestrictionsComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_adaRestrictionsComboBoxActionPerformed
172.491 - if (this.uiProperties != null) {
172.492 - this.uiProperties.setAdaRestrictions(getAdaRestrictions());
172.493 - }
172.494 - }//GEN-LAST:event_adaRestrictionsComboBoxActionPerformed
172.495 -
172.496 - private void pkgSpecPostfixComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_pkgSpecPostfixComboBoxActionPerformed
172.497 - if (pkgSpecPostfixComboBox.getSelectedIndex() != 0) {
172.498 - pkgSpecPostfixComboBox.setEditable(true);
172.499 - } else {
172.500 - pkgSpecPostfixComboBox.setEditable(false);
172.501 - }
172.502 - if (this.uiProperties != null) {
172.503 - this.uiProperties.setPkgSpecPostfix(getPkgSpecPostfix());
172.504 - }
172.505 - }//GEN-LAST:event_pkgSpecPostfixComboBoxActionPerformed
172.506 -
172.507 - private void pkgBodyPostfixComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_pkgBodyPostfixComboBoxActionPerformed
172.508 - if (pkgBodyPostfixComboBox.getSelectedIndex() != 0) {
172.509 - pkgBodyPostfixComboBox.setEditable(true);
172.510 - } else {
172.511 - pkgBodyPostfixComboBox.setEditable(false);
172.512 - }
172.513 - if (this.uiProperties != null) {
172.514 - this.uiProperties.setPkgBodyPostfix(getPkgBodyPostfix());
172.515 - }
172.516 - }//GEN-LAST:event_pkgBodyPostfixComboBoxActionPerformed
172.517 -
172.518 - private void separatePostfixComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_separatePostfixComboBoxActionPerformed
172.519 - if (this.uiProperties != null) {
172.520 - this.uiProperties.setSeparatePostfix(getSeparatePostfix());
172.521 - }
172.522 - }//GEN-LAST:event_separatePostfixComboBoxActionPerformed
172.523 -
172.524 - private void pkgSpecExtComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_pkgSpecExtComboBoxActionPerformed
172.525 - if (this.uiProperties != null) {
172.526 - this.uiProperties.setPkgSpecExt(getPkgSpecExt());
172.527 - }
172.528 - }//GEN-LAST:event_pkgSpecExtComboBoxActionPerformed
172.529 -
172.530 - private void pkgBodyExtComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_pkgBodyExtComboBoxActionPerformed
172.531 - if (this.uiProperties != null) {
172.532 - this.uiProperties.setPkgBodyExt(getPkgBodyExt());
172.533 - }
172.534 - }//GEN-LAST:event_pkgBodyExtComboBoxActionPerformed
172.535 -
172.536 - private void separateExtComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_separateExtComboBoxActionPerformed
172.537 - if (this.uiProperties != null) {
172.538 - this.uiProperties.setSeparateExt(getSeparateExt());
172.539 - }
172.540 - }//GEN-LAST:event_separateExtComboBoxActionPerformed
172.541 -
172.542 -
172.543 - // Variables declaration - do not modify//GEN-BEGIN:variables
172.544 - private JComboBox adaDialectsComboBox;
172.545 - private JLabel adaDialectsLabel;
172.546 - private JComboBox adaRestrictionsComboBox;
172.547 - private JLabel adaRestrictionsLabel;
172.548 - private JLabel errorLabel;
172.549 - private JLabel extTitleLabel;
172.550 - private JLabel namingLabel;
172.551 - private JSeparator namingLineSeparator;
172.552 - private JComboBox pkgBodyExtComboBox;
172.553 - private JLabel pkgBodyMaskLabel;
172.554 - private JComboBox pkgBodyPostfixComboBox;
172.555 - private JComboBox pkgBodyPrefixComboBox;
172.556 - private JTextField pkgBodySepTextField;
172.557 - private JComboBox pkgSpecExtComboBox;
172.558 - private JLabel pkgSpecMaskLabel;
172.559 - private JComboBox pkgSpecPostfixComboBox;
172.560 - private JComboBox pkgSpecPrefixComboBox;
172.561 - private JTextField pkgSpecSepTextField;
172.562 - private JLabel postfixTitleLabel;
172.563 - private JLabel prefixTitleLabel;
172.564 - private JComboBox separateExtComboBox;
172.565 - private JComboBox separatePostfixComboBox;
172.566 - private JComboBox separatePrefixComboBox;
172.567 - private JTextField separateSepTextField;
172.568 - private JLabel separatorMaskLabel;
172.569 - private JLabel separatorTitleLabel;
172.570 - private JLabel standardsLabel;
172.571 - private JSeparator standardsLineSeparator;
172.572 - // End of variables declaration//GEN-END:variables
172.573 -
172.574 - private final class DefaultDocumentListener implements DocumentListener {
172.575 -
172.576 - public void insertUpdate(DocumentEvent e) {
172.577 - processUpdate();
172.578 - }
172.579 -
172.580 - public void removeUpdate(DocumentEvent e) {
172.581 - processUpdate();
172.582 - }
172.583 -
172.584 - public void changedUpdate(DocumentEvent e) {
172.585 - processUpdate();
172.586 - }
172.587 -
172.588 - private void processUpdate() {
172.589 - fireChange();
172.590 - }
172.591 - }
172.592 -}
173.1 --- a/ada.project/src/org/netbeans/modules/ada/project/options/AdaOptions.java Tue Oct 02 21:55:21 2012 -0400
173.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/options/AdaOptions.java Mon Oct 15 23:38:26 2012 +0200
173.3 @@ -39,10 +39,8 @@
173.4
173.5 package org.netbeans.modules.ada.project.options;
173.6
173.7 -import org.netbeans.modules.ada.project.options.AdaPreferences;
173.8 import java.util.prefs.PreferenceChangeListener;
173.9 import java.util.prefs.Preferences;
173.10 -import org.openide.util.NbPreferences;
173.11
173.12 /**
173.13 *
173.14 @@ -57,8 +55,8 @@
173.15 public static final String DEFAULT_PKG_SPEC_PREFIX = "<package name>"; // NOI18N
173.16 public static final String DEFAULT_PKG_BODY_PREFIX = "<package name>"; // NOI18N
173.17 public static final String DEFAULT_SEPARATE_PREFIX = "<package name>"; // NOI18N
173.18 - public static final String DEFAULT_PKG_SPEC_POSTFIX = "<none>"; // NOI18N
173.19 - public static final String DEFAULT_PKG_BODY_POSTFIX = "<none>"; // NOI18N
173.20 + public static final String DEFAULT_PKG_SPEC_POSTFIX = ""; // NOI18N
173.21 + public static final String DEFAULT_PKG_BODY_POSTFIX = ""; // NOI18N
173.22 public static final String DEFAULT_SEPARATE_POSTFIX = "<procdure name>"; // NOI18N
173.23 public static final String DEFAULT_PKG_SPEC_EXT = "ads"; // NOI18N
173.24 public static final String DEFAULT_PKG_BODY_EXT = "adb"; // NOI18N
174.1 --- a/ada.project/src/org/netbeans/modules/ada/project/options/AdaPreferences.java Tue Oct 02 21:55:21 2012 -0400
174.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/options/AdaPreferences.java Mon Oct 15 23:38:26 2012 +0200
174.3 @@ -58,7 +58,7 @@
174.4 * by upgrader when first started new NB version
174.5 * @return instance of Preferences node
174.6 */
174.7 - public static final Preferences getPreferences(boolean importEnabled) {
174.8 + public static Preferences getPreferences(boolean importEnabled) {
174.9 Preferences forModule = NbPreferences.forModule(AdaPreferences.class);
174.10 return (importEnabled) ? forModule : forModule.node(PRIVATE_PREFERENCES_PATH);
174.11 }
175.1 --- a/ada.project/src/org/netbeans/modules/ada/project/options/Bundle.properties Tue Oct 02 21:55:21 2012 -0400
175.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
175.3 @@ -1,51 +0,0 @@
175.4 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
175.5 -#
175.6 -# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
175.7 -#
175.8 -# The contents of this file are subject to the terms of either the GNU
175.9 -# General Public License Version 2 only ("GPL") or the Common
175.10 -# Development and Distribution License("CDDL") (collectively, the
175.11 -# "License"). You may not use this file except in compliance with the
175.12 -# License. You can obtain a copy of the License at
175.13 -# http://www.netbeans.org/cddl-gplv2.html
175.14 -# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
175.15 -# specific language governing permissions and limitations under the
175.16 -# License. When distributing the software, include this License Header
175.17 -# Notice in each file and include the License file at
175.18 -# nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
175.19 -# particular file as subject to the "Classpath" exception as provided
175.20 -# by Sun in the GPL Version 2 section of the License file that
175.21 -# accompanied this code. If applicable, add the following below the
175.22 -# License Header, with the fields enclosed by brackets [] replaced by
175.23 -# your own identifying information:
175.24 -# "Portions Copyrighted [year] [name of copyright owner]"
175.25 -#
175.26 -# If you wish your version of this file to be governed by only the CDDL
175.27 -# or only the GPL Version 2, indicate your decision by adding
175.28 -# "[Contributor] elects to include this software in this distribution
175.29 -# under the [CDDL or GPL Version 2] license." If you do not indicate a
175.30 -# single choice of license, a recipient has the option to distribute
175.31 -# your version of this file under either the CDDL, the GPL Version 2 or
175.32 -# to extend the choice of license to its licensees as provided above.
175.33 -# However, if you add GPL Version 2 code and therefore, elected the GPL
175.34 -# Version 2 license, then the option applies only if the new code is
175.35 -# made subject to such option by the copyright holder.
175.36 -#
175.37 -# Contributor(s):
175.38 -#
175.39 -# Portions Copyrighted 2009 Sun Microsystems, Inc.
175.40 -
175.41 -# AdaGeneralOptionsPanel
175.42 -AdaGeneralOptionsPanel.separatorTitleLabel.text=separ.
175.43 -LBL_Naming=File Naming
175.44 -LBL_AdaDialects=Ada Dialects
175.45 -LBL_pkgSpecMask=Package &Specification:
175.46 -LBL_pkgBodyMask=Package &Body:
175.47 -LBL_separatorMask=Separa&te:
175.48 -LBL_prefixTitle=prefix
175.49 -LBL_postfixTitle=postfix
175.50 -LBL_extTitle=ext.
175.51 -LBL_adaRestrictions=Ada &restrictions:
175.52 -LBL_Standards=Standards
175.53 -
175.54 -
176.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
176.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/options/ui/AdaGeneralOptionsPanel.form Mon Oct 15 23:38:26 2012 +0200
176.3 @@ -0,0 +1,443 @@
176.4 +<?xml version="1.1" encoding="UTF-8" ?>
176.5 +
176.6 +<Form version="1.5" maxVersion="1.6" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
176.7 + <AuxValues>
176.8 + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
176.9 + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
176.10 + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="false"/>
176.11 + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
176.12 + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
176.13 + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
176.14 + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
176.15 + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
176.16 + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
176.17 + </AuxValues>
176.18 +
176.19 + <Layout>
176.20 + <DimensionLayout dim="0">
176.21 + <Group type="103" groupAlignment="0" attributes="0">
176.22 + <Group type="102" attributes="0">
176.23 + <Group type="103" groupAlignment="0" attributes="0">
176.24 + <Group type="102" attributes="0">
176.25 + <EmptySpace min="10" pref="10" max="10" attributes="0"/>
176.26 + <Component id="standardsLabel" min="-2" max="-2" attributes="0"/>
176.27 + <EmptySpace min="4" pref="4" max="4" attributes="0"/>
176.28 + <Component id="standardsLineSeparator" min="-2" pref="572" max="-2" attributes="0"/>
176.29 + </Group>
176.30 + <Group type="102" attributes="0">
176.31 + <EmptySpace min="10" pref="10" max="10" attributes="0"/>
176.32 + <Component id="namingLabel" min="-2" max="-2" attributes="0"/>
176.33 + <EmptySpace min="4" pref="4" max="4" attributes="0"/>
176.34 + <Component id="namingLineSeparator" min="-2" pref="586" max="-2" attributes="0"/>
176.35 + </Group>
176.36 + <Group type="102" attributes="0">
176.37 + <EmptySpace min="20" pref="20" max="20" attributes="0"/>
176.38 + <Component id="pkgBodyMaskLabel" min="-2" pref="107" max="-2" attributes="0"/>
176.39 + <EmptySpace min="10" pref="10" max="10" attributes="0"/>
176.40 + <Component id="pkgBodyPrefixComboBox" min="-2" pref="119" max="-2" attributes="0"/>
176.41 + <EmptySpace min="6" pref="6" max="6" attributes="0"/>
176.42 + <Component id="pkgBodySepTextField" min="-2" pref="38" max="-2" attributes="0"/>
176.43 + <EmptySpace min="6" pref="6" max="6" attributes="0"/>
176.44 + <Component id="pkgBodyPostfixComboBox" min="-2" pref="119" max="-2" attributes="0"/>
176.45 + <EmptySpace min="6" pref="6" max="6" attributes="0"/>
176.46 + <Component id="pkgBodyExtComboBox" min="-2" pref="115" max="-2" attributes="0"/>
176.47 + </Group>
176.48 + <Group type="102" attributes="0">
176.49 + <EmptySpace min="20" pref="20" max="20" attributes="0"/>
176.50 + <Component id="separatorMaskLabel" min="-2" pref="107" max="-2" attributes="0"/>
176.51 + <EmptySpace min="10" pref="10" max="10" attributes="0"/>
176.52 + <Component id="separatePrefixComboBox" min="-2" pref="119" max="-2" attributes="0"/>
176.53 + <EmptySpace min="6" pref="6" max="6" attributes="0"/>
176.54 + <Component id="separateSepTextField" min="-2" pref="38" max="-2" attributes="0"/>
176.55 + <EmptySpace min="6" pref="6" max="6" attributes="0"/>
176.56 + <Component id="separatePostfixComboBox" min="-2" max="-2" attributes="0"/>
176.57 + <EmptySpace min="6" pref="6" max="6" attributes="0"/>
176.58 + <Component id="separateExtComboBox" min="-2" pref="115" max="-2" attributes="0"/>
176.59 + </Group>
176.60 + <Group type="102" attributes="0">
176.61 + <EmptySpace min="10" pref="10" max="10" attributes="0"/>
176.62 + <Component id="errorLabel" min="-2" max="-2" attributes="0"/>
176.63 + </Group>
176.64 + <Group type="102" alignment="0" attributes="0">
176.65 + <EmptySpace min="22" pref="22" max="-2" attributes="0"/>
176.66 + <Group type="103" groupAlignment="0" attributes="0">
176.67 + <Component id="adaRestrictionsLabel" alignment="0" min="-2" max="-2" attributes="0"/>
176.68 + <Component id="adaDialectsLabel" alignment="0" min="-2" pref="112" max="-2" attributes="0"/>
176.69 + </Group>
176.70 + <EmptySpace max="-2" attributes="0"/>
176.71 + <Group type="103" groupAlignment="0" attributes="0">
176.72 + <Component id="adaDialectsComboBox" min="-2" pref="87" max="-2" attributes="0"/>
176.73 + <Component id="adaRestrictionsComboBox" alignment="0" min="-2" max="-2" attributes="0"/>
176.74 + </Group>
176.75 + </Group>
176.76 + <Group type="102" alignment="0" attributes="0">
176.77 + <Group type="103" groupAlignment="1" attributes="0">
176.78 + <Group type="102" attributes="0">
176.79 + <EmptySpace max="-2" attributes="0"/>
176.80 + <Component id="prefixTitleLabel" min="-2" max="-2" attributes="0"/>
176.81 + <EmptySpace type="separate" max="-2" attributes="0"/>
176.82 + <Component id="separatorTitleLabel" min="-2" max="-2" attributes="0"/>
176.83 + </Group>
176.84 + <Group type="102" alignment="0" attributes="0">
176.85 + <EmptySpace min="20" pref="20" max="20" attributes="0"/>
176.86 + <Component id="pkgSpecMaskLabel" min="-2" pref="107" max="-2" attributes="0"/>
176.87 + <EmptySpace min="10" pref="10" max="10" attributes="0"/>
176.88 + <Component id="pkgSpecPrefixComboBox" min="-2" pref="119" max="-2" attributes="0"/>
176.89 + <EmptySpace min="6" pref="6" max="6" attributes="0"/>
176.90 + <Component id="pkgSpecSepTextField" min="-2" pref="38" max="-2" attributes="0"/>
176.91 + </Group>
176.92 + </Group>
176.93 + <Group type="103" groupAlignment="0" attributes="0">
176.94 + <Group type="102" alignment="0" attributes="0">
176.95 + <EmptySpace min="6" pref="6" max="6" attributes="0"/>
176.96 + <Component id="pkgSpecPostfixComboBox" min="-2" pref="119" max="-2" attributes="0"/>
176.97 + </Group>
176.98 + <Group type="102" alignment="1" attributes="0">
176.99 + <EmptySpace min="-2" pref="92" max="-2" attributes="0"/>
176.100 + <Component id="postfixTitleLabel" min="-2" max="-2" attributes="0"/>
176.101 + </Group>
176.102 + </Group>
176.103 + <Group type="103" groupAlignment="0" attributes="0">
176.104 + <Group type="102" alignment="0" attributes="0">
176.105 + <EmptySpace min="6" pref="6" max="6" attributes="0"/>
176.106 + <Component id="pkgSpecExtComboBox" min="-2" pref="115" max="-2" attributes="0"/>
176.107 + </Group>
176.108 + <Group type="102" alignment="1" attributes="0">
176.109 + <EmptySpace min="-2" pref="101" max="-2" attributes="0"/>
176.110 + <Component id="extTitleLabel" min="-2" max="-2" attributes="0"/>
176.111 + </Group>
176.112 + </Group>
176.113 + </Group>
176.114 + </Group>
176.115 + <EmptySpace min="-2" pref="46" max="-2" attributes="0"/>
176.116 + </Group>
176.117 + </Group>
176.118 + </DimensionLayout>
176.119 + <DimensionLayout dim="1">
176.120 + <Group type="103" groupAlignment="0" attributes="0">
176.121 + <Group type="102" attributes="0">
176.122 + <EmptySpace min="11" pref="11" max="11" attributes="0"/>
176.123 + <Group type="103" groupAlignment="0" attributes="0">
176.124 + <Component id="standardsLabel" min="-2" max="-2" attributes="0"/>
176.125 + <Group type="102" attributes="0">
176.126 + <EmptySpace min="1" pref="1" max="1" attributes="0"/>
176.127 + <Component id="standardsLineSeparator" min="-2" pref="12" max="-2" attributes="0"/>
176.128 + </Group>
176.129 + </Group>
176.130 + <EmptySpace min="-2" pref="9" max="-2" attributes="0"/>
176.131 + <Group type="103" groupAlignment="3" attributes="0">
176.132 + <Component id="adaDialectsLabel" alignment="3" min="-2" max="-2" attributes="0"/>
176.133 + <Component id="adaDialectsComboBox" alignment="3" min="-2" max="-2" attributes="0"/>
176.134 + </Group>
176.135 + <EmptySpace min="-2" pref="9" max="-2" attributes="0"/>
176.136 + <Group type="103" groupAlignment="0" attributes="0">
176.137 + <Group type="102" attributes="0">
176.138 + <EmptySpace min="3" pref="3" max="3" attributes="0"/>
176.139 + <Component id="adaRestrictionsLabel" min="-2" max="-2" attributes="0"/>
176.140 + </Group>
176.141 + <Component id="adaRestrictionsComboBox" min="-2" max="-2" attributes="0"/>
176.142 + </Group>
176.143 + <EmptySpace min="18" pref="18" max="18" attributes="0"/>
176.144 + <Group type="103" groupAlignment="0" attributes="0">
176.145 + <Component id="namingLabel" min="-2" max="-2" attributes="0"/>
176.146 + <Group type="102" attributes="0">
176.147 + <EmptySpace min="2" pref="2" max="2" attributes="0"/>
176.148 + <Component id="namingLineSeparator" min="-2" pref="10" max="-2" attributes="0"/>
176.149 + </Group>
176.150 + </Group>
176.151 + <EmptySpace min="1" pref="1" max="1" attributes="0"/>
176.152 + <Group type="103" groupAlignment="0" attributes="0">
176.153 + <Group type="103" alignment="0" groupAlignment="3" attributes="0">
176.154 + <Component id="separatorTitleLabel" alignment="3" min="-2" max="-2" attributes="0"/>
176.155 + <Component id="prefixTitleLabel" alignment="3" min="-2" max="-2" attributes="0"/>
176.156 + </Group>
176.157 + <Group type="103" alignment="0" groupAlignment="3" attributes="0">
176.158 + <Component id="extTitleLabel" alignment="3" min="-2" max="-2" attributes="0"/>
176.159 + <Component id="postfixTitleLabel" alignment="3" min="-2" max="-2" attributes="0"/>
176.160 + </Group>
176.161 + </Group>
176.162 + <EmptySpace min="4" pref="4" max="4" attributes="0"/>
176.163 + <Group type="103" groupAlignment="0" attributes="0">
176.164 + <Group type="102" attributes="0">
176.165 + <EmptySpace min="3" pref="3" max="3" attributes="0"/>
176.166 + <Component id="pkgSpecMaskLabel" min="-2" max="-2" attributes="0"/>
176.167 + </Group>
176.168 + <Component id="pkgSpecPrefixComboBox" min="-2" max="-2" attributes="0"/>
176.169 + <Component id="pkgSpecSepTextField" min="-2" max="-2" attributes="0"/>
176.170 + <Component id="pkgSpecPostfixComboBox" min="-2" max="-2" attributes="0"/>
176.171 + <Component id="pkgSpecExtComboBox" min="-2" max="-2" attributes="0"/>
176.172 + </Group>
176.173 + <EmptySpace min="6" pref="6" max="6" attributes="0"/>
176.174 + <Group type="103" groupAlignment="0" attributes="0">
176.175 + <Group type="102" attributes="0">
176.176 + <EmptySpace min="3" pref="3" max="3" attributes="0"/>
176.177 + <Component id="pkgBodyMaskLabel" min="-2" max="-2" attributes="0"/>
176.178 + </Group>
176.179 + <Component id="pkgBodyPrefixComboBox" min="-2" max="-2" attributes="0"/>
176.180 + <Component id="pkgBodySepTextField" min="-2" max="-2" attributes="0"/>
176.181 + <Component id="pkgBodyPostfixComboBox" min="-2" max="-2" attributes="0"/>
176.182 + <Component id="pkgBodyExtComboBox" min="-2" max="-2" attributes="0"/>
176.183 + </Group>
176.184 + <EmptySpace min="6" pref="6" max="6" attributes="0"/>
176.185 + <Group type="103" groupAlignment="0" attributes="0">
176.186 + <Group type="102" attributes="0">
176.187 + <EmptySpace min="3" pref="3" max="3" attributes="0"/>
176.188 + <Component id="separatorMaskLabel" min="-2" max="-2" attributes="0"/>
176.189 + </Group>
176.190 + <Component id="separatePrefixComboBox" min="-2" max="-2" attributes="0"/>
176.191 + <Component id="separateSepTextField" min="-2" max="-2" attributes="0"/>
176.192 + <Component id="separatePostfixComboBox" min="-2" max="-2" attributes="0"/>
176.193 + <Component id="separateExtComboBox" min="-2" max="-2" attributes="0"/>
176.194 + </Group>
176.195 + <EmptySpace min="150" pref="150" max="150" attributes="0"/>
176.196 + <Component id="errorLabel" min="-2" max="-2" attributes="0"/>
176.197 + </Group>
176.198 + </Group>
176.199 + </DimensionLayout>
176.200 + </Layout>
176.201 + <SubComponents>
176.202 + <Component class="javax.swing.JLabel" name="standardsLabel">
176.203 + <Properties>
176.204 + <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
176.205 + <ResourceString bundle="org/netbeans/modules/ada/project/options/ui/Bundle.properties" key="LBL_Standards" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
176.206 + </Property>
176.207 + </Properties>
176.208 + </Component>
176.209 + <Component class="javax.swing.JSeparator" name="standardsLineSeparator">
176.210 + </Component>
176.211 + <Component class="javax.swing.JLabel" name="adaDialectsLabel">
176.212 + <Properties>
176.213 + <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
176.214 + <ResourceString bundle="org/netbeans/modules/ada/project/options/ui/Bundle.properties" key="LBL_AdaDialects" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
176.215 + </Property>
176.216 + </Properties>
176.217 + </Component>
176.218 + <Component class="javax.swing.JLabel" name="namingLabel">
176.219 + <Properties>
176.220 + <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
176.221 + <ResourceString bundle="org/netbeans/modules/ada/project/options/ui/Bundle.properties" key="LBL_Naming" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
176.222 + </Property>
176.223 + </Properties>
176.224 + </Component>
176.225 + <Component class="javax.swing.JSeparator" name="namingLineSeparator">
176.226 + </Component>
176.227 + <Component class="javax.swing.JLabel" name="errorLabel">
176.228 + <Properties>
176.229 + <Property name="text" type="java.lang.String" value="ERROR"/>
176.230 + </Properties>
176.231 + </Component>
176.232 + <Component class="javax.swing.JLabel" name="adaRestrictionsLabel">
176.233 + <Properties>
176.234 + <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
176.235 + <ResourceString bundle="org/netbeans/modules/ada/project/options/ui/Bundle.properties" key="LBL_adaRestrictions" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
176.236 + </Property>
176.237 + </Properties>
176.238 + </Component>
176.239 + <Component class="javax.swing.JComboBox" name="adaDialectsComboBox">
176.240 + <Properties>
176.241 + <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
176.242 + <StringArray count="4">
176.243 + <StringItem index="0" value="Ada 83"/>
176.244 + <StringItem index="1" value="Ada 95"/>
176.245 + <StringItem index="2" value="Ada 2005"/>
176.246 + <StringItem index="3" value="Ada 2012"/>
176.247 + </StringArray>
176.248 + </Property>
176.249 + </Properties>
176.250 + <Events>
176.251 + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="adaDialectsComboBoxActionPerformed"/>
176.252 + </Events>
176.253 + </Component>
176.254 + <Component class="javax.swing.JComboBox" name="adaRestrictionsComboBox">
176.255 + <Properties>
176.256 + <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
176.257 + <StringArray count="3">
176.258 + <StringItem index="0" value="None"/>
176.259 + <StringItem index="1" value="Spark"/>
176.260 + <StringItem index="2" value="MIL-STD-498"/>
176.261 + </StringArray>
176.262 + </Property>
176.263 + </Properties>
176.264 + <Events>
176.265 + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="adaRestrictionsComboBoxActionPerformed"/>
176.266 + </Events>
176.267 + </Component>
176.268 + <Component class="javax.swing.JLabel" name="pkgSpecMaskLabel">
176.269 + <Properties>
176.270 + <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
176.271 + <ResourceString bundle="org/netbeans/modules/ada/project/options/ui/Bundle.properties" key="LBL_pkgSpecMask" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
176.272 + </Property>
176.273 + </Properties>
176.274 + </Component>
176.275 + <Component class="javax.swing.JLabel" name="pkgBodyMaskLabel">
176.276 + <Properties>
176.277 + <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
176.278 + <ResourceString bundle="org/netbeans/modules/ada/project/options/ui/Bundle.properties" key="LBL_pkgBodyMask" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
176.279 + </Property>
176.280 + </Properties>
176.281 + </Component>
176.282 + <Component class="javax.swing.JLabel" name="separatorMaskLabel">
176.283 + <Properties>
176.284 + <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
176.285 + <ResourceString bundle="org/netbeans/modules/ada/project/options/ui/Bundle.properties" key="LBL_separatorMask" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
176.286 + </Property>
176.287 + </Properties>
176.288 + </Component>
176.289 + <Component class="javax.swing.JTextField" name="pkgSpecSepTextField">
176.290 + <Properties>
176.291 + <Property name="horizontalAlignment" type="int" value="0"/>
176.292 + </Properties>
176.293 + </Component>
176.294 + <Component class="javax.swing.JTextField" name="separateSepTextField">
176.295 + <Properties>
176.296 + <Property name="horizontalAlignment" type="int" value="0"/>
176.297 + </Properties>
176.298 + </Component>
176.299 + <Component class="javax.swing.JTextField" name="pkgBodySepTextField">
176.300 + <Properties>
176.301 + <Property name="horizontalAlignment" type="int" value="0"/>
176.302 + </Properties>
176.303 + </Component>
176.304 + <Component class="javax.swing.JLabel" name="extTitleLabel">
176.305 + <Properties>
176.306 + <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
176.307 + <ResourceString bundle="org/netbeans/modules/ada/project/options/ui/Bundle.properties" key="LBL_extTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
176.308 + </Property>
176.309 + </Properties>
176.310 + </Component>
176.311 + <Component class="javax.swing.JComboBox" name="pkgSpecPrefixComboBox">
176.312 + <Properties>
176.313 + <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
176.314 + <StringArray count="2">
176.315 + <StringItem index="0" value="<package name>"/>
176.316 + <StringItem index="1" value="<free name>"/>
176.317 + </StringArray>
176.318 + </Property>
176.319 + <Property name="enabled" type="boolean" value="false"/>
176.320 + </Properties>
176.321 + </Component>
176.322 + <Component class="javax.swing.JLabel" name="prefixTitleLabel">
176.323 + <Properties>
176.324 + <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
176.325 + <ResourceString bundle="org/netbeans/modules/ada/project/options/ui/Bundle.properties" key="LBL_prefixTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
176.326 + </Property>
176.327 + </Properties>
176.328 + </Component>
176.329 + <Component class="javax.swing.JComboBox" name="pkgBodyPrefixComboBox">
176.330 + <Properties>
176.331 + <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
176.332 + <StringArray count="2">
176.333 + <StringItem index="0" value="<package name>"/>
176.334 + <StringItem index="1" value="<free name>"/>
176.335 + </StringArray>
176.336 + </Property>
176.337 + <Property name="enabled" type="boolean" value="false"/>
176.338 + </Properties>
176.339 + </Component>
176.340 + <Component class="javax.swing.JLabel" name="postfixTitleLabel">
176.341 + <Properties>
176.342 + <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
176.343 + <ResourceString bundle="org/netbeans/modules/ada/project/options/ui/Bundle.properties" key="LBL_postfixTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
176.344 + </Property>
176.345 + </Properties>
176.346 + </Component>
176.347 + <Component class="javax.swing.JComboBox" name="pkgSpecPostfixComboBox">
176.348 + <Properties>
176.349 + <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
176.350 + <StringArray count="2">
176.351 + <StringItem index="0" value="<none>"/>
176.352 + <StringItem index="1" value="<free name>"/>
176.353 + </StringArray>
176.354 + </Property>
176.355 + </Properties>
176.356 + <Events>
176.357 + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="pkgSpecPostfixComboBoxActionPerformed"/>
176.358 + </Events>
176.359 + </Component>
176.360 + <Component class="javax.swing.JComboBox" name="separatePrefixComboBox">
176.361 + <Properties>
176.362 + <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
176.363 + <StringArray count="2">
176.364 + <StringItem index="0" value="<package name>"/>
176.365 + <StringItem index="1" value="<free name>"/>
176.366 + </StringArray>
176.367 + </Property>
176.368 + <Property name="enabled" type="boolean" value="false"/>
176.369 + </Properties>
176.370 + </Component>
176.371 + <Component class="javax.swing.JComboBox" name="pkgBodyPostfixComboBox">
176.372 + <Properties>
176.373 + <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
176.374 + <StringArray count="2">
176.375 + <StringItem index="0" value="<none>"/>
176.376 + <StringItem index="1" value="<free name>"/>
176.377 + </StringArray>
176.378 + </Property>
176.379 + </Properties>
176.380 + <Events>
176.381 + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="pkgBodyPostfixComboBoxActionPerformed"/>
176.382 + </Events>
176.383 + </Component>
176.384 + <Component class="javax.swing.JComboBox" name="separatePostfixComboBox">
176.385 + <Properties>
176.386 + <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
176.387 + <StringArray count="3">
176.388 + <StringItem index="0" value="<procedure name>"/>
176.389 + <StringItem index="1" value="<free name>"/>
176.390 + <StringItem index="2" value="<none>"/>
176.391 + </StringArray>
176.392 + </Property>
176.393 + <Property name="enabled" type="boolean" value="false"/>
176.394 + </Properties>
176.395 + <Events>
176.396 + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="separatePostfixComboBoxActionPerformed"/>
176.397 + </Events>
176.398 + </Component>
176.399 + <Component class="javax.swing.JComboBox" name="pkgSpecExtComboBox">
176.400 + <Properties>
176.401 + <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
176.402 + <StringArray count="2">
176.403 + <StringItem index="0" value="ads"/>
176.404 + <StringItem index="1" value="ada"/>
176.405 + </StringArray>
176.406 + </Property>
176.407 + </Properties>
176.408 + <Events>
176.409 + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="pkgSpecExtComboBoxActionPerformed"/>
176.410 + </Events>
176.411 + </Component>
176.412 + <Component class="javax.swing.JComboBox" name="pkgBodyExtComboBox">
176.413 + <Properties>
176.414 + <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
176.415 + <StringArray count="2">
176.416 + <StringItem index="0" value="adb"/>
176.417 + <StringItem index="1" value="ada"/>
176.418 + </StringArray>
176.419 + </Property>
176.420 + </Properties>
176.421 + <Events>
176.422 + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="pkgBodyExtComboBoxActionPerformed"/>
176.423 + </Events>
176.424 + </Component>
176.425 + <Component class="javax.swing.JComboBox" name="separateExtComboBox">
176.426 + <Properties>
176.427 + <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
176.428 + <StringArray count="2">
176.429 + <StringItem index="0" value="adb"/>
176.430 + <StringItem index="1" value="ada"/>
176.431 + </StringArray>
176.432 + </Property>
176.433 + </Properties>
176.434 + <Events>
176.435 + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="separateExtComboBoxActionPerformed"/>
176.436 + </Events>
176.437 + </Component>
176.438 + <Component class="javax.swing.JLabel" name="separatorTitleLabel">
176.439 + <Properties>
176.440 + <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
176.441 + <ResourceString bundle="org/netbeans/modules/ada/project/options/ui/Bundle.properties" key="AdaGeneralOptionsPanel.separatorTitleLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
176.442 + </Property>
176.443 + </Properties>
176.444 + </Component>
176.445 + </SubComponents>
176.446 +</Form>
177.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
177.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/options/ui/AdaGeneralOptionsPanel.java Mon Oct 15 23:38:26 2012 +0200
177.3 @@ -0,0 +1,645 @@
177.4 +/*
177.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
177.6 + *
177.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
177.8 + *
177.9 + * The contents of this file are subject to the terms of either the GNU
177.10 + * General Public License Version 2 only ("GPL") or the Common
177.11 + * Development and Distribution License("CDDL") (collectively, the
177.12 + * "License"). You may not use this file except in compliance with the
177.13 + * License. You can obtain a copy of the License at
177.14 + * http://www.netbeans.org/cddl-gplv2.html
177.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
177.16 + * specific language governing permissions and limitations under the
177.17 + * License. When distributing the software, include this License Header
177.18 + * Notice in each file and include the License file at
177.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
177.20 + * particular file as subject to the "Classpath" exception as provided
177.21 + * by Sun in the GPL Version 2 section of the License file that
177.22 + * accompanied this code. If applicable, add the following below the
177.23 + * License Header, with the fields enclosed by brackets [] replaced by
177.24 + * your own identifying information:
177.25 + * "Portions Copyrighted [year] [name of copyright owner]"
177.26 + *
177.27 + * If you wish your version of this file to be governed by only the CDDL
177.28 + * or only the GPL Version 2, indicate your decision by adding
177.29 + * "[Contributor] elects to include this software in this distribution
177.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
177.31 + * single choice of license, a recipient has the option to distribute
177.32 + * your version of this file under either the CDDL, the GPL Version 2 or
177.33 + * to extend the choice of license to its licensees as provided above.
177.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
177.35 + * Version 2 license, then the option applies only if the new code is
177.36 + * made subject to such option by the copyright holder.
177.37 + *
177.38 + * Contributor(s):
177.39 + *
177.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
177.41 + */
177.42 +package org.netbeans.modules.ada.project.options.ui;
177.43 +
177.44 +import java.awt.event.ActionEvent;
177.45 +import java.awt.event.ActionListener;
177.46 +import javax.swing.DefaultComboBoxModel;
177.47 +import javax.swing.GroupLayout;
177.48 +import javax.swing.GroupLayout.Alignment;
177.49 +import javax.swing.JComboBox;
177.50 +import javax.swing.JLabel;
177.51 +import javax.swing.JPanel;
177.52 +import javax.swing.JSeparator;
177.53 +import javax.swing.JTextField;
177.54 +import javax.swing.LayoutStyle.ComponentPlacement;
177.55 +import javax.swing.UIManager;
177.56 +import javax.swing.event.ChangeEvent;
177.57 +import javax.swing.event.ChangeListener;
177.58 +import org.netbeans.modules.ada.project.ui.properties.AdaProjectProperties;
177.59 +import org.openide.awt.Mnemonics;
177.60 +import org.openide.util.ChangeSupport;
177.61 +import org.openide.util.HelpCtx;
177.62 +import org.openide.util.NbBundle;
177.63 +
177.64 +/**
177.65 + * @author Andrea Lucarelli
177.66 + */
177.67 +public final class AdaGeneralOptionsPanel extends JPanel implements ChangeListener, HelpCtx.Provider {
177.68 +
177.69 + private final ChangeSupport changeSupport = new ChangeSupport(this);
177.70 + private final AdaProjectProperties uiProperties;
177.71 + private static final String UI_NONE = "<none>"; // NOI18N
177.72 + private static final String OPT_NONE = ""; // NOI18N
177.73 + private static final String UI_PACKAGE_NAME = "<package name>"; // NOI18N
177.74 + private static final String UI_PROCEDURE_NAME = "<procedure name>"; // NOI18N
177.75 +
177.76 + public AdaGeneralOptionsPanel(final AdaProjectProperties uiProperties) {
177.77 + this.uiProperties = uiProperties;
177.78 + initComponents();
177.79 + errorLabel.setText(" "); // NOI18N
177.80 +
177.81 + if (uiProperties != null) {
177.82 + setAdaDialects(uiProperties.getAdaDialects());
177.83 + setAdaRestrictions(uiProperties.getAdaRestrictions());
177.84 + setPkgSpecPrefix(uiProperties.getPkgSpecPrefix());
177.85 + setPkgBodyPrefix(uiProperties.getPkgBodyPrefix());
177.86 + setSeparatePrefix(uiProperties.getSeparatePrefix());
177.87 + setPkgSpecPostfix(uiProperties.getPkgSpecPostfix());
177.88 + setPkgBodyPostfix(uiProperties.getPkgBodyPostfix());
177.89 + setSeparatePostfix(uiProperties.getSeparatePostfix());
177.90 + setPkgSpecExt(uiProperties.getPkgSpecExt());
177.91 + setPkgBodyExt(uiProperties.getPkgBodyExt());
177.92 + setSeparateExt(uiProperties.getSeparateExt());
177.93 +
177.94 + this.addChangeListener(this);
177.95 + }
177.96 + }
177.97 +
177.98 + public String getAdaDialects() {
177.99 + String value = OPT_NONE;
177.100 + if (adaDialectsComboBox.getSelectedItem() != null) {
177.101 + value = adaDialectsComboBox.getSelectedItem().toString();
177.102 + if (value.equalsIgnoreCase("Ada 83")) {
177.103 + value = "ADA_83";
177.104 + }
177.105 + else if(value.equalsIgnoreCase("Ada 95")) {
177.106 + value = "ADA_95";
177.107 + }
177.108 + else if(value.equalsIgnoreCase("Ada 2005")) {
177.109 + value = "ADA_2005";
177.110 + }
177.111 + else if(value.equalsIgnoreCase("Ada 2012")) {
177.112 + value = "ADA_2012";
177.113 + }
177.114 + }
177.115 + return value;
177.116 + }
177.117 +
177.118 + public void setAdaDialects(String adaDialects) {
177.119 + if (adaDialects.equalsIgnoreCase("ADA_83")) {
177.120 + adaDialects = "Ada 83";
177.121 + }
177.122 + else if(adaDialects.equalsIgnoreCase("ADA_95")) {
177.123 + adaDialects = "Ada 95";
177.124 + }
177.125 + else if(adaDialects.equalsIgnoreCase("ADA_2005")) {
177.126 + adaDialects = "Ada 2005";
177.127 + }
177.128 + else if(adaDialects.equalsIgnoreCase("ADA_2012")) {
177.129 + adaDialects = "Ada 2012";
177.130 + }
177.131 + adaDialectsComboBox.setSelectedItem(adaDialects);
177.132 + }
177.133 +
177.134 + public String getAdaRestrictions() {
177.135 + if (adaRestrictionsComboBox.getSelectedItem() != null) {
177.136 + return adaRestrictionsComboBox.getSelectedItem().toString();
177.137 + }
177.138 + return OPT_NONE;
177.139 + }
177.140 +
177.141 + public void setAdaRestrictions(String adaRestrictions) {
177.142 + adaRestrictionsComboBox.setSelectedItem(adaRestrictions);
177.143 + }
177.144 +
177.145 + public String getPkgSpecPrefix() {
177.146 + return pkgSpecPrefixComboBox.getSelectedItem().toString();
177.147 + }
177.148 +
177.149 + public void setPkgSpecPrefix(String pkgSpecPrefix) {
177.150 + pkgSpecPrefixComboBox.setSelectedItem(pkgSpecPrefix);
177.151 + }
177.152 +
177.153 + public String getPkgBodyPrefix() {
177.154 + return pkgBodyPrefixComboBox.getSelectedItem().toString();
177.155 + }
177.156 +
177.157 + public void setPkgBodyPrefix(String pkgBodyPrefix) {
177.158 + pkgBodyPrefixComboBox.setSelectedItem(pkgBodyPrefix);
177.159 + }
177.160 +
177.161 + public String getSeparatePrefix() {
177.162 + return separatePrefixComboBox.getSelectedItem().toString();
177.163 + }
177.164 +
177.165 + public void setSeparatePrefix(String separatePrefix) {
177.166 + separatePrefixComboBox.setSelectedItem(separatePrefix);
177.167 + }
177.168 +
177.169 + public String getPkgSpecPostfix() {
177.170 + String pkgSpecPostfix = pkgSpecPostfixComboBox.getSelectedItem().toString();
177.171 + if (pkgSpecPostfix.equalsIgnoreCase(UI_NONE)) {
177.172 + pkgSpecPostfix = OPT_NONE;
177.173 + }
177.174 + return pkgSpecPostfix;
177.175 + }
177.176 +
177.177 + public void setPkgSpecPostfix(String pkgSpecPostfix) {
177.178 + if (pkgSpecPostfix.equalsIgnoreCase(OPT_NONE)) {
177.179 + pkgSpecPostfixComboBox.setSelectedItem(UI_NONE);
177.180 + } else {
177.181 + pkgSpecPostfixComboBox.setEditable(true);
177.182 + pkgSpecPostfixComboBox.addItem(pkgSpecPostfix);
177.183 + pkgSpecPostfixComboBox.setSelectedItem(pkgSpecPostfix);
177.184 + }
177.185 + }
177.186 +
177.187 + public String getPkgBodyPostfix() {
177.188 + String pkgBodyPostfix = pkgBodyPostfixComboBox.getSelectedItem().toString();
177.189 + if (pkgBodyPostfix.equalsIgnoreCase(UI_NONE)) {
177.190 + pkgBodyPostfix = OPT_NONE;
177.191 + }
177.192 + return pkgBodyPostfix;
177.193 + }
177.194 +
177.195 + public void setPkgBodyPostfix(String pkgBodyPostfix) {
177.196 + if (pkgBodyPostfix.equalsIgnoreCase(OPT_NONE)) {
177.197 + pkgBodyPostfixComboBox.setSelectedItem(UI_NONE);
177.198 + } else {
177.199 + pkgBodyPostfixComboBox.setEditable(true);
177.200 + pkgBodyPostfixComboBox.addItem(pkgBodyPostfix);
177.201 + pkgBodyPostfixComboBox.setSelectedItem(pkgBodyPostfix);
177.202 + }
177.203 + }
177.204 +
177.205 + public String getSeparatePostfix() {
177.206 + return separatePostfixComboBox.getSelectedItem().toString();
177.207 + }
177.208 +
177.209 + public void setSeparatePostfix(String separatePostfix) {
177.210 + separatePostfixComboBox.setSelectedItem(separatePostfix);
177.211 + }
177.212 +
177.213 + public String getPkgSpecExt() {
177.214 + return pkgSpecExtComboBox.getSelectedItem().toString();
177.215 + }
177.216 +
177.217 + public void setPkgSpecExt(String pkgSpecExt) {
177.218 + pkgSpecExtComboBox.setSelectedItem(pkgSpecExt);
177.219 + }
177.220 +
177.221 + public String getPkgBodyExt() {
177.222 + return pkgBodyExtComboBox.getSelectedItem().toString();
177.223 + }
177.224 +
177.225 + public void setPkgBodyExt(String pkgBodyExt) {
177.226 + pkgBodyExtComboBox.setSelectedItem(pkgBodyExt);
177.227 + }
177.228 +
177.229 + public String getSeparateExt() {
177.230 + return separateExtComboBox.getSelectedItem().toString();
177.231 + }
177.232 +
177.233 + public void setSeparateExt(String separateExt) {
177.234 + separateExtComboBox.setSelectedItem(separateExt);
177.235 + }
177.236 +
177.237 + public void setError(String message) {
177.238 + errorLabel.setText(" "); // NOI18N
177.239 + errorLabel.setForeground(UIManager.getColor("nb.errorForeground")); // NOI18N
177.240 + errorLabel.setText(message);
177.241 + }
177.242 +
177.243 + public void setWarning(String message) {
177.244 + errorLabel.setText(" "); // NOI18N
177.245 + errorLabel.setForeground(UIManager.getColor("nb.warningForeground")); // NOI18N
177.246 + errorLabel.setText(message);
177.247 + }
177.248 +
177.249 + public void addChangeListener(ChangeListener listener) {
177.250 + changeSupport.addChangeListener(listener);
177.251 + }
177.252 +
177.253 + public void removeChangeListener(ChangeListener listener) {
177.254 + changeSupport.removeChangeListener(listener);
177.255 + }
177.256 +
177.257 + void fireChange() {
177.258 + changeSupport.fireChange();
177.259 + }
177.260 +
177.261 + /** This method is called from within the constructor to
177.262 + * initialize the form.
177.263 + * WARNING: Do NOT modify this code. The content of this method is
177.264 + * always regenerated by the Form Editor.
177.265 + */
177.266 + @SuppressWarnings("unchecked")
177.267 + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
177.268 + private void initComponents() {
177.269 +
177.270 +
177.271 +
177.272 +
177.273 +
177.274 +
177.275 +
177.276 +
177.277 +
177.278 + standardsLabel = new JLabel();
177.279 + standardsLineSeparator = new JSeparator();
177.280 + adaDialectsLabel = new JLabel();
177.281 + namingLabel = new JLabel();
177.282 + namingLineSeparator = new JSeparator();
177.283 + errorLabel = new JLabel();
177.284 + adaRestrictionsLabel = new JLabel();
177.285 + adaDialectsComboBox = new JComboBox();
177.286 + adaRestrictionsComboBox = new JComboBox();
177.287 + pkgSpecMaskLabel = new JLabel();
177.288 + pkgBodyMaskLabel = new JLabel();
177.289 + separatorMaskLabel = new JLabel();
177.290 + pkgSpecSepTextField = new JTextField();
177.291 + separateSepTextField = new JTextField();
177.292 + pkgBodySepTextField = new JTextField();
177.293 + extTitleLabel = new JLabel();
177.294 + pkgSpecPrefixComboBox = new JComboBox();
177.295 + prefixTitleLabel = new JLabel();
177.296 + pkgBodyPrefixComboBox = new JComboBox();
177.297 + postfixTitleLabel = new JLabel();
177.298 + pkgSpecPostfixComboBox = new JComboBox();
177.299 + separatePrefixComboBox = new JComboBox();
177.300 + pkgBodyPostfixComboBox = new JComboBox();
177.301 + separatePostfixComboBox = new JComboBox();
177.302 + pkgSpecExtComboBox = new JComboBox();
177.303 + pkgBodyExtComboBox = new JComboBox();
177.304 + separateExtComboBox = new JComboBox();
177.305 + separatorTitleLabel = new JLabel();
177.306 + Mnemonics.setLocalizedText(standardsLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_Standards"));
177.307 + Mnemonics.setLocalizedText(adaDialectsLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_AdaDialects"));
177.308 + Mnemonics.setLocalizedText(namingLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_Naming"));
177.309 + Mnemonics.setLocalizedText(errorLabel, "ERROR");
177.310 + Mnemonics.setLocalizedText(adaRestrictionsLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_adaRestrictions"));
177.311 + adaDialectsComboBox.setModel(new DefaultComboBoxModel(new String[] { "Ada 83", "Ada 95", "Ada 2005", "Ada 2012" }));
177.312 + adaDialectsComboBox.addActionListener(new ActionListener() {
177.313 + public void actionPerformed(ActionEvent evt) {
177.314 + adaDialectsComboBoxActionPerformed(evt);
177.315 + }
177.316 + });
177.317 +
177.318 + adaRestrictionsComboBox.setModel(new DefaultComboBoxModel(new String[] { "None", "Spark", "MIL-STD-498" }));
177.319 + adaRestrictionsComboBox.addActionListener(new ActionListener() {
177.320 + public void actionPerformed(ActionEvent evt) {
177.321 + adaRestrictionsComboBoxActionPerformed(evt);
177.322 + }
177.323 + });
177.324 + Mnemonics.setLocalizedText(pkgSpecMaskLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_pkgSpecMask"));
177.325 + Mnemonics.setLocalizedText(pkgBodyMaskLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_pkgBodyMask"));
177.326 + Mnemonics.setLocalizedText(separatorMaskLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_separatorMask"));
177.327 + pkgSpecSepTextField.setHorizontalAlignment(JTextField.CENTER);
177.328 +
177.329 + separateSepTextField.setHorizontalAlignment(JTextField.CENTER);
177.330 +
177.331 + pkgBodySepTextField.setHorizontalAlignment(JTextField.CENTER);
177.332 + Mnemonics.setLocalizedText(extTitleLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_extTitle"));
177.333 + pkgSpecPrefixComboBox.setModel(new DefaultComboBoxModel(new String[] { "<package name>", "<free name>" }));
177.334 + pkgSpecPrefixComboBox.setEnabled(false);
177.335 +
177.336 + Mnemonics.setLocalizedText(prefixTitleLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_prefixTitle"));
177.337 + pkgBodyPrefixComboBox.setModel(new DefaultComboBoxModel(new String[] { "<package name>", "<free name>" }));
177.338 + pkgBodyPrefixComboBox.setEnabled(false);
177.339 +
177.340 +
177.341 + Mnemonics.setLocalizedText(postfixTitleLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_postfixTitle"));
177.342 + pkgSpecPostfixComboBox.setModel(new DefaultComboBoxModel(new String[] { "<none>", "<free name>" }));
177.343 + pkgSpecPostfixComboBox.addActionListener(new ActionListener() {
177.344 + public void actionPerformed(ActionEvent evt) {
177.345 + pkgSpecPostfixComboBoxActionPerformed(evt);
177.346 + }
177.347 + });
177.348 +
177.349 + separatePrefixComboBox.setModel(new DefaultComboBoxModel(new String[] { "<package name>", "<free name>" }));
177.350 + separatePrefixComboBox.setEnabled(false);
177.351 +
177.352 + pkgBodyPostfixComboBox.setModel(new DefaultComboBoxModel(new String[] { "<none>", "<free name>" }));
177.353 + pkgBodyPostfixComboBox.addActionListener(new ActionListener() {
177.354 + public void actionPerformed(ActionEvent evt) {
177.355 + pkgBodyPostfixComboBoxActionPerformed(evt);
177.356 + }
177.357 + });
177.358 +
177.359 + separatePostfixComboBox.setModel(new DefaultComboBoxModel(new String[] { "<procedure name>", "<free name>", "<none>" }));
177.360 + separatePostfixComboBox.setEnabled(false);
177.361 +
177.362 + separatePostfixComboBox.addActionListener(new ActionListener() {
177.363 + public void actionPerformed(ActionEvent evt) {
177.364 + separatePostfixComboBoxActionPerformed(evt);
177.365 + }
177.366 + });
177.367 +
177.368 + pkgSpecExtComboBox.setModel(new DefaultComboBoxModel(new String[] { "ads", "ada" }));
177.369 + pkgSpecExtComboBox.addActionListener(new ActionListener() {
177.370 + public void actionPerformed(ActionEvent evt) {
177.371 + pkgSpecExtComboBoxActionPerformed(evt);
177.372 + }
177.373 + });
177.374 +
177.375 + pkgBodyExtComboBox.setModel(new DefaultComboBoxModel(new String[] { "adb", "ada" }));
177.376 + pkgBodyExtComboBox.addActionListener(new ActionListener() {
177.377 + public void actionPerformed(ActionEvent evt) {
177.378 + pkgBodyExtComboBoxActionPerformed(evt);
177.379 + }
177.380 + });
177.381 +
177.382 + separateExtComboBox.setModel(new DefaultComboBoxModel(new String[] { "adb", "ada" }));
177.383 + separateExtComboBox.addActionListener(new ActionListener() {
177.384 + public void actionPerformed(ActionEvent evt) {
177.385 + separateExtComboBoxActionPerformed(evt);
177.386 + }
177.387 + });
177.388 + Mnemonics.setLocalizedText(separatorTitleLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "AdaGeneralOptionsPanel.separatorTitleLabel.text"));
177.389 + GroupLayout layout = new GroupLayout(this);
177.390 + this.setLayout(layout);
177.391 + layout.setHorizontalGroup(
177.392 + layout.createParallelGroup(Alignment.LEADING)
177.393 + .addGroup(layout.createSequentialGroup()
177.394 + .addGroup(layout.createParallelGroup(Alignment.LEADING)
177.395 + .addGroup(layout.createSequentialGroup()
177.396 + .addGap(10, 10, 10)
177.397 + .addComponent(standardsLabel)
177.398 + .addGap(4, 4, 4)
177.399 + .addComponent(standardsLineSeparator, GroupLayout.PREFERRED_SIZE, 572, GroupLayout.PREFERRED_SIZE))
177.400 + .addGroup(layout.createSequentialGroup()
177.401 + .addGap(10, 10, 10)
177.402 + .addComponent(namingLabel)
177.403 + .addGap(4, 4, 4)
177.404 + .addComponent(namingLineSeparator, GroupLayout.PREFERRED_SIZE, 586, GroupLayout.PREFERRED_SIZE))
177.405 + .addGroup(layout.createSequentialGroup()
177.406 + .addGap(20, 20, 20)
177.407 + .addComponent(pkgBodyMaskLabel, GroupLayout.PREFERRED_SIZE, 107, GroupLayout.PREFERRED_SIZE)
177.408 + .addGap(10, 10, 10)
177.409 + .addComponent(pkgBodyPrefixComboBox, GroupLayout.PREFERRED_SIZE, 119, GroupLayout.PREFERRED_SIZE)
177.410 + .addGap(6, 6, 6)
177.411 + .addComponent(pkgBodySepTextField, GroupLayout.PREFERRED_SIZE, 38, GroupLayout.PREFERRED_SIZE)
177.412 + .addGap(6, 6, 6)
177.413 + .addComponent(pkgBodyPostfixComboBox, GroupLayout.PREFERRED_SIZE, 119, GroupLayout.PREFERRED_SIZE)
177.414 + .addGap(6, 6, 6)
177.415 + .addComponent(pkgBodyExtComboBox, GroupLayout.PREFERRED_SIZE, 115, GroupLayout.PREFERRED_SIZE))
177.416 + .addGroup(layout.createSequentialGroup()
177.417 + .addGap(20, 20, 20)
177.418 + .addComponent(separatorMaskLabel, GroupLayout.PREFERRED_SIZE, 107, GroupLayout.PREFERRED_SIZE)
177.419 + .addGap(10, 10, 10)
177.420 + .addComponent(separatePrefixComboBox, GroupLayout.PREFERRED_SIZE, 119, GroupLayout.PREFERRED_SIZE)
177.421 + .addGap(6, 6, 6)
177.422 + .addComponent(separateSepTextField, GroupLayout.PREFERRED_SIZE, 38, GroupLayout.PREFERRED_SIZE)
177.423 + .addGap(6, 6, 6)
177.424 + .addComponent(separatePostfixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
177.425 + .addGap(6, 6, 6)
177.426 + .addComponent(separateExtComboBox, GroupLayout.PREFERRED_SIZE, 115, GroupLayout.PREFERRED_SIZE))
177.427 + .addGroup(layout.createSequentialGroup()
177.428 + .addGap(10, 10, 10)
177.429 + .addComponent(errorLabel))
177.430 + .addGroup(layout.createSequentialGroup()
177.431 + .addGap(22, 22, 22)
177.432 + .addGroup(layout.createParallelGroup(Alignment.LEADING)
177.433 + .addComponent(adaRestrictionsLabel)
177.434 + .addComponent(adaDialectsLabel, GroupLayout.PREFERRED_SIZE, 112, GroupLayout.PREFERRED_SIZE))
177.435 + .addPreferredGap(ComponentPlacement.RELATED)
177.436 + .addGroup(layout.createParallelGroup(Alignment.LEADING)
177.437 + .addComponent(adaDialectsComboBox, GroupLayout.PREFERRED_SIZE, 87, GroupLayout.PREFERRED_SIZE)
177.438 + .addComponent(adaRestrictionsComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
177.439 + .addGroup(layout.createSequentialGroup()
177.440 + .addGroup(layout.createParallelGroup(Alignment.TRAILING)
177.441 + .addGroup(layout.createSequentialGroup()
177.442 + .addContainerGap()
177.443 + .addComponent(prefixTitleLabel)
177.444 + .addGap(18, 18, 18)
177.445 + .addComponent(separatorTitleLabel))
177.446 + .addGroup(Alignment.LEADING, layout.createSequentialGroup()
177.447 + .addGap(20, 20, 20)
177.448 + .addComponent(pkgSpecMaskLabel, GroupLayout.PREFERRED_SIZE, 107, GroupLayout.PREFERRED_SIZE)
177.449 + .addGap(10, 10, 10)
177.450 + .addComponent(pkgSpecPrefixComboBox, GroupLayout.PREFERRED_SIZE, 119, GroupLayout.PREFERRED_SIZE)
177.451 + .addGap(6, 6, 6)
177.452 + .addComponent(pkgSpecSepTextField, GroupLayout.PREFERRED_SIZE, 38, GroupLayout.PREFERRED_SIZE)))
177.453 + .addGroup(layout.createParallelGroup(Alignment.LEADING)
177.454 + .addGroup(layout.createSequentialGroup()
177.455 + .addGap(6, 6, 6)
177.456 + .addComponent(pkgSpecPostfixComboBox, GroupLayout.PREFERRED_SIZE, 119, GroupLayout.PREFERRED_SIZE))
177.457 + .addGroup(Alignment.TRAILING, layout.createSequentialGroup()
177.458 + .addGap(92, 92, 92)
177.459 + .addComponent(postfixTitleLabel)))
177.460 + .addGroup(layout.createParallelGroup(Alignment.LEADING)
177.461 + .addGroup(layout.createSequentialGroup()
177.462 + .addGap(6, 6, 6)
177.463 + .addComponent(pkgSpecExtComboBox, GroupLayout.PREFERRED_SIZE, 115, GroupLayout.PREFERRED_SIZE))
177.464 + .addGroup(Alignment.TRAILING, layout.createSequentialGroup()
177.465 + .addGap(101, 101, 101)
177.466 + .addComponent(extTitleLabel)))))
177.467 + .addGap(46, 46, 46))
177.468 + );
177.469 + layout.setVerticalGroup(
177.470 + layout.createParallelGroup(Alignment.LEADING)
177.471 + .addGroup(layout.createSequentialGroup()
177.472 + .addGap(11, 11, 11)
177.473 + .addGroup(layout.createParallelGroup(Alignment.LEADING)
177.474 + .addComponent(standardsLabel)
177.475 + .addGroup(layout.createSequentialGroup()
177.476 + .addGap(1, 1, 1)
177.477 + .addComponent(standardsLineSeparator, GroupLayout.PREFERRED_SIZE, 12, GroupLayout.PREFERRED_SIZE)))
177.478 + .addGap(9, 9, 9)
177.479 + .addGroup(layout.createParallelGroup(Alignment.BASELINE)
177.480 + .addComponent(adaDialectsLabel)
177.481 + .addComponent(adaDialectsComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
177.482 + .addGap(9, 9, 9)
177.483 + .addGroup(layout.createParallelGroup(Alignment.LEADING)
177.484 + .addGroup(layout.createSequentialGroup()
177.485 + .addGap(3, 3, 3)
177.486 + .addComponent(adaRestrictionsLabel))
177.487 + .addComponent(adaRestrictionsComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
177.488 + .addGap(18, 18, 18)
177.489 + .addGroup(layout.createParallelGroup(Alignment.LEADING)
177.490 + .addComponent(namingLabel)
177.491 + .addGroup(layout.createSequentialGroup()
177.492 + .addGap(2, 2, 2)
177.493 + .addComponent(namingLineSeparator, GroupLayout.PREFERRED_SIZE, 10, GroupLayout.PREFERRED_SIZE)))
177.494 + .addGap(1, 1, 1)
177.495 + .addGroup(layout.createParallelGroup(Alignment.LEADING)
177.496 + .addGroup(layout.createParallelGroup(Alignment.BASELINE)
177.497 + .addComponent(separatorTitleLabel)
177.498 + .addComponent(prefixTitleLabel))
177.499 + .addGroup(layout.createParallelGroup(Alignment.BASELINE)
177.500 + .addComponent(extTitleLabel)
177.501 + .addComponent(postfixTitleLabel)))
177.502 + .addGap(4, 4, 4)
177.503 + .addGroup(layout.createParallelGroup(Alignment.LEADING)
177.504 + .addGroup(layout.createSequentialGroup()
177.505 + .addGap(3, 3, 3)
177.506 + .addComponent(pkgSpecMaskLabel))
177.507 + .addComponent(pkgSpecPrefixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
177.508 + .addComponent(pkgSpecSepTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
177.509 + .addComponent(pkgSpecPostfixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
177.510 + .addComponent(pkgSpecExtComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
177.511 + .addGap(6, 6, 6)
177.512 + .addGroup(layout.createParallelGroup(Alignment.LEADING)
177.513 + .addGroup(layout.createSequentialGroup()
177.514 + .addGap(3, 3, 3)
177.515 + .addComponent(pkgBodyMaskLabel))
177.516 + .addComponent(pkgBodyPrefixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
177.517 + .addComponent(pkgBodySepTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
177.518 + .addComponent(pkgBodyPostfixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
177.519 + .addComponent(pkgBodyExtComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
177.520 + .addGap(6, 6, 6)
177.521 + .addGroup(layout.createParallelGroup(Alignment.LEADING)
177.522 + .addGroup(layout.createSequentialGroup()
177.523 + .addGap(3, 3, 3)
177.524 + .addComponent(separatorMaskLabel))
177.525 + .addComponent(separatePrefixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
177.526 + .addComponent(separateSepTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
177.527 + .addComponent(separatePostfixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
177.528 + .addComponent(separateExtComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
177.529 + .addGap(150, 150, 150)
177.530 + .addComponent(errorLabel))
177.531 + );
177.532 + }// </editor-fold>//GEN-END:initComponents
177.533 +
177.534 + private void adaDialectsComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_adaDialectsComboBoxActionPerformed
177.535 + if (this.uiProperties != null) {
177.536 + this.uiProperties.setAdaDialects(getAdaDialects());
177.537 + }
177.538 + }//GEN-LAST:event_adaDialectsComboBoxActionPerformed
177.539 +
177.540 + private void adaRestrictionsComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_adaRestrictionsComboBoxActionPerformed
177.541 + if (this.uiProperties != null) {
177.542 + this.uiProperties.setAdaRestrictions(getAdaRestrictions());
177.543 + }
177.544 + }//GEN-LAST:event_adaRestrictionsComboBoxActionPerformed
177.545 +
177.546 + private void pkgSpecPostfixComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_pkgSpecPostfixComboBoxActionPerformed
177.547 + fireChange();
177.548 + if (pkgSpecPostfixComboBox.getSelectedIndex() != 0) {
177.549 + pkgSpecPostfixComboBox.setEditable(true);
177.550 + pkgSpecPostfixComboBox.getEditor().selectAll();
177.551 + } else {
177.552 + pkgSpecPostfixComboBox.setEditable(false);
177.553 + }
177.554 + if (this.uiProperties != null) {
177.555 + this.uiProperties.setPkgSpecPostfix(getPkgSpecPostfix());
177.556 + }
177.557 + }//GEN-LAST:event_pkgSpecPostfixComboBoxActionPerformed
177.558 +
177.559 + private void pkgBodyPostfixComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_pkgBodyPostfixComboBoxActionPerformed
177.560 + fireChange();
177.561 + if (pkgBodyPostfixComboBox.getSelectedIndex() != 0) {
177.562 + pkgBodyPostfixComboBox.setEditable(true);
177.563 + pkgBodyPostfixComboBox.getEditor().selectAll();
177.564 + } else {
177.565 + pkgBodyPostfixComboBox.setEditable(false);
177.566 + }
177.567 + if (this.uiProperties != null) {
177.568 + this.uiProperties.setPkgBodyPostfix(getPkgBodyPostfix());
177.569 + }
177.570 + }//GEN-LAST:event_pkgBodyPostfixComboBoxActionPerformed
177.571 +
177.572 + private void separatePostfixComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_separatePostfixComboBoxActionPerformed
177.573 + if (this.uiProperties != null) {
177.574 + this.uiProperties.setSeparatePostfix(getSeparatePostfix());
177.575 + }
177.576 + }//GEN-LAST:event_separatePostfixComboBoxActionPerformed
177.577 +
177.578 + private void pkgSpecExtComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_pkgSpecExtComboBoxActionPerformed
177.579 + if (this.uiProperties != null) {
177.580 + this.uiProperties.setPkgSpecExt(getPkgSpecExt());
177.581 + }
177.582 + fireChange();
177.583 + }//GEN-LAST:event_pkgSpecExtComboBoxActionPerformed
177.584 +
177.585 + private void pkgBodyExtComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_pkgBodyExtComboBoxActionPerformed
177.586 + if (this.uiProperties != null) {
177.587 + this.uiProperties.setPkgBodyExt(getPkgBodyExt());
177.588 + }
177.589 + fireChange();
177.590 + }//GEN-LAST:event_pkgBodyExtComboBoxActionPerformed
177.591 +
177.592 + private void separateExtComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_separateExtComboBoxActionPerformed
177.593 + if (this.uiProperties != null) {
177.594 + this.uiProperties.setSeparateExt(getSeparateExt());
177.595 + }
177.596 + }//GEN-LAST:event_separateExtComboBoxActionPerformed
177.597 + // Variables declaration - do not modify//GEN-BEGIN:variables
177.598 + private JComboBox adaDialectsComboBox;
177.599 + private JLabel adaDialectsLabel;
177.600 + private JComboBox adaRestrictionsComboBox;
177.601 + private JLabel adaRestrictionsLabel;
177.602 + private JLabel errorLabel;
177.603 + private JLabel extTitleLabel;
177.604 + private JLabel namingLabel;
177.605 + private JSeparator namingLineSeparator;
177.606 + private JComboBox pkgBodyExtComboBox;
177.607 + private JLabel pkgBodyMaskLabel;
177.608 + private JComboBox pkgBodyPostfixComboBox;
177.609 + private JComboBox pkgBodyPrefixComboBox;
177.610 + private JTextField pkgBodySepTextField;
177.611 + private JComboBox pkgSpecExtComboBox;
177.612 + private JLabel pkgSpecMaskLabel;
177.613 + private JComboBox pkgSpecPostfixComboBox;
177.614 + private JComboBox pkgSpecPrefixComboBox;
177.615 + private JTextField pkgSpecSepTextField;
177.616 + private JLabel postfixTitleLabel;
177.617 + private JLabel prefixTitleLabel;
177.618 + private JComboBox separateExtComboBox;
177.619 + private JComboBox separatePostfixComboBox;
177.620 + private JComboBox separatePrefixComboBox;
177.621 + private JTextField separateSepTextField;
177.622 + private JLabel separatorMaskLabel;
177.623 + private JLabel separatorTitleLabel;
177.624 + private JLabel standardsLabel;
177.625 + private JSeparator standardsLineSeparator;
177.626 + // End of variables declaration//GEN-END:variables
177.627 +
177.628 + public void stateChanged(ChangeEvent e) {
177.629 + // errors
177.630 + String postfixSpec = this.getPkgSpecPostfix();
177.631 + String postfixBody = this.getPkgBodyPostfix();
177.632 + String specExt = this.getPkgSpecExt();
177.633 + String bodyExt = this.getPkgBodyExt();
177.634 +
177.635 + // everything ok
177.636 + this.setError(" "); // NOI18N
177.637 +
177.638 + if (specExt.equalsIgnoreCase(bodyExt)) {
177.639 + if (postfixSpec.equalsIgnoreCase(postfixBody)) {
177.640 + this.setError(NbBundle.getMessage(AdaGeneralOptionsPanel.class, "MSG_ExtetionsError"));
177.641 + }
177.642 + }
177.643 + }
177.644 +
177.645 + public HelpCtx getHelpCtx() {
177.646 + return new HelpCtx(this.getClass());
177.647 + }
177.648 +}
178.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
178.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/options/ui/Bundle.properties Mon Oct 15 23:38:26 2012 +0200
178.3 @@ -0,0 +1,50 @@
178.4 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
178.5 +#
178.6 +# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
178.7 +#
178.8 +# The contents of this file are subject to the terms of either the GNU
178.9 +# General Public License Version 2 only ("GPL") or the Common
178.10 +# Development and Distribution License("CDDL") (collectively, the
178.11 +# "License"). You may not use this file except in compliance with the
178.12 +# License. You can obtain a copy of the License at
178.13 +# http://www.netbeans.org/cddl-gplv2.html
178.14 +# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
178.15 +# specific language governing permissions and limitations under the
178.16 +# License. When distributing the software, include this License Header
178.17 +# Notice in each file and include the License file at
178.18 +# nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
178.19 +# particular file as subject to the "Classpath" exception as provided
178.20 +# by Sun in the GPL Version 2 section of the License file that
178.21 +# accompanied this code. If applicable, add the following below the
178.22 +# License Header, with the fields enclosed by brackets [] replaced by
178.23 +# your own identifying information:
178.24 +# "Portions Copyrighted [year] [name of copyright owner]"
178.25 +#
178.26 +# If you wish your version of this file to be governed by only the CDDL
178.27 +# or only the GPL Version 2, indicate your decision by adding
178.28 +# "[Contributor] elects to include this software in this distribution
178.29 +# under the [CDDL or GPL Version 2] license." If you do not indicate a
178.30 +# single choice of license, a recipient has the option to distribute
178.31 +# your version of this file under either the CDDL, the GPL Version 2 or
178.32 +# to extend the choice of license to its licensees as provided above.
178.33 +# However, if you add GPL Version 2 code and therefore, elected the GPL
178.34 +# Version 2 license, then the option applies only if the new code is
178.35 +# made subject to such option by the copyright holder.
178.36 +#
178.37 +# Contributor(s):
178.38 +#
178.39 +# Portions Copyrighted 2009 Sun Microsystems, Inc.
178.40 +
178.41 +# AdaGeneralOptionsPanel
178.42 +LBL_Naming=File Naming
178.43 +LBL_AdaDialects=Ada Dialects
178.44 +LBL_pkgSpecMask=Package &Specification:
178.45 +LBL_pkgBodyMask=Package &Body:
178.46 +LBL_separatorMask=Separa&te:
178.47 +LBL_prefixTitle=prefix
178.48 +LBL_postfixTitle=postfix
178.49 +LBL_extTitle=ext.
178.50 +LBL_adaRestrictions=Ada &restrictions:
178.51 +LBL_Standards=Standards
178.52 +AdaGeneralOptionsPanel.separatorTitleLabel.text=separ.
178.53 +MSG_ExtetionsError= Body Postfix (".ada") cannot be the same as Spec Postfix.
178.54 \ No newline at end of file
179.1 --- a/ada.project/src/org/netbeans/modules/ada/project/path/AdaClassPathProvider.java Tue Oct 02 21:55:21 2012 -0400
179.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/path/AdaClassPathProvider.java Mon Oct 15 23:38:26 2012 +0200
179.3 @@ -44,6 +44,7 @@
179.4 import org.netbeans.modules.ada.project.AdaProject;
179.5 import org.netbeans.modules.ada.project.Pair;
179.6 import org.netbeans.modules.ada.project.SourceRoots;
179.7 +import org.netbeans.modules.ada.project.api.AdaSourcePath;
179.8 import org.netbeans.spi.java.classpath.ClassPathFactory;
179.9 import org.netbeans.spi.java.classpath.ClassPathProvider;
179.10 import org.openide.filesystems.FileObject;
179.11 @@ -140,12 +141,9 @@
179.12 }
179.13
179.14 public ClassPath findClassPath(FileObject file, String type) {
179.15 - if (type.equals(ClassPath.SOURCE)) {
179.16 + if (type.equals(AdaSourcePath.SOURCE_CP)) {
179.17 return getSourcepath(file);
179.18 - } else if (type.equals(ClassPath.BOOT)) {
179.19 - return getBootClassPath();
179.20 - } else if (type.equals(ClassPath.COMPILE)) {
179.21 - // Bogus
179.22 + } else if (type.equals(AdaSourcePath.BOOT_CP)) {
179.23 return getBootClassPath();
179.24 } else {
179.25 return null;
180.1 --- a/ada.project/src/org/netbeans/modules/ada/project/resources/Bundle.properties Tue Oct 02 21:55:21 2012 -0400
180.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/resources/Bundle.properties Mon Oct 15 23:38:26 2012 +0200
180.3 @@ -35,9 +35,12 @@
180.4 #
180.5 # Portions Copyrighted 2008 Sun Microsystems, Inc.
180.6
180.7 -Templates/Ada/NewAdaMain=Ada Application Main
180.8 -Templates/Ada/NewAdaPackageSpec=Ada Specification Package
180.9 -Templates/Ada/NewAdaPackageBody=Ada Body Package
180.10 +Loaders/text/x-ada/Factories/org-netbeans-modules-gsf-GsfDataLoader.instance=Ada Files
180.11 +Services/MIMEResolver/ada-project-mime-resolver.xml=Ada Files (content check)
180.12 +
180.13 +Templates/Ada/NewMain=Ada Application Main
180.14 +Templates/Ada/NewPackageSpec=Ada Specification Package
180.15 +Templates/Ada/NewPackageBody=Ada Body Package
180.16
180.17 Templates/Project/Ada/AdaProject.xml=Ada Application
180.18 Templates/Project/Ada/ExistingAdaProject.xml=Ada Application with Existing Sources
181.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
181.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/resources/ada-project-mime-resolver.xml Mon Oct 15 23:38:26 2012 +0200
181.3 @@ -0,0 +1,55 @@
181.4 +<?xml version="1.0" encoding="UTF-8"?>
181.5 +<!--
181.6 +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
181.7 +
181.8 +Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
181.9 +
181.10 +Oracle and Java are registered trademarks of Oracle and/or its affiliates.
181.11 +Other names may be trademarks of their respective owners.
181.12 +
181.13 +
181.14 +The contents of this file are subject to the terms of either the GNU
181.15 +General Public License Version 2 only ("GPL") or the Common
181.16 +Development and Distribution License("CDDL") (collectively, the
181.17 +"License"). You may not use this file except in compliance with the
181.18 +License. You can obtain a copy of the License at
181.19 +http://www.netbeans.org/cddl-gplv2.html
181.20 +or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
181.21 +specific language governing permissions and limitations under the
181.22 +License. When distributing the software, include this License Header
181.23 +Notice in each file and include the License file at
181.24 +nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
181.25 +particular file as subject to the "Classpath" exception as provided
181.26 +by Oracle in the GPL Version 2 section of the License file that
181.27 +accompanied this code. If applicable, add the following below the
181.28 +License Header, with the fields enclosed by brackets [] replaced by
181.29 +your own identifying information:
181.30 +"Portions Copyrighted [year] [name of copyright owner]"
181.31 +
181.32 +Contributor(s):
181.33 +
181.34 +The Original Software is NetBeans. The Initial Developer of the Original
181.35 +Software is Sun Microsystems, Inc. Portions Copyright 2008 Sun
181.36 +Microsystems, Inc. All Rights Reserved.
181.37 +
181.38 +If you wish your version of this file to be governed by only the CDDL
181.39 +or only the GPL Version 2, indicate your decision by adding
181.40 +"[Contributor] elects to include this software in this distribution
181.41 +under the [CDDL or GPL Version 2] license." If you do not indicate a
181.42 +single choice of license, a recipient has the option to distribute
181.43 +your version of this file under either the CDDL, the GPL Version 2 or
181.44 +to extend the choice of license to its licensees as provided above.
181.45 +However, if you add GPL Version 2 code and therefore, elected the GPL
181.46 +Version 2 license, then the option applies only if the new code is
181.47 +made subject to such option by the copyright holder.
181.48 +-->
181.49 +
181.50 +<!DOCTYPE MIME-resolver PUBLIC "-//NetBeans//DTD MIME Resolver 1.1//EN" "http://www.netbeans.org/dtds/mime-resolver-1_1.dtd">
181.51 +<MIME-resolver>
181.52 + <file>
181.53 + <ext name="ada"/>
181.54 + <ext name="ads"/>
181.55 + <ext name="adb"/>
181.56 + <resolver mime="text/x-ada"/>
181.57 + </file>
181.58 +</MIME-resolver>
182.1 --- a/ada.project/src/org/netbeans/modules/ada/project/resources/layer.xml Tue Oct 02 21:55:21 2012 -0400
182.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/resources/layer.xml Mon Oct 15 23:38:26 2012 +0200
182.3 @@ -97,30 +97,30 @@
182.4 </folder>
182.5 <folder name="Ada">
182.6 <attr name="position" intvalue="40"/>
182.7 - <file name="NewAdaMain" url="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaMain">
182.8 + <file name="NewMain" url="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaMain">
182.9 <attr name="template" boolvalue="true"/>
182.10 <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.ada.project.resources.Bundle"/>
182.11 - <attr name="SystemFileSystem.icon" urlvalue="nbresloc:org/netbeans/modules/ada/project/ui/resources/ada-body-16.png"/>
182.12 + <attr name="SystemFileSystem.icon" urlvalue="nbresloc:org/netbeans/modules/ada/project/ui/resources/adb-16.png"/>
182.13 <attr name="javax.script.ScriptEngine" stringvalue="freemarker"/>
182.14 <attr name="instantiatingIterator" newvalue="org.netbeans.modules.ada.project.ui.wizards.NewFileWizardIterator"/>
182.15 <attr name="templateWizardURL" urlvalue="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaMainFileDescription.html"/>
182.16 <attr name="templateCategory" stringvalue="Ada"/>
182.17 <attr name="position" intvalue="100"/>
182.18 </file>
182.19 - <file name="NewAdaPackageSpec" url="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaSpec">
182.20 + <file name="NewPackageSpec" url="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaSpec">
182.21 <attr name="template" boolvalue="true"/>
182.22 <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.ada.project.resources.Bundle"/>
182.23 - <attr name="SystemFileSystem.icon" urlvalue="nbresloc:org/netbeans/modules/ada/project/ui/resources/ada-spec-16.png"/>
182.24 + <attr name="SystemFileSystem.icon" urlvalue="nbresloc:org/netbeans/modules/ada/project/ui/resources/ads-16.png"/>
182.25 <attr name="javax.script.ScriptEngine" stringvalue="freemarker"/>
182.26 <attr name="instantiatingIterator" newvalue="org.netbeans.modules.ada.project.ui.wizards.NewFileWizardIterator"/>
182.27 <attr name="templateWizardURL" urlvalue="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaSpecFileDescription.html"/>
182.28 <attr name="templateCategory" stringvalue="Ada"/>
182.29 <attr name="position" intvalue="200"/>
182.30 </file>
182.31 - <file name="NewAdaPackageBody" url="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaBody">
182.32 + <file name="NewPackageBody" url="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaBody">
182.33 <attr name="template" boolvalue="true"/>
182.34 <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.ada.project.resources.Bundle"/>
182.35 - <attr name="SystemFileSystem.icon" urlvalue="nbresloc:org/netbeans/modules/ada/project/ui/resources/ada-body-16.png"/>
182.36 + <attr name="SystemFileSystem.icon" urlvalue="nbresloc:org/netbeans/modules/ada/project/ui/resources/adb-16.png"/>
182.37 <attr name="javax.script.ScriptEngine" stringvalue="freemarker"/>
182.38 <attr name="instantiatingIterator" newvalue="org.netbeans.modules.ada.project.ui.wizards.NewFileWizardIterator"/>
182.39 <attr name="templateWizardURL" urlvalue="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaBodyFileDescription.html"/>
182.40 @@ -133,72 +133,81 @@
182.41 <folder name="text">
182.42 <folder name="x-ada">
182.43 <folder name="Actions">
182.44 - <file name="OpenAction.instance">
182.45 - <attr name="instanceClass" stringvalue="org.openide.actions.OpenAction"/>
182.46 + <file name="CopyAction.shadow">
182.47 + <attr name="originalFile" stringvalue="Actions/Edit/org-openide-actions-CopyAction.instance"/>
182.48 + <attr name="position" intvalue="400"/>
182.49 + </file>
182.50 + <file name="CutAction.shadow">
182.51 + <attr name="originalFile" stringvalue="Actions/Edit/org-openide-actions-CutAction.instance"/>
182.52 + <attr name="position" intvalue="300"/>
182.53 + </file>
182.54 + <file name="DeleteAction.shadow">
182.55 + <attr name="originalFile" stringvalue="Actions/Edit/org-openide-actions-DeleteAction.instance"/>
182.56 + <attr name="position" intvalue="800"/>
182.57 + </file>
182.58 + <file name="FileSystemAction.shadow">
182.59 + <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-FileSystemAction.instance"/>
182.60 + <attr name="position" intvalue="1300"/>
182.61 + </file>
182.62 + <file name="NewAction.shadow">
182.63 + <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-NewAction.instance"/>
182.64 + <attr name="position" intvalue="700"/>
182.65 + </file>
182.66 + <file name="OpenAction.shadow">
182.67 + <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-OpenAction.instance"/>
182.68 <attr name="position" intvalue="100"/>
182.69 </file>
182.70 + <file name="PasteAction.shadow">
182.71 + <attr name="originalFile" stringvalue="Actions/Edit/org-openide-actions-PasteAction.instance"/>
182.72 + <attr name="position" intvalue="500"/>
182.73 + </file>
182.74 + <file name="PropertiesAction.shadow">
182.75 + <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-PropertiesAction.instance"/>
182.76 + <attr name="position" intvalue="1600"/>
182.77 + </file>
182.78 + <file name="RenameAction.shadow">
182.79 + <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-RenameAction.instance"/>
182.80 + <attr name="position" intvalue="900"/>
182.81 + </file>
182.82 + <file name="SaveAsTemplateAction.shadow">
182.83 + <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-SaveAsTemplateAction.instance"/>
182.84 + <attr name="position" intvalue="1100"/>
182.85 + </file>
182.86 <file name="Separator1.instance">
182.87 <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
182.88 <attr name="position" intvalue="200"/>
182.89 </file>
182.90 - <file name="CutAction.instance">
182.91 - <attr name="instanceClass" stringvalue="org.openide.actions.CutAction"/>
182.92 - <attr name="position" intvalue="300"/>
182.93 - </file>
182.94 - <file name="CopyAction.instance">
182.95 - <attr name="instanceClass" stringvalue="org.openide.actions.CopyAction"/>
182.96 - <attr name="position" intvalue="400"/>
182.97 - </file>
182.98 - <file name="PasteAction.instance">
182.99 - <attr name="instanceClass" stringvalue="org.openide.actions.PasteAction"/>
182.100 - <attr name="position" intvalue="500"/>
182.101 - </file>
182.102 <file name="Separator2.instance">
182.103 <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
182.104 <attr name="position" intvalue="600"/>
182.105 </file>
182.106 - <file name="NewAction.instance">
182.107 - <attr name="instanceClass" stringvalue="org.openide.actions.NewAction"/>
182.108 - <attr name="position" intvalue="700"/>
182.109 - </file>
182.110 - <file name="DeleteAction.instance">
182.111 - <attr name="instanceClass" stringvalue="org.openide.actions.DeleteAction"/>
182.112 - <attr name="position" intvalue="800"/>
182.113 - </file>
182.114 - <file name="RenameAction.instance">
182.115 - <attr name="instanceClass" stringvalue="org.openide.actions.RenameAction"/>
182.116 - <attr name="position" intvalue="900"/>
182.117 - </file>
182.118 <file name="Separator3.instance">
182.119 <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
182.120 <attr name="position" intvalue="1000"/>
182.121 </file>
182.122 - <file name="SaveAsTemplateAction.instance">
182.123 - <attr name="instanceClass" stringvalue="org.openide.actions.SaveAsTemplateAction"/>
182.124 - <attr name="position" intvalue="1100"/>
182.125 - </file>
182.126 <file name="Separator4.instance">
182.127 <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
182.128 <attr name="position" intvalue="1200"/>
182.129 </file>
182.130 - <file name="FileSystemAction.instance">
182.131 - <attr name="instanceClass" stringvalue="org.openide.actions.FileSystemAction"/>
182.132 - <attr name="position" intvalue="1300"/>
182.133 - </file>
182.134 <file name="Separator5.instance">
182.135 <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
182.136 <attr name="position" intvalue="1400"/>
182.137 </file>
182.138 - <file name="ToolsAction.instance">
182.139 - <attr name="instanceClass" stringvalue="org.openide.actions.ToolsAction"/>
182.140 + <file name="ToolsAction.shadow">
182.141 + <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-ToolsAction.instance"/>
182.142 <attr name="position" intvalue="1500"/>
182.143 </file>
182.144 - <file name="PropertiesAction.instance">
182.145 - <attr name="instanceClass" stringvalue="org.openide.actions.PropertiesAction"/>
182.146 - <attr name="position" intvalue="1600"/>
182.147 - </file>
182.148 </folder>
182.149 </folder>
182.150 </folder>
182.151 </folder>
182.152 +<!-- <folder name="Services">
182.153 + <folder name="MIMEResolver">
182.154 + <file name="ada-project-mime-resolver.xml" url="ada-project-mime-resolver.xml">
182.155 + <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.ada.project.resources.Bundle"/>
182.156 + <attr name="position" intvalue="99001"/>
182.157 + </file>
182.158 + </folder>
182.159 + </folder>-->
182.160 +
182.161 </filesystem>
183.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/MainModuleChooser.java Tue Oct 02 21:55:21 2012 -0400
183.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/MainModuleChooser.java Mon Oct 15 23:38:26 2012 +0200
183.3 @@ -44,6 +44,7 @@
183.4 import java.util.List;
183.5 import javax.swing.DefaultListModel;
183.6 import javax.swing.JButton;
183.7 +import javax.swing.JPanel;
183.8 import javax.swing.SwingUtilities;
183.9 import org.netbeans.modules.ada.project.AdaMimeResolver;
183.10 import org.openide.filesystems.FileObject;
183.11 @@ -55,7 +56,7 @@
183.12 *
183.13 * @author Andrea Lucarelli
183.14 */
183.15 -final class MainModuleChooser extends javax.swing.JPanel {
183.16 +final class MainModuleChooser extends JPanel {
183.17
183.18 private final FileObject[] roots;
183.19 private final JButton okButton;
184.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/SourceNodeFactory.java Tue Oct 02 21:55:21 2012 -0400
184.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/SourceNodeFactory.java Mon Oct 15 23:38:26 2012 +0200
184.3 @@ -90,12 +90,13 @@
184.4
184.5 public List<SourceGroupKey> keys() {
184.6 if (this.project.getProjectDirectory() == null || !this.project.getProjectDirectory().isValid()) {
184.7 - return Collections.EMPTY_LIST;
184.8 + return new ArrayList<SourceGroupKey>(0);
184.9 }
184.10 Sources sources = getSources();
184.11 SourceGroup[] groups = sources.getSourceGroups(AdaSources.SOURCES_TYPE_ADA);
184.12
184.13 - List result = new ArrayList(groups.length);
184.14 +// List result = new ArrayList(groups.length);
184.15 + List<SourceGroupKey> result = new ArrayList<SourceGroupKey>(groups.length);
184.16 for (int i = 0; i < groups.length; i++) {
184.17 result.add(new SourceGroupKey(groups[i]));
184.18 }
185.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/Utils.java Tue Oct 02 21:55:21 2012 -0400
185.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/Utils.java Mon Oct 15 23:38:26 2012 +0200
185.3 @@ -122,9 +122,22 @@
185.4 return fileObjects;
185.5 }
185.6
185.7 + /**
185.8 + * Get a Ada project for the given FileObject.
185.9 + * @return a Ada project or <code>null</code>.
185.10 + */
185.11 + public static AdaProject getAdaProject(FileObject fo) {
185.12 + assert fo != null;
185.13 +
185.14 + Project project = FileOwnerQuery.getOwner(fo);
185.15 + if (project == null) {
185.16 + return null;
185.17 + }
185.18 + return project.getLookup().lookup(AdaProject.class);
185.19 + }
185.20 +
185.21 public static String browseLocationAction(final Component parent, String path, String title) {
185.22 JFileChooser chooser = new JFileChooser();
185.23 - FileUtil.preventFileChooserSymlinkTraversal(chooser, null);
185.24 chooser.setDialogTitle(title);
185.25 chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
185.26 if (path != null && path.length() > 0) {
185.27 @@ -244,6 +257,7 @@
185.28 delegate = HtmlRenderer.createRenderer();
185.29 }
185.30
185.31 + @Override
185.32 public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
185.33 String name;
185.34 if (value instanceof AdaPlatform) {
185.35 @@ -267,10 +281,12 @@
185.36 super(data, new Object[]{"location", "label"});//NOI18N
185.37 }
185.38
185.39 + @Override
185.40 public boolean isCellEditable(int row, int column) {
185.41 return column == 1;
185.42 }
185.43
185.44 + @Override
185.45 public Class getColumnClass(int columnIndex) {
185.46 switch (columnIndex) {
185.47 case 0:
185.48 @@ -331,6 +347,7 @@
185.49 }
185.50 }
185.51
185.52 + @Override
185.53 public void setRelatedEditMediator(final SourceRootsMediator rem) {
185.54 this.relatedEditMediator = (EditMediator) rem;
185.55 }
185.56 @@ -338,6 +355,7 @@
185.57 // Implementation of ActionListener ------------------------------------
185.58 /** Handles button events
185.59 */
185.60 + @Override
185.61 public void actionPerformed(ActionEvent e) {
185.62
185.63 Object source = e.getSource();
185.64 @@ -346,7 +364,6 @@
185.65
185.66 // Let user search for the Jar file
185.67 JFileChooser chooser = new JFileChooser();
185.68 - FileUtil.preventFileChooserSymlinkTraversal(chooser, null);
185.69 chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
185.70 chooser.setMultiSelectionEnabled(true);
185.71 if (isTest) {
185.72 @@ -389,6 +406,7 @@
185.73 // Selection listener implementation ----------------------------------
185.74 /** Handles changes in the selection
185.75 */
185.76 + @Override
185.77 public void valueChanged(ListSelectionEvent e) {
185.78
185.79 int[] si = rootsList.getSelectedRows();
185.80 @@ -413,9 +431,11 @@
185.81 downButton.setEnabled(down);
185.82 }
185.83
185.84 + @Override
185.85 public void editingCanceled(ChangeEvent e) {
185.86 }
185.87
185.88 + @Override
185.89 public void editingStopped(ChangeEvent e) {
185.90 fireChange();
185.91 }
185.92 @@ -445,7 +465,7 @@
185.93 continue;
185.94 }
185.95 if ((p = FileOwnerQuery.getOwner(normalizedFile.toURI())) != null && !p.getProjectDirectory().equals(project.getProjectDirectory())) {
185.96 - final Sources sources = (Sources) p.getLookup().lookup(Sources.class);
185.97 + final Sources sources = p.getLookup().lookup(Sources.class);
185.98 if (sources == null) {
185.99 rootsFromOtherProjects.add(normalizedFile);
185.100 continue;
185.101 @@ -649,6 +669,7 @@
185.102 this.projectConflict = projectConflict;
185.103 }
185.104
185.105 + @Override
185.106 public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
185.107 File f = (File) value;
185.108 String message = f.getAbsolutePath();
185.109 @@ -675,6 +696,7 @@
185.110 this.projectFolder = projectFolder;
185.111 }
185.112
185.113 + @Override
185.114 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
185.115 String displayName;
185.116 if (value instanceof File) {
186.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
186.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/actions/ActionsUtil.java Mon Oct 15 23:38:26 2012 +0200
186.3 @@ -0,0 +1,117 @@
186.4 +/*
186.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
186.6 + *
186.7 + * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
186.8 + *
186.9 + * The contents of this file are subject to the terms of either the GNU
186.10 + * General Public License Version 2 only ("GPL") or the Common
186.11 + * Development and Distribution License("CDDL") (collectively, the
186.12 + * "License"). You may not use this file except in compliance with the
186.13 + * License. You can obtain a copy of the License at
186.14 + * http://www.netbeans.org/cddl-gplv2.html
186.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
186.16 + * specific language governing permissions and limitations under the
186.17 + * License. When distributing the software, include this License Header
186.18 + * Notice in each file and include the License file at
186.19 + * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
186.20 + * particular file as subject to the "Classpath" exception as provided
186.21 + * by Sun in the GPL Version 2 section of the License file that
186.22 + * accompanied this code. If applicable, add the following below the
186.23 + * License Header, with the fields enclosed by brackets [] replaced by
186.24 + * your own identifying information:
186.25 + * "Portions Copyrighted [year] [name of copyright owner]"
186.26 + *
186.27 + * If you wish your version of this file to be governed by only the CDDL
186.28 + * or only the GPL Version 2, indicate your decision by adding
186.29 + * "[Contributor] elects to include this software in this distribution
186.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
186.31 + * single choice of license, a recipient has the option to distribute
186.32 + * your version of this file under either the CDDL, the GPL Version 2 or
186.33 + * to extend the choice of license to its licensees as provided above.
186.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
186.35 + * Version 2 license, then the option applies only if the new code is
186.36 + * made subject to such option by the copyright holder.
186.37 + *
186.38 + * Contributor(s):
186.39 + *
186.40 + * Portions Copyrighted 2009 Sun Microsystems, Inc.
186.41 + */
186.42 +package org.netbeans.modules.ada.project.ui.actions;
186.43 +
186.44 +import java.util.ArrayList;
186.45 +import org.netbeans.api.ada.platform.AdaPlatform;
186.46 +import org.netbeans.modules.ada.platform.compiler.gnat.GnatCompiler;
186.47 +import org.netbeans.modules.ada.platform.compiler.jgnat.JGnatCompiler;
186.48 +import org.netbeans.modules.ada.project.AdaProject;
186.49 +import org.netbeans.modules.ada.project.AdaProjectUtil;
186.50 +import org.netbeans.modules.ada.project.options.AdaOptions;
186.51 +import org.netbeans.modules.ada.project.ui.properties.AdaProjectProperties;
186.52 +import org.openide.filesystems.FileObject;
186.53 +import org.openide.filesystems.FileUtil;
186.54 +
186.55 +/**
186.56 + *
186.57 + * @author alucarelli
186.58 + */
186.59 +public class ActionsUtil {
186.60 +
186.61 + public static org.netbeans.spi.ada.platform.Compiler getCompilerFactory(AdaProject project, String displayTitle) {
186.62 + org.netbeans.spi.ada.platform.Compiler compiler = null;
186.63 +
186.64 + // Retrieve project and platform
186.65 + AdaPlatform platform = AdaProjectUtil.getActivePlatform(project);
186.66 + assert platform != null;
186.67 +
186.68 + ArrayList<String> sources = new ArrayList<String>();
186.69 + FileObject[] files;
186.70 +
186.71 + // Retrieve main file
186.72 + String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
186.73 + assert mainFile != null;
186.74 +
186.75 + // Retrieve ada dialects (Ada 83, 95, etc)
186.76 + String adaDialects = project.getEvaluator().getProperty(AdaOptions.ADA_DIALECTS);
186.77 +
186.78 + files = project.getSourcesDirectory();
186.79 + for (int index = 0; index < files.length; index++) {
186.80 + sources.add(FileUtil.toFile(files[index]).getAbsolutePath());
186.81 + }
186.82 +
186.83 + // Init compiler factory
186.84 + if (project.getEvaluator().getProperty(AdaProjectProperties.OUTPUT_BUILD_FORMAT).equalsIgnoreCase(AdaProjectProperties.NATIVE_FORMAT)) {
186.85 + compiler = new GnatCompiler(
186.86 + platform,
186.87 + project.getName(), // project name
186.88 + FileUtil.toFile(project.getProjectDirectory()).getAbsolutePath(), // project location
186.89 + sources, // sources location
186.90 + mainFile, // main file
186.91 + adaDialects,
186.92 + project.getName(), // executable file
186.93 + displayTitle, // display name
186.94 + project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX),
186.95 + project.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX),
186.96 + project.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX),
186.97 + project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT),
186.98 + project.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT),
186.99 + project.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT));
186.100 + } else if (project.getEvaluator().getProperty(AdaProjectProperties.OUTPUT_BUILD_FORMAT).equalsIgnoreCase(AdaProjectProperties.JVM_FORMAT)) {
186.101 + compiler = new JGnatCompiler(
186.102 + platform,
186.103 + project.getName(), // project name
186.104 + FileUtil.toFile(project.getProjectDirectory()).getAbsolutePath(), // project location
186.105 + sources, // sources location
186.106 + mainFile, // main file
186.107 + adaDialects,
186.108 + project.getName(), // executable file
186.109 + displayTitle, // display name
186.110 + project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX),
186.111 + project.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX),
186.112 + project.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX),
186.113 + project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT),
186.114 + project.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT),
186.115 + project.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT));
186.116 + }
186.117 +
186.118 + return compiler;
186.119 + }
186.120 +}
187.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/actions/BuildCommand.java Tue Oct 02 21:55:21 2012 -0400
187.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/actions/BuildCommand.java Mon Oct 15 23:38:26 2012 +0200
187.3 @@ -74,15 +74,6 @@
187.4 public void invokeAction(Lookup context) throws IllegalArgumentException {
187.5 // Retrieve project and platform
187.6 final AdaProject project = getProject();
187.7 - AdaPlatform platform = AdaProjectUtil.getActivePlatform(project);
187.8 - assert platform != null;
187.9 -
187.10 - ArrayList<String> sources = new ArrayList<String>();
187.11 - FileObject[] files;
187.12 -
187.13 - // Retrieve main file
187.14 - String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
187.15 - assert mainFile != null;
187.16
187.17 // Create Build/Dist folders
187.18 try {
187.19 @@ -92,29 +83,8 @@
187.20 Exceptions.printStackTrace(ex);
187.21 }
187.22
187.23 - files = project.getSourcesDirectory();
187.24 - for (int index = 0; index < files.length; index++) {
187.25 - sources.add(FileUtil.toFile(files[index]).getAbsolutePath());
187.26 - }
187.27 -
187.28 - // Init compiler factory
187.29 - GnatCompiler comp = new GnatCompiler(
187.30 - platform,
187.31 - project.getName(), // project name
187.32 - FileUtil.toFile(project.getProjectDirectory()).getAbsolutePath(), // project location
187.33 - sources, // sources location
187.34 - mainFile, // main file
187.35 - project.getName(), // executable file
187.36 - COMMAND_ID, // display name
187.37 - project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX),
187.38 - project.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX),
187.39 - project.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX),
187.40 - project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT),
187.41 - project.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT),
187.42 - project.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT));
187.43 -
187.44 // Start build
187.45 - comp.Build();
187.46 + ActionsUtil.getCompilerFactory(project, COMMAND_ID).Build();
187.47 }
187.48
187.49 @Override
187.50 @@ -124,6 +94,10 @@
187.51 if (platform == null) {
187.52 return false;
187.53 }
187.54 + String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
187.55 + if (mainFile == null) {
187.56 + return false;
187.57 + }
187.58 return true;
187.59 }
187.60
187.61 @@ -145,14 +119,16 @@
187.62
187.63 private void createBuildRoot(final AdaProject project) throws IOException {
187.64 // Retrieve build path
187.65 - String buildPath = project.getEvaluator().getProperty(AdaProjectProperties.BUILD_DIR);
187.66 + final File projectDirectory = FileUtil.toFile(project.getProjectDirectory());
187.67 + String buildPath = projectDirectory + File.separator + project.getEvaluator().getProperty(AdaProjectProperties.BUILD_DIR);
187.68 assert buildPath != null;
187.69 FileUtil.createFolder(new File(buildPath));
187.70 }
187.71
187.72 private void createDistRoot(final AdaProject project) throws IOException {
187.73 // Retrieve dist path
187.74 - String distPath = project.getEvaluator().getProperty(AdaProjectProperties.DIST_DIR);
187.75 + final File projectDirectory = FileUtil.toFile(project.getProjectDirectory());
187.76 + String distPath = projectDirectory + File.separator + project.getEvaluator().getProperty(AdaProjectProperties.DIST_DIR);
187.77 assert distPath != null;
187.78 FileUtil.createFolder(new File(distPath));
187.79 }
188.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/actions/CleanCommand.java Tue Oct 02 21:55:21 2012 -0400
188.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/actions/CleanCommand.java Mon Oct 15 23:38:26 2012 +0200
188.3 @@ -71,38 +71,9 @@
188.4 @Override
188.5 public void invokeAction(Lookup context) throws IllegalArgumentException {
188.6 final AdaProject project = getProject();
188.7 - AdaPlatform platform = AdaProjectUtil.getActivePlatform(project);
188.8 - assert platform != null;
188.9 - ArrayList<String> sources = new ArrayList<String>();
188.10 - FileObject[] files;
188.11 -
188.12 - // Retrieve main file
188.13 - String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
188.14 - assert mainFile != null;
188.15 -
188.16 - files = project.getSourcesDirectory();
188.17 - for (int index = 0; index < files.length; index++) {
188.18 - sources.add(FileUtil.toFile(files[index]).getAbsolutePath());
188.19 - }
188.20 -
188.21 - // Init compiler factory
188.22 - GnatCompiler comp = new GnatCompiler(
188.23 - platform,
188.24 - project.getName(), // project name
188.25 - FileUtil.toFile(project.getProjectDirectory()).getAbsolutePath(), // project location
188.26 - sources, // sources location
188.27 - mainFile, // main file
188.28 - project.getName(), // executable file
188.29 - COMMAND_ID, // display name
188.30 - project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX),
188.31 - project.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX),
188.32 - project.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX),
188.33 - project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT),
188.34 - project.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT),
188.35 - project.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT));
188.36
188.37 // Start clean
188.38 - comp.Clean();
188.39 + ActionsUtil.getCompilerFactory(project, COMMAND_ID).Clean();
188.40 }
188.41
188.42 @Override
188.43 @@ -112,8 +83,12 @@
188.44 if (platform == null) {
188.45 return false;
188.46 } else {
188.47 + String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
188.48 + if (mainFile == null) {
188.49 + return false;
188.50 + }
188.51 if (!new File(FileUtil.toFile(project.getProjectDirectory()), "build").isDirectory() ||
188.52 - !new File(FileUtil.toFile(project.getProjectDirectory()), "dist").isDirectory()) {
188.53 + !new File(FileUtil.toFile(project.getProjectDirectory()), "dist").isDirectory()) {
188.54 return false;
188.55 }
188.56 }
189.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/actions/RebuildCommand.java Tue Oct 02 21:55:21 2012 -0400
189.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/actions/RebuildCommand.java Mon Oct 15 23:38:26 2012 +0200
189.3 @@ -36,19 +36,14 @@
189.4 *
189.5 * Portions Copyrighted 2008 Sun Microsystems, Inc.
189.6 */
189.7 -
189.8 package org.netbeans.modules.ada.project.ui.actions;
189.9
189.10 import java.io.File;
189.11 -import java.util.ArrayList;
189.12 import org.netbeans.api.ada.platform.AdaPlatform;
189.13 -import org.netbeans.modules.ada.platform.compiler.gnat.GnatCompiler;
189.14 import org.netbeans.modules.ada.project.AdaActionProvider;
189.15 import org.netbeans.modules.ada.project.AdaProject;
189.16 import org.netbeans.modules.ada.project.AdaProjectUtil;
189.17 -import org.netbeans.modules.ada.project.options.AdaOptions;
189.18 import org.netbeans.modules.ada.project.ui.properties.AdaProjectProperties;
189.19 -import org.openide.filesystems.FileObject;
189.20 import org.openide.filesystems.FileUtil;
189.21 import org.openide.util.Lookup;
189.22
189.23 @@ -71,41 +66,15 @@
189.24
189.25 @Override
189.26 public void invokeAction(Lookup context) throws IllegalArgumentException {
189.27 - // Retrieve project and platform
189.28 + // Retrieve project
189.29 final AdaProject project = getProject();
189.30 - AdaPlatform platform = AdaProjectUtil.getActivePlatform(project);
189.31 - assert platform != null;
189.32 - ArrayList<String> sources = new ArrayList<String>();
189.33 - FileObject[] files;
189.34 -
189.35 - // Retrieve main file
189.36 - String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
189.37 - assert mainFile != null;
189.38 -
189.39 - files = project.getSourcesDirectory();
189.40 - for (int index = 0; index < files.length; index++) {
189.41 - sources.add(FileUtil.toFile(files[index]).getAbsolutePath());
189.42 - }
189.43
189.44 // Init compiler factory
189.45 - GnatCompiler comp = new GnatCompiler(
189.46 - platform,
189.47 - project.getName(), // project name
189.48 - FileUtil.toFile(project.getProjectDirectory()).getAbsolutePath(), // project location
189.49 - sources, // sources location
189.50 - mainFile, // main file
189.51 - project.getName(), // executable file
189.52 - COMMAND_ID, // display name
189.53 - project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX),
189.54 - project.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX),
189.55 - project.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX),
189.56 - project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT),
189.57 - project.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT),
189.58 - project.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT));
189.59 + org.netbeans.spi.ada.platform.Compiler compiler = ActionsUtil.getCompilerFactory(project, COMMAND_ID);
189.60
189.61 // Start rebuild
189.62 - comp.Clean();
189.63 - comp.Build();
189.64 + compiler.Clean();
189.65 + compiler.Build();
189.66 }
189.67
189.68 @Override
189.69 @@ -115,12 +84,15 @@
189.70 if (platform == null) {
189.71 return false;
189.72 } else {
189.73 + String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
189.74 + if (mainFile == null) {
189.75 + return false;
189.76 + }
189.77 if (!new File(FileUtil.toFile(project.getProjectDirectory()), "build").isDirectory() ||
189.78 - !new File(FileUtil.toFile(project.getProjectDirectory()), "dist").isDirectory()) {
189.79 + !new File(FileUtil.toFile(project.getProjectDirectory()), "dist").isDirectory()) {
189.80 return false;
189.81 }
189.82 }
189.83 return true;
189.84 }
189.85 -
189.86 }
190.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/actions/RunCommand.java Tue Oct 02 21:55:21 2012 -0400
190.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/actions/RunCommand.java Mon Oct 15 23:38:26 2012 +0200
190.3 @@ -40,15 +40,11 @@
190.4
190.5 import java.io.File;
190.6 import java.io.IOException;
190.7 -import java.util.ArrayList;
190.8 import org.netbeans.api.ada.platform.AdaPlatform;
190.9 -import org.netbeans.modules.ada.platform.compiler.gnat.GnatCompiler;
190.10 import org.netbeans.modules.ada.project.AdaActionProvider;
190.11 import org.netbeans.modules.ada.project.AdaProject;
190.12 import org.netbeans.modules.ada.project.AdaProjectUtil;
190.13 -import org.netbeans.modules.ada.project.options.AdaOptions;
190.14 import org.netbeans.modules.ada.project.ui.properties.AdaProjectProperties;
190.15 -import org.openide.filesystems.FileObject;
190.16 import org.openide.filesystems.FileUtil;
190.17 import org.openide.util.Exceptions;
190.18 import org.openide.util.Lookup;
190.19 @@ -73,14 +69,6 @@
190.20 @Override
190.21 public void invokeAction(Lookup context) throws IllegalArgumentException {
190.22 final AdaProject project = getProject();
190.23 - AdaPlatform platform = AdaProjectUtil.getActivePlatform(project);
190.24 - assert platform != null;
190.25 - ArrayList<String> sources = new ArrayList<String>();
190.26 - FileObject[] files;
190.27 -
190.28 - // Retrieve main file
190.29 - String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
190.30 - assert mainFile != null;
190.31
190.32 // Create Build/Dist folders
190.33 try {
190.34 @@ -90,30 +78,13 @@
190.35 Exceptions.printStackTrace(ex);
190.36 }
190.37
190.38 - files = project.getSourcesDirectory();
190.39 - for (int index = 0; index < files.length; index++) {
190.40 - sources.add(FileUtil.toFile(files[index]).getAbsolutePath());
190.41 - }
190.42
190.43 // Init compiler factory
190.44 - GnatCompiler comp = new GnatCompiler(
190.45 - platform,
190.46 - project.getName(), // project name
190.47 - FileUtil.toFile(project.getProjectDirectory()).getAbsolutePath(), // project location
190.48 - sources, // sources location
190.49 - mainFile, // main file
190.50 - project.getName(), // executable file
190.51 - COMMAND_ID, // display name
190.52 - project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX),
190.53 - project.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX),
190.54 - project.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX),
190.55 - project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT),
190.56 - project.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT),
190.57 - project.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT));
190.58 + org.netbeans.spi.ada.platform.Compiler compiler = ActionsUtil.getCompilerFactory(project, COMMAND_ID);
190.59
190.60 // Start run
190.61 - comp.Build();
190.62 - comp.Run(project.getEvaluator().getProperty(AdaProjectProperties.APPLICATION_ARGS));
190.63 + compiler.Build();
190.64 + compiler.Run(project.getEvaluator().getProperty(AdaProjectProperties.APPLICATION_ARGS));
190.65 }
190.66
190.67 @Override
190.68 @@ -123,22 +94,26 @@
190.69 if (platform == null) {
190.70 return false;
190.71 }
190.72 + String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
190.73 + if (mainFile == null) {
190.74 + return false;
190.75 + }
190.76 return true;
190.77 }
190.78
190.79 private void createBuildRoot(final AdaProject project) throws IOException {
190.80 // Retrieve build path
190.81 - String buildPath = project.getEvaluator().getProperty(AdaProjectProperties.BUILD_DIR);
190.82 + final File projectDirectory = FileUtil.toFile(project.getProjectDirectory());
190.83 + String buildPath = projectDirectory + File.separator + project.getEvaluator().getProperty(AdaProjectProperties.BUILD_DIR);
190.84 assert buildPath != null;
190.85 -
190.86 FileUtil.createFolder(new File(buildPath));
190.87 }
190.88
190.89 private void createDistRoot(final AdaProject project) throws IOException {
190.90 // Retrieve dist path
190.91 - String distPath = project.getEvaluator().getProperty(AdaProjectProperties.DIST_DIR);
190.92 + final File projectDirectory = FileUtil.toFile(project.getProjectDirectory());
190.93 + String distPath = projectDirectory + File.separator + project.getEvaluator().getProperty(AdaProjectProperties.DIST_DIR);
190.94 assert distPath != null;
190.95 -
190.96 FileUtil.createFolder(new File(distPath));
190.97 }
190.98 }
191.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/AdaProjectProperties.java Tue Oct 02 21:55:21 2012 -0400
191.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/AdaProjectProperties.java Mon Oct 15 23:38:26 2012 +0200
191.3 @@ -77,6 +77,10 @@
191.4 public static final String ACTIVE_PLATFORM = "platform.active"; //NOI18N
191.5 public static final String ADA_LIB_PATH = "ada.lib.path"; //NOI18N
191.6 public static final String SOURCE_ENCODING = "source.encoding"; //NOI18N
191.7 + public static final String OUTPUT_BUILD_FORMAT = "output.build.format"; //NOI18N
191.8 +
191.9 + public static final String NATIVE_FORMAT = "NATIVE_FORMAT"; //NOI18N
191.10 + public static final String JVM_FORMAT = "JVM_FORMAT"; //NOI18N
191.11
191.12 private final AdaProject project;
191.13 private final PropertyEvaluator eval;
191.14 @@ -89,6 +93,7 @@
191.15 private volatile ArrayList<String> librariesPath;
191.16
191.17 private volatile String activePlatformId;
191.18 + private volatile String outputBuildFormat;
191.19 private volatile String adaDialects;
191.20 private volatile String adaRestrictions;
191.21 private volatile String pkgSpecPrefix;
191.22 @@ -217,6 +222,17 @@
191.23 this.activePlatformId = activePlatformId;
191.24 }
191.25
191.26 + public String getOutputBuildFormat() {
191.27 + if (outputBuildFormat == null) {
191.28 + outputBuildFormat = eval.getProperty(OUTPUT_BUILD_FORMAT);
191.29 + }
191.30 + return outputBuildFormat;
191.31 + }
191.32 +
191.33 + public void setOutputBuildFormat(String outputBuildFormat) {
191.34 + this.outputBuildFormat = outputBuildFormat;
191.35 + }
191.36 +
191.37 // Storing
191.38 void save() {
191.39 try {
191.40 @@ -271,6 +287,10 @@
191.41 projectProperties.put(ACTIVE_PLATFORM, activePlatformId);
191.42 }
191.43
191.44 + if (outputBuildFormat != null) {
191.45 + projectProperties.put(OUTPUT_BUILD_FORMAT, outputBuildFormat);
191.46 + }
191.47 +
191.48 if (adaDialects != null) {
191.49 projectProperties.put(AdaOptions.ADA_DIALECTS, adaDialects);
191.50 }
192.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/Bundle.properties Tue Oct 02 21:55:21 2012 -0400
192.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/Bundle.properties Mon Oct 15 23:38:26 2012 +0200
192.3 @@ -80,3 +80,6 @@
192.4 CustomizerBuild.manage.text=Manage...
192.5 CustomizerBuild.jLabel2.text=Ada Platform:
192.6 CustomizerRun.executableName.text=&Executable Name:
192.7 +CustomizerBuild.jLabel3.text=Build Format:
192.8 +CustomizerBuild.nativeFormat.text=Native
192.9 +CustomizerBuild.jvmFormat.text=JVM
193.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CompositePanelProviderImpl.java Tue Oct 02 21:55:21 2012 -0400
193.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CompositePanelProviderImpl.java Mon Oct 15 23:38:26 2012 +0200
193.3 @@ -36,13 +36,11 @@
193.4 *
193.5 * Portions Copyrighted 2008 Sun Microsystems, Inc.
193.6 */
193.7 -
193.8 -
193.9 package org.netbeans.modules.ada.project.ui.properties;
193.10
193.11 import javax.swing.JComponent;
193.12 import javax.swing.JPanel;
193.13 -import org.netbeans.modules.ada.project.options.AdaGeneralOptionsPanel;
193.14 +import org.netbeans.modules.ada.project.options.ui.AdaGeneralOptionsPanel;
193.15 import org.netbeans.spi.project.ui.support.ProjectCustomizer;
193.16 import org.netbeans.spi.project.ui.support.ProjectCustomizer.CompositeCategoryProvider;
193.17 import org.openide.util.Lookup;
193.18 @@ -100,7 +98,7 @@
193.19 null,
193.20 categories);
193.21 }
193.22 -
193.23 +
193.24 assert toReturn != null : "No category for name: " + name;
193.25 return toReturn;
193.26 }
193.27 @@ -120,7 +118,7 @@
193.28 } else if (STANDARDS_AND_NAMING.equals(nm)) {
193.29 return new AdaGeneralOptionsPanel(uiProps);
193.30 }
193.31 -
193.32 +
193.33 return new JPanel();
193.34 }
193.35
194.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerBuild.form Tue Oct 02 21:55:21 2012 -0400
194.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerBuild.form Mon Oct 15 23:38:26 2012 +0200
194.3 @@ -1,4 +1,4 @@
194.4 -<?xml version="1.0" encoding="UTF-8" ?>
194.5 +<?xml version="1.1" encoding="UTF-8" ?>
194.6
194.7 <Form version="1.5" maxVersion="1.6" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
194.8 <AuxValues>
194.9 @@ -7,7 +7,7 @@
194.10 <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
194.11 <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
194.12 <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
194.13 - <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="2"/>
194.14 + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
194.15 <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
194.16 <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
194.17 <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
194.18 @@ -16,21 +16,32 @@
194.19 <Layout>
194.20 <DimensionLayout dim="0">
194.21 <Group type="103" groupAlignment="0" attributes="0">
194.22 - <Group type="102" attributes="0">
194.23 + <Group type="102" alignment="0" attributes="0">
194.24 <EmptySpace max="-2" attributes="0"/>
194.25 <Group type="103" groupAlignment="0" attributes="0">
194.26 - <Component id="jLabel1" alignment="0" min="-2" max="-2" attributes="0"/>
194.27 - <Component id="jLabel2" alignment="0" min="-2" max="-2" attributes="0"/>
194.28 - </Group>
194.29 - <EmptySpace min="-2" pref="49" max="-2" attributes="0"/>
194.30 - <Group type="103" groupAlignment="0" attributes="0">
194.31 - <Component id="platforms" pref="323" max="32767" attributes="0"/>
194.32 - <Component id="mainModule" pref="323" max="32767" attributes="0"/>
194.33 - </Group>
194.34 - <EmptySpace max="-2" attributes="0"/>
194.35 - <Group type="103" groupAlignment="0" max="-2" attributes="0">
194.36 - <Component id="browse" alignment="1" max="32767" attributes="1"/>
194.37 - <Component id="manage" alignment="1" max="32767" attributes="1"/>
194.38 + <Group type="102" alignment="0" attributes="0">
194.39 + <Component id="jLabel3" min="-2" max="-2" attributes="0"/>
194.40 + <EmptySpace min="-2" pref="49" max="-2" attributes="0"/>
194.41 + <Component id="nativeFormat" min="-2" max="-2" attributes="0"/>
194.42 + <EmptySpace type="separate" max="-2" attributes="0"/>
194.43 + <Component id="jvmFormat" min="-2" max="-2" attributes="0"/>
194.44 + </Group>
194.45 + <Group type="102" alignment="0" attributes="0">
194.46 + <Group type="103" groupAlignment="0" attributes="0">
194.47 + <Component id="jLabel1" alignment="0" min="-2" max="-2" attributes="0"/>
194.48 + <Component id="jLabel2" alignment="0" min="-2" max="-2" attributes="0"/>
194.49 + </Group>
194.50 + <EmptySpace min="-2" pref="49" max="-2" attributes="0"/>
194.51 + <Group type="103" groupAlignment="0" attributes="0">
194.52 + <Component id="platforms" pref="323" max="32767" attributes="0"/>
194.53 + <Component id="mainModule" pref="323" max="32767" attributes="0"/>
194.54 + </Group>
194.55 + <EmptySpace max="-2" attributes="0"/>
194.56 + <Group type="103" groupAlignment="0" max="-2" attributes="0">
194.57 + <Component id="browse" alignment="1" max="32767" attributes="1"/>
194.58 + <Component id="manage" alignment="1" max="32767" attributes="1"/>
194.59 + </Group>
194.60 + </Group>
194.61 </Group>
194.62 <EmptySpace max="-2" attributes="0"/>
194.63 </Group>
194.64 @@ -51,7 +62,13 @@
194.65 <Component id="browse" alignment="3" min="-2" max="-2" attributes="0"/>
194.66 <Component id="mainModule" alignment="3" min="-2" max="-2" attributes="0"/>
194.67 </Group>
194.68 - <EmptySpace pref="224" max="32767" attributes="0"/>
194.69 + <EmptySpace type="unrelated" max="-2" attributes="0"/>
194.70 + <Group type="103" groupAlignment="3" attributes="0">
194.71 + <Component id="jLabel3" alignment="3" min="-2" max="-2" attributes="0"/>
194.72 + <Component id="nativeFormat" alignment="3" min="-2" max="-2" attributes="0"/>
194.73 + <Component id="jvmFormat" alignment="3" min="-2" max="-2" attributes="0"/>
194.74 + </Group>
194.75 + <EmptySpace pref="194" max="32767" attributes="0"/>
194.76 </Group>
194.77 </Group>
194.78 </DimensionLayout>
194.79 @@ -120,5 +137,38 @@
194.80 <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="manageActionPerformed"/>
194.81 </Events>
194.82 </Component>
194.83 + <Component class="javax.swing.JLabel" name="jLabel3">
194.84 + <Properties>
194.85 + <Property name="labelFor" type="java.awt.Component" editor="org.netbeans.modules.form.ComponentChooserEditor">
194.86 + <ComponentRef name="mainModule"/>
194.87 + </Property>
194.88 + <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
194.89 + <ResourceString bundle="org/netbeans/modules/ada/project/ui/properties/Bundle.properties" key="CustomizerBuild.jLabel3.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
194.90 + </Property>
194.91 + </Properties>
194.92 + <AuxValues>
194.93 + <AuxValue name="generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
194.94 + </AuxValues>
194.95 + </Component>
194.96 + <Component class="javax.swing.JRadioButton" name="nativeFormat">
194.97 + <Properties>
194.98 + <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
194.99 + <ResourceString bundle="org/netbeans/modules/ada/project/ui/properties/Bundle.properties" key="CustomizerBuild.nativeFormat.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
194.100 + </Property>
194.101 + </Properties>
194.102 + <Events>
194.103 + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="nativeFormatActionPerformed"/>
194.104 + </Events>
194.105 + </Component>
194.106 + <Component class="javax.swing.JRadioButton" name="jvmFormat">
194.107 + <Properties>
194.108 + <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
194.109 + <ResourceString bundle="org/netbeans/modules/ada/project/ui/properties/Bundle.properties" key="CustomizerBuild.jvmFormat.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
194.110 + </Property>
194.111 + </Properties>
194.112 + <Events>
194.113 + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jvmFormatActionPerformed"/>
194.114 + </Events>
194.115 + </Component>
194.116 </SubComponents>
194.117 </Form>
195.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerBuild.java Tue Oct 02 21:55:21 2012 -0400
195.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerBuild.java Mon Oct 15 23:38:26 2012 +0200
195.3 @@ -48,7 +48,6 @@
195.4 import org.netbeans.modules.ada.project.ui.Utils;
195.5 import org.openide.filesystems.FileObject;
195.6 import org.openide.filesystems.FileUtil;
195.7 -import org.openide.filesystems.Repository;
195.8 import org.openide.loaders.DataObject;
195.9 import org.openide.loaders.InstanceDataObject;
195.10 import org.openide.util.Exceptions;
195.11 @@ -63,7 +62,8 @@
195.12
195.13 private final AdaProjectProperties uiProperties;
195.14 private final DocListener listener;
195.15 -
195.16 + private final AdaPlatformManager manager;
195.17 +
195.18 /** Creates new form CustomizerBuild */
195.19 public CustomizerBuild(final AdaProjectProperties uiProperties) {
195.20 assert uiProperties != null;
195.21 @@ -78,15 +78,36 @@
195.22
195.23 this.platforms.setRenderer(Utils.createPlatformRenderer());
195.24 this.platforms.setModel(Utils.createPlatformModel());
195.25 - final AdaPlatformManager manager = AdaPlatformManager.getInstance();
195.26 + manager = AdaPlatformManager.getInstance();
195.27 String pid = uiProperties.getActivePlatformId();
195.28 if (pid == null) {
195.29 pid = manager.getDefaultPlatform();
195.30 }
195.31 +
195.32 final AdaPlatform activePlatform = manager.getPlatform(pid);
195.33 if (activePlatform != null) {
195.34 platforms.setSelectedItem(activePlatform);
195.35 }
195.36 +
195.37 + if (activePlatform.getJvmGnatCompilerCommand() != null) {
195.38 + nativeFormat.setEnabled(true);
195.39 + jvmFormat.setEnabled(true);
195.40 + if (uiProperties.getOutputBuildFormat().equalsIgnoreCase(AdaProjectProperties.NATIVE_FORMAT)) {
195.41 + nativeFormat.setSelected(true);
195.42 + jvmFormat.setSelected(false);
195.43 + }
195.44 + else {
195.45 + nativeFormat.setSelected(false);
195.46 + jvmFormat.setSelected(true);
195.47 + }
195.48 + }
195.49 + else {
195.50 + nativeFormat.setSelected(true);
195.51 + jvmFormat.setSelected(false);
195.52 + nativeFormat.setEnabled(false);
195.53 + jvmFormat.setEnabled(false);
195.54 + }
195.55 +
195.56 }
195.57
195.58 public HelpCtx getHelpCtx() {
195.59 @@ -108,6 +129,9 @@
195.60 platforms = new javax.swing.JComboBox();
195.61 jLabel2 = new javax.swing.JLabel();
195.62 manage = new javax.swing.JButton();
195.63 + jLabel3 = new javax.swing.JLabel();
195.64 + nativeFormat = new javax.swing.JRadioButton();
195.65 + jvmFormat = new javax.swing.JRadioButton();
195.66
195.67 jLabel1.setLabelFor(mainModule);
195.68 org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(CustomizerBuild.class, "CustomizerRun.mainModule.text")); // NOI18N
195.69 @@ -137,39 +161,69 @@
195.70 }
195.71 });
195.72
195.73 - org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
195.74 + jLabel3.setLabelFor(mainModule);
195.75 + org.openide.awt.Mnemonics.setLocalizedText(jLabel3, org.openide.util.NbBundle.getMessage(CustomizerBuild.class, "CustomizerBuild.jLabel3.text")); // NOI18N
195.76 +
195.77 + nativeFormat.setText(org.openide.util.NbBundle.getMessage(CustomizerBuild.class, "CustomizerBuild.nativeFormat.text")); // NOI18N
195.78 + nativeFormat.addActionListener(new java.awt.event.ActionListener() {
195.79 + public void actionPerformed(java.awt.event.ActionEvent evt) {
195.80 + nativeFormatActionPerformed(evt);
195.81 + }
195.82 + });
195.83 +
195.84 + jvmFormat.setText(org.openide.util.NbBundle.getMessage(CustomizerBuild.class, "CustomizerBuild.jvmFormat.text")); // NOI18N
195.85 + jvmFormat.addActionListener(new java.awt.event.ActionListener() {
195.86 + public void actionPerformed(java.awt.event.ActionEvent evt) {
195.87 + jvmFormatActionPerformed(evt);
195.88 + }
195.89 + });
195.90 +
195.91 + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
195.92 this.setLayout(layout);
195.93 layout.setHorizontalGroup(
195.94 - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
195.95 - .add(layout.createSequentialGroup()
195.96 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
195.97 + .addGroup(layout.createSequentialGroup()
195.98 .addContainerGap()
195.99 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
195.100 - .add(jLabel1)
195.101 - .add(jLabel2))
195.102 - .add(49, 49, 49)
195.103 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
195.104 - .add(platforms, 0, 323, Short.MAX_VALUE)
195.105 - .add(mainModule, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 323, Short.MAX_VALUE))
195.106 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
195.107 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
195.108 - .add(org.jdesktop.layout.GroupLayout.TRAILING, browse, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
195.109 - .add(org.jdesktop.layout.GroupLayout.TRAILING, manage, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
195.110 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
195.111 + .addGroup(layout.createSequentialGroup()
195.112 + .addComponent(jLabel3)
195.113 + .addGap(49, 49, 49)
195.114 + .addComponent(nativeFormat)
195.115 + .addGap(18, 18, 18)
195.116 + .addComponent(jvmFormat))
195.117 + .addGroup(layout.createSequentialGroup()
195.118 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
195.119 + .addComponent(jLabel1)
195.120 + .addComponent(jLabel2))
195.121 + .addGap(49, 49, 49)
195.122 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
195.123 + .addComponent(platforms, 0, 323, Short.MAX_VALUE)
195.124 + .addComponent(mainModule, javax.swing.GroupLayout.DEFAULT_SIZE, 323, Short.MAX_VALUE))
195.125 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
195.126 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
195.127 + .addComponent(browse, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
195.128 + .addComponent(manage, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
195.129 .addContainerGap())
195.130 );
195.131 layout.setVerticalGroup(
195.132 - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
195.133 - .add(layout.createSequentialGroup()
195.134 - .add(4, 4, 4)
195.135 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
195.136 - .add(platforms, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
195.137 - .add(jLabel2)
195.138 - .add(manage))
195.139 - .add(9, 9, 9)
195.140 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
195.141 - .add(jLabel1)
195.142 - .add(browse)
195.143 - .add(mainModule, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
195.144 - .addContainerGap(224, Short.MAX_VALUE))
195.145 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
195.146 + .addGroup(layout.createSequentialGroup()
195.147 + .addGap(4, 4, 4)
195.148 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
195.149 + .addComponent(platforms, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
195.150 + .addComponent(jLabel2)
195.151 + .addComponent(manage))
195.152 + .addGap(9, 9, 9)
195.153 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
195.154 + .addComponent(jLabel1)
195.155 + .addComponent(browse)
195.156 + .addComponent(mainModule, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
195.157 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
195.158 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
195.159 + .addComponent(jLabel3)
195.160 + .addComponent(nativeFormat)
195.161 + .addComponent(jvmFormat))
195.162 + .addContainerGap(194, Short.MAX_VALUE))
195.163 );
195.164 }// </editor-fold>//GEN-END:initComponents
195.165
195.166 @@ -183,12 +237,32 @@
195.167 private void platformsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_platformsActionPerformed
195.168 uiProperties.setActivePlatformId(
195.169 ((AdaPlatform) platforms.getSelectedItem()).getName());
195.170 +
195.171 + final AdaPlatform activePlatform = manager.getPlatform(uiProperties.getActivePlatformId());
195.172 +
195.173 + if (activePlatform.getJvmGnatCompilerCommand() != null) {
195.174 + nativeFormat.setEnabled(true);
195.175 + jvmFormat.setEnabled(true);
195.176 + if (uiProperties.getOutputBuildFormat().equalsIgnoreCase(AdaProjectProperties.NATIVE_FORMAT)) {
195.177 + nativeFormat.setSelected(true);
195.178 + jvmFormat.setSelected(false);
195.179 + } else {
195.180 + nativeFormat.setSelected(false);
195.181 + jvmFormat.setSelected(true);
195.182 + }
195.183 + } else {
195.184 + nativeFormat.setSelected(true);
195.185 + jvmFormat.setSelected(false);
195.186 + nativeFormat.setEnabled(false);
195.187 + jvmFormat.setEnabled(false);
195.188 + uiProperties.setOutputBuildFormat(AdaProjectProperties.NATIVE_FORMAT);
195.189 + }
195.190 +
195.191 }//GEN-LAST:event_platformsActionPerformed
195.192
195.193 private void manageActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_manageActionPerformed
195.194 // Workaround, Needs an API to display platform customizer
195.195 -// final FileObject fo = FileUtil.getConfigFile("Actions/Ada/org-netbeans-modules-ada-platform-PlatformsCustomizerAction.instance"); //NOI18N
195.196 - final FileObject fo = Repository.getDefault().getDefaultFileSystem().findResource("Actions/Ada/org-netbeans-modules-ada-platform-PlatformsCustomizerAction.instance"); //NOI18N
195.197 + final FileObject fo = FileUtil.getConfigFile("Actions/Ada/org-netbeans-modules-ada-platform-PlatformsCustomizerAction.instance"); //NOI18N
195.198 if (fo != null) {
195.199 try {
195.200 InstanceDataObject ido = (InstanceDataObject) DataObject.find(fo);
195.201 @@ -202,12 +276,26 @@
195.202 }
195.203 }
195.204 }//GEN-LAST:event_manageActionPerformed
195.205 +
195.206 +private void nativeFormatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nativeFormatActionPerformed
195.207 + uiProperties.setOutputBuildFormat(AdaProjectProperties.NATIVE_FORMAT);
195.208 + jvmFormat.setSelected(false);
195.209 +}//GEN-LAST:event_nativeFormatActionPerformed
195.210 +
195.211 +private void jvmFormatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jvmFormatActionPerformed
195.212 + uiProperties.setOutputBuildFormat(AdaProjectProperties.JVM_FORMAT);
195.213 + nativeFormat.setSelected(false);
195.214 +}//GEN-LAST:event_jvmFormatActionPerformed
195.215 +
195.216 // Variables declaration - do not modify//GEN-BEGIN:variables
195.217 private javax.swing.JButton browse;
195.218 private javax.swing.JLabel jLabel1;
195.219 private javax.swing.JLabel jLabel2;
195.220 + private javax.swing.JLabel jLabel3;
195.221 + private javax.swing.JRadioButton jvmFormat;
195.222 private javax.swing.JTextField mainModule;
195.223 private javax.swing.JButton manage;
195.224 + private javax.swing.JRadioButton nativeFormat;
195.225 private javax.swing.JComboBox platforms;
195.226 // End of variables declaration//GEN-END:variables
195.227
196.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerLibrariesPath.form Tue Oct 02 21:55:21 2012 -0400
196.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerLibrariesPath.form Mon Oct 15 23:38:26 2012 +0200
196.3 @@ -1,4 +1,4 @@
196.4 -<?xml version="1.0" encoding="UTF-8" ?>
196.5 +<?xml version="1.1" encoding="UTF-8" ?>
196.6
196.7 <Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
196.8 <AuxValues>
196.9 @@ -7,7 +7,7 @@
196.10 <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
196.11 <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
196.12 <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
196.13 - <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="2"/>
196.14 + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
196.15 <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
196.16 <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
196.17 <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
197.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerLibrariesPath.java Tue Oct 02 21:55:21 2012 -0400
197.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerLibrariesPath.java Mon Oct 15 23:38:26 2012 +0200
197.3 @@ -113,38 +113,38 @@
197.4
197.5 jLabel2.setText(org.openide.util.NbBundle.getMessage(CustomizerLibrariesPath.class, "CustomizerLibrariesPath.jLabel2.text")); // NOI18N
197.6
197.7 - org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
197.8 + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
197.9 this.setLayout(layout);
197.10 layout.setHorizontalGroup(
197.11 - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
197.12 - .add(layout.createSequentialGroup()
197.13 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
197.14 - .add(layout.createSequentialGroup()
197.15 - .add(jScrollPane2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 407, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
197.16 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
197.17 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
197.18 - .add(moveDownAdaPath, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 123, Short.MAX_VALUE)
197.19 - .add(moveUpAdaPath, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 123, Short.MAX_VALUE)
197.20 - .add(removeAdaPath, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 123, Short.MAX_VALUE)
197.21 - .add(addAdaPath, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 123, Short.MAX_VALUE)))
197.22 - .add(jLabel2))
197.23 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
197.24 + .addGroup(layout.createSequentialGroup()
197.25 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
197.26 + .addGroup(layout.createSequentialGroup()
197.27 + .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 407, javax.swing.GroupLayout.PREFERRED_SIZE)
197.28 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
197.29 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
197.30 + .addComponent(moveDownAdaPath, javax.swing.GroupLayout.DEFAULT_SIZE, 123, Short.MAX_VALUE)
197.31 + .addComponent(moveUpAdaPath, javax.swing.GroupLayout.DEFAULT_SIZE, 123, Short.MAX_VALUE)
197.32 + .addComponent(removeAdaPath, javax.swing.GroupLayout.DEFAULT_SIZE, 123, Short.MAX_VALUE)
197.33 + .addComponent(addAdaPath, javax.swing.GroupLayout.DEFAULT_SIZE, 123, Short.MAX_VALUE)))
197.34 + .addComponent(jLabel2))
197.35 .addContainerGap())
197.36 );
197.37 layout.setVerticalGroup(
197.38 - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
197.39 - .add(layout.createSequentialGroup()
197.40 - .add(jLabel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 16, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
197.41 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
197.42 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
197.43 - .add(layout.createSequentialGroup()
197.44 - .add(addAdaPath)
197.45 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
197.46 - .add(removeAdaPath)
197.47 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
197.48 - .add(moveUpAdaPath)
197.49 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
197.50 - .add(moveDownAdaPath))
197.51 - .add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 264, Short.MAX_VALUE))
197.52 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
197.53 + .addGroup(layout.createSequentialGroup()
197.54 + .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE)
197.55 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
197.56 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
197.57 + .addGroup(layout.createSequentialGroup()
197.58 + .addComponent(addAdaPath)
197.59 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
197.60 + .addComponent(removeAdaPath)
197.61 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
197.62 + .addComponent(moveUpAdaPath)
197.63 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
197.64 + .addComponent(moveDownAdaPath))
197.65 + .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 264, Short.MAX_VALUE))
197.66 .addContainerGap())
197.67 );
197.68 }// </editor-fold>//GEN-END:initComponents
198.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerRun.form Tue Oct 02 21:55:21 2012 -0400
198.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerRun.form Mon Oct 15 23:38:26 2012 +0200
198.3 @@ -1,4 +1,4 @@
198.4 -<?xml version="1.0" encoding="UTF-8" ?>
198.5 +<?xml version="1.1" encoding="UTF-8" ?>
198.6
198.7 <Form version="1.5" maxVersion="1.6" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
198.8 <AuxValues>
198.9 @@ -7,7 +7,7 @@
198.10 <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
198.11 <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
198.12 <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
198.13 - <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="2"/>
198.14 + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
198.15 <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
198.16 <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
198.17 <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
199.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerRun.java Tue Oct 02 21:55:21 2012 -0400
199.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerRun.java Mon Oct 15 23:38:26 2012 +0200
199.3 @@ -99,30 +99,30 @@
199.4 jLabel2.setLabelFor(appArgs);
199.5 org.openide.awt.Mnemonics.setLocalizedText(jLabel2, org.openide.util.NbBundle.getMessage(CustomizerRun.class, "CustomizerRun.appArgs.text")); // NOI18N
199.6
199.7 - org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
199.8 + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
199.9 this.setLayout(layout);
199.10 layout.setHorizontalGroup(
199.11 - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
199.12 - .add(layout.createSequentialGroup()
199.13 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
199.14 - .add(jLabel2)
199.15 - .add(jLabel1))
199.16 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
199.17 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
199.18 - .add(executableFile, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 333, Short.MAX_VALUE)
199.19 - .add(appArgs, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 333, Short.MAX_VALUE))
199.20 - .add(99, 99, 99))
199.21 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
199.22 + .addGroup(layout.createSequentialGroup()
199.23 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
199.24 + .addComponent(jLabel2)
199.25 + .addComponent(jLabel1))
199.26 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
199.27 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
199.28 + .addComponent(executableFile, javax.swing.GroupLayout.DEFAULT_SIZE, 333, Short.MAX_VALUE)
199.29 + .addComponent(appArgs, javax.swing.GroupLayout.DEFAULT_SIZE, 333, Short.MAX_VALUE))
199.30 + .addGap(99, 99, 99))
199.31 );
199.32 layout.setVerticalGroup(
199.33 - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
199.34 - .add(layout.createSequentialGroup()
199.35 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
199.36 - .add(jLabel1)
199.37 - .add(executableFile, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
199.38 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
199.39 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
199.40 - .add(jLabel2)
199.41 - .add(appArgs, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
199.42 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
199.43 + .addGroup(layout.createSequentialGroup()
199.44 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
199.45 + .addComponent(jLabel1)
199.46 + .addComponent(executableFile, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
199.47 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
199.48 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
199.49 + .addComponent(jLabel2)
199.50 + .addComponent(appArgs, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
199.51 .addContainerGap(237, Short.MAX_VALUE))
199.52 );
199.53 }// </editor-fold>//GEN-END:initComponents
200.1 Binary file ada.project/src/org/netbeans/modules/ada/project/ui/resources/adb-16.png has changed
201.1 Binary file ada.project/src/org/netbeans/modules/ada/project/ui/resources/ads-16.png has changed
202.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/Bundle.properties Tue Oct 02 21:55:21 2012 -0400
202.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/Bundle.properties Mon Oct 15 23:38:26 2012 +0200
202.3 @@ -56,7 +56,7 @@
202.4 # PanelOptionsVisual
202.5 TXT_MainFileName={0}
202.6 ERROR_IllegalMainFileName=Illegal main file name.
202.7 -LBL_setAsMainCheckBox=Set as &Main Project
202.8 +LBL_setAsMainCheckBox=Set as Main Project
202.9 LBL_createMainCheckBox=&Create Main File
202.10
202.11 # PanelConfigureProjectVisual
202.12 @@ -80,3 +80,4 @@
202.13 ERR_AlreadyAnProject="There is already a NetBeans project in the project folder."
202.14 ExistingAdaProjectPanelVisual.projectName.text=Project &Name:
202.15 ExistingAdaProjectPanelVisual.projectFolder.text=Project &Folder:
202.16 +ACSD_createMainCheckBox=null
203.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/EmptyAdaProjectPanelVisual.form Tue Oct 02 21:55:21 2012 -0400
203.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/EmptyAdaProjectPanelVisual.form Mon Oct 15 23:38:26 2012 +0200
203.3 @@ -1,4 +1,4 @@
203.4 -<?xml version="1.0" encoding="UTF-8" ?>
203.5 +<?xml version="1.1" encoding="UTF-8" ?>
203.6
203.7 <Form version="1.3" maxVersion="1.3" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
203.8 <AuxValues>
203.9 @@ -7,7 +7,7 @@
203.10 <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
203.11 <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
203.12 <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
203.13 - <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="2"/>
203.14 + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
203.15 <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
203.16 <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
203.17 <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
204.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/EmptyAdaProjectPanelVisual.java Tue Oct 02 21:55:21 2012 -0400
204.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/EmptyAdaProjectPanelVisual.java Mon Oct 15 23:38:26 2012 +0200
204.3 @@ -101,40 +101,40 @@
204.4
204.5 createdFolderTextField.setEditable(false);
204.6
204.7 - org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
204.8 + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
204.9 this.setLayout(layout);
204.10 layout.setHorizontalGroup(
204.11 - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
204.12 - .add(layout.createSequentialGroup()
204.13 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
204.14 - .add(projectLocationLabel)
204.15 - .add(createdFolderLabel)
204.16 - .add(projectNameLabel))
204.17 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
204.18 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
204.19 - .add(layout.createSequentialGroup()
204.20 - .add(projectLocationTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 249, Short.MAX_VALUE)
204.21 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
204.22 - .add(browseButton))
204.23 - .add(projectNameTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 343, Short.MAX_VALUE)
204.24 - .add(createdFolderTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 343, Short.MAX_VALUE)))
204.25 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
204.26 + .addGroup(layout.createSequentialGroup()
204.27 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
204.28 + .addComponent(projectLocationLabel)
204.29 + .addComponent(createdFolderLabel)
204.30 + .addComponent(projectNameLabel))
204.31 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
204.32 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
204.33 + .addGroup(layout.createSequentialGroup()
204.34 + .addComponent(projectLocationTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 258, Short.MAX_VALUE)
204.35 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
204.36 + .addComponent(browseButton))
204.37 + .addComponent(projectNameTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 343, Short.MAX_VALUE)
204.38 + .addComponent(createdFolderTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 343, Short.MAX_VALUE)))
204.39 );
204.40 layout.setVerticalGroup(
204.41 - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
204.42 - .add(layout.createSequentialGroup()
204.43 - .add(20, 20, 20)
204.44 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
204.45 - .add(projectNameLabel)
204.46 - .add(projectNameTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
204.47 - .add(8, 8, 8)
204.48 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
204.49 - .add(projectLocationLabel)
204.50 - .add(browseButton)
204.51 - .add(projectLocationTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
204.52 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
204.53 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
204.54 - .add(createdFolderLabel)
204.55 - .add(createdFolderTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
204.56 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
204.57 + .addGroup(layout.createSequentialGroup()
204.58 + .addGap(20, 20, 20)
204.59 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
204.60 + .addComponent(projectNameLabel)
204.61 + .addComponent(projectNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
204.62 + .addGap(8, 8, 8)
204.63 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
204.64 + .addComponent(projectLocationLabel)
204.65 + .addComponent(browseButton)
204.66 + .addComponent(projectLocationTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
204.67 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
204.68 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
204.69 + .addComponent(createdFolderLabel)
204.70 + .addComponent(createdFolderTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
204.71 .addContainerGap(31, Short.MAX_VALUE))
204.72 );
204.73 }// </editor-fold>//GEN-END:initComponents
204.74 @@ -143,7 +143,7 @@
204.75 String command = evt.getActionCommand();
204.76 if ("BROWSE".equals(command)) {
204.77 JFileChooser chooser = new JFileChooser();
204.78 - FileUtil.preventFileChooserSymlinkTraversal(chooser, null);
204.79 +// FileUtil.preventFileChooserSymlinkTraversal(chooser, null);
204.80 chooser.setDialogTitle("Select Project Location");
204.81 chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
204.82 String path = this.projectLocationTextField.getText();
204.83 @@ -238,7 +238,7 @@
204.84
204.85 String projectName = (String) settings.getProperty(NewAdaProjectWizardIterator.PROP_PROJECT_NAME);
204.86 if (projectName == null) {
204.87 - projectName = NewAdaProjectWizardIterator.getFreeFolderName(projectLocation,"NewAdaApplication"); //NOI18N
204.88 + projectName = NewAdaProjectWizardIterator.getFreeFolderName(projectLocation,"AdaApplication"); //NOI18N
204.89 }
204.90 this.projectNameTextField.setText(projectName);
204.91 this.projectNameTextField.selectAll();
205.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/ExistingAdaProjectPanelVisual.form Tue Oct 02 21:55:21 2012 -0400
205.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/ExistingAdaProjectPanelVisual.form Mon Oct 15 23:38:26 2012 +0200
205.3 @@ -1,4 +1,4 @@
205.4 -<?xml version="1.0" encoding="UTF-8" ?>
205.5 +<?xml version="1.1" encoding="UTF-8" ?>
205.6
205.7 <Form version="1.5" maxVersion="1.6" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
205.8 <AuxValues>
205.9 @@ -7,7 +7,7 @@
205.10 <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
205.11 <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
205.12 <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
205.13 - <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="2"/>
205.14 + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
205.15 <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
205.16 <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
205.17 <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
206.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/ExistingAdaProjectPanelVisual.java Tue Oct 02 21:55:21 2012 -0400
206.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/ExistingAdaProjectPanelVisual.java Mon Oct 15 23:38:26 2012 +0200
206.3 @@ -101,42 +101,42 @@
206.4 }
206.5 });
206.6
206.7 - org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
206.8 + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
206.9 this.setLayout(layout);
206.10 layout.setHorizontalGroup(
206.11 - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
206.12 - .add(layout.createSequentialGroup()
206.13 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
206.14 - .add(jLabel2)
206.15 - .add(jLabel1))
206.16 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
206.17 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
206.18 - .add(layout.createSequentialGroup()
206.19 - .add(projectFolderTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 276, Short.MAX_VALUE)
206.20 - .add(1, 1, 1)
206.21 - .add(browse))
206.22 - .add(projectNameTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 344, Short.MAX_VALUE))
206.23 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
206.24 + .addGroup(layout.createSequentialGroup()
206.25 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
206.26 + .addComponent(jLabel2)
206.27 + .addComponent(jLabel1))
206.28 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
206.29 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
206.30 + .addGroup(layout.createSequentialGroup()
206.31 + .addComponent(projectFolderTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 276, Short.MAX_VALUE)
206.32 + .addGap(1, 1, 1)
206.33 + .addComponent(browse))
206.34 + .addComponent(projectNameTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 344, Short.MAX_VALUE))
206.35 .addContainerGap())
206.36 );
206.37 layout.setVerticalGroup(
206.38 - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
206.39 - .add(layout.createSequentialGroup()
206.40 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
206.41 + .addGroup(layout.createSequentialGroup()
206.42 .addContainerGap()
206.43 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
206.44 - .add(jLabel1)
206.45 - .add(projectNameTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
206.46 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
206.47 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
206.48 - .add(jLabel2)
206.49 - .add(projectFolderTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
206.50 - .add(browse))
206.51 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
206.52 + .addComponent(jLabel1)
206.53 + .addComponent(projectNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
206.54 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
206.55 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
206.56 + .addComponent(jLabel2)
206.57 + .addComponent(projectFolderTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
206.58 + .addComponent(browse))
206.59 .addContainerGap(29, Short.MAX_VALUE))
206.60 );
206.61 }// </editor-fold>//GEN-END:initComponents
206.62
206.63 private void browseAction(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_browseAction
206.64 JFileChooser chooser = new JFileChooser();
206.65 - FileUtil.preventFileChooserSymlinkTraversal(chooser, null);
206.66 +// FileUtil.preventFileChooserSymlinkTraversal(chooser, null);
206.67 chooser.setDialogTitle(NbBundle.getMessage(ExistingAdaProjectPanelVisual.class, "LBL_SelectProjectFolder"));
206.68 chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
206.69 String path = this.projectFolderTextField.getText();
206.70 @@ -176,7 +176,7 @@
206.71 File projectLocation = (File) settings.getProperty(NewAdaProjectWizardIterator.PROP_PROJECT_LOCATION);
206.72 String defaultName = null;
206.73 if (projectLocation == null || projectLocation.getParentFile() == null || !projectLocation.getParentFile().isDirectory()) {
206.74 - defaultName = NewAdaProjectWizardIterator.getFreeFolderName(ProjectChooser.getProjectsFolder(), "NewAdaApplication"); //NOI18N
206.75 + defaultName = NewAdaProjectWizardIterator.getFreeFolderName(ProjectChooser.getProjectsFolder(), "AdaApplication"); //NOI18N
206.76 projectLocation = new File (ProjectChooser.getProjectsFolder(),defaultName);
206.77 }
206.78 this.projectFolderTextField.setText(projectLocation.getAbsolutePath());
207.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/NewAdaProjectWizardIterator.java Tue Oct 02 21:55:21 2012 -0400
207.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/NewAdaProjectWizardIterator.java Mon Oct 15 23:38:26 2012 +0200
207.3 @@ -48,6 +48,7 @@
207.4 import java.util.Map;
207.5 import java.util.NoSuchElementException;
207.6 import java.util.Set;
207.7 +import java.util.StringTokenizer;
207.8 import javax.swing.event.ChangeListener;
207.9 import org.netbeans.api.progress.ProgressHandle;
207.10 import org.netbeans.api.project.Project;
207.11 @@ -64,7 +65,6 @@
207.12 import org.openide.WizardDescriptor;
207.13 import org.openide.filesystems.FileObject;
207.14 import org.openide.filesystems.FileUtil;
207.15 -import org.openide.filesystems.Repository;
207.16 import org.openide.loaders.DataFolder;
207.17 import org.openide.loaders.DataObject;
207.18 import org.openide.util.Exceptions;
207.19 @@ -74,7 +74,7 @@
207.20 import org.w3c.dom.Document;
207.21 import org.w3c.dom.Element;
207.22
207.23 -public class NewAdaProjectWizardIterator implements WizardDescriptor.ProgressInstantiatingIterator {
207.24 +public class NewAdaProjectWizardIterator implements WizardDescriptor.ProgressInstantiatingIterator<WizardDescriptor> {
207.25
207.26 static final String SET_AS_MAIN = "setAsMain"; //NOI18N
207.27 static final String MAIN_FILE = "mainFile"; //NOI18N
207.28 @@ -97,7 +97,7 @@
207.29 }
207.30 private final WizardType wizardType;
207.31 private WizardDescriptor descriptor;
207.32 - private WizardDescriptor.Panel[] panels;
207.33 + private WizardDescriptor.Panel<WizardDescriptor>[] panels;
207.34 private int index;
207.35
207.36 public NewAdaProjectWizardIterator() {
207.37 @@ -116,6 +116,7 @@
207.38 return new NewAdaProjectWizardIterator(WizardType.EXISTING);
207.39 }
207.40
207.41 + @Override
207.42 public void initialize(WizardDescriptor wizard) {
207.43 descriptor = wizard;
207.44 index = 0;
207.45 @@ -124,17 +125,20 @@
207.46 initDescriptor(wizard);
207.47 }
207.48
207.49 + @Override
207.50 public void uninitialize(WizardDescriptor wizard) {
207.51 panels = null;
207.52 descriptor = null;
207.53 }
207.54
207.55 - public Set instantiate() throws IOException {
207.56 + @Override
207.57 + public Set<FileObject> instantiate() throws IOException {
207.58 assert false : "Cannot call this method if implements WizardDescriptor.ProgressInstantiatingIterator.";
207.59 return null;
207.60 }
207.61
207.62 - public Set instantiate(ProgressHandle handle) throws IOException {
207.63 + @Override
207.64 + public Set<FileObject> instantiate(ProgressHandle handle) throws IOException {
207.65 final Set<FileObject> resultSet = new HashSet<FileObject>();
207.66
207.67 handle.start(5);
207.68 @@ -163,8 +167,8 @@
207.69 // main file
207.70 final String mainName = (String) descriptor.getProperty(NewAdaProjectWizardIterator.MAIN_FILE);
207.71 if (mainName != null) {
207.72 - resultSet.add(createMainFile(Repository.getDefault().getDefaultFileSystem().findResource("Templates/Ada/NewAdaMain"),
207.73 - sourceDir, mainName).getPrimaryFile());
207.74 + resultSet.add(createMainFile(FileUtil.getConfigFile("Templates/Ada/NewMain"),
207.75 + sourceDir, removeSpaces(mainName)).getPrimaryFile());
207.76 }
207.77 }
207.78
207.79 @@ -175,18 +179,22 @@
207.80 return resultSet;
207.81 }
207.82
207.83 + @Override
207.84 public String name() {
207.85 return NbBundle.getMessage(NewAdaProjectWizardIterator.class, "LBL_IteratorName", index + 1, panels.length);
207.86 }
207.87
207.88 + @Override
207.89 public boolean hasNext() {
207.90 return index < panels.length - 1;
207.91 }
207.92
207.93 + @Override
207.94 public boolean hasPrevious() {
207.95 return index > 0;
207.96 }
207.97
207.98 + @Override
207.99 public void nextPanel() {
207.100 if (!hasNext()) {
207.101 throw new NoSuchElementException();
207.102 @@ -194,6 +202,7 @@
207.103 index++;
207.104 }
207.105
207.106 + @Override
207.107 public void previousPanel() {
207.108 if (!hasPrevious()) {
207.109 throw new NoSuchElementException();
207.110 @@ -201,7 +210,8 @@
207.111 index--;
207.112 }
207.113
207.114 - public WizardDescriptor.Panel current() {
207.115 + @Override
207.116 + public WizardDescriptor.Panel<WizardDescriptor> current() {
207.117 // wizard title
207.118 String title = NbBundle.getMessage(NewAdaProjectWizardIterator.class, wizardType == WizardType.NEW ? "TXT_AdaProject" : "TXT_ExistingAdaProject");
207.119 descriptor.putProperty("NewProjectWizard_Title", title); // NOI18N
207.120 @@ -228,15 +238,26 @@
207.121 return freeName;
207.122 }
207.123
207.124 - private WizardDescriptor.Panel[] createPanels() {
207.125 + private String removeSpaces(String s) {
207.126 + StringTokenizer st = new StringTokenizer(s, " ", false);
207.127 + String t = "";
207.128 + while (st.hasMoreElements()) {
207.129 + t += st.nextElement();
207.130 + }
207.131 + return t;
207.132 + }
207.133 +
207.134 + private WizardDescriptor.Panel<WizardDescriptor>[] createPanels() {
207.135 switch (wizardType) {
207.136 case NEW: {
207.137 String[] steps = new String[]{
207.138 NbBundle.getBundle(NewAdaProjectWizardIterator.class).getString("LBL_ProjectNameLocation"),};
207.139
207.140 PanelConfigureProject configureProjectPanel = new PanelConfigureProject(wizardType, steps);
207.141 - return new WizardDescriptor.Panel[]{
207.142 - configureProjectPanel,};
207.143 + @SuppressWarnings("unchecked") // Generic Array Creation
207.144 + WizardDescriptor.Panel<WizardDescriptor>[] pnls = new WizardDescriptor.Panel[]{
207.145 + configureProjectPanel,};
207.146 + return pnls;
207.147 }
207.148 case EXISTING: {
207.149 String[] steps = new String[]{
207.150 @@ -245,9 +266,11 @@
207.151
207.152 PanelConfigureProject configureProjectPanel = new PanelConfigureProject(wizardType, steps);
207.153 PanelConfigureSources configureSourcesPanel = new PanelConfigureSources(wizardType, steps);
207.154 - return new WizardDescriptor.Panel[]{
207.155 + @SuppressWarnings("unchecked") // Generic Array Creation
207.156 + WizardDescriptor.Panel<WizardDescriptor>[] pnls = new WizardDescriptor.Panel[]{
207.157 configureProjectPanel,
207.158 configureSourcesPanel,};
207.159 + return pnls;
207.160 }
207.161 default:
207.162 throw new IllegalStateException(wizardType.toString());
207.163 @@ -279,7 +302,6 @@
207.164 nameEl.appendChild(doc.createTextNode(name));
207.165 data.appendChild(nameEl);
207.166
207.167 -
207.168 EditableProperties properties = helper.getProperties(AntProjectHelper.PROJECT_PROPERTIES_PATH);
207.169
207.170 configureSources(helper, data, properties);
207.171 @@ -351,11 +373,11 @@
207.172 String platformId = (String) descriptor.getProperty(PROP_PLATFORM_ID);
207.173 assert platformId != null;
207.174 properties.setProperty(AdaProjectProperties.ACTIVE_PLATFORM, platformId);
207.175 - properties.setProperty(AdaProjectProperties.ADA_LIB_PATH, ""); //NOI18N
207.176 - final File projectDirectory = FileUtil.toFile(helper.getProjectDirectory());
207.177 - String buildPath = projectDirectory + File.separator + DEFAULT_BUILD_DIR;
207.178 + properties.setProperty(AdaProjectProperties.OUTPUT_BUILD_FORMAT, AdaProjectProperties.NATIVE_FORMAT);
207.179 + properties.setProperty(AdaProjectProperties.ADA_LIB_PATH, ""); //NOI18N
207.180 + String buildPath = DEFAULT_BUILD_DIR;
207.181 properties.setProperty(AdaProjectProperties.BUILD_DIR, buildPath);
207.182 - String distPath = projectDirectory + File.separator + DEFAULT_DIST_DIR;
207.183 + String distPath = DEFAULT_DIST_DIR;
207.184 properties.setProperty(AdaProjectProperties.DIST_DIR, distPath);
207.185 }
207.186
208.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/NewFileWizardIterator.java Tue Oct 02 21:55:21 2012 -0400
208.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/NewFileWizardIterator.java Mon Oct 15 23:38:26 2012 +0200
208.3 @@ -79,14 +79,17 @@
208.4 private WizardDescriptor.Panel<WizardDescriptor>[] getPanels() {
208.5 Project p = Templates.getProject(wizard);
208.6 final SourceGroup[] groups = Utils.getSourceGroups(p);
208.7 - WizardDescriptor.Panel<WizardDescriptor> simpleTargetChooserPanel = Templates.createSimpleTargetChooser(p, groups);
208.8 + WizardDescriptor.Panel<WizardDescriptor> simpleTargetChooserPanel = Templates.buildSimpleTargetChooser(p, groups).create();
208.9 FileObject template = Templates.getTemplate(wizard);
208.10
208.11 - return new WizardDescriptor.Panel[]{
208.12 - simpleTargetChooserPanel
208.13 - };
208.14 + @SuppressWarnings("unchecked") // Generic Array Creation
208.15 + WizardDescriptor.Panel<WizardDescriptor>[] panels = new WizardDescriptor.Panel[] {
208.16 + simpleTargetChooserPanel
208.17 + };
208.18 + return panels;
208.19 }
208.20
208.21 + @Override
208.22 public Set instantiate() throws IOException {
208.23 FileObject dir = Templates.getTargetFolder(wizard);
208.24 FileObject template = Templates.getTemplate(wizard);
208.25 @@ -118,6 +121,7 @@
208.26 return Collections.<FileObject>singleton(createdFile.getPrimaryFile());
208.27 }
208.28
208.29 + @Override
208.30 public void initialize(WizardDescriptor wizard) {
208.31 this.wizard = wizard;
208.32 FileObject targetFolder = Templates.getTargetFolder(wizard);
208.33 @@ -135,19 +139,24 @@
208.34 FileObject template = Templates.getTemplate(this.wizard);
208.35 String ext = template.getExt();
208.36 String postfix = "";
208.37 - if (template.getName().startsWith("NewAdaMain")) {
208.38 - ext = AdaOptions.getInstance().getSeparateExt();
208.39 - postfix = AdaOptions.getInstance().getSeparatePostfix();
208.40 - } else if (template.getName().startsWith("NewAdaPackageSpec")) {
208.41 - ext = AdaOptions.getInstance().getPkgSpecExt();
208.42 - postfix = AdaOptions.getInstance().getPkgSpecPostfix();
208.43 - } else if (template.getName().startsWith("NewAdaPackageBody")) {
208.44 - ext = AdaOptions.getInstance().getPkgBodyExt();
208.45 - postfix = AdaOptions.getInstance().getPkgBodyPostfix();
208.46 +
208.47 + Project project = Templates.getProject(wizard);
208.48 + assert project instanceof AdaProject;
208.49 + AdaProject adaProject = (AdaProject) project;
208.50 +
208.51 + if (template.getName().startsWith("NewMain")) {
208.52 + ext = adaProject.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT);
208.53 + postfix = adaProject.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX);
208.54 + } else if (template.getName().startsWith("NewPackageSpec")) {
208.55 + ext = adaProject.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT);
208.56 + postfix = adaProject.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX);
208.57 + } else if (template.getName().startsWith("NewPackageBody")) {
208.58 + ext = adaProject.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT);
208.59 + postfix = adaProject.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX);
208.60 }
208.61 String targetName = (targetFolder != null) ? FileUtil.findFreeFileName(targetFolder, template.getName(), ext) : template.getName();//NOI18N
208.62 // TODO: manage postfix naming
208.63 - targetName += /*postfix + */"." + ext;
208.64 + targetName += "." + ext;
208.65 Templates.setTargetName(this.wizard, targetName);//NOI18N
208.66 wizardPanels = getPanels();
208.67
208.68 @@ -178,26 +187,32 @@
208.69 return res;
208.70 }
208.71
208.72 + @Override
208.73 public void uninitialize(WizardDescriptor wizard) {
208.74 wizardPanels = null;
208.75 }
208.76
208.77 + @Override
208.78 public WizardDescriptor.Panel current() {
208.79 return wizardPanels[index];
208.80 }
208.81
208.82 + @Override
208.83 public String name() {
208.84 return index + 1 + ". from " + getPanels().length;
208.85 }
208.86
208.87 + @Override
208.88 public boolean hasNext() {
208.89 return index < getPanels().length - 1;
208.90 }
208.91
208.92 + @Override
208.93 public boolean hasPrevious() {
208.94 return index > 0;
208.95 }
208.96
208.97 + @Override
208.98 public void nextPanel() {
208.99 if (!hasNext()) {
208.100 throw new NoSuchElementException();
208.101 @@ -205,6 +220,7 @@
208.102 index++;
208.103 }
208.104
208.105 + @Override
208.106 public void previousPanel() {
208.107 if (!hasPrevious()) {
208.108 throw new NoSuchElementException();
208.109 @@ -213,9 +229,11 @@
208.110 }
208.111
208.112 // If nothing unusual changes in the middle of the wizard, simply:
208.113 + @Override
208.114 public void addChangeListener(ChangeListener l) {
208.115 }
208.116
208.117 + @Override
208.118 public void removeChangeListener(ChangeListener l) {
208.119 }
208.120
209.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/PanelConfigureSourcesVisual.form Tue Oct 02 21:55:21 2012 -0400
209.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/PanelConfigureSourcesVisual.form Mon Oct 15 23:38:26 2012 +0200
209.3 @@ -1,4 +1,4 @@
209.4 -<?xml version="1.0" encoding="UTF-8" ?>
209.5 +<?xml version="1.1" encoding="UTF-8" ?>
209.6
209.7 <Form version="1.4" maxVersion="1.6" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
209.8 <AuxValues>
209.9 @@ -7,7 +7,7 @@
209.10 <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
209.11 <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
209.12 <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
209.13 - <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="2"/>
209.14 + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
209.15 <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
209.16 <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
209.17 <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
210.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/PanelConfigureSourcesVisual.java Tue Oct 02 21:55:21 2012 -0400
210.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/PanelConfigureSourcesVisual.java Mon Oct 15 23:38:26 2012 +0200
210.3 @@ -167,48 +167,48 @@
210.4 }
210.5 });
210.6
210.7 - org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
210.8 + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
210.9 this.setLayout(layout);
210.10 layout.setHorizontalGroup(
210.11 - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
210.12 - .add(layout.createSequentialGroup()
210.13 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
210.14 - .add(jLabel1)
210.15 - .add(jLabel2)
210.16 - .add(jLabel3)
210.17 - .add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 465, Short.MAX_VALUE)
210.18 - .add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 465, Short.MAX_VALUE))
210.19 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
210.20 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
210.21 - .add(removeTest, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
210.22 - .add(addTest, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
210.23 - .add(addSource, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 137, Short.MAX_VALUE)
210.24 - .add(removeSource, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
210.25 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
210.26 + .addGroup(layout.createSequentialGroup()
210.27 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
210.28 + .addComponent(jLabel1)
210.29 + .addComponent(jLabel2)
210.30 + .addComponent(jLabel3)
210.31 + .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 465, Short.MAX_VALUE)
210.32 + .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 465, Short.MAX_VALUE))
210.33 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
210.34 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
210.35 + .addComponent(removeTest, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
210.36 + .addComponent(addTest, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
210.37 + .addComponent(addSource, javax.swing.GroupLayout.DEFAULT_SIZE, 137, Short.MAX_VALUE)
210.38 + .addComponent(removeSource, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
210.39 );
210.40 layout.setVerticalGroup(
210.41 - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
210.42 - .add(layout.createSequentialGroup()
210.43 - .add(20, 20, 20)
210.44 - .add(jLabel1)
210.45 - .add(18, 18, 18)
210.46 - .add(jLabel2)
210.47 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
210.48 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
210.49 - .add(layout.createSequentialGroup()
210.50 - .add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE)
210.51 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
210.52 - .add(jLabel3))
210.53 - .add(layout.createSequentialGroup()
210.54 - .add(addSource)
210.55 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
210.56 - .add(removeSource)))
210.57 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
210.58 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
210.59 - .add(layout.createSequentialGroup()
210.60 - .add(addTest)
210.61 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
210.62 - .add(removeTest))
210.63 - .add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE))
210.64 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
210.65 + .addGroup(layout.createSequentialGroup()
210.66 + .addGap(20, 20, 20)
210.67 + .addComponent(jLabel1)
210.68 + .addGap(18, 18, 18)
210.69 + .addComponent(jLabel2)
210.70 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
210.71 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
210.72 + .addGroup(layout.createSequentialGroup()
210.73 + .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE)
210.74 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
210.75 + .addComponent(jLabel3))
210.76 + .addGroup(layout.createSequentialGroup()
210.77 + .addComponent(addSource)
210.78 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
210.79 + .addComponent(removeSource)))
210.80 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
210.81 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
210.82 + .addGroup(layout.createSequentialGroup()
210.83 + .addComponent(addTest)
210.84 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
210.85 + .addComponent(removeTest))
210.86 + .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE))
210.87 .addContainerGap())
210.88 );
210.89 }// </editor-fold>//GEN-END:initComponents
210.90 @@ -244,7 +244,6 @@
210.91
210.92 private File[] browse (String label, FolderModel other) {
210.93 JFileChooser chooser = new JFileChooser();
210.94 - FileUtil.preventFileChooserSymlinkTraversal(chooser, null);
210.95 chooser.setDialogTitle(label);
210.96 chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
210.97 chooser.setMultiSelectionEnabled(true);
211.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/PanelOptionsVisual.form Tue Oct 02 21:55:21 2012 -0400
211.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/PanelOptionsVisual.form Mon Oct 15 23:38:26 2012 +0200
211.3 @@ -1,21 +1,13 @@
211.4 -<?xml version="1.0" encoding="UTF-8" ?>
211.5 +<?xml version="1.1" encoding="UTF-8" ?>
211.6
211.7 <Form version="1.2" maxVersion="1.2" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
211.8 - <AccessibilityProperties>
211.9 - <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
211.10 - <ResourceString bundle="net/java/dev/nbpython/project/templets/Bundle.properties" key="ACSN_PanelOptionsVisual" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
211.11 - </Property>
211.12 - <Property name="AccessibleContext.accessibleDescription" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
211.13 - <ResourceString bundle="net/java/dev/nbpython/project/templets/Bundle.properties" key="ACSD_PanelOptionsVisual" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
211.14 - </Property>
211.15 - </AccessibilityProperties>
211.16 <AuxValues>
211.17 <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
211.18 <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
211.19 <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
211.20 <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
211.21 <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
211.22 - <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="2"/>
211.23 + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
211.24 <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
211.25 <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
211.26 <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
211.27 @@ -79,10 +71,7 @@
211.28 </Properties>
211.29 <AccessibilityProperties>
211.30 <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
211.31 - <ResourceString bundle="net/java/dev/nbpython/project/templets/Bundle.properties" key="ACSN_createMainCheckBox" replaceFormat="org.openide.util.NbBundle.getBundle({sourceFileName}.class).getString("{key}")"/>
211.32 - </Property>
211.33 - <Property name="AccessibleContext.accessibleDescription" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
211.34 - <ResourceString bundle="net/java/dev/nbpython/project/templets/Bundle.properties" key="ACSD_createMainCheckBox" replaceFormat="org.openide.util.NbBundle.getBundle({sourceFileName}.class).getString("{key}")"/>
211.35 + <ResourceString bundle="org/netbeans/modules/ada/project/ui/wizards/Bundle.properties" key="LBL_createMainCheckBox" replaceFormat="org.openide.util.NbBundle.getBundle({sourceFileName}.class).getString("{key}")"/>
211.36 </Property>
211.37 </AccessibilityProperties>
211.38 <AuxValues>
211.39 @@ -93,14 +82,6 @@
211.40 <Properties>
211.41 <Property name="text" type="java.lang.String" value="Main"/>
211.42 </Properties>
211.43 - <AccessibilityProperties>
211.44 - <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
211.45 - <ResourceString bundle="net/java/dev/nbpython/project/templets/Bundle.properties" key="ASCN_mainClassTextFiled" replaceFormat="org.openide.util.NbBundle.getBundle({sourceFileName}.class).getString("{key}")"/>
211.46 - </Property>
211.47 - <Property name="AccessibleContext.accessibleDescription" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
211.48 - <ResourceString bundle="net/java/dev/nbpython/project/templets/Bundle.properties" key="ASCD_mainClassTextFiled" replaceFormat="org.openide.util.NbBundle.getBundle({sourceFileName}.class).getString("{key}")"/>
211.49 - </Property>
211.50 - </AccessibilityProperties>
211.51 </Component>
211.52 <Component class="javax.swing.JCheckBox" name="setAsMainCheckBox">
211.53 <Properties>
211.54 @@ -114,10 +95,7 @@
211.55 </Properties>
211.56 <AccessibilityProperties>
211.57 <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
211.58 - <ResourceString bundle="net/java/dev/nbpython/project/templets/Bundle.properties" key="ACSN_setAsMainCheckBox" replaceFormat="org.openide.util.NbBundle.getBundle({sourceFileName}.class).getString("{key}")"/>
211.59 - </Property>
211.60 - <Property name="AccessibleContext.accessibleDescription" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
211.61 - <ResourceString bundle="net/java/dev/nbpython/project/templets/Bundle.properties" key="ACSD_setAsMainCheckBox" replaceFormat="org.openide.util.NbBundle.getBundle({sourceFileName}.class).getString("{key}")"/>
211.62 + <ResourceString bundle="org/netbeans/modules/ada/project/ui/wizards/Bundle.properties" key="LBL_setAsMainCheckBox" replaceFormat="org.openide.util.NbBundle.getBundle({sourceFileName}.class).getString("{key}")"/>
211.63 </Property>
211.64 </AccessibilityProperties>
211.65 <AuxValues>
212.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/PanelOptionsVisual.java Tue Oct 02 21:55:21 2012 -0400
212.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/PanelOptionsVisual.java Mon Oct 15 23:38:26 2012 +0200
212.3 @@ -54,6 +54,7 @@
212.4 import org.openide.WizardDescriptor;
212.5 import org.openide.WizardValidationException;
212.6 import org.openide.filesystems.FileObject;
212.7 +import org.openide.filesystems.FileUtil;
212.8 import org.openide.filesystems.Repository;
212.9 import org.openide.loaders.DataObject;
212.10 import org.openide.loaders.InstanceDataObject;
212.11 @@ -118,12 +119,21 @@
212.12 }
212.13 }
212.14
212.15 + private String removeSpaces(String s) {
212.16 + StringTokenizer st = new StringTokenizer(s, " ", false);
212.17 + String t = "";
212.18 + while (st.hasMoreElements()) {
212.19 + t += st.nextElement();
212.20 + }
212.21 + return t;
212.22 + }
212.23 +
212.24 public void propertyChange(PropertyChangeEvent event) {
212.25 if (NewAdaProjectWizardIterator.PROP_PROJECT_NAME.equals(event.getPropertyName())) {
212.26 String newProjectName = (String) event.getNewValue();
212.27 this.mainFileTextField.setText(MessageFormat.format(
212.28 NbBundle.getMessage(PanelOptionsVisual.class, "TXT_MainFileName"),
212.29 - new Object[]{newProjectName + "." + AdaOptions.getInstance().getSeparateExt()}));
212.30 + new Object[]{removeSpaces(newProjectName) + "." + AdaOptions.getInstance().getSeparateExt()}));
212.31 }
212.32 if (NewAdaProjectWizardIterator.PROP_PROJECT_LOCATION.equals(event.getPropertyName())) {
212.33 projectLocation = (String) event.getNewValue();
212.34 @@ -167,56 +177,49 @@
212.35 }
212.36 });
212.37
212.38 - org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
212.39 + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
212.40 this.setLayout(layout);
212.41 layout.setHorizontalGroup(
212.42 - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
212.43 - .add(layout.createSequentialGroup()
212.44 - .add(setAsMainCheckBox)
212.45 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
212.46 + .addGroup(layout.createSequentialGroup()
212.47 + .addComponent(setAsMainCheckBox)
212.48 .addContainerGap(562, Short.MAX_VALUE))
212.49 - .add(layout.createSequentialGroup()
212.50 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
212.51 - .add(createMainCheckBox)
212.52 - .add(jLabel1))
212.53 - .add(18, 18, 18)
212.54 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
212.55 - .add(layout.createSequentialGroup()
212.56 - .add(platforms, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 233, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
212.57 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
212.58 - .add(manage)
212.59 - .add(4, 4, 4))
212.60 - .add(mainFileTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 558, Short.MAX_VALUE)))
212.61 + .addGroup(layout.createSequentialGroup()
212.62 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
212.63 + .addComponent(createMainCheckBox)
212.64 + .addComponent(jLabel1))
212.65 + .addGap(18, 18, 18)
212.66 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
212.67 + .addGroup(layout.createSequentialGroup()
212.68 + .addComponent(platforms, javax.swing.GroupLayout.PREFERRED_SIZE, 233, javax.swing.GroupLayout.PREFERRED_SIZE)
212.69 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
212.70 + .addComponent(manage)
212.71 + .addGap(4, 4, 4))
212.72 + .addComponent(mainFileTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 558, Short.MAX_VALUE)))
212.73 );
212.74 layout.setVerticalGroup(
212.75 - layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
212.76 - .add(layout.createSequentialGroup()
212.77 - .add(setAsMainCheckBox)
212.78 - .add(5, 5, 5)
212.79 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
212.80 - .add(createMainCheckBox)
212.81 - .add(mainFileTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
212.82 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
212.83 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.CENTER)
212.84 - .add(jLabel1)
212.85 - .add(platforms, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
212.86 - .add(manage))
212.87 + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
212.88 + .addGroup(layout.createSequentialGroup()
212.89 + .addComponent(setAsMainCheckBox)
212.90 + .addGap(5, 5, 5)
212.91 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
212.92 + .addComponent(createMainCheckBox)
212.93 + .addComponent(mainFileTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
212.94 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
212.95 + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
212.96 + .addComponent(jLabel1)
212.97 + .addComponent(platforms, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
212.98 + .addComponent(manage))
212.99 .addContainerGap(50, Short.MAX_VALUE))
212.100 );
212.101
212.102 - createMainCheckBox.getAccessibleContext().setAccessibleName("null");
212.103 - createMainCheckBox.getAccessibleContext().setAccessibleDescription("null");
212.104 - mainFileTextField.getAccessibleContext().setAccessibleName("null");
212.105 - mainFileTextField.getAccessibleContext().setAccessibleDescription("null");
212.106 - setAsMainCheckBox.getAccessibleContext().setAccessibleName("null");
212.107 - setAsMainCheckBox.getAccessibleContext().setAccessibleDescription("null");
212.108 -
212.109 - getAccessibleContext().setAccessibleName("null");
212.110 - getAccessibleContext().setAccessibleDescription("null");
212.111 + createMainCheckBox.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getBundle(PanelOptionsVisual.class).getString("LBL_createMainCheckBox")); // NOI18N
212.112 + setAsMainCheckBox.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getBundle(PanelOptionsVisual.class).getString("LBL_setAsMainCheckBox")); // NOI18N
212.113 }// </editor-fold>//GEN-END:initComponents
212.114
212.115 private void manageActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_manageActionPerformed
212.116 // Workaround, Needs an API to display platform customizer
212.117 - final FileObject fo = Repository.getDefault().getDefaultFileSystem().findResource("Actions/Ada/org-netbeans-modules-ada-platform-PlatformsCustomizerAction.instance"); //NOI18N
212.118 + final FileObject fo = FileUtil.getConfigFile("Actions/Ada/org-netbeans-modules-ada-platform-PlatformsCustomizerAction.instance"); //NOI18N
212.119 if (fo != null) {
212.120 try {
212.121 InstanceDataObject ido = (InstanceDataObject) DataObject.find(fo);