Migrate to NB6.9. Fix minor issues. release69
authorAndrea Lucarelli <raster@netbeans.org>
Sun, 22 Aug 2010 23:56:21 +0200
branchrelease69
changeset 16368d9526cedfa31
parent 16337 dae745d0f0d5
child 16369 6daee7a51aa7
Migrate to NB6.9. Fix minor issues.
ada.editor/build.xml
ada.editor/history.txt
ada.editor/manifest.mf
ada.editor/nbproject/project.properties
ada.editor/nbproject/project.xml
ada.editor/src/org/netbeans/modules/ada/editor/AdaLanguage.java
ada.editor/src/org/netbeans/modules/ada/editor/CodeUtils.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Assignment.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/BlockStatement.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/BodyDeclaration.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Dispatch.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/ExitStatement.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/FormalParameter.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/GotoStatement.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Identifier.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/MethodInvocation.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/PackageName.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/RaiseStatement.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Reference.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Scalar.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/SubprogramBody.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/TypeName.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/UnaryOperation.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Variable.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/DefaultTreePathVisitor.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/DefaultVisitor.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/Visitor.java
ada.editor/src/org/netbeans/modules/ada/editor/formatter/ui/FmtOptions.java
ada.editor/src/org/netbeans/modules/ada/editor/indexer/AdaElement.java
ada.editor/src/org/netbeans/modules/ada/editor/indexer/Element.java
ada.editor/src/org/netbeans/modules/ada/editor/lexer/Ada95ASTLexer.java
ada.editor/src/org/netbeans/modules/ada/editor/lexer/Ada95SyntaxLexer.java
ada.editor/src/org/netbeans/modules/ada/editor/lexer/AdaLexUtilities.java
ada.editor/src/org/netbeans/modules/ada/editor/lexer/AdaTokenId.java
ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/ASTLexer.skeleton
ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95SyntaxLexer.flex
ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaDeclarationFinder.java
ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaInstantRenamer.java
ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaOccurrencesFinder.java
ada.editor/src/org/netbeans/modules/ada/editor/navigator/NavUtils.java
ada.editor/src/org/netbeans/modules/ada/editor/navigator/SemiAttribute.java
ada.editor/src/org/netbeans/modules/ada/editor/parser/Ada95ASTParser.java
ada.editor/src/org/netbeans/modules/ada/editor/parser/Ada95ASTSymbols.java
ada.editor/src/org/netbeans/modules/ada/editor/parser/Ada95ErrorHandler.java
ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaSemanticAnalyzer.java
ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaStructureScanner.java
ada.editor/src/org/netbeans/modules/ada/editor/parser/resources/Ada95ASTParser.cup
ada.editor/src/org/netbeans/modules/ada/editor/parser/resources/Ada95Parser.cup
ada.editor/src/org/netbeans/modules/ada/editor/resources/Bundle.properties
ada.editor/src/org/netbeans/modules/ada/editor/resources/layer.xml
ada.help/history.txt
ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-build.html
ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-libraries.html
ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-run.html
ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-sources.html
ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-hs.xml
ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-map.xml
ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-toc.xml
ada.help/javahelp/org/netbeans/modules/ada/help/docs/new-ada-application.html
ada.help/javahelp/org/netbeans/modules/ada/help/docs/new-from-existing-ada-sources.html
ada.help/manifest.mf
ada.help/nbproject/project.properties
ada.kit/build.xml
ada.kit/history.txt
ada.kit/manifest.mf
ada.kit/nbproject/project.properties
ada.kit/nbproject/project.xml
ada.options/history.txt
ada.options/manifest.mf
ada.options/nbproject/project.properties
ada.options/nbproject/project.xml
ada.options/src/org/netbeans/modules/ada/options/AdaOptionsPanelController.java
ada.options/src/org/netbeans/modules/ada/options/Bundle.properties
ada.options/src/org/netbeans/modules/ada/options/resources/layer.xml
ada.platform/history.txt
ada.platform/manifest.mf
ada.platform/nbproject/project.properties
ada.platform/nbproject/project.xml
ada.platform/src/org/netbeans/api/ada/platform/AdaAutoDetector.java
ada.platform/src/org/netbeans/api/ada/platform/AdaExecution.java
ada.platform/src/org/netbeans/api/ada/platform/AdaOutputProcessor.java
ada.platform/src/org/netbeans/api/ada/platform/AdaPlatform.java
ada.platform/src/org/netbeans/api/ada/platform/AdaPlatformManager.java
ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/GnatProject.java
ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/commands/GnatClean.java
ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/commands/GnatMake.java
ada.platform/src/org/netbeans/modules/ada/platform/ui/Bundle.properties
ada.platform/src/org/netbeans/modules/ada/platform/ui/PlatformsCustomizer.form
ada.platform/src/org/netbeans/modules/ada/platform/ui/PlatformsCustomizer.java
ada.project/history.txt
ada.project/manifest.mf
ada.project/nbproject/project.properties
ada.project/nbproject/project.xml
ada.project/src/org/netbeans/modules/ada/project/AdaLogicalViewProvider.java
ada.project/src/org/netbeans/modules/ada/project/AdaProject.java
ada.project/src/org/netbeans/modules/ada/project/AdaSources.java
ada.project/src/org/netbeans/modules/ada/project/options/AdaOptions.java
ada.project/src/org/netbeans/modules/ada/project/resources/Bundle.properties
ada.project/src/org/netbeans/modules/ada/project/resources/layer.xml
ada.project/src/org/netbeans/modules/ada/project/ui/MainModuleChooser.java
ada.project/src/org/netbeans/modules/ada/project/ui/SourceNodeFactory.java
ada.project/src/org/netbeans/modules/ada/project/ui/actions/BuildCommand.java
ada.project/src/org/netbeans/modules/ada/project/ui/actions/CleanCommand.java
ada.project/src/org/netbeans/modules/ada/project/ui/actions/RebuildCommand.java
ada.project/src/org/netbeans/modules/ada/project/ui/actions/RunCommand.java
ada.project/src/org/netbeans/modules/ada/project/ui/properties/AdaProjectProperties.java
ada.project/src/org/netbeans/modules/ada/project/ui/properties/Bundle.properties
ada.project/src/org/netbeans/modules/ada/project/ui/properties/CompositePanelProviderImpl.java
ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerBuild.form
ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerBuild.java
ada.project/src/org/netbeans/modules/ada/project/ui/wizards/EmptyAdaProjectPanelVisual.form
ada.project/src/org/netbeans/modules/ada/project/ui/wizards/EmptyAdaProjectPanelVisual.java
ada.project/src/org/netbeans/modules/ada/project/ui/wizards/ExistingAdaProjectPanelVisual.java
ada.project/src/org/netbeans/modules/ada/project/ui/wizards/NewAdaProjectWizardIterator.java
ada.project/src/org/netbeans/modules/ada/project/ui/wizards/NewFileWizardIterator.java
ada.project/src/org/netbeans/modules/ada/project/ui/wizards/PanelOptionsVisual.java
     1.1 --- a/ada.editor/build.xml	Thu Jun 17 10:15:25 2010 -0400
     1.2 +++ b/ada.editor/build.xml	Sun Aug 22 23:56:21 2010 +0200
     1.3 @@ -7,11 +7,10 @@
     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 @@ -20,7 +19,6 @@
    1.19          />
    1.20      </target>
    1.21      
    1.22 -    
    1.23      <!-- AST LEXER GENERATOR -->
    1.24      <target name="gen-astlexer" description="Ada AST Lexer">
    1.25          <echo message="Rebuilding Ada AST Lexer..."/>
    1.26 @@ -30,12 +28,11 @@
    1.27          />
    1.28      </target>
    1.29      
    1.30 -    
    1.31      <!-- JAVACUP HANDLER -->
    1.32      <taskdef name="javacup"
    1.33          classname="java_cup.anttask.CUPTask"
    1.34          classpath="${nb_all}/libs.javacup/external/java-cup-11a.jar" />
    1.35 -
    1.36 +        
    1.37      <!-- BASE PARSER GENERATOR -->
    1.38      <target name="gen-base-parser" description="Ada Parser baseline">
    1.39          <echo message="Rebuilding Ada Parser..."/>
    1.40 @@ -49,7 +46,7 @@
    1.41      </target>
    1.42  
    1.43      <!-- AST PARSER GENERATOR -->
    1.44 -	<target name="gen-astparser" description="Ada AST Parser">
    1.45 +    <target name="gen-astparser" description="Ada AST Parser">
    1.46          <echo message="Rebuilding Ada AST Parser..."/>
    1.47          <javacup srcfile="${basedir}/src/org/netbeans/modules/ada/editor/parser/resources/Ada95ASTParser.cup"
    1.48          destdir="${basedir}/src"
    1.49 @@ -60,19 +57,4 @@
    1.50          />
    1.51      </target>
    1.52  
    1.53 -<!--
    1.54 -    <target name="jar" depends="init,compile,jar-prep" unless="is.jar.uptodate">
    1.55 -        <taskdef name="gsfjar" classname="org.netbeans.modules.gsf.GsfJar" classpath="${nb_all}/gsf.api/anttask/gsfanttask.jar:${nb_all}/nbbuild/nbantext.jar"/>
    1.56 -        <gsfjar jarfile="${cluster}/${module.jar}" compress="${build.package.compress}" index="${build.package.index}" manifest="${manifest.mf}" stamp="${cluster}/.lastModified">
    1.57 -            <fileset dir="${build.classes.dir}"/>
    1.58 -        </gsfjar>
    1.59 -    </target>
    1.60 --->
    1.61 -    <target name="jar" depends="init,compile,jar-prep" unless="is.jar.uptodate">
    1.62 -        <taskdef name="csljar" classname="org.netbeans.modules.csl.CslJar" classpath="${nb_all}/csl.api/anttask/build/cslanttask.jar:${nb_all}/nbbuild/nbantext.jar"/>
    1.63 -        <csljar jarfile="${cluster}/${module.jar}" compress="${build.package.compress}" index="${build.package.index}" manifest="${manifest.mf}" stamp="${cluster}/.lastModified">
    1.64 -            <fileset dir="${build.classes.dir}"/>
    1.65 -        </csljar>
    1.66 -    </target>
    1.67 -
    1.68  </project>
     2.1 --- a/ada.editor/history.txt	Thu Jun 17 10:15:25 2010 -0400
     2.2 +++ b/ada.editor/history.txt	Sun Aug 22 23:56:21 2010 +0200
     2.3 @@ -1,5 +1,12 @@
     2.4 -0.1.9: dd-mm-2009
     2.5 +0.2.1: 12-08-2010
     2.6 +- Update modules dependencies version.
     2.7 +
     2.8 +0.2.0: 13-10-2009
     2.9 +- Add the signing of the nbm file.
    2.10 +
    2.11 +0.1.9: 01-10-2009
    2.12  - Migrates from GSF to CSL for new Parsing & Indexing API
    2.13 +- Add improvements on ast parser.
    2.14  
    2.15  0.1.8: 13-09-2009
    2.16  - Add improvements on ast parser, navigator, instant renamer.
     3.1 --- a/ada.editor/manifest.mf	Thu Jun 17 10:15:25 2010 -0400
     3.2 +++ b/ada.editor/manifest.mf	Sun Aug 22 23:56:21 2010 +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.1
     3.9  
     4.1 --- a/ada.editor/nbproject/project.properties	Thu Jun 17 10:15:25 2010 -0400
     4.2 +++ b/ada.editor/nbproject/project.properties	Sun Aug 22 23:56:21 2010 +0200
     4.3 @@ -2,9 +2,11 @@
     4.4  auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.text-limit-width=80
     4.5  auxiliary.org-netbeans-modules-editor-indent.CodeStyle.usedProfile=default
     4.6  javac.source=1.5
     4.7 -javac.compilerargs=-Xlint -Xlint:-serial
     4.8  javadoc.arch=${basedir}/arch.xml
     4.9  
    4.10  nbm.homepage=http://wiki.netbeans.org/Ada
    4.11  nbm.module.author=Andrea Lucarelli
    4.12  nbm.needs.restart=true
    4.13 +
    4.14 +keystore=nbproject/private/keystore
    4.15 +nbm_alias=nbada
     5.1 --- a/ada.editor/nbproject/project.xml	Thu Jun 17 10:15:25 2010 -0400
     5.2 +++ b/ada.editor/nbproject/project.xml	Sun Aug 22 23:56:21 2010 +0200
     5.3 @@ -11,7 +11,7 @@
     5.4                      <compile-dependency/>
     5.5                      <run-dependency>
     5.6                          <release-version>1</release-version>
     5.7 -                        <specification-version>1.6.1</specification-version>
     5.8 +                        <specification-version>1.13.1</specification-version>
     5.9                      </run-dependency>
    5.10                  </dependency>
    5.11                  <dependency>
    5.12 @@ -20,7 +20,7 @@
    5.13                      <compile-dependency/>
    5.14                      <run-dependency>
    5.15                          <release-version>1</release-version>
    5.16 -                        <specification-version>1.0.1</specification-version>
    5.17 +                        <specification-version>1.5.1</specification-version>
    5.18                      </run-dependency>
    5.19                  </dependency>
    5.20                  <dependency>
    5.21 @@ -29,7 +29,7 @@
    5.22                      <compile-dependency/>
    5.23                      <run-dependency>
    5.24                          <release-version>1</release-version>
    5.25 -                        <specification-version>1.1</specification-version>
    5.26 +                        <specification-version>1.6.1</specification-version>
    5.27                      </run-dependency>
    5.28                  </dependency>
    5.29                  <dependency>
    5.30 @@ -37,7 +37,7 @@
    5.31                      <build-prerequisite/>
    5.32                      <compile-dependency/>
    5.33                      <run-dependency>
    5.34 -                        <specification-version>0.1.7</specification-version>
    5.35 +                        <specification-version>0.1.9</specification-version>
    5.36                      </run-dependency>
    5.37                  </dependency>
    5.38                  <dependency>
    5.39 @@ -45,8 +45,8 @@
    5.40                      <build-prerequisite/>
    5.41                      <compile-dependency/>
    5.42                      <run-dependency>
    5.43 -                        <release-version>1</release-version>
    5.44 -                        <specification-version>1.9.2</specification-version>
    5.45 +                        <release-version>2</release-version>
    5.46 +                        <specification-version>2.5.1</specification-version>
    5.47                      </run-dependency>
    5.48                  </dependency>
    5.49                  <dependency>
    5.50 @@ -55,7 +55,7 @@
    5.51                      <compile-dependency/>
    5.52                      <run-dependency>
    5.53                          <release-version>2</release-version>
    5.54 -                        <specification-version>1.9</specification-version>
    5.55 +                        <specification-version>1.19.1</specification-version>
    5.56                      </run-dependency>
    5.57                  </dependency>
    5.58                  <dependency>
    5.59 @@ -63,8 +63,8 @@
    5.60                      <build-prerequisite/>
    5.61                      <compile-dependency/>
    5.62                      <run-dependency>
    5.63 -                        <release-version>1</release-version>
    5.64 -                        <specification-version>1.29.1</specification-version>
    5.65 +                        <release-version>2</release-version>
    5.66 +                        <specification-version>2.10.1</specification-version>
    5.67                      </run-dependency>
    5.68                  </dependency>
    5.69                  <dependency>
    5.70 @@ -73,7 +73,7 @@
    5.71                      <compile-dependency/>
    5.72                      <run-dependency>
    5.73                          <release-version>1</release-version>
    5.74 -                        <specification-version>1.10.1</specification-version>
    5.75 +                        <specification-version>1.16.1</specification-version>
    5.76                      </run-dependency>
    5.77                  </dependency>
    5.78                  <dependency>
    5.79 @@ -82,16 +82,7 @@
    5.80                      <compile-dependency/>
    5.81                      <run-dependency>
    5.82                          <release-version>1</release-version>
    5.83 -                        <specification-version>1.22.1</specification-version>
    5.84 -                    </run-dependency>
    5.85 -                </dependency>
    5.86 -                <dependency>
    5.87 -                    <code-name-base>org.netbeans.modules.editor.util</code-name-base>
    5.88 -                    <build-prerequisite/>
    5.89 -                    <compile-dependency/>
    5.90 -                    <run-dependency>
    5.91 -                        <release-version>1</release-version>
    5.92 -                        <specification-version>1.25.1</specification-version>
    5.93 +                        <specification-version>1.31.1</specification-version>
    5.94                      </run-dependency>
    5.95                  </dependency>
    5.96                  <dependency>
    5.97 @@ -100,7 +91,7 @@
    5.98                      <compile-dependency/>
    5.99                      <run-dependency>
   5.100                          <release-version>2</release-version>
   5.101 -                        <specification-version>1.29</specification-version>
   5.102 +                        <specification-version>1.35.1</specification-version>
   5.103                      </run-dependency>
   5.104                  </dependency>
   5.105                  <dependency>
   5.106 @@ -109,7 +100,7 @@
   5.107                      <compile-dependency/>
   5.108                      <run-dependency>
   5.109                          <release-version>1</release-version>
   5.110 -                        <specification-version>1.10.1</specification-version>
   5.111 +                        <specification-version>1.18.1</specification-version>
   5.112                      </run-dependency>
   5.113                  </dependency>
   5.114                  <dependency>
   5.115 @@ -118,7 +109,7 @@
   5.116                      <compile-dependency/>
   5.117                      <run-dependency>
   5.118                          <release-version>1</release-version>
   5.119 -                        <specification-version>1.26</specification-version>
   5.120 +                        <specification-version>1.33.1</specification-version>
   5.121                      </run-dependency>
   5.122                  </dependency>
   5.123                  <dependency>
   5.124 @@ -127,7 +118,7 @@
   5.125                      <compile-dependency/>
   5.126                      <run-dependency>
   5.127                          <release-version>1</release-version>
   5.128 -                        <specification-version>1.19</specification-version>
   5.129 +                        <specification-version>1.31.1</specification-version>
   5.130                      </run-dependency>
   5.131                  </dependency>
   5.132                  <dependency>
   5.133 @@ -135,7 +126,7 @@
   5.134                      <build-prerequisite/>
   5.135                      <compile-dependency/>
   5.136                      <run-dependency>
   5.137 -                        <specification-version>7.3.1</specification-version>
   5.138 +                        <specification-version>7.23.1</specification-version>
   5.139                      </run-dependency>
   5.140                  </dependency>
   5.141                  <dependency>
   5.142 @@ -143,7 +134,7 @@
   5.143                      <build-prerequisite/>
   5.144                      <compile-dependency/>
   5.145                      <run-dependency>
   5.146 -                        <specification-version>7.11</specification-version>
   5.147 +                        <specification-version>7.38.1</specification-version>
   5.148                      </run-dependency>
   5.149                  </dependency>
   5.150                  <dependency>
   5.151 @@ -151,7 +142,7 @@
   5.152                      <build-prerequisite/>
   5.153                      <compile-dependency/>
   5.154                      <run-dependency>
   5.155 -                        <specification-version>7.2</specification-version>
   5.156 +                        <specification-version>7.16.1</specification-version>
   5.157                      </run-dependency>
   5.158                  </dependency>
   5.159                  <dependency>
   5.160 @@ -159,7 +150,7 @@
   5.161                      <build-prerequisite/>
   5.162                      <compile-dependency/>
   5.163                      <run-dependency>
   5.164 -                        <specification-version>7.7.1</specification-version>
   5.165 +                        <specification-version>7.17.1</specification-version>
   5.166                      </run-dependency>
   5.167                  </dependency>
   5.168                  <dependency>
   5.169 @@ -167,7 +158,7 @@
   5.170                      <build-prerequisite/>
   5.171                      <compile-dependency/>
   5.172                      <run-dependency>
   5.173 -                        <specification-version>7.7</specification-version>
   5.174 +                        <specification-version>7.16.1</specification-version>
   5.175                      </run-dependency>
   5.176                  </dependency>
   5.177                  <dependency>
   5.178 @@ -175,7 +166,7 @@
   5.179                      <build-prerequisite/>
   5.180                      <compile-dependency/>
   5.181                      <run-dependency>
   5.182 -                        <specification-version>6.21</specification-version>
   5.183 +                        <specification-version>6.30.1</specification-version>
   5.184                      </run-dependency>
   5.185                  </dependency>
   5.186                  <dependency>
   5.187 @@ -183,7 +174,15 @@
   5.188                      <build-prerequisite/>
   5.189                      <compile-dependency/>
   5.190                      <run-dependency>
   5.191 -                        <specification-version>7.18.1</specification-version>
   5.192 +                        <specification-version>8.6.1</specification-version>
   5.193 +                    </run-dependency>
   5.194 +                </dependency>
   5.195 +                <dependency>
   5.196 +                    <code-name-base>org.openide.util.lookup</code-name-base>
   5.197 +                    <build-prerequisite/>
   5.198 +                    <compile-dependency/>
   5.199 +                    <run-dependency>
   5.200 +                        <specification-version>8.3.1</specification-version>
   5.201                      </run-dependency>
   5.202                  </dependency>
   5.203                  <dependency>
   5.204 @@ -191,7 +190,7 @@
   5.205                      <build-prerequisite/>
   5.206                      <compile-dependency/>
   5.207                      <run-dependency>
   5.208 -                        <specification-version>6.24</specification-version>
   5.209 +                        <specification-version>6.33.1</specification-version>
   5.210                      </run-dependency>
   5.211                  </dependency>
   5.212              </module-dependencies>
     6.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/AdaLanguage.java	Thu Jun 17 10:15:25 2010 -0400
     6.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/AdaLanguage.java	Sun Aug 22 23:56:21 2010 +0200
     6.3 @@ -50,8 +50,7 @@
     6.4  import org.netbeans.modules.ada.editor.parser.AdaStructureScanner;
     6.5  import org.netbeans.modules.ada.editor.parser.AdaParser;
     6.6  import org.netbeans.modules.ada.editor.parser.AdaSemanticAnalyzer;
     6.7 -import org.netbeans.modules.csl.api.CodeCompletionHandler;
     6.8 -import org.netbeans.modules.csl.api.CodeCompletionHandler;
     6.9 +import org.netbeans.modules.ada.project.api.AdaSourcePath;
    6.10  import org.netbeans.modules.csl.api.CodeCompletionHandler;
    6.11  import org.netbeans.modules.csl.api.DeclarationFinder;
    6.12  import org.netbeans.modules.csl.api.Formatter;
    6.13 @@ -62,14 +61,18 @@
    6.14  import org.netbeans.modules.csl.api.SemanticAnalyzer;
    6.15  import org.netbeans.modules.csl.api.StructureScanner;
    6.16  import org.netbeans.modules.csl.spi.DefaultLanguageConfig;
    6.17 +import org.netbeans.modules.csl.spi.LanguageRegistration;
    6.18  import org.netbeans.modules.parsing.spi.Parser;
    6.19  import org.netbeans.modules.parsing.spi.indexing.EmbeddingIndexerFactory;
    6.20 +import org.netbeans.modules.parsing.spi.indexing.PathRecognizerRegistration;
    6.21  
    6.22  
    6.23  /**
    6.24   *
    6.25   * @author Andrea Lucarelli
    6.26   */
    6.27 +@LanguageRegistration(mimeType="text/x-ada") //NOI18N
    6.28 +@PathRecognizerRegistration(mimeTypes="text/x-ada", sourcePathIds=AdaSourcePath.SOURCE_CP, libraryPathIds=AdaSourcePath.BOOT_CP, binaryLibraryPathIds={}) //NOI18N
    6.29  public class AdaLanguage extends DefaultLanguageConfig {
    6.30  
    6.31      public AdaLanguage() {
     7.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/CodeUtils.java	Thu Jun 17 10:15:25 2010 -0400
     7.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/CodeUtils.java	Sun Aug 22 23:56:21 2010 +0200
     7.3 @@ -43,14 +43,16 @@
     7.4  import org.netbeans.modules.ada.editor.ast.nodes.FormalParameter;
     7.5  import org.netbeans.modules.ada.editor.ast.nodes.Identifier;
     7.6  import org.netbeans.modules.ada.editor.ast.nodes.MethodDeclaration;
     7.7 +import org.netbeans.modules.ada.editor.ast.nodes.MethodInvocation;
     7.8 +import org.netbeans.modules.ada.editor.ast.nodes.NameBase;
     7.9  import org.netbeans.modules.ada.editor.ast.nodes.PackageBody;
    7.10  import org.netbeans.modules.ada.editor.ast.nodes.PackageName;
    7.11  import org.netbeans.modules.ada.editor.ast.nodes.PackageSpecification;
    7.12 -import org.netbeans.modules.ada.editor.ast.nodes.Reference;
    7.13 -import org.netbeans.modules.ada.editor.ast.nodes.Statement;
    7.14  import org.netbeans.modules.ada.editor.ast.nodes.SubprogramBody;
    7.15  import org.netbeans.modules.ada.editor.ast.nodes.SubprogramSpecification;
    7.16 +import org.netbeans.modules.ada.editor.ast.nodes.TypeAccess;
    7.17  import org.netbeans.modules.ada.editor.ast.nodes.TypeDeclaration;
    7.18 +import org.netbeans.modules.ada.editor.ast.nodes.TypeName;
    7.19  import org.netbeans.modules.ada.editor.ast.nodes.Variable;
    7.20  
    7.21  /**
    7.22 @@ -96,7 +98,7 @@
    7.23          return methodDeclaration.getMethodName();
    7.24      }
    7.25  
    7.26 -    @CheckForNull // null for RelectionVariable
    7.27 +    @CheckForNull
    7.28      public static String extractVariableName(Variable var) {
    7.29          if (var.getName() instanceof Identifier) {
    7.30              Identifier id = (Identifier) var.getName();
    7.31 @@ -109,7 +111,7 @@
    7.32          return null;
    7.33      }
    7.34  
    7.35 -    @CheckForNull // null for RelectionVariable
    7.36 +    @CheckForNull
    7.37      public static String extractTypeName(TypeDeclaration var) {
    7.38          if (var.getTypeName() instanceof Identifier) {
    7.39              Identifier id = (Identifier) var.getTypeName();
    7.40 @@ -122,6 +124,33 @@
    7.41          return null;
    7.42      }
    7.43  
    7.44 +    @CheckForNull
    7.45 +    public static String extractTypeName(NameBase type) {
    7.46 +        if (type instanceof TypeName) {
    7.47 +            Identifier id = ((TypeName)type).getTypeName();
    7.48 +            StringBuilder typeName = new StringBuilder();
    7.49 +            typeName.append(id.getName());
    7.50 +            return typeName.toString();
    7.51 +        } else if (type instanceof TypeAccess) {
    7.52 +            NameBase name = ((TypeAccess) type).getMember();
    7.53 +            return extractTypeName(name);
    7.54 +        }
    7.55 +
    7.56 +        return null;
    7.57 +    }
    7.58 +
    7.59 +    @CheckForNull
    7.60 +    public static TypeName extractType(NameBase type) {
    7.61 +        if (type instanceof TypeName) {
    7.62 +            return (TypeName)type;
    7.63 +        } else if (type instanceof TypeAccess) {
    7.64 +            NameBase name = ((TypeAccess) type).getMember();
    7.65 +            return extractType(name);
    7.66 +        }
    7.67 +
    7.68 +        return null;
    7.69 +    }
    7.70 +
    7.71      public static String getParamDisplayName(FormalParameter param) {
    7.72          Variable var = param.getParameterName();
    7.73          StringBuilder paramName = new StringBuilder();
     8.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Assignment.java	Thu Jun 17 10:15:25 2010 -0400
     8.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Assignment.java	Sun Aug 22 23:56:21 2010 +0200
     8.3 @@ -48,10 +48,10 @@
     8.4   */
     8.5  public class Assignment extends Statement {
     8.6      
     8.7 -    private VariableBase leftHandSide;
     8.8 +    private NameBase leftHandSide;
     8.9      private Expression rightHandSide;
    8.10  
    8.11 -    public Assignment(int start, int end, VariableBase leftHandSide, Expression rightHandSide) {
    8.12 +    public Assignment(int start, int end, NameBase leftHandSide, Expression rightHandSide) {
    8.13          super(start, end);
    8.14          if (leftHandSide == null ) {//|| rightHandSide == null) { TODO: must be correct
    8.15              throw new IllegalArgumentException
    8.16 @@ -67,7 +67,7 @@
    8.17       * 
    8.18       * @return the left hand side node
    8.19       */
    8.20 -    public VariableBase getLeftHandSide() {
    8.21 +    public NameBase getLeftHandSide() {
    8.22          return this.leftHandSide;
    8.23      }
    8.24  
     9.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/BlockStatement.java	Thu Jun 17 10:15:25 2010 -0400
     9.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/BlockStatement.java	Sun Aug 22 23:56:21 2010 +0200
     9.3 @@ -38,8 +38,6 @@
     9.4   */
     9.5  package org.netbeans.modules.ada.editor.ast.nodes;
     9.6  
     9.7 -import java.util.ArrayList;
     9.8 -import java.util.List;
     9.9  import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
    9.10  
    9.11  /**
    9.12 @@ -59,42 +57,41 @@
    9.13   */
    9.14  public class BlockStatement extends Statement {
    9.15  
    9.16 -	private Identifier label;
    9.17 +    private Identifier label;
    9.18      private Block declarations;
    9.19      private Block body;
    9.20  
    9.21      public BlockStatement(int start, int end, Identifier label, Block declarations, Block body) {
    9.22          super(start, end);
    9.23  
    9.24 -		this.label = label;
    9.25 +        this.label = label;
    9.26          this.declarations = declarations;
    9.27          this.body = body;
    9.28      }
    9.29  
    9.30 -	public Identifier getLabel () {
    9.31 -		return this.label;
    9.32 -	}
    9.33 +    public Identifier getLabel() {
    9.34 +        return this.label;
    9.35 +    }
    9.36  
    9.37      /**
    9.38       * Retrieves the declaration statements parts of this block
    9.39       * @return declaration statements parts of this block
    9.40       */
    9.41      public Block getDeclarations() {
    9.42 -        return this.body;
    9.43 +        return this.declarations;
    9.44      }
    9.45  
    9.46 -	/**
    9.47 +    /**
    9.48       * Retrieves the body statements parts of this block
    9.49       * @return body statements parts of this block
    9.50       */
    9.51      public Block getBody() {
    9.52          return this.body;
    9.53      }
    9.54 -    
    9.55 +
    9.56      @Override
    9.57      public void accept(Visitor visitor) {
    9.58          visitor.visit(this);
    9.59      }
    9.60 -
    9.61  }
    9.62  
    10.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/BodyDeclaration.java	Thu Jun 17 10:15:25 2010 -0400
    10.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/BodyDeclaration.java	Sun Aug 22 23:56:21 2010 +0200
    10.3 @@ -42,6 +42,8 @@
    10.4   * Based on org.netbeans.modules.php.editor.parser.astnodes.BodyDeclaration
    10.5   *
    10.6   * Base class for package member declarations
    10.7 + *
    10.8 + * @author Andrea Lucarelli
    10.9   */
   10.10  public abstract class BodyDeclaration extends Statement {
   10.11  
    11.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Dispatch.java	Thu Jun 17 10:15:25 2010 -0400
    11.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Dispatch.java	Sun Aug 22 23:56:21 2010 +0200
    11.3 @@ -45,11 +45,11 @@
    11.4   * MyPackage.foo,
    11.5   * MyPackage.foo(bar : in bar_type)
    11.6   */
    11.7 -public abstract class Dispatch extends VariableBase {
    11.8 +public abstract class Dispatch extends NameBase {
    11.9  
   11.10 -    private VariableBase dispatcher;
   11.11 +    private NameBase dispatcher;
   11.12  
   11.13 -    public Dispatch(int start, int end, VariableBase dispatcher) {
   11.14 +    public Dispatch(int start, int end, NameBase dispatcher) {
   11.15          super(start, end);
   11.16          this.dispatcher = dispatcher;
   11.17      }
   11.18 @@ -59,7 +59,7 @@
   11.19       * 
   11.20       * @return dispatcher component of this dispatch expression 
   11.21       */
   11.22 -    public VariableBase getDispatcher() {
   11.23 +    public NameBase getDispatcher() {
   11.24          return dispatcher;
   11.25      }
   11.26  }
    12.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/ExitStatement.java	Thu Jun 17 10:15:25 2010 -0400
    12.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/ExitStatement.java	Sun Aug 22 23:56:21 2010 +0200
    12.3 @@ -48,10 +48,10 @@
    12.4   */
    12.5  public class ExitStatement extends Statement {
    12.6  
    12.7 -    private String loopName;
    12.8 +    private Expression loopName;
    12.9      private Expression whenCondition;
   12.10  
   12.11 -    public ExitStatement(int start, int end, String loopName, Expression whenCondition) {
   12.12 +    public ExitStatement(int start, int end, Expression loopName, Expression whenCondition) {
   12.13          super(start, end);
   12.14          this.loopName = loopName;
   12.15          this.whenCondition = whenCondition;
   12.16 @@ -62,7 +62,7 @@
   12.17       * 
   12.18       * @return the loopName node
   12.19       */
   12.20 -    public String getLoopName() {
   12.21 +    public Expression getLoopName() {
   12.22          return loopName;
   12.23      }
   12.24  
    13.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/FormalParameter.java	Thu Jun 17 10:15:25 2010 -0400
    13.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/FormalParameter.java	Sun Aug 22 23:56:21 2010 +0200
    13.3 @@ -52,13 +52,12 @@
    13.4      public enum Mode {
    13.5          IN, OUT, IN_OUT, ACCESS;
    13.6      }
    13.7 -
    13.8      private Variable parameterName;
    13.9      private Mode parameterMode;
   13.10 -	private TypeName parameterType;
   13.11 +    private NameBase parameterType;
   13.12      private Expression defaultValue;
   13.13  
   13.14 -    public FormalParameter(int start, int end, final Variable parameterName, Mode parameterMode, TypeName type, Expression defaultValue) {
   13.15 +    public FormalParameter(int start, int end, final Variable parameterName, Mode parameterMode, NameBase type, Expression defaultValue) {
   13.16          super(start, end);
   13.17  
   13.18          this.parameterName = parameterName;
   13.19 @@ -67,7 +66,7 @@
   13.20          this.defaultValue = defaultValue;
   13.21      }
   13.22  
   13.23 -    public FormalParameter(int start, int end, final Variable parameterName, Mode parameterMode, TypeName type) {
   13.24 +    public FormalParameter(int start, int end, final Variable parameterName, Mode parameterMode, NameBase type) {
   13.25          this(start, end, parameterName, parameterMode, type, null);
   13.26      }
   13.27  
   13.28 @@ -85,7 +84,7 @@
   13.29          return parameterName;
   13.30      }
   13.31  
   13.32 -	/**
   13.33 +    /**
   13.34       * @return the mode of this parameter
   13.35       */
   13.36      public Mode getParameterMode() {
   13.37 @@ -95,10 +94,10 @@
   13.38      /**
   13.39       * @return the type of this parameter
   13.40       */
   13.41 -    public TypeName getParameterType() {
   13.42 +    public NameBase getParameterType() {
   13.43          return parameterType;
   13.44      }
   13.45 -    
   13.46 +
   13.47      @Override
   13.48      public void accept(Visitor visitor) {
   13.49          visitor.visit(this);
    14.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/GotoStatement.java	Thu Jun 17 10:15:25 2010 -0400
    14.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/GotoStatement.java	Sun Aug 22 23:56:21 2010 +0200
    14.3 @@ -47,9 +47,9 @@
    14.4   */
    14.5  public class GotoStatement extends Statement {
    14.6  
    14.7 -    private String labelName;
    14.8 +    private Expression labelName;
    14.9  
   14.10 -    public GotoStatement(int start, int end, String labelName) {
   14.11 +    public GotoStatement(int start, int end, Expression labelName) {
   14.12          super(start, end);
   14.13          this.labelName = labelName;
   14.14      }
   14.15 @@ -59,7 +59,7 @@
   14.16       * 
   14.17       * @return the loopName node
   14.18       */
   14.19 -    public String getLabelName() {
   14.20 +    public Expression getLabelName() {
   14.21          return labelName;
   14.22      }
   14.23  
    15.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Identifier.java	Thu Jun 17 10:15:25 2010 -0400
    15.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Identifier.java	Sun Aug 22 23:56:21 2010 +0200
    15.3 @@ -36,7 +36,6 @@
    15.4   *
    15.5   * Portions Copyrighted 2008 Sun Microsystems, Inc.
    15.6   */
    15.7 -
    15.8  package org.netbeans.modules.ada.editor.ast.nodes;
    15.9  
   15.10  import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
   15.11 @@ -47,9 +46,8 @@
   15.12   * Holds an identifier.
   15.13   * Uses for variable name, function name, procedure name and package name.
   15.14   * <pre>e.g.<pre>  
   15.15 - * Foo : Integer; -- Foo is the identifier,
   15.16 - * Foo (Foo => Bar) -- Foo is the identifier,
   15.17 - * Foo.Bar; -- Foo and Bar are identifiers
   15.18 + * Count X Get_Symbol Ethelyn Marion
   15.19 + * Snobol_4 X1 Page_Count Store_Next_Item
   15.20   *
   15.21   * @author Andrea Lucarelli
   15.22   */
   15.23 @@ -59,7 +57,7 @@
   15.24  
   15.25      public Identifier(int start, int end, String name) {
   15.26          super(start, end);
   15.27 -		this.name = name;
   15.28 +        this.name = name;
   15.29      }
   15.30  
   15.31      public String getName() {
    16.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/MethodInvocation.java	Thu Jun 17 10:15:25 2010 -0400
    16.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/MethodInvocation.java	Sun Aug 22 23:56:21 2010 +0200
    16.3 @@ -53,7 +53,7 @@
    16.4      private MethodName name;
    16.5      private final ArrayList<Expression> parameters = new ArrayList<Expression>();
    16.6  
    16.7 -    private MethodInvocation(int start, int end, VariableBase dispatcher, MethodName methodName, Expression[] parameters) {
    16.8 +    private MethodInvocation(int start, int end, NameBase dispatcher, MethodName methodName, Expression[] parameters) {
    16.9          super(start, end, dispatcher);
   16.10          this.name = methodName;
   16.11          for (Expression expression : parameters) {
   16.12 @@ -61,7 +61,7 @@
   16.13          }
   16.14      }
   16.15  
   16.16 -    public MethodInvocation(int start, int end, VariableBase dispatcher, MethodName methodName, List<Expression> parameters) {
   16.17 +    public MethodInvocation(int start, int end, NameBase dispatcher, MethodName methodName, List<Expression> parameters) {
   16.18          this(start, end, dispatcher, methodName, parameters == null ? null : (Expression[]) parameters.toArray(new Expression[parameters.size()]));
   16.19      }
   16.20  
    17.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/PackageName.java	Thu Jun 17 10:15:25 2010 -0400
    17.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/PackageName.java	Sun Aug 22 23:56:21 2010 +0200
    17.3 @@ -40,7 +40,6 @@
    17.4  package org.netbeans.modules.ada.editor.ast.nodes;
    17.5  
    17.6  import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
    17.7 -import org.netbeans.modules.ada.editor.ast.ASTNode;
    17.8  
    17.9  /**
   17.10   * Holds a package name. 
   17.11 @@ -49,7 +48,7 @@
   17.12   *
   17.13   * @author Andrea Lucarelli
   17.14   */
   17.15 -public class PackageName extends ASTNode {
   17.16 +public class PackageName extends NameBase {
   17.17  
   17.18      private Identifier packageName;
   17.19  
    18.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/RaiseStatement.java	Thu Jun 17 10:15:25 2010 -0400
    18.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/RaiseStatement.java	Sun Aug 22 23:56:21 2010 +0200
    18.3 @@ -48,9 +48,9 @@
    18.4   */
    18.5  public class RaiseStatement extends Statement {
    18.6  
    18.7 -    private String exceptionName;
    18.8 +    private Expression exceptionName;
    18.9  
   18.10 -    public RaiseStatement(int start, int end, String exceptionName) {
   18.11 +    public RaiseStatement(int start, int end, Expression exceptionName) {
   18.12          super(start, end);
   18.13          this.exceptionName = exceptionName;
   18.14      }
   18.15 @@ -60,7 +60,7 @@
   18.16       * 
   18.17       * @return the exceptionName node
   18.18       */
   18.19 -    public String getExceptionName() {
   18.20 +    public Expression getExceptionName() {
   18.21          return exceptionName;
   18.22      }
   18.23  
    19.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Reference.java	Thu Jun 17 10:15:25 2010 -0400
    19.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Reference.java	Sun Aug 22 23:56:21 2010 +0200
    19.3 @@ -59,7 +59,7 @@
    19.4          this.expression = expression;
    19.5      }
    19.6  
    19.7 -    public Reference(int start, int end, VariableBase variable) {
    19.8 +    public Reference(int start, int end, NameBase variable) {
    19.9          this(start, end, (Expression)variable);
   19.10      }
   19.11  
    20.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Scalar.java	Thu Jun 17 10:15:25 2010 -0400
    20.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Scalar.java	Sun Aug 22 23:56:21 2010 +0200
    20.3 @@ -54,20 +54,9 @@
    20.4          REAL, // 'real'
    20.5          STRING, // 'string'
    20.6          UNKNOWN, // unknown scalar in quote expression
    20.7 -        SYSTEM // system scalars (__CLASS__ / ...)
    20.8 -                
    20.9 +        SYSTEM // (NULL, etc.)
   20.10      }
   20.11 -    // 'int'
   20.12 -    //public static final int TYPE_INT = 0;
   20.13 -    // 'real'
   20.14 -    //public static final int TYPE_REAL = 1;
   20.15 -    // 'string'
   20.16 -    //public static final int TYPE_STRING = 2;
   20.17 -    // unknown scalar in quote expression
   20.18 -    //public static final int TYPE_UNKNOWN = 3;
   20.19 -    // system scalars (__CLASS__ / ...)
   20.20 -    //public static final int TYPE_SYSTEM = 4;
   20.21 -    
   20.22 +
   20.23      private String stringValue;
   20.24      private Type scalarType;
   20.25  
    21.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/SubprogramBody.java	Thu Jun 17 10:15:25 2010 -0400
    21.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/SubprogramBody.java	Sun Aug 22 23:56:21 2010 +0200
    21.3 @@ -67,14 +67,14 @@
    21.4   */
    21.5  public class SubprogramBody extends Statement {
    21.6  
    21.7 -	private SubprogramSpecification subprogramSpecification;
    21.8 -	private Identifier subprogramNameEnd;
    21.9 +    private SubprogramSpecification subprogramSpecification;
   21.10 +    private Identifier subprogramNameEnd;
   21.11      private Block declarations;
   21.12      private Block body;
   21.13  
   21.14      public SubprogramBody(int start, int end, SubprogramSpecification subprogramSpecification, Block declarations, Block body, Identifier subprogramNameEnd) {
   21.15          super(start, end);
   21.16 -		this.subprogramSpecification = subprogramSpecification;
   21.17 +        this.subprogramSpecification = subprogramSpecification;
   21.18          this.declarations = declarations;
   21.19          this.body = body;
   21.20          this.subprogramNameEnd = subprogramNameEnd;
   21.21 @@ -98,11 +98,11 @@
   21.22          return body;
   21.23      }
   21.24  
   21.25 -	public SubprogramSpecification getSubprogramSpecification() {
   21.26 -		return subprogramSpecification;
   21.27 -	}
   21.28 +    public SubprogramSpecification getSubprogramSpecification() {
   21.29 +        return subprogramSpecification;
   21.30 +    }
   21.31  
   21.32 -	public Identifier getSubprogramNameEnd() {
   21.33 +    public Identifier getSubprogramNameEnd() {
   21.34          return subprogramNameEnd;
   21.35      }
   21.36  
    22.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/TypeName.java	Thu Jun 17 10:15:25 2010 -0400
    22.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/TypeName.java	Sun Aug 22 23:56:21 2010 +0200
    22.3 @@ -40,7 +40,6 @@
    22.4  package org.netbeans.modules.ada.editor.ast.nodes;
    22.5  
    22.6  import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
    22.7 -import org.netbeans.modules.ada.editor.ast.ASTNode;
    22.8  
    22.9  /**
   22.10   * Holds a type name. 
   22.11 @@ -49,14 +48,24 @@
   22.12   *
   22.13   * @author Andrea Lucarelli
   22.14   */
   22.15 -public class TypeName extends ASTNode {
   22.16 +public class TypeName extends NameBase {
   22.17  
   22.18      private Identifier typeName;
   22.19 +    private String attributeId;
   22.20 +    private boolean isBaseType = false;
   22.21  
   22.22      public TypeName(int start, int end, Identifier typeName) {
   22.23          super(start, end);
   22.24          assert (typeName != null);
   22.25          this.typeName = typeName;
   22.26 +
   22.27 +        if (typeName.getName().equalsIgnoreCase("boolean") ||
   22.28 +            typeName.getName().equalsIgnoreCase("character") ||
   22.29 +            typeName.getName().equalsIgnoreCase("float") ||
   22.30 +            typeName.getName().equalsIgnoreCase("integer") ||
   22.31 +            typeName.getName().equalsIgnoreCase("wide_character")) {
   22.32 +            this.isBaseType = true;
   22.33 +        }
   22.34      }
   22.35  
   22.36      /**
   22.37 @@ -67,6 +76,18 @@
   22.38      public Identifier getTypeName() {
   22.39          return this.typeName;
   22.40      }
   22.41 +
   22.42 +    public boolean isIsBaseType() {
   22.43 +        return isBaseType;
   22.44 +    }
   22.45 +
   22.46 +    public String getAttributeId() {
   22.47 +        return attributeId;
   22.48 +    }
   22.49 +
   22.50 +    public void setAttributeId(String attributeId) {
   22.51 +        this.attributeId = attributeId;
   22.52 +    }
   22.53      
   22.54      @Override
   22.55      public void accept(Visitor visitor) {
    23.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/UnaryOperation.java	Thu Jun 17 10:15:25 2010 -0400
    23.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/UnaryOperation.java	Sun Aug 22 23:56:21 2010 +0200
    23.3 @@ -52,7 +52,9 @@
    23.4      public enum Operator {
    23.5          PLUS, // '+'
    23.6          MINUS, // '-'
    23.7 -        AMP // '&'
    23.8 +        AMP, // '&'
    23.9 +        NOT, // 'not'
   23.10 +        ABS // 'abs'
   23.11      }
   23.12      
   23.13      private Expression expression;
    24.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Variable.java	Thu Jun 17 10:15:25 2010 -0400
    24.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Variable.java	Sun Aug 22 23:56:21 2010 +0200
    24.3 @@ -36,7 +36,6 @@
    24.4   *
    24.5   * Portions Copyrighted 2008 Sun Microsystems, Inc.
    24.6   */
    24.7 -
    24.8  package org.netbeans.modules.ada.editor.ast.nodes;
    24.9  
   24.10  import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
   24.11 @@ -55,7 +54,7 @@
   24.12   *
   24.13   * @author Andrea Lucarelli
   24.14   */
   24.15 -public class Variable extends VariableBase {
   24.16 +public class Variable extends NameBase {
   24.17  
   24.18      public enum Kind {
   24.19          DEFAULT,
   24.20 @@ -63,10 +62,9 @@
   24.21          ALIASED,
   24.22          ALIASED_CONSTANT,
   24.23      }
   24.24 -
   24.25      private Identifier name;
   24.26      private Kind variableKind;
   24.27 -	private TypeName variableType;
   24.28 +    private TypeName variableType;
   24.29  
   24.30      public Variable(int start, int end, Identifier variableName, Variable.Kind kind, TypeName type) {
   24.31          super(start, end);
   24.32 @@ -75,13 +73,13 @@
   24.33          this.variableType = type;
   24.34      }
   24.35  
   24.36 -	public Variable(int start, int end, Identifier variableName, Variable.Kind kind) {
   24.37 -		this(start, end, variableName, kind, null);
   24.38 -	}
   24.39 +    public Variable(int start, int end, Identifier variableName, Variable.Kind kind) {
   24.40 +        this(start, end, variableName, kind, null);
   24.41 +    }
   24.42  
   24.43 -	public Variable(int start, int end, Identifier variableName) {
   24.44 -		this(start, end, variableName, Kind.DEFAULT, null);
   24.45 -	}
   24.46 +    public Variable(int start, int end, Identifier variableName) {
   24.47 +        this(start, end, variableName, Kind.DEFAULT, null);
   24.48 +    }
   24.49  
   24.50      /**
   24.51       * Returns the name (Identifier) of this variable
   24.52 @@ -92,7 +90,7 @@
   24.53          return this.name;
   24.54      }
   24.55  
   24.56 -	/**
   24.57 +    /**
   24.58       * Returns the type of this variable
   24.59       * 
   24.60       * @return the type node
   24.61 @@ -101,6 +99,16 @@
   24.62          return this.variableType;
   24.63      }
   24.64  
   24.65 +    /**
   24.66 +     * Returns the kind of this variable
   24.67 +     *
   24.68 +     * @return the kind node
   24.69 +     */
   24.70 +    public Kind getVariableKind() {
   24.71 +        return variableKind;
   24.72 +    }
   24.73 +    
   24.74 +
   24.75      @Override
   24.76      public void accept(Visitor visitor) {
   24.77          visitor.visit(this);
    25.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/DefaultTreePathVisitor.java	Thu Jun 17 10:15:25 2010 -0400
    25.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/DefaultTreePathVisitor.java	Sun Aug 22 23:56:21 2010 +0200
    25.3 @@ -59,6 +59,7 @@
    25.4  import org.netbeans.modules.ada.editor.ast.nodes.GotoStatement;
    25.5  import org.netbeans.modules.ada.editor.ast.nodes.Identifier;
    25.6  import org.netbeans.modules.ada.editor.ast.nodes.IfStatement;
    25.7 +import org.netbeans.modules.ada.editor.ast.nodes.InfixExpression;
    25.8  import org.netbeans.modules.ada.editor.ast.nodes.LoopStatement;
    25.9  import org.netbeans.modules.ada.editor.ast.nodes.MethodDeclaration;
   25.10  import org.netbeans.modules.ada.editor.ast.nodes.NullStatement;
   25.11 @@ -70,6 +71,7 @@
   25.12  import org.netbeans.modules.ada.editor.ast.nodes.Program;
   25.13  import org.netbeans.modules.ada.editor.ast.nodes.QualifiedExpression;
   25.14  import org.netbeans.modules.ada.editor.ast.nodes.RaiseStatement;
   25.15 +import org.netbeans.modules.ada.editor.ast.nodes.Range;
   25.16  import org.netbeans.modules.ada.editor.ast.nodes.Reference;
   25.17  import org.netbeans.modules.ada.editor.ast.nodes.ReturnStatement;
   25.18  import org.netbeans.modules.ada.editor.ast.nodes.Scalar;
   25.19 @@ -115,6 +117,13 @@
   25.20      }
   25.21  
   25.22      @Override
   25.23 +    public void visit(ASTNode node) {
   25.24 +        path.addFirst(node);
   25.25 +        super.visit(node);
   25.26 +        path.removeFirst();
   25.27 +    }
   25.28 +
   25.29 +    @Override
   25.30      public void visit(AbortStatement node) {
   25.31          path.addFirst(node);
   25.32          super.visit(node);
   25.33 @@ -143,6 +152,27 @@
   25.34      }
   25.35  
   25.36      @Override
   25.37 +    public void visit(BlockStatement node) {
   25.38 +        path.addFirst(node);
   25.39 +        super.visit(node);
   25.40 +        path.removeFirst();
   25.41 +    }
   25.42 +
   25.43 +    @Override
   25.44 +    public void visit(CaseStatement node) {
   25.45 +        path.addFirst(node);
   25.46 +        super.visit(node);
   25.47 +        path.removeFirst();
   25.48 +    }
   25.49 +
   25.50 +    @Override
   25.51 +    public void visit(CaseWhen node) {
   25.52 +        path.addFirst(node);
   25.53 +        super.visit(node);
   25.54 +        path.removeFirst();
   25.55 +    }
   25.56 +
   25.57 +    @Override
   25.58      public void visit(CodeStatement node) {
   25.59          path.addFirst(node);
   25.60          super.visit(node);
   25.61 @@ -199,6 +229,20 @@
   25.62      }
   25.63  
   25.64      @Override
   25.65 +    public void visit(IfStatement node) {
   25.66 +        path.addFirst(node);
   25.67 +        super.visit(node);
   25.68 +        path.removeFirst();
   25.69 +    }
   25.70 +
   25.71 +    @Override
   25.72 +    public void visit(InfixExpression node) {
   25.73 +        path.addFirst(node);
   25.74 +        super.visit(node);
   25.75 +        path.removeFirst();
   25.76 +    }
   25.77 +
   25.78 +    @Override
   25.79      public void visit(LoopStatement node) {
   25.80          path.addFirst(node);
   25.81          super.visit(node);
   25.82 @@ -241,6 +285,13 @@
   25.83      }
   25.84  
   25.85      @Override
   25.86 +    public void visit(PackageRenames node) {
   25.87 +        path.addFirst(node);
   25.88 +        super.visit(node);
   25.89 +        path.removeFirst();
   25.90 +    }
   25.91 +
   25.92 +    @Override
   25.93      public void visit(PackageSpecification node) {
   25.94          path.addFirst(node);
   25.95          super.visit(node);
   25.96 @@ -262,6 +313,13 @@
   25.97      }
   25.98  
   25.99      @Override
  25.100 +    public void visit(Range node) {
  25.101 +        path.addFirst(node);
  25.102 +        super.visit(node);
  25.103 +        path.removeFirst();
  25.104 +    }
  25.105 +
  25.106 +    @Override
  25.107      public void visit(RaiseStatement node) {
  25.108          path.addFirst(node);
  25.109          super.visit(node);
  25.110 @@ -360,48 +418,6 @@
  25.111      }
  25.112  
  25.113      @Override
  25.114 -    public void visit(BlockStatement node) {
  25.115 -        path.addFirst(node);
  25.116 -        super.visit(node);
  25.117 -        path.removeFirst();
  25.118 -    }
  25.119 -
  25.120 -    @Override
  25.121 -    public void visit(CaseStatement node) {
  25.122 -        path.addFirst(node);
  25.123 -        super.visit(node);
  25.124 -        path.removeFirst();
  25.125 -    }
  25.126 -
  25.127 -    @Override
  25.128 -    public void visit(CaseWhen node) {
  25.129 -        path.addFirst(node);
  25.130 -        super.visit(node);
  25.131 -        path.removeFirst();
  25.132 -    }
  25.133 -
  25.134 -    @Override
  25.135 -    public void visit(IfStatement node) {
  25.136 -        path.addFirst(node);
  25.137 -        super.visit(node);
  25.138 -        path.removeFirst();
  25.139 -    }
  25.140 -
  25.141 -    @Override
  25.142 -    public void visit(PackageRenames node) {
  25.143 -        path.addFirst(node);
  25.144 -        super.visit(node);
  25.145 -        path.removeFirst();
  25.146 -    }
  25.147 -
  25.148 -    @Override
  25.149 -    public void visit(ASTNode node) {
  25.150 -        path.addFirst(node);
  25.151 -        super.visit(node);
  25.152 -        path.removeFirst();
  25.153 -    }
  25.154 -
  25.155 -    @Override
  25.156      public void visit(UnaryOperation node) {
  25.157          path.addFirst(node);
  25.158          super.visit(node);
    26.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/DefaultVisitor.java	Thu Jun 17 10:15:25 2010 -0400
    26.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/DefaultVisitor.java	Sun Aug 22 23:56:21 2010 +0200
    26.3 @@ -56,6 +56,7 @@
    26.4  import org.netbeans.modules.ada.editor.ast.nodes.GotoStatement;
    26.5  import org.netbeans.modules.ada.editor.ast.nodes.Identifier;
    26.6  import org.netbeans.modules.ada.editor.ast.nodes.IfStatement;
    26.7 +import org.netbeans.modules.ada.editor.ast.nodes.InfixExpression;
    26.8  import org.netbeans.modules.ada.editor.ast.nodes.LoopStatement;
    26.9  import org.netbeans.modules.ada.editor.ast.nodes.MethodDeclaration;
   26.10  import org.netbeans.modules.ada.editor.ast.nodes.NullStatement;
   26.11 @@ -67,6 +68,7 @@
   26.12  import org.netbeans.modules.ada.editor.ast.nodes.Program;
   26.13  import org.netbeans.modules.ada.editor.ast.nodes.QualifiedExpression;
   26.14  import org.netbeans.modules.ada.editor.ast.nodes.RaiseStatement;
   26.15 +import org.netbeans.modules.ada.editor.ast.nodes.Range;
   26.16  import org.netbeans.modules.ada.editor.ast.nodes.Reference;
   26.17  import org.netbeans.modules.ada.editor.ast.nodes.ReturnStatement;
   26.18  import org.netbeans.modules.ada.editor.ast.nodes.Scalar;
   26.19 @@ -127,6 +129,22 @@
   26.20          scan(node.getStatements());
   26.21      }
   26.22  
   26.23 +    public void visit(BlockStatement node) {
   26.24 +        scan(node.getLabel());
   26.25 +        scan(node.getDeclarations());
   26.26 +        scan(node.getBody());
   26.27 +    }
   26.28 +
   26.29 +    public void visit(CaseStatement node) {
   26.30 +        scan(node.getExpression());
   26.31 +        scan(node.getBody());
   26.32 +    }
   26.33 +
   26.34 +    public void visit(CaseWhen node) {
   26.35 +        scan(node.getValue());
   26.36 +        scan(node.getActions());
   26.37 +    }
   26.38 +
   26.39      public void visit(CodeStatement node) {
   26.40          scan(node.getExpression());
   26.41      }
   26.42 @@ -158,6 +176,17 @@
   26.43      public void visit(Identifier node) {
   26.44      }
   26.45  
   26.46 +    public void visit(IfStatement node) {
   26.47 +        scan(node.getCondition());
   26.48 +        scan(node.getTrueStatement());
   26.49 +        scan(node.getFalseStatement());
   26.50 +    }
   26.51 +
   26.52 +    public void visit(InfixExpression node) {
   26.53 +        scan(node.getLeft());
   26.54 +        scan(node.getRight());
   26.55 +    }
   26.56 +
   26.57      public void visit(LoopStatement node) {
   26.58          scan(node.getCondition());
   26.59          scan(node.getBody());
   26.60 @@ -193,6 +222,11 @@
   26.61          scan(node.getBody());
   26.62      }
   26.63  
   26.64 +    public void visit(PackageRenames node) {
   26.65 +        scan(node.getName());
   26.66 +        scan(node.getPackageRenames());
   26.67 +    }
   26.68 +
   26.69      public void visit(Program node) {
   26.70          scan(node.getStatements());
   26.71      }
   26.72 @@ -202,6 +236,11 @@
   26.73          scan(node.getExpression());
   26.74      }
   26.75  
   26.76 +    public void visit(Range node) {
   26.77 +        scan(node.getLeft());
   26.78 +        scan(node.getRight());
   26.79 +    }
   26.80 +
   26.81      public void visit(Reference node) {
   26.82          scan(node.getExpression());
   26.83      }
   26.84 @@ -223,7 +262,7 @@
   26.85          scan(node.getParentType());
   26.86      }
   26.87  
   26.88 -	public void visit(TaskName node) {
   26.89 +    public void visit(TaskName node) {
   26.90          scan(node.getTaskName());
   26.91      }
   26.92  
   26.93 @@ -263,33 +302,6 @@
   26.94          scan(node.getPackages());
   26.95      }
   26.96  
   26.97 -    public void visit(BlockStatement node) {
   26.98 -        scan(node.getLabel());
   26.99 -        scan(node.getDeclarations());
  26.100 -        scan(node.getBody());
  26.101 -    }
  26.102 -
  26.103 -    public void visit(CaseStatement node) {
  26.104 -        scan(node.getExpression());
  26.105 -        scan(node.getBody());
  26.106 -    }
  26.107 -
  26.108 -    public void visit(CaseWhen node) {
  26.109 -        scan(node.getValue());
  26.110 -        scan(node.getActions());
  26.111 -    }
  26.112 -
  26.113 -    public void visit(IfStatement node) {
  26.114 -        scan(node.getCondition());
  26.115 -        scan(node.getTrueStatement());
  26.116 -        scan(node.getFalseStatement());
  26.117 -    }
  26.118 -
  26.119 -    public void visit(PackageRenames node) {
  26.120 -        scan(node.getName());
  26.121 -        scan(node.getPackageRenames());
  26.122 -    }
  26.123 -
  26.124      public void visit(UnaryOperation node) {
  26.125          scan(node.getExpression());
  26.126      }
    27.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/Visitor.java	Thu Jun 17 10:15:25 2010 -0400
    27.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/Visitor.java	Sun Aug 22 23:56:21 2010 +0200
    27.3 @@ -62,6 +62,7 @@
    27.4  import org.netbeans.modules.ada.editor.ast.nodes.FormalParameter;
    27.5  import org.netbeans.modules.ada.editor.ast.nodes.GotoStatement;
    27.6  import org.netbeans.modules.ada.editor.ast.nodes.IfStatement;
    27.7 +import org.netbeans.modules.ada.editor.ast.nodes.InfixExpression;
    27.8  import org.netbeans.modules.ada.editor.ast.nodes.LoopStatement;
    27.9  import org.netbeans.modules.ada.editor.ast.nodes.MethodDeclaration;
   27.10  import org.netbeans.modules.ada.editor.ast.nodes.NullStatement;
   27.11 @@ -70,6 +71,7 @@
   27.12  import org.netbeans.modules.ada.editor.ast.nodes.PackageRenames;
   27.13  import org.netbeans.modules.ada.editor.ast.nodes.QualifiedExpression;
   27.14  import org.netbeans.modules.ada.editor.ast.nodes.RaiseStatement;
   27.15 +import org.netbeans.modules.ada.editor.ast.nodes.Range;
   27.16  import org.netbeans.modules.ada.editor.ast.nodes.ReturnStatement;
   27.17  import org.netbeans.modules.ada.editor.ast.nodes.Scalar;
   27.18  import org.netbeans.modules.ada.editor.ast.nodes.SingleFieldDeclaration;
   27.19 @@ -94,10 +96,12 @@
   27.20  
   27.21      public void visit(AbortStatement node);
   27.22  
   27.23 -	public void visit(ArrayAccess arrayAccess);
   27.24 +    public void visit(ArrayAccess arrayAccess);
   27.25  
   27.26      public void visit(Assignment node);
   27.27  
   27.28 +    public void visit(Block node);
   27.29 +
   27.30      public void visit(BlockStatement node);
   27.31  
   27.32      public void visit(CaseStatement node);
   27.33 @@ -114,17 +118,19 @@
   27.34  
   27.35      public void visit(FieldsDeclaration node);
   27.36  
   27.37 -	public void visit(FormalParameter node);
   27.38 +    public void visit(FormalParameter node);
   27.39  
   27.40      public void visit(GotoStatement node);
   27.41  
   27.42      public void visit(Identifier node);
   27.43  
   27.44 +    public void visit(InfixExpression infixExpression);
   27.45 +
   27.46      public void visit(IfStatement node);
   27.47  
   27.48      public void visit(LoopStatement node);
   27.49  
   27.50 -	public void visit(MethodDeclaration node);
   27.51 +    public void visit(MethodDeclaration node);
   27.52  
   27.53      public void visit(NullStatement node);
   27.54  
   27.55 @@ -132,7 +138,7 @@
   27.56  
   27.57      public void visit(PackageBody node);
   27.58  
   27.59 -	public void visit(PackageInstanceCreation node);
   27.60 +    public void visit(PackageInstanceCreation node);
   27.61  
   27.62      public void visit(PackageName node);
   27.63  
   27.64 @@ -142,19 +148,21 @@
   27.65  
   27.66      public void visit(QualifiedExpression node);
   27.67  
   27.68 -	public void visit(Scalar node);
   27.69 +    public void visit(Scalar node);
   27.70  
   27.71 -	public void visit(SubprogramBody node);
   27.72 +    public void visit(SubprogramBody node);
   27.73  
   27.74 -	public void visit(SubprogramSpecification node);
   27.75 +    public void visit(SubprogramSpecification node);
   27.76  
   27.77      public void visit(RaiseStatement node);
   27.78  
   27.79 +    public void visit(Range node);
   27.80 +
   27.81      public void visit(ReturnStatement node);
   27.82  
   27.83      public void visit(SingleFieldDeclaration node);
   27.84  
   27.85 -	public void visit(SubtypeDeclaration node);
   27.86 +    public void visit(SubtypeDeclaration node);
   27.87  
   27.88      public void visit(TaskName node);
   27.89  
   27.90 @@ -169,6 +177,4 @@
   27.91      public void visit(Use node);
   27.92  
   27.93      public void visit(UnaryOperation node);
   27.94 -
   27.95 -    public void visit(Block node);
   27.96  }
    28.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/formatter/ui/FmtOptions.java	Thu Jun 17 10:15:25 2010 -0400
    28.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/formatter/ui/FmtOptions.java	Sun Aug 22 23:56:21 2010 +0200
    28.3 @@ -72,7 +72,6 @@
    28.4  import org.netbeans.api.editor.settings.SimpleValueNames;
    28.5  import org.netbeans.api.editor.mimelookup.MimeLookup;
    28.6  
    28.7 -import org.netbeans.editor.BaseDocument;
    28.8  import org.netbeans.modules.ada.editor.formatter.AdaFormatter;
    28.9  import org.netbeans.modules.ada.editor.AdaMimeResolver;
   28.10  import org.netbeans.spi.options.OptionsPanelController;
    29.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/indexer/AdaElement.java	Thu Jun 17 10:15:25 2010 -0400
    29.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/indexer/AdaElement.java	Sun Aug 22 23:56:21 2010 +0200
    29.3 @@ -48,8 +48,9 @@
    29.4  import org.openide.filesystems.FileObject;
    29.5  
    29.6  /**
    29.7 + * Based on org.netbeans.modules.php.editor.index (Tor Norbye)
    29.8   *
    29.9 - * @author Tor Norbye
   29.10 + * @author Andrea Lucarelli
   29.11   */
   29.12  public abstract class AdaElement implements Element {
   29.13      public abstract String getName();
    30.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/indexer/Element.java	Thu Jun 17 10:15:25 2010 -0400
    30.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/indexer/Element.java	Sun Aug 22 23:56:21 2010 +0200
    30.3 @@ -43,7 +43,6 @@
    30.4  
    30.5  import java.util.Set;
    30.6  import org.netbeans.modules.csl.api.ElementHandle;
    30.7 -import org.netbeans.modules.csl.api.ElementKind;
    30.8  import org.netbeans.modules.csl.api.Modifier;
    30.9  
   30.10  /**
   30.11 @@ -53,6 +52,5 @@
   30.12  public interface Element extends ElementHandle {
   30.13      String getName();
   30.14      String getIn();
   30.15 -    ElementKind getKind();
   30.16      Set<Modifier> getModifiers();
   30.17  }
    31.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/Ada95ASTLexer.java	Thu Jun 17 10:15:25 2010 -0400
    31.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/Ada95ASTLexer.java	Sun Aug 22 23:56:21 2010 +0200
    31.3 @@ -1,4 +1,4 @@
    31.4 -/* The following code was generated by JFlex 1.4.2 on 08/02/09 0.16 */
    31.5 +/* The following code was generated by JFlex 1.4.3 on 07/10/09 11.49 */
    31.6  
    31.7  /*
    31.8   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
    31.9 @@ -50,9 +50,9 @@
   31.10  
   31.11  /**
   31.12   * This class is a scanner generated by 
   31.13 - * <a href="http://www.jflex.de/">JFlex</a> 1.4.2
   31.14 - * on 08/02/09 0.16 from the specification file
   31.15 - * <tt>C:/hg-repo/release65/contrib/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95ASTLexer.flex</tt>
   31.16 + * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
   31.17 + * on 07/10/09 11.49 from the specification file
   31.18 + * <tt>C:/hg-repo/release67_fixes/contrib/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95ASTLexer.flex</tt>
   31.19   */
   31.20  public class Ada95ASTLexer implements Scanner {
   31.21  
   31.22 @@ -828,6 +828,7 @@
   31.23      zzReader = reader;
   31.24      zzAtBOL  = true;
   31.25      zzAtEOF  = false;
   31.26 +    zzEOFDone  = false;
   31.27      zzEndRead = zzStartRead = 0;
   31.28      zzCurrentPos = zzMarkedPos = zzPushbackPos = 0;
   31.29      yyline = yychar = yycolumn = 0;
    32.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/Ada95SyntaxLexer.java	Thu Jun 17 10:15:25 2010 -0400
    32.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/Ada95SyntaxLexer.java	Sun Aug 22 23:56:21 2010 +0200
    32.3 @@ -1,4 +1,4 @@
    32.4 -/* The following code was generated by JFlex 1.4.2 on 08/02/09 10.47 */
    32.5 +/* The following code was generated by JFlex 1.4.3 on 07/10/09 11.44 */
    32.6  
    32.7  /*
    32.8   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
    32.9 @@ -45,9 +45,9 @@
   32.10  
   32.11  /**
   32.12   * This class is a scanner generated by 
   32.13 - * <a href="http://www.jflex.de/">JFlex</a> 1.4.2
   32.14 - * on 08/02/09 10.47 from the specification file
   32.15 - * <tt>C:/hg-repo/release65/contrib/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95SyntaxLexer.flex</tt>
   32.16 + * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
   32.17 + * on 07/10/09 11.44 from the specification file
   32.18 + * <tt>C:/hg-repo/release67_fixes/contrib/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95SyntaxLexer.flex</tt>
   32.19   */
   32.20  public class Ada95SyntaxLexer {
   32.21  
   32.22 @@ -1239,331 +1239,331 @@
   32.23            { return AdaTokenId.WITH;
   32.24            }
   32.25          case 126: break;
   32.26 +        case 121: 
   32.27 +          { return AdaTokenId.WIDE_CHARACTER;
   32.28 +          }
   32.29 +        case 127: break;
   32.30          case 13: 
   32.31            { return AdaTokenId.STAR;
   32.32            }
   32.33 -        case 127: break;
   32.34 +        case 128: break;
   32.35          case 79: 
   32.36            { return AdaTokenId.ABORT;
   32.37            }
   32.38 -        case 128: break;
   32.39 +        case 129: break;
   32.40          case 110: 
   32.41            { return AdaTokenId.FUNCTION;
   32.42            }
   32.43 -        case 129: break;
   32.44 +        case 130: break;
   32.45          case 72: 
   32.46            { return AdaTokenId.GOTO;
   32.47            }
   32.48 -        case 130: break;
   32.49 +        case 131: break;
   32.50          case 68: 
   32.51            { return AdaTokenId.THEN;
   32.52            }
   32.53 -        case 131: break;
   32.54 +        case 132: break;
   32.55          case 47: 
   32.56            { return AdaTokenId.FOR;
   32.57            }
   32.58 -        case 132: break;
   32.59 +        case 133: break;
   32.60          case 8: 
   32.61            { return  AdaTokenId.WHITESPACE;
   32.62            }
   32.63 -        case 133: break;
   32.64 +        case 134: break;
   32.65          case 14: 
   32.66            { return AdaTokenId.COMMA;
   32.67            }
   32.68 -        case 134: break;
   32.69 +        case 135: break;
   32.70          case 69: 
   32.71            { return AdaTokenId.CASE;
   32.72            }
   32.73 -        case 135: break;
   32.74 +        case 136: break;
   32.75          case 70: 
   32.76            { return AdaTokenId.LOOP;
   32.77            }
   32.78 -        case 136: break;
   32.79 +        case 137: break;
   32.80          case 118: 
   32.81            { return AdaTokenId.CHARACTER;
   32.82            }
   32.83 -        case 137: break;
   32.84 +        case 138: break;
   32.85          case 88: 
   32.86            { return AdaTokenId.END_IF;
   32.87            }
   32.88 -        case 138: break;
   32.89 +        case 139: break;
   32.90          case 120: 
   32.91            { return AdaTokenId.PROCEDURE;
   32.92            }
   32.93 -        case 139: break;
   32.94 +        case 140: break;
   32.95          case 82: 
   32.96            { return AdaTokenId.RAISE;
   32.97            }
   32.98 -        case 140: break;
   32.99 +        case 141: break;
  32.100          case 100: 
  32.101            { return AdaTokenId.RENAMES;
  32.102            }
  32.103 -        case 141: break;
  32.104 +        case 142: break;
  32.105          case 90: 
  32.106            { return AdaTokenId.ACCEPT;
  32.107            }
  32.108 -        case 142: break;
  32.109 +        case 143: break;
  32.110          case 115: 
  32.111            { return AdaTokenId.CONSTANT;
  32.112            }
  32.113 -        case 143: break;
  32.114 +        case 144: break;
  32.115          case 113: 
  32.116            { return AdaTokenId.ABSTRACT;
  32.117            }
  32.118 -        case 144: break;
  32.119 +        case 145: break;
  32.120          case 50: 
  32.121            { return AdaTokenId.ABS;
  32.122            }
  32.123 -        case 145: break;
  32.124 +        case 146: break;
  32.125          case 104: 
  32.126            { return AdaTokenId.PACKAGE;
  32.127            }
  32.128 -        case 146: break;
  32.129 +        case 147: break;
  32.130          case 116: 
  32.131            { return AdaTokenId.EXCEPTION;
  32.132            }
  32.133 -        case 147: break;
  32.134 +        case 148: break;
  32.135          case 62: 
  32.136            { return AdaTokenId.EXIT;
  32.137            }
  32.138 -        case 148: break;
  32.139 +        case 149: break;
  32.140          case 12: 
  32.141            { return AdaTokenId.RPAREN;
  32.142            }
  32.143 -        case 149: break;
  32.144 +        case 150: break;
  32.145          case 1: 
  32.146            { yypushback(1);
  32.147      pushState(ST_HIGHLIGHTING_ERROR);
  32.148            }
  32.149 -        case 150: break;
  32.150 +        case 151: break;
  32.151          case 11: 
  32.152            { return AdaTokenId.LPAREN;
  32.153            }
  32.154 -        case 151: break;
  32.155 +        case 152: break;
  32.156          case 89: 
  32.157            { return AdaTokenId.ACCESS;
  32.158            }
  32.159 -        case 152: break;
  32.160 +        case 153: break;
  32.161          case 52: 
  32.162            { return AdaTokenId.AND;
  32.163            }
  32.164 -        case 153: break;
  32.165 +        case 154: break;
  32.166          case 93: 
  32.167            { return AdaTokenId.RECORD;
  32.168            }
  32.169 -        case 154: break;
  32.170 +        case 155: break;
  32.171          case 6: 
  32.172            { pushState(ST_LOOKING_FOR_PROPERTY);
  32.173                        return AdaTokenId.DOT;
  32.174            }
  32.175 -        case 155: break;
  32.176 +        case 156: break;
  32.177          case 66: 
  32.178            { return AdaTokenId.TRUE;
  32.179            }
  32.180 -        case 156: break;
  32.181 +        case 157: break;
  32.182          case 18: 
  32.183            { return AdaTokenId.EQ;
  32.184            }
  32.185 -        case 157: break;
  32.186 +        case 158: break;
  32.187          case 60: 
  32.188            { return AdaTokenId.BASED_LITERAL;
  32.189            }
  32.190 -        case 158: break;
  32.191 +        case 159: break;
  32.192          case 10: 
  32.193            { return AdaTokenId.AMP;
  32.194            }
  32.195 -        case 159: break;
  32.196 +        case 160: break;
  32.197          case 108: 
  32.198            { return AdaTokenId.DECLARE;
  32.199            }
  32.200 -        case 160: break;
  32.201 +        case 161: break;
  32.202          case 44: 
  32.203            { return AdaTokenId.GTEQ;
  32.204            }
  32.205 -        case 161: break;
  32.206 +        case 162: break;
  32.207          case 75: 
  32.208            { return AdaTokenId.FALSE;
  32.209            }
  32.210 -        case 162: break;
  32.211 +        case 163: break;
  32.212          case 48: 
  32.213            { return AdaTokenId.END;
  32.214            }
  32.215 -        case 163: break;
  32.216 +        case 164: break;
  32.217          case 96: 
  32.218            { return AdaTokenId.PRAGMA;
  32.219            }
  32.220 -        case 164: break;
  32.221 +        case 165: break;
  32.222          case 41: 
  32.223            { return AdaTokenId.LTEQ;
  32.224            }
  32.225 -        case 165: break;
  32.226 +        case 166: break;
  32.227          case 28: 
  32.228            { return AdaTokenId.DOT_DOT;
  32.229            }
  32.230 -        case 166: break;
  32.231 +        case 167: break;
  32.232          case 20: 
  32.233            { return AdaTokenId.BAR;
  32.234            }
  32.235 -        case 167: break;
  32.236 +        case 168: break;
  32.237          case 102: 
  32.238            { return AdaTokenId.REQUEUE;
  32.239            }
  32.240 -        case 168: break;
  32.241 +        case 169: break;
  32.242          case 58: 
  32.243            { return AdaTokenId.USE;
  32.244            }
  32.245 -        case 169: break;
  32.246 +        case 170: break;
  32.247          case 30: 
  32.248            { return AdaTokenId.STRING_LITERAL;
  32.249            }
  32.250 -        case 170: break;
  32.251 +        case 171: break;
  32.252          case 77: 
  32.253            { return AdaTokenId.ELSIF;
  32.254            }
  32.255 -        case 171: break;
  32.256 +        case 172: break;
  32.257          case 114: 
  32.258            { return AdaTokenId.SEPARATE;
  32.259            }
  32.260 -        case 172: break;
  32.261 +        case 173: break;
  32.262          case 91: 
  32.263            { return AdaTokenId.OTHERS;
  32.264            }
  32.265 -        case 173: break;
  32.266 +        case 174: break;
  32.267          case 2: 
  32.268            { return AdaTokenId.DECIMAL_LITERAL;
  32.269            }
  32.270 -        case 174: break;
  32.271 +        case 175: break;
  32.272          case 76: 
  32.273            { return AdaTokenId.FLOAT;
  32.274            }
  32.275 -        case 175: break;
  32.276 +        case 176: break;
  32.277          case 107: 
  32.278            { return AdaTokenId.INTEGER;
  32.279            }
  32.280 -        case 176: break;
  32.281 +        case 177: break;
  32.282          case 27: 
  32.283            { pushState(ST_LINE_COMMENT);
  32.284      return AdaTokenId.COMMENT;
  32.285            }
  32.286 -        case 177: break;
  32.287 +        case 178: break;
  32.288          case 74: 
  32.289            { return AdaTokenId.WHEN;
  32.290            }
  32.291 -        case 178: break;
  32.292 +        case 179: break;
  32.293          case 54: 
  32.294            { return AdaTokenId.REM;
  32.295            }
  32.296 -        case 179: break;
  32.297 +        case 180: break;
  32.298          case 26: 
  32.299            { popState();
  32.300          return AdaTokenId.WHITESPACE;
  32.301            }
  32.302 -        case 180: break;
  32.303 +        case 181: break;
  32.304          case 25: 
  32.305            { return AdaTokenId.UNKNOWN_TOKEN;
  32.306            }
  32.307 -        case 181: break;
  32.308 +        case 182: break;
  32.309          case 59: 
  32.310            { return AdaTokenId.MOD;
  32.311            }
  32.312 -        case 182: break;
  32.313 +        case 183: break;
  32.314          case 3: 
  32.315            { return  AdaTokenId.IDENTIFIER;
  32.316            }
  32.317 -        case 183: break;
  32.318 +        case 184: break;
  32.319          case 15: 
  32.320            { return AdaTokenId.SLASH;
  32.321            }
  32.322 -        case 184: break;
  32.323 +        case 185: break;
  32.324          case 57: 
  32.325            { return AdaTokenId.XOR;
  32.326            }
  32.327 -        case 185: break;
  32.328 +        case 186: break;
  32.329          case 19: 
  32.330            { return AdaTokenId.LT;
  32.331            }
  32.332 -        case 186: break;
  32.333 +        case 187: break;
  32.334          case 106: 
  32.335            { return AdaTokenId.LIMITED;
  32.336            }
  32.337 -        case 187: break;
  32.338 +        case 188: break;
  32.339          case 92: 
  32.340            { return AdaTokenId.RETURN;
  32.341            }
  32.342 -        case 188: break;
  32.343 +        case 189: break;
  32.344          case 16: 
  32.345            { return AdaTokenId.SEMICOLON;
  32.346            }
  32.347 -        case 189: break;
  32.348 +        case 190: break;
  32.349          case 84: 
  32.350            { return AdaTokenId.DELAY;
  32.351            }
  32.352 -        case 190: break;
  32.353 +        case 191: break;
  32.354          case 103: 
  32.355            { return AdaTokenId.SUBTYPE;
  32.356            }
  32.357 -        case 191: break;
  32.358 +        case 192: break;
  32.359          case 4: 
  32.360            { return AdaTokenId.PLUS;
  32.361            }
  32.362 -        case 192: break;
  32.363 +        case 193: break;
  32.364          case 67: 
  32.365            { return AdaTokenId.TYPE;
  32.366            }
  32.367 -        case 193: break;
  32.368 +        case 194: break;
  32.369          case 38: 
  32.370            { return AdaTokenId.EXPON;
  32.371            }
  32.372 -        case 194: break;
  32.373 +        case 195: break;
  32.374          case 105: 
  32.375            { return AdaTokenId.PRIVATE;
  32.376            }
  32.377 -        case 195: break;
  32.378 +        case 196: break;
  32.379          case 21: 
  32.380            { yypushback(1);
  32.381      popState();
  32.382            }
  32.383 -        case 196: break;
  32.384 +        case 197: break;
  32.385          case 101: 
  32.386            { return AdaTokenId.REVERSE;
  32.387            }
  32.388 -        case 197: break;
  32.389 +        case 198: break;
  32.390          case 86: 
  32.391            { return AdaTokenId.UNTIL;
  32.392            }
  32.393 -        case 198: break;
  32.394 +        case 199: break;
  32.395          case 9: 
  32.396            { return AdaTokenId.TICK;
  32.397            }
  32.398 -        case 199: break;
  32.399 +        case 200: break;
  32.400          case 24: 
  32.401            { popState();
  32.402      return AdaTokenId.COMMENT;
  32.403            }
  32.404 -        case 200: break;
  32.405 +        case 201: break;
  32.406          case 71: 
  32.407            { return AdaTokenId.NULL;
  32.408            }
  32.409 -        case 201: break;
  32.410 +        case 202: break;
  32.411          case 37: 
  32.412            { return AdaTokenId.DO;
  32.413            }
  32.414 -        case 202: break;
  32.415 +        case 203: break;
  32.416          case 36: 
  32.417            { return AdaTokenId.IN;
  32.418            }
  32.419 -        case 203: break;
  32.420 +        case 204: break;
  32.421          case 5: 
  32.422            { return AdaTokenId.MINUS;
  32.423            }
  32.424 -        case 204: break;
  32.425 +        case 205: break;
  32.426          case 83: 
  32.427            { return AdaTokenId.RANGE;
  32.428            }
  32.429 -        case 205: break;
  32.430 -        case 121: 
  32.431 -          { return AdaTokenId.WIDE_CHARECTER;
  32.432 -          }
  32.433          case 206: break;
  32.434          case 22: 
  32.435            { popState();
    33.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/AdaLexUtilities.java	Thu Jun 17 10:15:25 2010 -0400
    33.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/AdaLexUtilities.java	Sun Aug 22 23:56:21 2010 +0200
    33.3 @@ -86,6 +86,7 @@
    33.4      static {
    33.5          END_PAIRS.add(AdaTokenId.PROCEDURE);
    33.6          END_PAIRS.add(AdaTokenId.FUNCTION);
    33.7 +        END_PAIRS.add(AdaTokenId.DECLARE);
    33.8          END_PAIRS.add(AdaTokenId.FOR);
    33.9          END_PAIRS.add(AdaTokenId.WHILE);
   33.10          END_PAIRS.add(AdaTokenId.IF);
    34.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/AdaTokenId.java	Thu Jun 17 10:15:25 2010 -0400
    34.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/AdaTokenId.java	Sun Aug 22 23:56:21 2010 +0200
    34.3 @@ -131,11 +131,11 @@
    34.4      WITH("with", "keyword"), //NOI18N
    34.5      XOR("xor", "keyword"), //NOI18N
    34.6  
    34.7 -    BOOLEAN("true", "literal"), //NOI18N
    34.8 -    CHARACTER("true", "literal"), //NOI18N
    34.9 -    FLOAT("true", "literal"), //NOI18N
   34.10 -    INTEGER("true", "literal"), //NOI18N
   34.11 -    WIDE_CHARECTER("true", "literal"), //NOI18N
   34.12 +    BOOLEAN("boolean", "literal"), //NOI18N
   34.13 +    CHARACTER("character", "literal"), //NOI18N
   34.14 +    FLOAT("float", "literal"), //NOI18N
   34.15 +    INTEGER("integer", "literal"), //NOI18N
   34.16 +    WIDE_CHARACTER("wide_character", "literal"), //NOI18N
   34.17      TRUE("true", "literal"), //NOI18N
   34.18      FALSE("false", "literal"), //NOI18N
   34.19  
    35.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/ASTLexer.skeleton	Thu Jun 17 10:15:25 2010 -0400
    35.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/ASTLexer.skeleton	Sun Aug 22 23:56:21 2010 +0200
    35.3 @@ -70,6 +70,9 @@
    35.4    /** zzAtEOF == true <=> the scanner is at the EOF */
    35.5    private boolean zzAtEOF;
    35.6  
    35.7 +  /** denotes if the user-EOF-code has already been executed */
    35.8 +  private boolean zzEOFDone;
    35.9 +
   35.10  --- user class code
   35.11  
   35.12    /**
   35.13 @@ -152,6 +155,7 @@
   35.14      zzReader = reader;
   35.15      zzAtBOL  = true;
   35.16      zzAtEOF  = false;
   35.17 +    zzEOFDone  = false;
   35.18      zzEndRead = zzStartRead = 0;
   35.19      zzCurrentPos = zzMarkedPos = zzPushbackPos = 0;
   35.20      yyline = yychar = yycolumn = 0;
    36.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95SyntaxLexer.flex	Thu Jun 17 10:15:25 2010 -0400
    36.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95SyntaxLexer.flex	Sun Aug 22 23:56:21 2010 +0200
    36.3 @@ -440,7 +440,7 @@
    36.4      "character"         { return AdaTokenId.CHARACTER; }
    36.5      "float"             { return AdaTokenId.FLOAT; }
    36.6      "integer"           { return AdaTokenId.INTEGER; }
    36.7 -    "wide_character"    { return AdaTokenId.WIDE_CHARECTER; }
    36.8 +    "wide_character"    { return AdaTokenId.WIDE_CHARACTER; }
    36.9      "true"              { return AdaTokenId.TRUE; }
   36.10      "false"             { return AdaTokenId.FALSE; }
   36.11  
    37.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaDeclarationFinder.java	Thu Jun 17 10:15:25 2010 -0400
    37.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaDeclarationFinder.java	Sun Aug 22 23:56:21 2010 +0200
    37.3 @@ -38,7 +38,6 @@
    37.4   */
    37.5  package org.netbeans.modules.ada.editor.navigator;
    37.6  
    37.7 -import java.io.IOException;
    37.8  import java.util.Collections;
    37.9  import java.util.LinkedList;
   37.10  import java.util.List;
   37.11 @@ -180,7 +179,8 @@
   37.12  
   37.13          public String getDisplayHtml(HtmlFormatter formatter) {
   37.14              formatter.reset();
   37.15 -            ElementKind ek = null;
   37.16 +            ElementKind ek = el.getKind();
   37.17 +
   37.18              switch (k) {
   37.19                  case SUBPROG_SPEC:
   37.20                  case SUBPROG_BODY:
    38.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaInstantRenamer.java	Thu Jun 17 10:15:25 2010 -0400
    38.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaInstantRenamer.java	Sun Aug 22 23:56:21 2010 +0200
    38.3 @@ -51,7 +51,7 @@
    38.4  public class AdaInstantRenamer implements InstantRenamer {
    38.5  
    38.6      public boolean isRenameAllowed(ParserResult info, int caretOffset, String[] explanationRetValue) {
    38.7 -		// TODO: to implement.
    38.8 +        // TODO: to implement.
    38.9          return true;
   38.10      }
   38.11  
    39.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaOccurrencesFinder.java	Thu Jun 17 10:15:25 2010 -0400
    39.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaOccurrencesFinder.java	Sun Aug 22 23:56:21 2010 +0200
    39.3 @@ -156,15 +156,12 @@
    39.4  
    39.5              @Override
    39.6              public void visit(TypeDeclaration node) {
    39.7 -                LOGGER.fine("called visist(TypeDeclaration): " + node.getTypeName().getName());
    39.8                  boolean found = false;
    39.9                  if (element instanceof SemiAttribute.PackageMemberElement) {
   39.10 -                    LOGGER.fine("package element: " + node.getTypeName().getName());
   39.11                      SemiAttribute.PackageMemberElement pkgEl = (SemiAttribute.PackageMemberElement) element;
   39.12                      Identifier type = node.getTypeName();
   39.13                      String typeName = type.getName();
   39.14                      if (pkgName != null && pkgEl.getPackageName().equals(pkgName) && pkgEl.getName().equals(typeName)) {
   39.15 -                        LOGGER.fine("if: " + node.getTypeName().getName());
   39.16                          memberDeclaration.add(type);
   39.17                          usages.add(type);
   39.18                          found = true;
   39.19 @@ -177,15 +174,12 @@
   39.20  
   39.21              @Override
   39.22              public void visit(SingleFieldDeclaration node) {
   39.23 -                LOGGER.fine("called visist(SingleFieldDeclaration): " + CodeUtils.extractVariableName(node.getName()));
   39.24                  boolean found = false;
   39.25                  if (element instanceof SemiAttribute.PackageMemberElement) {
   39.26 -                    LOGGER.fine("package element: " + CodeUtils.extractVariableName(node.getName()));
   39.27                      SemiAttribute.PackageMemberElement pkgEl = (SemiAttribute.PackageMemberElement) element;
   39.28                      Variable variable = node.getName();
   39.29                      String varName = CodeUtils.extractVariableName(variable);
   39.30                      if (pkgName != null && pkgEl.getPackageName().equals(pkgName) && pkgEl.getName().equals(varName)) {
   39.31 -                        LOGGER.fine("if: " + CodeUtils.extractVariableName(node.getName()));
   39.32                          memberDeclaration.add(variable);
   39.33                          usages.add(variable);
   39.34                          found = true;
   39.35 @@ -266,7 +260,7 @@
   39.36                          usages.add(parameterName);
   39.37                      }
   39.38                  }
   39.39 -                TypeName parameterType = node.getParameterType();
   39.40 +                TypeName parameterType = CodeUtils.extractType(node.getParameterType());
   39.41                  if (parameterType != null) {
   39.42                      String name = parameterType.getTypeName().getName();
   39.43                      if (name != null && element == attribute.getElement(parameterType)) {
   39.44 @@ -301,10 +295,15 @@
   39.45              }
   39.46          }.scan(ASTUtils.getRoot(parameter));
   39.47  
   39.48 +        int occur = 0;
   39.49          for (ASTNode n : usages) {
   39.50              OffsetRange forNode = forNode(n, element.getKind());
   39.51 +            if (n instanceof Identifier) {
   39.52 +                LOGGER.fine("result " + occur + ": " + ((Identifier)n).getName());
   39.53 +                LOGGER.fine("result " + occur + ": " + forNode);
   39.54 +                occur++;
   39.55 +            }
   39.56              if (forNode != null) {
   39.57 -                LOGGER.fine("usage item: " + forNode);
   39.58                  result.add(forNode);
   39.59              }
   39.60          }
    40.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/navigator/NavUtils.java	Thu Jun 17 10:15:25 2010 -0400
    40.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/navigator/NavUtils.java	Sun Aug 22 23:56:21 2010 +0200
    40.3 @@ -46,7 +46,6 @@
    40.4  import org.netbeans.modules.ada.editor.ast.ASTNode;
    40.5  import org.netbeans.modules.ada.editor.ast.ASTUtils;
    40.6  import org.netbeans.modules.ada.editor.ast.nodes.FormalParameter;
    40.7 -import org.netbeans.modules.ada.editor.ast.nodes.Identifier;
    40.8  import org.netbeans.modules.ada.editor.ast.nodes.PackageBody;
    40.9  import org.netbeans.modules.ada.editor.ast.nodes.PackageName;
   40.10  import org.netbeans.modules.ada.editor.ast.nodes.PackageSpecification;
   40.11 @@ -54,6 +53,7 @@
   40.12  import org.netbeans.modules.ada.editor.ast.nodes.SubprogramBody;
   40.13  import org.netbeans.modules.ada.editor.ast.nodes.SubprogramSpecification;
   40.14  import org.netbeans.modules.ada.editor.ast.nodes.TypeDeclaration;
   40.15 +import org.netbeans.modules.ada.editor.ast.nodes.TypeName;
   40.16  import org.netbeans.modules.ada.editor.ast.nodes.Variable;
   40.17  import org.netbeans.modules.ada.editor.ast.nodes.With;
   40.18  import org.netbeans.modules.ada.editor.ast.nodes.visitors.DefaultVisitor;
   40.19 @@ -142,6 +142,12 @@
   40.20                  continue;
   40.21              }
   40.22  
   40.23 +            if (leaf instanceof TypeName) {
   40.24 +                result = a.getElement(leaf);
   40.25 +                previous = leaf;
   40.26 +                continue;
   40.27 +            }
   40.28 +
   40.29              if (leaf instanceof Scalar) {
   40.30                  AttributedElement e = a.getElement(leaf);
   40.31  
   40.32 @@ -160,13 +166,13 @@
   40.33  
   40.34              if (leaf instanceof PackageSpecification) {
   40.35                  PackageSpecification cDeclaration = (PackageSpecification) leaf;
   40.36 -                //class declaration
   40.37 +                //package specification declaration
   40.38                  if (cDeclaration.getName() == previous) {
   40.39                      return a.getElement(leaf);
   40.40                  }
   40.41              } else if (leaf instanceof PackageBody) {
   40.42                  PackageBody iDeclaration = (PackageBody) leaf;
   40.43 -                //class declaration
   40.44 +                //package body declaration
   40.45                  if (iDeclaration.getName() == previous) {
   40.46                      return a.getElement(leaf);
   40.47                  }
    41.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/navigator/SemiAttribute.java	Thu Jun 17 10:15:25 2010 -0400
    41.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/navigator/SemiAttribute.java	Sun Aug 22 23:56:21 2010 +0200
    41.3 @@ -73,7 +73,8 @@
    41.4  import org.netbeans.modules.ada.editor.ast.nodes.TypeDeclaration;
    41.5  import org.netbeans.modules.ada.editor.ast.nodes.TypeName;
    41.6  import org.netbeans.modules.ada.editor.ast.nodes.Variable;
    41.7 -import org.netbeans.modules.ada.editor.ast.nodes.VariableBase;
    41.8 +import org.netbeans.modules.ada.editor.ast.nodes.NameBase;
    41.9 +import org.netbeans.modules.ada.editor.ast.nodes.TypeAccess;
   41.10  import org.netbeans.modules.ada.editor.ast.nodes.visitors.DefaultVisitor;
   41.11  import org.netbeans.modules.ada.editor.indexer.AdaIndex;
   41.12  import org.netbeans.modules.ada.editor.indexer.IndexedElement;
   41.13 @@ -144,7 +145,7 @@
   41.14  
   41.15      @Override
   41.16      public void visit(Assignment node) {
   41.17 -        final VariableBase vb = node.getLeftHandSide();
   41.18 +        final NameBase vb = node.getLeftHandSide();
   41.19  
   41.20          if (vb instanceof Variable) {
   41.21              AttributedType at = null;
   41.22 @@ -255,7 +256,14 @@
   41.23                  scopes.peek().enterWrite(name, Kind.VARIABLE, var);
   41.24              }
   41.25          }
   41.26 -        TypeName parameterType = node.getParameterType();
   41.27 +
   41.28 +        TypeName parameterType;
   41.29 +        if (node.getParameterType() instanceof TypeAccess) {
   41.30 +            parameterType = ((TypeAccess)node.getParameterType()).getField();
   41.31 +        } else {
   41.32 +            parameterType = (TypeName)node.getParameterType();
   41.33 +        }
   41.34 +
   41.35          if (parameterType != null) {
   41.36              String name = parameterType.getTypeName().getName();
   41.37              if (name != null) {
   41.38 @@ -539,8 +547,8 @@
   41.39  
   41.40      @CheckForNull
   41.41      //TODO converge this method with CodeUtils.extractTypeName()
   41.42 -    public static String extractTypeName(TypeDeclaration var) {
   41.43 -        String typeName = CodeUtils.extractTypeName(var);
   41.44 +    public static String extractTypeName(TypeDeclaration type) {
   41.45 +        String typeName = CodeUtils.extractTypeName(type);
   41.46  
   41.47          return typeName;
   41.48      }
    42.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/Ada95ASTParser.java	Thu Jun 17 10:15:25 2010 -0400
    42.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/Ada95ASTParser.java	Sun Aug 22 23:56:21 2010 +0200
    42.3 @@ -1,7 +1,7 @@
    42.4  
    42.5  //----------------------------------------------------
    42.6  // The following code was generated by CUP v0.11a beta 20060608
    42.7 -// Tue Sep 22 18:19:43 CEST 2009
    42.8 +// Thu Oct 01 15:49:41 CEST 2009
    42.9  //----------------------------------------------------
   42.10  
   42.11  package org.netbeans.modules.ada.editor.parser;
   42.12 @@ -12,7 +12,7 @@
   42.13  import org.netbeans.modules.ada.editor.ast.nodes.*;
   42.14  
   42.15  /** CUP v0.11a beta 20060608 generated parser.
   42.16 -  * @version Tue Sep 22 18:19:43 CEST 2009
   42.17 +  * @version Thu Oct 01 15:49:41 CEST 2009
   42.18    */
   42.19  public class Ada95ASTParser extends java_cup.runtime.lr_parser {
   42.20  
   42.21 @@ -28,9 +28,9 @@
   42.22    /** Production table. */
   42.23    protected static final short _production_table[][] = 
   42.24      unpackFromStrings(new String[] {
   42.25 -    "\000\u0204\000\002\002\004\000\002\170\005\000\002\170" +
   42.26 -    "\010\000\002\171\003\000\002\171\005\000\002\172\003" +
   42.27 -    "\000\002\172\005\000\002\173\002\000\002\173\004\000" +
   42.28 +    "\000\u0204\000\002\002\004\000\002\173\005\000\002\173" +
   42.29 +    "\010\000\002\174\003\000\002\174\005\000\002\175\003" +
   42.30 +    "\000\002\175\005\000\002\176\002\000\002\176\004\000" +
   42.31      "\002\003\003\000\002\003\003\000\002\004\003\000\002" +
   42.32      "\004\003\000\002\002\003\000\002\002\003\000\002\002" +
   42.33      "\003\000\002\002\003\000\002\002\003\000\002\002\003" +
   42.34 @@ -38,43 +38,43 @@
   42.35      "\002\023\003\000\002\023\005\000\002\024\002\000\002" +
   42.36      "\024\003\000\002\024\003\000\002\024\004\000\002\142" +
   42.37      "\003\000\002\142\003\000\002\143\002\000\002\143\004" +
   42.38 -    "\000\002\025\010\000\002\144\007\000\002\177\002\000" +
   42.39 -    "\002\177\003\000\002\177\005\000\002\145\002\000\002" +
   42.40 +    "\000\002\025\010\000\002\144\007\000\002\202\002\000" +
   42.41 +    "\002\202\003\000\002\202\005\000\002\145\002\000\002" +
   42.42      "\145\004\000\002\017\003\000\002\017\003\000\002\017" +
   42.43      "\003\000\002\017\003\000\002\017\003\000\002\017\003" +
   42.44      "\000\002\017\003\000\002\017\003\000\002\020\007\000" +
   42.45 -    "\002\021\004\000\002\021\003\000\002\210\003\000\002" +
   42.46 -    "\210\003\000\002\212\005\000\002\207\004\000\002\207" +
   42.47 -    "\006\000\002\207\006\000\002\207\007\000\002\207\007" +
   42.48 -    "\000\002\211\004\000\002\167\005\000\002\167\005\000" +
   42.49 -    "\002\167\010\000\002\201\005\000\002\215\003\000\002" +
   42.50 -    "\215\005\000\002\216\003\000\002\216\003\000\002\202" +
   42.51 -    "\003\000\002\202\004\000\002\217\003\000\002\220\002" +
   42.52 -    "\000\002\220\003\000\002\203\003\000\002\203\003\000" +
   42.53 -    "\002\221\005\000\002\222\005\000\002\222\007\000\002" +
   42.54 -    "\204\003\000\002\204\003\000\002\223\010\000\002\224" +
   42.55 -    "\006\000\002\227\004\000\002\230\002\000\002\230\003" +
   42.56 -    "\000\002\225\003\000\002\225\005\000\002\226\005\000" +
   42.57 -    "\002\231\005\000\002\232\003\000\002\232\005\000\002" +
   42.58 -    "\166\004\000\002\166\003\000\002\213\002\000\002\213" +
   42.59 -    "\003\000\002\205\005\000\002\214\007\000\002\214\004" +
   42.60 +    "\002\021\004\000\002\021\003\000\002\213\003\000\002" +
   42.61 +    "\213\003\000\002\215\005\000\002\212\004\000\002\212" +
   42.62 +    "\006\000\002\212\006\000\002\212\007\000\002\212\007" +
   42.63 +    "\000\002\214\004\000\002\167\005\000\002\167\005\000" +
   42.64 +    "\002\167\010\000\002\204\005\000\002\220\003\000\002" +
   42.65 +    "\220\005\000\002\221\003\000\002\221\003\000\002\205" +
   42.66 +    "\003\000\002\205\004\000\002\222\003\000\002\223\002" +
   42.67 +    "\000\002\223\003\000\002\206\003\000\002\206\003\000" +
   42.68 +    "\002\224\005\000\002\225\005\000\002\225\007\000\002" +
   42.69 +    "\207\003\000\002\207\003\000\002\226\010\000\002\227" +
   42.70 +    "\006\000\002\232\004\000\002\233\002\000\002\233\003" +
   42.71 +    "\000\002\230\003\000\002\230\005\000\002\231\005\000" +
   42.72 +    "\002\234\005\000\002\235\003\000\002\235\005\000\002" +
   42.73 +    "\166\004\000\002\166\003\000\002\216\002\000\002\216" +
   42.74 +    "\003\000\002\210\005\000\002\217\007\000\002\217\004" +
   42.75      "\000\002\112\002\000\002\112\003\000\002\112\004\000" +
   42.76 -    "\002\233\004\000\002\233\004\000\002\233\005\000\002" +
   42.77 -    "\234\003\000\002\234\005\000\002\236\003\000\002\236" +
   42.78 -    "\005\000\002\235\007\000\002\235\004\000\002\200\005" +
   42.79 -    "\000\002\240\003\000\002\240\005\000\002\241\007\000" +
   42.80 -    "\002\241\003\000\002\242\002\000\002\242\003\000\002" +
   42.81 -    "\237\012\000\002\243\003\000\002\243\004\000\002\244" +
   42.82 -    "\007\000\002\161\003\000\002\161\005\000\002\245\003" +
   42.83 -    "\000\002\245\003\000\002\245\003\000\002\246\004\000" +
   42.84 -    "\002\246\003\000\002\206\004\000\002\206\005\000\002" +
   42.85 -    "\206\005\000\002\206\006\000\002\206\010\000\002\247" +
   42.86 -    "\002\000\002\247\003\000\002\012\002\000\002\012\003" +
   42.87 +    "\002\236\004\000\002\236\004\000\002\236\005\000\002" +
   42.88 +    "\237\003\000\002\237\005\000\002\241\003\000\002\241" +
   42.89 +    "\005\000\002\240\007\000\002\240\004\000\002\203\005" +
   42.90 +    "\000\002\243\003\000\002\243\005\000\002\244\007\000" +
   42.91 +    "\002\244\003\000\002\245\002\000\002\245\003\000\002" +
   42.92 +    "\242\012\000\002\246\003\000\002\246\004\000\002\247" +
   42.93 +    "\007\000\002\161\003\000\002\161\005\000\002\250\003" +
   42.94 +    "\000\002\250\003\000\002\250\003\000\002\251\004\000" +
   42.95 +    "\002\251\003\000\002\211\004\000\002\211\005\000\002" +
   42.96 +    "\211\005\000\002\211\006\000\002\211\010\000\002\252" +
   42.97 +    "\002\000\002\252\003\000\002\012\002\000\002\012\003" +
   42.98      "\000\002\007\002\000\002\007\003\000\002\010\003\000" +
   42.99      "\002\010\004\000\002\011\003\000\002\011\003\000\002" +
  42.100      "\011\003\000\002\011\003\000\002\011\003\000\002\011" +
  42.101      "\003\000\002\011\003\000\002\011\003\000\002\013\003" +
  42.102 -    "\000\002\013\004\000\002\251\003\000\002\251\003\000" +
  42.103 +    "\000\002\013\004\000\002\254\003\000\002\254\003\000" +
  42.104      "\002\110\003\000\002\110\003\000\002\110\003\000\002" +
  42.105      "\110\003\000\002\015\003\000\002\015\003\000\002\015" +
  42.106      "\003\000\002\015\003\000\002\026\003\000\002\026\003" +
  42.107 @@ -82,19 +82,19 @@
  42.108      "\002\146\003\000\002\146\005\000\002\146\005\000\002" +
  42.109      "\027\003\000\002\140\003\000\002\140\005\000\002\133" +
  42.110      "\003\000\002\133\005\000\002\160\003\000\002\164\006" +
  42.111 -    "\000\002\165\003\000\002\165\005\000\002\253\003\000" +
  42.112 -    "\002\253\003\000\002\253\003\000\002\253\003\000\002" +
  42.113 +    "\000\002\165\003\000\002\165\005\000\002\255\003\000" +
  42.114 +    "\002\255\003\000\002\255\003\000\002\255\003\000\002" +
  42.115      "\030\005\000\002\030\005\000\002\030\005\000\002\030" +
  42.116 -    "\005\000\002\163\005\000\002\252\003\000\002\252\003" +
  42.117 -    "\000\002\252\003\000\002\252\003\000\002\154\003\000" +
  42.118 +    "\005\000\002\163\005\000\002\172\003\000\002\172\003" +
  42.119 +    "\000\002\172\003\000\002\172\003\000\002\154\003\000" +
  42.120      "\002\154\003\000\002\154\003\000\002\154\003\000\002" +
  42.121 -    "\255\005\000\002\255\005\000\002\255\007\000\002\255" +
  42.122 -    "\010\000\002\255\006\000\002\256\005\000\002\256\005" +
  42.123 -    "\000\002\254\005\000\002\037\003\000\002\037\003\000" +
  42.124 -    "\002\037\003\000\002\257\004\000\002\257\004\000\002" +
  42.125 +    "\257\005\000\002\257\005\000\002\257\007\000\002\257" +
  42.126 +    "\010\000\002\257\006\000\002\260\005\000\002\260\005" +
  42.127 +    "\000\002\256\005\000\002\037\003\000\002\037\003\000" +
  42.128 +    "\002\037\003\000\002\170\004\000\002\170\004\000\002" +
  42.129      "\040\003\000\002\040\003\000\002\040\003\000\002\040" +
  42.130 -    "\003\000\002\040\003\000\002\040\003\000\002\260\003" +
  42.131 -    "\000\002\260\004\000\002\042\003\000\002\042\003\000" +
  42.132 +    "\003\000\002\040\003\000\002\040\003\000\002\171\003" +
  42.133 +    "\000\002\171\004\000\002\042\003\000\002\042\003\000" +
  42.134      "\002\041\003\000\002\041\003\000\002\041\003\000\002" +
  42.135      "\043\003\000\002\043\003\000\002\043\003\000\002\043" +
  42.136      "\003\000\002\031\003\000\002\031\005\000\002\031\005" +
  42.137 @@ -140,9 +140,9 @@
  42.138      "\003\000\002\115\005\000\002\116\003\000\002\116\005" +
  42.139      "\000\002\117\011\000\002\117\010\000\002\117\003\000" +
  42.140      "\002\120\007\000\002\120\006\000\002\120\010\000\002" +
  42.141 -    "\120\007\000\002\174\004\000\002\275\005\000\002\275" +
  42.142 +    "\120\007\000\002\177\004\000\002\275\005\000\002\275" +
  42.143      "\007\000\002\276\002\000\002\276\010\000\002\301\002" +
  42.144 -    "\000\002\301\005\000\002\016\013\000\002\175\004\000" +
  42.145 +    "\000\002\301\005\000\002\016\013\000\002\200\004\000" +
  42.146      "\002\302\005\000\002\302\007\000\002\303\007\000\002" +
  42.147      "\305\002\000\002\305\004\000\002\304\002\000\002\304" +
  42.148      "\004\000\002\307\003\000\002\307\004\000\002\307\003" +
  42.149 @@ -169,7 +169,7 @@
  42.150      "\000\002\130\003\000\002\131\003\000\002\131\003\000" +
  42.151      "\002\131\004\000\002\131\004\000\002\131\004\000\002" +
  42.152      "\132\005\000\002\151\007\000\002\134\010\000\002\134" +
  42.153 -    "\010\000\002\134\006\000\002\134\010\000\002\176\006" +
  42.154 +    "\010\000\002\134\006\000\002\134\010\000\002\201\006" +
  42.155      "\000\002\271\004\000\002\271\004\000\002\333\006\000" +
  42.156      "\002\333\010\000\002\334\003\000\002\334\005\000\002" +
  42.157      "\335\003\000\002\335\003\000\002\135\005\000\002\263" +
  42.158 @@ -183,8 +183,8 @@
  42.159      "\340\006\000\002\340\004\000\002\340\003\000\002\340" +
  42.160      "\003\000\002\340\003\000\002\340\003\000\002\342\004" +
  42.161      "\000\002\342\006\000\002\342\007\000\002\073\005\000" +
  42.162 -    "\002\272\006\000\002\343\004\000\002\250\003\000\002" +
  42.163 -    "\250\003\000\002\250\003\000\002\344\007\000\002\345" +
  42.164 +    "\002\272\006\000\002\343\004\000\002\253\003\000\002" +
  42.165 +    "\253\003\000\002\253\003\000\002\344\007\000\002\345" +
  42.166      "\013\000\002\347\002\000\002\347\006\000\002\350\002" +
  42.167      "\000\002\350\011\000\002\346\010\000\002\137\004" });
  42.168  
  42.169 @@ -367,7 +367,7 @@
  42.170      "\000\014\112\165\114\uffe3\121\166\124\uffe3\134\164\001" +
  42.171      "\002\000\006\114\uff91\124\uff91\001\002\000\032\005\213" +
  42.172      "\047\224\050\200\051\227\113\204\116\175\120\217\143" +
  42.173 -    "\215\144\045\145\176\146\231\147\205\001\002\000\012" +
  42.174 +    "\215\144\045\145\177\146\231\147\205\001\002\000\012" +
  42.175      "\007\173\024\174\025\171\144\172\001\002\000\004\144" +
  42.176      "\045\001\002\000\020\015\uff5a\104\uff5a\112\uff5a\114\uff5a" +
  42.177      "\121\uff5a\124\uff5a\134\uff5a\001\002\000\020\015\uff5b\104" +
  42.178 @@ -399,19 +399,19 @@
  42.179      "\131\uff45\132\uff45\133\uff45\134\uff45\135\uff45\136\uff45\137" +
  42.180      "\uff45\001\002\000\026\005\uff2a\047\uff2a\050\uff2a\051\uff2a" +
  42.181      "\113\uff2a\143\uff2a\144\uff2a\145\uff2a\146\uff2a\147\uff2a\001" +
  42.182 +    "\002\000\114\013\uff5f\025\uff5f\042\uff5f\043\uff5f\045\uff5f" +
  42.183 +    "\046\uff5f\050\uff5f\053\uff5f\066\uff5f\070\uff5f\071\uff5f\101" +
  42.184 +    "\uff5f\105\uff5f\107\uff5f\110\uff5f\111\uff5f\112\uff5f\113\uff5f" +
  42.185 +    "\114\uff5f\115\uff5f\116\uff5f\117\uff5f\120\uff5f\121\uff5f\122" +
  42.186 +    "\uff5f\124\uff5f\125\uff5f\126\uff5f\127\uff5f\130\uff5f\131\uff5f" +
  42.187 +    "\132\uff5f\133\uff5f\134\uff5f\135\uff5f\136\uff5f\137\uff5f\001" +
  42.188      "\002\000\104\013\uff43\025\uff43\042\uff43\043\uff43\045\uff43" +
  42.189      "\046\uff43\050\uff43\053\uff43\066\uff43\070\uff43\071\uff43\101" +
  42.190      "\uff43\107\uff43\110\uff43\111\uff43\114\uff43\115\uff43\116\uff43" +
  42.191      "\117\uff43\120\uff43\122\uff43\124\uff43\125\uff43\126\uff43\127" +
  42.192      "\uff43\130\uff43\131\uff43\132\uff43\133\uff43\134\uff43\135\uff43" +
  42.193 -    "\136\uff43\137\uff43\001\002\000\114\013\uff60\025\uff60\042" +
  42.194 -    "\uff60\043\uff60\045\uff60\046\uff60\050\uff60\053\uff60\066\uff60" +
  42.195 -    "\070\uff60\071\uff60\101\uff60\105\uff60\107\uff60\110\uff60\111" +
  42.196 -    "\uff60\112\uff60\113\uff60\114\uff60\115\uff60\116\uff60\117\uff60" +
  42.197 -    "\120\uff60\121\uff60\122\uff60\124\uff60\125\uff60\126\uff60\127" +
  42.198 -    "\uff60\130\uff60\131\uff60\132\uff60\133\uff60\134\uff60\135\uff60" +
  42.199 -    "\136\uff60\137\uff60\001\002\000\022\047\224\051\227\113" +
  42.200 -    "\204\143\215\144\045\145\176\146\231\147\205\001\002" +
  42.201 +    "\136\uff43\137\uff43\001\002\000\022\047\224\051\227\113" +
  42.202 +    "\204\143\215\144\045\145\177\146\231\147\205\001\002" +
  42.203      "\000\104\013\uff0f\025\uff0f\042\uff0f\043\uff0f\045\uff0f\046" +
  42.204      "\uff0f\050\uff0f\053\uff0f\066\uff0f\070\uff0f\071\uff0f\101\uff0f" +
  42.205      "\107\uff0f\110\uff0f\111\uff0f\114\uff0f\115\uff0f\116\uff0f\117" +
  42.206 @@ -428,19 +428,19 @@
  42.207      "\uff61\132\uff61\133\uff61\134\uff61\135\uff61\136\uff61\137\uff61" +
  42.208      "\001\002\000\036\003\251\005\213\047\224\050\200\051" +
  42.209      "\357\054\253\113\204\116\175\120\217\143\215\144\045" +
  42.210 -    "\145\176\146\231\147\205\001\002\000\116\013\ufeb2\025" +
  42.211 +    "\145\177\146\231\147\205\001\002\000\116\013\ufeb2\025" +
  42.212      "\ufeb2\042\ufeb2\043\ufeb2\045\ufeb2\046\ufeb2\050\ufeb2\053\ufeb2" +
  42.213      "\063\ufeb2\066\ufeb2\070\ufeb2\071\ufeb2\101\ufeb2\105\ufeb2\107" +
  42.214      "\ufeb2\110\ufeb2\111\ufeb2\112\ufeb2\113\ufeb2\114\ufeb2\115\ufeb2" +
  42.215      "\116\ufeb2\117\ufeb2\120\ufeb2\121\ufeb2\122\ufeb2\124\ufeb2\125" +
  42.216      "\ufeb2\126\ufeb2\127\ufeb2\130\ufeb2\131\ufeb2\132\ufeb2\133\ufeb2" +
  42.217      "\134\ufeb2\135\ufeb2\136\ufeb2\137\ufeb2\001\002\000\114\013" +
  42.218 -    "\uff5e\025\uff5e\042\uff5e\043\uff5e\045\uff5e\046\uff5e\050\uff5e" +
  42.219 -    "\053\uff5e\066\uff5e\070\uff5e\071\uff5e\101\uff5e\105\uff5e\107" +
  42.220 -    "\uff5e\110\uff5e\111\uff5e\112\uff5e\113\uff5e\114\uff5e\115\uff5e" +
  42.221 -    "\116\uff5e\117\uff5e\120\uff5e\121\uff5e\122\uff5e\124\uff5e\125" +
  42.222 -    "\uff5e\126\uff5e\127\uff5e\130\uff5e\131\uff5e\132\uff5e\133\uff5e" +
  42.223 -    "\134\uff5e\135\uff5e\136\uff5e\137\uff5e\001\002\000\014\013" +
  42.224 +    "\uff5d\025\uff5d\042\uff5d\043\uff5d\045\uff5d\046\uff5d\050\uff5d" +
  42.225 +    "\053\uff5d\066\uff5d\070\uff5d\071\uff5d\101\uff5d\105\uff5d\107" +
  42.226 +    "\uff5d\110\uff5d\111\uff5d\112\uff5d\113\uff5d\114\uff5d\115\uff5d" +
  42.227 +    "\116\uff5d\117\uff5d\120\uff5d\121\uff5d\122\uff5d\124\uff5d\125" +
  42.228 +    "\uff5d\126\uff5d\127\uff5d\130\uff5d\131\uff5d\132\uff5d\133\uff5d" +
  42.229 +    "\134\uff5d\135\uff5d\136\uff5d\137\uff5d\001\002\000\014\013" +
  42.230      "\321\053\324\110\322\114\uffe2\124\uffe2\001\002\000\104" +
  42.231      "\013\uff0c\025\uff0c\042\uff0c\043\uff0c\045\uff0c\046\uff0c\050" +
  42.232      "\uff0c\053\uff0c\066\uff0c\070\uff0c\071\uff0c\101\uff0c\107\uff0c" +
  42.233 @@ -458,7 +458,7 @@
  42.234      "\uff19\115\302\116\uff19\117\uff19\120\uff19\122\305\124\uff19" +
  42.235      "\125\uff19\126\uff19\127\uff19\130\uff19\131\uff19\132\uff19\134" +
  42.236      "\uff19\135\uff19\136\uff19\137\uff19\001\002\000\022\047\224" +
  42.237 -    "\051\227\113\204\143\215\144\045\145\176\146\231\147" +
  42.238 +    "\051\227\113\204\143\215\144\045\145\177\146\231\147" +
  42.239      "\205\001\002\000\070\013\uff1e\025\uff1e\042\261\043\uff1e" +
  42.240      "\045\uff1e\050\273\053\uff1e\066\uff1e\071\uff1e\101\uff1e\107" +
  42.241      "\uff1e\110\uff1e\111\274\114\uff1e\116\267\117\uff1e\120\260" +
  42.242 @@ -482,32 +482,32 @@
  42.243      "\uff15\110\uff15\111\uff15\114\uff15\115\uff15\116\uff15\117\uff15" +
  42.244      "\120\uff15\122\uff15\124\uff15\125\uff15\126\uff15\127\uff15\130" +
  42.245      "\uff15\131\uff15\132\uff15\133\352\134\uff15\135\uff15\136\uff15" +
  42.246 -    "\137\uff15\001\002\000\104\013\uff11\025\uff11\042\uff11\043" +
  42.247 +    "\137\uff15\001\002\000\114\013\uff60\025\uff60\042\uff60\043" +
  42.248 +    "\uff60\045\uff60\046\uff60\050\uff60\053\uff60\066\uff60\070\uff60" +
  42.249 +    "\071\uff60\101\uff60\105\uff60\107\uff60\110\uff60\111\uff60\112" +
  42.250 +    "\uff60\113\uff60\114\uff60\115\uff60\116\uff60\117\uff60\120\uff60" +
  42.251 +    "\121\uff60\122\uff60\124\uff60\125\uff60\126\uff60\127\uff60\130" +
  42.252 +    "\uff60\131\uff60\132\uff60\133\uff60\134\uff60\135\uff60\136\uff60" +
  42.253 +    "\137\uff60\001\002\000\104\013\uff11\025\uff11\042\uff11\043" +
  42.254      "\uff11\045\uff11\046\uff11\050\uff11\053\uff11\066\uff11\070\uff11" +
  42.255      "\071\uff11\101\uff11\107\uff11\110\uff11\111\uff11\114\uff11\115" +
  42.256      "\uff11\116\uff11\117\uff11\120\uff11\122\uff11\124\uff11\125\uff11" +
  42.257      "\126\uff11\127\uff11\130\uff11\131\uff11\132\uff11\133\uff11\134" +
  42.258 -    "\uff11\135\uff11\136\uff11\137\uff11\001\002\000\114\013\uff5d" +
  42.259 -    "\025\uff5d\042\uff5d\043\uff5d\045\uff5d\046\uff5d\050\uff5d\053" +
  42.260 -    "\uff5d\066\uff5d\070\uff5d\071\uff5d\101\uff5d\105\uff5d\107\uff5d" +
  42.261 -    "\110\uff5d\111\uff5d\112\uff5d\113\uff5d\114\uff5d\115\uff5d\116" +
  42.262 -    "\uff5d\117\uff5d\120\uff5d\121\uff5d\122\uff5d\124\uff5d\125\uff5d" +
  42.263 -    "\126\uff5d\127\uff5d\130\uff5d\131\uff5d\132\uff5d\133\uff5d\134" +
  42.264 -    "\uff5d\135\uff5d\136\uff5d\137\uff5d\001\002\000\026\005\213" +
  42.265 +    "\uff11\135\uff11\136\uff11\137\uff11\001\002\000\026\005\213" +
  42.266      "\047\224\050\200\051\227\113\204\143\215\144\045\145" +
  42.267 -    "\176\146\231\147\205\001\002\000\006\144\045\147\205" +
  42.268 -    "\001\002\000\114\013\uff5f\025\uff5f\042\uff5f\043\uff5f\045" +
  42.269 -    "\uff5f\046\uff5f\050\uff5f\053\uff5f\066\uff5f\070\uff5f\071\uff5f" +
  42.270 -    "\101\uff5f\105\uff5f\107\uff5f\110\uff5f\111\uff5f\112\uff5f\113" +
  42.271 -    "\uff5f\114\uff5f\115\uff5f\116\uff5f\117\uff5f\120\uff5f\121\uff5f" +
  42.272 -    "\122\uff5f\124\uff5f\125\uff5f\126\uff5f\127\uff5f\130\uff5f\131" +
  42.273 -    "\uff5f\132\uff5f\133\uff5f\134\uff5f\135\uff5f\136\uff5f\137\uff5f" +
  42.274 +    "\177\146\231\147\205\001\002\000\006\144\045\147\205" +
  42.275      "\001\002\000\104\013\uff0e\025\uff0e\042\uff0e\043\uff0e\045" +
  42.276      "\uff0e\046\uff0e\050\uff0e\053\uff0e\066\uff0e\070\uff0e\071\uff0e" +
  42.277      "\101\uff0e\107\uff0e\110\uff0e\111\uff0e\114\uff0e\115\uff0e\116" +
  42.278      "\uff0e\117\uff0e\120\uff0e\122\uff0e\124\uff0e\125\uff0e\126\uff0e" +
  42.279      "\127\uff0e\130\uff0e\131\uff0e\132\uff0e\133\uff0e\134\uff0e\135" +
  42.280 -    "\uff0e\136\uff0e\137\uff0e\001\002\000\104\013\uff40\025\uff40" +
  42.281 +    "\uff0e\136\uff0e\137\uff0e\001\002\000\114\013\uff5e\025\uff5e" +
  42.282 +    "\042\uff5e\043\uff5e\045\uff5e\046\uff5e\050\uff5e\053\uff5e\066" +
  42.283 +    "\uff5e\070\uff5e\071\uff5e\101\uff5e\105\uff5e\107\uff5e\110\uff5e" +
  42.284 +    "\111\uff5e\112\uff5e\113\uff5e\114\uff5e\115\uff5e\116\uff5e\117" +
  42.285 +    "\uff5e\120\uff5e\121\uff5e\122\uff5e\124\uff5e\125\uff5e\126\uff5e" +
  42.286 +    "\127\uff5e\130\uff5e\131\uff5e\132\uff5e\133\uff5e\134\uff5e\135" +
  42.287 +    "\uff5e\136\uff5e\137\uff5e\001\002\000\104\013\uff40\025\uff40" +
  42.288      "\042\uff40\043\uff40\045\uff40\046\uff40\050\uff40\053\uff40\066" +
  42.289      "\uff40\070\uff40\071\uff40\101\uff40\107\uff40\110\uff40\111\uff40" +
  42.290      "\114\uff40\115\uff40\116\uff40\117\uff40\120\uff40\122\uff40\124" +
  42.291 @@ -531,7 +531,7 @@
  42.292      "\127\uff10\130\uff10\131\uff10\132\uff10\133\uff10\134\uff10\135" +
  42.293      "\uff10\136\uff10\137\uff10\001\002\000\036\003\251\005\213" +
  42.294      "\047\224\050\200\051\227\054\253\113\204\116\175\120" +
  42.295 -    "\217\143\215\144\045\145\176\146\231\147\205\001\002" +
  42.296 +    "\217\143\215\144\045\145\177\146\231\147\205\001\002" +
  42.297      "\000\014\007\173\024\174\025\171\113\204\144\172\001" +
  42.298      "\002\000\012\012\236\143\215\144\045\147\205\001\002" +
  42.299      "\000\114\013\uff49\025\uff49\042\uff49\043\uff49\045\uff49\046" +
  42.300 @@ -592,22 +592,22 @@
  42.301      "\002\000\032\005\uff2d\047\uff2d\050\uff2d\051\uff2d\113\uff2d" +
  42.302      "\116\uff2d\120\uff2d\143\uff2d\144\uff2d\145\uff2d\146\uff2d\147" +
  42.303      "\uff2d\001\002\000\032\005\213\047\224\050\200\051\227" +
  42.304 -    "\113\204\116\175\120\217\143\215\144\045\145\176\146" +
  42.305 +    "\113\204\116\175\120\217\143\215\144\045\145\177\146" +
  42.306      "\231\147\205\001\002\000\032\005\uff31\047\uff31\050\uff31" +
  42.307      "\051\uff31\113\uff31\116\uff31\120\uff31\143\uff31\144\uff31\145" +
  42.308      "\uff31\146\uff31\147\uff31\001\002\000\032\005\213\047\224" +
  42.309      "\050\200\051\227\113\204\116\175\120\217\143\215\144" +
  42.310 -    "\045\145\176\146\231\147\205\001\002\000\032\005\uff32" +
  42.311 +    "\045\145\177\146\231\147\205\001\002\000\032\005\uff32" +
  42.312      "\047\uff32\050\uff32\051\uff32\113\uff32\116\uff32\120\uff32\143" +
  42.313      "\uff32\144\uff32\145\uff32\146\uff32\147\uff32\001\002\000\026" +
  42.314      "\005\uff28\047\uff28\050\uff28\051\uff28\113\uff28\143\uff28\144" +
  42.315      "\uff28\145\uff28\146\uff28\147\uff28\001\002\000\026\005\213" +
  42.316      "\047\224\050\200\051\227\113\204\143\215\144\045\145" +
  42.317 -    "\176\146\231\147\205\001\002\000\032\005\uff30\047\uff30" +
  42.318 +    "\177\146\231\147\205\001\002\000\032\005\uff30\047\uff30" +
  42.319      "\050\uff30\051\uff30\113\uff30\116\uff30\120\uff30\143\uff30\144" +
  42.320      "\uff30\145\uff30\146\uff30\147\uff30\001\002\000\032\005\213" +
  42.321      "\047\224\050\200\051\227\113\204\116\175\120\217\143" +
  42.322 -    "\215\144\045\145\176\146\231\147\205\001\002\000\004" +
  42.323 +    "\215\144\045\145\177\146\231\147\205\001\002\000\004" +
  42.324      "\042\277\001\002\000\026\005\uff26\047\uff26\050\uff26\051" +
  42.325      "\uff26\113\uff26\143\uff26\144\uff26\145\uff26\146\uff26\147\uff26" +
  42.326      "\001\002\000\032\005\uff2f\047\uff2f\050\uff2f\051\uff2f\113" +
  42.327 @@ -630,7 +630,7 @@
  42.328      "\026\005\uff23\047\uff23\050\uff23\051\uff23\113\uff23\143\uff23" +
  42.329      "\144\uff23\145\uff23\146\uff23\147\uff23\001\002\000\026\005" +
  42.330      "\213\047\224\050\200\051\227\113\204\143\215\144\045" +
  42.331 -    "\145\176\146\231\147\205\001\002\000\026\005\uff24\047" +
  42.332 +    "\145\177\146\231\147\205\001\002\000\026\005\uff24\047" +
  42.333      "\uff24\050\uff24\051\uff24\113\uff24\143\uff24\144\uff24\145\uff24" +
  42.334      "\146\uff24\147\uff24\001\002\000\026\005\uff22\047\uff22\050" +
  42.335      "\uff22\051\uff22\113\uff22\143\uff22\144\uff22\145\uff22\146\uff22" +
  42.336 @@ -653,10 +653,10 @@
  42.337      "\066\uffc5\071\uffc5\101\uffc5\107\uffc5\110\uffc5\113\315\114" +
  42.338      "\uffc5\117\uffc5\124\uffc5\130\uffc5\131\uffc5\134\uffc5\001\002" +
  42.339      "\000\032\005\213\047\224\050\200\051\227\113\204\116" +
  42.340 -    "\175\120\217\143\215\144\045\145\176\146\231\147\205" +
  42.341 +    "\175\120\217\143\215\144\045\145\177\146\231\147\205" +
  42.342      "\001\002\000\012\013\321\053\324\110\322\114\320\001" +
  42.343      "\002\000\032\005\213\047\224\050\200\051\227\113\204" +
  42.344 -    "\116\175\120\217\143\215\144\045\145\176\146\231\147" +
  42.345 +    "\116\175\120\217\143\215\144\045\145\177\146\231\147" +
  42.346      "\205\001\002\000\042\013\uffc4\025\uffc4\043\uffc4\045\uffc4" +
  42.347      "\053\uffc4\066\uffc4\071\uffc4\101\uffc4\107\uffc4\110\uffc4\114" +
  42.348      "\uffc4\117\uffc4\124\uffc4\130\uffc4\131\uffc4\134\uffc4\001\002" +
  42.349 @@ -666,7 +666,7 @@
  42.350      "\uff35\113\uff35\116\uff35\120\uff35\143\uff35\144\uff35\145\uff35" +
  42.351      "\146\uff35\147\uff35\001\002\000\032\005\213\047\224\050" +
  42.352      "\200\051\227\113\204\116\175\120\217\143\215\144\045" +
  42.353 -    "\145\176\146\231\147\205\001\002\000\034\005\uff36\027" +
  42.354 +    "\145\177\146\231\147\205\001\002\000\034\005\uff36\027" +
  42.355      "\325\047\uff36\050\uff36\051\uff36\113\uff36\116\uff36\120\uff36" +
  42.356      "\143\uff36\144\uff36\145\uff36\146\uff36\147\uff36\001\002\000" +
  42.357      "\032\005\uff33\047\uff33\050\uff33\051\uff33\113\uff33\116\uff33" +
  42.358 @@ -683,7 +683,7 @@
  42.359      "\101\uff1d\107\uff1d\110\uff1d\111\274\114\uff1d\116\267\117" +
  42.360      "\uff1d\120\260\124\uff1d\130\uff1d\131\uff1d\134\uff1d\001\002" +
  42.361      "\000\036\003\251\005\213\047\224\050\200\051\227\054" +
  42.362 -    "\253\113\204\116\175\120\217\143\215\144\045\145\176" +
  42.363 +    "\253\113\204\116\175\120\217\143\215\144\045\145\177" +
  42.364      "\146\231\147\205\001\002\000\114\013\uff53\025\uff53\042" +
  42.365      "\uff53\043\uff53\045\uff53\046\uff53\050\uff53\053\uff53\066\uff53" +
  42.366      "\070\uff53\071\uff53\101\uff53\105\uff53\107\uff53\110\uff53\111" +
  42.367 @@ -692,16 +692,16 @@
  42.368      "\uff53\130\uff53\131\uff53\132\uff53\133\uff53\134\uff53\135\uff53" +
  42.369      "\136\uff53\137\uff53\001\002\000\006\114\uff51\117\uff51\001" +
  42.370      "\002\000\032\005\213\047\224\050\200\051\227\113\204" +
  42.371 -    "\116\175\120\217\143\215\144\045\145\176\146\231\147" +
  42.372 +    "\116\175\120\217\143\215\144\045\145\177\146\231\147" +
  42.373      "\205\001\002\000\012\114\uff84\117\uff84\130\uff84\131\uff84" +
  42.374      "\001\002\000\024\045\uffc7\071\uffc7\107\uffc7\114\uffc7\117" +
  42.375      "\uffc7\124\uffc7\130\uffc7\131\uffc7\134\uffc7\001\002\000\032" +
  42.376      "\046\uff10\070\uff10\111\uff10\112\313\113\233\115\uff10\116" +
  42.377      "\uff10\120\uff10\121\235\122\uff10\132\uff10\133\uff10\001\002" +
  42.378      "\000\034\005\213\047\224\050\200\051\227\054\253\113" +
  42.379 -    "\204\116\175\120\217\143\215\144\045\145\176\146\231" +
  42.380 +    "\204\116\175\120\217\143\215\144\045\145\177\146\231" +
  42.381      "\147\205\001\002\000\032\005\213\047\224\050\200\051" +
  42.382 -    "\227\113\204\116\175\120\217\143\215\144\045\145\176" +
  42.383 +    "\227\113\204\116\175\120\217\143\215\144\045\145\177" +
  42.384      "\146\231\147\205\001\002\000\014\013\321\053\324\110" +
  42.385      "\322\114\uff38\117\uff38\001\002\000\006\130\uff86\131\uff86" +
  42.386      "\001\002\000\006\130\uff88\131\uff88\001\002\000\014\013" +
  42.387 @@ -723,7 +723,7 @@
  42.388      "\117\uff1a\120\uff1a\122\305\124\uff1a\125\uff1a\126\uff1a\127" +
  42.389      "\uff1a\130\uff1a\131\uff1a\132\uff1a\134\uff1a\135\uff1a\136\uff1a" +
  42.390      "\137\uff1a\001\002\000\022\047\224\051\227\113\204\143" +
  42.391 -    "\215\144\045\145\176\146\231\147\205\001\002\000\102" +
  42.392 +    "\215\144\045\145\177\146\231\147\205\001\002\000\102" +
  42.393      "\013\uff12\025\uff12\042\uff12\043\uff12\045\uff12\046\uff12\050" +
  42.394      "\uff12\053\uff12\066\uff12\070\uff12\071\uff12\101\uff12\107\uff12" +
  42.395      "\110\uff12\111\uff12\114\uff12\115\uff12\116\uff12\117\uff12\120" +
  42.396 @@ -743,7 +743,7 @@
  42.397      "\133\uff40\135\uff40\136\uff40\137\uff40\001\002\000\006\114" +
  42.398      "\364\117\uff4f\001\002\000\004\117\362\001\002\000\036" +
  42.399      "\003\251\005\213\047\224\050\200\051\227\054\253\113" +
  42.400 -    "\204\116\175\120\217\143\215\144\045\145\176\146\231" +
  42.401 +    "\204\116\175\120\217\143\215\144\045\145\177\146\231" +
  42.402      "\147\205\001\002\000\006\114\uff3a\117\uff3a\001\002\000" +
  42.403      "\104\013\uff3f\025\uff3f\042\uff3f\043\uff3f\045\uff3f\046\uff3f" +
  42.404      "\050\uff3f\053\uff3f\066\uff3f\070\uff3f\071\uff3f\101\uff3f\107" +
  42.405 @@ -763,7 +763,7 @@
  42.406      "\127\uff0b\130\uff0b\131\uff0b\132\uff0b\133\uff0b\134\uff0b\135" +
  42.407      "\uff0b\136\uff0b\137\uff0b\001\002\000\036\003\251\005\213" +
  42.408      "\047\224\050\200\051\371\054\253\113\204\116\175\120" +
  42.409 -    "\217\143\215\144\045\145\176\146\231\147\205\001\002" +
  42.410 +    "\217\143\215\144\045\145\177\146\231\147\205\001\002" +
  42.411      "\000\064\013\uff40\042\uff40\046\uff40\050\uff40\053\uff40\067" +
  42.412      "\374\070\uff40\110\uff40\111\uff40\114\uff40\115\uff40\116\uff40" +
  42.413      "\117\uff40\120\uff40\122\uff40\125\uff40\126\uff40\127\uff40\130" +
  42.414 @@ -781,7 +781,7 @@
  42.415      "\124\uff3c\125\uff3c\126\uff3c\127\uff3c\130\uff3c\131\uff3c\132" +
  42.416      "\uff3c\133\uff3c\134\uff3c\135\uff3c\136\uff3c\137\uff3c\001\002" +
  42.417      "\000\036\003\251\005\213\047\224\050\200\051\227\054" +
  42.418 -    "\253\113\204\116\175\120\217\143\215\144\045\145\176" +
  42.419 +    "\253\113\204\116\175\120\217\143\215\144\045\145\177" +
  42.420      "\146\231\147\205\001\002\000\104\013\uff3e\025\uff3e\042" +
  42.421      "\uff3e\043\uff3e\045\uff3e\046\uff3e\050\uff3e\053\uff3e\066\uff3e" +
  42.422      "\070\uff3e\071\uff3e\101\uff3e\107\uff3e\110\uff3e\111\uff3e\114" +
  42.423 @@ -826,7 +826,7 @@
  42.424      "\335\071\uffd0\107\uffd0\112\u0122\113\233\121\235\124\uffd0" +
  42.425      "\134\uffd0\001\002\000\006\124\uffb0\134\uffb0\001\002\000" +
  42.426      "\032\005\213\047\224\050\200\051\227\113\204\116\175" +
  42.427 -    "\120\217\143\215\144\045\145\176\146\231\147\205\001" +
  42.428 +    "\120\217\143\215\144\045\145\177\146\231\147\205\001" +
  42.429      "\002\000\012\071\uffce\107\uffce\124\uffce\134\uffce\001\002" +
  42.430      "\000\012\071\uffcf\107\uffcf\124\uffcf\134\uffcf\001\002\000" +
  42.431      "\012\071\uffd1\107\uffd1\124\uffd1\134\uffd1\001\002\000\012" +
  42.432 @@ -838,7 +838,7 @@
  42.433      "\ufebe\001\002\000\004\124\u0143\001\002\000\016\026\ufebd" +
  42.434      "\043\ufebd\063\ufebd\071\ufebd\105\ufebd\124\ufebd\001\002\000" +
  42.435      "\034\003\u012f\005\213\047\224\050\200\051\227\113\204" +
  42.436 -    "\116\175\120\217\143\215\144\u0131\145\176\146\231\147" +
  42.437 +    "\116\175\120\217\143\215\144\u0131\145\177\146\231\147" +
  42.438      "\205\001\002\000\006\114\u0141\124\u0140\001\002\000\006" +
  42.439      "\114\ufebb\124\ufebb\001\002\000\006\117\155\123\u0138\001" +
  42.440      "\002\000\010\045\uffa6\114\uffa6\117\uffa6\001\002\000\042" +
  42.441 @@ -925,7 +925,7 @@
  42.442      "\063\ufef6\065\ufef6\072\ufef6\073\ufef6\101\ufef6\105\ufef6\106" +
  42.443      "\ufef6\140\ufef6\144\ufef6\147\ufef6\001\002\000\032\005\213" +
  42.444      "\047\224\050\200\051\227\113\204\116\175\120\217\143" +
  42.445 -    "\215\144\045\145\176\146\231\147\205\001\002\000\074" +
  42.446 +    "\215\144\045\145\177\146\231\147\205\001\002\000\074" +
  42.447      "\003\ufef7\004\ufef7\010\ufef7\016\ufef7\021\ufef7\022\ufef7\023" +
  42.448      "\ufef7\027\ufef7\030\ufef7\031\ufef7\033\ufef7\034\ufef7\035\ufef7" +
  42.449      "\040\ufef7\041\ufef7\045\ufef7\051\ufef7\053\ufef7\057\ufef7\063" +
  42.450 @@ -978,7 +978,7 @@
  42.451      "\u0185\100\u01fa\105\u01fb\144\045\147\205\001\002\000\012" +
  42.452      "\105\ufecd\124\ufecd\144\045\147\205\001\002\000\032\005" +
  42.453      "\213\047\224\050\200\051\227\113\204\116\175\120\217" +
  42.454 -    "\143\215\144\045\145\176\146\231\147\205\001\002\000" +
  42.455 +    "\143\215\144\045\145\177\146\231\147\205\001\002\000" +
  42.456      "\074\003\ufef3\004\ufef3\010\ufef3\016\ufef3\021\ufef3\022\ufef3" +
  42.457      "\023\ufef3\027\ufef3\030\ufef3\031\ufef3\033\ufef3\034\ufef3\035" +
  42.458      "\ufef3\040\ufef3\041\ufef3\045\ufef3\051\ufef3\053\ufef3\057\ufef3" +
  42.459 @@ -995,7 +995,7 @@
  42.460      "\073\ufef2\101\ufef2\105\ufef2\106\ufef2\140\ufef2\144\ufef2\147" +
  42.461      "\ufef2\001\002\000\006\026\u01dc\124\u01dd\001\002\000\034" +
  42.462      "\005\213\047\224\050\200\051\227\113\204\116\175\120" +
  42.463 -    "\217\124\u01d9\143\215\144\045\145\176\146\231\147\205" +
  42.464 +    "\217\124\u01d9\143\215\144\045\145\177\146\231\147\205" +
  42.465      "\001\002\000\006\144\045\147\205\001\002\000\004\124" +
  42.466      "\u01d3\001\002\000\062\003\u017e\004\u017d\010\u0183\016\ufee0" +
  42.467      "\021\u0169\022\ufee0\023\u0185\031\ufed0\033\u01c1\034\u0176\035" +
  42.468 @@ -1014,7 +1014,7 @@
  42.469      "\ufe62\001\002\000\004\144\045\001\002\000\006\144\045" +
  42.470      "\147\205\001\002\000\034\005\213\047\224\050\200\051" +
  42.471      "\227\103\u01b3\113\204\116\175\120\217\143\215\144\045" +
  42.472 -    "\145\176\146\231\147\205\001\002\000\074\003\ufef1\004" +
  42.473 +    "\145\177\146\231\147\205\001\002\000\074\003\ufef1\004" +
  42.474      "\ufef1\010\ufef1\016\ufef1\021\ufef1\022\ufef1\023\ufef1\027\ufef1" +
  42.475      "\030\ufef1\031\ufef1\033\ufef1\034\ufef1\035\ufef1\040\ufef1\041" +
  42.476      "\ufef1\045\ufef1\051\ufef1\053\ufef1\057\ufef1\063\ufef1\065\ufef1" +
  42.477 @@ -1070,7 +1070,7 @@
  42.478      "\ufeda\116\ufeda\120\ufeda\143\ufeda\144\ufeda\145\ufeda\146\ufeda" +
  42.479      "\147\ufeda\001\002\000\004\045\u019f\001\002\000\032\005" +
  42.480      "\213\047\224\050\200\051\227\113\204\116\175\120\217" +
  42.481 -    "\143\215\144\045\145\176\146\231\147\205\001\002\000" +
  42.482 +    "\143\215\144\045\145\177\146\231\147\205\001\002\000" +
  42.483      "\022\013\321\043\ufee8\045\ufee8\053\324\101\ufee8\110\322" +
  42.484      "\124\ufee8\131\ufee8\001\002\000\004\045\ufedd\001\002\000" +
  42.485      "\010\124\ufed7\144\045\147\205\001\002\000\056\003\u017e" +
  42.486 @@ -1094,7 +1094,7 @@
  42.487      "\ufee1\072\ufee1\073\ufee1\101\ufee1\105\ufee1\106\ufee1\140\ufee1" +
  42.488      "\144\ufee1\147\ufee1\001\002\000\032\005\213\047\224\050" +
  42.489      "\200\051\227\113\204\116\175\120\217\143\215\144\045" +
  42.490 -    "\145\176\146\231\147\205\001\002\000\032\005\ufed9\047" +
  42.491 +    "\145\177\146\231\147\205\001\002\000\032\005\ufed9\047" +
  42.492      "\ufed9\050\ufed9\051\ufed9\113\ufed9\116\ufed9\120\ufed9\143\ufed9" +
  42.493      "\144\ufed9\145\ufed9\146\ufed9\147\ufed9\001\002\000\004\045" +
  42.494      "\ufedc\001\002\000\004\042\u01aa\001\002\000\034\005\ufedb" +
  42.495 @@ -1113,7 +1113,7 @@
  42.496      "\072\ufeee\073\ufeee\106\ufeee\140\ufeee\144\ufeee\147\ufeee\001" +
  42.497      "\002\000\012\013\321\053\324\110\322\124\u01b6\001\002" +
  42.498      "\000\032\005\213\047\224\050\200\051\227\113\204\116" +
  42.499 -    "\175\120\217\143\215\144\045\145\176\146\231\147\205" +
  42.500 +    "\175\120\217\143\215\144\045\145\177\146\231\147\205" +
  42.501      "\001\002\000\012\013\321\053\324\110\322\124\u01b5\001" +
  42.502      "\002\000\074\003\ufe66\004\ufe66\010\ufe66\016\ufe66\021\ufe66" +
  42.503      "\022\ufe66\023\ufe66\027\ufe66\030\ufe66\031\ufe66\033\ufe66\034" +
  42.504 @@ -1134,7 +1134,7 @@
  42.505      "\002\000\010\026\ufe69\113\ufe69\124\ufe69\001\002\000\006" +
  42.506      "\026\ufe6a\124\ufe6a\001\002\000\034\003\u012f\005\213\047" +
  42.507      "\224\050\200\051\227\113\204\116\175\120\217\143\215" +
  42.508 -    "\144\u0131\145\176\146\231\147\205\001\002\000\012\013" +
  42.509 +    "\144\u0131\145\177\146\231\147\205\001\002\000\012\013" +
  42.510      "\321\053\324\110\322\114\u01be\001\002\000\010\026\ufe68" +
  42.511      "\113\ufe68\124\ufe68\001\002\000\074\003\ufeed\004\ufeed\010" +
  42.512      "\ufeed\016\ufeed\021\ufeed\022\ufeed\023\ufeed\027\ufeed\030\ufeed" +
  42.513 @@ -1219,7 +1219,7 @@
  42.514      "\040\u0184\041\u0177\045\ufee0\051\u0180\057\004\063\u017c\065" +
  42.515      "\u018f\072\u0164\073\u0175\106\ufee0\140\u0187\144\u0190\147\205" +
  42.516      "\001\002\000\032\005\213\047\224\050\200\051\227\113" +
  42.517 -    "\204\116\175\120\217\143\215\144\045\145\176\146\231" +
  42.518 +    "\204\116\175\120\217\143\215\144\045\145\177\146\231" +
  42.519      "\147\205\001\002\000\004\031\u01e9\001\002\000\004\041" +
  42.520      "\u01ea\001\002\000\004\124\u01eb\001\002\000\074\003\ufeeb" +
  42.521      "\004\ufeeb\010\ufeeb\016\ufeeb\021\ufeeb\022\ufeeb\023\ufeeb\027" +
  42.522 @@ -1241,7 +1241,7 @@
  42.523      "\140\u0187\144\u0190\147\205\001\002\000\006\105\u01f2\124" +
  42.524      "\ufecb\001\002\000\004\124\u01f4\001\002\000\032\005\213" +
  42.525      "\047\224\050\200\051\227\113\204\116\175\120\217\143" +
  42.526 -    "\215\144\045\145\176\146\231\147\205\001\002\000\004" +
  42.527 +    "\215\144\045\145\177\146\231\147\205\001\002\000\004" +
  42.528      "\124\ufeca\001\002\000\074\003\ufece\004\ufece\010\ufece\016" +
  42.529      "\ufece\021\ufece\022\ufece\023\ufece\027\ufece\030\ufece\031\ufece" +
  42.530      "\033\ufece\034\ufece\035\ufece\040\ufece\041\ufece\045\ufece\051" +
  42.531 @@ -1263,7 +1263,7 @@
  42.532      "\101\ufe6d\106\ufe6d\140\ufe6d\144\ufe6d\147\ufe6d\001\002\000" +
  42.533      "\004\124\u020e\001\002\000\032\005\213\047\224\050\200" +
  42.534      "\051\227\113\204\116\175\120\217\143\215\144\045\145" +
  42.535 -    "\176\146\231\147\205\001\002\000\064\003\u017e\004\u017d" +
  42.536 +    "\177\146\231\147\205\001\002\000\064\003\u017e\004\u017d" +
  42.537      "\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\027\ufe54\031" +
  42.538      "\ufe54\034\u0176\035\ufee0\040\u0184\041\u0177\045\ufee0\051\u0180" +
  42.539      "\053\ufe54\057\004\063\u017c\065\u018f\072\u0164\073\u0175\106" +
  42.540 @@ -1336,7 +1336,7 @@
  42.541      "\ufe55\140\ufe55\144\ufe55\147\ufe55\001\002\000\012\027\ufe5b" +
  42.542      "\031\ufe5b\053\ufe5b\101\ufe59\001\002\000\032\005\213\047" +
  42.543      "\224\050\200\051\227\113\204\116\175\120\217\143\215" +
  42.544 -    "\144\045\145\176\146\231\147\205\001\002\000\012\013" +
  42.545 +    "\144\045\145\177\146\231\147\205\001\002\000\012\013" +
  42.546      "\321\053\324\110\322\124\u0224\001\002\000\074\003\ufeec" +
  42.547      "\004\ufeec\010\ufeec\016\ufeec\021\ufeec\022\ufeec\023\ufeec\027" +
  42.548      "\ufeec\030\ufeec\031\ufeec\033\ufeec\034\ufeec\035\ufeec\040\ufeec" +
  42.549 @@ -1347,7 +1347,7 @@
  42.550      "\001\002\000\010\031\ufee4\057\004\105\ufee4\001\002\000" +
  42.551      "\006\031\u022b\105\u022a\001\002\000\006\031\ufee3\105\ufee3" +
  42.552      "\001\002\000\034\005\213\047\224\050\200\051\227\054" +
  42.553 -    "\253\113\204\116\175\120\217\143\215\144\045\145\176" +
  42.554 +    "\253\113\204\116\175\120\217\143\215\144\045\145\177" +
  42.555      "\146\231\147\205\001\002\000\004\021\u022c\001\002\000" +
  42.556      "\004\124\u022d\001\002\000\074\003\ufee5\004\ufee5\010\ufee5" +
  42.557      "\016\ufee5\021\ufee5\022\ufee5\023\ufee5\027\ufee5\030\ufee5\031" +
  42.558 @@ -1382,10 +1382,10 @@
  42.559      "\ufebe\113\u0239\001\002\000\004\105\u0248\001\002\000\010" +
  42.560      "\003\u012f\035\u0198\144\126\001\002\000\032\005\213\047" +
  42.561      "\224\050\200\051\227\113\204\116\175\120\217\143\215" +
  42.562 -    "\144\045\145\176\146\231\147\205\001\002\000\004\114" +
  42.563 +    "\144\045\145\177\146\231\147\205\001\002\000\004\114" +
  42.564      "\u023c\001\002\000\006\105\ufebe\113\u0134\001\002\000\004" +
  42.565      "\105\u023e\001\002\000\032\005\213\047\224\050\200\051" +
  42.566 -    "\227\113\204\116\175\120\217\143\215\144\045\145\176" +
  42.567 +    "\227\113\204\116\175\120\217\143\215\144\045\145\177" +
  42.568      "\146\231\147\205\001\002\000\006\043\u0241\124\u0240\001" +
  42.569      "\002\000\014\031\ufe71\032\ufe71\036\ufe71\057\ufe71\061\ufe71" +
  42.570      "\001\002\000\036\003\105\016\uff7b\035\070\036\027\037" +
  42.571 @@ -1396,7 +1396,7 @@
  42.572      "\045\147\205\001\002\000\004\124\u0247\001\002\000\014" +
  42.573      "\031\ufe70\032\ufe70\036\ufe70\057\ufe70\061\ufe70\001\002\000" +
  42.574      "\032\005\213\047\224\050\200\051\227\113\204\116\175" +
  42.575 -    "\120\217\143\215\144\045\145\176\146\231\147\205\001" +
  42.576 +    "\120\217\143\215\144\045\145\177\146\231\147\205\001" +
  42.577      "\002\000\006\043\u0241\124\u0240\001\002\000\014\031\ufe73" +
  42.578      "\032\ufe73\036\ufe73\057\ufe73\061\ufe73\001\002\000\042\003" +
  42.579      "\ufe36\016\ufe36\031\ufe36\035\ufe36\036\ufe36\037\ufe36\056\ufe36" +
  42.580 @@ -1440,7 +1440,7 @@
  42.581      "\u0275\044\uffa0\046\u0267\047\u027a\051\uffa0\060\uffa0\066\335" +
  42.582      "\067\uffa0\076\u026a\113\u026f\001\002\000\032\005\213\047" +
  42.583      "\224\050\200\051\227\113\204\116\175\120\217\143\215" +
  42.584 -    "\144\045\145\176\146\231\147\205\001\002\000\004\124" +
  42.585 +    "\144\045\145\177\146\231\147\205\001\002\000\004\124" +
  42.586      "\uffda\001\002\000\012\044\u02dd\051\ufea4\060\ufea4\067\ufea4" +
  42.587      "\001\002\000\012\044\uff9f\051\uff9f\060\uff9f\067\uff9f\001" +
  42.588      "\002\000\020\012\u02d2\020\u02d0\036\uff7d\061\uff7d\062\u02d3" +
  42.589 @@ -1449,17 +1449,17 @@
  42.590      "\143\u02c9\144\u02ca\001\002\000\004\124\uffd6\001\002\000" +
  42.591      "\004\124\uffb9\001\002\000\004\124\uffd9\001\002\000\004" +
  42.592      "\124\uffd3\001\002\000\032\005\213\047\224\050\200\051" +
  42.593 -    "\227\113\204\116\175\120\217\143\215\144\045\145\176" +
  42.594 +    "\227\113\204\116\175\120\217\143\215\144\045\145\177" +
  42.595      "\146\231\147\205\001\002\000\032\005\213\047\224\050" +
  42.596      "\200\051\227\113\204\116\175\120\217\143\215\144\045" +
  42.597 -    "\145\176\146\231\147\205\001\002\000\004\124\uffd8\001" +
  42.598 +    "\145\177\146\231\147\205\001\002\000\004\124\uffd8\001" +
  42.599      "\002\000\004\124\uffb8\001\002\000\004\124\uffd4\001\002" +
  42.600      "\000\006\047\u02bc\076\u02bb\001\002\000\006\144\045\147" +
  42.601      "\205\001\002\000\004\124\uffbc\001\002\000\004\124\uffd7" +
  42.602      "\001\002\000\004\113\u0281\001\002\000\006\124\uffb4\134" +
  42.603      "\uffb4\001\002\000\006\124\uffb3\134\uffb3\001\002\000\004" +
  42.604      "\052\u0293\001\002\000\032\005\213\047\224\050\200\051" +
  42.605 -    "\227\113\204\116\175\120\217\143\215\144\045\145\176" +
  42.606 +    "\227\113\204\116\175\120\217\143\215\144\045\145\177" +
  42.607      "\146\231\147\205\001\002\000\006\114\u028d\117\u028c\001" +
  42.608      "\002\000\006\114\uffad\117\uffad\001\002\000\006\114\u028a" +
  42.609      "\117\u0289\001\002\000\006\114\uffa9\117\uffa9\001\002\000" +
  42.610 @@ -1467,10 +1467,10 @@
  42.611      "\114\uffa5\115\uff10\116\uff10\117\uffa5\120\uff10\121\235\122" +
  42.612      "\uff10\132\uff10\133\uff10\001\002\000\034\005\213\047\224" +
  42.613      "\050\200\051\227\113\204\116\175\120\217\142\u0288\143" +
  42.614 -    "\215\144\045\145\176\146\231\147\205\001\002\000\006" +
  42.615 +    "\215\144\045\145\177\146\231\147\205\001\002\000\006" +
  42.616      "\114\uffab\117\uffab\001\002\000\032\005\213\047\224\050" +
  42.617      "\200\051\227\113\204\116\175\120\217\143\215\144\045" +
  42.618 -    "\145\176\146\231\147\205\001\002\000\004\052\uffaa\001" +
  42.619 +    "\145\177\146\231\147\205\001\002\000\004\052\uffaa\001" +
  42.620      "\002\000\006\114\uffa8\117\uffa8\001\002\000\006\144\045" +
  42.621      "\147\205\001\002\000\004\052\u028e\001\002\000\010\011" +
  42.622      "\u0117\144\uffaf\147\uffaf\001\002\000\006\124\uffb2\134\uffb2" +
  42.623 @@ -1492,7 +1492,7 @@
  42.624      "\ufffa\105\ufffa\001\002\000\006\057\004\105\u02a8\001\002" +
  42.625      "\000\006\031\uff8c\105\uff8c\001\002\000\034\005\213\047" +
  42.626      "\224\050\200\051\227\054\253\113\204\116\175\120\217" +
  42.627 -    "\143\215\144\045\145\176\146\231\147\205\001\002\000" +
  42.628 +    "\143\215\144\045\145\177\146\231\147\205\001\002\000" +
  42.629      "\006\031\u02ab\105\u02a8\001\002\000\006\031\uff8b\105\uff8b" +
  42.630      "\001\002\000\004\021\u02ac\001\002\000\004\124\u02ad\001" +
  42.631      "\002\000\010\031\uff8d\057\uff8d\105\uff8d\001\002\000\006" +
  42.632 @@ -1515,7 +1515,7 @@
  42.633      "\000\014\013\321\025\u02c6\053\324\066\335\110\322\001" +
  42.634      "\002\000\004\124\uffb6\001\002\000\032\005\213\047\224" +
  42.635      "\050\200\051\227\113\204\116\175\120\217\143\215\144" +
  42.636 -    "\045\145\176\146\231\147\205\001\002\000\014\013\321" +
  42.637 +    "\045\145\177\146\231\147\205\001\002\000\014\013\321" +
  42.638      "\053\324\066\335\110\322\124\uffbb\001\002\000\004\124" +
  42.639      "\uffb5\001\002\000\006\114\uffbf\117\uffbf\001\002\000\006" +
  42.640      "\114\uffc0\117\uffc0\001\002\000\006\114\uffc2\117\uffc2\001" +
  42.641 @@ -1537,26 +1537,26 @@
  42.642      "\077\uffe0\102\uffe0\104\uffe0\144\uffe0\001\002\000\010\104" +
  42.643      "\u02e4\112\165\121\166\001\002\000\036\005\213\015\u02e5" +
  42.644      "\047\224\050\200\051\227\067\u02e7\113\204\116\175\120" +
  42.645 -    "\217\143\215\144\045\145\176\146\231\147\205\001\002" +
  42.646 +    "\217\143\215\144\045\145\177\146\231\147\205\001\002" +
  42.647      "\000\032\005\213\047\224\050\200\051\227\113\204\116" +
  42.648 -    "\175\120\217\143\215\144\045\145\176\146\231\147\205" +
  42.649 +    "\175\120\217\143\215\144\045\145\177\146\231\147\205" +
  42.650      "\001\002\000\012\013\321\053\324\110\322\124\u02f7\001" +
  42.651      "\002\000\010\015\u02e8\031\ufe03\144\ufe03\001\002\000\004" +
  42.652      "\046\u02f4\001\002\000\006\031\ufe01\144\ufe01\001\002\000" +
  42.653      "\006\031\u02eb\144\045\001\002\000\004\067\u02f2\001\002" +
  42.654      "\000\010\015\u02ed\112\165\121\166\001\002\000\032\005" +
  42.655      "\213\047\224\050\200\051\227\113\204\116\175\120\217" +
  42.656 -    "\143\215\144\045\145\176\146\231\147\205\001\002\000" +
  42.657 +    "\143\215\144\045\145\177\146\231\147\205\001\002\000" +
  42.658      "\012\013\321\053\324\066\u02ef\110\322\001\002\000\032" +
  42.659      "\005\213\047\224\050\200\051\227\113\204\116\175\120" +
  42.660 -    "\217\143\215\144\045\145\176\146\231\147\205\001\002" +
  42.661 +    "\217\143\215\144\045\145\177\146\231\147\205\001\002" +
  42.662      "\000\004\124\u02f1\001\002\000\006\031\ufe00\144\ufe00\001" +
  42.663      "\002\000\004\124\u02f3\001\002\000\044\003\ufe04\016\ufe04" +
  42.664      "\031\ufe04\032\ufe04\035\ufe04\036\ufe04\037\ufe04\056\ufe04\057" +
  42.665      "\ufe04\060\ufe04\061\ufe04\062\ufe04\075\ufe04\077\ufe04\102\ufe04" +
  42.666      "\104\ufe04\144\ufe04\001\002\000\032\005\213\047\224\050" +
  42.667      "\200\051\227\113\204\116\175\120\217\143\215\144\045" +
  42.668 -    "\145\176\146\231\147\205\001\002\000\012\013\321\053" +
  42.669 +    "\145\177\146\231\147\205\001\002\000\012\013\321\053" +
  42.670      "\324\110\322\124\u02f6\001\002\000\006\031\ufe02\144\ufe02" +
  42.671      "\001\002\000\044\003\ufe05\016\ufe05\031\ufe05\032\ufe05\035" +
  42.672      "\ufe05\036\ufe05\037\ufe05\056\ufe05\057\ufe05\060\ufe05\061\ufe05" +
  42.673 @@ -1583,7 +1583,7 @@
  42.674      "\057\uffec\060\uffec\061\uffec\062\uffec\075\uffec\077\uffec\102" +
  42.675      "\uffec\104\uffec\144\uffec\001\002\000\032\005\213\047\224" +
  42.676      "\050\200\051\227\113\204\116\175\120\217\143\215\144" +
  42.677 -    "\045\145\176\146\231\147\205\001\002\000\012\013\321" +
  42.678 +    "\045\145\177\146\231\147\205\001\002\000\012\013\321" +
  42.679      "\053\324\110\322\124\u030a\001\002\000\042\003\uffe1\016" +
  42.680      "\uffe1\031\uffe1\035\uffe1\036\uffe1\037\uffe1\056\uffe1\057\uffe1" +
  42.681      "\060\uffe1\061\uffe1\062\uffe1\075\uffe1\077\uffe1\102\uffe1\104" +
  42.682 @@ -1718,7 +1718,7 @@
  42.683      "\ufe20\061\ufe20\102\ufe20\104\ufe20\107\ufe20\144\ufe20\001\002" +
  42.684      "\000\040\003\251\005\213\047\224\050\200\051\227\054" +
  42.685      "\253\113\204\116\175\120\217\142\u0385\143\215\144\045" +
  42.686 -    "\145\176\146\231\147\205\001\002\000\004\114\u0386\001" +
  42.687 +    "\145\177\146\231\147\205\001\002\000\004\114\u0386\001" +
  42.688      "\002\000\004\124\u0387\001\002\000\022\003\ufe21\036\ufe21" +
  42.689      "\056\ufe21\061\ufe21\102\ufe21\104\ufe21\107\ufe21\144\ufe21\001" +
  42.690      "\002\000\010\043\ufebe\113\u0134\124\ufebe\001\002\000\006" +
  42.691 @@ -1791,7 +1791,7 @@
  42.692      "\001\002\000\004\002\001\001\002\000\006\113\uff59\124" +
  42.693      "\u03dd\001\002\000\004\113\u03d2\001\002\000\032\005\213" +
  42.694      "\047\224\050\200\051\227\113\204\116\175\120\217\143" +
  42.695 -    "\215\144\045\145\176\146\231\147\205\001\002\000\006" +
  42.696 +    "\215\144\045\145\177\146\231\147\205\001\002\000\006" +
  42.697      "\114\ufffe\117\ufffe\001\002\000\006\114\u03da\117\u03d9\001" +
  42.698      "\002\000\064\013\uff61\042\uff61\046\uff61\050\uff61\053\uff61" +
  42.699      "\070\uff61\110\uff61\111\uff61\112\uff61\113\uff61\114\uff61\115" +
  42.700 @@ -1799,11 +1799,11 @@
  42.701      "\126\uff61\127\uff61\131\u03d7\133\uff61\135\uff61\136\uff61\137" +
  42.702      "\uff61\001\002\000\014\013\321\053\324\110\322\114\ufffc" +
  42.703      "\117\ufffc\001\002\000\032\005\213\047\224\050\200\051" +
  42.704 -    "\227\113\204\116\175\120\217\143\215\144\045\145\176" +
  42.705 +    "\227\113\204\116\175\120\217\143\215\144\045\145\177" +
  42.706      "\146\231\147\205\001\002\000\014\013\321\053\324\110" +
  42.707      "\322\114\ufffb\117\ufffb\001\002\000\032\005\213\047\224" +
  42.708      "\050\200\051\227\113\204\116\175\120\217\143\215\144" +
  42.709 -    "\045\145\176\146\231\147\205\001\002\000\004\124\u03db" +
  42.710 +    "\045\145\177\146\231\147\205\001\002\000\004\124\u03db" +
  42.711      "\001\002\000\130\002\uffff\003\uffff\004\uffff\010\uffff\016" +
  42.712      "\uffff\021\uffff\022\uffff\023\uffff\027\uffff\030\uffff\031\uffff" +
  42.713      "\032\uffff\033\uffff\034\uffff\035\uffff\036\uffff\037\uffff\040" +
  42.714 @@ -1826,14 +1826,14 @@
  42.715    /** <code>reduce_goto</code> table. */
  42.716    protected static final short[][] _reduce_table = 
  42.717      unpackFromStrings(new String[] {
  42.718 -    "\000\u03db\000\010\125\004\126\006\170\005\001\001\000" +
  42.719 -    "\004\027\u03d0\001\001\000\002\001\001\000\004\173\u03cd" +
  42.720 +    "\000\u03db\000\010\125\004\126\006\173\005\001\001\000" +
  42.721 +    "\004\027\u03d0\001\001\000\002\001\001\000\004\176\u03cd" +
  42.722      "\001\001\000\014\114\011\127\013\131\007\132\010\332" +
  42.723 -    "\015\001\001\000\012\114\u03c9\132\u03c8\170\u03c7\332\u03ca" +
  42.724 +    "\015\001\001\000\012\114\u03c9\132\u03c8\173\u03c7\332\u03ca" +
  42.725      "\001\001\000\002\001\001\000\002\001\001\000\010\027" +
  42.726      "\045\133\u03c3\140\u03c2\001\001\000\002\001\001\000\020" +
  42.727 -    "\026\u03b7\027\202\030\224\103\221\115\u03b8\163\205\164" +
  42.728 -    "\176\001\001\000\034\005\025\072\034\073\023\074\037" +
  42.729 +    "\026\u03b7\027\202\030\225\103\220\115\u03b8\163\205\164" +
  42.730 +    "\175\001\001\000\034\005\025\072\034\073\023\074\037" +
  42.731      "\105\030\106\036\107\022\120\032\130\033\136\031\151" +
  42.732      "\040\272\024\274\017\001\001\000\002\001\001\000\020" +
  42.733      "\006\102\023\u012b\072\u036d\100\u0369\106\u036b\114\u0366\336" +
  42.734 @@ -1841,7 +1841,7 @@
  42.735      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
  42.736      "\001\000\002\001\001\000\012\027\045\102\u034c\103\u0146" +
  42.737      "\140\u0145\001\001\000\002\001\001\000\002\001\001\000" +
  42.738 -    "\002\001\001\000\002\001\001\000\004\173\u034b\001\001" +
  42.739 +    "\002\001\001\000\002\001\001\000\004\176\u034b\001\001" +
  42.740      "\000\002\001\001\000\006\027\045\140\042\001\001\000" +
  42.741      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
  42.742      "\001\001\000\002\001\001\000\006\027\045\140\046\001" +
  42.743 @@ -1850,8 +1850,8 @@
  42.744      "\105\012\074\013\066\016\052\020\123\022\060\023\061" +
  42.745      "\025\117\072\076\073\023\074\072\105\070\106\036\107" +
  42.746      "\071\110\103\114\107\117\115\120\077\121\106\134\113" +
  42.747 -    "\136\064\144\065\170\122\174\100\175\111\176\056\250" +
  42.748 -    "\063\251\110\272\024\274\017\275\121\302\053\344\112" +
  42.749 +    "\136\064\144\065\173\122\177\100\200\111\201\056\253" +
  42.750 +    "\063\254\110\272\024\274\017\275\121\302\053\344\112" +
  42.751      "\345\114\346\055\001\001\000\004\027\051\001\001\000" +
  42.752      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
  42.753      "\001\001\000\002\001\001\000\002\001\001\000\004\027" +
  42.754 @@ -1861,7 +1861,7 @@
  42.755      "\011\105\016\052\020\123\022\060\023\061\025\117\072" +
  42.756      "\076\073\023\074\072\105\070\106\036\107\071\110\103" +
  42.757      "\114\107\117\115\120\077\121\106\134\113\136\064\144" +
  42.758 -    "\065\170\122\174\100\175\111\176\056\250\063\251\u02f9" +
  42.759 +    "\065\173\122\177\100\200\111\201\056\253\063\254\u02f9" +
  42.760      "\272\024\274\017\275\121\302\053\344\112\345\114\346" +
  42.761      "\055\001\001\000\006\027\160\146\u02e2\001\001\000\002" +
  42.762      "\001\001\000\002\001\001\000\002\001\001\000\004\006" +
  42.763 @@ -1879,162 +1879,162 @@
  42.764      "\006\102\011\105\012\074\013\066\016\052\020\123\022" +
  42.765      "\060\023\061\025\117\072\076\073\023\074\072\105\070" +
  42.766      "\106\036\107\071\110\103\114\107\117\115\120\077\121" +
  42.767 -    "\106\134\113\136\064\144\065\170\122\174\100\175\111" +
  42.768 -    "\176\056\250\063\251\110\272\024\274\017\275\121\302" +
  42.769 +    "\106\134\113\136\064\144\065\173\122\177\100\200\111" +
  42.770 +    "\201\056\253\063\254\110\272\024\274\017\275\121\302" +
  42.771      "\053\344\112\345\114\346\055\001\001\000\002\001\001" +
  42.772      "\000\002\001\001\000\004\027\u0149\001\001\000\004\303" +
  42.773 -    "\u0148\001\001\000\004\027\137\001\001\000\006\177\141" +
  42.774 -    "\200\140\001\001\000\002\001\001\000\004\303\u0102\001" +
  42.775 -    "\001\000\012\006\102\023\143\240\146\241\147\001\001" +
  42.776 +    "\u0148\001\001\000\004\027\137\001\001\000\006\202\141" +
  42.777 +    "\203\140\001\001\000\002\001\001\000\004\303\u0102\001" +
  42.778 +    "\001\000\012\006\102\023\143\243\146\244\147\001\001" +
  42.779      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
  42.780      "\002\001\001\000\002\001\001\000\010\006\102\023\143" +
  42.781 -    "\241\152\001\001\000\002\001\001\000\002\001\001\000" +
  42.782 -    "\002\001\001\000\004\006\u0101\001\001\000\004\242\156" +
  42.783 +    "\244\152\001\001\000\002\001\001\000\002\001\001\000" +
  42.784 +    "\002\001\001\000\004\006\u0101\001\001\000\004\245\156" +
  42.785      "\001\001\000\006\027\160\146\161\001\001\000\002\001" +
  42.786      "\001\000\002\001\001\000\004\143\162\001\001\000\002" +
  42.787 -    "\001\001\000\050\026\231\027\202\030\224\031\206\032" +
  42.788 -    "\201\033\213\034\211\035\210\036\217\042\222\044\225" +
  42.789 -    "\103\221\154\220\155\215\160\227\163\205\164\176\255" +
  42.790 -    "\207\261\200\001\001\000\004\252\167\001\001\000\004" +
  42.791 +    "\001\001\000\050\026\231\027\202\030\225\031\206\032" +
  42.792 +    "\201\033\213\034\211\035\210\036\217\042\222\044\224" +
  42.793 +    "\103\220\154\221\155\215\160\227\163\205\164\175\257" +
  42.794 +    "\207\261\200\001\001\000\004\172\167\001\001\000\004" +
  42.795      "\027\166\001\001\000\002\001\001\000\002\001\001\000" +
  42.796      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
  42.797      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
  42.798 -    "\001\000\034\026\231\027\202\030\224\036\u0100\044\225" +
  42.799 -    "\103\221\154\220\155\215\160\227\163\205\164\176\255" +
  42.800 +    "\001\000\034\026\231\027\202\030\225\036\u0100\044\224" +
  42.801 +    "\103\220\154\221\155\215\160\227\163\205\164\175\257" +
  42.802      "\207\261\200\001\001\000\002\001\001\000\002\001\001" +
  42.803 -    "\000\002\001\001\000\066\026\246\027\202\030\224\031" +
  42.804 +    "\000\002\001\001\000\066\026\246\027\202\030\225\031" +
  42.805      "\355\032\201\033\256\034\211\035\210\036\217\042\222" +
  42.806 -    "\044\225\103\221\154\220\155\215\160\227\161\245\163" +
  42.807 -    "\205\164\176\167\244\245\251\246\243\253\360\254\357" +
  42.808 -    "\255\207\256\354\261\200\001\001\000\002\001\001\000" +
  42.809 -    "\002\001\001\000\006\037\322\257\316\001\001\000\002" +
  42.810 +    "\044\224\103\220\154\221\155\215\160\227\161\245\163" +
  42.811 +    "\205\164\175\167\244\250\251\251\243\255\360\256\357" +
  42.812 +    "\257\207\260\354\261\200\001\001\000\002\001\001\000" +
  42.813 +    "\002\001\001\000\006\037\322\170\316\001\001\000\002" +
  42.814      "\001\001\000\002\001\001\000\004\043\303\001\001\000" +
  42.815 -    "\034\026\231\027\202\030\224\036\353\044\225\103\221" +
  42.816 -    "\154\220\155\215\160\227\163\205\164\176\255\207\261" +
  42.817 -    "\200\001\001\000\010\040\262\041\267\260\264\001\001" +
  42.818 +    "\034\026\231\027\202\030\225\036\353\044\224\103\220" +
  42.819 +    "\154\221\155\215\160\227\163\205\164\175\257\207\261" +
  42.820 +    "\200\001\001\000\010\040\262\041\267\171\264\001\001" +
  42.821      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
  42.822      "\002\001\001\000\002\001\001\000\002\001\001\000\040" +
  42.823 -    "\026\231\027\202\030\224\034\350\035\210\036\217\044" +
  42.824 -    "\225\103\221\154\220\155\215\160\227\163\205\164\176" +
  42.825 -    "\255\207\261\200\001\001\000\020\026\346\027\202\030" +
  42.826 -    "\224\044\347\103\221\163\205\164\176\001\001\000\002" +
  42.827 +    "\026\231\027\202\030\225\034\350\035\210\036\217\044" +
  42.828 +    "\224\103\220\154\221\155\215\160\227\163\205\164\175" +
  42.829 +    "\257\207\261\200\001\001\000\020\026\346\027\202\030" +
  42.830 +    "\225\044\347\103\220\163\205\164\175\001\001\000\002" +
  42.831      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
  42.832      "\001\000\002\001\001\000\002\001\001\000\066\026\246" +
  42.833 -    "\027\202\030\224\031\247\032\201\033\256\034\211\035" +
  42.834 -    "\210\036\217\042\222\044\225\103\221\154\220\155\215" +
  42.835 -    "\160\227\161\245\163\205\164\176\165\255\167\244\245" +
  42.836 -    "\251\246\243\253\254\254\253\255\207\261\200\001\001" +
  42.837 -    "\000\010\155\242\252\241\255\207\001\001\000\010\027" +
  42.838 +    "\027\202\030\225\031\247\032\201\033\256\034\211\035" +
  42.839 +    "\210\036\217\042\222\044\224\103\220\154\221\155\215" +
  42.840 +    "\160\227\161\245\163\205\164\175\165\255\167\244\250" +
  42.841 +    "\251\251\243\255\254\256\253\257\207\261\200\001\001" +
  42.842 +    "\000\010\155\242\172\241\257\207\001\001\000\010\027" +
  42.843      "\237\103\236\160\240\001\001\000\002\001\001\000\002" +
  42.844      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
  42.845      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
  42.846 -    "\000\002\001\001\000\004\211\335\001\001\000\006\037" +
  42.847 -    "\322\257\316\001\001\000\002\001\001\000\002\001\001" +
  42.848 +    "\000\002\001\001\000\004\214\335\001\001\000\006\037" +
  42.849 +    "\322\170\316\001\001\000\002\001\001\000\002\001\001" +
  42.850      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
  42.851 -    "\002\001\001\000\010\040\262\041\267\260\264\001\001" +
  42.852 +    "\002\001\001\000\010\040\262\041\267\171\264\001\001" +
  42.853      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
  42.854 -    "\044\026\231\027\202\030\224\033\330\034\211\035\210" +
  42.855 -    "\036\217\042\222\044\225\103\221\154\220\155\215\160" +
  42.856 -    "\227\163\205\164\176\255\207\261\200\001\001\000\002" +
  42.857 -    "\001\001\000\046\026\311\027\202\030\224\033\310\034" +
  42.858 -    "\211\035\210\036\217\042\222\044\225\103\221\154\220" +
  42.859 -    "\155\215\160\227\163\205\164\176\167\307\255\207\261" +
  42.860 +    "\044\026\231\027\202\030\225\033\330\034\211\035\210" +
  42.861 +    "\036\217\042\222\044\224\103\220\154\221\155\215\160" +
  42.862 +    "\227\163\205\164\175\257\207\261\200\001\001\000\002" +
  42.863 +    "\001\001\000\046\026\311\027\202\030\225\033\310\034" +
  42.864 +    "\211\035\210\036\217\042\222\044\224\103\220\154\221" +
  42.865 +    "\155\215\160\227\163\205\164\175\167\307\257\207\261" +
  42.866      "\200\001\001\000\002\001\001\000\002\001\001\000\040" +
  42.867 -    "\026\231\027\202\030\224\034\300\035\210\036\217\044" +
  42.868 -    "\225\103\221\154\220\155\215\160\227\163\205\164\176" +
  42.869 -    "\255\207\261\200\001\001\000\002\001\001\000\044\026" +
  42.870 -    "\231\027\202\030\224\033\277\034\211\035\210\036\217" +
  42.871 -    "\042\222\044\225\103\221\154\220\155\215\160\227\163" +
  42.872 -    "\205\164\176\255\207\261\200\001\001\000\002\001\001" +
  42.873 +    "\026\231\027\202\030\225\034\300\035\210\036\217\044" +
  42.874 +    "\224\103\220\154\221\155\215\160\227\163\205\164\175" +
  42.875 +    "\257\207\261\200\001\001\000\002\001\001\000\044\026" +
  42.876 +    "\231\027\202\030\225\033\277\034\211\035\210\036\217" +
  42.877 +    "\042\222\044\224\103\220\154\221\155\215\160\227\163" +
  42.878 +    "\205\164\175\257\207\261\200\001\001\000\002\001\001" +
  42.879      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
  42.880      "\002\001\001\000\004\041\267\001\001\000\004\043\303" +
  42.881      "\001\001\000\002\001\001\000\002\001\001\000\036\026" +
  42.882 -    "\231\027\202\030\224\035\306\036\217\044\225\103\221" +
  42.883 -    "\154\220\155\215\160\227\163\205\164\176\255\207\261" +
  42.884 +    "\231\027\202\030\225\035\306\036\217\044\224\103\220" +
  42.885 +    "\154\221\155\215\160\227\163\205\164\175\257\207\261" +
  42.886      "\200\001\001\000\002\001\001\000\002\001\001\000\002" +
  42.887      "\001\001\000\002\001\001\000\004\041\267\001\001\000" +
  42.888 -    "\002\001\001\000\010\155\242\252\241\255\207\001\001" +
  42.889 -    "\000\002\001\001\000\050\026\231\027\202\030\224\031" +
  42.890 +    "\002\001\001\000\010\155\242\172\241\257\207\001\001" +
  42.891 +    "\000\002\001\001\000\050\026\231\027\202\030\225\031" +
  42.892      "\315\032\201\033\213\034\211\035\210\036\217\042\222" +
  42.893 -    "\044\225\103\221\154\220\155\215\160\227\163\205\164" +
  42.894 -    "\176\255\207\261\200\001\001\000\006\037\322\257\316" +
  42.895 -    "\001\001\000\046\026\231\027\202\030\224\032\327\033" +
  42.896 -    "\213\034\211\035\210\036\217\042\222\044\225\103\221" +
  42.897 -    "\154\220\155\215\160\227\163\205\164\176\255\207\261" +
  42.898 +    "\044\224\103\220\154\221\155\215\160\227\163\205\164" +
  42.899 +    "\175\257\207\261\200\001\001\000\006\037\322\170\316" +
  42.900 +    "\001\001\000\046\026\231\027\202\030\225\032\327\033" +
  42.901 +    "\213\034\211\035\210\036\217\042\222\044\224\103\220" +
  42.902 +    "\154\221\155\215\160\227\163\205\164\175\257\207\261" +
  42.903      "\200\001\001\000\002\001\001\000\002\001\001\000\002" +
  42.904 -    "\001\001\000\046\026\231\027\202\030\224\032\325\033" +
  42.905 -    "\213\034\211\035\210\036\217\042\222\044\225\103\221" +
  42.906 -    "\154\220\155\215\160\227\163\205\164\176\255\207\261" +
  42.907 +    "\001\001\000\046\026\231\027\202\030\225\032\325\033" +
  42.908 +    "\213\034\211\035\210\036\217\042\222\044\224\103\220" +
  42.909 +    "\154\221\155\215\160\227\163\205\164\175\257\207\261" +
  42.910      "\200\001\001\000\002\001\001\000\002\001\001\000\002" +
  42.911      "\001\001\000\002\001\001\000\002\001\001\000\004\041" +
  42.912 -    "\267\001\001\000\064\026\246\027\202\030\224\031\247" +
  42.913 +    "\267\001\001\000\064\026\246\027\202\030\225\031\247" +
  42.914      "\032\201\033\256\034\211\035\210\036\217\042\222\044" +
  42.915 -    "\225\103\221\154\220\155\215\160\227\161\245\163\205" +
  42.916 -    "\164\176\167\244\245\251\246\243\253\333\254\253\255" +
  42.917 +    "\224\103\220\154\221\155\215\160\227\161\245\163\205" +
  42.918 +    "\164\175\167\244\250\251\251\243\255\333\256\253\257" +
  42.919      "\207\261\200\001\001\000\002\001\001\000\002\001\001" +
  42.920 -    "\000\046\026\337\027\202\030\224\033\310\034\211\035" +
  42.921 -    "\210\036\217\042\222\044\225\103\221\154\220\155\215" +
  42.922 -    "\160\227\163\205\164\176\167\336\255\207\261\200\001" +
  42.923 +    "\000\046\026\337\027\202\030\225\033\310\034\211\035" +
  42.924 +    "\210\036\217\042\222\044\224\103\220\154\221\155\215" +
  42.925 +    "\160\227\163\205\164\175\167\336\257\207\261\200\001" +
  42.926      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
  42.927 -    "\000\056\026\246\027\202\030\224\031\345\032\201\033" +
  42.928 -    "\256\034\211\035\210\036\217\042\222\044\225\103\221" +
  42.929 -    "\154\220\155\215\160\227\163\205\164\176\167\244\245" +
  42.930 -    "\344\246\343\255\207\261\200\001\001\000\050\026\231" +
  42.931 -    "\027\202\030\224\031\342\032\201\033\213\034\211\035" +
  42.932 -    "\210\036\217\042\222\044\225\103\221\154\220\155\215" +
  42.933 -    "\160\227\163\205\164\176\255\207\261\200\001\001\000" +
  42.934 -    "\006\037\322\257\316\001\001\000\002\001\001\000\002" +
  42.935 -    "\001\001\000\006\037\322\257\316\001\001\000\002\001" +
  42.936 +    "\000\056\026\246\027\202\030\225\031\345\032\201\033" +
  42.937 +    "\256\034\211\035\210\036\217\042\222\044\224\103\220" +
  42.938 +    "\154\221\155\215\160\227\163\205\164\175\167\244\250" +
  42.939 +    "\344\251\343\257\207\261\200\001\001\000\050\026\231" +
  42.940 +    "\027\202\030\225\031\342\032\201\033\213\034\211\035" +
  42.941 +    "\210\036\217\042\222\044\224\103\220\154\221\155\215" +
  42.942 +    "\160\227\163\205\164\175\257\207\261\200\001\001\000" +
  42.943 +    "\006\037\322\170\316\001\001\000\002\001\001\000\002" +
  42.944 +    "\001\001\000\006\037\322\170\316\001\001\000\002\001" +
  42.945      "\001\000\002\001\001\000\004\043\303\001\001\000\034" +
  42.946 -    "\026\231\027\202\030\224\036\352\044\225\103\221\154" +
  42.947 -    "\220\155\215\160\227\163\205\164\176\255\207\261\200" +
  42.948 +    "\026\231\027\202\030\225\036\352\044\224\103\220\154" +
  42.949 +    "\221\155\215\160\227\163\205\164\175\257\207\261\200" +
  42.950      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
  42.951 -    "\001\000\006\037\322\257\316\001\001\000\002\001\001" +
  42.952 +    "\001\000\006\037\322\170\316\001\001\000\002\001\001" +
  42.953      "\000\002\001\001\000\002\001\001\000\064\026\246\027" +
  42.954 -    "\202\030\224\031\247\032\201\033\256\034\211\035\210" +
  42.955 -    "\036\217\042\222\044\225\103\221\154\220\155\215\160" +
  42.956 -    "\227\161\245\163\205\164\176\167\244\245\251\246\243" +
  42.957 -    "\253\362\254\253\255\207\261\200\001\001\000\002\001" +
  42.958 +    "\202\030\225\031\247\032\201\033\256\034\211\035\210" +
  42.959 +    "\036\217\042\222\044\224\103\220\154\221\155\215\160" +
  42.960 +    "\227\161\245\163\205\164\175\167\244\250\251\251\243" +
  42.961 +    "\255\362\256\253\257\207\261\200\001\001\000\002\001" +
  42.962      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
  42.963 -    "\000\002\001\001\000\066\026\246\027\202\030\224\031" +
  42.964 +    "\000\002\001\001\000\066\026\246\027\202\030\225\031" +
  42.965      "\247\032\201\033\256\034\211\035\210\036\217\042\222" +
  42.966 -    "\044\225\103\221\154\220\155\215\160\227\161\245\163" +
  42.967 -    "\205\164\176\165\371\167\244\245\251\246\243\253\254" +
  42.968 -    "\254\253\255\207\261\200\001\001\000\002\001\001\000" +
  42.969 +    "\044\224\103\220\154\221\155\215\160\227\161\245\163" +
  42.970 +    "\205\164\175\165\371\167\244\250\251\251\243\255\254" +
  42.971 +    "\256\253\257\207\261\200\001\001\000\002\001\001\000" +
  42.972      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
  42.973 -    "\001\001\000\064\026\246\027\202\030\224\031\247\032" +
  42.974 -    "\201\033\256\034\211\035\210\036\217\042\222\044\225" +
  42.975 -    "\103\221\154\220\155\215\160\227\161\245\163\205\164" +
  42.976 -    "\176\167\244\245\251\246\243\253\377\254\253\255\207" +
  42.977 +    "\001\001\000\064\026\246\027\202\030\225\031\247\032" +
  42.978 +    "\201\033\256\034\211\035\210\036\217\042\222\044\224" +
  42.979 +    "\103\220\154\221\155\215\160\227\161\245\163\205\164" +
  42.980 +    "\175\167\244\250\251\251\243\255\377\256\253\257\207" +
  42.981      "\261\200\001\001\000\002\001\001\000\002\001\001\000" +
  42.982      "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
  42.983 -    "\304\u0104\001\001\000\024\072\u010c\170\u0107\250\u0106\305" +
  42.984 +    "\304\u0104\001\001\000\024\072\u010c\173\u0107\253\u0106\305" +
  42.985      "\u0108\307\u0105\310\u010b\344\112\345\114\346\055\001\001" +
  42.986      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
  42.987      "\002\001\001\000\002\001\001\000\004\306\u010e\001\001" +
  42.988      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
  42.989 -    "\032\006\102\023\u0110\072\u010c\170\u0107\235\u0111\250\u0106" +
  42.990 +    "\032\006\102\023\u0110\072\u010c\173\u0107\240\u0111\253\u0106" +
  42.991      "\307\u0112\310\u010b\311\u010f\344\112\345\114\346\055\001" +
  42.992      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
  42.993      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
  42.994 -    "\006\227\u0118\230\u0117\001\001\000\002\001\001\000\020" +
  42.995 -    "\021\u011c\026\u011b\027\202\030\224\103\221\163\205\164" +
  42.996 -    "\176\001\001\000\004\143\u0119\001\001\000\002\001\001" +
  42.997 -    "\000\002\001\001\000\010\210\u0120\211\u011f\212\u011e\001" +
  42.998 -    "\001\000\002\001\001\000\050\026\231\027\202\030\224" +
  42.999 +    "\006\232\u0118\233\u0117\001\001\000\002\001\001\000\020" +
 42.1000 +    "\021\u011c\026\u011b\027\202\030\225\103\220\163\205\164" +
 42.1001 +    "\175\001\001\000\004\143\u0119\001\001\000\002\001\001" +
 42.1002 +    "\000\002\001\001\000\010\213\u0120\214\u011f\215\u011e\001" +
 42.1003 +    "\001\000\002\001\001\000\050\026\231\027\202\030\225" +
 42.1004      "\031\u0122\032\201\033\213\034\211\035\210\036\217\042" +
 42.1005 -    "\222\044\225\103\221\154\220\155\215\160\227\163\205" +
 42.1006 -    "\164\176\255\207\261\200\001\001\000\002\001\001\000" +
 42.1007 -    "\002\001\001\000\002\001\001\000\004\252\241\001\001" +
 42.1008 -    "\000\012\037\322\211\u0124\213\u0123\257\316\001\001\000" +
 42.1009 +    "\222\044\224\103\220\154\221\155\215\160\227\163\205" +
 42.1010 +    "\164\175\257\207\261\200\001\001\000\002\001\001\000" +
 42.1011 +    "\002\001\001\000\002\001\001\000\004\172\241\001\001" +
 42.1012 +    "\000\012\037\322\170\316\214\u0124\216\u0123\001\001\000" +
 42.1013      "\002\001\001\000\002\001\001\000\006\076\u0126\077\u0127" +
 42.1014      "\001\001\000\002\001\001\000\002\001\001\000\060\006" +
 42.1015 -    "\102\023\u012b\026\u012d\027\202\030\224\033\310\034\211" +
 42.1016 -    "\035\210\036\217\042\222\044\225\075\u0129\100\u012a\103" +
 42.1017 -    "\221\154\220\155\215\160\227\163\205\164\176\166\u012f" +
 42.1018 -    "\167\u012c\255\207\261\200\001\001\000\002\001\001\000" +
 42.1019 +    "\102\023\u012b\026\u012d\027\202\030\225\033\310\034\211" +
 42.1020 +    "\035\210\036\217\042\222\044\224\075\u0129\100\u012a\103" +
 42.1021 +    "\220\154\221\155\215\160\227\163\205\164\175\166\u012f" +
 42.1022 +    "\167\u012c\257\207\261\200\001\001\000\002\001\001\000" +
 42.1023      "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
 42.1024 -    "\211\u0124\213\u0136\001\001\000\002\001\001\000\002\001" +
 42.1025 +    "\214\u0124\216\u0136\001\001\000\002\001\001\000\002\001" +
 42.1026      "\001\000\002\001\001\000\006\076\u0132\077\u0127\001\001" +
 42.1027      "\000\002\001\001\000\012\006\102\023\u012b\075\u0129\100" +
 42.1028      "\u012a\001\001\000\002\001\001\000\002\001\001\000\002" +
 42.1029 @@ -2046,512 +2046,512 @@
 42.1030      "\014\027\045\102\u0144\103\u0146\140\u0145\152\u0147\001\001" +
 42.1031      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 42.1032      "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
 42.1033 -    "\173\u014d\312\u014c\001\001\000\002\001\001\000\012\072" +
 42.1034 -    "\u0151\074\u0153\313\u0152\314\u014f\001\001\000\004\170\u014e" +
 42.1035 +    "\176\u014d\312\u014c\001\001\000\002\001\001\000\012\072" +
 42.1036 +    "\u0151\074\u0153\313\u0152\314\u014f\001\001\000\004\173\u014e" +
 42.1037      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 42.1038 -    "\001\000\002\001\001\000\004\173\u0157\001\001\000\002" +
 42.1039 +    "\001\000\002\001\001\000\004\176\u0157\001\001\000\002" +
 42.1040      "\001\001\000\014\027\045\102\u0144\103\u0146\140\u0145\152" +
 42.1041      "\u0155\001\001\000\002\001\001\000\002\001\001\000\004" +
 42.1042 -    "\170\u014e\001\001\000\002\001\001\000\122\002\124\003" +
 42.1043 +    "\173\u014e\001\001\000\002\001\001\000\122\002\124\003" +
 42.1044      "\062\004\054\005\101\006\102\011\105\012\u015a\013\066" +
 42.1045      "\016\052\020\123\022\060\023\061\025\117\072\076\073" +
 42.1046      "\023\074\072\105\070\106\036\107\071\110\103\114\107" +
 42.1047 -    "\117\115\120\077\121\106\134\113\136\064\144\065\170" +
 42.1048 -    "\122\174\100\175\111\176\056\250\063\251\110\272\024" +
 42.1049 +    "\117\115\120\077\121\106\134\113\136\064\144\065\173" +
 42.1050 +    "\122\177\100\200\111\201\056\253\063\254\110\272\024" +
 42.1051      "\274\017\275\121\302\053\344\112\345\114\346\055\001" +
 42.1052      "\001\000\004\066\u015c\001\001\000\116\026\u016e\027\202" +
 42.1053 -    "\030\224\044\u0162\045\u017e\046\u016c\047\u016a\050\u0188\051" +
 42.1054 +    "\030\225\044\u0162\045\u017e\046\u016c\047\u016a\050\u0188\051" +
 42.1055      "\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165" +
 42.1056 -    "\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\147" +
 42.1057 -    "\u0160\150\u0178\153\u018c\157\u0164\162\u0187\163\205\164\176" +
 42.1058 -    "\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
 42.1059 +    "\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\147" +
 42.1060 +    "\u0160\150\u0178\153\u018c\157\u0164\162\u0187\163\205\164\175" +
 42.1061 +    "\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
 42.1062      "\u0172\322\u016f\323\u0161\324\u0181\001\001\000\002\001\001" +
 42.1063      "\000\014\027\045\102\u0144\103\u0146\140\u0145\152\u015e\001" +
 42.1064      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 42.1065      "\000\002\001\001\000\002\001\001\000\016\026\u0230\027" +
 42.1066 -    "\202\030\224\103\221\163\205\164\176\001\001\000\002" +
 42.1067 +    "\202\030\225\103\220\163\205\164\175\001\001\000\002" +
 42.1068      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 42.1069 -    "\001\000\050\026\231\027\202\030\224\031\u0224\032\201" +
 42.1070 -    "\033\213\034\211\035\210\036\217\042\222\044\225\103" +
 42.1071 -    "\221\154\220\155\215\160\227\163\205\164\176\255\207" +
 42.1072 +    "\001\000\050\026\231\027\202\030\225\031\u0224\032\201" +
 42.1073 +    "\033\213\034\211\035\210\036\217\042\222\044\224\103" +
 42.1074 +    "\220\154\221\155\215\160\227\163\205\164\175\257\207" +
 42.1075      "\261\200\001\001\000\002\001\001\000\002\001\001\000" +
 42.1076      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
 42.1077      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 42.1078      "\001\000\002\001\001\000\002\001\001\000\036\026\u01fd" +
 42.1079 -    "\027\202\030\224\103\221\122\u01f4\157\u01f8\163\205\164" +
 42.1080 -    "\176\264\u01fb\316\u017a\317\u01f5\325\u01fc\327\u01f6\331\u01f7" +
 42.1081 -    "\001\001\000\020\026\u0191\027\202\030\224\070\u01ef\103" +
 42.1082 -    "\221\163\205\164\176\001\001\000\054\026\231\027\202" +
 42.1083 -    "\030\224\031\u019b\032\201\033\213\034\211\035\210\036" +
 42.1084 -    "\217\042\222\044\225\053\u01e1\054\u01e2\103\221\154\220" +
 42.1085 -    "\155\215\160\227\163\205\164\176\255\207\261\200\001" +
 42.1086 +    "\027\202\030\225\103\220\122\u01f4\157\u01f8\163\205\164" +
 42.1087 +    "\175\264\u01fb\316\u017a\317\u01f5\325\u01fc\327\u01f6\331\u01f7" +
 42.1088 +    "\001\001\000\020\026\u0191\027\202\030\225\070\u01ef\103" +
 42.1089 +    "\220\163\205\164\175\001\001\000\054\026\231\027\202" +
 42.1090 +    "\030\225\031\u019b\032\201\033\213\034\211\035\210\036" +
 42.1091 +    "\217\042\222\044\224\053\u01e1\054\u01e2\103\220\154\221" +
 42.1092 +    "\155\215\160\227\163\205\164\175\257\207\261\200\001" +
 42.1093      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 42.1094 -    "\000\002\001\001\000\050\026\231\027\202\030\224\031" +
 42.1095 +    "\000\002\001\001\000\050\026\231\027\202\030\225\031" +
 42.1096      "\u01d9\032\201\033\213\034\211\035\210\036\217\042\222" +
 42.1097 -    "\044\225\103\221\154\220\155\215\160\227\163\205\164" +
 42.1098 -    "\176\255\207\261\200\001\001\000\020\026\u01d3\027\202" +
 42.1099 -    "\030\224\103\221\124\u01d4\163\205\164\176\001\001\000" +
 42.1100 -    "\002\001\001\000\116\026\u016e\027\202\030\224\044\u0162" +
 42.1101 +    "\044\224\103\220\154\221\155\215\160\227\163\205\164" +
 42.1102 +    "\175\257\207\261\200\001\001\000\020\026\u01d3\027\202" +
 42.1103 +    "\030\225\103\220\124\u01d4\163\205\164\175\001\001\000" +
 42.1104 +    "\002\001\001\000\116\026\u016e\027\202\030\225\044\u0162" +
 42.1105      "\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061" +
 42.1106 -    "\u0179\064\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a" +
 42.1107 +    "\u0179\064\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a" +
 42.1108      "\123\u018b\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162" +
 42.1109 -    "\u0187\163\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166" +
 42.1110 +    "\u0187\163\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166" +
 42.1111      "\265\u016d\270\u01c1\271\u01bf\316\u017a\321\u0172\322\u016f\323" +
 42.1112      "\u0161\324\u0181\001\001\000\002\001\001\000\002\001\001" +
 42.1113      "\000\002\001\001\000\006\027\u01b9\320\u01b8\001\001\000" +
 42.1114 -    "\016\026\u01b6\027\202\030\224\103\221\163\205\164\176" +
 42.1115 -    "\001\001\000\050\026\231\027\202\030\224\031\u01b1\032" +
 42.1116 -    "\201\033\213\034\211\035\210\036\217\042\222\044\225" +
 42.1117 -    "\103\221\154\220\155\215\160\227\163\205\164\176\255" +
 42.1118 +    "\016\026\u01b6\027\202\030\225\103\220\163\205\164\175" +
 42.1119 +    "\001\001\000\050\026\231\027\202\030\225\031\u01b1\032" +
 42.1120 +    "\201\033\213\034\211\035\210\036\217\042\222\044\224" +
 42.1121 +    "\103\220\154\221\155\215\160\227\163\205\164\175\257" +
 42.1122      "\207\261\200\001\001\000\002\001\001\000\002\001\001" +
 42.1123      "\000\010\063\u0199\065\u0196\266\u0198\001\001\000\002\001" +
 42.1124 -    "\001\000\112\026\u016e\027\202\030\224\044\u0162\046\u016c" +
 42.1125 +    "\001\000\112\026\u016e\027\202\030\225\044\u0162\046\u016c" +
 42.1126      "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
 42.1127 -    "\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b" +
 42.1128 +    "\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b" +
 42.1129      "\135\u0171\137\u0169\150\u0194\153\u018c\157\u0164\162\u0187\163" +
 42.1130 -    "\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 42.1131 +    "\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 42.1132      "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
 42.1133      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
 42.1134 -    "\001\001\000\020\026\u0191\027\202\030\224\070\u0192\103" +
 42.1135 -    "\221\163\205\164\176\001\001\000\002\001\001\000\002" +
 42.1136 +    "\001\001\000\020\026\u0191\027\202\030\225\070\u0192\103" +
 42.1137 +    "\220\163\205\164\175\001\001\000\002\001\001\000\002" +
 42.1138      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 42.1139      "\001\000\002\001\001\000\122\002\124\003\062\004\054" +
 42.1140      "\005\101\006\102\011\105\012\u01ae\013\066\016\052\020" +
 42.1141      "\123\022\060\023\061\025\117\072\076\073\023\074\072" +
 42.1142      "\105\070\106\036\107\071\110\103\114\107\117\115\120" +
 42.1143 -    "\077\121\106\134\113\136\064\144\065\170\122\174\100" +
 42.1144 -    "\175\111\176\056\250\063\251\110\272\024\274\017\275" +
 42.1145 +    "\077\121\106\134\113\136\064\144\065\173\122\177\100" +
 42.1146 +    "\200\111\201\056\253\063\254\110\272\024\274\017\275" +
 42.1147      "\121\302\053\344\112\345\114\346\055\001\001\000\004" +
 42.1148      "\066\u01aa\001\001\000\002\001\001\000\004\267\u01a5\001" +
 42.1149      "\001\000\004\062\u019d\001\001\000\052\026\231\027\202" +
 42.1150 -    "\030\224\031\u019b\032\201\033\213\034\211\035\210\036" +
 42.1151 -    "\217\042\222\044\225\054\u019c\103\221\154\220\155\215" +
 42.1152 -    "\160\227\163\205\164\176\255\207\261\200\001\001\000" +
 42.1153 -    "\006\037\322\257\316\001\001\000\002\001\001\000\014" +
 42.1154 +    "\030\225\031\u019b\032\201\033\213\034\211\035\210\036" +
 42.1155 +    "\217\042\222\044\224\054\u019c\103\220\154\221\155\215" +
 42.1156 +    "\160\227\163\205\164\175\257\207\261\200\001\001\000" +
 42.1157 +    "\006\037\322\170\316\001\001\000\002\001\001\000\014" +
 42.1158      "\027\045\102\u0144\103\u0146\140\u0145\152\u01a3\001\001\000" +
 42.1159 -    "\114\026\u016e\027\202\030\224\044\u0162\045\u019f\046\u016c" +
 42.1160 +    "\114\026\u016e\027\202\030\225\044\u0162\045\u019f\046\u016c" +
 42.1161      "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
 42.1162 -    "\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b" +
 42.1163 +    "\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b" +
 42.1164      "\135\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163" +
 42.1165 -    "\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 42.1166 +    "\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 42.1167      "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
 42.1168 -    "\112\026\u016e\027\202\030\224\044\u0162\046\u016c\047\u016a" +
 42.1169 +    "\112\026\u016e\027\202\030\225\044\u0162\046\u016c\047\u016a" +
 42.1170      "\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067" +
 42.1171 -    "\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135\u0171" +
 42.1172 +    "\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135\u0171" +
 42.1173      "\137\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163\205\164" +
 42.1174 -    "\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a" +
 42.1175 +    "\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a" +
 42.1176      "\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000\002\001" +
 42.1177      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 42.1178 -    "\000\002\001\001\000\050\026\u012d\027\202\030\224\033" +
 42.1179 -    "\310\034\211\035\210\036\217\042\222\044\225\103\221" +
 42.1180 -    "\154\220\155\215\160\227\163\205\164\176\166\u01a7\167" +
 42.1181 -    "\u012c\255\207\261\200\001\001\000\002\001\001\000\002" +
 42.1182 +    "\000\002\001\001\000\050\026\u012d\027\202\030\225\033" +
 42.1183 +    "\310\034\211\035\210\036\217\042\222\044\224\103\220" +
 42.1184 +    "\154\221\155\215\160\227\163\205\164\175\166\u01a7\167" +
 42.1185 +    "\u012c\257\207\261\200\001\001\000\002\001\001\000\002" +
 42.1186      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 42.1187      "\001\000\014\027\045\102\u0144\103\u0146\140\u0145\152\u01ac" +
 42.1188      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 42.1189      "\001\000\002\001\001\000\002\001\001\000\006\037\322" +
 42.1190 -    "\257\316\001\001\000\050\026\231\027\202\030\224\031" +
 42.1191 +    "\170\316\001\001\000\050\026\231\027\202\030\225\031" +
 42.1192      "\u01b3\032\201\033\213\034\211\035\210\036\217\042\222" +
 42.1193 -    "\044\225\103\221\154\220\155\215\160\227\163\205\164" +
 42.1194 -    "\176\255\207\261\200\001\001\000\006\037\322\257\316" +
 42.1195 +    "\044\224\103\220\154\221\155\215\160\227\163\205\164" +
 42.1196 +    "\175\257\207\261\200\001\001\000\006\037\322\170\316" +
 42.1197      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 42.1198      "\001\000\002\001\001\000\006\076\u01ba\077\u0127\001\001" +
 42.1199      "\000\002\001\001\000\002\001\001\000\060\006\102\023" +
 42.1200 -    "\u012b\026\231\027\202\030\224\031\u01bc\032\201\033\213" +
 42.1201 -    "\034\211\035\210\036\217\042\222\044\225\075\u0129\100" +
 42.1202 -    "\u012a\103\221\154\220\155\215\160\227\163\205\164\176" +
 42.1203 -    "\255\207\261\200\001\001\000\006\037\322\257\316\001" +
 42.1204 +    "\u012b\026\231\027\202\030\225\031\u01bc\032\201\033\213" +
 42.1205 +    "\034\211\035\210\036\217\042\222\044\224\075\u0129\100" +
 42.1206 +    "\u012a\103\220\154\221\155\215\160\227\163\205\164\175" +
 42.1207 +    "\257\207\261\200\001\001\000\006\037\322\170\316\001" +
 42.1208      "\001\000\002\001\001\000\002\001\001\000\004\333\u01d1" +
 42.1209      "\001\001\000\004\333\u01c3\001\001\000\002\001\001\000" +
 42.1210 -    "\022\026\u01c5\027\202\030\224\103\221\163\205\164\176" +
 42.1211 +    "\022\026\u01c5\027\202\030\225\103\220\163\205\164\175" +
 42.1212      "\334\u01c7\335\u01c8\001\001\000\002\001\001\000\002\001" +
 42.1213      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 42.1214 -    "\000\002\001\001\000\020\026\u01c5\027\202\030\224\103" +
 42.1215 -    "\221\163\205\164\176\335\u01cc\001\001\000\114\026\u016e" +
 42.1216 -    "\027\202\030\224\044\u0162\045\u01cb\046\u016c\047\u016a\050" +
 42.1217 +    "\000\002\001\001\000\020\026\u01c5\027\202\030\225\103" +
 42.1218 +    "\220\163\205\164\175\335\u01cc\001\001\000\114\026\u016e" +
 42.1219 +    "\027\202\030\225\044\u0162\045\u01cb\046\u016c\047\u016a\050" +
 42.1220      "\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b" +
 42.1221 -    "\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137" +
 42.1222 -    "\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205\164\176" +
 42.1223 -    "\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
 42.1224 +    "\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137" +
 42.1225 +    "\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205\164\175" +
 42.1226 +    "\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
 42.1227      "\u0172\322\u016f\323\u0161\324\u0181\001\001\000\112\026\u016e" +
 42.1228 -    "\027\202\030\224\044\u0162\046\u016c\047\u016a\050\u0188\051" +
 42.1229 +    "\027\202\030\225\044\u0162\046\u016c\047\u016a\050\u0188\051" +
 42.1230      "\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165" +
 42.1231 -    "\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150" +
 42.1232 -    "\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\176\170\u018d" +
 42.1233 +    "\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150" +
 42.1234 +    "\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\175\173\u018d" +
 42.1235      "\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322" +
 42.1236      "\u016f\323\u0161\324\u0181\001\001\000\002\001\001\000\022" +
 42.1237 -    "\026\u01c5\027\202\030\224\103\221\163\205\164\176\334" +
 42.1238 +    "\026\u01c5\027\202\030\225\103\220\163\205\164\175\334" +
 42.1239      "\u01ce\335\u01c8\001\001\000\002\001\001\000\114\026\u016e" +
 42.1240 -    "\027\202\030\224\044\u0162\045\u01d0\046\u016c\047\u016a\050" +
 42.1241 +    "\027\202\030\225\044\u0162\045\u01d0\046\u016c\047\u016a\050" +
 42.1242      "\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b" +
 42.1243 -    "\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137" +
 42.1244 -    "\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205\164\176" +
 42.1245 -    "\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
 42.1246 +    "\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137" +
 42.1247 +    "\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205\164\175" +
 42.1248 +    "\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
 42.1249      "\u0172\322\u016f\323\u0161\324\u0181\001\001\000\112\026\u016e" +
 42.1250 -    "\027\202\030\224\044\u0162\046\u016c\047\u016a\050\u0188\051" +
 42.1251 +    "\027\202\030\225\044\u0162\046\u016c\047\u016a\050\u0188\051" +
 42.1252      "\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165" +
 42.1253 -    "\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150" +
 42.1254 -    "\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\176\170\u018d" +
 42.1255 +    "\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150" +
 42.1256 +    "\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\175\173\u018d" +
 42.1257      "\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322" +
 42.1258      "\u016f\323\u0161\324\u0181\001\001\000\002\001\001\000\002" +
 42.1259      "\001\001\000\002\001\001\000\002\001\001\000\016\026" +
 42.1260 -    "\u01d7\027\202\030\224\103\221\163\205\164\176\001\001" +
 42.1261 +    "\u01d7\027\202\030\225\103\220\163\205\164\175\001\001" +
 42.1262      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 42.1263 -    "\006\037\322\257\316\001\001\000\002\001\001\000\116" +
 42.1264 -    "\026\u016e\027\202\030\224\044\u0162\045\u017e\046\u016c\047" +
 42.1265 +    "\006\037\322\170\316\001\001\000\002\001\001\000\116" +
 42.1266 +    "\026\u016e\027\202\030\225\044\u0162\045\u017e\046\u016c\047" +
 42.1267      "\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185" +
 42.1268 -    "\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135" +
 42.1269 +    "\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135" +
 42.1270      "\u0171\137\u0169\147\u01dd\150\u0178\153\u018c\157\u0164\162\u0187" +
 42.1271 -    "\163\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265" +
 42.1272 +    "\163\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265" +
 42.1273      "\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001" +
 42.1274      "\000\002\001\001\000\002\001\001\000\014\027\045\102" +
 42.1275      "\u0144\103\u0146\140\u0145\152\u01df\001\001\000\002\001\001" +
 42.1276      "\000\002\001\001\000\004\055\u01e7\001\001\000\002\001" +
 42.1277 -    "\001\000\114\026\u016e\027\202\030\224\044\u0162\045\u01e4" +
 42.1278 +    "\001\000\114\026\u016e\027\202\030\225\044\u0162\045\u01e4" +
 42.1279      "\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061" +
 42.1280 -    "\u0179\064\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a" +
 42.1281 +    "\u0179\064\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a" +
 42.1282      "\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162" +
 42.1283 -    "\u0187\163\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166" +
 42.1284 +    "\u0187\163\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166" +
 42.1285      "\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001" +
 42.1286 -    "\001\000\112\026\u016e\027\202\030\224\044\u0162\046\u016c" +
 42.1287 +    "\001\000\112\026\u016e\027\202\030\225\044\u0162\046\u016c" +
 42.1288      "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
 42.1289 -    "\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b" +
 42.1290 +    "\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b" +
 42.1291      "\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163" +
 42.1292 -    "\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 42.1293 +    "\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 42.1294      "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
 42.1295 -    "\114\026\u016e\027\202\030\224\044\u0162\045\u01ee\046\u016c" +
 42.1296 +    "\114\026\u016e\027\202\030\225\044\u0162\045\u01ee\046\u016c" +
 42.1297      "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
 42.1298 -    "\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b" +
 42.1299 +    "\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b" +
 42.1300      "\135\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163" +
 42.1301 -    "\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 42.1302 +    "\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 42.1303      "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
 42.1304 -    "\052\026\231\027\202\030\224\031\u019b\032\201\033\213" +
 42.1305 -    "\034\211\035\210\036\217\042\222\044\225\054\u01eb\103" +
 42.1306 -    "\221\154\220\155\215\160\227\163\205\164\176\255\207" +
 42.1307 +    "\052\026\231\027\202\030\225\031\u019b\032\201\033\213" +
 42.1308 +    "\034\211\035\210\036\217\042\222\044\224\054\u01eb\103" +
 42.1309 +    "\220\154\221\155\215\160\227\163\205\164\175\257\207" +
 42.1310      "\261\200\001\001\000\002\001\001\000\002\001\001\000" +
 42.1311      "\002\001\001\000\002\001\001\000\002\001\001\000\114" +
 42.1312 -    "\026\u016e\027\202\030\224\044\u0162\045\u01ed\046\u016c\047" +
 42.1313 +    "\026\u016e\027\202\030\225\044\u0162\045\u01ed\046\u016c\047" +
 42.1314      "\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185" +
 42.1315 -    "\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135" +
 42.1316 +    "\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135" +
 42.1317      "\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205" +
 42.1318 -    "\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316" +
 42.1319 +    "\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316" +
 42.1320      "\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000\112" +
 42.1321 -    "\026\u016e\027\202\030\224\044\u0162\046\u016c\047\u016a\050" +
 42.1322 +    "\026\u016e\027\202\030\225\044\u0162\046\u016c\047\u016a\050" +
 42.1323      "\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b" +
 42.1324 -    "\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137" +
 42.1325 -    "\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\176" +
 42.1326 -    "\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
 42.1327 +    "\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137" +
 42.1328 +    "\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\175" +
 42.1329 +    "\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
 42.1330      "\u0172\322\u016f\323\u0161\324\u0181\001\001\000\112\026\u016e" +
 42.1331 -    "\027\202\030\224\044\u0162\046\u016c\047\u016a\050\u0188\051" +
 42.1332 +    "\027\202\030\225\044\u0162\046\u016c\047\u016a\050\u0188\051" +
 42.1333      "\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165" +
 42.1334 -    "\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150" +
 42.1335 -    "\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\176\170\u018d" +
 42.1336 +    "\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150" +
 42.1337 +    "\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\175\173\u018d" +
 42.1338      "\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322" +
 42.1339      "\u016f\323\u0161\324\u0181\001\001\000\004\156\u01f0\001\001" +
 42.1340 -    "\000\002\001\001\000\052\026\231\027\202\030\224\031" +
 42.1341 +    "\000\002\001\001\000\052\026\231\027\202\030\225\031" +
 42.1342      "\u019b\032\201\033\213\034\211\035\210\036\217\042\222" +
 42.1343 -    "\044\225\054\u01f2\103\221\154\220\155\215\160\227\163" +
 42.1344 -    "\205\164\176\255\207\261\200\001\001\000\002\001\001" +
 42.1345 -    "\000\002\001\001\000\116\026\u016e\027\202\030\224\044" +
 42.1346 +    "\044\224\054\u01f2\103\220\154\221\155\215\160\227\163" +
 42.1347 +    "\205\164\175\257\207\261\200\001\001\000\002\001\001" +
 42.1348 +    "\000\002\001\001\000\116\026\u016e\027\202\030\225\044" +
 42.1349      "\u0162\045\u0205\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170" +
 42.1350 -    "\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\221\104" +
 42.1351 +    "\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\220\104" +
 42.1352      "\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c" +
 42.1353 -    "\157\u0164\162\u0187\163\205\164\176\170\u018d\262\u0189\263" +
 42.1354 +    "\157\u0164\162\u0187\163\205\164\175\173\u018d\262\u0189\263" +
 42.1355      "\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161" +
 42.1356      "\324\u0181\330\u0220\001\001\000\116\026\u016e\027\202\030" +
 42.1357 -    "\224\044\u0162\045\u0205\046\u016c\047\u016a\050\u0188\051\u0173" +
 42.1358 +    "\225\044\u0162\045\u0205\046\u016c\047\u016a\050\u0188\051\u0173" +
 42.1359      "\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103" +
 42.1360 -    "\221\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178" +
 42.1361 -    "\153\u018c\157\u0164\162\u0187\163\205\164\176\170\u018d\262" +
 42.1362 +    "\220\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178" +
 42.1363 +    "\153\u018c\157\u0164\162\u0187\163\205\164\175\173\u018d\262" +
 42.1364      "\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f" +
 42.1365      "\323\u0161\324\u0181\330\u0214\001\001\000\002\001\001\000" +
 42.1366      "\002\001\001\000\002\001\001\000\002\001\001\000\052" +
 42.1367 -    "\026\231\027\202\030\224\031\u019b\032\201\033\213\034" +
 42.1368 -    "\211\035\210\036\217\042\222\044\225\054\u020a\103\221" +
 42.1369 -    "\154\220\155\215\160\227\163\205\164\176\255\207\261" +
 42.1370 -    "\200\001\001\000\116\026\u016e\027\202\030\224\044\u0162" +
 42.1371 +    "\026\231\027\202\030\225\031\u019b\032\201\033\213\034" +
 42.1372 +    "\211\035\210\036\217\042\222\044\224\054\u020a\103\220" +
 42.1373 +    "\154\221\155\215\160\227\163\205\164\175\257\207\261" +
 42.1374 +    "\200\001\001\000\116\026\u016e\027\202\030\225\044\u0162" +
 42.1375      "\045\u0205\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056" +
 42.1376 -    "\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\221\104\u0180" +
 42.1377 +    "\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\220\104\u0180" +
 42.1378      "\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c\157" +
 42.1379 -    "\u0164\162\u0187\163\205\164\176\170\u018d\262\u0189\263\u0167" +
 42.1380 +    "\u0164\162\u0187\163\205\164\175\173\u018d\262\u0189\263\u0167" +
 42.1381      "\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324" +
 42.1382      "\u0181\330\u0209\001\001\000\004\326\u01ff\001\001\000\002" +
 42.1383      "\001\001\000\002\001\001\000\004\055\u0200\001\001\000" +
 42.1384      "\002\001\001\000\014\122\u0202\264\u01fb\316\u017a\325\u0203" +
 42.1385 -    "\327\u01f6\001\001\000\116\026\u016e\027\202\030\224\044" +
 42.1386 +    "\327\u01f6\001\001\000\116\026\u016e\027\202\030\225\044" +
 42.1387      "\u0162\045\u0205\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170" +
 42.1388 -    "\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\221\104" +
 42.1389 +    "\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\220\104" +
 42.1390      "\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c" +
 42.1391 -    "\157\u0164\162\u0187\163\205\164\176\170\u018d\262\u0189\263" +
 42.1392 +    "\157\u0164\162\u0187\163\205\164\175\173\u018d\262\u0189\263" +
 42.1393      "\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161" +
 42.1394      "\324\u0181\330\u0204\001\001\000\002\001\001\000\002\001" +
 42.1395 -    "\001\000\112\026\u016e\027\202\030\224\044\u0162\046\u016c" +
 42.1396 +    "\001\000\112\026\u016e\027\202\030\225\044\u0162\046\u016c" +
 42.1397      "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
 42.1398 -    "\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b" +
 42.1399 +    "\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b" +
 42.1400      "\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163" +
 42.1401 -    "\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 42.1402 +    "\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 42.1403      "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
 42.1404      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
 42.1405      "\001\001\000\002\001\001\000\012\122\u0202\264\u01fb\316" +
 42.1406      "\u017a\327\u020c\001\001\000\002\001\001\000\002\001\001" +
 42.1407 -    "\000\002\001\001\000\114\026\u016e\027\202\030\224\044" +
 42.1408 +    "\000\002\001\001\000\114\026\u016e\027\202\030\225\044" +
 42.1409      "\u0162\045\u0210\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170" +
 42.1410 -    "\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\221\104" +
 42.1411 +    "\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\220\104" +
 42.1412      "\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c" +
 42.1413 -    "\157\u0164\162\u0187\163\205\164\176\170\u018d\262\u0189\263" +
 42.1414 +    "\157\u0164\162\u0187\163\205\164\175\173\u018d\262\u0189\263" +
 42.1415      "\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161" +
 42.1416 -    "\324\u0181\001\001\000\112\026\u016e\027\202\030\224\044" +
 42.1417 +    "\324\u0181\001\001\000\112\026\u016e\027\202\030\225\044" +
 42.1418      "\u0162\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177" +
 42.1419 -    "\061\u0179\064\u0185\067\u016b\071\u0165\103\221\104\u0180\122" +
 42.1420 +    "\061\u0179\064\u0185\067\u016b\071\u0165\103\220\104\u0180\122" +
 42.1421      "\u018a\123\u018b\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164" +
 42.1422 -    "\162\u0187\163\205\164\176\170\u018d\262\u0189\263\u0167\264" +
 42.1423 +    "\162\u0187\163\205\164\175\173\u018d\262\u0189\263\u0167\264" +
 42.1424      "\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181" +
 42.1425      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 42.1426 -    "\001\000\002\001\001\000\114\026\u016e\027\202\030\224" +
 42.1427 +    "\001\000\002\001\001\000\114\026\u016e\027\202\030\225" +
 42.1428      "\044\u0162\045\u021c\046\u016c\047\u016a\050\u0188\051\u0173\052" +
 42.1429 -    "\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\221" +
 42.1430 +    "\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\220" +
 42.1431      "\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153" +
 42.1432 -    "\u018c\157\u0164\162\u0187\163\205\164\176\170\u018d\262\u0189" +
 42.1433 +    "\u018c\157\u0164\162\u0187\163\205\164\175\173\u018d\262\u0189" +
 42.1434      "\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323" +
 42.1435      "\u0161\324\u0181\001\001\000\004\122\u0217\001\001\000\116" +
 42.1436 -    "\026\u016e\027\202\030\224\044\u0162\045\u0205\046\u016c\047" +
 42.1437 +    "\026\u016e\027\202\030\225\044\u0162\045\u0205\046\u016c\047" +
 42.1438      "\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185" +
 42.1439 -    "\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135" +
 42.1440 +    "\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135" +
 42.1441      "\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205" +
 42.1442 -    "\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316" +
 42.1443 +    "\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316" +
 42.1444      "\u017a\321\u0172\322\u016f\323\u0161\324\u0181\330\u0218\001\001" +
 42.1445      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 42.1446 -    "\002\001\001\000\112\026\u016e\027\202\030\224\044\u0162" +
 42.1447 +    "\002\001\001\000\112\026\u016e\027\202\030\225\044\u0162" +
 42.1448      "\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061" +
 42.1449 -    "\u0179\064\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a" +
 42.1450 +    "\u0179\064\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a" +
 42.1451      "\123\u018b\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162" +
 42.1452 -    "\u0187\163\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166" +
 42.1453 +    "\u0187\163\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166" +
 42.1454      "\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001" +
 42.1455      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 42.1456 -    "\000\002\001\001\000\050\026\231\027\202\030\224\031" +
 42.1457 +    "\000\002\001\001\000\050\026\231\027\202\030\225\031" +
 42.1458      "\u0222\032\201\033\213\034\211\035\210\036\217\042\222" +
 42.1459 -    "\044\225\103\221\154\220\155\215\160\227\163\205\164" +
 42.1460 -    "\176\255\207\261\200\001\001\000\006\037\322\257\316" +
 42.1461 -    "\001\001\000\002\001\001\000\006\037\322\257\316\001" +
 42.1462 -    "\001\000\004\173\u0226\001\001\000\006\057\u0227\170\u014e" +
 42.1463 +    "\044\224\103\220\154\221\155\215\160\227\163\205\164" +
 42.1464 +    "\175\257\207\261\200\001\001\000\006\037\322\170\316" +
 42.1465 +    "\001\001\000\002\001\001\000\006\037\322\170\316\001" +
 42.1466 +    "\001\000\004\176\u0226\001\001\000\006\057\u0227\173\u014e" +
 42.1467      "\001\001\000\004\060\u0228\001\001\000\002\001\001\000" +
 42.1468 -    "\060\026\246\027\202\030\224\031\345\032\201\033\256" +
 42.1469 -    "\034\211\035\210\036\217\042\222\044\225\103\221\154" +
 42.1470 -    "\220\155\215\160\227\161\u022d\163\205\164\176\167\244" +
 42.1471 -    "\245\251\246\343\255\207\261\200\001\001\000\002\001" +
 42.1472 +    "\060\026\246\027\202\030\225\031\345\032\201\033\256" +
 42.1473 +    "\034\211\035\210\036\217\042\222\044\224\103\220\154" +
 42.1474 +    "\221\155\215\160\227\161\u022d\163\205\164\175\167\244" +
 42.1475 +    "\250\251\251\343\257\207\261\200\001\001\000\002\001" +
 42.1476      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 42.1477 -    "\000\114\026\u016e\027\202\030\224\044\u0162\045\u022f\046" +
 42.1478 +    "\000\114\026\u016e\027\202\030\225\044\u0162\045\u022f\046" +
 42.1479      "\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179" +
 42.1480 -    "\064\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123" +
 42.1481 +    "\064\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123" +
 42.1482      "\u018b\135\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187" +
 42.1483 -    "\163\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265" +
 42.1484 +    "\163\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265" +
 42.1485      "\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001" +
 42.1486 -    "\000\112\026\u016e\027\202\030\224\044\u0162\046\u016c\047" +
 42.1487 +    "\000\112\026\u016e\027\202\030\225\044\u0162\046\u016c\047" +
 42.1488      "\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185" +
 42.1489 -    "\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135" +
 42.1490 +    "\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135" +
 42.1491      "\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163\205" +
 42.1492 -    "\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316" +
 42.1493 +    "\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316" +
 42.1494      "\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000\002" +
 42.1495      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 42.1496      "\001\000\002\001\001\000\002\001\001\000\006\076\u0237" +
 42.1497      "\077\u0127\001\001\000\002\001\001\000\014\006\102\023" +
 42.1498      "\u012b\075\u0129\100\u012a\266\u0239\001\001\000\050\026\u012d" +
 42.1499 -    "\027\202\030\224\033\310\034\211\035\210\036\217\042" +
 42.1500 -    "\222\044\225\103\221\154\220\155\215\160\227\163\205" +
 42.1501 -    "\164\176\166\u023a\167\u012c\255\207\261\200\001\001\000" +
 42.1502 +    "\027\202\030\225\033\310\034\211\035\210\036\217\042" +
 42.1503 +    "\222\044\224\103\220\154\221\155\215\160\227\163\205" +
 42.1504 +    "\164\175\166\u023a\167\u012c\257\207\261\200\001\001\000" +
 42.1505      "\002\001\001\000\006\076\u023c\077\u0127\001\001\000\002" +
 42.1506 -    "\001\001\000\052\026\231\027\202\030\224\031\u019b\032" +
 42.1507 -    "\201\033\213\034\211\035\210\036\217\042\222\044\225" +
 42.1508 -    "\054\u023e\103\221\154\220\155\215\160\227\163\205\164" +
 42.1509 -    "\176\255\207\261\200\001\001\000\004\315\u0241\001\001" +
 42.1510 +    "\001\001\000\052\026\231\027\202\030\225\031\u019b\032" +
 42.1511 +    "\201\033\213\034\211\035\210\036\217\042\222\044\224" +
 42.1512 +    "\054\u023e\103\220\154\221\155\215\160\227\163\205\164" +
 42.1513 +    "\175\257\207\261\200\001\001\000\004\315\u0241\001\001" +
 42.1514      "\000\002\001\001\000\122\002\124\003\062\004\054\005" +
 42.1515      "\101\006\102\011\105\012\u0242\013\066\016\052\020\123" +
 42.1516      "\022\060\023\061\025\117\072\076\073\023\074\072\105" +
 42.1517      "\070\106\036\107\071\110\103\114\107\117\115\120\077" +
 42.1518 -    "\121\106\134\113\136\064\144\065\170\122\174\100\175" +
 42.1519 -    "\111\176\056\250\063\251\110\272\024\274\017\275\121" +
 42.1520 +    "\121\106\134\113\136\064\144\065\173\122\177\100\200" +
 42.1521 +    "\111\201\056\253\063\254\110\272\024\274\017\275\121" +
 42.1522      "\302\053\344\112\345\114\346\055\001\001\000\002\001" +
 42.1523      "\001\000\004\066\u0243\001\001\000\002\001\001\000\014" +
 42.1524      "\027\045\102\u0144\103\u0146\140\u0145\152\u0245\001\001\000" +
 42.1525      "\002\001\001\000\002\001\001\000\052\026\231\027\202" +
 42.1526 -    "\030\224\031\u019b\032\201\033\213\034\211\035\210\036" +
 42.1527 -    "\217\042\222\044\225\054\u0248\103\221\154\220\155\215" +
 42.1528 -    "\160\227\163\205\164\176\255\207\261\200\001\001\000" +
 42.1529 +    "\030\225\031\u019b\032\201\033\213\034\211\035\210\036" +
 42.1530 +    "\217\042\222\044\224\054\u0248\103\220\154\221\155\215" +
 42.1531 +    "\160\227\163\205\164\175\257\207\261\200\001\001\000" +
 42.1532      "\004\315\u0249\001\001\000\002\001\001\000\002\001\001" +
 42.1533      "\000\002\001\001\000\002\001\001\000\016\026\u0256\027" +
 42.1534 -    "\202\030\224\103\221\163\205\164\176\001\001\000\124" +
 42.1535 +    "\202\030\225\103\220\163\205\164\175\001\001\000\124" +
 42.1536      "\002\124\003\062\004\054\005\101\006\102\011\105\012" +
 42.1537      "\u015a\013\066\016\052\020\123\022\060\023\061\025\117" +
 42.1538      "\072\076\073\023\074\072\105\070\106\036\107\071\110" +
 42.1539      "\103\114\107\117\115\120\077\121\106\134\113\136\064" +
 42.1540 -    "\144\065\170\122\174\100\175\111\176\056\250\063\251" +
 42.1541 +    "\144\065\173\122\177\100\200\111\201\056\253\063\254" +
 42.1542      "\110\272\024\274\017\275\121\302\053\343\u0250\344\112" +
 42.1543      "\345\114\346\055\001\001\000\002\001\001\000\002\001" +
 42.1544 -    "\001\000\002\001\001\000\016\026\u0253\027\202\030\224" +
 42.1545 -    "\103\221\163\205\164\176\001\001\000\002\001\001\000" +
 42.1546 +    "\001\000\002\001\001\000\016\026\u0253\027\202\030\225" +
 42.1547 +    "\103\220\163\205\164\175\001\001\000\002\001\001\000" +
 42.1548      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
 42.1549      "\001\001\000\002\001\001\000\020\021\u025a\026\u011b\027" +
 42.1550 -    "\202\030\224\103\221\163\205\164\176\001\001\000\002" +
 42.1551 +    "\202\030\225\103\220\163\205\164\175\001\001\000\002" +
 42.1552      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 42.1553      "\001\000\010\027\045\140\u025f\141\u0260\001\001\000\002" +
 42.1554 -    "\001\001\000\002\001\001\000\002\001\001\000\006\177" +
 42.1555 -    "\u0263\200\140\001\001\000\004\145\u0264\001\001\000\002" +
 42.1556 -    "\001\001\000\042\017\u026c\111\u0272\112\u0268\201\u0267\202" +
 42.1557 -    "\u0271\203\u0275\204\u027b\205\u026f\206\u026b\207\u0277\211\u027a" +
 42.1558 -    "\217\u026d\221\u0270\222\u0276\223\u027d\224\u027e\001\001\000" +
 42.1559 -    "\050\026\231\027\202\030\224\031\u02e0\032\201\033\213" +
 42.1560 -    "\034\211\035\210\036\217\042\222\044\225\103\221\154" +
 42.1561 -    "\220\155\215\160\227\163\205\164\176\255\207\261\200" +
 42.1562 +    "\001\001\000\002\001\001\000\002\001\001\000\006\202" +
 42.1563 +    "\u0263\203\140\001\001\000\004\145\u0264\001\001\000\002" +
 42.1564 +    "\001\001\000\042\017\u026c\111\u0272\112\u0268\204\u0267\205" +
 42.1565 +    "\u0271\206\u0275\207\u027b\210\u026f\211\u026b\212\u0277\214\u027a" +
 42.1566 +    "\222\u026d\224\u0270\225\u0276\226\u027d\227\u027e\001\001\000" +
 42.1567 +    "\050\026\231\027\202\030\225\031\u02e0\032\201\033\213" +
 42.1568 +    "\034\211\035\210\036\217\042\222\044\224\103\220\154" +
 42.1569 +    "\221\155\215\160\227\163\205\164\175\257\207\261\200" +
 42.1570      "\001\001\000\002\001\001\000\004\113\u02dd\001\001\000" +
 42.1571 -    "\002\001\001\000\022\021\u02d3\026\u011b\027\202\030\224" +
 42.1572 -    "\103\221\163\205\164\176\247\u02d0\001\001\000\002\001" +
 42.1573 -    "\001\000\002\001\001\000\002\001\001\000\006\215\u02cb" +
 42.1574 -    "\216\u02ca\001\001\000\002\001\001\000\002\001\001\000" +
 42.1575 +    "\002\001\001\000\022\021\u02d3\026\u011b\027\202\030\225" +
 42.1576 +    "\103\220\163\205\164\175\252\u02d0\001\001\000\002\001" +
 42.1577 +    "\001\000\002\001\001\000\002\001\001\000\006\220\u02cb" +
 42.1578 +    "\221\u02ca\001\001\000\002\001\001\000\002\001\001\000" +
 42.1579      "\002\001\001\000\002\001\001\000\050\026\231\027\202" +
 42.1580 -    "\030\224\031\u02c3\032\201\033\213\034\211\035\210\036" +
 42.1581 -    "\217\042\222\044\225\103\221\154\220\155\215\160\227" +
 42.1582 -    "\163\205\164\176\255\207\261\200\001\001\000\050\026" +
 42.1583 -    "\231\027\202\030\224\031\u02c0\032\201\033\213\034\211" +
 42.1584 -    "\035\210\036\217\042\222\044\225\103\221\154\220\155" +
 42.1585 -    "\215\160\227\163\205\164\176\255\207\261\200\001\001" +
 42.1586 +    "\030\225\031\u02c3\032\201\033\213\034\211\035\210\036" +
 42.1587 +    "\217\042\222\044\224\103\220\154\221\155\215\160\227" +
 42.1588 +    "\163\205\164\175\257\207\261\200\001\001\000\050\026" +
 42.1589 +    "\231\027\202\030\225\031\u02c0\032\201\033\213\034\211" +
 42.1590 +    "\035\210\036\217\042\222\044\224\103\220\154\221\155" +
 42.1591 +    "\215\160\227\163\205\164\175\257\207\261\200\001\001" +
 42.1592      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 42.1593 -    "\002\001\001\000\020\021\u0294\026\u011b\027\202\030\224" +
 42.1594 -    "\103\221\163\205\164\176\001\001\000\002\001\001\000" +
 42.1595 -    "\002\001\001\000\004\231\u027f\001\001\000\002\001\001" +
 42.1596 +    "\002\001\001\000\020\021\u0294\026\u011b\027\202\030\225" +
 42.1597 +    "\103\220\163\205\164\175\001\001\000\002\001\001\000" +
 42.1598 +    "\002\001\001\000\004\234\u027f\001\001\000\002\001\001" +
 42.1599      "\000\002\001\001\000\002\001\001\000\056\026\u0285\027" +
 42.1600 -    "\202\030\224\033\310\034\211\035\210\036\217\042\222" +
 42.1601 -    "\044\225\103\221\154\220\155\215\160\227\163\205\164" +
 42.1602 -    "\176\166\u0284\167\u012c\225\u0281\226\u0282\232\u0283\255\207" +
 42.1603 +    "\202\030\225\033\310\034\211\035\210\036\217\042\222" +
 42.1604 +    "\044\224\103\220\154\221\155\215\160\227\163\205\164" +
 42.1605 +    "\175\166\u0284\167\u012c\230\u0281\231\u0282\235\u0283\257\207" +
 42.1606      "\261\200\001\001\000\002\001\001\000\002\001\001\000" +
 42.1607 -    "\002\001\001\000\002\001\001\000\006\211\u0124\213\u0136" +
 42.1608 -    "\001\001\000\046\026\337\027\202\030\224\033\310\034" +
 42.1609 -    "\211\035\210\036\217\042\222\044\225\103\221\154\220" +
 42.1610 -    "\155\215\160\227\163\205\164\176\167\336\255\207\261" +
 42.1611 +    "\002\001\001\000\002\001\001\000\006\214\u0124\216\u0136" +
 42.1612 +    "\001\001\000\046\026\337\027\202\030\225\033\310\034" +
 42.1613 +    "\211\035\210\036\217\042\222\044\224\103\220\154\221" +
 42.1614 +    "\155\215\160\227\163\205\164\175\167\336\257\207\261" +
 42.1615      "\200\001\001\000\002\001\001\000\050\026\u012d\027\202" +
 42.1616 -    "\030\224\033\310\034\211\035\210\036\217\042\222\044" +
 42.1617 -    "\225\103\221\154\220\155\215\160\227\163\205\164\176" +
 42.1618 -    "\166\u028a\167\u012c\255\207\261\200\001\001\000\002\001" +
 42.1619 -    "\001\000\002\001\001\000\020\026\u028f\027\202\030\224" +
 42.1620 -    "\103\221\163\205\164\176\226\u0290\001\001\000\002\001" +
 42.1621 -    "\001\000\006\227\u028e\230\u0117\001\001\000\002\001\001" +
 42.1622 +    "\030\225\033\310\034\211\035\210\036\217\042\222\044" +
 42.1623 +    "\224\103\220\154\221\155\215\160\227\163\205\164\175" +
 42.1624 +    "\166\u028a\167\u012c\257\207\261\200\001\001\000\002\001" +
 42.1625 +    "\001\000\002\001\001\000\020\026\u028f\027\202\030\225" +
 42.1626 +    "\103\220\163\205\164\175\231\u0290\001\001\000\002\001" +
 42.1627 +    "\001\000\006\232\u028e\233\u0117\001\001\000\002\001\001" +
 42.1628      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 42.1629 -    "\006\227\u0293\230\u0117\001\001\000\002\001\001\000\002" +
 42.1630 -    "\001\001\000\004\214\u0297\001\001\000\004\173\u029b\001" +
 42.1631 +    "\006\232\u0293\233\u0117\001\001\000\002\001\001\000\002" +
 42.1632 +    "\001\001\000\004\217\u0297\001\001\000\004\176\u029b\001" +
 42.1633      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 42.1634 -    "\000\002\001\001\000\020\006\102\023\u0110\170\u014e\233" +
 42.1635 -    "\u029e\234\u029d\235\u02a0\237\u02a1\001\001\000\002\001\001" +
 42.1636 -    "\000\006\173\u02b4\236\u02b3\001\001\000\002\001\001\000" +
 42.1637 -    "\004\027\u02a3\001\001\000\002\001\001\000\004\173\u02a2" +
 42.1638 -    "\001\001\000\004\170\u014e\001\001\000\002\001\001\000" +
 42.1639 -    "\004\173\u02a5\001\001\000\010\170\u014e\243\u02a8\244\u02a6" +
 42.1640 +    "\000\002\001\001\000\020\006\102\023\u0110\173\u014e\236" +
 42.1641 +    "\u029e\237\u029d\240\u02a0\242\u02a1\001\001\000\002\001\001" +
 42.1642 +    "\000\006\176\u02b4\241\u02b3\001\001\000\002\001\001\000" +
 42.1643 +    "\004\027\u02a3\001\001\000\002\001\001\000\004\176\u02a2" +
 42.1644 +    "\001\001\000\004\173\u014e\001\001\000\002\001\001\000" +
 42.1645 +    "\004\176\u02a5\001\001\000\010\173\u014e\246\u02a8\247\u02a6" +
 42.1646      "\001\001\000\002\001\001\000\060\026\246\027\202\030" +
 42.1647 -    "\224\031\345\032\201\033\256\034\211\035\210\036\217" +
 42.1648 -    "\042\222\044\225\103\221\154\220\155\215\160\227\161" +
 42.1649 -    "\u02ad\163\205\164\176\167\244\245\251\246\343\255\207" +
 42.1650 -    "\261\200\001\001\000\004\244\u02a9\001\001\000\002\001" +
 42.1651 +    "\225\031\345\032\201\033\256\034\211\035\210\036\217" +
 42.1652 +    "\042\222\044\224\103\220\154\221\155\215\160\227\161" +
 42.1653 +    "\u02ad\163\205\164\175\167\244\250\251\251\343\257\207" +
 42.1654 +    "\261\200\001\001\000\004\247\u02a9\001\001\000\002\001" +
 42.1655      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 42.1656 -    "\000\002\001\001\000\004\173\u02af\001\001\000\020\006" +
 42.1657 -    "\102\023\u0110\170\u014e\233\u02b0\234\u029d\235\u02a0\237\u02a1" +
 42.1658 +    "\000\002\001\001\000\004\176\u02af\001\001\000\020\006" +
 42.1659 +    "\102\023\u0110\173\u014e\236\u02b0\237\u029d\240\u02a0\242\u02a1" +
 42.1660      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 42.1661 -    "\001\000\002\001\001\000\014\006\102\023\u0110\170\u014e" +
 42.1662 -    "\235\u02b5\237\u02b6\001\001\000\002\001\001\000\004\173" +
 42.1663 -    "\u02b7\001\001\000\004\170\u014e\001\001\000\004\173\u02b9" +
 42.1664 -    "\001\001\000\004\170\u014e\001\001\000\002\001\001\000" +
 42.1665 -    "\020\021\u02bc\026\u011b\027\202\030\224\103\221\163\205" +
 42.1666 -    "\164\176\001\001\000\002\001\001\000\004\214\u02be\001" +
 42.1667 +    "\001\000\002\001\001\000\014\006\102\023\u0110\173\u014e" +
 42.1668 +    "\240\u02b5\242\u02b6\001\001\000\002\001\001\000\004\176" +
 42.1669 +    "\u02b7\001\001\000\004\173\u014e\001\001\000\004\176\u02b9" +
 42.1670 +    "\001\001\000\004\173\u014e\001\001\000\002\001\001\000" +
 42.1671 +    "\020\021\u02bc\026\u011b\027\202\030\225\103\220\163\205" +
 42.1672 +    "\164\175\001\001\000\002\001\001\000\004\217\u02be\001" +
 42.1673      "\001\000\002\001\001\000\002\001\001\000\014\037\322" +
 42.1674 -    "\211\u027a\217\u02c2\220\u02c1\257\316\001\001\000\002\001" +
 42.1675 -    "\001\000\002\001\001\000\012\037\322\211\u027a\217\u02c4" +
 42.1676 -    "\257\316\001\001\000\002\001\001\000\050\026\231\027" +
 42.1677 -    "\202\030\224\031\u02c6\032\201\033\213\034\211\035\210" +
 42.1678 -    "\036\217\042\222\044\225\103\221\154\220\155\215\160" +
 42.1679 -    "\227\163\205\164\176\255\207\261\200\001\001\000\014" +
 42.1680 -    "\037\322\211\u027a\217\u02c2\220\u02c7\257\316\001\001\000" +
 42.1681 +    "\170\316\214\u027a\222\u02c2\223\u02c1\001\001\000\002\001" +
 42.1682 +    "\001\000\002\001\001\000\012\037\322\170\316\214\u027a" +
 42.1683 +    "\222\u02c4\001\001\000\002\001\001\000\050\026\231\027" +
 42.1684 +    "\202\030\225\031\u02c6\032\201\033\213\034\211\035\210" +
 42.1685 +    "\036\217\042\222\044\224\103\220\154\221\155\215\160" +
 42.1686 +    "\227\163\205\164\175\257\207\261\200\001\001\000\014" +
 42.1687 +    "\037\322\170\316\214\u027a\222\u02c2\223\u02c7\001\001\000" +
 42.1688      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
 42.1689 -    "\001\001\000\002\001\001\000\004\216\u02ce\001\001\000" +
 42.1690 +    "\001\001\000\002\001\001\000\004\221\u02ce\001\001\000" +
 42.1691      "\002\001\001\000\002\001\001\000\020\021\u02db\026\u011b" +
 42.1692 -    "\027\202\030\224\103\221\163\205\164\176\001\001\000" +
 42.1693 -    "\002\001\001\000\020\021\u02d4\026\u011b\027\202\030\224" +
 42.1694 -    "\103\221\163\205\164\176\001\001\000\002\001\001\000" +
 42.1695 +    "\027\202\030\225\103\220\163\205\164\175\001\001\000" +
 42.1696 +    "\002\001\001\000\020\021\u02d4\026\u011b\027\202\030\225" +
 42.1697 +    "\103\220\163\205\164\175\001\001\000\002\001\001\000" +
 42.1698      "\002\001\001\000\002\001\001\000\006\076\u02da\077\u0127" +
 42.1699      "\001\001\000\006\076\u02d7\077\u0127\001\001\000\002\001" +
 42.1700      "\001\000\006\027\160\146\u02d9\001\001\000\002\001\001" +
 42.1701      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 42.1702 -    "\004\214\u02de\001\001\000\002\001\001\000\002\001\001" +
 42.1703 -    "\000\006\037\322\257\316\001\001\000\002\001\001\000" +
 42.1704 -    "\002\001\001\000\050\026\231\027\202\030\224\031\u02e5" +
 42.1705 +    "\004\217\u02de\001\001\000\002\001\001\000\002\001\001" +
 42.1706 +    "\000\006\037\322\170\316\001\001\000\002\001\001\000" +
 42.1707 +    "\002\001\001\000\050\026\231\027\202\030\225\031\u02e5" +
 42.1708      "\032\201\033\213\034\211\035\210\036\217\042\222\044" +
 42.1709 -    "\225\103\221\154\220\155\215\160\227\163\205\164\176" +
 42.1710 -    "\255\207\261\200\001\001\000\050\026\231\027\202\030" +
 42.1711 -    "\224\031\u02f7\032\201\033\213\034\211\035\210\036\217" +
 42.1712 -    "\042\222\044\225\103\221\154\220\155\215\160\227\163" +
 42.1713 -    "\205\164\176\255\207\261\200\001\001\000\006\037\322" +
 42.1714 -    "\257\316\001\001\000\004\347\u02e8\001\001\000\002\001" +
 42.1715 +    "\224\103\220\154\221\155\215\160\227\163\205\164\175" +
 42.1716 +    "\257\207\261\200\001\001\000\050\026\231\027\202\030" +
 42.1717 +    "\225\031\u02f7\032\201\033\213\034\211\035\210\036\217" +
 42.1718 +    "\042\222\044\224\103\220\154\221\155\215\160\227\163" +
 42.1719 +    "\205\164\175\257\207\261\200\001\001\000\006\037\322" +
 42.1720 +    "\170\316\001\001\000\004\347\u02e8\001\001\000\002\001" +
 42.1721      "\001\000\004\350\u02e9\001\001\000\006\027\160\146\u02eb" +
 42.1722      "\001\001\000\002\001\001\000\002\001\001\000\050\026" +
 42.1723 -    "\231\027\202\030\224\031\u02ed\032\201\033\213\034\211" +
 42.1724 -    "\035\210\036\217\042\222\044\225\103\221\154\220\155" +
 42.1725 -    "\215\160\227\163\205\164\176\255\207\261\200\001\001" +
 42.1726 -    "\000\006\037\322\257\316\001\001\000\046\026\337\027" +
 42.1727 -    "\202\030\224\033\310\034\211\035\210\036\217\042\222" +
 42.1728 -    "\044\225\103\221\154\220\155\215\160\227\163\205\164" +
 42.1729 -    "\176\167\u02ef\255\207\261\200\001\001\000\002\001\001" +
 42.1730 +    "\231\027\202\030\225\031\u02ed\032\201\033\213\034\211" +
 42.1731 +    "\035\210\036\217\042\222\044\224\103\220\154\221\155" +
 42.1732 +    "\215\160\227\163\205\164\175\257\207\261\200\001\001" +
 42.1733 +    "\000\006\037\322\170\316\001\001\000\046\026\337\027" +
 42.1734 +    "\202\030\225\033\310\034\211\035\210\036\217\042\222" +
 42.1735 +    "\044\224\103\220\154\221\155\215\160\227\163\205\164" +
 42.1736 +    "\175\167\u02ef\257\207\261\200\001\001\000\002\001\001" +
 42.1737      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 42.1738 -    "\050\026\231\027\202\030\224\031\u02f4\032\201\033\213" +
 42.1739 -    "\034\211\035\210\036\217\042\222\044\225\103\221\154" +
 42.1740 -    "\220\155\215\160\227\163\205\164\176\255\207\261\200" +
 42.1741 -    "\001\001\000\006\037\322\257\316\001\001\000\002\001" +
 42.1742 -    "\001\000\002\001\001\000\006\037\322\257\316\001\001" +
 42.1743 +    "\050\026\231\027\202\030\225\031\u02f4\032\201\033\213" +
 42.1744 +    "\034\211\035\210\036\217\042\222\044\224\103\220\154" +
 42.1745 +    "\221\155\215\160\227\163\205\164\175\257\207\261\200" +
 42.1746 +    "\001\001\000\006\037\322\170\316\001\001\000\002\001" +
 42.1747 +    "\001\000\002\001\001\000\006\037\322\170\316\001\001" +
 42.1748      "\000\002\001\001\000\002\001\001\000\004\024\u02fe\001" +
 42.1749      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 42.1750 -    "\000\030\021\u0300\026\u011b\027\202\030\224\103\221\142" +
 42.1751 -    "\u02ff\163\205\164\176\204\u0301\223\u027d\224\u027e\001\001" +
 42.1752 +    "\000\030\021\u0300\026\u011b\027\202\030\225\103\220\142" +
 42.1753 +    "\u02ff\163\205\164\175\207\u0301\226\u027d\227\u027e\001\001" +
 42.1754      "\000\004\143\u0305\001\001\000\002\001\001\000\002\001" +
 42.1755 -    "\001\000\016\026\u0303\027\202\030\224\103\221\163\205" +
 42.1756 -    "\164\176\001\001\000\002\001\001\000\002\001\001\000" +
 42.1757 +    "\001\000\016\026\u0303\027\202\030\225\103\220\163\205" +
 42.1758 +    "\164\175\001\001\000\002\001\001\000\002\001\001\000" +
 42.1759      "\002\001\001\000\002\001\001\000\050\026\231\027\202" +
 42.1760 -    "\030\224\031\u0308\032\201\033\213\034\211\035\210\036" +
 42.1761 -    "\217\042\222\044\225\103\221\154\220\155\215\160\227" +
 42.1762 -    "\163\205\164\176\255\207\261\200\001\001\000\006\037" +
 42.1763 -    "\322\257\316\001\001\000\002\001\001\000\002\001\001" +
 42.1764 -    "\000\002\001\001\000\016\026\u030d\027\202\030\224\103" +
 42.1765 -    "\221\163\205\164\176\001\001\000\002\001\001\000\002" +
 42.1766 +    "\030\225\031\u0308\032\201\033\213\034\211\035\210\036" +
 42.1767 +    "\217\042\222\044\224\103\220\154\221\155\215\160\227" +
 42.1768 +    "\163\205\164\175\257\207\261\200\001\001\000\006\037" +
 42.1769 +    "\322\170\316\001\001\000\002\001\001\000\002\001\001" +
 42.1770 +    "\000\002\001\001\000\016\026\u030d\027\202\030\225\103" +
 42.1771 +    "\220\163\205\164\175\001\001\000\002\001\001\000\002" +
 42.1772      "\001\001\000\004\027\u0324\001\001\000\004\276\u0323\001" +
 42.1773 -    "\001\000\004\027\u0312\001\001\000\006\177\u0313\200\140" +
 42.1774 -    "\001\001\000\004\276\u0315\001\001\000\006\173\u0317\277" +
 42.1775 +    "\001\000\004\027\u0312\001\001\000\006\202\u0313\203\140" +
 42.1776 +    "\001\001\000\004\276\u0315\001\001\000\006\176\u0317\277" +
 42.1777      "\u0316\001\001\000\002\001\001\000\006\300\u0319\310\u0318" +
 42.1778 -    "\001\001\000\004\170\u014e\001\001\000\004\173\u0322\001" +
 42.1779 -    "\001\000\014\250\u031a\301\u031b\344\112\345\114\346\055" +
 42.1780 -    "\001\001\000\004\173\u0321\001\001\000\002\001\001\000" +
 42.1781 -    "\006\173\u0317\277\u031d\001\001\000\006\300\u031e\310\u0318" +
 42.1782 -    "\001\001\000\012\250\u031a\344\112\345\114\346\055\001" +
 42.1783 +    "\001\001\000\004\173\u014e\001\001\000\004\176\u0322\001" +
 42.1784 +    "\001\000\014\253\u031a\301\u031b\344\112\345\114\346\055" +
 42.1785 +    "\001\001\000\004\176\u0321\001\001\000\002\001\001\000" +
 42.1786 +    "\006\176\u0317\277\u031d\001\001\000\006\300\u031e\310\u0318" +
 42.1787 +    "\001\001\000\012\253\u031a\344\112\345\114\346\055\001" +
 42.1788      "\001\000\014\027\045\102\u0144\103\u0146\140\u0145\152\u0320" +
 42.1789 -    "\001\001\000\002\001\001\000\004\170\u014e\001\001\000" +
 42.1790 -    "\004\170\u014e\001\001\000\002\001\001\000\002\001\001" +
 42.1791 +    "\001\001\000\002\001\001\000\004\173\u014e\001\001\000" +
 42.1792 +    "\004\173\u014e\001\001\000\002\001\001\000\002\001\001" +
 42.1793      "\000\122\002\124\003\062\004\054\005\101\006\102\011" +
 42.1794      "\105\012\u0327\013\066\016\052\020\123\022\060\023\061" +
 42.1795      "\025\117\072\076\073\023\074\072\105\070\106\036\107" +
 42.1796      "\071\110\103\114\107\117\115\120\077\121\106\134\113" +
 42.1797 -    "\136\064\144\065\170\122\174\100\175\111\176\056\250" +
 42.1798 -    "\063\251\110\272\024\274\017\275\121\302\053\344\112" +
 42.1799 +    "\136\064\144\065\173\122\177\100\200\111\201\056\253" +
 42.1800 +    "\063\254\110\272\024\274\017\275\121\302\053\344\112" +
 42.1801      "\345\114\346\055\001\001\000\002\001\001\000\004\066" +
 42.1802      "\u0328\001\001\000\002\001\001\000\014\027\045\102\u0144" +
 42.1803      "\103\u0146\140\u0145\152\u032a\001\001\000\002\001\001\000" +
 42.1804      "\002\001\001\000\002\001\001\000\002\001\001\000\016" +
 42.1805 -    "\026\u0348\027\202\030\224\103\221\163\205\164\176\001" +
 42.1806 +    "\026\u0348\027\202\030\225\103\220\163\205\164\175\001" +
 42.1807      "\001\000\110\002\124\003\062\004\054\005\101\006\102" +
 42.1808      "\007\u0333\010\u0337\011\u0334\020\123\022\060\023\061\025" +
 42.1809      "\117\072\u0332\073\023\105\070\106\036\114\107\117\115" +
 42.1810 -    "\120\077\134\113\136\064\144\065\170\122\174\100\175" +
 42.1811 -    "\111\176\056\250\063\272\024\274\017\275\121\302\053" +
 42.1812 +    "\120\077\134\113\136\064\144\065\173\122\177\100\200" +
 42.1813 +    "\111\201\056\253\063\272\024\274\017\275\121\302\053" +
 42.1814      "\343\u0331\344\112\345\114\346\055\001\001\000\004\027" +
 42.1815      "\u0310\001\001\000\002\001\001\000\002\001\001\000\004" +
 42.1816      "\014\u033f\001\001\000\002\001\001\000\002\001\001\000" +
 42.1817      "\006\027\045\140\042\001\001\000\102\002\124\003\062" +
 42.1818      "\004\054\005\101\006\102\011\u0338\020\123\022\060\023" +
 42.1819      "\061\025\117\072\u0332\073\023\105\070\106\036\114\107" +
 42.1820 -    "\117\115\120\077\134\113\136\064\144\065\170\122\174" +
 42.1821 -    "\100\175\111\176\056\250\063\272\024\274\017\275\121" +
 42.1822 +    "\117\115\120\077\134\113\136\064\144\065\173\122\177" +
 42.1823 +    "\100\200\111\201\056\253\063\272\024\274\017\275\121" +
 42.1824      "\302\053\344\112\345\114\346\055\001\001\000\002\001" +
 42.1825      "\001\000\006\027\045\140\u033a\001\001\000\002\001\001" +
 42.1826      "\000\002\001\001\000\004\027\u033d\001\001\000\002\001" +
 42.1827 @@ -2559,7 +2559,7 @@
 42.1828      "\003\062\004\054\005\101\006\102\007\u0341\010\u0337\011" +
 42.1829      "\u0334\020\123\022\060\023\061\025\117\072\u0332\073\023" +
 42.1830      "\105\070\106\036\114\107\117\115\120\077\134\113\136" +
 42.1831 -    "\064\144\065\170\122\174\100\175\111\176\056\250\063" +
 42.1832 +    "\064\144\065\173\122\177\100\200\111\201\056\253\063" +
 42.1833      "\272\024\274\017\275\121\302\053\344\112\345\114\346" +
 42.1834      "\055\001\001\000\002\001\001\000\010\027\045\140\u025f" +
 42.1835      "\141\u0343\001\001\000\002\001\001\000\004\343\u0250\001" +
 42.1836 @@ -2569,98 +2569,98 @@
 42.1837      "\013\066\016\052\020\123\022\060\023\061\025\117\072" +
 42.1838      "\076\073\023\074\072\105\070\106\036\107\071\110\103" +
 42.1839      "\114\107\117\115\120\077\121\106\134\113\136\064\144" +
 42.1840 -    "\065\170\122\174\100\175\111\176\056\250\063\251\110" +
 42.1841 +    "\065\173\122\177\100\200\111\201\056\253\063\254\110" +
 42.1842      "\272\024\274\017\275\121\302\053\343\u0250\344\112\345" +
 42.1843 -    "\114\346\055\001\001\000\004\170\u014e\001\001\000\006" +
 42.1844 +    "\114\346\055\001\001\000\004\173\u014e\001\001\000\006" +
 42.1845      "\076\u034d\077\u0127\001\001\000\002\001\001\000\016\026" +
 42.1846 -    "\u034f\027\202\030\224\103\221\163\205\164\176\001\001" +
 42.1847 +    "\u034f\027\202\030\225\103\220\163\205\164\175\001\001" +
 42.1848      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 42.1849      "\006\027\045\140\u0353\001\001\000\002\001\001\000\016" +
 42.1850      "\015\u035b\016\u0358\072\u035d\074\u0356\107\u035c\121\u0359\001" +
 42.1851      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 42.1852      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 42.1853      "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
 42.1854 -    "\027\u035f\001\001\000\002\001\001\000\006\173\u014d\312" +
 42.1855 +    "\027\u035f\001\001\000\002\001\001\000\006\176\u014d\312" +
 42.1856      "\u014c\001\001\000\004\027\u0362\001\001\000\002\001\001" +
 42.1857      "\000\122\002\124\003\062\004\054\005\101\006\102\011" +
 42.1858      "\105\012\u0327\013\066\016\052\020\123\022\060\023\061" +
 42.1859      "\025\117\072\076\073\023\074\072\105\070\106\036\107" +
 42.1860      "\071\110\103\114\107\117\115\120\077\121\106\134\113" +
 42.1861 -    "\136\064\144\065\170\122\174\100\175\111\176\056\250" +
 42.1862 -    "\063\251\110\272\024\274\017\275\121\302\053\344\112" +
 42.1863 +    "\136\064\144\065\173\122\177\100\200\111\201\056\253" +
 42.1864 +    "\063\254\110\272\024\274\017\275\121\302\053\344\112" +
 42.1865      "\345\114\346\055\001\001\000\006\076\u0365\077\u0127\001" +
 42.1866      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 42.1867      "\000\006\027\045\140\u03b2\001\001\000\002\001\001\000" +
 42.1868      "\004\027\u038c\001\001\000\002\001\001\000\002\001\001" +
 42.1869      "\000\002\001\001\000\002\001\001\000\016\026\u0370\027" +
 42.1870 -    "\202\030\224\103\221\163\205\164\176\001\001\000\002" +
 42.1871 +    "\202\030\225\103\220\163\205\164\175\001\001\000\002" +
 42.1872      "\001\001\000\002\001\001\000\004\027\u0387\001\001\000" +
 42.1873      "\004\027\u037e\001\001\000\012\027\045\102\u0375\103\u0146" +
 42.1874      "\140\u0145\001\001\000\006\076\u0376\077\u0127\001\001\000" +
 42.1875 -    "\002\001\001\000\016\026\u0378\027\202\030\224\103\221" +
 42.1876 -    "\163\205\164\176\001\001\000\004\341\u037a\001\001\000" +
 42.1877 -    "\016\026\u037d\027\202\030\224\103\221\163\205\164\176" +
 42.1878 +    "\002\001\001\000\016\026\u0378\027\202\030\225\103\220" +
 42.1879 +    "\163\205\164\175\001\001\000\004\341\u037a\001\001\000" +
 42.1880 +    "\016\026\u037d\027\202\030\225\103\220\163\205\164\175" +
 42.1881      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 42.1882      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 42.1883 -    "\000\016\026\u0381\027\202\030\224\103\221\163\205\164" +
 42.1884 -    "\176\001\001\000\002\001\001\000\002\001\001\000\066" +
 42.1885 -    "\026\246\027\202\030\224\031\247\032\201\033\256\034" +
 42.1886 -    "\211\035\210\036\217\042\222\044\225\103\221\154\220" +
 42.1887 -    "\155\215\160\227\161\245\163\205\164\176\165\255\167" +
 42.1888 -    "\244\245\251\246\243\253\254\254\253\255\207\261\200" +
 42.1889 +    "\000\016\026\u0381\027\202\030\225\103\220\163\205\164" +
 42.1890 +    "\175\001\001\000\002\001\001\000\002\001\001\000\066" +
 42.1891 +    "\026\246\027\202\030\225\031\247\032\201\033\256\034" +
 42.1892 +    "\211\035\210\036\217\042\222\044\224\103\220\154\221" +
 42.1893 +    "\155\215\160\227\161\245\163\205\164\175\165\255\167" +
 42.1894 +    "\244\250\251\251\243\255\254\256\253\257\207\261\200" +
 42.1895      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 42.1896      "\001\000\006\076\u0388\077\u0127\001\001\000\004\341\u0389" +
 42.1897      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 42.1898 -    "\001\000\006\200\u038d\337\u038f\001\001\000\002\001\001" +
 42.1899 -    "\000\012\006\102\023\143\240\146\241\147\001\001\000" +
 42.1900 -    "\002\001\001\000\022\111\u0397\112\u0393\204\u039d\206\u0395" +
 42.1901 -    "\223\u027d\224\u027e\340\u0394\342\u039a\001\001\000\002\001" +
 42.1902 +    "\001\000\006\203\u038d\337\u038f\001\001\000\002\001\001" +
 42.1903 +    "\000\012\006\102\023\143\243\146\244\147\001\001\000" +
 42.1904 +    "\002\001\001\000\022\111\u0397\112\u0393\207\u039d\211\u0395" +
 42.1905 +    "\226\u027d\227\u027e\340\u0394\342\u039a\001\001\000\002\001" +
 42.1906      "\001\000\002\001\001\000\004\113\u03ac\001\001\000\002" +
 42.1907      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 42.1908      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 42.1909      "\000\002\001\001\000\020\021\u039e\026\u011b\027\202\030" +
 42.1910 -    "\224\103\221\163\205\164\176\001\001\000\002\001\001" +
 42.1911 +    "\225\103\220\163\205\164\175\001\001\000\002\001\001" +
 42.1912      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 42.1913 -    "\020\021\u03a2\026\u011b\027\202\030\224\103\221\163\205" +
 42.1914 -    "\164\176\001\001\000\002\001\001\000\002\001\001\000" +
 42.1915 +    "\020\021\u03a2\026\u011b\027\202\030\225\103\220\163\205" +
 42.1916 +    "\164\175\001\001\000\002\001\001\000\002\001\001\000" +
 42.1917      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
 42.1918      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 42.1919      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 42.1920      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 42.1921      "\002\001\001\000\002\001\001\000\016\026\u03b5\027\202" +
 42.1922 -    "\030\224\103\221\163\205\164\176\001\001\000\106\002" +
 42.1923 +    "\030\225\103\220\163\205\164\175\001\001\000\106\002" +
 42.1924      "\124\003\062\004\054\005\101\006\102\007\u0333\010\u0337" +
 42.1925      "\011\u0334\020\123\022\060\023\061\025\117\072\u0332\073" +
 42.1926      "\023\105\070\106\036\114\107\117\115\120\077\134\113" +
 42.1927 -    "\136\064\144\065\170\122\174\100\175\111\176\056\250" +
 42.1928 +    "\136\064\144\065\173\122\177\100\200\111\201\056\253" +
 42.1929      "\063\272\024\274\017\275\121\302\053\344\112\345\114" +
 42.1930      "\346\055\001\001\000\002\001\001\000\002\001\001\000" +
 42.1931      "\002\001\001\000\002\001\001\000\020\026\u03ba\027\202" +
 42.1932 -    "\030\224\103\221\116\u03bb\163\205\164\176\001\001\000" +
 42.1933 +    "\030\225\103\220\116\u03bb\163\205\164\175\001\001\000" +
 42.1934      "\002\001\001\000\002\001\001\000\016\026\u03be\027\202" +
 42.1935 -    "\030\224\103\221\163\205\164\176\001\001\000\002\001" +
 42.1936 -    "\001\000\002\001\001\000\016\026\u03c1\027\202\030\224" +
 42.1937 -    "\103\221\163\205\164\176\001\001\000\002\001\001\000" +
 42.1938 +    "\030\225\103\220\163\205\164\175\001\001\000\002\001" +
 42.1939 +    "\001\000\002\001\001\000\016\026\u03c1\027\202\030\225" +
 42.1940 +    "\103\220\163\205\164\175\001\001\000\002\001\001\000" +
 42.1941      "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
 42.1942      "\027\045\140\u03c6\001\001\000\002\001\001\000\002\001" +
 42.1943      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 42.1944      "\000\034\005\025\072\034\073\023\074\037\105\030\106" +
 42.1945      "\036\107\022\120\032\130\u03cb\136\031\151\040\272\024" +
 42.1946 -    "\274\017\001\001\000\004\173\u03cc\001\001\000\004\170" +
 42.1947 -    "\u014e\001\001\000\004\170\u014e\001\001\000\002\001\001" +
 42.1948 +    "\274\017\001\001\000\004\176\u03cc\001\001\000\004\173" +
 42.1949 +    "\u014e\001\001\000\004\173\u014e\001\001\000\002\001\001" +
 42.1950      "\000\002\001\001\000\002\001\001\000\054\026\231\027" +
 42.1951 -    "\u03d4\030\224\031\u03d5\032\201\033\213\034\211\035\210" +
 42.1952 -    "\036\217\042\222\044\225\103\221\154\220\155\215\160" +
 42.1953 -    "\227\163\205\164\176\171\u03d3\172\u03d2\255\207\261\200" +
 42.1954 +    "\u03d4\030\225\031\u03d5\032\201\033\213\034\211\035\210" +
 42.1955 +    "\036\217\042\222\044\224\103\220\154\221\155\215\160" +
 42.1956 +    "\227\163\205\164\175\174\u03d3\175\u03d2\257\207\261\200" +
 42.1957      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 42.1958 -    "\001\000\006\037\322\257\316\001\001\000\050\026\231" +
 42.1959 -    "\027\202\030\224\031\u03d7\032\201\033\213\034\211\035" +
 42.1960 -    "\210\036\217\042\222\044\225\103\221\154\220\155\215" +
 42.1961 -    "\160\227\163\205\164\176\255\207\261\200\001\001\000" +
 42.1962 -    "\006\037\322\257\316\001\001\000\052\026\231\027\u03d4" +
 42.1963 -    "\030\224\031\u03d5\032\201\033\213\034\211\035\210\036" +
 42.1964 -    "\217\042\222\044\225\103\221\154\220\155\215\160\227" +
 42.1965 -    "\163\205\164\176\172\u03db\255\207\261\200\001\001\000" +
 42.1966 +    "\001\000\006\037\322\170\316\001\001\000\050\026\231" +
 42.1967 +    "\027\202\030\225\031\u03d7\032\201\033\213\034\211\035" +
 42.1968 +    "\210\036\217\042\222\044\224\103\220\154\221\155\215" +
 42.1969 +    "\160\227\163\205\164\175\257\207\261\200\001\001\000" +
 42.1970 +    "\006\037\322\170\316\001\001\000\052\026\231\027\u03d4" +
 42.1971 +    "\030\225\031\u03d5\032\201\033\213\034\211\035\210\036" +
 42.1972 +    "\217\042\222\044\224\103\220\154\221\155\215\160\227" +
 42.1973 +    "\163\205\164\175\175\u03db\257\207\261\200\001\001\000" +
 42.1974      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
 42.1975      "\001\001" });
 42.1976  
 42.1977 @@ -2720,21 +2720,19 @@
 42.1978          return this.errorHandler;
 42.1979      }
 42.1980  
 42.1981 -/*
 42.1982 -    public Dispatch createDispatch(VariableBase dispatcher, VariableBase property) {
 42.1983 +
 42.1984 +    public Dispatch createDispatch(NameBase dispatcher, NameBase property) {
 42.1985          Dispatch dispatch = null;
 42.1986  	if (property instanceof Variable) {
 42.1987  	   dispatch = new FieldAccess(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (Variable)property);
 42.1988 -	} else if (property instanceof FunctionInvocation) {
 42.1989 -	   dispatch = new MethodInvocation(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (FunctionInvocation)property);
 42.1990 -	} else if (property instanceof ProcedureInvocation) {
 42.1991 -	   dispatch = new MethodInvocation(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (ProcedureInvocation)property);
 42.1992 +	} else if (property instanceof TypeName) {
 42.1993 +	   dispatch = new TypeAccess(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (TypeName)property);
 42.1994  	} else {
 42.1995  	   throw new IllegalArgumentException();
 42.1996  	}
 42.1997          return dispatch;
 42.1998      }
 42.1999 -*/
 42.2000 +
 42.2001  
 42.2002      public List setModifier(List items, int modifier) {
 42.2003          List list = new LinkedList();
 42.2004 @@ -2945,7 +2943,7 @@
 42.2005              {
 42.2006                Object RESULT =null;
 42.2007  
 42.2008 -              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);
 42.2009 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("rep_spec",169, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.2010              }
 42.2011            return CUP$Ada95ASTParser$result;
 42.2012  
 42.2013 @@ -2954,7 +2952,7 @@
 42.2014              {
 42.2015                Object RESULT =null;
 42.2016  
 42.2017 -              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);
 42.2018 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("rep_spec",169, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.2019              }
 42.2020            return CUP$Ada95ASTParser$result;
 42.2021  
 42.2022 @@ -2963,7 +2961,7 @@
 42.2023              {
 42.2024                Object RESULT =null;
 42.2025  
 42.2026 -              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);
 42.2027 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("rep_spec",169, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.2028              }
 42.2029            return CUP$Ada95ASTParser$result;
 42.2030  
 42.2031 @@ -3301,7 +3299,7 @@
 42.2032  		Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2033  		int exceptionNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2034  		int exceptionNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2035 -		String exceptionName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2036 +		Expression exceptionName = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2037  		int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2038  		int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2039  		Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2040 @@ -3389,7 +3387,7 @@
 42.2041              {
 42.2042                Object RESULT =null;
 42.2043  
 42.2044 -              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);
 42.2045 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("exception_decl",127, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.2046              }
 42.2047            return CUP$Ada95ASTParser$result;
 42.2048  
 42.2049 @@ -3740,10 +3738,9 @@
 42.2050  		List idList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2051  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2052  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2053 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2054 -		
 42.2055 -    Identifier id = new Identifier(nameleft, nameright, name);
 42.2056 -    TaskName taskName = new TaskName(nameleft, nameright, id);
 42.2057 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2058 +		
 42.2059 +    TaskName taskName = new TaskName(nameleft, nameright, name);
 42.2060      idList.add(taskName);
 42.2061      RESULT = idList;
 42.2062  
 42.2063 @@ -3757,11 +3754,10 @@
 42.2064                List RESULT =null;
 42.2065  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2066  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2067 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2068 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2069  		
 42.2070      List idList = new LinkedList();
 42.2071 -    Identifier id = new Identifier(nameleft, nameright, name);
 42.2072 -    TaskName taskName = new TaskName(nameleft, nameright, id);
 42.2073 +    TaskName taskName = new TaskName(nameleft, nameright, name);
 42.2074      idList.add(taskName);
 42.2075      RESULT = idList;
 42.2076  
 42.2077 @@ -4200,7 +4196,7 @@
 42.2078                Statement RESULT =null;
 42.2079  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
 42.2080  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
 42.2081 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
 42.2082 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
 42.2083  
 42.2084                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);
 42.2085              }
 42.2086 @@ -4346,7 +4342,7 @@
 42.2087              {
 42.2088                Object RESULT =null;
 42.2089  
 42.2090 -              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);
 42.2091 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_decl",126, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.2092              }
 42.2093            return CUP$Ada95ASTParser$result;
 42.2094  
 42.2095 @@ -4418,7 +4414,7 @@
 42.2096              {
 42.2097                Object RESULT =null;
 42.2098  
 42.2099 -              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);
 42.2100 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("task_decl",125, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.2101              }
 42.2102            return CUP$Ada95ASTParser$result;
 42.2103  
 42.2104 @@ -4461,17 +4457,15 @@
 42.2105  		Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
 42.2106  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
 42.2107  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
 42.2108 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 42.2109 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 42.2110  		int renamesleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2111  		int renamesright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2112 -		String renames = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2113 +		Identifier renames = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2114  		int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2115  		int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2116  		Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2117  		
 42.2118 -    Identifier packageNameId = new Identifier(nameleft, nameright, name);
 42.2119 -    Identifier packageRenamesId = new Identifier(renamesleft, renamesright, renames);
 42.2120 -    PackageRenames packageRenames = new PackageRenames(tokenleft, endright, packageNameId, packageRenamesId);
 42.2121 +    PackageRenames packageRenames = new PackageRenames(tokenleft, endright, name, renames);
 42.2122      RESULT = packageRenames;
 42.2123  
 42.2124                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);
 42.2125 @@ -4519,10 +4513,9 @@
 42.2126  		List idList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2127  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2128  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2129 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2130 -		
 42.2131 -    Identifier id = new Identifier(nameleft, nameright, name);
 42.2132 -    TypeName typeName = new TypeName(nameleft, nameright, id);
 42.2133 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2134 +		
 42.2135 +    TypeName typeName = new TypeName(nameleft, nameright, name);
 42.2136      idList.add(typeName);
 42.2137      RESULT = idList;
 42.2138  
 42.2139 @@ -4536,11 +4529,10 @@
 42.2140                List RESULT =null;
 42.2141  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2142  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2143 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2144 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2145  		
 42.2146      List idList = new LinkedList();
 42.2147 -    Identifier id = new Identifier(nameleft, nameright, name);
 42.2148 -    TypeName typeName = new TypeName(nameleft, nameright, id);
 42.2149 +    TypeName typeName = new TypeName(nameleft, nameright, name);
 42.2150      idList.add(typeName);
 42.2151      RESULT = idList;
 42.2152  
 42.2153 @@ -4557,10 +4549,9 @@
 42.2154  		List idList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2155  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2156  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2157 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2158 -		
 42.2159 -    Identifier id = new Identifier(nameleft, nameright, name);
 42.2160 -    PackageName packageName = new PackageName(nameleft, nameright, id);
 42.2161 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2162 +		
 42.2163 +    PackageName packageName = new PackageName(nameleft, nameright, name);
 42.2164      idList.add(packageName);
 42.2165      RESULT = idList;
 42.2166  
 42.2167 @@ -4574,11 +4565,10 @@
 42.2168                List RESULT =null;
 42.2169  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2170  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2171 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2172 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2173  		
 42.2174      List idList = new LinkedList();
 42.2175 -    Identifier id = new Identifier(nameleft, nameright, name);
 42.2176 -    PackageName packageName = new PackageName(nameleft, nameright, id);
 42.2177 +    PackageName packageName = new PackageName(nameleft, nameright, name);
 42.2178      idList.add(packageName);
 42.2179      RESULT = idList;
 42.2180  
 42.2181 @@ -4694,33 +4684,31 @@
 42.2182  		int declarationStartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-8)).left;
 42.2183  		int declarationStartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-8)).right;
 42.2184  		Object declarationStart = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-8)).value;
 42.2185 -		int packageNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).left;
 42.2186 -		int packageNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).right;
 42.2187 -		String packageName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).value;
 42.2188 +		int package_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).left;
 42.2189 +		int package_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).right;
 42.2190 +		Identifier package_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).value;
 42.2191  		int blockStartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
 42.2192  		int blockStartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
 42.2193  		Object blockStart = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
 42.2194  		int declarativePartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
 42.2195  		int declarativePartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
 42.2196  		List declarativePart = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
 42.2197 -		int packageNameEndleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2198 -		int packageNameEndright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2199 -		String packageNameEnd = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2200 +		int package_name_endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2201 +		int package_name_endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2202 +		Identifier package_name_end = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2203  		int declarationEndleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2204  		int declarationEndright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2205  		Object declarationEnd = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2206  		
 42.2207 -    if (packageNameEnd != null && !packageNameEnd.equalsIgnoreCase (packageName)) {
 42.2208 -        this.parser.message_error("mispelling of " + packageName);
 42.2209 +    if (package_name_end != null && !package_name_end.getName().equalsIgnoreCase (package_name.getName())) {
 42.2210 +        this.parser.message_error("mispelling of " + package_name);
 42.2211      }
 42.2212      else {
 42.2213 -        Identifier packageId = new Identifier(packageNameleft, packageNameright, packageName);
 42.2214 -        Identifier packageIdEnd = new Identifier(packageNameEndleft, packageNameEndright, packageNameEnd);
 42.2215  
 42.2216          List list = this.parser.setModifier (declarativePart, Ada95ASTParser.PRIVATE);
 42.2217          Block block = new Block(blockStartleft, declarationEndright, list);
 42.2218  
 42.2219 -        PackageBody packageBody = new PackageBody(declarationStartleft, declarationEndright, packageId, packageIdEnd, block);
 42.2220 +        PackageBody packageBody = new PackageBody(declarationStartleft, declarationEndright, package_name, package_name_end, block);
 42.2221          RESULT = packageBody;
 42.2222      }
 42.2223  
 42.2224 @@ -4731,12 +4719,12 @@
 42.2225            /*. . . . . . . . . . . . . . . . . . . .*/
 42.2226            case 344: // compound_name_opt ::= compound_name 
 42.2227              {
 42.2228 -              String RESULT =null;
 42.2229 -		int compoundNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2230 -		int compoundNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2231 -		String compoundName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2232 -		
 42.2233 -    RESULT = compoundName;
 42.2234 +              Identifier RESULT =null;
 42.2235 +		int compound_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2236 +		int compound_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2237 +		Identifier compound_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2238 +		
 42.2239 +    RESULT = compound_name;
 42.2240  
 42.2241                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);
 42.2242              }
 42.2243 @@ -4745,7 +4733,7 @@
 42.2244            /*. . . . . . . . . . . . . . . . . . . .*/
 42.2245            case 343: // compound_name_opt ::= 
 42.2246              {
 42.2247 -              String RESULT =null;
 42.2248 +              Identifier RESULT =null;
 42.2249  
 42.2250                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);
 42.2251              }
 42.2252 @@ -4783,9 +4771,9 @@
 42.2253  		int declarationStartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).left;
 42.2254  		int declarationStartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).right;
 42.2255  		Object declarationStart = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).value;
 42.2256 -		int packageNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
 42.2257 -		int packageNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
 42.2258 -		String packageName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
 42.2259 +		int package_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
 42.2260 +		int package_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
 42.2261 +		Identifier package_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
 42.2262  		int blockStartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
 42.2263  		int blockStartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
 42.2264  		Object blockStart = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
 42.2265 @@ -4798,20 +4786,18 @@
 42.2266  		int declarationEndleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2267  		int declarationEndright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2268  		Object declarationEnd = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2269 -		int packageNameEndleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2270 -		int packageNameEndright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2271 -		String packageNameEnd = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2272 -		
 42.2273 -    if (packageNameEnd != null && !packageNameEnd.equalsIgnoreCase (packageName)) {
 42.2274 -        this.parser.message_error("mispelling of " + packageName);
 42.2275 +		int package_name_endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2276 +		int package_name_endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2277 +		Identifier package_name_end = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2278 +		
 42.2279 +    if (package_name_end != null && !package_name_end.getName().equalsIgnoreCase (package_name.getName())) {
 42.2280 +        this.parser.message_error("mispelling of " + package_name);
 42.2281      }
 42.2282      else {
 42.2283 -        Identifier packageId = new Identifier(packageNameleft, packageNameright, packageName);
 42.2284 -        Identifier packageIdEnd = new Identifier(packageNameEndleft, packageNameEndright, packageNameEnd);
 42.2285          declarativeItems.addAll (privateDeclarativeItems);
 42.2286          // Add private part on block statements
 42.2287          Block block = new Block(blockStartleft, declarationEndright, declarativeItems);
 42.2288 -        PackageSpecification packageSpecification = new PackageSpecification(declarationStartleft, declarationEndright, packageId, packageIdEnd, block);
 42.2289 +        PackageSpecification packageSpecification = new PackageSpecification(declarationStartleft, declarationEndright, package_name, package_name_end, block);
 42.2290          RESULT = packageSpecification;
 42.2291      }
 42.2292  
 42.2293 @@ -4864,20 +4850,19 @@
 42.2294  		int bodyleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
 42.2295  		int bodyright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
 42.2296  		Block body = (Block)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 42.2297 -		int idOptleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2298 -		int idOptright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2299 -		String idOpt = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2300 +		int id_optleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2301 +		int id_optright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2302 +		Identifier id_opt = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2303  		int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2304  		int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2305  		Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2306  		
 42.2307 -    if (idOpt != null && !idOpt.equalsIgnoreCase (subprog.getSubprogramName().getName())) {
 42.2308 +    if (id_opt != null && !id_opt.getName().equalsIgnoreCase (subprog.getSubprogramName().getName())) {
 42.2309          this.parser.message_error("mispelling of " + subprog.getSubprogramName().getName());
 42.2310      } else {
 42.2311          Block declarations = new Block(subprogright, bodyleft, declarativePart);
 42.2312          body.setEndOffset(endright);
 42.2313 -        Identifier nameEnd = new Identifier(idOptleft, idOptright, idOpt);
 42.2314 -        SubprogramBody subprogramBody = new SubprogramBody(subprogleft, endright, subprog, declarations, body, nameEnd);
 42.2315 +        SubprogramBody subprogramBody = new SubprogramBody(subprogleft, endright, subprog, declarations, body, id_opt);
 42.2316          MethodDeclaration methodDeclaration = new MethodDeclaration(subprogleft, endright, 0/*modifier*/, subprogramBody);
 42.2317          RESULT = methodDeclaration;
 42.2318      }
 42.2319 @@ -4889,12 +4874,13 @@
 42.2320            /*. . . . . . . . . . . . . . . . . . . .*/
 42.2321            case 335: // operator_symbol ::= STRING_LITERAL 
 42.2322              {
 42.2323 -              String RESULT =null;
 42.2324 -		int stringLiteralleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2325 -		int stringLiteralright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2326 -		String stringLiteral = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2327 -		
 42.2328 -    RESULT = stringLiteral;
 42.2329 +              Identifier RESULT =null;
 42.2330 +		int string_literalleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2331 +		int string_literalright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2332 +		String string_literal = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2333 +		
 42.2334 +    Identifier identifier = new Identifier (string_literalleft, string_literalright, string_literal);
 42.2335 +    RESULT = identifier;
 42.2336  
 42.2337                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);
 42.2338              }
 42.2339 @@ -4984,19 +4970,18 @@
 42.2340  		FormalParameter.Mode mode = (FormalParameter.Mode)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2341  		int subtypeleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2342  		int subtyperight = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2343 -		String subtype = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2344 +		NameBase subtype = (NameBase)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2345  		int initleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2346  		int initright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2347  		Expression init = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2348  		
 42.2349      List list = new LinkedList();
 42.2350 -    Identifier subtypeId = new Identifier(subtypeleft, subtyperight, subtype);
 42.2351 -    TypeName typeName = new TypeName(subtypeleft, subtyperight, subtypeId);
 42.2352 +//    TypeName typeName = new TypeName(subtypeleft, subtyperight, subtype);
 42.2353      for (Object item : identifierList) {
 42.2354          Identifier identifier = (Identifier)item;
 42.2355          Variable variable = new Variable (identifier.getStartOffset(), identifier.getEndOffset(), identifier);
 42.2356  	    int end = init == null ? subtyperight : initright;
 42.2357 -        FormalParameter parameter = new FormalParameter(identifierListleft, end, variable, mode, typeName, init);
 42.2358 +        FormalParameter parameter = new FormalParameter(identifierListleft, end, variable, mode, subtype, init);
 42.2359      	list.add(parameter);
 42.2360      }
 42.2361      RESULT = list;
 42.2362 @@ -5082,10 +5067,10 @@
 42.2363            /*. . . . . . . . . . . . . . . . . . . .*/
 42.2364            case 322: // designator ::= operator_symbol 
 42.2365              {
 42.2366 -              String RESULT =null;
 42.2367 +              Identifier RESULT =null;
 42.2368  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2369  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2370 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2371 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2372  		
 42.2373      RESULT = name;
 42.2374  
 42.2375 @@ -5096,10 +5081,10 @@
 42.2376            /*. . . . . . . . . . . . . . . . . . . .*/
 42.2377            case 321: // designator ::= compound_name 
 42.2378              {
 42.2379 -              String RESULT =null;
 42.2380 +              Identifier RESULT =null;
 42.2381  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2382  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2383 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2384 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2385  		
 42.2386      RESULT = name;
 42.2387  
 42.2388 @@ -5114,12 +5099,11 @@
 42.2389  		int functionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2390  		int functionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2391  		Object function = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2392 -		int functionNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2393 -		int functionNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2394 -		String functionName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2395 -		
 42.2396 -    Identifier functionId = new Identifier(functionNameleft, functionNameright, functionName);
 42.2397 -    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, functionNameright, functionId);
 42.2398 +		int designatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2399 +		int designatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2400 +		Identifier designator = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2401 +		
 42.2402 +    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, designatorright, designator);
 42.2403      RESULT = subprogramSpecification;
 42.2404  
 42.2405                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);
 42.2406 @@ -5133,19 +5117,17 @@
 42.2407  		int functionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
 42.2408  		int functionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
 42.2409  		Object function = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
 42.2410 -		int functionNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
 42.2411 -		int functionNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
 42.2412 -		String functionName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 42.2413 -		int formalPartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.2414 -		int formalPartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.2415 -		List formalPart = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2416 -		int subtypeMarkleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2417 -		int subtypeMarkright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2418 -		String subtypeMark = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2419 -		
 42.2420 -    Identifier functionId = new Identifier(functionNameleft, functionNameright, functionName);
 42.2421 -    Identifier subtypeReturn = new Identifier(subtypeMarkleft, subtypeMarkright, subtypeMark);
 42.2422 -    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, subtypeMarkright, functionId, formalPart, subtypeReturn);
 42.2423 +		int designatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
 42.2424 +		int designatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
 42.2425 +		Identifier designator = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 42.2426 +		int formal_partleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.2427 +		int formal_partright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.2428 +		List formal_part = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2429 +		int subtype_markleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2430 +		int subtype_markright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2431 +		Identifier subtype_mark = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2432 +		
 42.2433 +    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, subtype_markright, designator, formal_part, subtype_mark);
 42.2434      RESULT = subprogramSpecification;
 42.2435  
 42.2436                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);
 42.2437 @@ -5159,15 +5141,14 @@
 42.2438  		int procedureleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.2439  		int procedureright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.2440  		Object procedure = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2441 -		int procedureNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2442 -		int procedureNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2443 -		String procedureName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2444 -		int formalPartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2445 -		int formalPartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2446 -		List formalPart = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2447 -		
 42.2448 -    Identifier procedureId = new Identifier(procedureNameleft, procedureNameright, procedureName);
 42.2449 -    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(procedureleft, formalPartright, procedureId, formalPart);
 42.2450 +		int compound_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2451 +		int compound_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2452 +		Identifier compound_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2453 +		int formal_partleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2454 +		int formal_partright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2455 +		List formal_part = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2456 +		
 42.2457 +    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(procedureleft, formal_partright, compound_name, formal_part);
 42.2458      RESULT = subprogramSpecification;
 42.2459  
 42.2460                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);
 42.2461 @@ -5234,7 +5215,7 @@
 42.2462  		Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2463  		int labelNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2464  		int labelNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2465 -		String labelName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2466 +		Identifier labelName = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2467  		int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2468  		int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2469  		Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2470 @@ -5310,10 +5291,10 @@
 42.2471            /*. . . . . . . . . . . . . . . . . . . .*/
 42.2472            case 309: // name_opt ::= name 
 42.2473              {
 42.2474 -              String RESULT =null;
 42.2475 +              Expression RESULT =null;
 42.2476  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2477  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2478 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2479 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2480  		
 42.2481      RESULT = name;
 42.2482  
 42.2483 @@ -5324,7 +5305,7 @@
 42.2484            /*. . . . . . . . . . . . . . . . . . . .*/
 42.2485            case 308: // name_opt ::= 
 42.2486              {
 42.2487 -              String RESULT =null;
 42.2488 +              Expression RESULT =null;
 42.2489  		
 42.2490      RESULT = null;
 42.2491  
 42.2492 @@ -5341,7 +5322,7 @@
 42.2493  		Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 42.2494  		int loopNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.2495  		int loopNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.2496 -		String loopName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2497 +		Expression loopName = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2498  		int whenConditionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2499  		int whenConditionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2500  		Expression whenCondition = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2501 @@ -5440,7 +5421,7 @@
 42.2502                BlockStatement RESULT =null;
 42.2503  		int labelleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
 42.2504  		int labelright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
 42.2505 -		String label = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
 42.2506 +		Identifier label = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
 42.2507  		int declarationsleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
 42.2508  		int declarationsright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
 42.2509  		Block declarations = (Block)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
 42.2510 @@ -5452,8 +5433,7 @@
 42.2511  		Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2512  		
 42.2513      int start = (label == null) ? declarationsleft : labelleft;
 42.2514 -    Identifier identifier = new Identifier(labelleft, labelright, label);
 42.2515 -    BlockStatement blockStatement = new BlockStatement (start, endleft, identifier, declarations, body);
 42.2516 +    BlockStatement blockStatement = new BlockStatement (start, endleft, label, declarations, body);
 42.2517      RESULT = blockStatement;
 42.2518  
 42.2519                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);
 42.2520 @@ -5463,12 +5443,12 @@
 42.2521            /*. . . . . . . . . . . . . . . . . . . .*/
 42.2522            case 299: // id_opt ::= designator 
 42.2523              {
 42.2524 -              String RESULT =null;
 42.2525 -		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2526 -		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2527 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2528 -		
 42.2529 -    RESULT = name;
 42.2530 +              Identifier RESULT =null;
 42.2531 +		int designatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2532 +		int designatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2533 +		Identifier designator = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2534 +		
 42.2535 +    RESULT = designator;
 42.2536  
 42.2537                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);
 42.2538              }
 42.2539 @@ -5477,7 +5457,7 @@
 42.2540            /*. . . . . . . . . . . . . . . . . . . .*/
 42.2541            case 298: // id_opt ::= 
 42.2542              {
 42.2543 -              String RESULT =null;
 42.2544 +              Identifier RESULT =null;
 42.2545  		
 42.2546      RESULT = null;
 42.2547  
 42.2548 @@ -5569,12 +5549,13 @@
 42.2549            /*. . . . . . . . . . . . . . . . . . . .*/
 42.2550            case 290: // label_opt ::= IDENTIFIER COLON 
 42.2551              {
 42.2552 -              String RESULT =null;
 42.2553 +              Identifier RESULT =null;
 42.2554  		int idleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2555  		int idright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2556  		String id = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2557  		
 42.2558 -    RESULT = id;
 42.2559 +    Identifier identifier = new Identifier (idleft, idright, id);
 42.2560 +    RESULT = identifier;
 42.2561  
 42.2562                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);
 42.2563              }
 42.2564 @@ -5583,7 +5564,7 @@
 42.2565            /*. . . . . . . . . . . . . . . . . . . .*/
 42.2566            case 289: // label_opt ::= 
 42.2567              {
 42.2568 -              String RESULT =null;
 42.2569 +              Identifier RESULT =null;
 42.2570  		
 42.2571      RESULT = null;
 42.2572  
 42.2573 @@ -5597,7 +5578,7 @@
 42.2574                LoopStatement RESULT =null;
 42.2575  		int labelleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
 42.2576  		int labelright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
 42.2577 -		String label = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
 42.2578 +		Identifier label = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
 42.2579  		int iterationleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
 42.2580  		int iterationright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
 42.2581  		Expression iteration = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 42.2582 @@ -5609,8 +5590,7 @@
 42.2583  		Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2584  		
 42.2585      int start = (label == null) ? iterationleft : labelleft;
 42.2586 -    Identifier identifier = new Identifier(labelleft, labelright, label);
 42.2587 -    LoopStatement loopStatement = new LoopStatement(start, endright, identifier, iteration, statement);
 42.2588 +    LoopStatement loopStatement = new LoopStatement(start, endright, label, iteration, statement);
 42.2589      RESULT = loopStatement;
 42.2590  
 42.2591                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);
 42.2592 @@ -5722,11 +5702,11 @@
 42.2593            case 281: // condition ::= expression 
 42.2594              {
 42.2595                Expression RESULT =null;
 42.2596 -		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2597 -		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2598 -		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2599 -		
 42.2600 -    RESULT = expr;
 42.2601 +		int expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2602 +		int expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2603 +		Expression expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2604 +		
 42.2605 +    RESULT = expression;
 42.2606  
 42.2607                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);
 42.2608              }
 42.2609 @@ -5812,19 +5792,19 @@
 42.2610      Expression firstCondition = null;
 42.2611      Statement trueStatement = null;
 42.2612      Statement falseStatement = iffalse;
 42.2613 -		
 42.2614 +
 42.2615      for (int i=1 ; i < condList[0].size() ; i++) {
 42.2616          innerCondition = (Expression)condList[0].get(i);
 42.2617          trueStatement = (Statement)condList[1].get(i);
 42.2618          int start = ((Integer)condList[2].get(i)).intValue();
 42.2619          falseStatement = new IfStatement(start, endright, innerCondition, trueStatement, falseStatement);
 42.2620      }
 42.2621 -    
 42.2622 +
 42.2623      firstCondition = (Expression)condList[0].get(0);
 42.2624      trueStatement = (Statement)condList[1].get(0);
 42.2625      int start = ((Integer)condList[2].get(0)).intValue();
 42.2626      IfStatement ifStatement = new IfStatement(tokenleft, endright, firstCondition, trueStatement, falseStatement);		
 42.2627 -	
 42.2628 +
 42.2629      RESULT = ifStatement;
 42.2630  
 42.2631                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);
 42.2632 @@ -5835,18 +5815,15 @@
 42.2633            case 277: // assignment_statement ::= name ASSIGNMENT expression SEMICOLON 
 42.2634              {
 42.2635                Statement RESULT =null;
 42.2636 -		int varleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
 42.2637 -		int varright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
 42.2638 -		String var = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 42.2639 -		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2640 -		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2641 -		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2642 -		
 42.2643 -    System.out.println ("assignment_statement ::= var => " + var);
 42.2644 -    System.out.println ("assignment_statement ::= expr => " + expr);
 42.2645 -    Identifier id = new Identifier(varleft, varright, var);
 42.2646 -    Variable variable = new Variable (varleft, varright, (Identifier)id);
 42.2647 -    Assignment assignment = new Assignment(varleft, exprright, variable, expr);
 42.2648 +		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
 42.2649 +		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
 42.2650 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 42.2651 +		int expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2652 +		int expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2653 +		Expression expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2654 +		
 42.2655 +    Variable variable = new Variable (nameleft, nameright, name);
 42.2656 +    Assignment assignment = new Assignment(nameleft, expressionright, variable, expression);
 42.2657      RESULT = assignment;
 42.2658  
 42.2659                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);
 42.2660 @@ -6240,13 +6217,12 @@
 42.2661                Expression RESULT =null;
 42.2662  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.2663  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.2664 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2665 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2666  		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2667  		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2668  		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2669  		
 42.2670 -    Identifier subtypeMark = new Identifier (nameleft, nameright, name);
 42.2671 -    RESULT = new QualifiedExpression (nameleft, exprright, subtypeMark, expr);
 42.2672 +    RESULT = new QualifiedExpression (nameleft, exprright, name, expr);
 42.2673  
 42.2674                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);
 42.2675              }
 42.2676 @@ -6256,11 +6232,11 @@
 42.2677            case 246: // parenthesized_primary ::= LPAREN expression RPAREN 
 42.2678              {
 42.2679                Expression RESULT =null;
 42.2680 -		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2681 -		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2682 -		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2683 -		
 42.2684 -    RESULT = expr;
 42.2685 +		int expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2686 +		int expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2687 +		Expression expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2688 +		
 42.2689 +    RESULT = expression;
 42.2690  
 42.2691                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);
 42.2692              }
 42.2693 @@ -6279,12 +6255,11 @@
 42.2694            case 244: // primary ::= parenthesized_primary 
 42.2695              {
 42.2696                Expression RESULT =null;
 42.2697 -		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2698 -		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2699 -		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2700 -		
 42.2701 -    System.out.println ("primary ::= parenthesized_primary => " + expr);
 42.2702 -    RESULT = expr;
 42.2703 +		int parenthesized_primaryleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2704 +		int parenthesized_primaryright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2705 +		Expression parenthesized_primary = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2706 +		
 42.2707 +    RESULT = parenthesized_primary;
 42.2708  
 42.2709                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);
 42.2710              }
 42.2711 @@ -6294,12 +6269,11 @@
 42.2712            case 243: // primary ::= qualified_expression 
 42.2713              {
 42.2714                Expression RESULT =null;
 42.2715 -		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2716 -		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2717 -		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2718 -		
 42.2719 -    System.out.println ("primary ::= qualified_expression => " + expr);
 42.2720 -    RESULT = expr;
 42.2721 +		int qualified_expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2722 +		int qualified_expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2723 +		Expression qualified_expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2724 +		
 42.2725 +    RESULT = qualified_expression;
 42.2726  
 42.2727                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);
 42.2728              }
 42.2729 @@ -6320,11 +6294,11 @@
 42.2730                Expression RESULT =null;
 42.2731  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2732  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2733 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2734 -		
 42.2735 -    System.out.println ("primary ::= name => " + name);
 42.2736 -    Scalar scalar = new Scalar(nameleft, nameright, name, Scalar.Type.STRING);
 42.2737 -    RESULT = scalar;
 42.2738 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2739 +		
 42.2740 +// TODO: must be modified for manage all primery types
 42.2741 +    Variable variable = new Variable (nameleft, nameright, name);
 42.2742 +    RESULT = variable;
 42.2743  
 42.2744                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);
 42.2745              }
 42.2746 @@ -6338,7 +6312,6 @@
 42.2747  		int literalright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2748  		Expression literal = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2749  		
 42.2750 -    System.out.println ("primary ::= literal => " + literal);
 42.2751      RESULT = literal;
 42.2752  
 42.2753                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);
 42.2754 @@ -6349,60 +6322,93 @@
 42.2755            case 239: // factor ::= primary EXPON primary 
 42.2756              {
 42.2757                Expression RESULT =null;
 42.2758 +		int primary1left = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.2759 +		int primary1right = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.2760 +		Expression primary1 = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2761 +		int primary2left = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2762 +		int primary2right = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2763 +		Expression primary2 = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2764 +		
 42.2765 +    InfixExpression infixExpression = new InfixExpression(primary1left, primary2right, primary1, InfixExpression.OperatorType.EXPON, primary2);
 42.2766 +    RESULT = infixExpression;
 42.2767 +
 42.2768 +              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);
 42.2769 +            }
 42.2770 +          return CUP$Ada95ASTParser$result;
 42.2771 +
 42.2772 +          /*. . . . . . . . . . . . . . . . . . . .*/
 42.2773 +          case 238: // factor ::= ABS primary 
 42.2774 +            {
 42.2775 +              Expression RESULT =null;
 42.2776 +		int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2777 +		int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2778 +		Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2779 +		int primaryleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2780 +		int primaryright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2781 +		Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2782 +		
 42.2783 +    UnaryOperation unaryOperation = new UnaryOperation(tokenleft, primaryright, primary, UnaryOperation.Operator.ABS);
 42.2784 +    RESULT = unaryOperation;
 42.2785 +
 42.2786 +              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);
 42.2787 +            }
 42.2788 +          return CUP$Ada95ASTParser$result;
 42.2789 +
 42.2790 +          /*. . . . . . . . . . . . . . . . . . . .*/
 42.2791 +          case 237: // factor ::= NOT primary 
 42.2792 +            {
 42.2793 +              Expression RESULT =null;
 42.2794 +		int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2795 +		int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2796 +		Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2797 +		int primaryleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2798 +		int primaryright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2799 +		Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2800 +		
 42.2801 +    UnaryOperation unaryOperation = new UnaryOperation(tokenleft, primaryright, primary, UnaryOperation.Operator.NOT);
 42.2802 +    RESULT = unaryOperation;
 42.2803 +
 42.2804 +              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);
 42.2805 +            }
 42.2806 +          return CUP$Ada95ASTParser$result;
 42.2807 +
 42.2808 +          /*. . . . . . . . . . . . . . . . . . . .*/
 42.2809 +          case 236: // factor ::= primary 
 42.2810 +            {
 42.2811 +              Expression RESULT =null;
 42.2812  		int primaryleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2813  		int primaryright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2814  		Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2815  		
 42.2816      RESULT = primary;
 42.2817  
 42.2818 -              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);
 42.2819 -            }
 42.2820 -          return CUP$Ada95ASTParser$result;
 42.2821 -
 42.2822 -          /*. . . . . . . . . . . . . . . . . . . .*/
 42.2823 -          case 238: // factor ::= ABS primary 
 42.2824 +              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);
 42.2825 +            }
 42.2826 +          return CUP$Ada95ASTParser$result;
 42.2827 +
 42.2828 +          /*. . . . . . . . . . . . . . . . . . . .*/
 42.2829 +          case 235: // term ::= term multiplying_operator factor 
 42.2830              {
 42.2831                Expression RESULT =null;
 42.2832 -		int primaryleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2833 -		int primaryright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2834 -		Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2835 -		
 42.2836 -    RESULT = primary;
 42.2837 -
 42.2838 -              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);
 42.2839 -            }
 42.2840 -          return CUP$Ada95ASTParser$result;
 42.2841 -
 42.2842 -          /*. . . . . . . . . . . . . . . . . . . .*/
 42.2843 -          case 237: // factor ::= NOT primary 
 42.2844 -            {
 42.2845 -              Expression RESULT =null;
 42.2846 -		int primaryleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2847 -		int primaryright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2848 -		Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2849 -		
 42.2850 -    RESULT = primary;
 42.2851 -
 42.2852 -              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);
 42.2853 -            }
 42.2854 -          return CUP$Ada95ASTParser$result;
 42.2855 -
 42.2856 -          /*. . . . . . . . . . . . . . . . . . . .*/
 42.2857 -          case 236: // factor ::= primary 
 42.2858 -            {
 42.2859 -              Expression RESULT =null;
 42.2860 -		int primaryleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2861 -		int primaryright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2862 -		Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2863 -		
 42.2864 -    RESULT = primary;
 42.2865 -
 42.2866 -              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);
 42.2867 -            }
 42.2868 -          return CUP$Ada95ASTParser$result;
 42.2869 -
 42.2870 -          /*. . . . . . . . . . . . . . . . . . . .*/
 42.2871 -          case 235: // term ::= term multiplying_operator factor 
 42.2872 +		int termleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.2873 +		int termright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.2874 +		Expression term = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2875 +		int multiplying_operatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2876 +		int multiplying_operatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2877 +		InfixExpression.OperatorType multiplying_operator = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2878 +		int factorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2879 +		int factorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2880 +		Expression factor = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2881 +		
 42.2882 +    InfixExpression infixExpression = new InfixExpression(termleft, factorright, term, multiplying_operator, factor);
 42.2883 +    RESULT = infixExpression;
 42.2884 +
 42.2885 +              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);
 42.2886 +            }
 42.2887 +          return CUP$Ada95ASTParser$result;
 42.2888 +
 42.2889 +          /*. . . . . . . . . . . . . . . . . . . .*/
 42.2890 +          case 234: // term ::= factor 
 42.2891              {
 42.2892                Expression RESULT =null;
 42.2893  		int factorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2894 @@ -6411,39 +6417,26 @@
 42.2895  		
 42.2896      RESULT = factor;
 42.2897  
 42.2898 -              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);
 42.2899 -            }
 42.2900 -          return CUP$Ada95ASTParser$result;
 42.2901 -
 42.2902 -          /*. . . . . . . . . . . . . . . . . . . .*/
 42.2903 -          case 234: // term ::= factor 
 42.2904 +              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);
 42.2905 +            }
 42.2906 +          return CUP$Ada95ASTParser$result;
 42.2907 +
 42.2908 +          /*. . . . . . . . . . . . . . . . . . . .*/
 42.2909 +          case 233: // simple_expression ::= simple_expression binary_adding_operator term 
 42.2910              {
 42.2911                Expression RESULT =null;
 42.2912 -		int factorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2913 -		int factorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2914 -		Expression factor = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2915 -		
 42.2916 -    RESULT = factor;
 42.2917 -
 42.2918 -              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);
 42.2919 -            }
 42.2920 -          return CUP$Ada95ASTParser$result;
 42.2921 -
 42.2922 -          /*. . . . . . . . . . . . . . . . . . . .*/
 42.2923 -          case 233: // simple_expression ::= simple_expression binary_adding_operator term 
 42.2924 -            {
 42.2925 -              Expression RESULT =null;
 42.2926 -		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.2927 -		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.2928 -		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2929 -		int opleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2930 -		int opright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2931 -		UnaryOperation.Operator op = (UnaryOperation.Operator)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2932 +		int simple_expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.2933 +		int simple_expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.2934 +		Expression simple_expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2935 +		int binary_adding_operatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2936 +		int binary_adding_operatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2937 +		InfixExpression.OperatorType binary_adding_operator = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2938  		int termleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2939  		int termright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2940  		Expression term = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2941  		
 42.2942 -	RESULT = new UnaryOperation(exprleft, termright, term, op);
 42.2943 +    InfixExpression infixExpression = new InfixExpression(simple_expressionleft, termright, simple_expression, binary_adding_operator, term);
 42.2944 +    RESULT = infixExpression;
 42.2945  
 42.2946                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);
 42.2947              }
 42.2948 @@ -6467,14 +6460,15 @@
 42.2949            case 231: // simple_expression ::= unary_adding_operator term 
 42.2950              {
 42.2951                Expression RESULT =null;
 42.2952 -		int opleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2953 -		int opright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2954 -		UnaryOperation.Operator op = (UnaryOperation.Operator)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2955 +		int unary_adding_operatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2956 +		int unary_adding_operatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2957 +		UnaryOperation.Operator unary_adding_operator = (UnaryOperation.Operator)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2958  		int termleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2959  		int termright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2960  		Expression term = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2961  		
 42.2962 -	RESULT = new UnaryOperation(opleft, termright, term, op);
 42.2963 +    UnaryOperation unaryOperation = new UnaryOperation(unary_adding_operatorleft, termright, term, unary_adding_operator);
 42.2964 +    RESULT = unaryOperation;
 42.2965  
 42.2966                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);
 42.2967              }
 42.2968 @@ -6484,11 +6478,18 @@
 42.2969            case 230: // relation ::= simple_expression membership name 
 42.2970              {
 42.2971                Expression RESULT =null;
 42.2972 -		int simple_exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.2973 -		int simple_exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.2974 -		Expression simple_expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2975 -		
 42.2976 -    RESULT = simple_expr;
 42.2977 +		int simple_expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.2978 +		int simple_expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.2979 +		Expression simple_expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2980 +		int membershipleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.2981 +		int membershipright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.2982 +		InfixExpression.OperatorType membership = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.2983 +		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.2984 +		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.2985 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.2986 +		
 42.2987 +    InfixExpression infixExpression = new InfixExpression(simple_expressionleft, nameright, simple_expression, membership, name);
 42.2988 +    RESULT = infixExpression;
 42.2989  
 42.2990                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);
 42.2991              }
 42.2992 @@ -6498,11 +6499,18 @@
 42.2993            case 229: // relation ::= simple_expression membership range 
 42.2994              {
 42.2995                Expression RESULT =null;
 42.2996 -		int simple_exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.2997 -		int simple_exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.2998 -		Expression simple_expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.2999 -		
 42.3000 -    RESULT = simple_expr;
 42.3001 +		int simple_expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.3002 +		int simple_expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.3003 +		Expression simple_expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3004 +		int membershipleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.3005 +		int membershipright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.3006 +		InfixExpression.OperatorType membership = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.3007 +		int rangeleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3008 +		int rangeright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3009 +		Expression range = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3010 +		
 42.3011 +    InfixExpression infixExpression = new InfixExpression(simple_expressionleft, rangeright, simple_expression, membership, range);
 42.3012 +    RESULT = infixExpression;
 42.3013  
 42.3014                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);
 42.3015              }
 42.3016 @@ -6512,11 +6520,18 @@
 42.3017            case 228: // relation ::= simple_expression relational_operator simple_expression 
 42.3018              {
 42.3019                Expression RESULT =null;
 42.3020 -		int simple_exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.3021 -		int simple_exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.3022 -		Expression simple_expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3023 -		
 42.3024 -    RESULT = simple_expr;
 42.3025 +		int simple_expression1left = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.3026 +		int simple_expression1right = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.3027 +		Expression simple_expression1 = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3028 +		int relational_operatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.3029 +		int relational_operatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.3030 +		InfixExpression.OperatorType relational_operator = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.3031 +		int simple_expression2left = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3032 +		int simple_expression2right = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3033 +		Expression simple_expression2 = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3034 +		
 42.3035 +    InfixExpression infixExpression = new InfixExpression(simple_expression1left, simple_expression2right, simple_expression1, relational_operator, simple_expression2);
 42.3036 +    RESULT = infixExpression;
 42.3037  
 42.3038                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);
 42.3039              }
 42.3040 @@ -6526,11 +6541,11 @@
 42.3041            case 227: // relation ::= simple_expression 
 42.3042              {
 42.3043                Expression RESULT =null;
 42.3044 -		int simple_exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3045 -		int simple_exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3046 -		Expression simple_expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3047 -		
 42.3048 -    RESULT = simple_expr;
 42.3049 +		int simple_expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3050 +		int simple_expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3051 +		Expression simple_expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3052 +		
 42.3053 +    RESULT = simple_expression;
 42.3054  
 42.3055                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);
 42.3056              }
 42.3057 @@ -6540,16 +6555,18 @@
 42.3058            case 226: // expression ::= expression short_circuit relation 
 42.3059              {
 42.3060                Expression RESULT =null;
 42.3061 -		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.3062 -		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.3063 -		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3064 -		int relleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3065 -		int relright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3066 -		Expression rel = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3067 -		
 42.3068 -    System.out.println ("expression ::= expression => " + expr);
 42.3069 -    System.out.println ("expression ::= relation => " + rel);
 42.3070 -	RESULT = expr;
 42.3071 +		int expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.3072 +		int expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.3073 +		Expression expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3074 +		int short_circuitleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.3075 +		int short_circuitright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.3076 +		InfixExpression.OperatorType short_circuit = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.3077 +		int relationleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3078 +		int relationright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3079 +		Expression relation = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3080 +		
 42.3081 +    InfixExpression infixExpression = new InfixExpression(expressionleft, relationright, expression, short_circuit, relation);
 42.3082 +    RESULT = infixExpression;
 42.3083  
 42.3084                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);
 42.3085              }
 42.3086 @@ -6559,16 +6576,18 @@
 42.3087            case 225: // expression ::= expression logical_operator relation 
 42.3088              {
 42.3089                Expression RESULT =null;
 42.3090 -		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.3091 -		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.3092 -		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3093 -		int relleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3094 -		int relright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3095 -		Expression rel = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3096 -		
 42.3097 -    System.out.println ("expression ::= expression => " + expr);
 42.3098 -    System.out.println ("expression ::= relation => " + rel);
 42.3099 -	RESULT = expr;
 42.3100 +		int expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.3101 +		int expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.3102 +		Expression expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3103 +		int logical_operatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.3104 +		int logical_operatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.3105 +		InfixExpression.OperatorType logical_operator = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.3106 +		int relationleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3107 +		int relationright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3108 +		Expression relation = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3109 +		
 42.3110 +    InfixExpression infixExpression = new InfixExpression(expressionleft, relationright, expression, logical_operator, relation);
 42.3111 +    RESULT = infixExpression;
 42.3112  
 42.3113                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);
 42.3114              }
 42.3115 @@ -6578,12 +6597,11 @@
 42.3116            case 224: // expression ::= relation 
 42.3117              {
 42.3118                Expression RESULT =null;
 42.3119 -		int relleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3120 -		int relright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3121 -		Expression rel = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3122 -		
 42.3123 -    System.out.println ("expression ::= relation => " + rel);
 42.3124 -	RESULT = rel;
 42.3125 +		int relationleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3126 +		int relationright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3127 +		Expression relation = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3128 +		
 42.3129 +    RESULT = relation;
 42.3130  
 42.3131                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);
 42.3132              }
 42.3133 @@ -6592,7 +6610,9 @@
 42.3134            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3135            case 223: // multiplying_operator ::= REM 
 42.3136              {
 42.3137 -              String RESULT =null;
 42.3138 +              InfixExpression.OperatorType RESULT =null;
 42.3139 +		
 42.3140 +    RESULT = InfixExpression.OperatorType.REM;
 42.3141  
 42.3142                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);
 42.3143              }
 42.3144 @@ -6601,7 +6621,9 @@
 42.3145            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3146            case 222: // multiplying_operator ::= MOD 
 42.3147              {
 42.3148 -              String RESULT =null;
 42.3149 +              InfixExpression.OperatorType RESULT =null;
 42.3150 +		
 42.3151 +    RESULT = InfixExpression.OperatorType.MOD;
 42.3152  
 42.3153                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);
 42.3154              }
 42.3155 @@ -6610,7 +6632,9 @@
 42.3156            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3157            case 221: // multiplying_operator ::= SLASH 
 42.3158              {
 42.3159 -              String RESULT =null;
 42.3160 +              InfixExpression.OperatorType RESULT =null;
 42.3161 +		
 42.3162 +    RESULT = InfixExpression.OperatorType.DIV;
 42.3163  
 42.3164                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);
 42.3165              }
 42.3166 @@ -6619,7 +6643,9 @@
 42.3167            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3168            case 220: // multiplying_operator ::= STAR 
 42.3169              {
 42.3170 -              String RESULT =null;
 42.3171 +              InfixExpression.OperatorType RESULT =null;
 42.3172 +		
 42.3173 +    RESULT = InfixExpression.OperatorType.MUL;
 42.3174  
 42.3175                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);
 42.3176              }
 42.3177 @@ -6628,80 +6654,86 @@
 42.3178            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3179            case 219: // binary_adding_operator ::= AMP 
 42.3180              {
 42.3181 +              InfixExpression.OperatorType RESULT =null;
 42.3182 +		
 42.3183 +    RESULT = InfixExpression.OperatorType.STRING_AND;
 42.3184 +
 42.3185 +              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);
 42.3186 +            }
 42.3187 +          return CUP$Ada95ASTParser$result;
 42.3188 +
 42.3189 +          /*. . . . . . . . . . . . . . . . . . . .*/
 42.3190 +          case 218: // binary_adding_operator ::= MINUS 
 42.3191 +            {
 42.3192 +              InfixExpression.OperatorType RESULT =null;
 42.3193 +		
 42.3194 +    RESULT = InfixExpression.OperatorType.MINUS;
 42.3195 +
 42.3196 +              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);
 42.3197 +            }
 42.3198 +          return CUP$Ada95ASTParser$result;
 42.3199 +
 42.3200 +          /*. . . . . . . . . . . . . . . . . . . .*/
 42.3201 +          case 217: // binary_adding_operator ::= PLUS 
 42.3202 +            {
 42.3203 +              InfixExpression.OperatorType RESULT =null;
 42.3204 +		
 42.3205 +    RESULT = InfixExpression.OperatorType.PLUS;
 42.3206 +
 42.3207 +              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);
 42.3208 +            }
 42.3209 +          return CUP$Ada95ASTParser$result;
 42.3210 +
 42.3211 +          /*. . . . . . . . . . . . . . . . . . . .*/
 42.3212 +          case 216: // unary_adding_operator ::= MINUS 
 42.3213 +            {
 42.3214                UnaryOperation.Operator RESULT =null;
 42.3215  		
 42.3216 -    RESULT = UnaryOperation.Operator.AMP;
 42.3217 -
 42.3218 -              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);
 42.3219 -            }
 42.3220 -          return CUP$Ada95ASTParser$result;
 42.3221 -
 42.3222 -          /*. . . . . . . . . . . . . . . . . . . .*/
 42.3223 -          case 218: // binary_adding_operator ::= MINUS 
 42.3224 +    RESULT = UnaryOperation.Operator.MINUS;
 42.3225 +
 42.3226 +              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);
 42.3227 +            }
 42.3228 +          return CUP$Ada95ASTParser$result;
 42.3229 +
 42.3230 +          /*. . . . . . . . . . . . . . . . . . . .*/
 42.3231 +          case 215: // unary_adding_operator ::= PLUS 
 42.3232              {
 42.3233                UnaryOperation.Operator RESULT =null;
 42.3234  		
 42.3235 -    RESULT = UnaryOperation.Operator.MINUS;
 42.3236 -
 42.3237 -              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);
 42.3238 -            }
 42.3239 -          return CUP$Ada95ASTParser$result;
 42.3240 -
 42.3241 -          /*. . . . . . . . . . . . . . . . . . . .*/
 42.3242 -          case 217: // binary_adding_operator ::= PLUS 
 42.3243 -            {
 42.3244 -              UnaryOperation.Operator RESULT =null;
 42.3245 -		
 42.3246      RESULT = UnaryOperation.Operator.PLUS;
 42.3247  
 42.3248 -              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);
 42.3249 -            }
 42.3250 -          return CUP$Ada95ASTParser$result;
 42.3251 -
 42.3252 -          /*. . . . . . . . . . . . . . . . . . . .*/
 42.3253 -          case 216: // unary_adding_operator ::= MINUS 
 42.3254 -            {
 42.3255 -              UnaryOperation.Operator RESULT =null;
 42.3256 -		
 42.3257 -    RESULT = UnaryOperation.Operator.MINUS;
 42.3258 -
 42.3259                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);
 42.3260              }
 42.3261            return CUP$Ada95ASTParser$result;
 42.3262  
 42.3263            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3264 -          case 215: // unary_adding_operator ::= PLUS 
 42.3265 -            {
 42.3266 -              UnaryOperation.Operator RESULT =null;
 42.3267 -		
 42.3268 -    RESULT = UnaryOperation.Operator.PLUS;
 42.3269 -
 42.3270 -              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);
 42.3271 -            }
 42.3272 -          return CUP$Ada95ASTParser$result;
 42.3273 -
 42.3274 -          /*. . . . . . . . . . . . . . . . . . . .*/
 42.3275            case 214: // membership ::= NOT IN 
 42.3276              {
 42.3277 -              Object RESULT =null;
 42.3278 -
 42.3279 -              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);
 42.3280 +              InfixExpression.OperatorType RESULT =null;
 42.3281 +		
 42.3282 +    RESULT = InfixExpression.OperatorType.NOT_IN;
 42.3283 +
 42.3284 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("membership",119, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3285              }
 42.3286            return CUP$Ada95ASTParser$result;
 42.3287  
 42.3288            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3289            case 213: // membership ::= IN 
 42.3290              {
 42.3291 -              Object RESULT =null;
 42.3292 -
 42.3293 -              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);
 42.3294 +              InfixExpression.OperatorType RESULT =null;
 42.3295 +		
 42.3296 +    RESULT = InfixExpression.OperatorType.IN;
 42.3297 +
 42.3298 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("membership",119, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3299              }
 42.3300            return CUP$Ada95ASTParser$result;
 42.3301  
 42.3302            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3303            case 212: // relational_operator ::= GTEQ 
 42.3304              {
 42.3305 -              String RESULT =null;
 42.3306 +              InfixExpression.OperatorType RESULT =null;
 42.3307 +		
 42.3308 +    RESULT = InfixExpression.OperatorType.IS_GREATER_OR_EQUAL;
 42.3309  
 42.3310                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);
 42.3311              }
 42.3312 @@ -6710,7 +6742,9 @@
 42.3313            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3314            case 211: // relational_operator ::= LT 
 42.3315              {
 42.3316 -              String RESULT =null;
 42.3317 +              InfixExpression.OperatorType RESULT =null;
 42.3318 +		
 42.3319 +    RESULT = InfixExpression.OperatorType.LGREATER;
 42.3320  
 42.3321                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);
 42.3322              }
 42.3323 @@ -6719,7 +6753,9 @@
 42.3324            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3325            case 210: // relational_operator ::= LTEQ 
 42.3326              {
 42.3327 -              String RESULT =null;
 42.3328 +              InfixExpression.OperatorType RESULT =null;
 42.3329 +		
 42.3330 +    RESULT = InfixExpression.OperatorType.IS_SMALLER_OR_EQUAL;
 42.3331  
 42.3332                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);
 42.3333              }
 42.3334 @@ -6728,7 +6764,9 @@
 42.3335            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3336            case 209: // relational_operator ::= GT 
 42.3337              {
 42.3338 -              String RESULT =null;
 42.3339 +              InfixExpression.OperatorType RESULT =null;
 42.3340 +		
 42.3341 +    RESULT = InfixExpression.OperatorType.RGREATER;
 42.3342  
 42.3343                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);
 42.3344              }
 42.3345 @@ -6737,7 +6775,9 @@
 42.3346            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3347            case 208: // relational_operator ::= INEQ 
 42.3348              {
 42.3349 -              String RESULT =null;
 42.3350 +              InfixExpression.OperatorType RESULT =null;
 42.3351 +		
 42.3352 +    RESULT = InfixExpression.OperatorType.IS_NOT_EQUAL;
 42.3353  
 42.3354                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);
 42.3355              }
 42.3356 @@ -6746,7 +6786,9 @@
 42.3357            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3358            case 207: // relational_operator ::= EQ 
 42.3359              {
 42.3360 -              String RESULT =null;
 42.3361 +              InfixExpression.OperatorType RESULT =null;
 42.3362 +		
 42.3363 +    RESULT = InfixExpression.OperatorType.IS_EQUAL;
 42.3364  
 42.3365                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);
 42.3366              }
 42.3367 @@ -6755,25 +6797,31 @@
 42.3368            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3369            case 206: // short_circuit ::= OR ELSE 
 42.3370              {
 42.3371 -              Object RESULT =null;
 42.3372 -
 42.3373 -              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);
 42.3374 +              InfixExpression.OperatorType RESULT =null;
 42.3375 +		
 42.3376 +    RESULT = InfixExpression.OperatorType.BOOL_AND;
 42.3377 +
 42.3378 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("short_circuit",118, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3379              }
 42.3380            return CUP$Ada95ASTParser$result;
 42.3381  
 42.3382            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3383            case 205: // short_circuit ::= AND THEN 
 42.3384              {
 42.3385 -              Object RESULT =null;
 42.3386 -
 42.3387 -              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);
 42.3388 +              InfixExpression.OperatorType RESULT =null;
 42.3389 +		
 42.3390 +    RESULT = InfixExpression.OperatorType.BOOL_OR;
 42.3391 +
 42.3392 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("short_circuit",118, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3393              }
 42.3394            return CUP$Ada95ASTParser$result;
 42.3395  
 42.3396            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3397            case 204: // logical_operator ::= XOR 
 42.3398              {
 42.3399 -              String RESULT =null;
 42.3400 +              InfixExpression.OperatorType RESULT =null;
 42.3401 +		
 42.3402 +    RESULT = InfixExpression.OperatorType.BOOL_XOR;
 42.3403  
 42.3404                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);
 42.3405              }
 42.3406 @@ -6782,7 +6830,9 @@
 42.3407            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3408            case 203: // logical_operator ::= OR 
 42.3409              {
 42.3410 -              String RESULT =null;
 42.3411 +              InfixExpression.OperatorType RESULT =null;
 42.3412 +		
 42.3413 +    RESULT = InfixExpression.OperatorType.BOOL_OR;
 42.3414  
 42.3415                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);
 42.3416              }
 42.3417 @@ -6791,7 +6841,9 @@
 42.3418            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3419            case 202: // logical_operator ::= AND 
 42.3420              {
 42.3421 -              String RESULT =null;
 42.3422 +              InfixExpression.OperatorType RESULT =null;
 42.3423 +		
 42.3424 +    RESULT = InfixExpression.OperatorType.BOOL_AND;
 42.3425  
 42.3426                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);
 42.3427              }
 42.3428 @@ -6802,7 +6854,7 @@
 42.3429              {
 42.3430                Object RESULT =null;
 42.3431  
 42.3432 -              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);
 42.3433 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("comp_assoc",172, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3434              }
 42.3435            return CUP$Ada95ASTParser$result;
 42.3436  
 42.3437 @@ -6811,7 +6863,7 @@
 42.3438              {
 42.3439                Object RESULT =null;
 42.3440  
 42.3441 -              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);
 42.3442 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("value_s_2",174, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3443              }
 42.3444            return CUP$Ada95ASTParser$result;
 42.3445  
 42.3446 @@ -6820,7 +6872,7 @@
 42.3447              {
 42.3448                Object RESULT =null;
 42.3449  
 42.3450 -              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);
 42.3451 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("value_s_2",174, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3452              }
 42.3453            return CUP$Ada95ASTParser$result;
 42.3454  
 42.3455 @@ -6829,7 +6881,7 @@
 42.3456              {
 42.3457                Object RESULT =null;
 42.3458  
 42.3459 -              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);
 42.3460 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("aggregate",173, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3461              }
 42.3462            return CUP$Ada95ASTParser$result;
 42.3463  
 42.3464 @@ -6838,7 +6890,7 @@
 42.3465              {
 42.3466                Object RESULT =null;
 42.3467  
 42.3468 -              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);
 42.3469 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("aggregate",173, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3470              }
 42.3471            return CUP$Ada95ASTParser$result;
 42.3472  
 42.3473 @@ -6847,7 +6899,7 @@
 42.3474              {
 42.3475                Object RESULT =null;
 42.3476  
 42.3477 -              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);
 42.3478 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("aggregate",173, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3479              }
 42.3480            return CUP$Ada95ASTParser$result;
 42.3481  
 42.3482 @@ -6856,7 +6908,7 @@
 42.3483              {
 42.3484                Object RESULT =null;
 42.3485  
 42.3486 -              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);
 42.3487 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("aggregate",173, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3488              }
 42.3489            return CUP$Ada95ASTParser$result;
 42.3490  
 42.3491 @@ -6865,7 +6917,7 @@
 42.3492              {
 42.3493                Object RESULT =null;
 42.3494  
 42.3495 -              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);
 42.3496 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("aggregate",173, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3497              }
 42.3498            return CUP$Ada95ASTParser$result;
 42.3499  
 42.3500 @@ -6873,6 +6925,12 @@
 42.3501            case 193: // literal ::= NULL 
 42.3502              {
 42.3503                Expression RESULT =null;
 42.3504 +		int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3505 +		int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3506 +		Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3507 +		
 42.3508 +    Scalar scalar = new Scalar(tokenleft, tokenright, "null", Scalar.Type.SYSTEM);
 42.3509 +    RESULT = scalar;
 42.3510  
 42.3511                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);
 42.3512              }
 42.3513 @@ -6886,8 +6944,8 @@
 42.3514  		int usedCharright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3515  		String usedChar = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3516  		
 42.3517 -	Scalar scalar = new Scalar(usedCharleft, usedCharright, usedChar, Scalar.Type.STRING);
 42.3518 -	RESULT = scalar;
 42.3519 +    Scalar scalar = new Scalar(usedCharleft, usedCharright, usedChar, Scalar.Type.STRING);
 42.3520 +    RESULT = scalar;
 42.3521  
 42.3522                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);
 42.3523              }
 42.3524 @@ -6901,8 +6959,8 @@
 42.3525  		int decright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3526  		String dec = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3527  		
 42.3528 -	Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
 42.3529 -	RESULT = scalar;
 42.3530 +    Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
 42.3531 +    RESULT = scalar;
 42.3532  
 42.3533                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);
 42.3534              }
 42.3535 @@ -6916,8 +6974,8 @@
 42.3536  		int decright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3537  		String dec = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3538  		
 42.3539 -	Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
 42.3540 -	RESULT = scalar;
 42.3541 +    Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
 42.3542 +    RESULT = scalar;
 42.3543  
 42.3544                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);
 42.3545              }
 42.3546 @@ -6926,46 +6984,46 @@
 42.3547            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3548            case 189: // attribute_id ::= ACCESS 
 42.3549              {
 42.3550 -              Object RESULT =null;
 42.3551 -
 42.3552 -              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);
 42.3553 +              String RESULT =null;
 42.3554 +
 42.3555 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("attribute_id",120, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3556              }
 42.3557            return CUP$Ada95ASTParser$result;
 42.3558  
 42.3559            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3560            case 188: // attribute_id ::= DELTA 
 42.3561              {
 42.3562 -              Object RESULT =null;
 42.3563 -
 42.3564 -              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);
 42.3565 +              String RESULT =null;
 42.3566 +
 42.3567 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("attribute_id",120, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3568              }
 42.3569            return CUP$Ada95ASTParser$result;
 42.3570  
 42.3571            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3572            case 187: // attribute_id ::= DIGITS 
 42.3573              {
 42.3574 -              Object RESULT =null;
 42.3575 -
 42.3576 -              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);
 42.3577 +              String RESULT =null;
 42.3578 +
 42.3579 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("attribute_id",120, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3580              }
 42.3581            return CUP$Ada95ASTParser$result;
 42.3582  
 42.3583            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3584            case 186: // attribute_id ::= IDENTIFIER 
 42.3585              {
 42.3586 -              Object RESULT =null;
 42.3587 -
 42.3588 -              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);
 42.3589 +              String RESULT =null;
 42.3590 +
 42.3591 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("attribute_id",120, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3592              }
 42.3593            return CUP$Ada95ASTParser$result;
 42.3594  
 42.3595            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3596            case 185: // attribute ::= name TICK attribute_id 
 42.3597              {
 42.3598 -              String RESULT =null;
 42.3599 +              Identifier RESULT =null;
 42.3600  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.3601  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.3602 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3603 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3604  		
 42.3605      RESULT = name;
 42.3606  
 42.3607 @@ -6976,15 +7034,16 @@
 42.3608            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3609            case 184: // selected_component ::= name DOT ALL 
 42.3610              {
 42.3611 -              String RESULT =null;
 42.3612 +              Identifier RESULT =null;
 42.3613  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.3614  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.3615 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3616 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3617  		int allleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3618  		int allright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3619  		Object all = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3620  		
 42.3621 -    RESULT = name + "." + all;
 42.3622 +    Identifier identifier = new Identifier (nameleft, allright, name.getName() + "." + "all");
 42.3623 +    RESULT = identifier;
 42.3624  
 42.3625                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);
 42.3626              }
 42.3627 @@ -6993,15 +7052,16 @@
 42.3628            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3629            case 183: // selected_component ::= name DOT operator_symbol 
 42.3630              {
 42.3631 -              String RESULT =null;
 42.3632 +              Identifier RESULT =null;
 42.3633  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.3634  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.3635 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3636 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3637  		int operatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3638  		int operatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3639 -		String operator = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3640 -		
 42.3641 -    RESULT = name + "." + operator;
 42.3642 +		Identifier operator = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3643 +		
 42.3644 +    Identifier identifier = new Identifier (nameleft, operatorright, name.getName() + "." + operator.getName());
 42.3645 +    RESULT = identifier;
 42.3646  
 42.3647                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);
 42.3648              }
 42.3649 @@ -7010,15 +7070,16 @@
 42.3650            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3651            case 182: // selected_component ::= name DOT used_char 
 42.3652              {
 42.3653 -              String RESULT =null;
 42.3654 +              Identifier RESULT =null;
 42.3655  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.3656  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.3657 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3658 -		int usedCharleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3659 -		int usedCharright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3660 -		String usedChar = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3661 -		
 42.3662 -    RESULT = name + "." + usedChar;
 42.3663 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3664 +		int used_charleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3665 +		int used_charright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3666 +		String used_char = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3667 +		
 42.3668 +    Identifier identifier = new Identifier (nameleft, used_charright, name.getName() + "." + used_char);
 42.3669 +    RESULT = identifier;
 42.3670  
 42.3671                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);
 42.3672              }
 42.3673 @@ -7027,15 +7088,16 @@
 42.3674            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3675            case 181: // selected_component ::= name DOT simple_name 
 42.3676              {
 42.3677 -              String RESULT =null;
 42.3678 +              Identifier RESULT =null;
 42.3679  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.3680  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.3681 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3682 -		int simpleNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3683 -		int simpleNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3684 -		String simpleName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3685 -		
 42.3686 -    RESULT = name + "." + simpleName;
 42.3687 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3688 +		int simple_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3689 +		int simple_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3690 +		Identifier simple_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3691 +		
 42.3692 +    Identifier identifier = new Identifier (nameleft, simple_nameright, name.getName() + "." + simple_name.getName());
 42.3693 +    RESULT = identifier;
 42.3694  
 42.3695                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);
 42.3696              }
 42.3697 @@ -7052,7 +7114,7 @@
 42.3698      ASTError error = new ASTError(theErrorleft, theErrorright);
 42.3699      RESULT = error;
 42.3700  
 42.3701 -              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);
 42.3702 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("value",171, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3703              }
 42.3704            return CUP$Ada95ASTParser$result;
 42.3705  
 42.3706 @@ -7061,7 +7123,7 @@
 42.3707              {
 42.3708                Object RESULT =null;
 42.3709  
 42.3710 -              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);
 42.3711 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("value",171, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3712              }
 42.3713            return CUP$Ada95ASTParser$result;
 42.3714  
 42.3715 @@ -7070,7 +7132,7 @@
 42.3716              {
 42.3717                Object RESULT =null;
 42.3718  
 42.3719 -              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);
 42.3720 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("value",171, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3721              }
 42.3722            return CUP$Ada95ASTParser$result;
 42.3723  
 42.3724 @@ -7079,7 +7141,7 @@
 42.3725              {
 42.3726                Object RESULT =null;
 42.3727  
 42.3728 -              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);
 42.3729 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("value",171, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3730              }
 42.3731            return CUP$Ada95ASTParser$result;
 42.3732  
 42.3733 @@ -7102,12 +7164,12 @@
 42.3734            return CUP$Ada95ASTParser$result;
 42.3735  
 42.3736            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3737 -          case 174: // indexed_comp ::= name LPAREN value_s RPAREN 
 42.3738 -            {
 42.3739 -              String RESULT =null;
 42.3740 +          case 174: // indexed_component ::= name LPAREN value_s RPAREN 
 42.3741 +            {
 42.3742 +              Identifier RESULT =null;
 42.3743  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
 42.3744  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
 42.3745 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 42.3746 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 42.3747  		int indexleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.3748  		int indexright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.3749  		Expression index = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.3750 @@ -7115,14 +7177,9 @@
 42.3751  		int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3752  		Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3753  		
 42.3754 -    System.out.println ("indexed_comp ::= name => " + name);
 42.3755 -    Identifier identifier = new Identifier(nameleft, nameright, name);
 42.3756 -    //Variable variable = new Variable (nameleft, nameright, name);
 42.3757 -	Variable indexedVar = new ArrayAccess(nameleft, endright, identifier, index, ArrayAccess.Type.VARIABLE_ARRAY);
 42.3758 -    //RESULT = indexedVar;
 42.3759      RESULT = name;
 42.3760  
 42.3761 -              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);
 42.3762 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("indexed_component",114, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.3763              }
 42.3764            return CUP$Ada95ASTParser$result;
 42.3765  
 42.3766 @@ -7149,7 +7206,7 @@
 42.3767  		List nameList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3768  		int compoundNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3769  		int compoundNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3770 -		String compoundName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3771 +		Identifier compoundName = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3772  		
 42.3773      nameList.add(compoundName);
 42.3774      RESULT = nameList;
 42.3775 @@ -7162,13 +7219,12 @@
 42.3776            case 171: // library_unit_name_list ::= compound_name 
 42.3777              {
 42.3778                List RESULT =null;
 42.3779 -		int compoundNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3780 -		int compoundNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3781 -		String compoundName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3782 +		int compound_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3783 +		int compound_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3784 +		Identifier compound_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3785  		
 42.3786      List nameList = new LinkedList();
 42.3787 -    Identifier id = new Identifier(compoundNameleft, compoundNameright, (String)compoundName);
 42.3788 -    PackageName packageName = new PackageName(compoundNameleft, compoundNameright, id);
 42.3789 +    PackageName packageName = new PackageName(compound_nameleft, compound_nameright, compound_name);
 42.3790      nameList.add(packageName);
 42.3791      RESULT = nameList;
 42.3792  
 42.3793 @@ -7179,15 +7235,15 @@
 42.3794            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3795            case 170: // compound_name ::= compound_name DOT simple_name 
 42.3796              {
 42.3797 -              String RESULT =null;
 42.3798 -		int compoundNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.3799 -		int compoundNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.3800 -		String compoundName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3801 -		int simpleNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3802 -		int simpleNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3803 -		String simpleName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3804 -		
 42.3805 -    RESULT = compoundName + "." + simpleName;
 42.3806 +              Identifier RESULT =null;
 42.3807 +		int compound_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.3808 +		int compound_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.3809 +		Identifier compound_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3810 +		int simple_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3811 +		int simple_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3812 +		Identifier simple_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3813 +		
 42.3814 +    RESULT = simple_name;
 42.3815  
 42.3816                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);
 42.3817              }
 42.3818 @@ -7196,12 +7252,12 @@
 42.3819            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3820            case 169: // compound_name ::= simple_name 
 42.3821              {
 42.3822 -              String RESULT =null;
 42.3823 -		int simpleNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3824 -		int simpleNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3825 -		String simpleName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3826 -		
 42.3827 -    RESULT = simpleName;
 42.3828 +              Identifier RESULT =null;
 42.3829 +		int simple_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3830 +		int simple_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3831 +		Identifier simple_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3832 +		
 42.3833 +    RESULT = simple_name;
 42.3834  
 42.3835                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);
 42.3836              }
 42.3837 @@ -7210,11 +7266,12 @@
 42.3838            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3839            case 168: // simple_name ::= IDENTIFIER 
 42.3840              {
 42.3841 -              String RESULT =null;
 42.3842 -		int identifierleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3843 -		int identifierright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3844 -		String identifier = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3845 -		
 42.3846 +              Identifier RESULT =null;
 42.3847 +		int idleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3848 +		int idright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3849 +		String id = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3850 +		
 42.3851 +    Identifier identifier = new Identifier (idleft, idright, id);
 42.3852      RESULT = identifier;
 42.3853  
 42.3854                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);
 42.3855 @@ -7224,100 +7281,107 @@
 42.3856            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3857            case 167: // subtype_mark ::= subtype_mark DOT simple_name 
 42.3858              {
 42.3859 -              String RESULT =null;
 42.3860 +              NameBase RESULT =null;
 42.3861 +		int subtype_markleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.3862 +		int subtype_markright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.3863 +		NameBase subtype_mark = (NameBase)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3864 +		int simple_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3865 +		int simple_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3866 +		Identifier simple_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3867 +		
 42.3868 +    TypeName typeName = new TypeName (simple_nameleft, simple_nameright, simple_name);
 42.3869 +    Dispatch dispatch = parser.createDispatch(subtype_mark, typeName);
 42.3870 +    RESULT = dispatch;
 42.3871 +
 42.3872 +
 42.3873 +              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);
 42.3874 +            }
 42.3875 +          return CUP$Ada95ASTParser$result;
 42.3876 +
 42.3877 +          /*. . . . . . . . . . . . . . . . . . . .*/
 42.3878 +          case 166: // subtype_mark ::= subtype_mark TICK attribute_id 
 42.3879 +            {
 42.3880 +              NameBase RESULT =null;
 42.3881  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.3882  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.3883 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3884 -		int simpleNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3885 -		int simpleNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3886 -		String simpleName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3887 -		
 42.3888 -    RESULT = name + "." + simpleName;
 42.3889 +		NameBase name = (NameBase)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3890 +		int idleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3891 +		int idright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3892 +		String id = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3893 +		
 42.3894 +    ((TypeName)name).setAttributeId(id);
 42.3895 +    RESULT = name;
 42.3896  
 42.3897                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);
 42.3898              }
 42.3899            return CUP$Ada95ASTParser$result;
 42.3900  
 42.3901            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3902 -          case 166: // subtype_mark ::= subtype_mark TICK attribute_id 
 42.3903 -            {
 42.3904 -              String RESULT =null;
 42.3905 -		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.3906 -		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.3907 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.3908 -		
 42.3909 -    // TODO: manage the attribute
 42.3910 -    RESULT = name;
 42.3911 -
 42.3912 -              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);
 42.3913 -            }
 42.3914 -          return CUP$Ada95ASTParser$result;
 42.3915 -
 42.3916 -          /*. . . . . . . . . . . . . . . . . . . .*/
 42.3917            case 165: // subtype_mark ::= simple_name 
 42.3918              {
 42.3919 -              String RESULT =null;
 42.3920 +              NameBase RESULT =null;
 42.3921  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3922  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3923 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3924 -		
 42.3925 -    RESULT = name;
 42.3926 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3927 +		
 42.3928 +    TypeName typeName = new TypeName (nameleft, nameright, name);
 42.3929 +    RESULT = typeName;
 42.3930  
 42.3931                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);
 42.3932              }
 42.3933            return CUP$Ada95ASTParser$result;
 42.3934  
 42.3935            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3936 -          case 164: // name ::= operator_symbol 
 42.3937 -            {
 42.3938 -              String RESULT =null;
 42.3939 -		int opleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3940 -		int opright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3941 -		String op = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3942 -		
 42.3943 -    RESULT = op;
 42.3944 +          case 164: // name ::= attribute 
 42.3945 +            {
 42.3946 +              Identifier RESULT =null;
 42.3947 +		int attributeleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3948 +		int attributeright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3949 +		Identifier attribute = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3950 +		
 42.3951 +    RESULT = attribute;
 42.3952  
 42.3953                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);
 42.3954              }
 42.3955            return CUP$Ada95ASTParser$result;
 42.3956  
 42.3957            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3958 -          case 163: // name ::= attribute 
 42.3959 -            {
 42.3960 -              String RESULT =null;
 42.3961 -		int attrleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3962 -		int attrright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3963 -		String attr = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3964 -		
 42.3965 -    RESULT = attr;
 42.3966 +          case 163: // name ::= selected_component 
 42.3967 +            {
 42.3968 +              Identifier RESULT =null;
 42.3969 +		int selected_componentleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3970 +		int selected_componentright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3971 +		Identifier selected_component = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3972 +		
 42.3973 +    RESULT = selected_component;
 42.3974  
 42.3975                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);
 42.3976              }
 42.3977            return CUP$Ada95ASTParser$result;
 42.3978  
 42.3979            /*. . . . . . . . . . . . . . . . . . . .*/
 42.3980 -          case 162: // name ::= selected_component 
 42.3981 -            {
 42.3982 -              String RESULT =null;
 42.3983 -		int compleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3984 -		int compright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3985 -		String comp = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3986 -		
 42.3987 -    RESULT = comp;
 42.3988 +          case 162: // name ::= indexed_component 
 42.3989 +            {
 42.3990 +              Identifier RESULT =null;
 42.3991 +		int indexed_componentleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.3992 +		int indexed_componentright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.3993 +		Identifier indexed_component = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.3994 +		
 42.3995 +    RESULT = indexed_component;
 42.3996  
 42.3997                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);
 42.3998              }
 42.3999            return CUP$Ada95ASTParser$result;
 42.4000  
 42.4001            /*. . . . . . . . . . . . . . . . . . . .*/
 42.4002 -          case 161: // name ::= indexed_comp 
 42.4003 -            {
 42.4004 -              String RESULT =null;
 42.4005 -		int compleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.4006 -		int compright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.4007 -		String comp = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.4008 -		
 42.4009 -    RESULT = comp;
 42.4010 +          case 161: // name ::= operator_symbol 
 42.4011 +            {
 42.4012 +              Identifier RESULT =null;
 42.4013 +		int operator_symbolleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.4014 +		int operator_symbolright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.4015 +		Identifier operator_symbol = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.4016 +		
 42.4017 +    RESULT = operator_symbol;
 42.4018  
 42.4019                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);
 42.4020              }
 42.4021 @@ -7326,12 +7390,12 @@
 42.4022            /*. . . . . . . . . . . . . . . . . . . .*/
 42.4023            case 160: // name ::= simple_name 
 42.4024              {
 42.4025 -              String RESULT =null;
 42.4026 -		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.4027 -		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.4028 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.4029 -		
 42.4030 -    RESULT = name;
 42.4031 +              Identifier RESULT =null;
 42.4032 +		int simple_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.4033 +		int simple_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.4034 +		Identifier simple_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.4035 +		
 42.4036 +    RESULT = simple_name;
 42.4037  
 42.4038                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);
 42.4039              }
 42.4040 @@ -7459,7 +7523,7 @@
 42.4041  		
 42.4042      RESULT = statement;
 42.4043  
 42.4044 -              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);
 42.4045 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item_or_body",170, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4046              }
 42.4047            return CUP$Ada95ASTParser$result;
 42.4048  
 42.4049 @@ -7473,7 +7537,7 @@
 42.4050  		
 42.4051      RESULT = statement;
 42.4052  
 42.4053 -              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);
 42.4054 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("declarative_item_or_body",170, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4055              }
 42.4056            return CUP$Ada95ASTParser$result;
 42.4057  
 42.4058 @@ -7703,7 +7767,7 @@
 42.4059              {
 42.4060                Object RESULT =null;
 42.4061  
 42.4062 -              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);
 42.4063 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_opt",168, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4064              }
 42.4065            return CUP$Ada95ASTParser$result;
 42.4066  
 42.4067 @@ -7712,7 +7776,7 @@
 42.4068              {
 42.4069                Object RESULT =null;
 42.4070  
 42.4071 -              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);
 42.4072 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("prot_opt",168, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4073              }
 42.4074            return CUP$Ada95ASTParser$result;
 42.4075  
 42.4076 @@ -7721,7 +7785,7 @@
 42.4077              {
 42.4078                Object RESULT =null;
 42.4079  
 42.4080 -              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);
 42.4081 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("access_type",135, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4082              }
 42.4083            return CUP$Ada95ASTParser$result;
 42.4084  
 42.4085 @@ -7730,7 +7794,7 @@
 42.4086              {
 42.4087                Object RESULT =null;
 42.4088  
 42.4089 -              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);
 42.4090 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("access_type",135, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4091              }
 42.4092            return CUP$Ada95ASTParser$result;
 42.4093  
 42.4094 @@ -7739,7 +7803,7 @@
 42.4095              {
 42.4096                Object RESULT =null;
 42.4097  
 42.4098 -              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);
 42.4099 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("access_type",135, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4100              }
 42.4101            return CUP$Ada95ASTParser$result;
 42.4102  
 42.4103 @@ -7748,7 +7812,7 @@
 42.4104              {
 42.4105                Object RESULT =null;
 42.4106  
 42.4107 -              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);
 42.4108 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("access_type",135, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4109              }
 42.4110            return CUP$Ada95ASTParser$result;
 42.4111  
 42.4112 @@ -7757,7 +7821,7 @@
 42.4113              {
 42.4114                Object RESULT =null;
 42.4115  
 42.4116 -              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);
 42.4117 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("access_type",135, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4118              }
 42.4119            return CUP$Ada95ASTParser$result;
 42.4120  
 42.4121 @@ -7766,7 +7830,7 @@
 42.4122              {
 42.4123                Object RESULT =null;
 42.4124  
 42.4125 -              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);
 42.4126 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrete_with_range",167, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4127              }
 42.4128            return CUP$Ada95ASTParser$result;
 42.4129  
 42.4130 @@ -7775,7 +7839,7 @@
 42.4131              {
 42.4132                Object RESULT =null;
 42.4133  
 42.4134 -              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);
 42.4135 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrete_with_range",167, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4136              }
 42.4137            return CUP$Ada95ASTParser$result;
 42.4138  
 42.4139 @@ -7784,7 +7848,7 @@
 42.4140              {
 42.4141                Object RESULT =null;
 42.4142  
 42.4143 -              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);
 42.4144 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("choice",166, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4145              }
 42.4146            return CUP$Ada95ASTParser$result;
 42.4147  
 42.4148 @@ -7793,7 +7857,7 @@
 42.4149              {
 42.4150                Object RESULT =null;
 42.4151  
 42.4152 -              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);
 42.4153 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("choice",166, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4154              }
 42.4155            return CUP$Ada95ASTParser$result;
 42.4156  
 42.4157 @@ -7802,7 +7866,7 @@
 42.4158              {
 42.4159                Object RESULT =null;
 42.4160  
 42.4161 -              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);
 42.4162 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("choice",166, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4163              }
 42.4164            return CUP$Ada95ASTParser$result;
 42.4165  
 42.4166 @@ -7829,7 +7893,7 @@
 42.4167              {
 42.4168                Object RESULT =null;
 42.4169  
 42.4170 -              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);
 42.4171 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("variant",165, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4172              }
 42.4173            return CUP$Ada95ASTParser$result;
 42.4174  
 42.4175 @@ -7838,7 +7902,7 @@
 42.4176              {
 42.4177                Object RESULT =null;
 42.4178  
 42.4179 -              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);
 42.4180 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("variant_s",164, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4181              }
 42.4182            return CUP$Ada95ASTParser$result;
 42.4183  
 42.4184 @@ -7847,7 +7911,7 @@
 42.4185              {
 42.4186                Object RESULT =null;
 42.4187  
 42.4188 -              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);
 42.4189 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("variant_s",164, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4190              }
 42.4191            return CUP$Ada95ASTParser$result;
 42.4192  
 42.4193 @@ -7856,7 +7920,7 @@
 42.4194              {
 42.4195                Object RESULT =null;
 42.4196  
 42.4197 -              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);
 42.4198 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("variant_part",160, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-7)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4199              }
 42.4200            return CUP$Ada95ASTParser$result;
 42.4201  
 42.4202 @@ -7865,7 +7929,7 @@
 42.4203              {
 42.4204                Object RESULT =null;
 42.4205  
 42.4206 -              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);
 42.4207 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("access_opt",163, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4208              }
 42.4209            return CUP$Ada95ASTParser$result;
 42.4210  
 42.4211 @@ -7874,7 +7938,7 @@
 42.4212              {
 42.4213                Object RESULT =null;
 42.4214  
 42.4215 -              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);
 42.4216 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("access_opt",163, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4217              }
 42.4218            return CUP$Ada95ASTParser$result;
 42.4219  
 42.4220 @@ -7889,7 +7953,7 @@
 42.4221      ASTError error = new ASTError(theErrorleft, theErrorright);
 42.4222      RESULT = error;
 42.4223  
 42.4224 -              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);
 42.4225 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrim_spec",162, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4226              }
 42.4227            return CUP$Ada95ASTParser$result;
 42.4228  
 42.4229 @@ -7898,7 +7962,7 @@
 42.4230              {
 42.4231                Object RESULT =null;
 42.4232  
 42.4233 -              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);
 42.4234 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrim_spec",162, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4235              }
 42.4236            return CUP$Ada95ASTParser$result;
 42.4237  
 42.4238 @@ -7907,7 +7971,7 @@
 42.4239              {
 42.4240                Object RESULT =null;
 42.4241  
 42.4242 -              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);
 42.4243 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrim_spec_s",161, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4244              }
 42.4245            return CUP$Ada95ASTParser$result;
 42.4246  
 42.4247 @@ -7916,7 +7980,7 @@
 42.4248              {
 42.4249                Object RESULT =null;
 42.4250  
 42.4251 -              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);
 42.4252 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrim_spec_s",161, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4253              }
 42.4254            return CUP$Ada95ASTParser$result;
 42.4255  
 42.4256 @@ -7925,7 +7989,7 @@
 42.4257              {
 42.4258                Object RESULT =null;
 42.4259  
 42.4260 -              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);
 42.4261 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrim_part",129, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4262              }
 42.4263            return CUP$Ada95ASTParser$result;
 42.4264  
 42.4265 @@ -7940,7 +8004,7 @@
 42.4266      ASTError error = new ASTError(theErrorleft, theErrorright);
 42.4267      RESULT = error;
 42.4268  
 42.4269 -              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);
 42.4270 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("comp_decl",158, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4271              }
 42.4272            return CUP$Ada95ASTParser$result;
 42.4273  
 42.4274 @@ -7949,7 +8013,7 @@
 42.4275              {
 42.4276                Object RESULT =null;
 42.4277  
 42.4278 -              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);
 42.4279 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("comp_decl",158, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4280              }
 42.4281            return CUP$Ada95ASTParser$result;
 42.4282  
 42.4283 @@ -7958,7 +8022,7 @@
 42.4284              {
 42.4285                Object RESULT =null;
 42.4286  
 42.4287 -              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);
 42.4288 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("variant_part_opt",159, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4289              }
 42.4290            return CUP$Ada95ASTParser$result;
 42.4291  
 42.4292 @@ -7967,7 +8031,7 @@
 42.4293              {
 42.4294                Object RESULT =null;
 42.4295  
 42.4296 -              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);
 42.4297 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("variant_part_opt",159, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4298              }
 42.4299            return CUP$Ada95ASTParser$result;
 42.4300  
 42.4301 @@ -7976,7 +8040,7 @@
 42.4302              {
 42.4303                Object RESULT =null;
 42.4304  
 42.4305 -              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);
 42.4306 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("comp_decl_s",157, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4307              }
 42.4308            return CUP$Ada95ASTParser$result;
 42.4309  
 42.4310 @@ -7985,7 +8049,7 @@
 42.4311              {
 42.4312                Object RESULT =null;
 42.4313  
 42.4314 -              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);
 42.4315 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("comp_decl_s",157, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4316              }
 42.4317            return CUP$Ada95ASTParser$result;
 42.4318  
 42.4319 @@ -7994,7 +8058,7 @@
 42.4320              {
 42.4321                Object RESULT =null;
 42.4322  
 42.4323 -              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);
 42.4324 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("comp_list",156, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4325              }
 42.4326            return CUP$Ada95ASTParser$result;
 42.4327  
 42.4328 @@ -8003,7 +8067,7 @@
 42.4329              {
 42.4330                Object RESULT =null;
 42.4331  
 42.4332 -              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);
 42.4333 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("comp_list",156, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4334              }
 42.4335            return CUP$Ada95ASTParser$result;
 42.4336  
 42.4337 @@ -8012,7 +8076,7 @@
 42.4338              {
 42.4339                Object RESULT =null;
 42.4340  
 42.4341 -              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);
 42.4342 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("comp_list",156, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4343              }
 42.4344            return CUP$Ada95ASTParser$result;
 42.4345  
 42.4346 @@ -8054,7 +8118,7 @@
 42.4347              {
 42.4348                Object RESULT =null;
 42.4349  
 42.4350 -              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);
 42.4351 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("record_def",141, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4352              }
 42.4353            return CUP$Ada95ASTParser$result;
 42.4354  
 42.4355 @@ -8063,7 +8127,7 @@
 42.4356              {
 42.4357                Object RESULT =null;
 42.4358  
 42.4359 -              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);
 42.4360 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("record_def",141, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4361              }
 42.4362            return CUP$Ada95ASTParser$result;
 42.4363  
 42.4364 @@ -8072,7 +8136,7 @@
 42.4365              {
 42.4366                Object RESULT =null;
 42.4367  
 42.4368 -              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);
 42.4369 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("record_type",134, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4370              }
 42.4371            return CUP$Ada95ASTParser$result;
 42.4372  
 42.4373 @@ -8081,7 +8145,7 @@
 42.4374              {
 42.4375                Object RESULT =null;
 42.4376  
 42.4377 -              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);
 42.4378 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("range_constr_opt",140, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4379              }
 42.4380            return CUP$Ada95ASTParser$result;
 42.4381  
 42.4382 @@ -8090,7 +8154,7 @@
 42.4383              {
 42.4384                Object RESULT =null;
 42.4385  
 42.4386 -              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);
 42.4387 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("range_constr_opt",140, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4388              }
 42.4389            return CUP$Ada95ASTParser$result;
 42.4390  
 42.4391 @@ -8122,7 +8186,7 @@
 42.4392              {
 42.4393                Object RESULT =null;
 42.4394  
 42.4395 -              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);
 42.4396 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("iter_discrete_range_s",155, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4397              }
 42.4398            return CUP$Ada95ASTParser$result;
 42.4399  
 42.4400 @@ -8131,7 +8195,7 @@
 42.4401              {
 42.4402                Object RESULT =null;
 42.4403  
 42.4404 -              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);
 42.4405 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("iter_discrete_range_s",155, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4406              }
 42.4407            return CUP$Ada95ASTParser$result;
 42.4408  
 42.4409 @@ -8140,7 +8204,7 @@
 42.4410              {
 42.4411                Object RESULT =null;
 42.4412  
 42.4413 -              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);
 42.4414 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("iter_index_constraint",154, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4415              }
 42.4416            return CUP$Ada95ASTParser$result;
 42.4417  
 42.4418 @@ -8149,7 +8213,7 @@
 42.4419              {
 42.4420                Object RESULT =null;
 42.4421  
 42.4422 -              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);
 42.4423 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("index",151, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4424              }
 42.4425            return CUP$Ada95ASTParser$result;
 42.4426  
 42.4427 @@ -8158,7 +8222,7 @@
 42.4428              {
 42.4429                Object RESULT =null;
 42.4430  
 42.4431 -              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);
 42.4432 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("index_s",150, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4433              }
 42.4434            return CUP$Ada95ASTParser$result;
 42.4435  
 42.4436 @@ -8167,7 +8231,7 @@
 42.4437              {
 42.4438                Object RESULT =null;
 42.4439  
 42.4440 -              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);
 42.4441 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("index_s",150, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4442              }
 42.4443            return CUP$Ada95ASTParser$result;
 42.4444  
 42.4445 @@ -8176,7 +8240,7 @@
 42.4446              {
 42.4447                Object RESULT =null;
 42.4448  
 42.4449 -              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);
 42.4450 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("aliased_opt",153, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4451              }
 42.4452            return CUP$Ada95ASTParser$result;
 42.4453  
 42.4454 @@ -8185,7 +8249,7 @@
 42.4455              {
 42.4456                Object RESULT =null;
 42.4457  
 42.4458 -              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);
 42.4459 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("aliased_opt",153, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4460              }
 42.4461            return CUP$Ada95ASTParser$result;
 42.4462  
 42.4463 @@ -8194,7 +8258,7 @@
 42.4464              {
 42.4465                Object RESULT =null;
 42.4466  
 42.4467 -              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);
 42.4468 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("component_subtype_def",152, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4469              }
 42.4470            return CUP$Ada95ASTParser$result;
 42.4471  
 42.4472 @@ -8203,7 +8267,7 @@
 42.4473              {
 42.4474                Object RESULT =null;
 42.4475  
 42.4476 -              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);
 42.4477 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("constr_array_type",149, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4478              }
 42.4479            return CUP$Ada95ASTParser$result;
 42.4480  
 42.4481 @@ -8212,7 +8276,7 @@
 42.4482              {
 42.4483                Object RESULT =null;
 42.4484  
 42.4485 -              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);
 42.4486 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("unconstr_array_type",148, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4487              }
 42.4488            return CUP$Ada95ASTParser$result;
 42.4489  
 42.4490 @@ -8221,7 +8285,7 @@
 42.4491              {
 42.4492                Object RESULT =null;
 42.4493  
 42.4494 -              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);
 42.4495 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("array_type",133, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4496              }
 42.4497            return CUP$Ada95ASTParser$result;
 42.4498  
 42.4499 @@ -8230,7 +8294,7 @@
 42.4500              {
 42.4501                Object RESULT =null;
 42.4502  
 42.4503 -              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);
 42.4504 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("array_type",133, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4505              }
 42.4506            return CUP$Ada95ASTParser$result;
 42.4507  
 42.4508 @@ -8239,7 +8303,7 @@
 42.4509              {
 42.4510                Object RESULT =null;
 42.4511  
 42.4512 -              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);
 42.4513 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("fixed_type",147, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4514              }
 42.4515            return CUP$Ada95ASTParser$result;
 42.4516  
 42.4517 @@ -8248,7 +8312,7 @@
 42.4518              {
 42.4519                Object RESULT =null;
 42.4520  
 42.4521 -              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);
 42.4522 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("fixed_type",147, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4523              }
 42.4524            return CUP$Ada95ASTParser$result;
 42.4525  
 42.4526 @@ -8257,7 +8321,7 @@
 42.4527              {
 42.4528                Object RESULT =null;
 42.4529  
 42.4530 -              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);
 42.4531 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("float_type",146, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4532              }
 42.4533            return CUP$Ada95ASTParser$result;
 42.4534  
 42.4535 @@ -8266,7 +8330,7 @@
 42.4536              {
 42.4537                Object RESULT =null;
 42.4538  
 42.4539 -              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);
 42.4540 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("real_type",132, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4541              }
 42.4542            return CUP$Ada95ASTParser$result;
 42.4543  
 42.4544 @@ -8275,7 +8339,7 @@
 42.4545              {
 42.4546                Object RESULT =null;
 42.4547  
 42.4548 -              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);
 42.4549 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("real_type",132, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4550              }
 42.4551            return CUP$Ada95ASTParser$result;
 42.4552  
 42.4553 @@ -8284,7 +8348,7 @@
 42.4554              {
 42.4555                Object RESULT =null;
 42.4556  
 42.4557 -              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);
 42.4558 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("range_spec_opt",145, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4559              }
 42.4560            return CUP$Ada95ASTParser$result;
 42.4561  
 42.4562 @@ -8293,7 +8357,7 @@
 42.4563              {
 42.4564                Object RESULT =null;
 42.4565  
 42.4566 -              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);
 42.4567 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("range_spec_opt",145, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4568              }
 42.4569            return CUP$Ada95ASTParser$result;
 42.4570  
 42.4571 @@ -8302,7 +8366,7 @@
 42.4572              {
 42.4573                Object RESULT =null;
 42.4574  
 42.4575 -              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);
 42.4576 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("range_spec",144, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4577              }
 42.4578            return CUP$Ada95ASTParser$result;
 42.4579  
 42.4580 @@ -8311,7 +8375,7 @@
 42.4581              {
 42.4582                Object RESULT =null;
 42.4583  
 42.4584 -              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);
 42.4585 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("integer_type",131, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4586              }
 42.4587            return CUP$Ada95ASTParser$result;
 42.4588  
 42.4589 @@ -8320,7 +8384,7 @@
 42.4590              {
 42.4591                Object RESULT =null;
 42.4592  
 42.4593 -              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);
 42.4594 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("integer_type",131, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4595              }
 42.4596            return CUP$Ada95ASTParser$result;
 42.4597  
 42.4598 @@ -8329,7 +8393,7 @@
 42.4599              {
 42.4600                Object RESULT =null;
 42.4601  
 42.4602 -              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);
 42.4603 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("enum_id",143, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4604              }
 42.4605            return CUP$Ada95ASTParser$result;
 42.4606  
 42.4607 @@ -8338,7 +8402,7 @@
 42.4608              {
 42.4609                Object RESULT =null;
 42.4610  
 42.4611 -              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);
 42.4612 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("enum_id",143, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4613              }
 42.4614            return CUP$Ada95ASTParser$result;
 42.4615  
 42.4616 @@ -8347,7 +8411,7 @@
 42.4617              {
 42.4618                Object RESULT =null;
 42.4619  
 42.4620 -              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);
 42.4621 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("enum_id_s",142, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4622              }
 42.4623            return CUP$Ada95ASTParser$result;
 42.4624  
 42.4625 @@ -8356,7 +8420,7 @@
 42.4626              {
 42.4627                Object RESULT =null;
 42.4628  
 42.4629 -              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);
 42.4630 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("enum_id_s",142, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4631              }
 42.4632            return CUP$Ada95ASTParser$result;
 42.4633  
 42.4634 @@ -8365,7 +8429,7 @@
 42.4635              {
 42.4636                Object RESULT =null;
 42.4637  
 42.4638 -              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);
 42.4639 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("enumeration_type",130, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4640              }
 42.4641            return CUP$Ada95ASTParser$result;
 42.4642  
 42.4643 @@ -8375,12 +8439,16 @@
 42.4644                Expression RESULT =null;
 42.4645  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
 42.4646  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
 42.4647 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
 42.4648 -		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.4649 -		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.4650 -		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.4651 -		
 42.4652 -    RESULT = expr;
 42.4653 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
 42.4654 +		int expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.4655 +		int expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.4656 +		Expression expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.4657 +		int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.4658 +		int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.4659 +		Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.4660 +		
 42.4661 +    Range range = new Range (nameleft, endright, name, expression);
 42.4662 +    RESULT = range;
 42.4663  
 42.4664                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);
 42.4665              }
 42.4666 @@ -8390,6 +8458,15 @@
 42.4667            case 60: // range ::= name TICK RANGE 
 42.4668              {
 42.4669                Expression RESULT =null;
 42.4670 +		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.4671 +		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.4672 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.4673 +		int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.4674 +		int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.4675 +		Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.4676 +		
 42.4677 +    Range range = new Range (nameleft, endright, name, name);
 42.4678 +    RESULT = range;
 42.4679  
 42.4680                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);
 42.4681              }
 42.4682 @@ -8399,11 +8476,15 @@
 42.4683            case 59: // range ::= simple_expression DOT_DOT simple_expression 
 42.4684              {
 42.4685                Expression RESULT =null;
 42.4686 -		int simple_exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.4687 -		int simple_exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.4688 -		Expression simple_expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.4689 -		
 42.4690 -    RESULT = simple_expr;
 42.4691 +		int simple_expression1left = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 42.4692 +		int simple_expression1right = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 42.4693 +		Expression simple_expression1 = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 42.4694 +		int simple_expression2left = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.4695 +		int simple_expression2right = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.4696 +		Expression simple_expression2 = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.4697 +		
 42.4698 +    Range range = new Range (simple_expression1left, simple_expression2right, simple_expression1, simple_expression2);
 42.4699 +    RESULT = range;
 42.4700  
 42.4701                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);
 42.4702              }
 42.4703 @@ -8414,7 +8495,7 @@
 42.4704              {
 42.4705                Object RESULT =null;
 42.4706  
 42.4707 -              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);
 42.4708 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("range_constraint",138, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4709              }
 42.4710            return CUP$Ada95ASTParser$result;
 42.4711  
 42.4712 @@ -8423,7 +8504,7 @@
 42.4713              {
 42.4714                Object RESULT =null;
 42.4715  
 42.4716 -              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);
 42.4717 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("derived_type",136, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4718              }
 42.4719            return CUP$Ada95ASTParser$result;
 42.4720  
 42.4721 @@ -8432,7 +8513,7 @@
 42.4722              {
 42.4723                Object RESULT =null;
 42.4724  
 42.4725 -              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);
 42.4726 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("derived_type",136, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4727              }
 42.4728            return CUP$Ada95ASTParser$result;
 42.4729  
 42.4730 @@ -8441,7 +8522,7 @@
 42.4731              {
 42.4732                Object RESULT =null;
 42.4733  
 42.4734 -              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);
 42.4735 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("derived_type",136, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4736              }
 42.4737            return CUP$Ada95ASTParser$result;
 42.4738  
 42.4739 @@ -8450,7 +8531,7 @@
 42.4740              {
 42.4741                Object RESULT =null;
 42.4742  
 42.4743 -              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);
 42.4744 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("derived_type",136, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4745              }
 42.4746            return CUP$Ada95ASTParser$result;
 42.4747  
 42.4748 @@ -8459,7 +8540,7 @@
 42.4749              {
 42.4750                Object RESULT =null;
 42.4751  
 42.4752 -              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);
 42.4753 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("derived_type",136, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4754              }
 42.4755            return CUP$Ada95ASTParser$result;
 42.4756  
 42.4757 @@ -8468,7 +8549,7 @@
 42.4758              {
 42.4759                Object RESULT =null;
 42.4760  
 42.4761 -              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);
 42.4762 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("decimal_digits_constraint",139, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4763              }
 42.4764            return CUP$Ada95ASTParser$result;
 42.4765  
 42.4766 @@ -8477,7 +8558,7 @@
 42.4767              {
 42.4768                Object RESULT =null;
 42.4769  
 42.4770 -              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);
 42.4771 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("constraint",137, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4772              }
 42.4773            return CUP$Ada95ASTParser$result;
 42.4774  
 42.4775 @@ -8486,7 +8567,7 @@
 42.4776              {
 42.4777                Object RESULT =null;
 42.4778  
 42.4779 -              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);
 42.4780 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("constraint",137, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4781              }
 42.4782            return CUP$Ada95ASTParser$result;
 42.4783  
 42.4784 @@ -8496,10 +8577,9 @@
 42.4785                TypeName RESULT =null;
 42.4786  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 42.4787  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 42.4788 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.4789 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 42.4790  		    
 42.4791 -    Identifier identifier = new Identifier(nameleft, nameright, name);
 42.4792 -    TypeName type = new TypeName (nameleft, nameright, identifier);
 42.4793 +    TypeName type = new TypeName (nameleft, nameright, name);
 42.4794      RESULT = type;
 42.4795  
 42.4796                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);
 42.4797 @@ -8512,10 +8592,9 @@
 42.4798                TypeName RESULT =null;
 42.4799  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 42.4800  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 42.4801 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.4802 -		    
 42.4803 -    Identifier identifier = new Identifier(nameleft, nameright, name);
 42.4804 -    TypeName type = new TypeName (nameleft, nameright, identifier);
 42.4805 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 42.4806 +		
 42.4807 +    TypeName type = new TypeName (nameleft, nameright, name);
 42.4808      RESULT = type;
 42.4809  
 42.4810                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);
 42.4811 @@ -8653,7 +8732,7 @@
 42.4812              {
 42.4813                Object RESULT =null;
 42.4814  
 42.4815 -              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);
 42.4816 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrim_part_opt",128, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4817              }
 42.4818            return CUP$Ada95ASTParser$result;
 42.4819  
 42.4820 @@ -8662,7 +8741,7 @@
 42.4821              {
 42.4822                Object RESULT =null;
 42.4823  
 42.4824 -              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);
 42.4825 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrim_part_opt",128, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4826              }
 42.4827            return CUP$Ada95ASTParser$result;
 42.4828  
 42.4829 @@ -8671,7 +8750,7 @@
 42.4830              {
 42.4831                Object RESULT =null;
 42.4832  
 42.4833 -              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);
 42.4834 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("discrim_part_opt",128, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4835              }
 42.4836            return CUP$Ada95ASTParser$result;
 42.4837  
 42.4838 @@ -9038,7 +9117,7 @@
 42.4839              {
 42.4840                Object RESULT =null;
 42.4841  
 42.4842 -              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);
 42.4843 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("pragma_s",124, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4844              }
 42.4845            return CUP$Ada95ASTParser$result;
 42.4846  
 42.4847 @@ -9047,7 +9126,7 @@
 42.4848              {
 42.4849                Object RESULT =null;
 42.4850  
 42.4851 -              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);
 42.4852 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("pragma_s",124, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4853              }
 42.4854            return CUP$Ada95ASTParser$result;
 42.4855  
 42.4856 @@ -9056,7 +9135,7 @@
 42.4857              {
 42.4858                Object RESULT =null;
 42.4859  
 42.4860 -              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);
 42.4861 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("pragma_arg",123, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4862              }
 42.4863            return CUP$Ada95ASTParser$result;
 42.4864  
 42.4865 @@ -9065,7 +9144,7 @@
 42.4866              {
 42.4867                Object RESULT =null;
 42.4868  
 42.4869 -              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);
 42.4870 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("pragma_arg",123, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4871              }
 42.4872            return CUP$Ada95ASTParser$result;
 42.4873  
 42.4874 @@ -9074,7 +9153,7 @@
 42.4875              {
 42.4876                Object RESULT =null;
 42.4877  
 42.4878 -              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);
 42.4879 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("pragma_arg_s",122, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4880              }
 42.4881            return CUP$Ada95ASTParser$result;
 42.4882  
 42.4883 @@ -9083,7 +9162,7 @@
 42.4884              {
 42.4885                Object RESULT =null;
 42.4886  
 42.4887 -              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);
 42.4888 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("pragma_arg_s",122, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4889              }
 42.4890            return CUP$Ada95ASTParser$result;
 42.4891  
 42.4892 @@ -9092,7 +9171,7 @@
 42.4893              {
 42.4894                Object RESULT =null;
 42.4895  
 42.4896 -              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);
 42.4897 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("pragma",121, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4898              }
 42.4899            return CUP$Ada95ASTParser$result;
 42.4900  
 42.4901 @@ -9101,7 +9180,7 @@
 42.4902              {
 42.4903                Object RESULT =null;
 42.4904  
 42.4905 -              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);
 42.4906 +              CUP$Ada95ASTParser$result = parser.getSymbolFactory().newSymbol("pragma",121, ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)), ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()), RESULT);
 42.4907              }
 42.4908            return CUP$Ada95ASTParser$result;
 42.4909  
    43.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/Ada95ASTSymbols.java	Thu Jun 17 10:15:25 2010 -0400
    43.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/Ada95ASTSymbols.java	Sun Aug 22 23:56:21 2010 +0200
    43.3 @@ -1,7 +1,7 @@
    43.4  
    43.5  //----------------------------------------------------
    43.6  // The following code was generated by CUP v0.11a beta 20060608
    43.7 -// Tue Sep 22 18:19:43 CEST 2009
    43.8 +// Thu Oct 01 15:49:41 CEST 2009
    43.9  //----------------------------------------------------
   43.10  
   43.11  package org.netbeans.modules.ada.editor.parser;
    44.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/Ada95ErrorHandler.java	Thu Jun 17 10:15:25 2010 -0400
    44.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/Ada95ErrorHandler.java	Sun Aug 22 23:56:21 2010 +0200
    44.3 @@ -96,23 +96,23 @@
    44.4          this.outer = outer;
    44.5          this.context = context;
    44.6          syntaxErrors = new ArrayList<SyntaxError>();
    44.7 -        //LOGGER.setLevel(Level.FINEST);
    44.8 +        //LOGGER.setLevel(Level.FINE);
    44.9      }
   44.10  
   44.11      public void handleError(Type type, short[] expectedtokens, Symbol current, Symbol previous) {
   44.12          Error error;
   44.13          if (type == ParserErrorHandler.Type.SYNTAX_ERROR) {
   44.14              // logging syntax error
   44.15 -            if (LOGGER.isLoggable(Level.FINEST)) {
   44.16 -                LOGGER.finest("Syntax error:"); //NOI18N
   44.17 -                LOGGER.finest("Current [" + current.left + ", " + current.right + "](" + Utils.getASTScannerTokenName(current.sym) + "): " + current.value); //NOI18N
   44.18 -                LOGGER.finest("Previous [" + previous.left + ", " + previous.right + "] (" + Utils.getASTScannerTokenName(previous.sym) + "):" + previous.value); //NOI18N
   44.19 +            if (LOGGER.isLoggable(Level.FINE)) {
   44.20 +                LOGGER.fine("Syntax error:"); //NOI18N
   44.21 +                LOGGER.fine("Current [" + current.left + ", " + current.right + "](" + Utils.getASTScannerTokenName(current.sym) + "): " + current.value); //NOI18N
   44.22 +                LOGGER.fine("Previous [" + previous.left + ", " + previous.right + "] (" + Utils.getASTScannerTokenName(previous.sym) + "):" + previous.value); //NOI18N
   44.23                  StringBuffer message = new StringBuffer();
   44.24                  message.append("Expected tokens:"); //NOI18N
   44.25                  for (int i = 0; i < expectedtokens.length; i += 2) {
   44.26                      message.append(" ").append( Utils.getASTScannerTokenName(expectedtokens[i])); //NOI18N
   44.27                  }
   44.28 -                LOGGER.finest(message.toString());
   44.29 +                LOGGER.fine(message.toString());
   44.30              }
   44.31              syntaxErrors.add(new SyntaxError(expectedtokens, current, previous));
   44.32          } else {
   44.33 @@ -163,9 +163,9 @@
   44.34                      }
   44.35                  }
   44.36                  if (astError != null) {
   44.37 -                    LOGGER.finest("ASTError [" + astError.getStartOffset() + ", " + astError.getEndOffset() + "]"); //NOI18N
   44.38 +                    LOGGER.fine("ASTError [" + astError.getStartOffset() + ", " + astError.getEndOffset() + "]"); //NOI18N
   44.39                  } else {
   44.40 -                    LOGGER.finest("ASTError was not found");  //NOI18N
   44.41 +                    LOGGER.fine("ASTError was not found");  //NOI18N
   44.42                  }
   44.43              }
   44.44              Error error = defaultSyntaxErrorHandling(syntaxError, astError);
    45.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaSemanticAnalyzer.java	Thu Jun 17 10:15:25 2010 -0400
    45.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaSemanticAnalyzer.java	Sun Aug 22 23:56:21 2010 +0200
    45.3 @@ -44,6 +44,8 @@
    45.4  import java.util.List;
    45.5  import java.util.Map;
    45.6  import java.util.Set;
    45.7 +import java.util.logging.Level;
    45.8 +import java.util.logging.Logger;
    45.9  import org.netbeans.modules.ada.editor.ast.ASTNode;
   45.10  import org.netbeans.modules.ada.editor.ast.nodes.Block;
   45.11  import org.netbeans.modules.ada.editor.ast.nodes.BodyDeclaration.Modifier;
   45.12 @@ -53,6 +55,7 @@
   45.13  import org.netbeans.modules.ada.editor.ast.nodes.PackageBody;
   45.14  import org.netbeans.modules.ada.editor.ast.nodes.PackageSpecification;
   45.15  import org.netbeans.modules.ada.editor.ast.nodes.TypeDeclaration;
   45.16 +import org.netbeans.modules.ada.editor.ast.nodes.TypeName;
   45.17  import org.netbeans.modules.ada.editor.ast.nodes.Variable;
   45.18  import org.netbeans.modules.ada.editor.ast.nodes.visitors.DefaultVisitor;
   45.19  import org.netbeans.modules.csl.api.ColoringAttributes;
   45.20 @@ -71,6 +74,8 @@
   45.21   */
   45.22  public class AdaSemanticAnalyzer extends SemanticAnalyzer {
   45.23  
   45.24 +    private static final Logger LOGGER = Logger.getLogger(AdaSemanticAnalyzer.class.getName());
   45.25 +
   45.26      public static final EnumSet<ColoringAttributes> UNUSED_FIELD_SET = EnumSet.of(ColoringAttributes.UNUSED, ColoringAttributes.FIELD);
   45.27      public static final EnumSet<ColoringAttributes> UNUSED_METHOD_SET = EnumSet.of(ColoringAttributes.UNUSED, ColoringAttributes.METHOD);
   45.28      private boolean cancelled;
   45.29 @@ -78,6 +83,7 @@
   45.30  
   45.31      public AdaSemanticAnalyzer() {
   45.32          semanticHighlights = null;
   45.33 +        LOGGER.setLevel(Level.FINE);
   45.34      }
   45.35  
   45.36      public Map<OffsetRange, Set<ColoringAttributes>> getHighlights() {
   45.37 @@ -202,32 +208,6 @@
   45.38          }
   45.39  
   45.40          @Override
   45.41 -        public void visit(MethodDeclaration method) {
   45.42 -            boolean isPrivate = Modifier.isPrivate(method.getModifier());
   45.43 -            EnumSet<ColoringAttributes> coloring = ColoringAttributes.METHOD_SET;
   45.44 -
   45.45 -            Identifier identifier = method.getSubrogramName();
   45.46 -            addOffsetRange(identifier, coloring);
   45.47 -            if (!method.isSpefication()) {
   45.48 -                Identifier nameEnd = method.getSubrogramNameEnd();
   45.49 -                addOffsetRange(nameEnd, coloring);
   45.50 -            }
   45.51 -
   45.52 -            if (method.getSubprogramBody() != null) {
   45.53 -                // don't scan the body now. It should be scanned after all declarations
   45.54 -                // are known
   45.55 -                Block declarations = method.getSubprogramBody().getDeclarations();
   45.56 -                if (declarations != null) {
   45.57 -                    needToScan.add(declarations);
   45.58 -                }
   45.59 -                Block body = method.getSubprogramBody().getBody();
   45.60 -                if (body != null) {
   45.61 -                    needToScan.add(body);
   45.62 -                }
   45.63 -            }
   45.64 -        }
   45.65 -
   45.66 -        @Override
   45.67          public void visit(PackageBody node) {
   45.68              if (isCancelled()) {
   45.69                  return;
   45.70 @@ -260,6 +240,59 @@
   45.71          }
   45.72  
   45.73          @Override
   45.74 +        public void visit(MethodDeclaration method) {
   45.75 +            if (isCancelled()) {
   45.76 +                return;
   45.77 +            }
   45.78 +
   45.79 +            boolean isPrivate = Modifier.isPrivate(method.getModifier());
   45.80 +            EnumSet<ColoringAttributes> coloring = ColoringAttributes.METHOD_SET;
   45.81 +
   45.82 +            Identifier identifier = method.getSubrogramName();
   45.83 +            addOffsetRange(identifier, coloring);
   45.84 +            if (!method.isSpefication()) {
   45.85 +                Identifier nameEnd = method.getSubrogramNameEnd();
   45.86 +                if (nameEnd != null) {
   45.87 +                    addOffsetRange(nameEnd, coloring);
   45.88 +                }
   45.89 +            }
   45.90 +
   45.91 +            if (method.getSubprogramBody() != null) {
   45.92 +                // don't scan the body now. It should be scanned after all declarations
   45.93 +                // are known
   45.94 +                Block declarations = method.getSubprogramBody().getDeclarations();
   45.95 +                if (declarations != null) {
   45.96 +                    declarations.accept(this);
   45.97 +                }
   45.98 +                Block body = method.getSubprogramBody().getBody();
   45.99 +                if (body != null) {
  45.100 +                    body.accept(this);
  45.101 +                }
  45.102 +            }
  45.103 +        }
  45.104 +
  45.105 +//        @Override
  45.106 +//        public void visit(BlockStatement block) {
  45.107 +//            System.out.println("BlockStatement");
  45.108 +//            if (block.getLabel() != null) {
  45.109 +//                EnumSet<ColoringAttributes> coloring = ColoringAttributes.METHOD_SET;
  45.110 +//                Identifier identifier = block.getLabel();
  45.111 +//                addOffsetRange(identifier, coloring);
  45.112 +//            }
  45.113 +//
  45.114 +//            // don't scan the body now. It should be scanned after all declarations
  45.115 +//            // are known
  45.116 +//            Block declarations = block.getDeclarations();
  45.117 +//            if (declarations != null) {
  45.118 +//                needToScan.add(declarations);
  45.119 +//            }
  45.120 +//            Block body = block.getBody();
  45.121 +//            if (body != null) {
  45.122 +//                needToScan.add(body);
  45.123 +//            }
  45.124 +//        }
  45.125 +
  45.126 +        @Override
  45.127          public void visit(FieldsDeclaration node) {
  45.128              if (isCancelled()) {
  45.129                  return;
  45.130 @@ -279,6 +312,10 @@
  45.131                          privateFieldsUsed.put(identifier.getName(), new IdentifierColoring(identifier, coloring));
  45.132                      }
  45.133                  }
  45.134 +                if (variable.getVariableType() != null) {
  45.135 +                    TypeName typeName = variable.getVariableType();
  45.136 +                    typeName.accept(this);
  45.137 +                }
  45.138              }
  45.139          }
  45.140  
  45.141 @@ -298,5 +335,27 @@
  45.142                  privateFieldsUsed.put(id.getName(), new IdentifierColoring(id, coloring));
  45.143              }
  45.144          }
  45.145 +
  45.146 +        @Override
  45.147 +        public void visit(Variable node) {
  45.148 +            if (isCancelled()) {
  45.149 +                return;
  45.150 +            }
  45.151 +
  45.152 +            Identifier id = node.getName();
  45.153 +            addOffsetRange(id, ColoringAttributes.FIELD_SET);
  45.154 +        }
  45.155 +
  45.156 +        @Override
  45.157 +        public void visit(TypeName node) {
  45.158 +            if (isCancelled()) {
  45.159 +                return;
  45.160 +            }
  45.161 +
  45.162 +            if (node.isIsBaseType() == false) {
  45.163 +                Identifier id = node.getTypeName();
  45.164 +                addOffsetRange(id, ColoringAttributes.FIELD_SET);
  45.165 +            }
  45.166 +        }
  45.167      }
  45.168  }
    46.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaStructureScanner.java	Thu Jun 17 10:15:25 2010 -0400
    46.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaStructureScanner.java	Sun Aug 22 23:56:21 2010 +0200
    46.3 @@ -50,9 +50,11 @@
    46.4  import java.util.logging.Logger;
    46.5  import javax.swing.ImageIcon;
    46.6  import javax.swing.text.Document;
    46.7 +import org.netbeans.modules.ada.editor.CodeUtils;
    46.8  import org.netbeans.modules.ada.editor.ast.ASTError;
    46.9  import org.netbeans.modules.ada.editor.ast.ASTUtils;
   46.10  import org.netbeans.modules.ada.editor.ast.nodes.Block;
   46.11 +import org.netbeans.modules.ada.editor.ast.nodes.BlockStatement;
   46.12  import org.netbeans.modules.ada.editor.ast.nodes.Comment;
   46.13  import org.netbeans.modules.ada.editor.ast.nodes.Expression;
   46.14  import org.netbeans.modules.ada.editor.ast.nodes.FieldsDeclaration;
   46.15 @@ -62,7 +64,9 @@
   46.16  import org.netbeans.modules.ada.editor.ast.nodes.PackageSpecification;
   46.17  import org.netbeans.modules.ada.editor.ast.nodes.SubprogramBody;
   46.18  import org.netbeans.modules.ada.editor.ast.nodes.SubprogramSpecification;
   46.19 +import org.netbeans.modules.ada.editor.ast.nodes.TypeAccess;
   46.20  import org.netbeans.modules.ada.editor.ast.nodes.TypeDeclaration;
   46.21 +import org.netbeans.modules.ada.editor.ast.nodes.TypeName;
   46.22  import org.netbeans.modules.ada.editor.ast.nodes.Variable;
   46.23  import org.netbeans.modules.ada.editor.ast.nodes.visitors.DefaultVisitor;
   46.24  import org.netbeans.modules.ada.editor.parser.AdaElementHandle.SubprogramSpecificationHandle;
   46.25 @@ -402,7 +406,7 @@
   46.26                      }
   46.27                      String type = null;
   46.28                      if (formalParameter.getParameterType() != null) {
   46.29 -                        type = formalParameter.getParameterType().getTypeName().getName();
   46.30 +                        type = CodeUtils.extractTypeName(formalParameter.getParameterType());
   46.31                      }
   46.32                      if (name != null) {
   46.33                          if (!first) {
   46.34 @@ -469,7 +473,7 @@
   46.35                      }
   46.36                      String type = null;
   46.37                      if (formalParameter.getParameterType() != null) {
   46.38 -                        type = formalParameter.getParameterType().getTypeName().getName();
   46.39 +                        type = CodeUtils.extractTypeName(formalParameter.getParameterType());
   46.40                      }
   46.41                      if (name != null) {
   46.42                          if (!first) {
   46.43 @@ -690,6 +694,20 @@
   46.44          }
   46.45  
   46.46          @Override
   46.47 +        public void visit(BlockStatement block) {
   46.48 +            if (foldType != null) {
   46.49 +                getRanges(folds, foldType).add(createOffsetRange(block));
   46.50 +                foldType = null;
   46.51 +            }
   46.52 +            if (block.getDeclarations() != null) {
   46.53 +                scan(block.getDeclarations());
   46.54 +            }
   46.55 +            if (block.getBody() != null) {
   46.56 +                scan(block.getBody());
   46.57 +            }
   46.58 +        }
   46.59 +
   46.60 +        @Override
   46.61          public void visit(SubprogramBody subprog) {
   46.62              foldType = FOLD_CODE_BLOCKS;
   46.63              if (subprog.getDeclarations() != null) {
    47.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/resources/Ada95ASTParser.cup	Thu Jun 17 10:15:25 2010 -0400
    47.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/resources/Ada95ASTParser.cup	Sun Aug 22 23:56:21 2010 +0200
    47.3 @@ -22,7 +22,7 @@
    47.4   * "Portions Copyrighted [year] [name of copyright owner]"
    47.5   *
    47.6   * If you wish your version of this file to be governed by only the CDDL
    47.7 - * or only the GPL Version 2, indicate your decision by binary_adding_operator
    47.8 + * or only the GPL Version 2, indicate your decision by adding
    47.9   * "[Contributor] elects to include this software in this distribution
   47.10   * under the [CDDL or GPL Version 2] license." If you do not indicate a
   47.11   * single choice of license, a recipient has the option to distribute
   47.12 @@ -63,21 +63,19 @@
   47.13          return this.errorHandler;
   47.14      }
   47.15  
   47.16 -/*
   47.17 -    public Dispatch createDispatch(VariableBase dispatcher, VariableBase property) {
   47.18 +
   47.19 +    public Dispatch createDispatch(NameBase dispatcher, NameBase property) {
   47.20          Dispatch dispatch = null;
   47.21  	if (property instanceof Variable) {
   47.22  	   dispatch = new FieldAccess(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (Variable)property);
   47.23 -	} else if (property instanceof FunctionInvocation) {
   47.24 -	   dispatch = new MethodInvocation(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (FunctionInvocation)property);
   47.25 -	} else if (property instanceof ProcedureInvocation) {
   47.26 -	   dispatch = new MethodInvocation(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (ProcedureInvocation)property);
   47.27 +	} else if (property instanceof TypeName) {
   47.28 +	   dispatch = new TypeAccess(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (TypeName)property);
   47.29  	} else {
   47.30  	   throw new IllegalArgumentException();
   47.31  	}
   47.32          return dispatch;
   47.33      }
   47.34 -*/
   47.35 +
   47.36  
   47.37      public List setModifier(List items, int modifier) {
   47.38          List list = new LinkedList();
   47.39 @@ -358,11 +356,11 @@
   47.40  non terminal List                    number_declaration;
   47.41  
   47.42  // 4.1 Names
   47.43 -non terminal String                  name;
   47.44 -non terminal String                  simple_name;
   47.45 +non terminal Identifier              name;
   47.46 +non terminal Identifier              simple_name;
   47.47  
   47.48  // 4.1.3 Selected Components
   47.49 -non terminal String                  selected_component;
   47.50 +non terminal Identifier              selected_component;
   47.51  
   47.52  // 4.4 Expressions
   47.53  non terminal Expression              expression;
   47.54 @@ -373,11 +371,11 @@
   47.55  non terminal Expression              primary;
   47.56  
   47.57  // 4.5 Operators and Expression Evaluation
   47.58 -non terminal String                  logical_operator;
   47.59 -non terminal String                  relational_operator;
   47.60 -non terminal UnaryOperation.Operator binary_adding_operator;
   47.61 -non terminal UnaryOperation.Operator unary_adding_operator;
   47.62 -non terminal String                  multiplying_operator;
   47.63 +non terminal InfixExpression.OperatorType logical_operator;
   47.64 +non terminal InfixExpression.OperatorType relational_operator;
   47.65 +non terminal InfixExpression.OperatorType binary_adding_operator;
   47.66 +non terminal UnaryOperation.Operator      unary_adding_operator;
   47.67 +non terminal InfixExpression.OperatorType multiplying_operator;
   47.68  
   47.69  // 4.7 Qualified Expressions
   47.70  non terminal Expression              qualified_expression;
   47.71 @@ -414,7 +412,7 @@
   47.72  
   47.73  // 5.7 Exit Statements
   47.74  non terminal Statement               exit_statement;
   47.75 -non terminal String                  name_opt;
   47.76 +non terminal Expression              name_opt;
   47.77  
   47.78  // 5.8 Goto Statements
   47.79  non terminal Statement               goto_statement;
   47.80 @@ -428,8 +426,8 @@
   47.81  non terminal List                    formal_part;
   47.82  non terminal List                    param;
   47.83  non terminal FormalParameter.Mode    mode;
   47.84 -non terminal String                  designator;
   47.85 -non terminal String                  operator_symbol;
   47.86 +non terminal Identifier              designator;
   47.87 +non terminal Identifier              operator_symbol;
   47.88  
   47.89  // 6.5 Return Statements
   47.90  non terminal Statement               return_statement;
   47.91 @@ -491,30 +489,33 @@
   47.92  
   47.93  
   47.94  // TBD sections
   47.95 -non terminal String                  compound_name;
   47.96 -non terminal String                  compound_name_opt;
   47.97 -non terminal TypeName                object_subtype_def;
   47.98 -non terminal Expression              init_opt;
   47.99 -non terminal Statement               type_decl;
  47.100 -non terminal Expression              type_completion;
  47.101 -non terminal String                  subtype_mark;
  47.102 -non terminal List                    handled_stmt_s;
  47.103 -non terminal Statement               statement;
  47.104 -non terminal Statement               subunit;
  47.105 -non terminal String                  id_opt;
  47.106 -non terminal Statement               unlabeled;
  47.107 -non terminal Expression              literal;
  47.108 -non terminal Expression              parenthesized_primary;
  47.109 -non terminal Expression              when_opt;
  47.110 -non terminal Statement               procedure_call_statement;
  47.111 -non terminal String                  used_char;
  47.112 -non terminal Expression              choice_s;
  47.113 -non terminal String                  label_opt;
  47.114 -non terminal String                  attribute;
  47.115 -non terminal String                  indexed_comp; // TODO: must be change it
  47.116 -non terminal Expression              value_s;
  47.117 -non terminal Expression              discrete_range;
  47.118 -non terminal Expression              range;
  47.119 +non terminal Identifier                   compound_name;
  47.120 +non terminal Identifier                   compound_name_opt;
  47.121 +non terminal TypeName                     object_subtype_def;
  47.122 +non terminal Expression                   init_opt;
  47.123 +non terminal Statement                    type_decl;
  47.124 +non terminal Expression                   type_completion;
  47.125 +non terminal NameBase                     subtype_mark;
  47.126 +non terminal List                         handled_stmt_s;
  47.127 +non terminal Statement                    statement;
  47.128 +non terminal Statement                    subunit;
  47.129 +non terminal Identifier                   id_opt;
  47.130 +non terminal Statement                    unlabeled;
  47.131 +non terminal Expression                   literal;
  47.132 +non terminal Expression                   parenthesized_primary;
  47.133 +non terminal Expression                   when_opt;
  47.134 +non terminal Statement                    procedure_call_statement;
  47.135 +non terminal String                       used_char;
  47.136 +non terminal Expression                   choice_s;
  47.137 +non terminal Identifier                   label_opt;
  47.138 +non terminal Identifier                   attribute;
  47.139 +non terminal Identifier                   indexed_component; // TODO: must be change it
  47.140 +non terminal Expression                   value_s;
  47.141 +non terminal Expression                   discrete_range;
  47.142 +non terminal Expression                   range;
  47.143 +non terminal InfixExpression.OperatorType short_circuit;
  47.144 +non terminal InfixExpression.OperatorType membership;
  47.145 +non terminal String                       attribute_id;
  47.146  
  47.147  // TBD RM sections and types
  47.148  non terminal     pragma;
  47.149 @@ -567,13 +568,10 @@
  47.150  non terminal     prot_opt;
  47.151  non terminal     rep_spec;
  47.152  non terminal     declarative_item_or_body;
  47.153 -non terminal     attribute_id;
  47.154  non terminal     value;
  47.155  non terminal     comp_assoc;
  47.156  non terminal     aggregate;
  47.157  non terminal     value_s_2;
  47.158 -non terminal     short_circuit;
  47.159 -non terminal     membership;
  47.160  non terminal     allocator;
  47.161  non terminal     label;
  47.162  non terminal     requeue_stmt;
  47.163 @@ -635,15 +633,21 @@
  47.164   * JavaCup precedence    *
  47.165   *************************/
  47.166  
  47.167 -//precedence left OR;
  47.168 -//precedence left XOR;
  47.169 -//precedence left AND;
  47.170 +// TODO: must be complete
  47.171 +precedence left OR;
  47.172 +precedence left XOR;
  47.173 +precedence left AND;
  47.174  
  47.175 -//precedence left SEMICOLON;
  47.176 +precedence left SEMICOLON;
  47.177  
  47.178 -//precedence left ELSIF;
  47.179 -//precedence left ELSE;
  47.180 -//precedence left END IF;
  47.181 +precedence left ELSIF;
  47.182 +precedence left ELSE;
  47.183 +precedence left END;
  47.184 +
  47.185 +precedence right NOT;
  47.186 +
  47.187 +precedence nonassoc ASSIGNMENT;
  47.188 +
  47.189  
  47.190  ///////////////////////////////////////////////////////////////////////////////
  47.191  // start with root symbol 
  47.192 @@ -862,15 +866,13 @@
  47.193  
  47.194  subtype_indication ::= 
  47.195  name:name constraint
  47.196 -{:    
  47.197 -    Identifier identifier = new Identifier(nameleft, nameright, name);
  47.198 -    TypeName type = new TypeName (nameleft, nameright, identifier);
  47.199 +{:
  47.200 +    TypeName type = new TypeName (nameleft, nameright, name);
  47.201      RESULT = type;
  47.202  :}
  47.203  | name:name
  47.204  {:    
  47.205 -    Identifier identifier = new Identifier(nameleft, nameright, name);
  47.206 -    TypeName type = new TypeName (nameleft, nameright, identifier);
  47.207 +    TypeName type = new TypeName (nameleft, nameright, name);
  47.208      RESULT = type;
  47.209  :}
  47.210  ;
  47.211 @@ -893,14 +895,20 @@
  47.212  	;
  47.213  
  47.214  range ::=
  47.215 -simple_expression:simple_expr DOT_DOT simple_expression
  47.216 +simple_expression:simple_expression1 DOT_DOT simple_expression:simple_expression2
  47.217  {:
  47.218 -    RESULT = simple_expr;
  47.219 +    Range range = new Range (simple_expression1left, simple_expression2right, simple_expression1, simple_expression2);
  47.220 +    RESULT = range;
  47.221  :}
  47.222 -| name TICK RANGE
  47.223 -| name:name TICK RANGE LPAREN expression:expr RPAREN
  47.224 +| name:name TICK RANGE:end
  47.225  {:
  47.226 -    RESULT = expr;
  47.227 +    Range range = new Range (nameleft, endright, name, name);
  47.228 +    RESULT = range;
  47.229 +:}
  47.230 +| name:name TICK RANGE LPAREN expression:expression RPAREN:end
  47.231 +{:
  47.232 +    Range range = new Range (nameleft, endright, name, expression);
  47.233 +    RESULT = range;
  47.234  :}
  47.235  ;
  47.236  
  47.237 @@ -1209,70 +1217,80 @@
  47.238  :}
  47.239  ;
  47.240  
  47.241 -
  47.242  name ::=
  47.243 -simple_name:name
  47.244 +simple_name:simple_name // direct_name
  47.245  {:
  47.246 -    RESULT = name;
  47.247 +    RESULT = simple_name;
  47.248  :}
  47.249 -| indexed_comp:comp
  47.250 +| operator_symbol:operator_symbol // direct_name
  47.251  {:
  47.252 -    RESULT = comp;
  47.253 +    RESULT = operator_symbol;
  47.254  :}
  47.255 -| selected_component:comp
  47.256 +| indexed_component:indexed_component
  47.257  {:
  47.258 -    RESULT = comp;
  47.259 +    RESULT = indexed_component;
  47.260  :}
  47.261 -| attribute:attr
  47.262 +| selected_component:selected_component
  47.263  {:
  47.264 -    RESULT = attr;
  47.265 +    RESULT = selected_component;
  47.266  :}
  47.267 -| operator_symbol:op
  47.268 +| attribute:attribute
  47.269  {:
  47.270 -    RESULT = op;
  47.271 +    RESULT = attribute;
  47.272  :}
  47.273  ;
  47.274  
  47.275  subtype_mark ::=
  47.276  simple_name:name
  47.277  {:
  47.278 +    TypeName typeName = new TypeName (nameleft, nameright, name);
  47.279 +    RESULT = typeName;
  47.280 +:}
  47.281 +| subtype_mark:name TICK attribute_id:id
  47.282 +{:
  47.283 +    ((TypeName)name).setAttributeId(id);
  47.284      RESULT = name;
  47.285  :}
  47.286 -| subtype_mark:name TICK attribute_id
  47.287 +| subtype_mark:subtype_mark DOT simple_name:simple_name
  47.288  {:
  47.289 -    // TODO: manage the attribute
  47.290 -    RESULT = name;
  47.291 -:}
  47.292 -| subtype_mark:name DOT simple_name:simpleName
  47.293 -{:
  47.294 -    RESULT = name + "." + simpleName;
  47.295 +    Dispatch dispatch;
  47.296 +    TypeName typeName = new TypeName (simple_nameleft, simple_nameright, simple_name);
  47.297 +    if (subtype_mark instanceof TypeName) {
  47.298 +        PackageName packageName = new PackageName (subtype_markleft, subtype_markright, ((TypeName)subtype_mark).getTypeName());
  47.299 +        dispatch = parser.createDispatch(packageName, typeName);
  47.300 +    } else {
  47.301 +        dispatch = parser.createDispatch(subtype_mark, typeName);
  47.302 +    }
  47.303 +
  47.304 +    RESULT = dispatch;
  47.305  :}
  47.306  ;
  47.307  
  47.308  simple_name ::=
  47.309 -IDENTIFIER:identifier
  47.310 +IDENTIFIER:id
  47.311  {:
  47.312 +    Identifier identifier = new Identifier (idleft, idright, id);
  47.313      RESULT = identifier;
  47.314  :}
  47.315  ;
  47.316  
  47.317 +// TODO: must be create a list of identifiers
  47.318  compound_name ::=
  47.319 -simple_name:simpleName
  47.320 +simple_name:simple_name
  47.321  {:
  47.322 -    RESULT = simpleName;
  47.323 +    RESULT = simple_name;
  47.324  :}
  47.325 -| compound_name:compoundName DOT simple_name:simpleName
  47.326 +| compound_name:compound_name DOT simple_name:simple_name
  47.327  {:
  47.328 -    RESULT = compoundName + "." + simpleName;
  47.329 +    RESULT = simple_name;
  47.330  :}
  47.331  ;
  47.332  
  47.333  library_unit_name_list ::=
  47.334 -compound_name:compoundName
  47.335 +compound_name:compound_name
  47.336  {:
  47.337      List nameList = new LinkedList();
  47.338 -    Identifier id = new Identifier(compoundNameleft, compoundNameright, (String)compoundName);
  47.339 -    PackageName packageName = new PackageName(compoundNameleft, compoundNameright, id);
  47.340 +    PackageName packageName = new PackageName(compound_nameleft, compound_nameright, compound_name);
  47.341      nameList.add(packageName);
  47.342      RESULT = nameList;
  47.343  :}
  47.344 @@ -1290,14 +1308,9 @@
  47.345  :}
  47.346  ;
  47.347  
  47.348 -indexed_comp ::=
  47.349 +indexed_component ::=
  47.350  name:name LPAREN value_s:index RPAREN:end
  47.351  {:
  47.352 -    System.out.println ("indexed_comp ::= name => " + name);
  47.353 -    Identifier identifier = new Identifier(nameleft, nameright, name);
  47.354 -    //Variable variable = new Variable (nameleft, nameright, name);
  47.355 -	Variable indexedVar = new ArrayAccess(nameleft, endright, identifier, index, ArrayAccess.Type.VARIABLE_ARRAY);
  47.356 -    //RESULT = indexedVar;
  47.357      RESULT = name;
  47.358  :}
  47.359  ;
  47.360 @@ -1320,21 +1333,25 @@
  47.361  // 4.1.3 Selected Components
  47.362  //
  47.363  selected_component ::=
  47.364 -name:name DOT simple_name:simpleName
  47.365 +name:name DOT simple_name:simple_name
  47.366  {:
  47.367 -    RESULT = name + "." + simpleName;
  47.368 +    Identifier identifier = new Identifier (nameleft, simple_nameright, name.getName() + "." + simple_name.getName());
  47.369 +    RESULT = identifier;
  47.370  :}
  47.371 -| name:name DOT used_char:usedChar
  47.372 +| name:name DOT used_char:used_char
  47.373  {:
  47.374 -    RESULT = name + "." + usedChar;
  47.375 +    Identifier identifier = new Identifier (nameleft, used_charright, name.getName() + "." + used_char);
  47.376 +    RESULT = identifier;
  47.377  :}
  47.378  | name:name DOT operator_symbol:operator
  47.379  {:
  47.380 -    RESULT = name + "." + operator;
  47.381 +    Identifier identifier = new Identifier (nameleft, operatorright, name.getName() + "." + operator.getName());
  47.382 +    RESULT = identifier;
  47.383  :}
  47.384  | name:name DOT ALL:all
  47.385  {:
  47.386 -    RESULT = name + "." + all;
  47.387 +    Identifier identifier = new Identifier (nameleft, allright, name.getName() + "." + "all");
  47.388 +    RESULT = identifier;
  47.389  :}
  47.390  ;
  47.391  
  47.392 @@ -1345,29 +1362,34 @@
  47.393  :}
  47.394  ;
  47.395  
  47.396 -attribute_id ::= IDENTIFIER
  47.397 -	| DIGITS
  47.398 -	| DELTA
  47.399 -	| ACCESS
  47.400 -	;
  47.401 +attribute_id ::=
  47.402 +IDENTIFIER
  47.403 +| DIGITS
  47.404 +| DELTA
  47.405 +| ACCESS
  47.406 +;
  47.407  
  47.408  literal ::=
  47.409  DECIMAL_LITERAL:dec
  47.410  {:
  47.411 -	Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
  47.412 -	RESULT = scalar;
  47.413 +    Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
  47.414 +    RESULT = scalar;
  47.415  :}
  47.416  | BASED_LITERAL:dec
  47.417  {:
  47.418 -	Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
  47.419 -	RESULT = scalar;
  47.420 +    Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
  47.421 +    RESULT = scalar;
  47.422  :}
  47.423  | used_char:usedChar
  47.424  {:
  47.425 -	Scalar scalar = new Scalar(usedCharleft, usedCharright, usedChar, Scalar.Type.STRING);
  47.426 -	RESULT = scalar;
  47.427 +    Scalar scalar = new Scalar(usedCharleft, usedCharright, usedChar, Scalar.Type.STRING);
  47.428 +    RESULT = scalar;
  47.429  :}
  47.430 -| NULL
  47.431 +| NULL:token
  47.432 +{:
  47.433 +    Scalar scalar = new Scalar(tokenleft, tokenright, "null", Scalar.Type.SYSTEM);
  47.434 +    RESULT = scalar;
  47.435 +:}
  47.436  ;
  47.437  
  47.438  aggregate ::= LPAREN comp_assoc RPAREN
  47.439 @@ -1390,27 +1412,67 @@
  47.440  //
  47.441  logical_operator ::=
  47.442  AND
  47.443 +{:
  47.444 +    RESULT = InfixExpression.OperatorType.BOOL_AND;
  47.445 +:}
  47.446  | OR
  47.447 +{:
  47.448 +    RESULT = InfixExpression.OperatorType.BOOL_OR;
  47.449 +:}
  47.450  | XOR
  47.451 +{:
  47.452 +    RESULT = InfixExpression.OperatorType.BOOL_XOR;
  47.453 +:}
  47.454  ;
  47.455  
  47.456 -short_circuit ::= AND THEN
  47.457 -	| OR ELSE
  47.458 -	;
  47.459 -
  47.460 +short_circuit ::=
  47.461 +AND THEN
  47.462 +{:
  47.463 +    RESULT = InfixExpression.OperatorType.BOOL_OR;
  47.464 +:}
  47.465 +| OR ELSE
  47.466 +{:
  47.467 +    RESULT = InfixExpression.OperatorType.BOOL_AND;
  47.468 +:}
  47.469 +;
  47.470  
  47.471  relational_operator ::=
  47.472  EQ
  47.473 +{:
  47.474 +    RESULT = InfixExpression.OperatorType.IS_EQUAL;
  47.475 +:}
  47.476  | INEQ
  47.477 +{:
  47.478 +    RESULT = InfixExpression.OperatorType.IS_NOT_EQUAL;
  47.479 +:}
  47.480  | GT
  47.481 +{:
  47.482 +    RESULT = InfixExpression.OperatorType.RGREATER;
  47.483 +:}
  47.484  | LTEQ
  47.485 +{:
  47.486 +    RESULT = InfixExpression.OperatorType.IS_SMALLER_OR_EQUAL;
  47.487 +:}
  47.488  | LT
  47.489 +{:
  47.490 +    RESULT = InfixExpression.OperatorType.LGREATER;
  47.491 +:}
  47.492  | GTEQ
  47.493 +{:
  47.494 +    RESULT = InfixExpression.OperatorType.IS_GREATER_OR_EQUAL;
  47.495 +:}
  47.496  ;
  47.497  
  47.498 -membership ::= IN
  47.499 -	| NOT IN
  47.500 -	;
  47.501 +membership ::=
  47.502 +IN
  47.503 +{:
  47.504 +    RESULT = InfixExpression.OperatorType.IN;
  47.505 +:}
  47.506 +| NOT IN
  47.507 +{:
  47.508 +    RESULT = InfixExpression.OperatorType.NOT_IN;
  47.509 +:}
  47.510 +;
  47.511  
  47.512  unary_adding_operator ::=
  47.513  PLUS
  47.514 @@ -1426,79 +1488,93 @@
  47.515  binary_adding_operator ::= 
  47.516  PLUS
  47.517  {:
  47.518 -    RESULT = UnaryOperation.Operator.PLUS;
  47.519 +    RESULT = InfixExpression.OperatorType.PLUS;
  47.520  :}
  47.521  | MINUS
  47.522  {:
  47.523 -    RESULT = UnaryOperation.Operator.MINUS;
  47.524 +    RESULT = InfixExpression.OperatorType.MINUS;
  47.525  :}
  47.526  | AMP
  47.527  {:
  47.528 -    RESULT = UnaryOperation.Operator.AMP;
  47.529 +    RESULT = InfixExpression.OperatorType.STRING_AND;
  47.530  :}
  47.531  ;
  47.532  
  47.533  multiplying_operator ::=
  47.534  STAR
  47.535 +{:
  47.536 +    RESULT = InfixExpression.OperatorType.MUL;
  47.537 +:}
  47.538  | SLASH
  47.539 +{:
  47.540 +    RESULT = InfixExpression.OperatorType.DIV;
  47.541 +:}
  47.542  | MOD
  47.543 +{:
  47.544 +    RESULT = InfixExpression.OperatorType.MOD;
  47.545 +:}
  47.546  | REM
  47.547 +{:
  47.548 +    RESULT = InfixExpression.OperatorType.REM;
  47.549 +:}
  47.550  ;
  47.551  
  47.552  ///////////////////////////////////////////////////////////////////////////////
  47.553  // 4.4 Expressions
  47.554  //
  47.555  expression ::=
  47.556 -relation:rel
  47.557 +relation:relation
  47.558  {:
  47.559 -    System.out.println ("expression ::= relation => " + rel);
  47.560 -	RESULT = rel;
  47.561 +    RESULT = relation;
  47.562  :}
  47.563 -| expression:expr logical_operator relation:rel
  47.564 +| expression:expression logical_operator:logical_operator relation:relation
  47.565  {:
  47.566 -    System.out.println ("expression ::= expression => " + expr);
  47.567 -    System.out.println ("expression ::= relation => " + rel);
  47.568 -	RESULT = expr;
  47.569 +    InfixExpression infixExpression = new InfixExpression(expressionleft, relationright, expression, logical_operator, relation);
  47.570 +    RESULT = infixExpression;
  47.571  :}
  47.572 -| expression:expr short_circuit relation:rel
  47.573 +| expression:expression short_circuit:short_circuit relation:relation
  47.574  {:
  47.575 -    System.out.println ("expression ::= expression => " + expr);
  47.576 -    System.out.println ("expression ::= relation => " + rel);
  47.577 -	RESULT = expr;
  47.578 +    InfixExpression infixExpression = new InfixExpression(expressionleft, relationright, expression, short_circuit, relation);
  47.579 +    RESULT = infixExpression;
  47.580  :}
  47.581  ;
  47.582  
  47.583  relation ::=
  47.584 -simple_expression:simple_expr
  47.585 +simple_expression:simple_expression
  47.586  {:
  47.587 -    RESULT = simple_expr;
  47.588 +    RESULT = simple_expression;
  47.589  :}
  47.590 -| simple_expression:simple_expr relational_operator simple_expression
  47.591 +| simple_expression:simple_expression1 relational_operator:relational_operator simple_expression:simple_expression2
  47.592  {:
  47.593 -    RESULT = simple_expr;
  47.594 +    InfixExpression infixExpression = new InfixExpression(simple_expression1left, simple_expression2right, simple_expression1, relational_operator, simple_expression2);
  47.595 +    RESULT = infixExpression;
  47.596  :}
  47.597 -| simple_expression:simple_expr membership range
  47.598 +| simple_expression:simple_expression membership:membership range:range
  47.599  {:
  47.600 -    RESULT = simple_expr;
  47.601 +    InfixExpression infixExpression = new InfixExpression(simple_expressionleft, rangeright, simple_expression, membership, range);
  47.602 +    RESULT = infixExpression;
  47.603  :}
  47.604 -| simple_expression:simple_expr membership name
  47.605 +| simple_expression:simple_expression membership:membership name:name
  47.606  {:
  47.607 -    RESULT = simple_expr;
  47.608 +    InfixExpression infixExpression = new InfixExpression(simple_expressionleft, nameright, simple_expression, membership, name);
  47.609 +    RESULT = infixExpression;
  47.610  :}
  47.611  ;
  47.612  
  47.613  simple_expression ::=
  47.614 -unary_adding_operator:op term:term
  47.615 +unary_adding_operator:unary_adding_operator term:term
  47.616  {:
  47.617 -	RESULT = new UnaryOperation(opleft, termright, term, op);
  47.618 +    UnaryOperation unaryOperation = new UnaryOperation(unary_adding_operatorleft, termright, term, unary_adding_operator);
  47.619 +    RESULT = unaryOperation;
  47.620  :}
  47.621  | term:term
  47.622  {:
  47.623      RESULT = term;
  47.624  :}
  47.625 -| simple_expression:expr binary_adding_operator:op term:term
  47.626 +| simple_expression:simple_expression binary_adding_operator:binary_adding_operator term:term
  47.627  {:
  47.628 -	RESULT = new UnaryOperation(exprleft, termright, term, op);
  47.629 +    InfixExpression infixExpression = new InfixExpression(simple_expressionleft, termright, simple_expression, binary_adding_operator, term);
  47.630 +    RESULT = infixExpression;
  47.631  :}
  47.632  ;
  47.633  
  47.634 @@ -1507,9 +1583,10 @@
  47.635  {:
  47.636      RESULT = factor;
  47.637  :}
  47.638 -| term multiplying_operator factor:factor
  47.639 +| term:term multiplying_operator:multiplying_operator factor:factor
  47.640  {:
  47.641 -    RESULT = factor;
  47.642 +    InfixExpression infixExpression = new InfixExpression(termleft, factorright, term, multiplying_operator, factor);
  47.643 +    RESULT = infixExpression;
  47.644  :}
  47.645  ;
  47.646  
  47.647 @@ -1518,58 +1595,57 @@
  47.648  {:
  47.649      RESULT = primary;
  47.650  :}
  47.651 -| NOT primary:primary
  47.652 +| NOT:token primary:primary
  47.653  {:
  47.654 -    RESULT = primary;
  47.655 +    UnaryOperation unaryOperation = new UnaryOperation(tokenleft, primaryright, primary, UnaryOperation.Operator.NOT);
  47.656 +    RESULT = unaryOperation;
  47.657  :}
  47.658 -| ABS primary:primary
  47.659 +| ABS:token primary:primary
  47.660  {:
  47.661 -    RESULT = primary;
  47.662 +    UnaryOperation unaryOperation = new UnaryOperation(tokenleft, primaryright, primary, UnaryOperation.Operator.ABS);
  47.663 +    RESULT = unaryOperation;
  47.664  :}
  47.665 -| primary EXPON primary:primary
  47.666 +| primary:primary1 EXPON primary:primary2
  47.667  {:
  47.668 -    RESULT = primary;
  47.669 +    InfixExpression infixExpression = new InfixExpression(primary1left, primary2right, primary1, InfixExpression.OperatorType.EXPON, primary2);
  47.670 +    RESULT = infixExpression;
  47.671  :}
  47.672  ;
  47.673  
  47.674  primary ::=
  47.675  literal:literal
  47.676  {:
  47.677 -    System.out.println ("primary ::= literal => " + literal);
  47.678      RESULT = literal;
  47.679  :}
  47.680  | name:name
  47.681  {:
  47.682 -    System.out.println ("primary ::= name => " + name);
  47.683 -    Scalar scalar = new Scalar(nameleft, nameright, name, Scalar.Type.STRING);
  47.684 -    RESULT = scalar;
  47.685 +// TODO: must be modified for manage all primery types
  47.686 +    Variable variable = new Variable (nameleft, nameright, name);
  47.687 +    RESULT = variable;
  47.688  :}
  47.689  | allocator
  47.690 -| qualified_expression:expr
  47.691 +| qualified_expression:qualified_expression
  47.692  {:
  47.693 -    System.out.println ("primary ::= qualified_expression => " + expr);
  47.694 -    RESULT = expr;
  47.695 +    RESULT = qualified_expression;
  47.696  :}
  47.697 -| parenthesized_primary:expr
  47.698 +| parenthesized_primary:parenthesized_primary
  47.699  {:
  47.700 -    System.out.println ("primary ::= parenthesized_primary => " + expr);
  47.701 -    RESULT = expr;
  47.702 +    RESULT = parenthesized_primary;
  47.703  :}
  47.704  ;
  47.705  
  47.706  parenthesized_primary ::=
  47.707  aggregate
  47.708 -| LPAREN expression:expr RPAREN
  47.709 +| LPAREN expression:expression RPAREN
  47.710  {:
  47.711 -    RESULT = expr;
  47.712 +    RESULT = expression;
  47.713  :}
  47.714  ;
  47.715  
  47.716  qualified_expression ::=
  47.717  name:name TICK parenthesized_primary:expr
  47.718  {:
  47.719 -    Identifier subtypeMark = new Identifier (nameleft, nameright, name);
  47.720 -    RESULT = new QualifiedExpression (nameleft, exprright, subtypeMark, expr);
  47.721 +    RESULT = new QualifiedExpression (nameleft, exprright, name, expr);
  47.722  :}
  47.723  ;
  47.724  
  47.725 @@ -1701,13 +1777,10 @@
  47.726  // 5.2 Assignment Statements
  47.727  //
  47.728  assignment_statement ::=
  47.729 -name:var ASSIGNMENT expression:expr SEMICOLON
  47.730 +name:name ASSIGNMENT expression:expression SEMICOLON
  47.731  {:
  47.732 -    System.out.println ("assignment_statement ::= var => " + var);
  47.733 -    System.out.println ("assignment_statement ::= expr => " + expr);
  47.734 -    Identifier id = new Identifier(varleft, varright, var);
  47.735 -    Variable variable = new Variable (varleft, varright, (Identifier)id);
  47.736 -    Assignment assignment = new Assignment(varleft, exprright, variable, expr);
  47.737 +    Variable variable = new Variable (nameleft, nameright, name);
  47.738 +    Assignment assignment = new Assignment(nameleft, expressionright, variable, expression);
  47.739      RESULT = assignment;
  47.740  :}
  47.741  ;
  47.742 @@ -1722,19 +1795,19 @@
  47.743      Expression firstCondition = null;
  47.744      Statement trueStatement = null;
  47.745      Statement falseStatement = iffalse;
  47.746 -		
  47.747 +
  47.748      for (int i=1 ; i < condList[0].size() ; i++) {
  47.749          innerCondition = (Expression)condList[0].get(i);
  47.750          trueStatement = (Statement)condList[1].get(i);
  47.751          int start = ((Integer)condList[2].get(i)).intValue();
  47.752          falseStatement = new IfStatement(start, endright, innerCondition, trueStatement, falseStatement);
  47.753      }
  47.754 -    
  47.755 +
  47.756      firstCondition = (Expression)condList[0].get(0);
  47.757      trueStatement = (Statement)condList[1].get(0);
  47.758      int start = ((Integer)condList[2].get(0)).intValue();
  47.759      IfStatement ifStatement = new IfStatement(tokenleft, endright, firstCondition, trueStatement, falseStatement);		
  47.760 -	
  47.761 +
  47.762      RESULT = ifStatement;
  47.763  :}
  47.764  ;
  47.765 @@ -1767,9 +1840,9 @@
  47.766  ;
  47.767  
  47.768  condition ::=
  47.769 -expression:expr
  47.770 +expression:expression
  47.771  {:
  47.772 -    RESULT = expr;
  47.773 +    RESULT = expression;
  47.774  :}
  47.775  ;
  47.776  
  47.777 @@ -1824,8 +1897,7 @@
  47.778  label_opt:label iteration:iteration basic_loop:statement id_opt SEMICOLON:end
  47.779  {:
  47.780      int start = (label == null) ? iterationleft : labelleft;
  47.781 -    Identifier identifier = new Identifier(labelleft, labelright, label);
  47.782 -    LoopStatement loopStatement = new LoopStatement(start, endright, identifier, iteration, statement);
  47.783 +    LoopStatement loopStatement = new LoopStatement(start, endright, label, iteration, statement);
  47.784      RESULT = loopStatement;
  47.785  :}
  47.786  ;
  47.787 @@ -1837,7 +1909,8 @@
  47.788  :}
  47.789  | IDENTIFIER:id COLON
  47.790  {:
  47.791 -    RESULT = id;
  47.792 +    Identifier identifier = new Identifier (idleft, idright, id);
  47.793 +    RESULT = identifier;
  47.794  :}
  47.795  ;
  47.796  
  47.797 @@ -1880,9 +1953,9 @@
  47.798  {:
  47.799      RESULT = null;
  47.800  :}
  47.801 -| designator:name
  47.802 +| designator:designator
  47.803  {:
  47.804 -    RESULT = name;
  47.805 +    RESULT = designator;
  47.806  :}
  47.807  ;
  47.808  
  47.809 @@ -1893,8 +1966,7 @@
  47.810  label_opt:label block_declarative:declarations block_body:body END id_opt SEMICOLON:end
  47.811  {:
  47.812      int start = (label == null) ? declarationsleft : labelleft;
  47.813 -    Identifier identifier = new Identifier(labelleft, labelright, label);
  47.814 -    BlockStatement blockStatement = new BlockStatement (start, endleft, identifier, declarations, body);
  47.815 +    BlockStatement blockStatement = new BlockStatement (start, endleft, label, declarations, body);
  47.816      RESULT = blockStatement;
  47.817  :}
  47.818  ;
  47.819 @@ -2002,23 +2074,19 @@
  47.820  ;
  47.821  
  47.822  subprogram_specification ::=
  47.823 -PROCEDURE:procedure compound_name:procedureName formal_part_opt:formalPart
  47.824 +PROCEDURE:procedure compound_name:compound_name formal_part_opt:formal_part
  47.825  {:
  47.826 -    Identifier procedureId = new Identifier(procedureNameleft, procedureNameright, procedureName);
  47.827 -    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(procedureleft, formalPartright, procedureId, formalPart);
  47.828 +    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(procedureleft, formal_partright, compound_name, formal_part);
  47.829      RESULT = subprogramSpecification;
  47.830  :}
  47.831 -| FUNCTION:function designator:functionName formal_part_opt:formalPart RETURN name:subtypeMark
  47.832 +| FUNCTION:function designator:designator formal_part_opt:formal_part RETURN name:subtype_mark
  47.833  {:
  47.834 -    Identifier functionId = new Identifier(functionNameleft, functionNameright, functionName);
  47.835 -    Identifier subtypeReturn = new Identifier(subtypeMarkleft, subtypeMarkright, subtypeMark);
  47.836 -    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, subtypeMarkright, functionId, formalPart, subtypeReturn);
  47.837 +    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, subtype_markright, designator, formal_part, subtype_mark);
  47.838      RESULT = subprogramSpecification;
  47.839  :}
  47.840 -| FUNCTION:function designator:functionName  /* for generic inst and generic rename */
  47.841 +| FUNCTION:function designator:designator  /* for generic inst and generic rename */
  47.842  {:
  47.843 -    Identifier functionId = new Identifier(functionNameleft, functionNameright, functionName);
  47.844 -    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, functionNameright, functionId);
  47.845 +    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, designatorright, designator);
  47.846      RESULT = subprogramSpecification;
  47.847  :}
  47.848  ;
  47.849 @@ -2071,13 +2139,11 @@
  47.850  defining_identifier_list:identifierList COLON mode:mode subtype_mark:subtype init_opt:init
  47.851  {:
  47.852      List list = new LinkedList();
  47.853 -    Identifier subtypeId = new Identifier(subtypeleft, subtyperight, subtype);
  47.854 -    TypeName typeName = new TypeName(subtypeleft, subtyperight, subtypeId);
  47.855      for (Object item : identifierList) {
  47.856          Identifier identifier = (Identifier)item;
  47.857          Variable variable = new Variable (identifier.getStartOffset(), identifier.getEndOffset(), identifier);
  47.858  	    int end = init == null ? subtyperight : initright;
  47.859 -        FormalParameter parameter = new FormalParameter(identifierListleft, end, variable, mode, typeName, init);
  47.860 +        FormalParameter parameter = new FormalParameter(identifierListleft, end, variable, mode, subtype, init);
  47.861      	list.add(parameter);
  47.862      }
  47.863      RESULT = list;
  47.864 @@ -2116,23 +2182,23 @@
  47.865  
  47.866  // TODO: manage the overload operators ex: "+" "and" ecc.
  47.867  operator_symbol ::=
  47.868 -STRING_LITERAL:stringLiteral
  47.869 +STRING_LITERAL:string_literal
  47.870  {:
  47.871 -    RESULT = stringLiteral;
  47.872 +    Identifier identifier = new Identifier (string_literalleft, string_literalright, string_literal);
  47.873 +    RESULT = identifier;
  47.874  :}
  47.875  ;
  47.876  
  47.877  subprogram_body ::=
  47.878  subprogram_specification:subprog IS
  47.879 -declarative_part:declarativePart block_body:body END id_opt:idOpt SEMICOLON:end
  47.880 +declarative_part:declarativePart block_body:body END id_opt:id_opt SEMICOLON:end
  47.881  {:
  47.882 -    if (idOpt != null && !idOpt.equalsIgnoreCase (subprog.getSubprogramName().getName())) {
  47.883 +    if (id_opt != null && !id_opt.getName().equalsIgnoreCase (subprog.getSubprogramName().getName())) {
  47.884          this.parser.message_error("mispelling of " + subprog.getSubprogramName().getName());
  47.885      } else {
  47.886          Block declarations = new Block(subprogright, bodyleft, declarativePart);
  47.887          body.setEndOffset(endright);
  47.888 -        Identifier nameEnd = new Identifier(idOptleft, idOptright, idOpt);
  47.889 -        SubprogramBody subprogramBody = new SubprogramBody(subprogleft, endright, subprog, declarations, body, nameEnd);
  47.890 +        SubprogramBody subprogramBody = new SubprogramBody(subprogleft, endright, subprog, declarations, body, id_opt);
  47.891          MethodDeclaration methodDeclaration = new MethodDeclaration(subprogleft, endright, 0/*modifier*/, subprogramBody);
  47.892          RESULT = methodDeclaration;
  47.893      }
  47.894 @@ -2159,20 +2225,18 @@
  47.895  ;
  47.896  
  47.897  package_specification ::= 
  47.898 -PACKAGE:declarationStart compound_name:packageName IS:blockStart
  47.899 +PACKAGE:declarationStart compound_name:package_name IS:blockStart
  47.900    declarative_items_opt:declarativeItems private_part:privateDeclarativeItems
  47.901 -END:declarationEnd compound_name_opt:packageNameEnd
  47.902 +END:declarationEnd compound_name_opt:package_name_end
  47.903  {:
  47.904 -    if (packageNameEnd != null && !packageNameEnd.equalsIgnoreCase (packageName)) {
  47.905 -        this.parser.message_error("mispelling of " + packageName);
  47.906 +    if (package_name_end != null && !package_name_end.getName().equalsIgnoreCase (package_name.getName())) {
  47.907 +        this.parser.message_error("mispelling of " + package_name);
  47.908      }
  47.909      else {
  47.910 -        Identifier packageId = new Identifier(packageNameleft, packageNameright, packageName);
  47.911 -        Identifier packageIdEnd = new Identifier(packageNameEndleft, packageNameEndright, packageNameEnd);
  47.912          declarativeItems.addAll (privateDeclarativeItems);
  47.913          // Add private part on block statements
  47.914          Block block = new Block(blockStartleft, declarationEndright, declarativeItems);
  47.915 -        PackageSpecification packageSpecification = new PackageSpecification(declarationStartleft, declarationEndright, packageId, packageIdEnd, block);
  47.916 +        PackageSpecification packageSpecification = new PackageSpecification(declarationStartleft, declarationEndright, package_name, package_name_end, block);
  47.917          RESULT = packageSpecification;
  47.918      }
  47.919  :}
  47.920 @@ -2190,9 +2254,9 @@
  47.921  
  47.922  compound_name_opt ::=
  47.923  // empty
  47.924 -| compound_name:compoundName
  47.925 +| compound_name:compound_name
  47.926  {:
  47.927 -    RESULT = compoundName;
  47.928 +    RESULT = compound_name;
  47.929  :}
  47.930  ;
  47.931  
  47.932 @@ -2200,20 +2264,18 @@
  47.933  // 7.2 Package Bodies
  47.934  //
  47.935  package_body ::=
  47.936 -PACKAGE:declarationStart BODY compound_name:packageName IS:blockStart
  47.937 -  declarative_part:declarativePart body_opt END compound_name_opt:packageNameEnd SEMICOLON:declarationEnd
  47.938 +PACKAGE:declarationStart BODY compound_name:package_name IS:blockStart
  47.939 +  declarative_part:declarativePart body_opt END compound_name_opt:package_name_end SEMICOLON:declarationEnd
  47.940  {:
  47.941 -    if (packageNameEnd != null && !packageNameEnd.equalsIgnoreCase (packageName)) {
  47.942 -        this.parser.message_error("mispelling of " + packageName);
  47.943 +    if (package_name_end != null && !package_name_end.getName().equalsIgnoreCase (package_name.getName())) {
  47.944 +        this.parser.message_error("mispelling of " + package_name);
  47.945      }
  47.946      else {
  47.947 -        Identifier packageId = new Identifier(packageNameleft, packageNameright, packageName);
  47.948 -        Identifier packageIdEnd = new Identifier(packageNameEndleft, packageNameEndright, packageNameEnd);
  47.949  
  47.950          List list = this.parser.setModifier (declarativePart, Ada95ASTParser.PRIVATE);
  47.951          Block block = new Block(blockStartleft, declarationEndright, list);
  47.952  
  47.953 -        PackageBody packageBody = new PackageBody(declarationStartleft, declarationEndright, packageId, packageIdEnd, block);
  47.954 +        PackageBody packageBody = new PackageBody(declarationStartleft, declarationEndright, package_name, package_name_end, block);
  47.955          RESULT = packageBody;
  47.956      }
  47.957  :}
  47.958 @@ -2262,15 +2324,13 @@
  47.959  name:name
  47.960  {:
  47.961      List idList = new LinkedList();
  47.962 -    Identifier id = new Identifier(nameleft, nameright, name);
  47.963 -    PackageName packageName = new PackageName(nameleft, nameright, id);
  47.964 +    PackageName packageName = new PackageName(nameleft, nameright, name);
  47.965      idList.add(packageName);
  47.966      RESULT = idList;
  47.967  :}
  47.968  | package_name_list:idList COMMA name:name
  47.969  {:
  47.970 -    Identifier id = new Identifier(nameleft, nameright, name);
  47.971 -    PackageName packageName = new PackageName(nameleft, nameright, id);
  47.972 +    PackageName packageName = new PackageName(nameleft, nameright, name);
  47.973      idList.add(packageName);
  47.974      RESULT = idList;
  47.975  :}
  47.976 @@ -2280,15 +2340,13 @@
  47.977  name:name
  47.978  {:
  47.979      List idList = new LinkedList();
  47.980 -    Identifier id = new Identifier(nameleft, nameright, name);
  47.981 -    TypeName typeName = new TypeName(nameleft, nameright, id);
  47.982 +    TypeName typeName = new TypeName(nameleft, nameright, name);
  47.983      idList.add(typeName);
  47.984      RESULT = idList;
  47.985  :}
  47.986  | subtype_mark_list:idList COMMA name:name
  47.987  {:
  47.988 -    Identifier id = new Identifier(nameleft, nameright, name);
  47.989 -    TypeName typeName = new TypeName(nameleft, nameright, id);
  47.990 +    TypeName typeName = new TypeName(nameleft, nameright, name);
  47.991      idList.add(typeName);
  47.992      RESULT = idList;
  47.993  :}
  47.994 @@ -2310,9 +2368,7 @@
  47.995  rename_unit ::= 
  47.996  PACKAGE:token compound_name:name RENAMES name:renames SEMICOLON:end
  47.997  {:
  47.998 -    Identifier packageNameId = new Identifier(nameleft, nameright, name);
  47.999 -    Identifier packageRenamesId = new Identifier(renamesleft, renamesright, renames);
 47.1000 -    PackageRenames packageRenames = new PackageRenames(tokenleft, endright, packageNameId, packageRenamesId);
 47.1001 +    PackageRenames packageRenames = new PackageRenames(tokenleft, endright, name, renames);
 47.1002      RESULT = packageRenames;
 47.1003  :}
 47.1004  | subprogram_specification RENAMES name SEMICOLON:end
 47.1005 @@ -2499,15 +2555,13 @@
 47.1006  name:name
 47.1007  {:
 47.1008      List idList = new LinkedList();
 47.1009 -    Identifier id = new Identifier(nameleft, nameright, name);
 47.1010 -    TaskName taskName = new TaskName(nameleft, nameright, id);
 47.1011 +    TaskName taskName = new TaskName(nameleft, nameright, name);
 47.1012      idList.add(taskName);
 47.1013      RESULT = idList;
 47.1014  :}
 47.1015  | task_name_list:idList COMMA name:name
 47.1016  {:
 47.1017 -    Identifier id = new Identifier(nameleft, nameright, name);
 47.1018 -    TaskName taskName = new TaskName(nameleft, nameright, id);
 47.1019 +    TaskName taskName = new TaskName(nameleft, nameright, name);
 47.1020      idList.add(taskName);
 47.1021      RESULT = idList;
 47.1022  :}
    48.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/resources/Ada95Parser.cup	Thu Jun 17 10:15:25 2010 -0400
    48.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/resources/Ada95Parser.cup	Sun Aug 22 23:56:21 2010 +0200
    48.3 @@ -144,8 +144,8 @@
    48.4   *    ISO/IEC 8652:1995(E)                               *
    48.5   *    with Technical Corrigendum 1                       *
    48.6   *    Language and Standard Libraries                    *
    48.7 - *    Copyright � 1992,1993,1994,1995 Intermetrics, Inc. *
    48.8 - *    Copyright � 2000 The MITRE Corporation, Inc.       *
    48.9 + *    Copyright © 1992,1993,1994,1995 Intermetrics, Inc. *
   48.10 + *    Copyright © 2000 The MITRE Corporation, Inc.       *
   48.11   * 2. http://www.adaic.com/standards/95lrm/grammar9x.y   *
   48.12   *                                                       *
   48.13   * Author: Andrea Lucarelli                              *
    49.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/resources/Bundle.properties	Thu Jun 17 10:15:25 2010 -0400
    49.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/resources/Bundle.properties	Sun Aug 22 23:56:21 2010 +0200
    49.3 @@ -35,6 +35,10 @@
    49.4  #
    49.5  # Portions Copyrighted 2008 Sun Microsystems, Inc.
    49.6  
    49.7 +Services/MIMEResolver/AdaResolver.xml=Ada Files
    49.8 +Services/MIMEResolver/AdsResolver.xml=Ada Specification Files
    49.9 +Services/MIMEResolver/AdbResolver.xml=Ada Body Files
   49.10 +
   49.11  # Used in fonts and colors options
   49.12  text/x-ada=Ada
   49.13  
    50.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/resources/layer.xml	Thu Jun 17 10:15:25 2010 -0400
    50.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/resources/layer.xml	Sun Aug 22 23:56:21 2010 +0200
    50.3 @@ -44,41 +44,86 @@
    50.4      <folder name="Loaders">
    50.5          <folder name="text">
    50.6              <folder name="x-ada">
    50.7 -                <attr name="SystemFileSystem.icon" urlvalue="nbresloc:/org/netbeans/modules/ada/editor/resources/icons/ada-spec-16.png"/>
    50.8 +                <folder name="Actions">
    50.9 +                    <file name="OpenAction.instance">
   50.10 +                        <attr name="instanceClass" stringvalue="org.openide.actions.OpenAction"/>
   50.11 +                        <attr name="position" intvalue="100"/>
   50.12 +                    </file>
   50.13 +                    <file name="Separator1.instance">
   50.14 +                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
   50.15 +                        <attr name="position" intvalue="200"/>
   50.16 +                    </file>
   50.17 +                    <file name="CutAction.instance">
   50.18 +                        <attr name="instanceClass" stringvalue="org.openide.actions.CutAction"/>
   50.19 +                        <attr name="position" intvalue="300"/>
   50.20 +                    </file>
   50.21 +                    <file name="CopyAction.instance">
   50.22 +                        <attr name="instanceClass" stringvalue="org.openide.actions.CopyAction"/>
   50.23 +                        <attr name="position" intvalue="400"/>
   50.24 +                    </file>
   50.25 +                    <file name="PasteAction.instance">
   50.26 +                        <attr name="instanceClass" stringvalue="org.openide.actions.PasteAction"/>
   50.27 +                        <attr name="position" intvalue="500"/>
   50.28 +                    </file>
   50.29 +                    <file name="Separator2.instance">
   50.30 +                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
   50.31 +                        <attr name="position" intvalue="600"/>
   50.32 +                    </file>
   50.33 +                    <file name="NewAction.instance">
   50.34 +                        <attr name="instanceClass" stringvalue="org.openide.actions.NewAction"/>
   50.35 +                        <attr name="position" intvalue="700"/>
   50.36 +                    </file>
   50.37 +                    <file name="DeleteAction.instance">
   50.38 +                        <attr name="instanceClass" stringvalue="org.openide.actions.DeleteAction"/>
   50.39 +                        <attr name="position" intvalue="800"/>
   50.40 +                    </file>
   50.41 +                    <file name="RenameAction.instance">
   50.42 +                        <attr name="instanceClass" stringvalue="org.openide.actions.RenameAction"/>
   50.43 +                        <attr name="position" intvalue="900"/>
   50.44 +                    </file>
   50.45 +                    <file name="Separator3.instance">
   50.46 +                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
   50.47 +                        <attr name="position" intvalue="1000"/>
   50.48 +                    </file>
   50.49 +                    <file name="SaveAsTemplateAction.instance">
   50.50 +                        <attr name="instanceClass" stringvalue="org.openide.actions.SaveAsTemplateAction"/>
   50.51 +                        <attr name="position" intvalue="1100"/>
   50.52 +                    </file>
   50.53 +                    <file name="Separator4.instance">
   50.54 +                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
   50.55 +                        <attr name="position" intvalue="1200"/>
   50.56 +                    </file>
   50.57 +                    <file name="FileSystemAction.instance">
   50.58 +                        <attr name="instanceClass" stringvalue="org.openide.actions.FileSystemAction"/>
   50.59 +                        <attr name="position" intvalue="1300"/>
   50.60 +                    </file>
   50.61 +                    <file name="Separator5.instance">
   50.62 +                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
   50.63 +                        <attr name="position" intvalue="1400"/>
   50.64 +                    </file>
   50.65 +                    <file name="ToolsAction.instance">
   50.66 +                        <attr name="instanceClass" stringvalue="org.openide.actions.ToolsAction"/>
   50.67 +                        <attr name="position" intvalue="1500"/>
   50.68 +                    </file>
   50.69 +                    <file name="PropertiesAction.instance">
   50.70 +                        <attr name="instanceClass" stringvalue="org.openide.actions.PropertiesAction"/>
   50.71 +                        <attr name="position" intvalue="1600"/>
   50.72 +                    </file>
   50.73 +                </folder>
   50.74 +<!--                <attr name="SystemFileSystem.icon" urlvalue="nbresloc:/org/netbeans/modules/ada/editor/resources/icons/ada-spec-16.png"/>
   50.75                  <attr name="iconBase" stringvalue="org/netbeans/modules/ada/editor/resources/icons/ada-spec-16.png"/>
   50.76 +-->                <folder name="Factories">
   50.77 +                    <file name="AdaDataLoader.instance">
   50.78 +<!--                        <attr name="iconBase" stringvalue="org/netbeans/modules/ada/editor/resources/icons/ada-spec-16.png"/>
   50.79 +-->                        <attr name="dataObjectClass" stringvalue="org.netbeans.modules.ada.editor.AdaDataObject"/>
   50.80 +                        <attr name="instanceCreate" methodvalue="org.openide.loaders.DataLoaderPool.factory"/>
   50.81 +                        <attr name="mimeType" stringvalue="text/x-ada"/>
   50.82 +                    </file>
   50.83 +                </folder>
   50.84              </folder>
   50.85          </folder>
   50.86      </folder>
   50.87  
   50.88 -    <!-- CLS -->
   50.89 -    <folder name="CslPlugins">
   50.90 -        <folder name="text">
   50.91 -            <folder name="x-ada">
   50.92 -                <file name="language.instance">
   50.93 -                    <attr name="instanceClass" stringvalue="org.netbeans.modules.ada.editor.AdaLanguage"/>
   50.94 -                </file>
   50.95 -                <file name="structure.instance">
   50.96 -                    <attr name="instanceClass" stringvalue="org.netbeans.modules.ada.editor.parser.AdaStructureScanner"/>
   50.97 -                </file>
   50.98 -            </folder>
   50.99 -        </folder>
  50.100 -    </folder>
  50.101 -
  50.102 -    <!-- GSF 
  50.103 -    <folder name="GsfPlugins">
  50.104 -        <folder name="text">
  50.105 -            <folder name="x-ada">
  50.106 -                <file name="language.instance">
  50.107 -                    <attr name="instanceClass" stringvalue="org.netbeans.modules.ada.editor.AdaLanguage"/>
  50.108 -                </file>
  50.109 -                <file name="structure.instance">
  50.110 -                    <attr name="instanceClass" stringvalue="org.netbeans.modules.ada.editor.parser.AdaStructureScanner"/>
  50.111 -                </file>
  50.112 -            </folder>
  50.113 -        </folder>
  50.114 -    </folder>
  50.115 -    -->
  50.116 -    
  50.117      <!-- EDITORS -->
  50.118      <folder name="Editors">
  50.119          <folder name="text">
    51.1 --- a/ada.help/history.txt	Thu Jun 17 10:15:25 2010 -0400
    51.2 +++ b/ada.help/history.txt	Sun Aug 22 23:56:21 2010 +0200
    51.3 @@ -1,2 +1,9 @@
    51.4 +0.1.2: dd-mm-2010
    51.5 +- Uodate the help files for manage JVM.
    51.6 +
    51.7 +0.1.1: 13-10-2009
    51.8 +- Add the signing of the nbm file.
    51.9 +- Add the new help files.
   51.10 +
   51.11  0.1.0: 01-11-2008
   51.12  - Initial release.
   51.13 \ No newline at end of file
    52.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-build.html	Thu Jun 17 10:15:25 2010 -0400
    52.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-build.html	Sun Aug 22 23:56:21 2010 +0200
    52.3 @@ -63,36 +63,29 @@
    52.4  }
    52.5  -->
    52.6  </style>
    52.7 -    <title>Customizing the Project Settings: Run Configuration</title>
    52.8 +    <title>Customizing the Ada Project Settings: Build</title>
    52.9  </head>
   52.10    <body>
   52.11         <h2>
   52.12 -       Customizing the Project Settings: Build    </h2>
   52.13 +       Customizing the Ada Project Settings: Build    </h2>
   52.14  <p>
   52.15         <small><a href="#seealso">See Also</a></small>
   52.16      </p>
   52.17      <p>The Build panel of the Project Properties dialog box lets you lets you set the build tool for your projects:</p>
   52.18      <ul>
   52.19 -      <li><b>Ada Platform. </b>Specifies the Ada platform for building the project.</li>
   52.20 -      <li><b>Main Module. </b>Specifies the Ada main procedure.</li>
   52.21 +      <li><b>Ada Platform.</b> Specifies the Ada platform for building the project.</li>
   52.22 +      <li><b>Main Module.</b> Specifies the Ada main procedure.</li>
   52.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>
   52.24      </ul>
   52.25    <dl>
   52.26        <dt>
   52.27           <a name="seealso">See Also</a>      </dt>
   52.28 -      <dd><a href="new-ada-application.html" title=
   52.29 -        "Configurinag a New PHP Project withough Previously Developed Sources">New Ada Application</a><a href="new-project-configure_no_sources.html" title=
   52.30 -        "Configurinag a New PHP Project without Previously Developed Sources"></a> </dd>
   52.31 -      <dd> <a href="new-from-existing-ada-sources.html" title=
   52.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=
   52.33 -        "Importing Previously Developed Source Files into a New Project"></a></dd>
   52.34 -      <dd><a href="customize-project-sources.html" title=
   52.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=
   52.36 -        "Importing Previously Developed Source Files into a New Project"></a></dd>
   52.37 -      <dd><a href="customize-project-libraries.html" title=
   52.38 -        "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Libraries</a></dd>
   52.39 -      <dt></dt>
   52.40 -      <dd><a href="customize-project-run.html" title=
   52.41 -        "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Run</a></dd>
   52.42 +      <dd><a href="new-ada-application.html" title="">New Ada Application</a></dd>
   52.43 +      <dd><a href="new-from-existing-ada-sources.html" title="">New Ada Application with Existing Sources</a></dd>
   52.44 +      <dd><a href="customize-project-sources-folders.html" title="">Customizing the Project Settings: Sources Folders</a></dd>
   52.45 +      <dd><a href="customize-project-sources-naming.html" title="">Customizing the Project Settings: Sources Standards and Naming</a></dd>
   52.46 +      <dd><a href="customize-project-libraries.html" title="">Customizing the Project Settings: Libraries</a></dd>
   52.47 +      <dd><a href="customize-project-run.html" title="">Customizing the Project Settings: Run</a></dd>
   52.48        <dt></dt>
   52.49      <dd>&nbsp;</dd>
   52.50        </dl>
    53.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-libraries.html	Thu Jun 17 10:15:25 2010 -0400
    53.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-libraries.html	Sun Aug 22 23:56:21 2010 +0200
    53.3 @@ -63,31 +63,24 @@
    53.4  }
    53.5  -->
    53.6  </style>
    53.7 -    <title>Customizing the Project Settings: Include Path</title>
    53.8 +    <title>Customizing the Ada Project Settings: Libraries</title>
    53.9  </head>
   53.10    <body>
   53.11      <h2>
   53.12 -       Customizing the Project Settings: Libraries    </h2>
   53.13 +       Customizing the Ada Project Settings: Libraries    </h2>
   53.14  <p>
   53.15         <small><a href="#seealso">See Also</a></small>
   53.16      </p>
   53.17 -    <p><span class="style1">THIS FEATURE IS NOT DEVELOPED</span></p>
   53.18 +    <p><span class="style1">THIS FEATURE IS NOT IMPLEMENTED</span></p>
   53.19      <dl>
   53.20        <dt>
   53.21           <a name="seealso">See Also</a>      </dt>
   53.22 -      <dd><a href="new-ada-application.html" title=
   53.23 -        "Configurinag a New PHP Project withough Previously Developed Sources">New Ada Application</a><a href="new-project-configure_no_sources.html" title=
   53.24 -        "Configurinag a New PHP Project without Previously Developed Sources"></a> </dd>
   53.25 -      <dd> <a href="new-from-existing-ada-sources.html" title=
   53.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=
   53.27 -        "Importing Previously Developed Source Files into a New Project"></a></dd>
   53.28 -      <dd><a href="customize-project-sources.html" title=
   53.29 -        "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Sources</a></dd>
   53.30 -      <dd><a href="customize-project-build.html" title=
   53.31 -        "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Build</a></dd>
   53.32 -      <dt></dt>
   53.33 -      <dd><a href="customize-project-run.html" title=
   53.34 -        "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Run</a></dd>
   53.35 +      <dd><a href="new-ada-application.html" title="">New Ada Application</a></dd>
   53.36 +      <dd><a href="new-from-existing-ada-sources.html" title="">New Ada Application with Existing Sources</a></dd>
   53.37 +      <dd><a href="customize-project-sources-folders.html" title="">Customizing the Project Settings: Sources Folders</a></dd>
   53.38 +      <dd><a href="customize-project-sources-naming.html" title="">Customizing the Project Settings: Sources Standards and Naming</a></dd>
   53.39 +      <dd><a href="customize-project-build.html" title="">Customizing the Project Settings: Build</a></dd>
   53.40 +      <dd><a href="customize-project-run.html" title="">Customizing the Project Settings: Run</a></dd>
   53.41        <dt>&nbsp;</dt>
   53.42        <dd>&nbsp;</dd>
   53.43        </dl>
    54.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-run.html	Thu Jun 17 10:15:25 2010 -0400
    54.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-run.html	Sun Aug 22 23:56:21 2010 +0200
    54.3 @@ -63,11 +63,11 @@
    54.4  }
    54.5  -->
    54.6  </style>
    54.7 -    <title>Customizing the Project Settings: Run Configuration</title>
    54.8 +    <title>Customizing the Ada Project Settings: Run</title>
    54.9  </head>
   54.10    <body>
   54.11         <h2>
   54.12 -       Customizing the Project Settings: Run    </h2>
   54.13 +       Customizing the Ada Project Settings: Run    </h2>
   54.14  <p>
   54.15         <small><a href="#seealso">See Also</a></small>
   54.16      </p>
   54.17 @@ -76,20 +76,12 @@
   54.18  <dl>
   54.19        <dt>
   54.20           <a name="seealso">See Also</a>      </dt>
   54.21 -      <dd><a href="new-ada-application.html" title=
   54.22 -        "Configurinag a New PHP Project withough Previously Developed Sources">New Ada Application</a><a href="new-project-configure_no_sources.html" title=
   54.23 -        "Configurinag a New PHP Project without Previously Developed Sources"></a> </dd>
   54.24 -      <dd> <a href="new-from-existing-ada-sources.html" title=
   54.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=
   54.26 -        "Importing Previously Developed Source Files into a New Project"></a></dd>
   54.27 -      <dd><a href="customize-project-sources.html" title=
   54.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=
   54.29 -        "Importing Previously Developed Source Files into a New Project"></a></dd>
   54.30 -      <dd><a href="customize-project-libraries.html" title=
   54.31 -        "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Libraries</a></dd>
   54.32 -      <dt></dt>
   54.33 -      <dd><a href="customize-project-build.html" title=
   54.34 -        "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Build</a></dd>
   54.35 +      <dd><a href="new-ada-application.html" title="">New Ada Application</a></dd>
   54.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>
   54.37 +      <dd><a href="customize-project-sources-folders.html" title="">Customizing the Project Settings: Sources Folders</a></dd>
   54.38 +      <dd><a href="customize-project-sources-naming.html" title="">Customizing the Project Settings: Sources Standards and Naming</a></dd>
   54.39 +      <dd><a href="customize-project-libraries.html" title="">Customizing the Project Settings: Libraries</a></dd>
   54.40 +      <dd><a href="customize-project-build.html" title="">Customizing the Project Settings: Build</a></dd>
   54.41    <dd>&nbsp;</dd>
   54.42        </dl>
   54.43  <hr>
    55.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-sources.html	Thu Jun 17 10:15:25 2010 -0400
    55.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-sources.html	Sun Aug 22 23:56:21 2010 +0200
    55.3 @@ -64,11 +64,11 @@
    55.4  }
    55.5  -->
    55.6  </style>
    55.7 -    <title>Customizing the Project Settings: Source Files Location</title>
    55.8 +    <title>Customizing the Ada Project Settings: Source Files Location</title>
    55.9    </head>
   55.10    <body>
   55.11      <h2>
   55.12 -       Customizing the Project Settings: Sources</h2>
   55.13 +       Customizing the Ada Project Settings: Sources</h2>
   55.14  <p>
   55.15         <small><a href="#seealso">See Also</a></small></p>
   55.16  <p>The Sources panel enables you to view the location of the project folder,
    56.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-hs.xml	Thu Jun 17 10:15:25 2010 -0400
    56.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-hs.xml	Sun Aug 22 23:56:21 2010 +0200
    56.3 @@ -40,22 +40,22 @@
    56.4  <!DOCTYPE helpset PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 2.0//EN"
    56.5                           "http://java.sun.com/products/javahelp/helpset_2_0.dtd">
    56.6  <helpset version="2.0">
    56.7 -	<title>Help for NetBeans IDE for Ada</title>
    56.8 -	<maps>
    56.9 -		<homeID>org.netbeans.modules.ada.help.about</homeID>
   56.10 -		<mapref location="help-map.xml"/>
   56.11 -	</maps>
   56.12 -	<view mergetype="javax.help.AppendMerge">
   56.13 -		<name>TOC</name>
   56.14 -		<label>Table of Contents</label>
   56.15 -		<type>javax.help.TOCView</type>
   56.16 -		<data>help-toc.xml</data>
   56.17 -	</view>
   56.18 +    <title>Help for NetBeans IDE for Ada</title>
   56.19 +    <maps>
   56.20 +        <homeID>org.netbeans.modules.ada.help.about</homeID>
   56.21 +        <mapref location="help-map.xml"/>
   56.22 +    </maps>
   56.23 +    <view mergetype="javax.help.AppendMerge">
   56.24 +        <name>TOC</name>
   56.25 +        <label>Table of Contents</label>
   56.26 +        <type>javax.help.TOCView</type>
   56.27 +        <data>help-toc.xml</data>
   56.28 +    </view>
   56.29  
   56.30 -	<view>
   56.31 -		<name>Search</name>
   56.32 -		<label>Search</label>
   56.33 -		<type>javax.help.SearchView</type>
   56.34 -		<data engine="com.sun.java.help.search.DefaultSearchEngine">JavaHelpSearch</data>
   56.35 -	</view>
   56.36 +    <view>
   56.37 +        <name>Search</name>
   56.38 +        <label>Search</label>
   56.39 +        <type>javax.help.SearchView</type>
   56.40 +        <data engine="com.sun.java.help.search.DefaultSearchEngine">JavaHelpSearch</data>
   56.41 +    </view>
   56.42  </helpset>
    57.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-map.xml	Thu Jun 17 10:15:25 2010 -0400
    57.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-map.xml	Sun Aug 22 23:56:21 2010 +0200
    57.3 @@ -40,11 +40,13 @@
    57.4  <!DOCTYPE map PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Map Version 2.0//EN"
    57.5                       "http://java.sun.com/products/javahelp/map_2_0.dtd">
    57.6  <map version="1.0">
    57.7 -	<mapID target="org.netbeans.modules.ada.help.about" url="help-about.html"/>
    57.8 -	<mapID target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.NEW" url="new-ada-application.html"/>
    57.9 -	<mapID target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.EXISTING" url="new-from-existing-ada-sources.html"/>
   57.10 -	<mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerSources" url="customize-project-sources.html"/>
   57.11 -	<mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerLibrariesPath" url="customize-project-libraries.html"/>
   57.12 -	<mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerBuild" url="customize-project-build.html"/>
   57.13 -	<mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerRun" url="customize-project-run.html"/>
   57.14 +    <mapID target="org.netbeans.modules.ada.help.about" url="help-about.html"/>
   57.15 +    <mapID target="org.netbeans.modules.ada.platform.ui.PlatformsCustomizer" url="ada-platform-manager.html"/>
   57.16 +    <mapID target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.NEW" url="new-ada-application.html"/>
   57.17 +    <mapID target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.EXISTING" url="new-from-existing-ada-sources.html"/>
   57.18 +    <mapID target="org.netbeans.modules.ada.project.options.ui.AdaGeneralOptionsPanel" url="customize-project-sources-naming.html"/>
   57.19 +    <mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerSources" url="customize-project-sources-folders.html"/>
   57.20 +    <mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerLibrariesPath" url="customize-project-libraries.html"/>
   57.21 +    <mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerBuild" url="customize-project-build.html"/>
   57.22 +    <mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerRun" url="customize-project-run.html"/>
   57.23  </map>
    58.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-toc.xml	Thu Jun 17 10:15:25 2010 -0400
    58.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-toc.xml	Sun Aug 22 23:56:21 2010 +0200
    58.3 @@ -40,13 +40,15 @@
    58.4  <!DOCTYPE toc PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 2.0//EN"
    58.5                       "http://java.sun.com/products/javahelp/toc_2_0.dtd">
    58.6  <toc version="2.0">
    58.7 -	<tocitem text="Ada Development" expand="false">
    58.8 -		<tocitem text="About Ada Development in the NetBeans IDE" target="org.netbeans.modules.ada.help.about" />
    58.9 -		<tocitem text="New Ada Application" target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.NEW" />
   58.10 -		<tocitem text="New Ada Application with Existing Sources" target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.EXISTING" />
   58.11 -		<tocitem text="Customizing the Project Settings: Sources" target="org.netbeans.modules.ada.project.ui.properties.CustomizerSources" />
   58.12 -		<tocitem text="Customizing the Project Settings: Libraries" target="org.netbeans.modules.ada.project.ui.properties.CustomizerLibrariesPath" />
   58.13 -		<tocitem text="Customizing the Project Settings: Build" target="org.netbeans.modules.ada.project.ui.properties.CustomizerBuild" />
   58.14 -		<tocitem text="Customizing the Project Settings: Run" target="org.netbeans.modules.ada.project.ui.properties.CustomizerRun" />
   58.15 -	</tocitem>
   58.16 +    <tocitem text="Ada Development" expand="false">
   58.17 +        <tocitem text="About Ada Development in the NetBeans IDE" target="org.netbeans.modules.ada.help.about" />
   58.18 +        <tocitem text="Ada Platform Manager Dialog Box" target="org.netbeans.modules.ada.platform.ui.PlatformsCustomizer" />
   58.19 +        <tocitem text="New Ada Application" target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.NEW" />
   58.20 +        <tocitem text="New Ada Application with Existing Sources" target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.EXISTING" />
   58.21 +        <tocitem text="Customizing the Project Settings: Sources Standards and Naming" target="org.netbeans.modules.ada.project.options.ui.AdaGeneralOptionsPanel" />
   58.22 +        <tocitem text="Customizing the Project Settings: Sources Folders" target="org.netbeans.modules.ada.project.ui.properties.CustomizerSources" />
   58.23 +        <tocitem text="Customizing the Project Settings: Libraries" target="org.netbeans.modules.ada.project.ui.properties.CustomizerLibrariesPath" />
   58.24 +        <tocitem text="Customizing the Project Settings: Build" target="org.netbeans.modules.ada.project.ui.properties.CustomizerBuild" />
   58.25 +        <tocitem text="Customizing the Project Settings: Run" target="org.netbeans.modules.ada.project.ui.properties.CustomizerRun" />
   58.26 +    </tocitem>
   58.27  </toc>
    59.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/new-ada-application.html	Thu Jun 17 10:15:25 2010 -0400
    59.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/new-ada-application.html	Sun Aug 22 23:56:21 2010 +0200
    59.3 @@ -60,10 +60,10 @@
    59.4  }
    59.5  -->
    59.6  </style>
    59.7 -    <title>New PHP Project without Previously Developed Sources: Configure</title>
    59.8 +    <title>New Ada Application</title>
    59.9    </head>
   59.10    <body>
   59.11 -    <h2>New  Ada Application</h2>
   59.12 +    <h2>New Ada Application</h2>
   59.13    <p>
   59.14      <small><a href="#seealso">See Also</a></small></p>
   59.15  <p>The New Ada Application wizard enables you to create a new with a main class. 
    60.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/new-from-existing-ada-sources.html	Thu Jun 17 10:15:25 2010 -0400
    60.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/new-from-existing-ada-sources.html	Sun Aug 22 23:56:21 2010 +0200
    60.3 @@ -60,18 +60,18 @@
    60.4  }
    60.5  -->
    60.6  </style>
    60.7 -    <title>New PHP Project without Previously Developed Sources: Run Configurations</title>
    60.8 +    <title>New Ada Application with Existing Sources</title>
    60.9    </head>
   60.10    <body>
   60.11      <h2>New Ada Application with Existing Sources</h2>
   60.12  <p>
   60.13         <small><a href="#seealso">See Also</a></small></p>
   60.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 
   60.15 -  opening the New Project wizard and selecting the Java Application with Existing Sources template from the General category.</p>
   60.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
   60.17 +  opening the New Project wizard and selecting the Ada Application with Existing Sources template from the General category.</p>
   60.18  <p>In the Name and Location page, you have to set the following properties: 
   60.19  <ul>
   60.20    <li><b>Project Name. </b>Specifies the display name of the project.</li>
   60.21 -  <li><b>Project Location. </b>Specifies the folder where you want to store the 
   60.22 +  <li><b>Project Folder. </b>Specifies the folder where you want to store the
   60.23      project metadata and source code. You can place the project folder in the 
   60.24      source folder or keep it in a separate location.</li>
   60.25    <li><b>Set as Main Project.</b> Sets the newly created project as the main 
    61.1 --- a/ada.help/manifest.mf	Thu Jun 17 10:15:25 2010 -0400
    61.2 +++ b/ada.help/manifest.mf	Sun Aug 22 23:56:21 2010 +0200
    61.3 @@ -3,5 +3,5 @@
    61.4  OpenIDE-Module-Layer: org/netbeans/modules/ada/help/layer.xml
    61.5  OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ada/help/Bundle.properties
    61.6  OpenIDE-Module-Requires: org.netbeans.api.javahelp.Help
    61.7 -OpenIDE-Module-Specification-Version: 0.1.0
    61.8 +OpenIDE-Module-Specification-Version: 0.1.2
    61.9  AutoUpdate-Show-In-Client: false
    62.1 --- a/ada.help/nbproject/project.properties	Thu Jun 17 10:15:25 2010 -0400
    62.2 +++ b/ada.help/nbproject/project.properties	Sun Aug 22 23:56:21 2010 +0200
    62.3 @@ -3,3 +3,5 @@
    62.4  javahelp.hs=adahelp.hs
    62.5  nbm.homepage=http://wiki.netbeans.org/Ada
    62.6  nbm.module.author=Andrea Lucarelli
    62.7 +keystore=nbproject/private/keystore
    62.8 +nbm_alias=nbada
    63.1 --- a/ada.kit/build.xml	Thu Jun 17 10:15:25 2010 -0400
    63.2 +++ b/ada.kit/build.xml	Sun Aug 22 23:56:21 2010 +0200
    63.3 @@ -34,12 +34,12 @@
    63.4              </fileset>
    63.5          </move>
    63.6          <zip destfile="ada-nbms.zip">
    63.7 -			<zipfileset dir=".">
    63.8 -				<include name="*.nbm"/>
    63.9 -				<include name="history.txt"/>
   63.10 -				<include name="planned-features.txt"/>
   63.11 -			</zipfileset>
   63.12 -		</zip>
   63.13 +            <zipfileset dir=".">
   63.14 +                <include name="*.nbm"/>
   63.15 +                <include name="history.txt"/>
   63.16 +                <include name="planned-features.txt"/>
   63.17 +            </zipfileset>
   63.18 +        </zip>
   63.19          <delete>
   63.20              <fileset dir=".">
   63.21                  <include name="*.nbm"/>
    64.1 --- a/ada.kit/history.txt	Thu Jun 17 10:15:25 2010 -0400
    64.2 +++ b/ada.kit/history.txt	Sun Aug 22 23:56:21 2010 +0200
    64.3 @@ -1,5 +1,24 @@
    64.4 -0.1.9: dd-mm-2009
    64.5 -- Migrating GSF framework to CSL (Parsing & Indexing API)
    64.6 +0.2.2: 14-08-2010
    64.7 +- Migrate to NB6.9
    64.8 +- Fix minor issues.
    64.9 +
   64.10 +0.2.1: 12-08-2010
   64.11 +- Add JVM compiler support.
   64.12 +- Migrate to NB6.8
   64.13 +
   64.14 +0.2.0: 13-10-2009
   64.15 +- Add the signing of the nbm files.
   64.16 +- Add the new help files.
   64.17 +- Fix the issue http://sourceforge.net/tracker/?func=detail&aid=2872967&group_id=248853&atid=1126624.
   64.18 +
   64.19 +0.1.9: 01-10-2009
   64.20 +- Migrates from GSF to CSL for new Parsing & Indexing API.
   64.21 +- Add improvements on ast parser.
   64.22 +- Improvements on the GPR file management.
   64.23 +- Sends of the arguments when the action RUN is invoked
   64.24 +- Ada files naming management (options and project properties).
   64.25 +- Fix https://sourceforge.net/tracker/?func=detail&aid=2868718&group_id=248853&atid=1126624.
   64.26 +- Fix https://sourceforge.net/tracker/?func=detail&aid=2863317&group_id=248853&atid=1126624.
   64.27  
   64.28  0.1.8: 13-09-2009
   64.29  - Add improvements on ast parser, navigator, instant renamer.
    65.1 --- a/ada.kit/manifest.mf	Thu Jun 17 10:15:25 2010 -0400
    65.2 +++ b/ada.kit/manifest.mf	Sun Aug 22 23:56:21 2010 +0200
    65.3 @@ -2,5 +2,5 @@
    65.4  AutoUpdate-Show-In-Client: true
    65.5  OpenIDE-Module: org.netbeans.modules.ada.kit
    65.6  OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ada/kit/Bundle.properties
    65.7 -OpenIDE-Module-Specification-Version: 0.1.9
    65.8 +OpenIDE-Module-Specification-Version: 0.2.2
    65.9  
    66.1 --- a/ada.kit/nbproject/project.properties	Thu Jun 17 10:15:25 2010 -0400
    66.2 +++ b/ada.kit/nbproject/project.properties	Sun Aug 22 23:56:21 2010 +0200
    66.3 @@ -5,3 +5,5 @@
    66.4  javac.source=1.5
    66.5  nbm.homepage=http://wiki.netbeans.org/Ada
    66.6  nbm.module.author=Andrea Lucarelli
    66.7 +keystore=nbproject/private/keystore
    66.8 +nbm_alias=nbada
    67.1 --- a/ada.kit/nbproject/project.xml	Thu Jun 17 10:15:25 2010 -0400
    67.2 +++ b/ada.kit/nbproject/project.xml	Sun Aug 22 23:56:21 2010 +0200
    67.3 @@ -8,31 +8,31 @@
    67.4                  <dependency>
    67.5                      <code-name-base>org.netbeans.modules.ada.editor</code-name-base>
    67.6                      <run-dependency>
    67.7 -                        <specification-version>0.1.9</specification-version>
    67.8 +                        <specification-version>0.2.1</specification-version>
    67.9                      </run-dependency>
   67.10                  </dependency>
   67.11                  <dependency>
   67.12                      <code-name-base>org.netbeans.modules.ada.help</code-name-base>
   67.13                      <run-dependency>
   67.14 -                        <specification-version>0.1.0</specification-version>
   67.15 +                        <specification-version>0.1.2</specification-version>
   67.16                      </run-dependency>
   67.17                  </dependency>
   67.18                  <dependency>
   67.19                      <code-name-base>org.netbeans.modules.ada.options</code-name-base>
   67.20                      <run-dependency>
   67.21 -                        <specification-version>0.1.4</specification-version>
   67.22 +                        <specification-version>0.1.7</specification-version>
   67.23                      </run-dependency>
   67.24                  </dependency>
   67.25                  <dependency>
   67.26                      <code-name-base>org.netbeans.modules.ada.platform</code-name-base>
   67.27                      <run-dependency>
   67.28 -                        <specification-version>0.1.5</specification-version>
   67.29 +                        <specification-version>0.1.8</specification-version>
   67.30                      </run-dependency>
   67.31                  </dependency>
   67.32                  <dependency>
   67.33                      <code-name-base>org.netbeans.modules.ada.project</code-name-base>
   67.34                      <run-dependency>
   67.35 -                        <specification-version>0.1.7</specification-version>
   67.36 +                        <specification-version>0.1.9</specification-version>
   67.37                      </run-dependency>
   67.38                  </dependency>
   67.39              </module-dependencies>
    68.1 --- a/ada.options/history.txt	Thu Jun 17 10:15:25 2010 -0400
    68.2 +++ b/ada.options/history.txt	Sun Aug 22 23:56:21 2010 +0200
    68.3 @@ -1,5 +1,11 @@
    68.4 -0.1.5: dd-mm-2009
    68.5 -- TBD
    68.6 +0.1.7: 12-08-2010
    68.7 +- Update modules dependencies version.
    68.8 +
    68.9 +0.1.6: 13-10-2009
   68.10 +- Add the signing of the nbm files.
   68.11 +
   68.12 +0.1.5: 01-10-2009
   68.13 +- Move Ada Options Panel on Ada Project module.
   68.14  
   68.15  0.1.4: 13-09-2009
   68.16  - Update spec version.
    69.1 --- a/ada.options/manifest.mf	Thu Jun 17 10:15:25 2010 -0400
    69.2 +++ b/ada.options/manifest.mf	Sun Aug 22 23:56:21 2010 +0200
    69.3 @@ -3,5 +3,5 @@
    69.4  OpenIDE-Module: org.netbeans.modules.ada.options
    69.5  OpenIDE-Module-Layer: org/netbeans/modules/ada/options/resources/layer.xml
    69.6  OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ada/options/Bundle.properties
    69.7 -OpenIDE-Module-Specification-Version: 0.1.4
    69.8 +OpenIDE-Module-Specification-Version: 0.1.7
    69.9  
    70.1 --- a/ada.options/nbproject/project.properties	Thu Jun 17 10:15:25 2010 -0400
    70.2 +++ b/ada.options/nbproject/project.properties	Sun Aug 22 23:56:21 2010 +0200
    70.3 @@ -2,3 +2,5 @@
    70.4  javac.compilerargs=-Xlint -Xlint:-serial
    70.5  nbm.homepage=http://wiki.netbeans.org/Ada
    70.6  nbm.module.author=Andrea Lucarelli
    70.7 +keystore=nbproject/private/keystore
    70.8 +nbm_alias=nbada
    71.1 --- a/ada.options/nbproject/project.xml	Thu Jun 17 10:15:25 2010 -0400
    71.2 +++ b/ada.options/nbproject/project.xml	Sun Aug 22 23:56:21 2010 +0200
    71.3 @@ -6,20 +6,11 @@
    71.4              <code-name-base>org.netbeans.modules.ada.options</code-name-base>
    71.5              <module-dependencies>
    71.6                  <dependency>
    71.7 -                    <code-name-base>org.jdesktop.layout</code-name-base>
    71.8 -                    <build-prerequisite/>
    71.9 -                    <compile-dependency/>
   71.10 -                    <run-dependency>
   71.11 -                        <release-version>1</release-version>
   71.12 -                        <specification-version>1.6.1</specification-version>
   71.13 -                    </run-dependency>
   71.14 -                </dependency>
   71.15 -                <dependency>
   71.16                      <code-name-base>org.netbeans.modules.ada.editor</code-name-base>
   71.17                      <build-prerequisite/>
   71.18                      <compile-dependency/>
   71.19                      <run-dependency>
   71.20 -                        <specification-version>0.1.9</specification-version>
   71.21 +                        <specification-version>0.2.1</specification-version>
   71.22                      </run-dependency>
   71.23                  </dependency>
   71.24                  <dependency>
   71.25 @@ -27,7 +18,7 @@
   71.26                      <build-prerequisite/>
   71.27                      <compile-dependency/>
   71.28                      <run-dependency>
   71.29 -                        <specification-version>0.1.7</specification-version>
   71.30 +                        <specification-version>0.1.9</specification-version>
   71.31                      </run-dependency>
   71.32                  </dependency>
   71.33                  <dependency>
   71.34 @@ -36,15 +27,7 @@
   71.35                      <compile-dependency/>
   71.36                      <run-dependency>
   71.37                          <release-version>1</release-version>
   71.38 -                        <specification-version>1.10.1</specification-version>
   71.39 -                    </run-dependency>
   71.40 -                </dependency>
   71.41 -                <dependency>
   71.42 -                    <code-name-base>org.openide.awt</code-name-base>
   71.43 -                    <build-prerequisite/>
   71.44 -                    <compile-dependency/>
   71.45 -                    <run-dependency>
   71.46 -                        <specification-version>7.3.1</specification-version>
   71.47 +                        <specification-version>1.18.1</specification-version>
   71.48                      </run-dependency>
   71.49                  </dependency>
   71.50                  <dependency>
   71.51 @@ -52,7 +35,15 @@
   71.52                      <build-prerequisite/>
   71.53                      <compile-dependency/>
   71.54                      <run-dependency>
   71.55 -                        <specification-version>7.18.1</specification-version>
   71.56 +                        <specification-version>8.6.1</specification-version>
   71.57 +                    </run-dependency>
   71.58 +                </dependency>
   71.59 +                <dependency>
   71.60 +                    <code-name-base>org.openide.util.lookup</code-name-base>
   71.61 +                    <build-prerequisite/>
   71.62 +                    <compile-dependency/>
   71.63 +                    <run-dependency>
   71.64 +                        <specification-version>8.3.1</specification-version>
   71.65                      </run-dependency>
   71.66                  </dependency>
   71.67              </module-dependencies>
    72.1 --- a/ada.options/src/org/netbeans/modules/ada/options/AdaOptionsPanelController.java	Thu Jun 17 10:15:25 2010 -0400
    72.2 +++ b/ada.options/src/org/netbeans/modules/ada/options/AdaOptionsPanelController.java	Sun Aug 22 23:56:21 2010 +0200
    72.3 @@ -39,7 +39,6 @@
    72.4  
    72.5  package org.netbeans.modules.ada.options;
    72.6  
    72.7 -import org.netbeans.modules.ada.project.options.AdaGeneralOptionsPanel;
    72.8  import java.beans.PropertyChangeListener;
    72.9  import java.beans.PropertyChangeSupport;
   72.10  import java.util.Collection;
   72.11 @@ -52,6 +51,7 @@
   72.12  import javax.swing.event.ChangeEvent;
   72.13  import javax.swing.event.ChangeListener;
   72.14  import org.netbeans.modules.ada.project.options.AdaOptions;
   72.15 +import org.netbeans.modules.ada.project.options.ui.AdaGeneralOptionsPanel;
   72.16  import org.netbeans.modules.ada.editor.formatter.ui.FormattingOptionsPanel;
   72.17  import org.netbeans.spi.options.AdvancedOption;
   72.18  import org.netbeans.spi.options.OptionsPanelController;
   72.19 @@ -63,7 +63,7 @@
   72.20  /**
   72.21   * @author Andrea Lucarelli
   72.22   */
   72.23 -public class AdaOptionsPanelController extends OptionsPanelController implements ChangeListener {
   72.24 +public class AdaOptionsPanelController extends OptionsPanelController implements ChangeListener, HelpCtx.Provider {
   72.25  
   72.26      private static final String TAB_FOLDER = "org.netbeans.modules.ada/options/"; // NOI18N
   72.27      private final AdaGeneralOptionsPanel generalOptionsPanel = new AdaGeneralOptionsPanel(null);
   72.28 @@ -184,7 +184,7 @@
   72.29  
   72.30      @Override
   72.31      public HelpCtx getHelpCtx() {
   72.32 -        return null;
   72.33 +        return new HelpCtx(AdaGeneralOptionsPanel.class);
   72.34      }
   72.35  
   72.36      @Override
   72.37 @@ -207,6 +207,17 @@
   72.38  
   72.39      private boolean validateComponent() {
   72.40          // errors
   72.41 +        String postfixSpec = generalOptionsPanel.getPkgSpecPostfix();
   72.42 +        String postfixBody = generalOptionsPanel.getPkgBodyPostfix();
   72.43 +        String specExt = generalOptionsPanel.getPkgSpecExt();
   72.44 +        String bodyExt = generalOptionsPanel.getPkgBodyExt();
   72.45 +
   72.46 +        if (specExt.equalsIgnoreCase(bodyExt)) {
   72.47 +            if (postfixSpec.equalsIgnoreCase(postfixBody)) {
   72.48 +                generalOptionsPanel.setError(NbBundle.getMessage(AdaOptionsPanelController.class, "MSG_ExtetionsError"));
   72.49 +                return false;
   72.50 +            }
   72.51 +        }
   72.52  
   72.53          // everything ok
   72.54          generalOptionsPanel.setError(" "); // NOI18N
    73.1 --- a/ada.options/src/org/netbeans/modules/ada/options/Bundle.properties	Thu Jun 17 10:15:25 2010 -0400
    73.2 +++ b/ada.options/src/org/netbeans/modules/ada/options/Bundle.properties	Sun Aug 22 23:56:21 2010 +0200
    73.3 @@ -47,4 +47,5 @@
    73.4  
    73.5  # AdaOptionsPanelController
    73.6  LBL_GeneralOPtions=General
    73.7 -LBL_FormattingPtions=Formatting
    73.8 \ No newline at end of file
    73.9 +LBL_FormattingPtions=Formatting
   73.10 +MSG_ExtetionsError= Body Postfix (".ada") cannot be the same as Spec Postfix.
    74.1 --- a/ada.options/src/org/netbeans/modules/ada/options/resources/layer.xml	Thu Jun 17 10:15:25 2010 -0400
    74.2 +++ b/ada.options/src/org/netbeans/modules/ada/options/resources/layer.xml	Sun Aug 22 23:56:21 2010 +0200
    74.3 @@ -37,7 +37,7 @@
    74.4  
    74.5  Portions Copyrighted 2008 Sun Microsystems, Inc.
    74.6  -->
    74.7 -<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.1//EN" "http://www.netbeans.org/dtds/filesystem-1_1.dtd">
    74.8 +<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
    74.9  <filesystem>
   74.10      <folder name="OptionsDialog">
   74.11          <file name="org-netbeans-modules-ada-options-AdaOptionsCategory.instance">
    75.1 --- a/ada.platform/history.txt	Thu Jun 17 10:15:25 2010 -0400
    75.2 +++ b/ada.platform/history.txt	Sun Aug 22 23:56:21 2010 +0200
    75.3 @@ -1,3 +1,15 @@
    75.4 +0.1.8: 12-08-2010
    75.5 +- Add JVM compiler support.
    75.6 +
    75.7 +0.1.7: 13-10-2009
    75.8 +- Add the signing of the nbm files.
    75.9 +- Fix the issue http://sourceforge.net/tracker/?func=detail&aid=2872967&group_id=248853&atid=1126624.
   75.10 +
   75.11 +0.1.6: 01-10-2009
   75.12 +- Fix https://sourceforge.net/tracker/?func=detail&aid=2868718&group_id=248853&atid=1126624.
   75.13 +- Improvements on the GPR file management.
   75.14 +- Sends of the arguments when the action RUN is invoked
   75.15 +
   75.16  0.1.5: 13-09-2009
   75.17  - Add improvements for gpr handling.
   75.18  
    76.1 --- a/ada.platform/manifest.mf	Thu Jun 17 10:15:25 2010 -0400
    76.2 +++ b/ada.platform/manifest.mf	Sun Aug 22 23:56:21 2010 +0200
    76.3 @@ -3,5 +3,5 @@
    76.4  OpenIDE-Module: org.netbeans.modules.ada.platform
    76.5  OpenIDE-Module-Layer: org/netbeans/modules/ada/platform/resources/layer.xml
    76.6  OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ada/platform/Bundle.properties
    76.7 -OpenIDE-Module-Specification-Version: 0.1.5
    76.8 +OpenIDE-Module-Specification-Version: 0.1.8
    76.9  
    77.1 --- a/ada.platform/nbproject/project.properties	Thu Jun 17 10:15:25 2010 -0400
    77.2 +++ b/ada.platform/nbproject/project.properties	Sun Aug 22 23:56:21 2010 +0200
    77.3 @@ -2,3 +2,5 @@
    77.4  javac.compilerargs=-Xlint -Xlint:-serial
    77.5  nbm.homepage=http://wiki.netbeans.org/Ada
    77.6  nbm.module.author=Andrea Lucarelli
    77.7 +keystore=nbproject/private/keystore
    77.8 +nbm_alias=nbada
    78.1 --- a/ada.platform/nbproject/project.xml	Thu Jun 17 10:15:25 2010 -0400
    78.2 +++ b/ada.platform/nbproject/project.xml	Sun Aug 22 23:56:21 2010 +0200
    78.3 @@ -11,16 +11,7 @@
    78.4                      <compile-dependency/>
    78.5                      <run-dependency>
    78.6                          <release-version>1</release-version>
    78.7 -                        <specification-version>1.6</specification-version>
    78.8 -                    </run-dependency>
    78.9 -                </dependency>
   78.10 -                <dependency>
   78.11 -                    <code-name-base>org.netbeans.api.progress</code-name-base>
   78.12 -                    <build-prerequisite/>
   78.13 -                    <compile-dependency/>
   78.14 -                    <run-dependency>
   78.15 -                        <release-version>1</release-version>
   78.16 -                        <specification-version>1.12</specification-version>
   78.17 +                        <specification-version>1.13.1</specification-version>
   78.18                      </run-dependency>
   78.19                  </dependency>
   78.20                  <dependency>
   78.21 @@ -29,34 +20,7 @@
   78.22                      <compile-dependency/>
   78.23                      <run-dependency>
   78.24                          <release-version>2</release-version>
   78.25 -                        <specification-version>1.13</specification-version>
   78.26 -                    </run-dependency>
   78.27 -                </dependency>
   78.28 -                <dependency>
   78.29 -                    <code-name-base>org.netbeans.modules.project.ant</code-name-base>
   78.30 -                    <build-prerequisite/>
   78.31 -                    <compile-dependency/>
   78.32 -                    <run-dependency>
   78.33 -                        <release-version>1</release-version>
   78.34 -                        <specification-version>1.26.1</specification-version>
   78.35 -                    </run-dependency>
   78.36 -                </dependency>
   78.37 -                <dependency>
   78.38 -                    <code-name-base>org.netbeans.modules.projectapi</code-name-base>
   78.39 -                    <build-prerequisite/>
   78.40 -                    <compile-dependency/>
   78.41 -                    <run-dependency>
   78.42 -                        <release-version>1</release-version>
   78.43 -                        <specification-version>1.19</specification-version>
   78.44 -                    </run-dependency>
   78.45 -                </dependency>
   78.46 -                <dependency>
   78.47 -                    <code-name-base>org.netbeans.modules.projectuiapi</code-name-base>
   78.48 -                    <build-prerequisite/>
   78.49 -                    <compile-dependency/>
   78.50 -                    <run-dependency>
   78.51 -                        <release-version>1</release-version>
   78.52 -                        <specification-version>1.31</specification-version>
   78.53 +                        <specification-version>1.21.1</specification-version>
   78.54                      </run-dependency>
   78.55                  </dependency>
   78.56                  <dependency>
   78.57 @@ -64,7 +28,7 @@
   78.58                      <build-prerequisite/>
   78.59                      <compile-dependency/>
   78.60                      <run-dependency>
   78.61 -                        <specification-version>7.3</specification-version>
   78.62 +                        <specification-version>7.23.1</specification-version>
   78.63                      </run-dependency>
   78.64                  </dependency>
   78.65                  <dependency>
   78.66 @@ -72,7 +36,7 @@
   78.67                      <build-prerequisite/>
   78.68                      <compile-dependency/>
   78.69                      <run-dependency>
   78.70 -                        <specification-version>7.8</specification-version>
   78.71 +                        <specification-version>7.15.1</specification-version>
   78.72                      </run-dependency>
   78.73                  </dependency>
   78.74                  <dependency>
   78.75 @@ -80,15 +44,7 @@
   78.76                      <build-prerequisite/>
   78.77                      <compile-dependency/>
   78.78                      <run-dependency>
   78.79 -                        <specification-version>7.13</specification-version>
   78.80 -                    </run-dependency>
   78.81 -                </dependency>
   78.82 -                <dependency>
   78.83 -                    <code-name-base>org.openide.modules</code-name-base>
   78.84 -                    <build-prerequisite/>
   78.85 -                    <compile-dependency/>
   78.86 -                    <run-dependency>
   78.87 -                        <specification-version>7.7</specification-version>
   78.88 +                        <specification-version>7.38.1</specification-version>
   78.89                      </run-dependency>
   78.90                  </dependency>
   78.91                  <dependency>
   78.92 @@ -96,7 +52,7 @@
   78.93                      <build-prerequisite/>
   78.94                      <compile-dependency/>
   78.95                      <run-dependency>
   78.96 -                        <specification-version>7.18.1</specification-version>
   78.97 +                        <specification-version>8.6.1</specification-version>
   78.98                      </run-dependency>
   78.99                  </dependency>
  78.100              </module-dependencies>
  78.101 @@ -105,6 +61,8 @@
  78.102                  <package>org.netbeans.api.ada.platform</package>
  78.103                  <package>org.netbeans.modules.ada.platform.compiler.gnat</package>
  78.104                  <package>org.netbeans.modules.ada.platform.compiler.gnat.commands</package>
  78.105 +                <package>org.netbeans.modules.ada.platform.compiler.jgnat</package>
  78.106 +                <package>org.netbeans.modules.ada.platform.compiler.jgnat.commands</package>
  78.107                  <package>org.netbeans.modules.ada.platform.ui</package>
  78.108                  <package>org.netbeans.spi.ada.platform</package>
  78.109              </friend-packages>
    79.1 --- a/ada.platform/src/org/netbeans/api/ada/platform/AdaAutoDetector.java	Thu Jun 17 10:15:25 2010 -0400
    79.2 +++ b/ada.platform/src/org/netbeans/api/ada/platform/AdaAutoDetector.java	Sun Aug 22 23:56:21 2010 +0200
    79.3 @@ -40,7 +40,6 @@
    79.4  
    79.5  import java.io.File;
    79.6  import java.util.ArrayList;
    79.7 -import java.util.logging.Level;
    79.8  import java.util.logging.Logger;
    79.9  import org.openide.util.Utilities;
   79.10  
   79.11 @@ -82,7 +81,11 @@
   79.12                      (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("gnat")) ||
   79.13                      (dir.getName().toLowerCase().contains("gnat")) ||
   79.14                      (dir.getName().toLowerCase().contains("2008") && dir.getPath().toLowerCase().contains("gnat")) ||
   79.15 -                    (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("gnat"))) {
   79.16 +                    (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("gnat")) ||
   79.17 +                    (dir.getName().toLowerCase().contains("gnat")) ||
   79.18 +                    (dir.getName().toLowerCase().contains("2009") && dir.getPath().toLowerCase().contains("gnat")) ||
   79.19 +                    (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("gnat"))
   79.20 +                    ) {
   79.21                      String[] children = dir.list();
   79.22                      if (children != null) {
   79.23                          for (int i = 0; i < children.length; i++) {
    80.1 --- a/ada.platform/src/org/netbeans/api/ada/platform/AdaExecution.java	Thu Jun 17 10:15:25 2010 -0400
    80.2 +++ b/ada.platform/src/org/netbeans/api/ada/platform/AdaExecution.java	Sun Aug 22 23:56:21 2010 +0200
    80.3 @@ -64,6 +64,7 @@
    80.4      private String commandArgs;
    80.5      private String displayName;
    80.6      private boolean redirect;
    80.7 +    
    80.8      private ExecutionDescriptor descriptor = new ExecutionDescriptor().frontWindow(true).controllable(true).inputVisible(true).showProgress(true).showSuspended(true);
    80.9  
   80.10      /**
    81.1 --- a/ada.platform/src/org/netbeans/api/ada/platform/AdaOutputProcessor.java	Thu Jun 17 10:15:25 2010 -0400
    81.2 +++ b/ada.platform/src/org/netbeans/api/ada/platform/AdaOutputProcessor.java	Sun Aug 22 23:56:21 2010 +0200
    81.3 @@ -48,12 +48,14 @@
    81.4   */
    81.5  public class AdaOutputProcessor implements InputProcessor {
    81.6      StringBuilder builder = new StringBuilder();
    81.7 +
    81.8 +    @Override
    81.9      public void processInput(char[] input) throws IOException {
   81.10          builder.append(input);
   81.11      }
   81.12  
   81.13      public void reset() throws IOException {
   81.14 -        //builder = new StringBuilder();
   81.15 +        builder.setLength(0);
   81.16      }
   81.17  
   81.18      public void close() throws IOException {
    82.1 --- a/ada.platform/src/org/netbeans/api/ada/platform/AdaPlatform.java	Thu Jun 17 10:15:25 2010 -0400
    82.2 +++ b/ada.platform/src/org/netbeans/api/ada/platform/AdaPlatform.java	Sun Aug 22 23:56:21 2010 +0200
    82.3 @@ -53,36 +53,44 @@
    82.4      private String info;
    82.5  
    82.6      private String compilerPath;
    82.7 -    private String compilerCommand;
    82.8 -    private String compilerArgs;
    82.9 -    private boolean dirty;
   82.10 +    private String gnatCompilerCommand;
   82.11 +    private String gnatCompilerArgs;
   82.12 +    private String jvmGnatCompilerCommand;
   82.13 +    private String jvmGnatCompilerArgs;
   82.14 +
   82.15 +    public String getJvmGnatCompilerArgs() {
   82.16 +        return jvmGnatCompilerArgs;
   82.17 +    }
   82.18 +
   82.19 +    public void setJvmGnatCompilerArgs(String jvmGnatCompilerArgs) {
   82.20 +        this.jvmGnatCompilerArgs = jvmGnatCompilerArgs;
   82.21 +    }
   82.22 +
   82.23 +    public String getJvmGnatCompilerCommand() {
   82.24 +        return jvmGnatCompilerCommand;
   82.25 +    }
   82.26 +
   82.27 +    public void setJvmGnatCompilerCommand(String jvmGnatCompilerCommand) {
   82.28 +        this.jvmGnatCompilerCommand = jvmGnatCompilerCommand;
   82.29 +    }
   82.30  
   82.31      public AdaPlatform() {
   82.32      }
   82.33  
   82.34 -    public String getCompilerArgs() {
   82.35 -        return compilerArgs;
   82.36 +    public String getGnatCompilerArgs() {
   82.37 +        return gnatCompilerArgs;
   82.38      }
   82.39  
   82.40 -    public void setCompilerArgs(String compilerArgs) {
   82.41 -        this.compilerArgs = compilerArgs;
   82.42 +    public void setGnatCompilerArgs(String gnatCompilerArgs) {
   82.43 +        this.gnatCompilerArgs = gnatCompilerArgs;
   82.44      }
   82.45  
   82.46 -    public String getInterpreterCommand() {
   82.47 -        return compilerCommand;
   82.48 +    public String getGnatCompilerCommand() {
   82.49 +        return gnatCompilerCommand;
   82.50      }
   82.51  
   82.52 -    public void setCompilerCommand(String compilerCommand) {
   82.53 -        this.compilerCommand = compilerCommand;
   82.54 -    }
   82.55 -
   82.56 -    public String getCompilerCommand() {
   82.57 -        return compilerCommand;
   82.58 -    }
   82.59 -
   82.60 -    /** Has this platform been changed since the last load? */
   82.61 -    public boolean isDirty() {
   82.62 -        return dirty;
   82.63 +    public void setGnatCompilerCommand(String gnatCompilerCommand) {
   82.64 +        this.gnatCompilerCommand = gnatCompilerCommand;
   82.65      }
   82.66  
   82.67      public String getName() {
   82.68 @@ -108,22 +116,4 @@
   82.69      public void setCompilerPath(String compilerPath) {
   82.70          this.compilerPath = compilerPath;
   82.71      }
   82.72 -
   82.73 -    /**
   82.74 -     * Build a path string from arraylist
   82.75 -     * @param path
   82.76 -     * @return
   82.77 -     */
   82.78 -    public static String buildPath(ArrayList<String> path){
   82.79 -        StringBuilder pathString = new StringBuilder();
   82.80 -        int count = 0;
   82.81 -        for(String pathEle: path){
   82.82 -            pathString.append(pathEle);
   82.83 -            if (count++ < path.size()){
   82.84 -                pathString.append(File.pathSeparator);
   82.85 -            }
   82.86 -        }
   82.87 -        return pathString.toString();
   82.88 -    }
   82.89 -
   82.90  }
    83.1 --- a/ada.platform/src/org/netbeans/api/ada/platform/AdaPlatformManager.java	Thu Jun 17 10:15:25 2010 -0400
    83.2 +++ b/ada.platform/src/org/netbeans/api/ada/platform/AdaPlatformManager.java	Sun Aug 22 23:56:21 2010 +0200
    83.3 @@ -69,9 +69,14 @@
    83.4  public class AdaPlatformManager implements Serializable {
    83.5  
    83.6      private static final Logger LOGGER = Logger.getLogger(AdaPlatformManager.class.getName());
    83.7 +    
    83.8 +    // Ada platforms properties
    83.9      private static final String PLATFORM_FILE = System.getProperty("netbeans.user") + "/config/ada-platforms.xml";
   83.10      private static final String GNAT_EXECUTABLE_NAME = "gnat"; // NOI18N
   83.11 +    private static final String JVM_GNAT_EXECUTABLE_NAME = "jvm-gnat"; // NOI18N
   83.12      private static final String GNAT_PLATFORM_NAME = "GNAT";
   83.13 +    
   83.14 +    // Ada platforms hash table
   83.15      private HashMap<String, AdaPlatform> platforms;
   83.16      private String defaultPlatform;
   83.17  
   83.18 @@ -211,8 +216,12 @@
   83.19  
   83.20      public AdaPlatform findPlatformProperties(FileObject folder) throws AdaException {
   83.21          AdaPlatform platform = null;
   83.22 -        String id = null;
   83.23 -
   83.24 +        File tool = null;
   83.25 +        AdaExecution adaExec = null;
   83.26 +        ReaderInputStream is = null;
   83.27 +        BufferedReader reader = null;
   83.28 +        String line = null;
   83.29 +        
   83.30          // Find GNAT Tool
   83.31          // ??? Now only GNAT platform is supported
   83.32          FileObject gnat = findTool(GNAT_EXECUTABLE_NAME, folder);
   83.33 @@ -220,8 +229,8 @@
   83.34          if (gnat != null) {
   83.35  
   83.36              try {
   83.37 -                File tool = FileUtil.toFile(gnat);
   83.38 -                AdaExecution adaExec = new AdaExecution();
   83.39 +                tool = FileUtil.toFile(gnat);
   83.40 +                adaExec = new AdaExecution();
   83.41                  adaExec.setCommand(tool.getPath());
   83.42                  adaExec.setDisplayName("Ada Platform Properties");
   83.43                  adaExec.setShowControls(false);
   83.44 @@ -234,9 +243,9 @@
   83.45                  Future<Integer> result = adaExec.run();
   83.46                  Integer value = result.get();
   83.47                  if (value.intValue() == 0) {
   83.48 -                    ReaderInputStream is = new ReaderInputStream(adaExec.getOutput());
   83.49 -                    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
   83.50 -                    String line = null;
   83.51 +                    is = new ReaderInputStream(adaExec.getOutput());
   83.52 +                    reader = new BufferedReader(new InputStreamReader(is));
   83.53 +                    line = null;
   83.54                      try {
   83.55                          while ((line = reader.readLine()) != null) {
   83.56                              if (line.contains(GNAT_PLATFORM_NAME)) {
   83.57 @@ -245,16 +254,12 @@
   83.58                                  int endIndex2 = line.indexOf(")") < 0 ? line.length() : line.indexOf(")");
   83.59  
   83.60                                  platform = new AdaPlatform();
   83.61 -                                platform.setName(GNAT_PLATFORM_NAME + line.substring(startIndex, endIndex));
   83.62 +                                platform.setName((GNAT_PLATFORM_NAME + line.substring(startIndex, endIndex)).trim());
   83.63                                  if (endIndex < endIndex2) {
   83.64                                      platform.setInfo(line.substring(endIndex + 1, endIndex2));
   83.65                                  }
   83.66 -                                platform.setCompilerCommand(GNAT_EXECUTABLE_NAME);
   83.67 +                                platform.setGnatCompilerCommand(GNAT_EXECUTABLE_NAME);
   83.68                                  platform.setCompilerPath(tool.getPath().substring(0, tool.getPath().lastIndexOf(tool.getName())));
   83.69 -                                if (platforms.size() == 0) {
   83.70 -                                    setDefaultPlatform(platform.getName());
   83.71 -                                }
   83.72 -                                platforms.put(platform.getName(), platform);
   83.73                                  break;
   83.74                              }
   83.75                          }
   83.76 @@ -277,6 +282,64 @@
   83.77                  Exceptions.printStackTrace(ex);
   83.78              }
   83.79          }
   83.80 +
   83.81 +        FileObject jvmgnat = findTool(JVM_GNAT_EXECUTABLE_NAME, folder);
   83.82 +
   83.83 +        if (jvmgnat != null) {
   83.84 +
   83.85 +            try {
   83.86 +                tool = FileUtil.toFile(jvmgnat);
   83.87 +                adaExec = new AdaExecution();
   83.88 +                adaExec.setCommand(tool.getPath());
   83.89 +                adaExec.setDisplayName("Ada Platform Properties");
   83.90 +                adaExec.setShowControls(false);
   83.91 +                adaExec.setShowInput(false);
   83.92 +                adaExec.setShowWindow(false);
   83.93 +                adaExec.setShowProgress(false);
   83.94 +                adaExec.setShowSuspended(false);
   83.95 +                adaExec.attachOutputProcessor();
   83.96 +                adaExec.setWorkingDirectory(tool.getPath().substring(0, tool.getPath().lastIndexOf(tool.getName())));
   83.97 +                Future<Integer> result = adaExec.run();
   83.98 +                Integer value = result.get();
   83.99 +                if (value.intValue() == 0) {
  83.100 +                    is = new ReaderInputStream(adaExec.getOutput());
  83.101 +                    reader = new BufferedReader(new InputStreamReader(is));
  83.102 +                    line = null;
  83.103 +                    try {
  83.104 +                        while ((line = reader.readLine()) != null) {
  83.105 +                            if (line.contains(GNAT_PLATFORM_NAME)) {
  83.106 +                                platform.setJvmGnatCompilerCommand(JVM_GNAT_EXECUTABLE_NAME);
  83.107 +                                platform.setName(platform.getName() + "+JVM");
  83.108 +                                break;
  83.109 +                            }
  83.110 +                        }
  83.111 +                    } catch (IOException e) {
  83.112 +                        e.printStackTrace();
  83.113 +                    } finally {
  83.114 +                        try {
  83.115 +                            is.close();
  83.116 +                        } catch (IOException e) {
  83.117 +                            e.printStackTrace();
  83.118 +                        }
  83.119 +                    }
  83.120 +                } else {
  83.121 +                    throw new AdaException("Could not discover Ada properties");
  83.122 +                }
  83.123 +            } catch (AdaException ex) {
  83.124 +                Exceptions.printStackTrace(ex);
  83.125 +                throw ex;
  83.126 +            } catch (Exception ex) {
  83.127 +                Exceptions.printStackTrace(ex);
  83.128 +            }
  83.129 +        }
  83.130 +
  83.131 +        if (platform != null) {
  83.132 +            if (platforms.size() == 0) {
  83.133 +                setDefaultPlatform(platform.getName());
  83.134 +            }
  83.135 +            platforms.put(platform.getName(), platform);
  83.136 +        }
  83.137 +
  83.138          return platform;
  83.139      }
  83.140  
    84.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/GnatProject.java	Thu Jun 17 10:15:25 2010 -0400
    84.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/GnatProject.java	Sun Aug 22 23:56:21 2010 +0200
    84.3 @@ -50,6 +50,7 @@
    84.4  import java.io.OutputStreamWriter;
    84.5  import java.net.URL;
    84.6  import java.util.ArrayList;
    84.7 +import java.util.StringTokenizer;
    84.8  import org.netbeans.modules.ada.platform.compiler.gnat.commands.GnatCommand;
    84.9  import org.openide.filesystems.FileUtil;
   84.10  
   84.11 @@ -80,6 +81,15 @@
   84.12          }
   84.13      }
   84.14  
   84.15 +    public String removeSpaces(String s) {
   84.16 +        StringTokenizer st = new StringTokenizer(s, " ", false);
   84.17 +        String t = "";
   84.18 +        while (st.hasMoreElements()) {
   84.19 +            t += st.nextElement();
   84.20 +        }
   84.21 +        return t;
   84.22 +    }
   84.23 +
   84.24      private void writeGprfileImpl() {
   84.25          String resource = "/org/netbeans/modules/ada/platform/resources/GprFileTemplate.gpr"; // NOI18N
   84.26          InputStream is = null;
   84.27 @@ -91,7 +101,12 @@
   84.28              is = GnatCommand.class.getResourceAsStream(resource);
   84.29          }
   84.30  
   84.31 -        gprFilePath = gnat.getProjectPath() + '/' + "nbproject" + '/' + gnat.getProjectName() + ".gpr"; // UNIX path // NOI18N
   84.32 +        String projectName = removeSpaces(gnat.getProjectName());
   84.33 +        String mainFile = gnat.getMainFile();
   84.34 +        String execFile = gnat.getExecutableFile();
   84.35 +        ArrayList<String> sources = gnat.getSourceFolders();
   84.36 +
   84.37 +        gprFilePath = gnat.getProjectPath() + '/' + "nbproject" + '/' + projectName + ".gpr"; // UNIX path // NOI18N
   84.38          try {
   84.39              os = new FileOutputStream(gprFilePath);
   84.40          } catch (IOException ioe) {
   84.41 @@ -106,15 +121,6 @@
   84.42          BufferedReader br = new BufferedReader(new InputStreamReader(is));
   84.43          BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
   84.44  
   84.45 -        String projectName = gnat.getProjectName();
   84.46 -        String mainFile = gnat.getMainFile();
   84.47 -        String execFile = gnat.getExecutableFile();
   84.48 -        ArrayList<String> sources = gnat.getSourceFolders();
   84.49 -
   84.50 -        //if (src.equalsIgnoreCase("src")) {
   84.51 -        //    src = "../src/**";
   84.52 -        //}
   84.53 -
   84.54          try {
   84.55              while (true) {
   84.56                  String line = br.readLine();
   84.57 @@ -128,7 +134,9 @@
   84.58                      String srcDirs = new String();
   84.59                      for (int index = 0; index < sources.size(); index++) {
   84.60                          srcDirs = srcDirs + "\"" + FileUtil.toFileObject(new File(sources.get(index))).getPath() + "/**\"";
   84.61 -                        if (index < sources.size()-1) srcDirs = srcDirs + ",";
   84.62 +                        if (index < sources.size() - 1) {
   84.63 +                            srcDirs = srcDirs + ",";
   84.64 +                        }
   84.65                      }
   84.66                      line = line.replaceFirst("\"<SRC>\"", srcDirs); // NOI18N
   84.67                  }
    85.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/commands/GnatClean.java	Thu Jun 17 10:15:25 2010 -0400
    85.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/commands/GnatClean.java	Sun Aug 22 23:56:21 2010 +0200
    85.3 @@ -72,7 +72,7 @@
    85.4          try {
    85.5              AdaExecution adaExec = new AdaExecution();
    85.6              adaExec.setCommand(this.getGnatCompiler().getPlatform().getCompilerPath() + "/" + GNAT_CLEAN);
    85.7 -            adaExec.setCommandArgs(" -P" + gpr.getGprFilePath());
    85.8 +            adaExec.setCommandArgs(" -P\"" + gpr.getGprFilePath() + "\"");
    85.9              adaExec.setWorkingDirectory(this.getGnatCompiler().getProjectPath());
   85.10              adaExec.setDisplayName(displayTitle);
   85.11              adaExec.setShowControls(true);
    86.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/commands/GnatMake.java	Thu Jun 17 10:15:25 2010 -0400
    86.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/commands/GnatMake.java	Sun Aug 22 23:56:21 2010 +0200
    86.3 @@ -72,7 +72,7 @@
    86.4          try {
    86.5              AdaExecution adaExec = new AdaExecution();
    86.6              adaExec.setCommand(this.getGnatCompiler().getPlatform().getCompilerPath() + "/" + GNAT_MAKE);
    86.7 -            adaExec.setCommandArgs(" -P" + gpr.getGprFilePath());
    86.8 +            adaExec.setCommandArgs(" -P\"" + gpr.getGprFilePath() +"\"");
    86.9              adaExec.setWorkingDirectory(this.getGnatCompiler().getProjectPath());
   86.10              adaExec.setDisplayName(displayTitle);
   86.11              adaExec.setShowControls(true);
    87.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/ui/Bundle.properties	Thu Jun 17 10:15:25 2010 -0400
    87.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/ui/Bundle.properties	Sun Aug 22 23:56:21 2010 +0200
    87.3 @@ -78,10 +78,12 @@
    87.4  PlatformsCustomizer.moveUpPath.text=Move Up
    87.5  PlatformsCustomizer.addPath.text=Add...
    87.6  PlatformsCustomizer.removePath.text=Remove
    87.7 -PlatformsCustomizer.compilerCommandLabel.text=Compiler Command
    87.8 +PlatformsCustomizer.compilerCommandLabel.text=GNAT Compiler Command
    87.9  PlatformsCustomizer.platformName.text_1=
   87.10  PlatformsCustomizer.otherInfoLabel.text=Platform info
   87.11  PlatformsCustomizer.compilerCommand.text=
   87.12  PlatformsCustomizer.adaPathPanel.TabConstraints.tabTitle_1=Ada Path
   87.13  PlatformsCustomizer.platformInfoTextField.text=
   87.14  PlatformsCustomizer.autoDetectLabel.text=Detecting Ada Platforms
   87.15 +PlatformsCustomizer.jvmCompilerCommandLabel.text=JVM Compiler Command
   87.16 +PlatformsCustomizer.jvmCompilerCommand.text=
    88.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/ui/PlatformsCustomizer.form	Thu Jun 17 10:15:25 2010 -0400
    88.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/ui/PlatformsCustomizer.form	Sun Aug 22 23:56:21 2010 +0200
    88.3 @@ -28,18 +28,18 @@
    88.4            <Group type="102" alignment="0" attributes="0">
    88.5                <EmptySpace max="-2" attributes="0"/>
    88.6                <Group type="103" groupAlignment="1" attributes="0">
    88.7 -                  <Component id="makeDefaultButton" alignment="0" pref="130" max="32767" attributes="0"/>
    88.8 -                  <Component id="autoDetectButton" alignment="0" pref="130" max="32767" attributes="1"/>
    88.9 +                  <Component id="makeDefaultButton" alignment="0" pref="168" max="32767" attributes="0"/>
   88.10 +                  <Component id="autoDetectButton" alignment="0" pref="168" max="32767" attributes="1"/>
   88.11                    <Group type="102" alignment="0" attributes="0">
   88.12 -                      <Component id="newButton" max="32767" attributes="0"/>
   88.13 +                      <Component id="newButton" pref="73" max="32767" attributes="0"/>
   88.14                        <EmptySpace min="-2" max="-2" attributes="0"/>
   88.15 -                      <Component id="removeButton" max="32767" attributes="0"/>
   88.16 +                      <Component id="removeButton" pref="89" max="32767" attributes="0"/>
   88.17                    </Group>
   88.18                    <Component id="paltformsListTitleLabel" alignment="0" min="-2" max="-2" attributes="0"/>
   88.19 -                  <Component id="platformsListScrollPanel" alignment="0" pref="130" max="32767" attributes="2"/>
   88.20 +                  <Component id="platformsListScrollPanel" alignment="0" min="-2" pref="168" max="-2" attributes="2"/>
   88.21                </Group>
   88.22                <EmptySpace max="-2" attributes="0"/>
   88.23 -              <Component id="tabbedPane" pref="512" max="32767" attributes="0"/>
   88.24 +              <Component id="tabbedPane" pref="474" max="32767" attributes="0"/>
   88.25                <EmptySpace max="-2" attributes="0"/>
   88.26            </Group>
   88.27        </Group>
   88.28 @@ -52,9 +52,9 @@
   88.29                    <Component id="tabbedPane" alignment="0" pref="321" max="32767" attributes="0"/>
   88.30                    <Group type="102" alignment="0" attributes="0">
   88.31                        <Component id="paltformsListTitleLabel" min="-2" max="-2" attributes="0"/>
   88.32 -                      <EmptySpace min="-2" max="-2" attributes="0"/>
   88.33 +                      <EmptySpace max="-2" attributes="0"/>
   88.34                        <Component id="platformsListScrollPanel" pref="214" max="32767" attributes="0"/>
   88.35 -                      <EmptySpace min="-2" max="-2" attributes="0"/>
   88.36 +                      <EmptySpace max="-2" attributes="0"/>
   88.37                        <Group type="103" groupAlignment="3" attributes="0">
   88.38                            <Component id="removeButton" alignment="3" min="-2" max="-2" attributes="0"/>
   88.39                            <Component id="newButton" alignment="3" min="-2" max="-2" attributes="0"/>
   88.40 @@ -148,44 +148,38 @@
   88.41            <Layout>
   88.42              <DimensionLayout dim="0">
   88.43                <Group type="103" groupAlignment="0" attributes="0">
   88.44 -                  <Group type="102" alignment="0" attributes="0">
   88.45 +                  <Group type="102" attributes="0">
   88.46                        <Group type="103" groupAlignment="0" attributes="0">
   88.47 -                          <Group type="103" groupAlignment="0" attributes="0">
   88.48 -                              <Group type="102" alignment="0" attributes="0">
   88.49 -                                  <EmptySpace max="-2" attributes="0"/>
   88.50 -                                  <Component id="compilerCommandLabel" min="-2" max="-2" attributes="0"/>
   88.51 +                          <Group type="102" alignment="0" attributes="0">
   88.52 +                              <EmptySpace min="-2" pref="10" max="-2" attributes="0"/>
   88.53 +                              <Group type="103" groupAlignment="1" attributes="0">
   88.54 +                                  <Component id="otherInfoLabel" min="-2" pref="91" max="-2" attributes="0"/>
   88.55 +                                  <Group type="103" alignment="1" groupAlignment="0" attributes="0">
   88.56 +                                      <Component id="compilerCommandLabel" alignment="0" min="-2" max="-2" attributes="0"/>
   88.57 +                                      <Component id="platfromNameLabel" alignment="1" min="-2" pref="91" max="-2" attributes="0"/>
   88.58 +                                  </Group>
   88.59                                </Group>
   88.60 -                              <Group type="102" alignment="1" attributes="0">
   88.61 -                                  <EmptySpace max="-2" attributes="0"/>
   88.62 -                                  <Component id="platfromNameLabel" min="-2" pref="91" max="-2" attributes="0"/>
   88.63 +                              <EmptySpace max="-2" attributes="0"/>
   88.64 +                              <Group type="103" groupAlignment="0" attributes="0">
   88.65 +                                  <Component id="compilerCommand" pref="324" max="32767" attributes="0"/>
   88.66 +                                  <Component id="platformName" alignment="0" pref="324" max="32767" attributes="0"/>
   88.67 +                                  <Component id="platformInfoTextField" alignment="1" pref="324" max="32767" attributes="0"/>
   88.68                                </Group>
   88.69                            </Group>
   88.70 -                          <Group type="102" attributes="0">
   88.71 +                          <Group type="102" alignment="1" attributes="0">
   88.72 +                              <EmptySpace pref="192" max="32767" attributes="0"/>
   88.73 +                              <Component id="autoDetectLabel" min="-2" max="-2" attributes="0"/>
   88.74 +                              <EmptySpace min="5" pref="5" max="5" attributes="0"/>
   88.75 +                              <Component id="autoDetectProgress" min="-2" max="-2" attributes="0"/>
   88.76 +                          </Group>
   88.77 +                          <Group type="102" alignment="1" attributes="0">
   88.78 +                              <EmptySpace min="-2" pref="19" max="-2" attributes="0"/>
   88.79 +                              <Component id="jvmCompilerCommandLabel" min="-2" max="-2" attributes="0"/>
   88.80                                <EmptySpace max="-2" attributes="0"/>
   88.81 -                              <Component id="otherInfoLabel" min="-2" pref="91" max="-2" attributes="0"/>
   88.82 +                              <Component id="jvmCompilerCommand" pref="323" max="32767" attributes="0"/>
   88.83                            </Group>
   88.84                        </Group>
   88.85                        <EmptySpace max="-2" attributes="0"/>
   88.86 -                      <Group type="103" groupAlignment="0" attributes="0">
   88.87 -                          <Group type="102" attributes="0">
   88.88 -                              <Component id="compilerCommand" pref="392" max="32767" attributes="0"/>
   88.89 -                              <EmptySpace max="-2" attributes="0"/>
   88.90 -                          </Group>
   88.91 -                          <Group type="102" alignment="1" attributes="0">
   88.92 -                              <Group type="103" groupAlignment="1" attributes="0">
   88.93 -                                  <Component id="platformName" alignment="0" pref="392" max="32767" attributes="0"/>
   88.94 -                                  <Component id="platformInfoTextField" alignment="1" pref="392" max="32767" attributes="0"/>
   88.95 -                              </Group>
   88.96 -                              <EmptySpace max="-2" attributes="0"/>
   88.97 -                          </Group>
   88.98 -                      </Group>
   88.99 -                  </Group>
  88.100 -                  <Group type="102" alignment="1" attributes="0">
  88.101 -                      <EmptySpace pref="230" max="32767" attributes="0"/>
  88.102 -                      <Component id="autoDetectLabel" min="-2" max="-2" attributes="0"/>
  88.103 -                      <EmptySpace min="5" pref="5" max="5" attributes="0"/>
  88.104 -                      <Component id="autoDetectProgress" min="-2" max="-2" attributes="0"/>
  88.105 -                      <EmptySpace max="-2" attributes="0"/>
  88.106                    </Group>
  88.107                </Group>
  88.108              </DimensionLayout>
  88.109 @@ -207,7 +201,12 @@
  88.110                            <Component id="compilerCommandLabel" alignment="3" min="-2" max="-2" attributes="0"/>
  88.111                            <Component id="compilerCommand" alignment="3" min="-2" max="-2" attributes="0"/>
  88.112                        </Group>
  88.113 -                      <EmptySpace pref="175" max="32767" attributes="0"/>
  88.114 +                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
  88.115 +                      <Group type="103" groupAlignment="3" attributes="0">
  88.116 +                          <Component id="jvmCompilerCommand" alignment="3" min="-2" max="-2" attributes="0"/>
  88.117 +                          <Component id="jvmCompilerCommandLabel" alignment="3" min="-2" max="-2" attributes="0"/>
  88.118 +                      </Group>
  88.119 +                      <EmptySpace pref="144" max="32767" attributes="0"/>
  88.120                        <Group type="103" groupAlignment="0" attributes="0">
  88.121                            <Component id="autoDetectLabel" min="-2" max="-2" attributes="0"/>
  88.122                            <Component id="autoDetectProgress" min="-2" max="-2" attributes="0"/>
  88.123 @@ -277,6 +276,22 @@
  88.124                  <Property name="indeterminate" type="boolean" value="true"/>
  88.125                </Properties>
  88.126              </Component>
  88.127 +            <Component class="javax.swing.JTextField" name="jvmCompilerCommand">
  88.128 +              <Properties>
  88.129 +                <Property name="editable" type="boolean" value="false"/>
  88.130 +                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
  88.131 +                  <ResourceString bundle="org/netbeans/modules/ada/platform/ui/Bundle.properties" key="PlatformsCustomizer.jvmCompilerCommand.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
  88.132 +                </Property>
  88.133 +              </Properties>
  88.134 +            </Component>
  88.135 +            <Component class="javax.swing.JLabel" name="jvmCompilerCommandLabel">
  88.136 +              <Properties>
  88.137 +                <Property name="horizontalAlignment" type="int" value="4"/>
  88.138 +                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
  88.139 +                  <ResourceString bundle="org/netbeans/modules/ada/platform/ui/Bundle.properties" key="PlatformsCustomizer.jvmCompilerCommandLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
  88.140 +                </Property>
  88.141 +              </Properties>
  88.142 +            </Component>
  88.143            </SubComponents>
  88.144          </Container>
  88.145          <Container class="javax.swing.JPanel" name="adaPathPanel">
  88.146 @@ -297,7 +312,7 @@
  88.147                        <EmptySpace max="-2" attributes="0"/>
  88.148                        <Group type="103" groupAlignment="0" attributes="0">
  88.149                            <Group type="102" attributes="0">
  88.150 -                              <Component id="jScrollPane2" pref="392" max="32767" attributes="0"/>
  88.151 +                              <Component id="jScrollPane2" pref="354" max="32767" attributes="0"/>
  88.152                                <EmptySpace max="-2" attributes="0"/>
  88.153                                <Group type="103" groupAlignment="0" attributes="0">
  88.154                                    <Component id="moveDownPath" max="32767" attributes="0"/>
    89.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/ui/PlatformsCustomizer.java	Thu Jun 17 10:15:25 2010 -0400
    89.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/ui/PlatformsCustomizer.java	Sun Aug 22 23:56:21 2010 +0200
    89.3 @@ -98,6 +98,8 @@
    89.4          platformInfoTextField = new javax.swing.JTextField();
    89.5          autoDetectLabel = new javax.swing.JLabel();
    89.6          autoDetectProgress = new javax.swing.JProgressBar();
    89.7 +        jvmCompilerCommand = new javax.swing.JTextField();
    89.8 +        jvmCompilerCommandLabel = new javax.swing.JLabel();
    89.9          adaPathPanel = new javax.swing.JPanel();
   89.10          jLabel5 = new javax.swing.JLabel();
   89.11          jScrollPane2 = new javax.swing.JScrollPane();
   89.12 @@ -164,37 +166,44 @@
   89.13  
   89.14          autoDetectProgress.setIndeterminate(true);
   89.15  
   89.16 +        jvmCompilerCommand.setEditable(false);
   89.17 +        jvmCompilerCommand.setText(org.openide.util.NbBundle.getMessage(PlatformsCustomizer.class, "PlatformsCustomizer.jvmCompilerCommand.text")); // NOI18N
   89.18 +
   89.19 +        jvmCompilerCommandLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
   89.20 +        jvmCompilerCommandLabel.setText(org.openide.util.NbBundle.getMessage(PlatformsCustomizer.class, "PlatformsCustomizer.jvmCompilerCommandLabel.text")); // NOI18N
   89.21 +
   89.22          org.jdesktop.layout.GroupLayout mainPanelLayout = new org.jdesktop.layout.GroupLayout(mainPanel);
   89.23          mainPanel.setLayout(mainPanelLayout);
   89.24          mainPanelLayout.setHorizontalGroup(
   89.25              mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
   89.26              .add(mainPanelLayout.createSequentialGroup()
   89.27                  .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
   89.28 -                    .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
   89.29 -                        .add(mainPanelLayout.createSequentialGroup()
   89.30 -                            .addContainerGap()
   89.31 -                            .add(compilerCommandLabel))
   89.32 -                        .add(org.jdesktop.layout.GroupLayout.TRAILING, mainPanelLayout.createSequentialGroup()
   89.33 -                            .addContainerGap()
   89.34 -                            .add(platfromNameLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 91, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
   89.35                      .add(mainPanelLayout.createSequentialGroup()
   89.36 -                        .addContainerGap()
   89.37 -                        .add(otherInfoLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 91, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
   89.38 -                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
   89.39 -                .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
   89.40 -                    .add(mainPanelLayout.createSequentialGroup()
   89.41 -                        .add(compilerCommand, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 392, Short.MAX_VALUE)
   89.42 -                        .addContainerGap())
   89.43 +                        .add(10, 10, 10)
   89.44 +                        .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
   89.45 +                            .add(otherInfoLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 91, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
   89.46 +                            .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
   89.47 +                                .add(mainPanelLayout.createSequentialGroup()
   89.48 +                                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
   89.49 +                                    .add(compilerCommandLabel))
   89.50 +                                .add(org.jdesktop.layout.GroupLayout.TRAILING, mainPanelLayout.createSequentialGroup()
   89.51 +                                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
   89.52 +                                    .add(platfromNameLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 91, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
   89.53 +                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
   89.54 +                        .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
   89.55 +                            .add(compilerCommand, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 324, Short.MAX_VALUE)
   89.56 +                            .add(platformName, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 324, Short.MAX_VALUE)
   89.57 +                            .add(org.jdesktop.layout.GroupLayout.TRAILING, platformInfoTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 324, Short.MAX_VALUE)))
   89.58                      .add(org.jdesktop.layout.GroupLayout.TRAILING, mainPanelLayout.createSequentialGroup()
   89.59 -                        .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
   89.60 -                            .add(org.jdesktop.layout.GroupLayout.LEADING, platformName, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 392, Short.MAX_VALUE)
   89.61 -                            .add(platformInfoTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 392, Short.MAX_VALUE))
   89.62 -                        .addContainerGap())))
   89.63 -            .add(org.jdesktop.layout.GroupLayout.TRAILING, mainPanelLayout.createSequentialGroup()
   89.64 -                .addContainerGap(230, Short.MAX_VALUE)
   89.65 -                .add(autoDetectLabel)
   89.66 -                .add(5, 5, 5)
   89.67 -                .add(autoDetectProgress, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
   89.68 +                        .addContainerGap(192, Short.MAX_VALUE)
   89.69 +                        .add(autoDetectLabel)
   89.70 +                        .add(5, 5, 5)
   89.71 +                        .add(autoDetectProgress, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
   89.72 +                    .add(org.jdesktop.layout.GroupLayout.TRAILING, mainPanelLayout.createSequentialGroup()
   89.73 +                        .add(19, 19, 19)
   89.74 +                        .add(jvmCompilerCommandLabel)
   89.75 +                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
   89.76 +                        .add(jvmCompilerCommand, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 323, Short.MAX_VALUE)))
   89.77                  .addContainerGap())
   89.78          );
   89.79          mainPanelLayout.setVerticalGroup(
   89.80 @@ -212,7 +221,11 @@
   89.81                  .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
   89.82                      .add(compilerCommandLabel)
   89.83                      .add(compilerCommand, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
   89.84 -                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 175, Short.MAX_VALUE)
   89.85 +                .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
   89.86 +                .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
   89.87 +                    .add(jvmCompilerCommand, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
   89.88 +                    .add(jvmCompilerCommandLabel))
   89.89 +                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 144, Short.MAX_VALUE)
   89.90                  .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
   89.91                      .add(autoDetectLabel)
   89.92                      .add(autoDetectProgress, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
   89.93 @@ -263,7 +276,7 @@
   89.94                  .addContainerGap()
   89.95                  .add(adaPathPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
   89.96                      .add(adaPathPanelLayout.createSequentialGroup()
   89.97 -                        .add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 392, Short.MAX_VALUE)
   89.98 +                        .add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 354, Short.MAX_VALUE)
   89.99                          .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
  89.100                          .add(adaPathPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  89.101                              .add(moveDownPath, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  89.102 @@ -307,16 +320,16 @@
  89.103              .add(layout.createSequentialGroup()
  89.104                  .addContainerGap()
  89.105                  .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
  89.106 -                    .add(org.jdesktop.layout.GroupLayout.LEADING, makeDefaultButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE)
  89.107 -                    .add(org.jdesktop.layout.GroupLayout.LEADING, autoDetectButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE)
  89.108 +                    .add(org.jdesktop.layout.GroupLayout.LEADING, makeDefaultButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 168, Short.MAX_VALUE)
  89.109 +                    .add(org.jdesktop.layout.GroupLayout.LEADING, autoDetectButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 168, Short.MAX_VALUE)
  89.110                      .add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup()
  89.111 -                        .add(newButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  89.112 +                        .add(newButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 73, Short.MAX_VALUE)
  89.113                          .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
  89.114 -                        .add(removeButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  89.115 +                        .add(removeButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 89, Short.MAX_VALUE))
  89.116                      .add(org.jdesktop.layout.GroupLayout.LEADING, paltformsListTitleLabel)
  89.117 -                    .add(org.jdesktop.layout.GroupLayout.LEADING, platformsListScrollPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE))
  89.118 +                    .add(org.jdesktop.layout.GroupLayout.LEADING, platformsListScrollPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 168, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
  89.119                  .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
  89.120 -                .add(tabbedPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 512, Short.MAX_VALUE)
  89.121 +                .add(tabbedPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 474, Short.MAX_VALUE)
  89.122                  .addContainerGap())
  89.123          );
  89.124          layout.setVerticalGroup(
  89.125 @@ -350,8 +363,9 @@
  89.126      private void loadPlatform() {
  89.127          platformName.setText(adaPlatform.getName());
  89.128          platformInfoTextField.setText(adaPlatform.getInfo());
  89.129 -        compilerCommand.setText(adaPlatform.getInterpreterCommand());
  89.130 -    // TODO: add in main tab the commands list for ada platform
  89.131 +        compilerCommand.setText(adaPlatform.getGnatCompilerCommand());
  89.132 +        jvmCompilerCommand.setText(adaPlatform.getJvmGnatCompilerCommand());
  89.133 +        // TODO: add in main tab the commands list for ada platform
  89.134  //        adaPathModel.setModel(adaPlatform.getCompilerPath());
  89.135      }
  89.136  
  89.137 @@ -410,9 +424,11 @@
  89.138                  if (fo != null) {
  89.139                      try {
  89.140                          adaPlatform = adaPlatformManager.findPlatformProperties(fo);
  89.141 -                        loadPlatform();
  89.142 -                        platformListModel.refresh();
  89.143 -                        platformName.setEditable(true);
  89.144 +                        if (adaPlatform != null) {
  89.145 +                            loadPlatform();
  89.146 +                            platformListModel.refresh();
  89.147 +                            platformName.setEditable(true);
  89.148 +                        }
  89.149                      } catch (AdaException ex) {
  89.150                          Exceptions.printStackTrace(ex);
  89.151                      }
  89.152 @@ -434,14 +450,15 @@
  89.153      }//GEN-LAST:event_PlatformListValueChanged
  89.154  
  89.155      private void removeButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_removeButtonActionPerformed
  89.156 -        int selectedIndex = PlatformList.getSelectedIndex();
  89.157 -        if (selectedIndex != -1) {
  89.158 -            adaPlatformManager.removePlatform(
  89.159 -                    (String) platformListModel.getElementAt(
  89.160 -                    PlatformList.getSelectedIndex()));
  89.161 -            platformListModel.refresh();
  89.162 -            adaPlatform = null;
  89.163 -            clearPlatform();
  89.164 +        if (platformListModel.getSize() > 0) {
  89.165 +            int selectedIndex = PlatformList.getSelectedIndex();
  89.166 +            if (selectedIndex != -1) {
  89.167 +                adaPlatformManager.removePlatform(
  89.168 +                        (String) platformListModel.getElementAt(selectedIndex));
  89.169 +                platformListModel.refresh();
  89.170 +                adaPlatform = null;
  89.171 +                clearPlatform();
  89.172 +            }
  89.173          }
  89.174  }//GEN-LAST:event_removeButtonActionPerformed
  89.175  
  89.176 @@ -479,9 +496,11 @@
  89.177      private void autoDetectButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_autoDetectButtonActionPerformed
  89.178          setAutoDetecting(true);
  89.179          RequestProcessor.getDefault().post(new Runnable() {
  89.180 +
  89.181              public void run() {
  89.182                  adaPlatformManager.autoDetect();
  89.183                  EventQueue.invokeLater(new Runnable() {
  89.184 +
  89.185                      public void run() {
  89.186                          platformListModel.refresh();
  89.187                          setAutoDetecting(false);
  89.188 @@ -490,7 +509,6 @@
  89.189              }
  89.190          });
  89.191      }//GEN-LAST:event_autoDetectButtonActionPerformed
  89.192 -
  89.193      // Variables declaration - do not modify//GEN-BEGIN:variables
  89.194      private javax.swing.JList PlatformList;
  89.195      private javax.swing.JList adaPath;
  89.196 @@ -504,6 +522,8 @@
  89.197      private javax.swing.JLabel jLabel5;
  89.198      private javax.swing.JLabel jLabel6;
  89.199      private javax.swing.JScrollPane jScrollPane2;
  89.200 +    private javax.swing.JTextField jvmCompilerCommand;
  89.201 +    private javax.swing.JLabel jvmCompilerCommandLabel;
  89.202      private javax.swing.JPanel mainPanel;
  89.203      private javax.swing.JButton makeDefaultButton;
  89.204      private javax.swing.JButton moveDownPath;
  89.205 @@ -556,7 +576,7 @@
  89.206          }
  89.207  
  89.208          adaPlatform.setInfo(platformInfoTextField.getText());
  89.209 -        adaPlatform.setCompilerCommand(compilerCommand.getText());
  89.210 +        adaPlatform.setGnatCompilerCommand(compilerCommand.getText());
  89.211          // TODO: add in main tab the commands list for ada platform
  89.212  //        adaPlatform.setCompilerPath(adaPathModel.getModel());
  89.213          adaPlatformManager.addPlatform(adaPlatform);
  89.214 @@ -566,5 +586,4 @@
  89.215          String defaultPlatform = adaPlatformManager.getDefaultPlatform();
  89.216          return defaultPlatform != null && !defaultPlatform.equals(platform);
  89.217      }
  89.218 -
  89.219  }
    90.1 --- a/ada.project/history.txt	Thu Jun 17 10:15:25 2010 -0400
    90.2 +++ b/ada.project/history.txt	Sun Aug 22 23:56:21 2010 +0200
    90.3 @@ -1,5 +1,13 @@
    90.4 -0.1.7: dd-mm-2009
    90.5 -- TBD
    90.6 +0.1.9: 12-08-2010
    90.7 +- Add JVM compiler support.
    90.8 +
    90.9 +0.1.8: 13-10-2009
   90.10 +- Add the signing of the nbm files.
   90.11 +- Fix the issue http://sourceforge.net/tracker/?func=detail&aid=2872967&group_id=248853&atid=1126624.
   90.12 +
   90.13 +0.1.7: 01-10-2009
   90.14 +- Fix https://sourceforge.net/tracker/?func=detail&aid=2863317&group_id=248853&atid=1126624.
   90.15 +- Ada files naming management (options and project properties).
   90.16  
   90.17  0.1.6: 13-11-2009
   90.18  - Minor changes.
    91.1 --- a/ada.project/manifest.mf	Thu Jun 17 10:15:25 2010 -0400
    91.2 +++ b/ada.project/manifest.mf	Sun Aug 22 23:56:21 2010 +0200
    91.3 @@ -3,5 +3,5 @@
    91.4  OpenIDE-Module: org.netbeans.modules.ada.project
    91.5  OpenIDE-Module-Layer: org/netbeans/modules/ada/project/resources/layer.xml
    91.6  OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ada/project/Bundle.properties
    91.7 -OpenIDE-Module-Specification-Version: 0.1.7
    91.8 +OpenIDE-Module-Specification-Version: 0.1.9
    91.9  
    92.1 --- a/ada.project/nbproject/project.properties	Thu Jun 17 10:15:25 2010 -0400
    92.2 +++ b/ada.project/nbproject/project.properties	Sun Aug 22 23:56:21 2010 +0200
    92.3 @@ -2,3 +2,5 @@
    92.4  javac.compilerargs=-Xlint -Xlint:-serial
    92.5  nbm.homepage=http://wiki.netbeans.org/Ada
    92.6  nbm.module.author=Andrea Lucarelli
    92.7 +keystore=nbproject/private/keystore
    92.8 +nbm_alias=nbada
    93.1 --- a/ada.project/nbproject/project.xml	Thu Jun 17 10:15:25 2010 -0400
    93.2 +++ b/ada.project/nbproject/project.xml	Sun Aug 22 23:56:21 2010 +0200
    93.3 @@ -11,7 +11,7 @@
    93.4                      <compile-dependency/>
    93.5                      <run-dependency>
    93.6                          <release-version>1</release-version>
    93.7 -                        <specification-version>1.6</specification-version>
    93.8 +                        <specification-version>1.13.1</specification-version>
    93.9                      </run-dependency>
   93.10                  </dependency>
   93.11                  <dependency>
   93.12 @@ -20,7 +20,7 @@
   93.13                      <compile-dependency/>
   93.14                      <run-dependency>
   93.15                          <release-version>1</release-version>
   93.16 -                        <specification-version>1.19.1</specification-version>
   93.17 +                        <specification-version>1.25.1</specification-version>
   93.18                      </run-dependency>
   93.19                  </dependency>
   93.20                  <dependency>
   93.21 @@ -29,7 +29,7 @@
   93.22                      <compile-dependency/>
   93.23                      <run-dependency>
   93.24                          <release-version>1</release-version>
   93.25 -                        <specification-version>1.12</specification-version>
   93.26 +                        <specification-version>1.20.1</specification-version>
   93.27                      </run-dependency>
   93.28                  </dependency>
   93.29                  <dependency>
   93.30 @@ -37,16 +37,7 @@
   93.31                      <build-prerequisite/>
   93.32                      <compile-dependency/>
   93.33                      <run-dependency>
   93.34 -                        <specification-version>0.1.5</specification-version>
   93.35 -                    </run-dependency>
   93.36 -                </dependency>
   93.37 -                <dependency>
   93.38 -                    <code-name-base>org.netbeans.modules.options.api</code-name-base>
   93.39 -                    <build-prerequisite/>
   93.40 -                    <compile-dependency/>
   93.41 -                    <run-dependency>
   93.42 -                        <release-version>1</release-version>
   93.43 -                        <specification-version>1.10</specification-version>
   93.44 +                        <specification-version>0.1.8</specification-version>
   93.45                      </run-dependency>
   93.46                  </dependency>
   93.47                  <dependency>
   93.48 @@ -55,7 +46,7 @@
   93.49                      <compile-dependency/>
   93.50                      <run-dependency>
   93.51                          <release-version>1</release-version>
   93.52 -                        <specification-version>1.25</specification-version>
   93.53 +                        <specification-version>1.37.1</specification-version>
   93.54                      </run-dependency>
   93.55                  </dependency>
   93.56                  <dependency>
   93.57 @@ -64,7 +55,7 @@
   93.58                      <compile-dependency/>
   93.59                      <run-dependency>
   93.60                          <release-version>1</release-version>
   93.61 -                        <specification-version>1.19</specification-version>
   93.62 +                        <specification-version>1.31.1</specification-version>
   93.63                      </run-dependency>
   93.64                  </dependency>
   93.65                  <dependency>
   93.66 @@ -73,7 +64,7 @@
   93.67                      <compile-dependency/>
   93.68                      <run-dependency>
   93.69                          <release-version>1</release-version>
   93.70 -                        <specification-version>1.31</specification-version>
   93.71 +                        <specification-version>1.47.1</specification-version>
   93.72                      </run-dependency>
   93.73                  </dependency>
   93.74                  <dependency>
   93.75 @@ -82,7 +73,7 @@
   93.76                      <compile-dependency/>
   93.77                      <run-dependency>
   93.78                          <release-version>1</release-version>
   93.79 -                        <specification-version>1.13</specification-version>
   93.80 +                        <specification-version>1.19.1</specification-version>
   93.81                      </run-dependency>
   93.82                  </dependency>
   93.83                  <dependency>
   93.84 @@ -90,7 +81,7 @@
   93.85                      <build-prerequisite/>
   93.86                      <compile-dependency/>
   93.87                      <run-dependency>
   93.88 -                        <specification-version>6.8</specification-version>
   93.89 +                        <specification-version>6.16.1</specification-version>
   93.90                      </run-dependency>
   93.91                  </dependency>
   93.92                  <dependency>
   93.93 @@ -98,7 +89,7 @@
   93.94                      <build-prerequisite/>
   93.95                      <compile-dependency/>
   93.96                      <run-dependency>
   93.97 -                        <specification-version>7.3</specification-version>
   93.98 +                        <specification-version>7.23.1</specification-version>
   93.99                      </run-dependency>
  93.100                  </dependency>
  93.101                  <dependency>
  93.102 @@ -106,7 +97,7 @@
  93.103                      <build-prerequisite/>
  93.104                      <compile-dependency/>
  93.105                      <run-dependency>
  93.106 -                        <specification-version>7.8</specification-version>
  93.107 +                        <specification-version>7.15.1</specification-version>
  93.108                      </run-dependency>
  93.109                  </dependency>
  93.110                  <dependency>
  93.111 @@ -114,7 +105,7 @@
  93.112                      <build-prerequisite/>
  93.113                      <compile-dependency/>
  93.114                      <run-dependency>
  93.115 -                        <specification-version>7.19</specification-version>
  93.116 +                        <specification-version>7.38.1</specification-version>
  93.117                      </run-dependency>
  93.118                  </dependency>
  93.119                  <dependency>
  93.120 @@ -122,7 +113,7 @@
  93.121                      <build-prerequisite/>
  93.122                      <compile-dependency/>
  93.123                      <run-dependency>
  93.124 -                        <specification-version>7.2</specification-version>
  93.125 +                        <specification-version>7.16.1</specification-version>
  93.126                      </run-dependency>
  93.127                  </dependency>
  93.128                  <dependency>
  93.129 @@ -130,7 +121,7 @@
  93.130                      <build-prerequisite/>
  93.131                      <compile-dependency/>
  93.132                      <run-dependency>
  93.133 -                        <specification-version>7.7</specification-version>
  93.134 +                        <specification-version>7.16.1</specification-version>
  93.135                      </run-dependency>
  93.136                  </dependency>
  93.137                  <dependency>
  93.138 @@ -138,7 +129,15 @@
  93.139                      <build-prerequisite/>
  93.140                      <compile-dependency/>
  93.141                      <run-dependency>
  93.142 -                        <specification-version>7.18.1</specification-version>
  93.143 +                        <specification-version>8.6.1</specification-version>
  93.144 +                    </run-dependency>
  93.145 +                </dependency>
  93.146 +                <dependency>
  93.147 +                    <code-name-base>org.openide.util.lookup</code-name-base>
  93.148 +                    <build-prerequisite/>
  93.149 +                    <compile-dependency/>
  93.150 +                    <run-dependency>
  93.151 +                        <specification-version>8.3.1</specification-version>
  93.152                      </run-dependency>
  93.153                  </dependency>
  93.154                  <dependency>
  93.155 @@ -146,7 +145,7 @@
  93.156                      <build-prerequisite/>
  93.157                      <compile-dependency/>
  93.158                      <run-dependency>
  93.159 -                        <specification-version>6.24</specification-version>
  93.160 +                        <specification-version>6.33.1</specification-version>
  93.161                      </run-dependency>
  93.162                  </dependency>
  93.163              </module-dependencies>
  93.164 @@ -155,6 +154,7 @@
  93.165                  <friend>org.netbeans.modules.ada.options</friend>
  93.166                  <package>org.netbeans.modules.ada.project.api</package>
  93.167                  <package>org.netbeans.modules.ada.project.options</package>
  93.168 +                <package>org.netbeans.modules.ada.project.options.ui</package>
  93.169                  <package>org.netbeans.modules.ada.project.ui.properties</package>
  93.170              </friend-packages>
  93.171          </data>
    94.1 --- a/ada.project/src/org/netbeans/modules/ada/project/AdaLogicalViewProvider.java	Thu Jun 17 10:15:25 2010 -0400
    94.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/AdaLogicalViewProvider.java	Sun Aug 22 23:56:21 2010 +0200
    94.3 @@ -46,7 +46,6 @@
    94.4  import org.netbeans.api.project.FileOwnerQuery;
    94.5  import org.netbeans.api.project.Project;
    94.6  import org.netbeans.api.project.ProjectUtils;
    94.7 -import org.netbeans.spi.project.ActionProvider;
    94.8  import org.netbeans.spi.project.ui.LogicalViewProvider;
    94.9  import org.netbeans.spi.project.ui.support.CommonProjectActions;
   94.10  import org.netbeans.spi.project.ui.support.DefaultProjectOperations;
    95.1 --- a/ada.project/src/org/netbeans/modules/ada/project/AdaProject.java	Thu Jun 17 10:15:25 2010 -0400
    95.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/AdaProject.java	Sun Aug 22 23:56:21 2010 +0200
    95.3 @@ -343,9 +343,9 @@
    95.4  
    95.5          // List of primarily supported templates
    95.6          private static final String[] PRIVILEGED_NAMES = new String[]{
    95.7 -            "Templates/Ada/NewAdaMain", //NOI18N
    95.8 -            "Templates/Ada/NewAdaPackageSpec", // NOI18N
    95.9 -            "Templates/Ada/NewAdaPackageBody", // NOI18N
   95.10 +            "Templates/Ada/NewMain", //NOI18N
   95.11 +            "Templates/Ada/NewPackageSpec", // NOI18N
   95.12 +            "Templates/Ada/NewPackageBody", // NOI18N
   95.13              "Templates/Other/Folder"
   95.14          };
   95.15  
    96.1 --- a/ada.project/src/org/netbeans/modules/ada/project/AdaSources.java	Thu Jun 17 10:15:25 2010 -0400
    96.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/AdaSources.java	Sun Aug 22 23:56:21 2010 +0200
    96.3 @@ -136,8 +136,12 @@
    96.4              String prop = propNames[i];
    96.5              String displayName = roots.getRootDisplayName(rootNames[i], prop);
    96.6              String loc = "${" + prop + "}"; // NOI18N
    96.7 -            sourcesHelper.addPrincipalSourceRoot(loc, displayName, null, null); // NOI18N
    96.8 -            sourcesHelper.addTypedSourceRoot(loc, SOURCES_TYPE_ADA, displayName, null, null);
    96.9 +//            sourcesHelper.addPrincipalSourceRoot(loc, displayName, null, null); // NOI18N
   96.10 +//            sourcesHelper.addTypedSourceRoot(loc, SOURCES_TYPE_ADA, displayName, null, null);
   96.11 +            sourcesHelper.sourceRoot(loc).displayName(displayName)
   96.12 +                    .add() // principal root
   96.13 +                    .type(SOURCES_TYPE_ADA).add();    // typed root
   96.14 +
   96.15          }
   96.16      }
   96.17  
    97.1 --- a/ada.project/src/org/netbeans/modules/ada/project/options/AdaOptions.java	Thu Jun 17 10:15:25 2010 -0400
    97.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/options/AdaOptions.java	Sun Aug 22 23:56:21 2010 +0200
    97.3 @@ -57,8 +57,8 @@
    97.4      public static final String DEFAULT_PKG_SPEC_PREFIX = "<package name>"; // NOI18N
    97.5      public static final String DEFAULT_PKG_BODY_PREFIX = "<package name>"; // NOI18N
    97.6      public static final String DEFAULT_SEPARATE_PREFIX = "<package name>"; // NOI18N
    97.7 -    public static final String DEFAULT_PKG_SPEC_POSTFIX = "<none>"; // NOI18N
    97.8 -    public static final String DEFAULT_PKG_BODY_POSTFIX = "<none>"; // NOI18N
    97.9 +    public static final String DEFAULT_PKG_SPEC_POSTFIX = ""; // NOI18N
   97.10 +    public static final String DEFAULT_PKG_BODY_POSTFIX = ""; // NOI18N
   97.11      public static final String DEFAULT_SEPARATE_POSTFIX = "<procdure name>"; // NOI18N
   97.12      public static final String DEFAULT_PKG_SPEC_EXT = "ads"; // NOI18N
   97.13      public static final String DEFAULT_PKG_BODY_EXT = "adb"; // NOI18N
    98.1 --- a/ada.project/src/org/netbeans/modules/ada/project/resources/Bundle.properties	Thu Jun 17 10:15:25 2010 -0400
    98.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/resources/Bundle.properties	Sun Aug 22 23:56:21 2010 +0200
    98.3 @@ -35,9 +35,9 @@
    98.4  #
    98.5  # Portions Copyrighted 2008 Sun Microsystems, Inc.
    98.6  
    98.7 -Templates/Ada/NewAdaMain=Ada Application Main
    98.8 -Templates/Ada/NewAdaPackageSpec=Ada Specification Package
    98.9 -Templates/Ada/NewAdaPackageBody=Ada Body Package
   98.10 +Templates/Ada/NewMain=Ada Application Main
   98.11 +Templates/Ada/NewPackageSpec=Ada Specification Package
   98.12 +Templates/Ada/NewPackageBody=Ada Body Package
   98.13  
   98.14  Templates/Project/Ada/AdaProject.xml=Ada Application
   98.15  Templates/Project/Ada/ExistingAdaProject.xml=Ada Application with Existing Sources
    99.1 --- a/ada.project/src/org/netbeans/modules/ada/project/resources/layer.xml	Thu Jun 17 10:15:25 2010 -0400
    99.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/resources/layer.xml	Sun Aug 22 23:56:21 2010 +0200
    99.3 @@ -97,30 +97,30 @@
    99.4          </folder>
    99.5          <folder name="Ada">
    99.6              <attr name="position" intvalue="40"/>
    99.7 -            <file name="NewAdaMain" url="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaMain">
    99.8 +            <file name="NewMain" url="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaMain">
    99.9                  <attr name="template" boolvalue="true"/>
   99.10                  <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.ada.project.resources.Bundle"/>
   99.11 -                <attr name="SystemFileSystem.icon" urlvalue="nbresloc:org/netbeans/modules/ada/project/ui/resources/ada-body-16.png"/>
   99.12 +                <attr name="SystemFileSystem.icon" urlvalue="nbresloc:org/netbeans/modules/ada/project/ui/resources/adb-16.png"/>
   99.13                  <attr name="javax.script.ScriptEngine" stringvalue="freemarker"/>
   99.14                  <attr name="instantiatingIterator" newvalue="org.netbeans.modules.ada.project.ui.wizards.NewFileWizardIterator"/>
   99.15                  <attr name="templateWizardURL" urlvalue="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaMainFileDescription.html"/>
   99.16                  <attr name="templateCategory" stringvalue="Ada"/>
   99.17                  <attr name="position" intvalue="100"/>
   99.18              </file>
   99.19 -            <file name="NewAdaPackageSpec" url="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaSpec">
   99.20 +            <file name="NewPackageSpec" url="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaSpec">
   99.21                  <attr name="template" boolvalue="true"/>
   99.22                  <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.ada.project.resources.Bundle"/>
   99.23 -                <attr name="SystemFileSystem.icon" urlvalue="nbresloc:org/netbeans/modules/ada/project/ui/resources/ada-spec-16.png"/>
   99.24 +                <attr name="SystemFileSystem.icon" urlvalue="nbresloc:org/netbeans/modules/ada/project/ui/resources/ads-16.png"/>
   99.25                  <attr name="javax.script.ScriptEngine" stringvalue="freemarker"/>
   99.26                  <attr name="instantiatingIterator" newvalue="org.netbeans.modules.ada.project.ui.wizards.NewFileWizardIterator"/>
   99.27                  <attr name="templateWizardURL" urlvalue="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaSpecFileDescription.html"/>
   99.28                  <attr name="templateCategory" stringvalue="Ada"/>
   99.29                  <attr name="position" intvalue="200"/>
   99.30              </file>
   99.31 -            <file name="NewAdaPackageBody" url="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaBody">
   99.32 +            <file name="NewPackageBody" url="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaBody">
   99.33                  <attr name="template" boolvalue="true"/>
   99.34                  <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.ada.project.resources.Bundle"/>
   99.35 -                <attr name="SystemFileSystem.icon" urlvalue="nbresloc:org/netbeans/modules/ada/project/ui/resources/ada-body-16.png"/>
   99.36 +                <attr name="SystemFileSystem.icon" urlvalue="nbresloc:org/netbeans/modules/ada/project/ui/resources/adb-16.png"/>
   99.37                  <attr name="javax.script.ScriptEngine" stringvalue="freemarker"/>
   99.38                  <attr name="instantiatingIterator" newvalue="org.netbeans.modules.ada.project.ui.wizards.NewFileWizardIterator"/>
   99.39                  <attr name="templateWizardURL" urlvalue="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaBodyFileDescription.html"/>
   99.40 @@ -129,76 +129,4 @@
   99.41              </file>
   99.42          </folder>
   99.43      </folder>
   99.44 -    <folder name="Loaders">
   99.45 -        <folder name="text">
   99.46 -            <folder name="x-ada">
   99.47 -                <folder name="Actions">
   99.48 -                    <file name="OpenAction.instance">
   99.49 -                        <attr name="instanceClass" stringvalue="org.openide.actions.OpenAction"/>
   99.50 -                        <attr name="position" intvalue="100"/>
   99.51 -                    </file>
   99.52 -                    <file name="Separator1.instance">
   99.53 -                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
   99.54 -                        <attr name="position" intvalue="200"/>
   99.55 -                    </file>
   99.56 -                    <file name="CutAction.instance">
   99.57 -                        <attr name="instanceClass" stringvalue="org.openide.actions.CutAction"/>
   99.58 -                        <attr name="position" intvalue="300"/>
   99.59 -                    </file>
   99.60 -                    <file name="CopyAction.instance">
   99.61 -                        <attr name="instanceClass" stringvalue="org.openide.actions.CopyAction"/>
   99.62 -                        <attr name="position" intvalue="400"/>
   99.63 -                    </file>
   99.64 -                    <file name="PasteAction.instance">
   99.65 -                        <attr name="instanceClass" stringvalue="org.openide.actions.PasteAction"/>
   99.66 -                        <attr name="position" intvalue="500"/>
   99.67 -                    </file>
   99.68 -                    <file name="Separator2.instance">
   99.69 -                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
   99.70 -                        <attr name="position" intvalue="600"/>
   99.71 -                    </file>
   99.72 -                    <file name="NewAction.instance">
   99.73 -                        <attr name="instanceClass" stringvalue="org.openide.actions.NewAction"/>
   99.74 -                        <attr name="position" intvalue="700"/>
   99.75 -                    </file>
   99.76 -                    <file name="DeleteAction.instance">
   99.77 -                        <attr name="instanceClass" stringvalue="org.openide.actions.DeleteAction"/>
   99.78 -                        <attr name="position" intvalue="800"/>
   99.79 -                    </file>
   99.80 -                    <file name="RenameAction.instance">
   99.81 -                        <attr name="instanceClass" stringvalue="org.openide.actions.RenameAction"/>
   99.82 -                        <attr name="position" intvalue="900"/>
   99.83 -                    </file>
   99.84 -                    <file name="Separator3.instance">
   99.85 -                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
   99.86 -                        <attr name="position" intvalue="1000"/>
   99.87 -                    </file>
   99.88 -                    <file name="SaveAsTemplateAction.instance">
   99.89 -                        <attr name="instanceClass" stringvalue="org.openide.actions.SaveAsTemplateAction"/>
   99.90 -                        <attr name="position" intvalue="1100"/>
   99.91 -                    </file>
   99.92 -                    <file name="Separator4.instance">
   99.93 -                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
   99.94 -                        <attr name="position" intvalue="1200"/>
   99.95 -                    </file>
   99.96 -                    <file name="FileSystemAction.instance">
   99.97 -                        <attr name="instanceClass" stringvalue="org.openide.actions.FileSystemAction"/>
   99.98 -                        <attr name="position" intvalue="1300"/>
   99.99 -                    </file>
  99.100 -                    <file name="Separator5.instance">
  99.101 -                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
  99.102 -                        <attr name="position" intvalue="1400"/>
  99.103 -                    </file>
  99.104 -                    <file name="ToolsAction.instance">
  99.105 -                        <attr name="instanceClass" stringvalue="org.openide.actions.ToolsAction"/>
  99.106 -                        <attr name="position" intvalue="1500"/>
  99.107 -                    </file>
  99.108 -                    <file name="PropertiesAction.instance">
  99.109 -                        <attr name="instanceClass" stringvalue="org.openide.actions.PropertiesAction"/>
  99.110 -                        <attr name="position" intvalue="1600"/>
  99.111 -                    </file>
  99.112 -                </folder>
  99.113 -            </folder>
  99.114 -        </folder>
  99.115 -    </folder>
  99.116  </filesystem>
   100.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/MainModuleChooser.java	Thu Jun 17 10:15:25 2010 -0400
   100.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/MainModuleChooser.java	Sun Aug 22 23:56:21 2010 +0200
   100.3 @@ -44,6 +44,7 @@
   100.4  import java.util.List;
   100.5  import javax.swing.DefaultListModel;
   100.6  import javax.swing.JButton;
   100.7 +import javax.swing.JPanel;
   100.8  import javax.swing.SwingUtilities;
   100.9  import org.netbeans.modules.ada.project.AdaMimeResolver;
  100.10  import org.openide.filesystems.FileObject;
  100.11 @@ -55,7 +56,7 @@
  100.12   *
  100.13   * @author  Andrea Lucarelli
  100.14   */
  100.15 -final class MainModuleChooser extends javax.swing.JPanel {
  100.16 +final class MainModuleChooser extends JPanel {
  100.17      
  100.18      private final FileObject[] roots;
  100.19      private final JButton okButton;
   101.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/SourceNodeFactory.java	Thu Jun 17 10:15:25 2010 -0400
   101.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/SourceNodeFactory.java	Sun Aug 22 23:56:21 2010 +0200
   101.3 @@ -90,12 +90,13 @@
   101.4  
   101.5          public List<SourceGroupKey> keys() {
   101.6              if (this.project.getProjectDirectory() == null || !this.project.getProjectDirectory().isValid()) {
   101.7 -                return Collections.EMPTY_LIST;
   101.8 +                return new ArrayList<SourceGroupKey>(0);
   101.9              }
  101.10              Sources sources = getSources();
  101.11              SourceGroup[] groups = sources.getSourceGroups(AdaSources.SOURCES_TYPE_ADA);
  101.12  
  101.13 -            List result = new ArrayList(groups.length);
  101.14 +//            List result = new ArrayList(groups.length);
  101.15 +            List<SourceGroupKey> result = new ArrayList<SourceGroupKey>(groups.length);
  101.16              for (int i = 0; i < groups.length; i++) {
  101.17                  result.add(new SourceGroupKey(groups[i]));
  101.18              }
   102.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/actions/BuildCommand.java	Thu Jun 17 10:15:25 2010 -0400
   102.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/actions/BuildCommand.java	Sun Aug 22 23:56:21 2010 +0200
   102.3 @@ -74,15 +74,6 @@
   102.4      public void invokeAction(Lookup context) throws IllegalArgumentException {
   102.5          // Retrieve project and platform
   102.6          final AdaProject project = getProject();
   102.7 -        AdaPlatform platform = AdaProjectUtil.getActivePlatform(project);
   102.8 -        assert platform != null;
   102.9 -
  102.10 -        ArrayList<String> sources = new ArrayList<String>();
  102.11 -        FileObject[] files;
  102.12 -
  102.13 -        // Retrieve main file
  102.14 -        String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
  102.15 -        assert mainFile != null;
  102.16  
  102.17          // Create Build/Dist folders
  102.18          try {
  102.19 @@ -92,29 +83,8 @@
  102.20              Exceptions.printStackTrace(ex);
  102.21          }
  102.22  
  102.23 -        files = project.getSourcesDirectory();
  102.24 -        for (int index = 0; index < files.length; index++) {
  102.25 -            sources.add(FileUtil.toFile(files[index]).getAbsolutePath());
  102.26 -        }
  102.27 -
  102.28 -        // Init compiler factory
  102.29 -        GnatCompiler comp = new GnatCompiler(
  102.30 -                platform,
  102.31 -                project.getName(),                        // project name
  102.32 -                FileUtil.toFile(project.getProjectDirectory()).getAbsolutePath(),  // project location
  102.33 -                sources,                                  // sources location
  102.34 -                mainFile,                                 // main file
  102.35 -                project.getName(),                        // executable file
  102.36 -                COMMAND_ID,                              // display name
  102.37 -                project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX),
  102.38 -                project.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX),
  102.39 -                project.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX),
  102.40 -                project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT),
  102.41 -                project.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT),
  102.42 -                project.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT));
  102.43 -
  102.44          // Start build
  102.45 -        comp.Build();
  102.46 +        ActionsUtil.getCompilerFactory(project, COMMAND_ID).Build();
  102.47      }
  102.48  
  102.49      @Override
  102.50 @@ -124,6 +94,10 @@
  102.51          if (platform == null) {
  102.52              return false;
  102.53          }
  102.54 +        String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
  102.55 +        if (mainFile == null) {
  102.56 +            return false;
  102.57 +        }
  102.58          return true;
  102.59      }
  102.60  
  102.61 @@ -145,14 +119,16 @@
  102.62  
  102.63      private void createBuildRoot(final AdaProject project) throws IOException {
  102.64          // Retrieve build path
  102.65 -        String buildPath = project.getEvaluator().getProperty(AdaProjectProperties.BUILD_DIR);
  102.66 +        final File projectDirectory = FileUtil.toFile(project.getProjectDirectory());
  102.67 +        String buildPath = projectDirectory + File.separator + project.getEvaluator().getProperty(AdaProjectProperties.BUILD_DIR);
  102.68          assert buildPath != null;
  102.69          FileUtil.createFolder(new File(buildPath));
  102.70      }
  102.71  
  102.72      private void createDistRoot(final AdaProject project) throws IOException {
  102.73          // Retrieve dist path
  102.74 -        String distPath = project.getEvaluator().getProperty(AdaProjectProperties.DIST_DIR);
  102.75 +        final File projectDirectory = FileUtil.toFile(project.getProjectDirectory());
  102.76 +        String distPath = projectDirectory + File.separator + project.getEvaluator().getProperty(AdaProjectProperties.DIST_DIR);
  102.77          assert distPath != null;
  102.78  		FileUtil.createFolder(new File(distPath));
  102.79      }
   103.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/actions/CleanCommand.java	Thu Jun 17 10:15:25 2010 -0400
   103.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/actions/CleanCommand.java	Sun Aug 22 23:56:21 2010 +0200
   103.3 @@ -71,38 +71,9 @@
   103.4      @Override
   103.5      public void invokeAction(Lookup context) throws IllegalArgumentException {
   103.6          final AdaProject project = getProject();
   103.7 -        AdaPlatform platform = AdaProjectUtil.getActivePlatform(project);
   103.8 -        assert platform != null;
   103.9 -        ArrayList<String> sources = new ArrayList<String>();
  103.10 -        FileObject[] files;
  103.11 -
  103.12 -        // Retrieve main file
  103.13 -        String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
  103.14 -        assert mainFile != null;
  103.15 -
  103.16 -        files = project.getSourcesDirectory();
  103.17 -        for (int index = 0; index < files.length; index++) {
  103.18 -            sources.add(FileUtil.toFile(files[index]).getAbsolutePath());
  103.19 -        }
  103.20 -
  103.21 -        // Init compiler factory
  103.22 -        GnatCompiler comp = new GnatCompiler(
  103.23 -                platform,
  103.24 -                project.getName(),                        // project name
  103.25 -                FileUtil.toFile(project.getProjectDirectory()).getAbsolutePath(),  // project location
  103.26 -                sources,  // sources location
  103.27 -                mainFile,                                 // main file
  103.28 -                project.getName(),                        // executable file
  103.29 -                COMMAND_ID,                              // display name
  103.30 -                project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX),
  103.31 -                project.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX),
  103.32 -                project.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX),
  103.33 -                project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT),
  103.34 -                project.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT),
  103.35 -                project.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT));
  103.36  
  103.37          // Start clean
  103.38 -        comp.Clean();
  103.39 +        ActionsUtil.getCompilerFactory(project, COMMAND_ID).Clean();
  103.40      }
  103.41  
  103.42      @Override
  103.43 @@ -112,8 +83,12 @@
  103.44          if (platform == null) {
  103.45              return false;
  103.46          } else {
  103.47 +            String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
  103.48 +            if (mainFile == null) {
  103.49 +                return false;
  103.50 +            }
  103.51              if (!new File(FileUtil.toFile(project.getProjectDirectory()), "build").isDirectory() ||
  103.52 -                !new File(FileUtil.toFile(project.getProjectDirectory()), "dist").isDirectory()) {
  103.53 +                    !new File(FileUtil.toFile(project.getProjectDirectory()), "dist").isDirectory()) {
  103.54                  return false;
  103.55              }
  103.56          }
   104.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/actions/RebuildCommand.java	Thu Jun 17 10:15:25 2010 -0400
   104.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/actions/RebuildCommand.java	Sun Aug 22 23:56:21 2010 +0200
   104.3 @@ -36,19 +36,14 @@
   104.4   *
   104.5   * Portions Copyrighted 2008 Sun Microsystems, Inc.
   104.6   */
   104.7 -
   104.8  package org.netbeans.modules.ada.project.ui.actions;
   104.9  
  104.10  import java.io.File;
  104.11 -import java.util.ArrayList;
  104.12  import org.netbeans.api.ada.platform.AdaPlatform;
  104.13 -import org.netbeans.modules.ada.platform.compiler.gnat.GnatCompiler;
  104.14  import org.netbeans.modules.ada.project.AdaActionProvider;
  104.15  import org.netbeans.modules.ada.project.AdaProject;
  104.16  import org.netbeans.modules.ada.project.AdaProjectUtil;
  104.17 -import org.netbeans.modules.ada.project.options.AdaOptions;
  104.18  import org.netbeans.modules.ada.project.ui.properties.AdaProjectProperties;
  104.19 -import org.openide.filesystems.FileObject;
  104.20  import org.openide.filesystems.FileUtil;
  104.21  import org.openide.util.Lookup;
  104.22  
  104.23 @@ -71,41 +66,15 @@
  104.24  
  104.25      @Override
  104.26      public void invokeAction(Lookup context) throws IllegalArgumentException {
  104.27 -        // Retrieve project and platform
  104.28 +        // Retrieve project
  104.29          final AdaProject project = getProject();
  104.30 -        AdaPlatform platform = AdaProjectUtil.getActivePlatform(project);
  104.31 -        assert platform != null;
  104.32 -        ArrayList<String> sources = new ArrayList<String>();
  104.33 -        FileObject[] files;
  104.34 -
  104.35 -        // Retrieve main file
  104.36 -        String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
  104.37 -        assert mainFile != null;
  104.38 -
  104.39 -        files = project.getSourcesDirectory();
  104.40 -        for (int index = 0; index < files.length; index++) {
  104.41 -            sources.add(FileUtil.toFile(files[index]).getAbsolutePath());
  104.42 -        }
  104.43  
  104.44          // Init compiler factory
  104.45 -        GnatCompiler comp = new GnatCompiler(
  104.46 -                platform,
  104.47 -                project.getName(),                        // project name
  104.48 -                FileUtil.toFile(project.getProjectDirectory()).getAbsolutePath(),  // project location
  104.49 -                sources,  // sources location
  104.50 -                mainFile,                                 // main file
  104.51 -                project.getName(),                        // executable file
  104.52 -                COMMAND_ID,                              // display name
  104.53 -                project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX),
  104.54 -                project.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX),
  104.55 -                project.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX),
  104.56 -                project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT),
  104.57 -                project.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT),
  104.58 -                project.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT));
  104.59 +        org.netbeans.spi.ada.platform.Compiler compiler = ActionsUtil.getCompilerFactory(project, COMMAND_ID);
  104.60  
  104.61          // Start rebuild
  104.62 -        comp.Clean();
  104.63 -        comp.Build();
  104.64 +        compiler.Clean();
  104.65 +        compiler.Build();
  104.66      }
  104.67  
  104.68      @Override
  104.69 @@ -115,12 +84,15 @@
  104.70          if (platform == null) {
  104.71              return false;
  104.72          } else {
  104.73 +            String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
  104.74 +            if (mainFile == null) {
  104.75 +                return false;
  104.76 +            }
  104.77              if (!new File(FileUtil.toFile(project.getProjectDirectory()), "build").isDirectory() ||
  104.78 -                !new File(FileUtil.toFile(project.getProjectDirectory()), "dist").isDirectory()) {
  104.79 +                    !new File(FileUtil.toFile(project.getProjectDirectory()), "dist").isDirectory()) {
  104.80                  return false;
  104.81              }
  104.82          }
  104.83          return true;
  104.84      }
  104.85 -    
  104.86  }
   105.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/actions/RunCommand.java	Thu Jun 17 10:15:25 2010 -0400
   105.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/actions/RunCommand.java	Sun Aug 22 23:56:21 2010 +0200
   105.3 @@ -40,15 +40,11 @@
   105.4  
   105.5  import java.io.File;
   105.6  import java.io.IOException;
   105.7 -import java.util.ArrayList;
   105.8  import org.netbeans.api.ada.platform.AdaPlatform;
   105.9 -import org.netbeans.modules.ada.platform.compiler.gnat.GnatCompiler;
  105.10  import org.netbeans.modules.ada.project.AdaActionProvider;
  105.11  import org.netbeans.modules.ada.project.AdaProject;
  105.12  import org.netbeans.modules.ada.project.AdaProjectUtil;
  105.13 -import org.netbeans.modules.ada.project.options.AdaOptions;
  105.14  import org.netbeans.modules.ada.project.ui.properties.AdaProjectProperties;
  105.15 -import org.openide.filesystems.FileObject;
  105.16  import org.openide.filesystems.FileUtil;
  105.17  import org.openide.util.Exceptions;
  105.18  import org.openide.util.Lookup;
  105.19 @@ -73,14 +69,6 @@
  105.20      @Override
  105.21      public void invokeAction(Lookup context) throws IllegalArgumentException {
  105.22          final AdaProject project = getProject();
  105.23 -        AdaPlatform platform = AdaProjectUtil.getActivePlatform(project);
  105.24 -        assert platform != null;
  105.25 -        ArrayList<String> sources = new ArrayList<String>();
  105.26 -        FileObject[] files;
  105.27 -
  105.28 -        // Retrieve main file
  105.29 -        String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
  105.30 -        assert mainFile != null;
  105.31  
  105.32          // Create Build/Dist folders
  105.33          try {
  105.34 @@ -90,30 +78,13 @@
  105.35              Exceptions.printStackTrace(ex);
  105.36          }
  105.37  
  105.38 -        files = project.getSourcesDirectory();
  105.39 -        for (int index = 0; index < files.length; index++) {
  105.40 -            sources.add(FileUtil.toFile(files[index]).getAbsolutePath());
  105.41 -        }
  105.42  
  105.43          // Init compiler factory
  105.44 -        GnatCompiler comp = new GnatCompiler(
  105.45 -                platform,
  105.46 -                project.getName(),                       // project name
  105.47 -                FileUtil.toFile(project.getProjectDirectory()).getAbsolutePath(),  // project location
  105.48 -                sources,   // sources location
  105.49 -                mainFile,                                // main file
  105.50 -                project.getName(),                        // executable file
  105.51 -                COMMAND_ID,                              // display name
  105.52 -                project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX),
  105.53 -                project.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX),
  105.54 -                project.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX),
  105.55 -                project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT),
  105.56 -                project.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT),
  105.57 -                project.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT));
  105.58 +        org.netbeans.spi.ada.platform.Compiler compiler = ActionsUtil.getCompilerFactory(project, COMMAND_ID);
  105.59  
  105.60          // Start run
  105.61 -        comp.Build();
  105.62 -        comp.Run(project.getEvaluator().getProperty(AdaProjectProperties.APPLICATION_ARGS));
  105.63 +        compiler.Build();
  105.64 +        compiler.Run(project.getEvaluator().getProperty(AdaProjectProperties.APPLICATION_ARGS));
  105.65      }
  105.66  
  105.67      @Override
  105.68 @@ -123,22 +94,26 @@
  105.69          if (platform == null) {
  105.70              return false;
  105.71          }
  105.72 +        String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
  105.73 +        if (mainFile == null) {
  105.74 +            return false;
  105.75 +        }
  105.76          return true;
  105.77      }
  105.78  
  105.79      private void createBuildRoot(final AdaProject project) throws IOException {
  105.80          // Retrieve build path
  105.81 -        String buildPath = project.getEvaluator().getProperty(AdaProjectProperties.BUILD_DIR);
  105.82 +        final File projectDirectory = FileUtil.toFile(project.getProjectDirectory());
  105.83 +        String buildPath = projectDirectory + File.separator + project.getEvaluator().getProperty(AdaProjectProperties.BUILD_DIR);
  105.84          assert buildPath != null;
  105.85 -
  105.86          FileUtil.createFolder(new File(buildPath));
  105.87      }
  105.88  
  105.89      private void createDistRoot(final AdaProject project) throws IOException {
  105.90          // Retrieve dist path
  105.91 -        String distPath = project.getEvaluator().getProperty(AdaProjectProperties.DIST_DIR);
  105.92 +        final File projectDirectory = FileUtil.toFile(project.getProjectDirectory());
  105.93 +        String distPath = projectDirectory + File.separator + project.getEvaluator().getProperty(AdaProjectProperties.DIST_DIR);
  105.94          assert distPath != null;
  105.95 -
  105.96  		FileUtil.createFolder(new File(distPath));
  105.97      }
  105.98  }
   106.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/AdaProjectProperties.java	Thu Jun 17 10:15:25 2010 -0400
   106.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/AdaProjectProperties.java	Sun Aug 22 23:56:21 2010 +0200
   106.3 @@ -77,6 +77,10 @@
   106.4      public static final String ACTIVE_PLATFORM = "platform.active"; //NOI18N
   106.5      public static final String ADA_LIB_PATH = "ada.lib.path"; //NOI18N
   106.6      public static final String SOURCE_ENCODING = "source.encoding"; //NOI18N
   106.7 +    public static final String OUTPUT_BUILD_FORMAT = "output.build.format"; //NOI18N
   106.8 +
   106.9 +    public static final String NATIVE_FORMAT = "NATIVE_FORMAT"; //NOI18N
  106.10 +    public static final String JVM_FORMAT = "JVM_FORMAT"; //NOI18N
  106.11  
  106.12      private final AdaProject project;
  106.13      private final PropertyEvaluator eval;
  106.14 @@ -89,6 +93,7 @@
  106.15      private volatile ArrayList<String> librariesPath;
  106.16  
  106.17      private volatile String activePlatformId;
  106.18 +    private volatile String outputBuildFormat;
  106.19      private volatile String adaDialects;
  106.20      private volatile String adaRestrictions;
  106.21      private volatile String pkgSpecPrefix;
  106.22 @@ -217,6 +222,17 @@
  106.23          this.activePlatformId = activePlatformId;
  106.24      }
  106.25  
  106.26 +    public String getOutputBuildFormat() {
  106.27 +        if (outputBuildFormat == null) {
  106.28 +            outputBuildFormat = eval.getProperty(OUTPUT_BUILD_FORMAT);
  106.29 +        }
  106.30 +        return outputBuildFormat;
  106.31 +    }
  106.32 +
  106.33 +    public void setOutputBuildFormat(String outputBuildFormat) {
  106.34 +        this.outputBuildFormat = outputBuildFormat;
  106.35 +    }
  106.36 +
  106.37      // Storing
  106.38      void save() {
  106.39          try {
  106.40 @@ -271,6 +287,10 @@
  106.41              projectProperties.put(ACTIVE_PLATFORM, activePlatformId);
  106.42          }
  106.43  
  106.44 +        if (outputBuildFormat != null) {
  106.45 +            projectProperties.put(OUTPUT_BUILD_FORMAT, outputBuildFormat);
  106.46 +        }
  106.47 +
  106.48          if (adaDialects != null) {
  106.49              projectProperties.put(AdaOptions.ADA_DIALECTS, adaDialects);
  106.50          }
   107.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/Bundle.properties	Thu Jun 17 10:15:25 2010 -0400
   107.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/Bundle.properties	Sun Aug 22 23:56:21 2010 +0200
   107.3 @@ -80,3 +80,6 @@
   107.4  CustomizerBuild.manage.text=Manage...
   107.5  CustomizerBuild.jLabel2.text=Ada Platform:
   107.6  CustomizerRun.executableName.text=&Executable Name:
   107.7 +CustomizerBuild.jLabel3.text=Build Format:
   107.8 +CustomizerBuild.nativeFormat.text=Native
   107.9 +CustomizerBuild.jvmFormat.text=JVM
   108.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CompositePanelProviderImpl.java	Thu Jun 17 10:15:25 2010 -0400
   108.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CompositePanelProviderImpl.java	Sun Aug 22 23:56:21 2010 +0200
   108.3 @@ -36,13 +36,11 @@
   108.4   *
   108.5   * Portions Copyrighted 2008 Sun Microsystems, Inc.
   108.6   */
   108.7 -
   108.8 -
   108.9  package org.netbeans.modules.ada.project.ui.properties;
  108.10  
  108.11  import javax.swing.JComponent;
  108.12  import javax.swing.JPanel;
  108.13 -import org.netbeans.modules.ada.project.options.AdaGeneralOptionsPanel;
  108.14 +import org.netbeans.modules.ada.project.options.ui.AdaGeneralOptionsPanel;
  108.15  import org.netbeans.spi.project.ui.support.ProjectCustomizer;
  108.16  import org.netbeans.spi.project.ui.support.ProjectCustomizer.CompositeCategoryProvider;
  108.17  import org.openide.util.Lookup;
  108.18 @@ -100,7 +98,7 @@
  108.19                      null,
  108.20                      categories);
  108.21          }
  108.22 -        
  108.23 +
  108.24          assert toReturn != null : "No category for name: " + name;
  108.25          return toReturn;
  108.26      }
  108.27 @@ -120,7 +118,7 @@
  108.28          } else if (STANDARDS_AND_NAMING.equals(nm)) {
  108.29              return new AdaGeneralOptionsPanel(uiProps);
  108.30          }
  108.31 -        
  108.32 +
  108.33          return new JPanel();
  108.34      }
  108.35  
   109.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerBuild.form	Thu Jun 17 10:15:25 2010 -0400
   109.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerBuild.form	Sun Aug 22 23:56:21 2010 +0200
   109.3 @@ -16,21 +16,32 @@
   109.4    <Layout>
   109.5      <DimensionLayout dim="0">
   109.6        <Group type="103" groupAlignment="0" attributes="0">
   109.7 -          <Group type="102" attributes="0">
   109.8 +          <Group type="102" alignment="0" attributes="0">
   109.9                <EmptySpace max="-2" attributes="0"/>
  109.10                <Group type="103" groupAlignment="0" attributes="0">
  109.11 -                  <Component id="jLabel1" alignment="0" min="-2" max="-2" attributes="0"/>
  109.12 -                  <Component id="jLabel2" alignment="0" min="-2" max="-2" attributes="0"/>
  109.13 -              </Group>
  109.14 -              <EmptySpace min="-2" pref="49" max="-2" attributes="0"/>
  109.15 -              <Group type="103" groupAlignment="0" attributes="0">
  109.16 -                  <Component id="platforms" pref="323" max="32767" attributes="0"/>
  109.17 -                  <Component id="mainModule" pref="323" max="32767" attributes="0"/>
  109.18 -              </Group>
  109.19 -              <EmptySpace max="-2" attributes="0"/>
  109.20 -              <Group type="103" groupAlignment="0" max="-2" attributes="0">
  109.21 -                  <Component id="browse" alignment="1" max="32767" attributes="1"/>
  109.22 -                  <Component id="manage" alignment="1" max="32767" attributes="1"/>
  109.23 +                  <Group type="102" alignment="0" attributes="0">
  109.24 +                      <Component id="jLabel3" min="-2" max="-2" attributes="0"/>
  109.25 +                      <EmptySpace min="-2" pref="49" max="-2" attributes="0"/>
  109.26 +                      <Component id="nativeFormat" min="-2" max="-2" attributes="0"/>
  109.27 +                      <EmptySpace type="separate" max="-2" attributes="0"/>
  109.28 +                      <Component id="jvmFormat" min="-2" max="-2" attributes="0"/>
  109.29 +                  </Group>
  109.30 +                  <Group type="102" alignment="0" attributes="0">
  109.31 +                      <Group type="103" groupAlignment="0" attributes="0">
  109.32 +                          <Component id="jLabel1" alignment="0" min="-2" max="-2" attributes="0"/>
  109.33 +                          <Component id="jLabel2" alignment="0" min="-2" max="-2" attributes="0"/>
  109.34 +                      </Group>
  109.35 +                      <EmptySpace min="-2" pref="49" max="-2" attributes="0"/>
  109.36 +                      <Group type="103" groupAlignment="0" attributes="0">
  109.37 +                          <Component id="platforms" pref="323" max="32767" attributes="0"/>
  109.38 +                          <Component id="mainModule" pref="323" max="32767" attributes="0"/>
  109.39 +                      </Group>
  109.40 +                      <EmptySpace max="-2" attributes="0"/>
  109.41 +                      <Group type="103" groupAlignment="0" max="-2" attributes="0">
  109.42 +                          <Component id="browse" alignment="1" max="32767" attributes="1"/>
  109.43 +                          <Component id="manage" alignment="1" max="32767" attributes="1"/>
  109.44 +                      </Group>
  109.45 +                  </Group>
  109.46                </Group>
  109.47                <EmptySpace max="-2" attributes="0"/>
  109.48            </Group>
  109.49 @@ -51,7 +62,13 @@
  109.50                    <Component id="browse" alignment="3" min="-2" max="-2" attributes="0"/>
  109.51                    <Component id="mainModule" alignment="3" min="-2" max="-2" attributes="0"/>
  109.52                </Group>
  109.53 -              <EmptySpace pref="224" max="32767" attributes="0"/>
  109.54 +              <EmptySpace type="unrelated" max="-2" attributes="0"/>
  109.55 +              <Group type="103" groupAlignment="3" attributes="0">
  109.56 +                  <Component id="jLabel3" alignment="3" min="-2" max="-2" attributes="0"/>
  109.57 +                  <Component id="nativeFormat" alignment="3" min="-2" max="-2" attributes="0"/>
  109.58 +                  <Component id="jvmFormat" alignment="3" min="-2" max="-2" attributes="0"/>
  109.59 +              </Group>
  109.60 +              <EmptySpace pref="194" max="32767" attributes="0"/>
  109.61            </Group>
  109.62        </Group>
  109.63      </DimensionLayout>
  109.64 @@ -120,5 +137,38 @@
  109.65          <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="manageActionPerformed"/>
  109.66        </Events>
  109.67      </Component>
  109.68 +    <Component class="javax.swing.JLabel" name="jLabel3">
  109.69 +      <Properties>
  109.70 +        <Property name="labelFor" type="java.awt.Component" editor="org.netbeans.modules.form.ComponentChooserEditor">
  109.71 +          <ComponentRef name="mainModule"/>
  109.72 +        </Property>
  109.73 +        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
  109.74 +          <ResourceString bundle="org/netbeans/modules/ada/project/ui/properties/Bundle.properties" key="CustomizerBuild.jLabel3.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
  109.75 +        </Property>
  109.76 +      </Properties>
  109.77 +      <AuxValues>
  109.78 +        <AuxValue name="generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
  109.79 +      </AuxValues>
  109.80 +    </Component>
  109.81 +    <Component class="javax.swing.JRadioButton" name="nativeFormat">
  109.82 +      <Properties>
  109.83 +        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
  109.84 +          <ResourceString bundle="org/netbeans/modules/ada/project/ui/properties/Bundle.properties" key="CustomizerBuild.nativeFormat.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
  109.85 +        </Property>
  109.86 +      </Properties>
  109.87 +      <Events>
  109.88 +        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="nativeFormatActionPerformed"/>
  109.89 +      </Events>
  109.90 +    </Component>
  109.91 +    <Component class="javax.swing.JRadioButton" name="jvmFormat">
  109.92 +      <Properties>
  109.93 +        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
  109.94 +          <ResourceString bundle="org/netbeans/modules/ada/project/ui/properties/Bundle.properties" key="CustomizerBuild.jvmFormat.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
  109.95 +        </Property>
  109.96 +      </Properties>
  109.97 +      <Events>
  109.98 +        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jvmFormatActionPerformed"/>
  109.99 +      </Events>
 109.100 +    </Component>
 109.101    </SubComponents>
 109.102  </Form>
   110.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerBuild.java	Thu Jun 17 10:15:25 2010 -0400
   110.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerBuild.java	Sun Aug 22 23:56:21 2010 +0200
   110.3 @@ -48,7 +48,6 @@
   110.4  import org.netbeans.modules.ada.project.ui.Utils;
   110.5  import org.openide.filesystems.FileObject;
   110.6  import org.openide.filesystems.FileUtil;
   110.7 -import org.openide.filesystems.Repository;
   110.8  import org.openide.loaders.DataObject;
   110.9  import org.openide.loaders.InstanceDataObject;
  110.10  import org.openide.util.Exceptions;
  110.11 @@ -63,7 +62,8 @@
  110.12  
  110.13      private final AdaProjectProperties uiProperties;
  110.14      private final DocListener listener;
  110.15 -
  110.16 +    private final AdaPlatformManager manager;
  110.17 +    
  110.18      /** Creates new form CustomizerBuild */
  110.19      public CustomizerBuild(final AdaProjectProperties uiProperties) {
  110.20          assert uiProperties != null;
  110.21 @@ -78,15 +78,36 @@
  110.22  
  110.23          this.platforms.setRenderer(Utils.createPlatformRenderer());
  110.24          this.platforms.setModel(Utils.createPlatformModel());
  110.25 -        final AdaPlatformManager manager = AdaPlatformManager.getInstance();
  110.26 +        manager = AdaPlatformManager.getInstance();
  110.27          String pid = uiProperties.getActivePlatformId();
  110.28          if (pid == null) {
  110.29              pid = manager.getDefaultPlatform();
  110.30          }
  110.31 +
  110.32          final AdaPlatform activePlatform = manager.getPlatform(pid);
  110.33          if (activePlatform != null) {
  110.34              platforms.setSelectedItem(activePlatform);
  110.35          }
  110.36 +        
  110.37 +        if (activePlatform.getJvmGnatCompilerCommand() != null) {
  110.38 +            nativeFormat.setEnabled(true);
  110.39 +            jvmFormat.setEnabled(true);
  110.40 +            if (uiProperties.getOutputBuildFormat().equalsIgnoreCase(AdaProjectProperties.NATIVE_FORMAT)) {
  110.41 +                nativeFormat.setSelected(true);
  110.42 +                jvmFormat.setSelected(false);
  110.43 +            }
  110.44 +            else {
  110.45 +                nativeFormat.setSelected(false);
  110.46 +                jvmFormat.setSelected(true);
  110.47 +            }
  110.48 +        }
  110.49 +        else {
  110.50 +            nativeFormat.setSelected(true);
  110.51 +            jvmFormat.setSelected(false);
  110.52 +            nativeFormat.setEnabled(false);
  110.53 +            jvmFormat.setEnabled(false);
  110.54 +        }
  110.55 +        
  110.56      }
  110.57  
  110.58      public HelpCtx getHelpCtx() {
  110.59 @@ -108,6 +129,9 @@
  110.60          platforms = new javax.swing.JComboBox();
  110.61          jLabel2 = new javax.swing.JLabel();
  110.62          manage = new javax.swing.JButton();
  110.63 +        jLabel3 = new javax.swing.JLabel();
  110.64 +        nativeFormat = new javax.swing.JRadioButton();
  110.65 +        jvmFormat = new javax.swing.JRadioButton();
  110.66  
  110.67          jLabel1.setLabelFor(mainModule);
  110.68          org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(CustomizerBuild.class, "CustomizerRun.mainModule.text")); // NOI18N
  110.69 @@ -137,6 +161,23 @@
  110.70              }
  110.71          });
  110.72  
  110.73 +        jLabel3.setLabelFor(mainModule);
  110.74 +        org.openide.awt.Mnemonics.setLocalizedText(jLabel3, org.openide.util.NbBundle.getMessage(CustomizerBuild.class, "CustomizerBuild.jLabel3.text")); // NOI18N
  110.75 +
  110.76 +        nativeFormat.setText(org.openide.util.NbBundle.getMessage(CustomizerBuild.class, "CustomizerBuild.nativeFormat.text")); // NOI18N
  110.77 +        nativeFormat.addActionListener(new java.awt.event.ActionListener() {
  110.78 +            public void actionPerformed(java.awt.event.ActionEvent evt) {
  110.79 +                nativeFormatActionPerformed(evt);
  110.80 +            }
  110.81 +        });
  110.82 +
  110.83 +        jvmFormat.setText(org.openide.util.NbBundle.getMessage(CustomizerBuild.class, "CustomizerBuild.jvmFormat.text")); // NOI18N
  110.84 +        jvmFormat.addActionListener(new java.awt.event.ActionListener() {
  110.85 +            public void actionPerformed(java.awt.event.ActionEvent evt) {
  110.86 +                jvmFormatActionPerformed(evt);
  110.87 +            }
  110.88 +        });
  110.89 +
  110.90          org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
  110.91          this.setLayout(layout);
  110.92          layout.setHorizontalGroup(
  110.93 @@ -144,16 +185,24 @@
  110.94              .add(layout.createSequentialGroup()
  110.95                  .addContainerGap()
  110.96                  .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  110.97 -                    .add(jLabel1)
  110.98 -                    .add(jLabel2))
  110.99 -                .add(49, 49, 49)
 110.100 -                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
 110.101 -                    .add(platforms, 0, 323, Short.MAX_VALUE)
 110.102 -                    .add(mainModule, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 323, Short.MAX_VALUE))
 110.103 -                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
 110.104 -                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
 110.105 -                    .add(org.jdesktop.layout.GroupLayout.TRAILING, browse, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 110.106 -                    .add(org.jdesktop.layout.GroupLayout.TRAILING, manage, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
 110.107 +                    .add(layout.createSequentialGroup()
 110.108 +                        .add(jLabel3)
 110.109 +                        .add(49, 49, 49)
 110.110 +                        .add(nativeFormat)
 110.111 +                        .add(18, 18, 18)
 110.112 +                        .add(jvmFormat))
 110.113 +                    .add(layout.createSequentialGroup()
 110.114 +                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
 110.115 +                            .add(jLabel1)
 110.116 +                            .add(jLabel2))
 110.117 +                        .add(49, 49, 49)
 110.118 +                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
 110.119 +                            .add(platforms, 0, 323, Short.MAX_VALUE)
 110.120 +                            .add(mainModule, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 323, Short.MAX_VALUE))
 110.121 +                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
 110.122 +                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
 110.123 +                            .add(org.jdesktop.layout.GroupLayout.TRAILING, browse, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 110.124 +                            .add(org.jdesktop.layout.GroupLayout.TRAILING, manage, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
 110.125                  .addContainerGap())
 110.126          );
 110.127          layout.setVerticalGroup(
 110.128 @@ -169,7 +218,12 @@
 110.129                      .add(jLabel1)
 110.130                      .add(browse)
 110.131                      .add(mainModule, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
 110.132 -                .addContainerGap(224, Short.MAX_VALUE))
 110.133 +                .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
 110.134 +                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
 110.135 +                    .add(jLabel3)
 110.136 +                    .add(nativeFormat)
 110.137 +                    .add(jvmFormat))
 110.138 +                .addContainerGap(194, Short.MAX_VALUE))
 110.139          );
 110.140      }// </editor-fold>//GEN-END:initComponents
 110.141  
 110.142 @@ -183,12 +237,32 @@
 110.143  private void platformsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_platformsActionPerformed
 110.144      uiProperties.setActivePlatformId(
 110.145              ((AdaPlatform) platforms.getSelectedItem()).getName());
 110.146 +
 110.147 +    final AdaPlatform activePlatform = manager.getPlatform(uiProperties.getActivePlatformId());
 110.148 +    
 110.149 +    if (activePlatform.getJvmGnatCompilerCommand() != null) {
 110.150 +        nativeFormat.setEnabled(true);
 110.151 +        jvmFormat.setEnabled(true);
 110.152 +        if (uiProperties.getOutputBuildFormat().equalsIgnoreCase(AdaProjectProperties.NATIVE_FORMAT)) {
 110.153 +            nativeFormat.setSelected(true);
 110.154 +            jvmFormat.setSelected(false);
 110.155 +        } else {
 110.156 +            nativeFormat.setSelected(false);
 110.157 +            jvmFormat.setSelected(true);
 110.158 +        }
 110.159 +    } else {
 110.160 +        nativeFormat.setSelected(true);
 110.161 +        jvmFormat.setSelected(false);
 110.162 +        nativeFormat.setEnabled(false);
 110.163 +        jvmFormat.setEnabled(false);
 110.164 +        uiProperties.setOutputBuildFormat(AdaProjectProperties.NATIVE_FORMAT);
 110.165 +    }
 110.166 +
 110.167  }//GEN-LAST:event_platformsActionPerformed
 110.168  
 110.169  private void manageActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_manageActionPerformed
 110.170      // Workaround, Needs an API to display platform customizer
 110.171 -//    final FileObject fo = FileUtil.getConfigFile("Actions/Ada/org-netbeans-modules-ada-platform-PlatformsCustomizerAction.instance");  //NOI18N
 110.172 -    final FileObject fo = Repository.getDefault().getDefaultFileSystem().findResource("Actions/Ada/org-netbeans-modules-ada-platform-PlatformsCustomizerAction.instance");  //NOI18N
 110.173 +    final FileObject fo = FileUtil.getConfigFile("Actions/Ada/org-netbeans-modules-ada-platform-PlatformsCustomizerAction.instance");  //NOI18N
 110.174      if (fo != null) {
 110.175          try {
 110.176              InstanceDataObject ido = (InstanceDataObject) DataObject.find(fo);
 110.177 @@ -202,12 +276,26 @@
 110.178          }
 110.179      }
 110.180  }//GEN-LAST:event_manageActionPerformed
 110.181 +
 110.182 +private void nativeFormatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nativeFormatActionPerformed
 110.183 +    uiProperties.setOutputBuildFormat(AdaProjectProperties.NATIVE_FORMAT);
 110.184 +    jvmFormat.setSelected(false);
 110.185 +}//GEN-LAST:event_nativeFormatActionPerformed
 110.186 +
 110.187 +private void jvmFormatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jvmFormatActionPerformed
 110.188 +    uiProperties.setOutputBuildFormat(AdaProjectProperties.JVM_FORMAT);
 110.189 +    nativeFormat.setSelected(false);
 110.190 +}//GEN-LAST:event_jvmFormatActionPerformed
 110.191 +
 110.192      // Variables declaration - do not modify//GEN-BEGIN:variables
 110.193      private javax.swing.JButton browse;
 110.194      private javax.swing.JLabel jLabel1;
 110.195      private javax.swing.JLabel jLabel2;
 110.196 +    private javax.swing.JLabel jLabel3;
 110.197 +    private javax.swing.JRadioButton jvmFormat;
 110.198      private javax.swing.JTextField mainModule;
 110.199      private javax.swing.JButton manage;
 110.200 +    private javax.swing.JRadioButton nativeFormat;
 110.201      private javax.swing.JComboBox platforms;
 110.202      // End of variables declaration//GEN-END:variables
 110.203  
   111.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/EmptyAdaProjectPanelVisual.form	Thu Jun 17 10:15:25 2010 -0400
   111.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/EmptyAdaProjectPanelVisual.form	Sun Aug 22 23:56:21 2010 +0200
   111.3 @@ -1,4 +1,4 @@
   111.4 -<?xml version="1.0" encoding="UTF-8" ?>
   111.5 +<?xml version="1.1" encoding="UTF-8" ?>
   111.6  
   111.7  <Form version="1.3" maxVersion="1.3" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
   111.8    <AuxValues>
   112.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/EmptyAdaProjectPanelVisual.java	Thu Jun 17 10:15:25 2010 -0400
   112.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/EmptyAdaProjectPanelVisual.java	Sun Aug 22 23:56:21 2010 +0200
   112.3 @@ -143,7 +143,7 @@
   112.4          String command = evt.getActionCommand();
   112.5          if ("BROWSE".equals(command)) {
   112.6              JFileChooser chooser = new JFileChooser();
   112.7 -            FileUtil.preventFileChooserSymlinkTraversal(chooser, null);
   112.8 +//            FileUtil.preventFileChooserSymlinkTraversal(chooser, null);
   112.9              chooser.setDialogTitle("Select Project Location");
  112.10              chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
  112.11              String path = this.projectLocationTextField.getText();
  112.12 @@ -238,7 +238,7 @@
  112.13  
  112.14          String projectName = (String) settings.getProperty(NewAdaProjectWizardIterator.PROP_PROJECT_NAME);
  112.15          if (projectName == null) {
  112.16 -            projectName = NewAdaProjectWizardIterator.getFreeFolderName(projectLocation,"NewAdaApplication"); //NOI18N
  112.17 +            projectName = NewAdaProjectWizardIterator.getFreeFolderName(projectLocation,"AdaApplication"); //NOI18N
  112.18          }
  112.19          this.projectNameTextField.setText(projectName);
  112.20          this.projectNameTextField.selectAll();
   113.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/ExistingAdaProjectPanelVisual.java	Thu Jun 17 10:15:25 2010 -0400
   113.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/ExistingAdaProjectPanelVisual.java	Sun Aug 22 23:56:21 2010 +0200
   113.3 @@ -136,7 +136,7 @@
   113.4  
   113.5      private void browseAction(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_browseAction
   113.6          JFileChooser chooser = new JFileChooser();
   113.7 -        FileUtil.preventFileChooserSymlinkTraversal(chooser, null);
   113.8 +//        FileUtil.preventFileChooserSymlinkTraversal(chooser, null);
   113.9          chooser.setDialogTitle(NbBundle.getMessage(ExistingAdaProjectPanelVisual.class, "LBL_SelectProjectFolder"));
  113.10          chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
  113.11          String path = this.projectFolderTextField.getText();
  113.12 @@ -176,7 +176,7 @@
  113.13          File projectLocation = (File) settings.getProperty(NewAdaProjectWizardIterator.PROP_PROJECT_LOCATION);
  113.14          String defaultName = null;
  113.15          if (projectLocation == null || projectLocation.getParentFile() == null || !projectLocation.getParentFile().isDirectory()) {
  113.16 -            defaultName = NewAdaProjectWizardIterator.getFreeFolderName(ProjectChooser.getProjectsFolder(), "NewAdaApplication");     //NOI18N
  113.17 +            defaultName = NewAdaProjectWizardIterator.getFreeFolderName(ProjectChooser.getProjectsFolder(), "AdaApplication");     //NOI18N
  113.18              projectLocation = new File (ProjectChooser.getProjectsFolder(),defaultName);
  113.19          }
  113.20          this.projectFolderTextField.setText(projectLocation.getAbsolutePath());
   114.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/NewAdaProjectWizardIterator.java	Thu Jun 17 10:15:25 2010 -0400
   114.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/NewAdaProjectWizardIterator.java	Sun Aug 22 23:56:21 2010 +0200
   114.3 @@ -48,6 +48,7 @@
   114.4  import java.util.Map;
   114.5  import java.util.NoSuchElementException;
   114.6  import java.util.Set;
   114.7 +import java.util.StringTokenizer;
   114.8  import javax.swing.event.ChangeListener;
   114.9  import org.netbeans.api.progress.ProgressHandle;
  114.10  import org.netbeans.api.project.Project;
  114.11 @@ -64,7 +65,6 @@
  114.12  import org.openide.WizardDescriptor;
  114.13  import org.openide.filesystems.FileObject;
  114.14  import org.openide.filesystems.FileUtil;
  114.15 -import org.openide.filesystems.Repository;
  114.16  import org.openide.loaders.DataFolder;
  114.17  import org.openide.loaders.DataObject;
  114.18  import org.openide.util.Exceptions;
  114.19 @@ -74,7 +74,7 @@
  114.20  import org.w3c.dom.Document;
  114.21  import org.w3c.dom.Element;
  114.22  
  114.23 -public class NewAdaProjectWizardIterator implements WizardDescriptor.ProgressInstantiatingIterator {
  114.24 +public class NewAdaProjectWizardIterator implements WizardDescriptor.ProgressInstantiatingIterator<WizardDescriptor> {
  114.25  
  114.26      static final String SET_AS_MAIN = "setAsMain"; //NOI18N
  114.27      static final String MAIN_FILE = "mainFile"; //NOI18N
  114.28 @@ -97,7 +97,7 @@
  114.29      }
  114.30      private final WizardType wizardType;
  114.31      private WizardDescriptor descriptor;
  114.32 -    private WizardDescriptor.Panel[] panels;
  114.33 +    private WizardDescriptor.Panel<WizardDescriptor>[] panels;
  114.34      private int index;
  114.35  
  114.36      public NewAdaProjectWizardIterator() {
  114.37 @@ -116,6 +116,7 @@
  114.38          return new NewAdaProjectWizardIterator(WizardType.EXISTING);
  114.39      }
  114.40  
  114.41 +    @Override
  114.42      public void initialize(WizardDescriptor wizard) {
  114.43          descriptor = wizard;
  114.44          index = 0;
  114.45 @@ -124,17 +125,20 @@
  114.46          initDescriptor(wizard);
  114.47      }
  114.48  
  114.49 +    @Override
  114.50      public void uninitialize(WizardDescriptor wizard) {
  114.51          panels = null;
  114.52          descriptor = null;
  114.53      }
  114.54  
  114.55 -    public Set instantiate() throws IOException {
  114.56 +    @Override
  114.57 +    public Set<FileObject> instantiate() throws IOException {
  114.58          assert false : "Cannot call this method if implements WizardDescriptor.ProgressInstantiatingIterator.";
  114.59          return null;
  114.60      }
  114.61  
  114.62 -    public Set instantiate(ProgressHandle handle) throws IOException {
  114.63 +    @Override
  114.64 +    public Set<FileObject> instantiate(ProgressHandle handle) throws IOException {
  114.65          final Set<FileObject> resultSet = new HashSet<FileObject>();
  114.66  
  114.67          handle.start(5);
  114.68 @@ -163,8 +167,8 @@
  114.69              // main file
  114.70              final String mainName = (String) descriptor.getProperty(NewAdaProjectWizardIterator.MAIN_FILE);
  114.71              if (mainName != null) {
  114.72 -                resultSet.add(createMainFile(Repository.getDefault().getDefaultFileSystem().findResource("Templates/Ada/NewAdaMain"),
  114.73 -                        sourceDir, mainName).getPrimaryFile());
  114.74 +                resultSet.add(createMainFile(FileUtil.getConfigFile("Templates/Ada/NewMain"),
  114.75 +                        sourceDir, removeSpaces(mainName)).getPrimaryFile());
  114.76              }
  114.77          }
  114.78  
  114.79 @@ -175,18 +179,22 @@
  114.80          return resultSet;
  114.81      }
  114.82  
  114.83 +    @Override
  114.84      public String name() {
  114.85          return NbBundle.getMessage(NewAdaProjectWizardIterator.class, "LBL_IteratorName", index + 1, panels.length);
  114.86      }
  114.87  
  114.88 +    @Override
  114.89      public boolean hasNext() {
  114.90          return index < panels.length - 1;
  114.91      }
  114.92  
  114.93 +    @Override
  114.94      public boolean hasPrevious() {
  114.95          return index > 0;
  114.96      }
  114.97  
  114.98 +    @Override
  114.99      public void nextPanel() {
 114.100          if (!hasNext()) {
 114.101              throw new NoSuchElementException();
 114.102 @@ -194,6 +202,7 @@
 114.103          index++;
 114.104      }
 114.105  
 114.106 +    @Override
 114.107      public void previousPanel() {
 114.108          if (!hasPrevious()) {
 114.109              throw new NoSuchElementException();
 114.110 @@ -201,7 +210,8 @@
 114.111          index--;
 114.112      }
 114.113  
 114.114 -    public WizardDescriptor.Panel current() {
 114.115 +    @Override
 114.116 +    public WizardDescriptor.Panel<WizardDescriptor> current() {
 114.117          // wizard title
 114.118          String title = NbBundle.getMessage(NewAdaProjectWizardIterator.class, wizardType == WizardType.NEW ? "TXT_AdaProject" : "TXT_ExistingAdaProject");
 114.119          descriptor.putProperty("NewProjectWizard_Title", title); // NOI18N
 114.120 @@ -228,7 +238,16 @@
 114.121          return freeName;
 114.122      }
 114.123  
 114.124 -    private WizardDescriptor.Panel[] createPanels() {
 114.125 +    private String removeSpaces(String s) {
 114.126 +        StringTokenizer st = new StringTokenizer(s, " ", false);
 114.127 +        String t = "";
 114.128 +        while (st.hasMoreElements()) {
 114.129 +            t += st.nextElement();
 114.130 +        }
 114.131 +        return t;
 114.132 +    }
 114.133 +
 114.134 +    private WizardDescriptor.Panel<WizardDescriptor>[] createPanels() {
 114.135          switch (wizardType) {
 114.136              case NEW: {
 114.137                  String[] steps = new String[]{
 114.138 @@ -279,7 +298,6 @@
 114.139                          nameEl.appendChild(doc.createTextNode(name));
 114.140                          data.appendChild(nameEl);
 114.141  
 114.142 -
 114.143                          EditableProperties properties = helper.getProperties(AntProjectHelper.PROJECT_PROPERTIES_PATH);
 114.144  
 114.145                          configureSources(helper, data, properties);
 114.146 @@ -351,11 +369,11 @@
 114.147          String platformId = (String) descriptor.getProperty(PROP_PLATFORM_ID);
 114.148          assert platformId != null;
 114.149          properties.setProperty(AdaProjectProperties.ACTIVE_PLATFORM, platformId);
 114.150 -        properties.setProperty(AdaProjectProperties.ADA_LIB_PATH, "");    //NOI18N
 114.151 -        final File projectDirectory = FileUtil.toFile(helper.getProjectDirectory());
 114.152 -        String buildPath = projectDirectory + File.separator + DEFAULT_BUILD_DIR;
 114.153 +        properties.setProperty(AdaProjectProperties.OUTPUT_BUILD_FORMAT, AdaProjectProperties.NATIVE_FORMAT);
 114.154 +        properties.setProperty(AdaProjectProperties.ADA_LIB_PATH, ""); //NOI18N
 114.155 +        String buildPath = DEFAULT_BUILD_DIR;
 114.156          properties.setProperty(AdaProjectProperties.BUILD_DIR, buildPath);
 114.157 -        String distPath = projectDirectory + File.separator + DEFAULT_DIST_DIR;
 114.158 +        String distPath = DEFAULT_DIST_DIR;
 114.159          properties.setProperty(AdaProjectProperties.DIST_DIR, distPath);
 114.160      }
 114.161  
   115.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/NewFileWizardIterator.java	Thu Jun 17 10:15:25 2010 -0400
   115.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/NewFileWizardIterator.java	Sun Aug 22 23:56:21 2010 +0200
   115.3 @@ -135,19 +135,24 @@
   115.4          FileObject template = Templates.getTemplate(this.wizard);
   115.5          String ext = template.getExt();
   115.6          String postfix = "";
   115.7 -        if (template.getName().startsWith("NewAdaMain")) {
   115.8 -            ext = AdaOptions.getInstance().getSeparateExt();
   115.9 -            postfix = AdaOptions.getInstance().getSeparatePostfix();
  115.10 -        } else if (template.getName().startsWith("NewAdaPackageSpec")) {
  115.11 -            ext = AdaOptions.getInstance().getPkgSpecExt();
  115.12 -            postfix = AdaOptions.getInstance().getPkgSpecPostfix();
  115.13 -        } else if (template.getName().startsWith("NewAdaPackageBody")) {
  115.14 -            ext = AdaOptions.getInstance().getPkgBodyExt();
  115.15 -            postfix = AdaOptions.getInstance().getPkgBodyPostfix();
  115.16 +
  115.17 +        Project project = Templates.getProject(wizard);
  115.18 +        assert project instanceof AdaProject;
  115.19 +        AdaProject adaProject = (AdaProject) project;
  115.20 +
  115.21 +        if (template.getName().startsWith("NewMain")) {
  115.22 +            ext = adaProject.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT);
  115.23 +            postfix = adaProject.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX);
  115.24 +        } else if (template.getName().startsWith("NewPackageSpec")) {
  115.25 +            ext = adaProject.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT);
  115.26 +            postfix = adaProject.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX);
  115.27 +        } else if (template.getName().startsWith("NewPackageBody")) {
  115.28 +            ext = adaProject.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT);
  115.29 +            postfix = adaProject.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX);
  115.30          }
  115.31          String targetName = (targetFolder != null) ? FileUtil.findFreeFileName(targetFolder, template.getName(), ext) : template.getName();//NOI18N
  115.32          // TODO: manage postfix naming
  115.33 -        targetName += /*postfix + */"." + ext;
  115.34 +        targetName += "." + ext;
  115.35          Templates.setTargetName(this.wizard, targetName);//NOI18N
  115.36          wizardPanels = getPanels();
  115.37  
   116.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/PanelOptionsVisual.java	Thu Jun 17 10:15:25 2010 -0400
   116.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/PanelOptionsVisual.java	Sun Aug 22 23:56:21 2010 +0200
   116.3 @@ -54,6 +54,7 @@
   116.4  import org.openide.WizardDescriptor;
   116.5  import org.openide.WizardValidationException;
   116.6  import org.openide.filesystems.FileObject;
   116.7 +import org.openide.filesystems.FileUtil;
   116.8  import org.openide.filesystems.Repository;
   116.9  import org.openide.loaders.DataObject;
  116.10  import org.openide.loaders.InstanceDataObject;
  116.11 @@ -118,12 +119,21 @@
  116.12          }
  116.13      }
  116.14  
  116.15 +    private String removeSpaces(String s) {
  116.16 +        StringTokenizer st = new StringTokenizer(s, " ", false);
  116.17 +        String t = "";
  116.18 +        while (st.hasMoreElements()) {
  116.19 +            t += st.nextElement();
  116.20 +        }
  116.21 +        return t;
  116.22 +    }
  116.23 +
  116.24      public void propertyChange(PropertyChangeEvent event) {
  116.25          if (NewAdaProjectWizardIterator.PROP_PROJECT_NAME.equals(event.getPropertyName())) {
  116.26              String newProjectName = (String) event.getNewValue();
  116.27              this.mainFileTextField.setText(MessageFormat.format(
  116.28                      NbBundle.getMessage(PanelOptionsVisual.class, "TXT_MainFileName"), 
  116.29 -                    new Object[]{newProjectName + "." + AdaOptions.getInstance().getSeparateExt()}));
  116.30 +                    new Object[]{removeSpaces(newProjectName) + "." + AdaOptions.getInstance().getSeparateExt()}));
  116.31          }
  116.32          if (NewAdaProjectWizardIterator.PROP_PROJECT_LOCATION.equals(event.getPropertyName())) {
  116.33              projectLocation = (String) event.getNewValue();
  116.34 @@ -216,7 +226,7 @@
  116.35  
  116.36  private void manageActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_manageActionPerformed
  116.37      // Workaround, Needs an API to display platform customizer
  116.38 -    final FileObject fo = Repository.getDefault().getDefaultFileSystem().findResource("Actions/Ada/org-netbeans-modules-ada-platform-PlatformsCustomizerAction.instance");  //NOI18N
  116.39 +    final FileObject fo = FileUtil.getConfigFile("Actions/Ada/org-netbeans-modules-ada-platform-PlatformsCustomizerAction.instance");  //NOI18N
  116.40      if (fo != null) {
  116.41          try {
  116.42              InstanceDataObject ido = (InstanceDataObject) DataObject.find(fo);