Add JVM compiler support. release68
authorAndrea Lucarelli <raster@netbeans.org>
Sun, 22 Aug 2010 23:37:11 +0200
branchrelease68
changeset 16367d2820c029d3a
parent 16142 2f191c83a5c4
Add JVM compiler support.
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/AdaDataNode.java
ada.editor/src/org/netbeans/modules/ada/editor/AdaDataObject.java
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/FieldAccess.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/InfixExpression.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/MethodInvocation.java
ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/NameBase.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/Range.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/TypeAccess.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/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/icons/adb-16.png
ada.editor/src/org/netbeans/modules/ada/editor/resources/icons/ads-16.png
ada.editor/src/org/netbeans/modules/ada/editor/resources/layer.xml
ada.help/history.txt
ada.help/javahelp/org/netbeans/modules/ada/help/docs/ada-platform-manager.html
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-folders.html
ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-sources-naming.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.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/compiler/jgnat/JGnatCompiler.java
ada.platform/src/org/netbeans/modules/ada/platform/compiler/jgnat/JGnatProject.java
ada.platform/src/org/netbeans/modules/ada/platform/compiler/jgnat/commands/JGnatClean.java
ada.platform/src/org/netbeans/modules/ada/platform/compiler/jgnat/commands/JGnatCommand.java
ada.platform/src/org/netbeans/modules/ada/platform/compiler/jgnat/commands/JGnatMake.java
ada.platform/src/org/netbeans/modules/ada/platform/compiler/jgnat/commands/JRun.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/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/options/ui/AdaGeneralOptionsPanel.form
ada.project/src/org/netbeans/modules/ada/project/options/ui/AdaGeneralOptionsPanel.java
ada.project/src/org/netbeans/modules/ada/project/options/ui/Bundle.properties
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/actions/ActionsUtil.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/resources/adb-16.png
ada.project/src/org/netbeans/modules/ada/project/ui/resources/ads-16.png
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	Wed Feb 24 15:52:30 2010 -0500
     1.2 +++ b/ada.editor/build.xml	Sun Aug 22 23:37:11 2010 +0200
     1.3 @@ -6,12 +6,14 @@
     1.4      <!-- for generationg lexer and parser, uncomment the tasks and set up the right path -->
     1.5  
     1.6      <!-- SYNTAX LEXER GENERATOR -->
     1.7 -    <taskdef name="jflex"
     1.8 +<!--
     1.9 +        <taskdef name="jflex"
    1.10          classname="JFlex.anttask.JFlexTask"
    1.11 -        classpath="c:/jflex/jflex-1.4.2/lib/JFlex.jar" />
    1.12 -
    1.13 +        classpath="c:/jflex/jflex-1.4.3/lib/JFlex.jar" />
    1.14 +-->
    1.15      
    1.16 -	<!-- SYNTAX LEXER GENERATOR -->
    1.17 +    <!-- SYNTAX LEXER GENERATOR -->
    1.18 +<!--
    1.19      <target name="gen-lexer" description="Ada Syntax Lexer">
    1.20          <echo message="Rebuilding Ada Syntax Lexer..."/>
    1.21          <jflex file="${basedir}/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95SyntaxLexer.flex"
    1.22 @@ -19,9 +21,10 @@
    1.23          skel="${basedir}/src/org/netbeans/modules/ada/editor/lexer/resources/SyntaxLexer.skeleton"
    1.24          />
    1.25      </target>
    1.26 -    
    1.27 +-->
    1.28      
    1.29      <!-- AST LEXER GENERATOR -->
    1.30 +<!--
    1.31      <target name="gen-astlexer" description="Ada AST Lexer">
    1.32          <echo message="Rebuilding Ada AST Lexer..."/>
    1.33          <jflex file="${basedir}/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95ASTLexer.flex"
    1.34 @@ -29,13 +32,15 @@
    1.35          skel="${basedir}/src/org/netbeans/modules/ada/editor/lexer/resources/ASTLexer.skeleton"
    1.36          />
    1.37      </target>
    1.38 -    
    1.39 +-->
    1.40      
    1.41      <!-- JAVACUP HANDLER -->
    1.42 +
    1.43      <taskdef name="javacup"
    1.44          classname="java_cup.anttask.CUPTask"
    1.45 -        classpath="${nb_all}/libs.javacup/external/java-cup-11a.jar" />
    1.46 -
    1.47 +        classpath="${netbeans.dest.dir}/php1/modules/ext/java-cup-11a.jar" />
    1.48 +<!--        classpath="${nb_all}/libs.javacup/external/java-cup-11a.jar" />
    1.49 +-->
    1.50      <!-- BASE PARSER GENERATOR -->
    1.51      <target name="gen-base-parser" description="Ada Parser baseline">
    1.52          <echo message="Rebuilding Ada Parser..."/>
    1.53 @@ -49,7 +54,7 @@
    1.54      </target>
    1.55  
    1.56      <!-- AST PARSER GENERATOR -->
    1.57 -	<target name="gen-astparser" description="Ada AST Parser">
    1.58 +    <target name="gen-astparser" description="Ada AST Parser">
    1.59          <echo message="Rebuilding Ada AST Parser..."/>
    1.60          <javacup srcfile="${basedir}/src/org/netbeans/modules/ada/editor/parser/resources/Ada95ASTParser.cup"
    1.61          destdir="${basedir}/src"
    1.62 @@ -60,14 +65,7 @@
    1.63          />
    1.64      </target>
    1.65  
    1.66 -<!--
    1.67 -    <target name="jar" depends="init,compile,jar-prep" unless="is.jar.uptodate">
    1.68 -        <taskdef name="gsfjar" classname="org.netbeans.modules.gsf.GsfJar" classpath="${nb_all}/gsf.api/anttask/gsfanttask.jar:${nb_all}/nbbuild/nbantext.jar"/>
    1.69 -        <gsfjar jarfile="${cluster}/${module.jar}" compress="${build.package.compress}" index="${build.package.index}" manifest="${manifest.mf}" stamp="${cluster}/.lastModified">
    1.70 -            <fileset dir="${build.classes.dir}"/>
    1.71 -        </gsfjar>
    1.72 -    </target>
    1.73 --->
    1.74 +    <!-- CSL BINDING -->
    1.75      <target name="jar" depends="init,compile,jar-prep" unless="is.jar.uptodate">
    1.76          <taskdef name="csljar" classname="org.netbeans.modules.csl.CslJar" classpath="${nb_all}/csl.api/anttask/build/cslanttask.jar:${nb_all}/nbbuild/nbantext.jar"/>
    1.77          <csljar jarfile="${cluster}/${module.jar}" compress="${build.package.compress}" index="${build.package.index}" manifest="${manifest.mf}" stamp="${cluster}/.lastModified">
     2.1 --- a/ada.editor/history.txt	Wed Feb 24 15:52:30 2010 -0500
     2.2 +++ b/ada.editor/history.txt	Sun Aug 22 23:37:11 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	Wed Feb 24 15:52:30 2010 -0500
     3.2 +++ b/ada.editor/manifest.mf	Sun Aug 22 23:37:11 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	Wed Feb 24 15:52:30 2010 -0500
     4.2 +++ b/ada.editor/nbproject/project.properties	Sun Aug 22 23:37:11 2010 +0200
     4.3 @@ -8,3 +8,6 @@
     4.4  nbm.homepage=http://wiki.netbeans.org/Ada
     4.5  nbm.module.author=Andrea Lucarelli
     4.6  nbm.needs.restart=true
     4.7 +
     4.8 +keystore=nbproject/private/keystore
     4.9 +nbm_alias=nbada
    4.10 \ No newline at end of file
     5.1 --- a/ada.editor/nbproject/project.xml	Wed Feb 24 15:52:30 2010 -0500
     5.2 +++ b/ada.editor/nbproject/project.xml	Sun Aug 22 23:37:11 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.10.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.3.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.5.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 @@ -46,7 +46,7 @@
    5.40                      <compile-dependency/>
    5.41                      <run-dependency>
    5.42                          <release-version>1</release-version>
    5.43 -                        <specification-version>1.9.2</specification-version>
    5.44 +                        <specification-version>1.14.1</specification-version>
    5.45                      </run-dependency>
    5.46                  </dependency>
    5.47                  <dependency>
    5.48 @@ -55,7 +55,7 @@
    5.49                      <compile-dependency/>
    5.50                      <run-dependency>
    5.51                          <release-version>2</release-version>
    5.52 -                        <specification-version>1.9</specification-version>
    5.53 +                        <specification-version>1.15.1</specification-version>
    5.54                      </run-dependency>
    5.55                  </dependency>
    5.56                  <dependency>
    5.57 @@ -64,7 +64,7 @@
    5.58                      <compile-dependency/>
    5.59                      <run-dependency>
    5.60                          <release-version>1</release-version>
    5.61 -                        <specification-version>1.29.1</specification-version>
    5.62 +                        <specification-version>1.44.1</specification-version>
    5.63                      </run-dependency>
    5.64                  </dependency>
    5.65                  <dependency>
    5.66 @@ -73,7 +73,7 @@
    5.67                      <compile-dependency/>
    5.68                      <run-dependency>
    5.69                          <release-version>1</release-version>
    5.70 -                        <specification-version>1.10.1</specification-version>
    5.71 +                        <specification-version>1.14.1</specification-version>
    5.72                      </run-dependency>
    5.73                  </dependency>
    5.74                  <dependency>
    5.75 @@ -82,7 +82,7 @@
    5.76                      <compile-dependency/>
    5.77                      <run-dependency>
    5.78                          <release-version>1</release-version>
    5.79 -                        <specification-version>1.22.1</specification-version>
    5.80 +                        <specification-version>1.27.1</specification-version>
    5.81                      </run-dependency>
    5.82                  </dependency>
    5.83                  <dependency>
    5.84 @@ -91,7 +91,7 @@
    5.85                      <compile-dependency/>
    5.86                      <run-dependency>
    5.87                          <release-version>1</release-version>
    5.88 -                        <specification-version>1.25.1</specification-version>
    5.89 +                        <specification-version>1.32.1</specification-version>
    5.90                      </run-dependency>
    5.91                  </dependency>
    5.92                  <dependency>
    5.93 @@ -100,7 +100,7 @@
    5.94                      <compile-dependency/>
    5.95                      <run-dependency>
    5.96                          <release-version>2</release-version>
    5.97 -                        <specification-version>1.29</specification-version>
    5.98 +                        <specification-version>1.33.1</specification-version>
    5.99                      </run-dependency>
   5.100                  </dependency>
   5.101                  <dependency>
   5.102 @@ -109,7 +109,7 @@
   5.103                      <compile-dependency/>
   5.104                      <run-dependency>
   5.105                          <release-version>1</release-version>
   5.106 -                        <specification-version>1.10.1</specification-version>
   5.107 +                        <specification-version>1.16.2</specification-version>
   5.108                      </run-dependency>
   5.109                  </dependency>
   5.110                  <dependency>
   5.111 @@ -118,7 +118,7 @@
   5.112                      <compile-dependency/>
   5.113                      <run-dependency>
   5.114                          <release-version>1</release-version>
   5.115 -                        <specification-version>1.26</specification-version>
   5.116 +                        <specification-version>1.26.3</specification-version>
   5.117                      </run-dependency>
   5.118                  </dependency>
   5.119                  <dependency>
   5.120 @@ -127,7 +127,15 @@
   5.121                      <compile-dependency/>
   5.122                      <run-dependency>
   5.123                          <release-version>1</release-version>
   5.124 -                        <specification-version>1.19</specification-version>
   5.125 +                        <specification-version>1.28.1</specification-version>
   5.126 +                    </run-dependency>
   5.127 +                </dependency>
   5.128 +                <dependency>
   5.129 +                    <code-name-base>org.openide.actions</code-name-base>
   5.130 +                    <build-prerequisite/>
   5.131 +                    <compile-dependency/>
   5.132 +                    <run-dependency>
   5.133 +                        <specification-version>6.12.1</specification-version>
   5.134                      </run-dependency>
   5.135                  </dependency>
   5.136                  <dependency>
   5.137 @@ -135,7 +143,7 @@
   5.138                      <build-prerequisite/>
   5.139                      <compile-dependency/>
   5.140                      <run-dependency>
   5.141 -                        <specification-version>7.3.1</specification-version>
   5.142 +                        <specification-version>7.19.1</specification-version>
   5.143                      </run-dependency>
   5.144                  </dependency>
   5.145                  <dependency>
   5.146 @@ -143,7 +151,7 @@
   5.147                      <build-prerequisite/>
   5.148                      <compile-dependency/>
   5.149                      <run-dependency>
   5.150 -                        <specification-version>7.11</specification-version>
   5.151 +                        <specification-version>7.32.1</specification-version>
   5.152                      </run-dependency>
   5.153                  </dependency>
   5.154                  <dependency>
   5.155 @@ -151,7 +159,7 @@
   5.156                      <build-prerequisite/>
   5.157                      <compile-dependency/>
   5.158                      <run-dependency>
   5.159 -                        <specification-version>7.2</specification-version>
   5.160 +                        <specification-version>7.10.1</specification-version>
   5.161                      </run-dependency>
   5.162                  </dependency>
   5.163                  <dependency>
   5.164 @@ -159,7 +167,7 @@
   5.165                      <build-prerequisite/>
   5.166                      <compile-dependency/>
   5.167                      <run-dependency>
   5.168 -                        <specification-version>7.7.1</specification-version>
   5.169 +                        <specification-version>7.13.1</specification-version>
   5.170                      </run-dependency>
   5.171                  </dependency>
   5.172                  <dependency>
   5.173 @@ -167,7 +175,7 @@
   5.174                      <build-prerequisite/>
   5.175                      <compile-dependency/>
   5.176                      <run-dependency>
   5.177 -                        <specification-version>7.7</specification-version>
   5.178 +                        <specification-version>7.12.1</specification-version>
   5.179                      </run-dependency>
   5.180                  </dependency>
   5.181                  <dependency>
   5.182 @@ -175,7 +183,7 @@
   5.183                      <build-prerequisite/>
   5.184                      <compile-dependency/>
   5.185                      <run-dependency>
   5.186 -                        <specification-version>6.21</specification-version>
   5.187 +                        <specification-version>6.27.1</specification-version>
   5.188                      </run-dependency>
   5.189                  </dependency>
   5.190                  <dependency>
   5.191 @@ -183,7 +191,7 @@
   5.192                      <build-prerequisite/>
   5.193                      <compile-dependency/>
   5.194                      <run-dependency>
   5.195 -                        <specification-version>7.18.1</specification-version>
   5.196 +                        <specification-version>7.31.2</specification-version>
   5.197                      </run-dependency>
   5.198                  </dependency>
   5.199                  <dependency>
   5.200 @@ -191,7 +199,7 @@
   5.201                      <build-prerequisite/>
   5.202                      <compile-dependency/>
   5.203                      <run-dependency>
   5.204 -                        <specification-version>6.24</specification-version>
   5.205 +                        <specification-version>6.30.1</specification-version>
   5.206                      </run-dependency>
   5.207                  </dependency>
   5.208              </module-dependencies>
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/AdaDataNode.java	Sun Aug 22 23:37:11 2010 +0200
     6.3 @@ -0,0 +1,168 @@
     6.4 +/*
     6.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
     6.6 + *
     6.7 + * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
     6.8 + *
     6.9 + * The contents of this file are subject to the terms of either the GNU
    6.10 + * General Public License Version 2 only ("GPL") or the Common
    6.11 + * Development and Distribution License("CDDL") (collectively, the
    6.12 + * "License"). You may not use this file except in compliance with the
    6.13 + * License. You can obtain a copy of the License at
    6.14 + * http://www.netbeans.org/cddl-gplv2.html
    6.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
    6.16 + * specific language governing permissions and limitations under the
    6.17 + * License.  When distributing the software, include this License Header
    6.18 + * Notice in each file and include the License file at
    6.19 + * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
    6.20 + * particular file as subject to the "Classpath" exception as provided
    6.21 + * by Sun in the GPL Version 2 section of the License file that
    6.22 + * accompanied this code. If applicable, add the following below the
    6.23 + * License Header, with the fields enclosed by brackets [] replaced by
    6.24 + * your own identifying information:
    6.25 + * "Portions Copyrighted [year] [name of copyright owner]"
    6.26 + *
    6.27 + * If you wish your version of this file to be governed by only the CDDL
    6.28 + * or only the GPL Version 2, indicate your decision by adding
    6.29 + * "[Contributor] elects to include this software in this distribution
    6.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
    6.31 + * single choice of license, a recipient has the option to distribute
    6.32 + * your version of this file under either the CDDL, the GPL Version 2 or
    6.33 + * to extend the choice of license to its licensees as provided above.
    6.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
    6.35 + * Version 2 license, then the option applies only if the new code is
    6.36 + * made subject to such option by the copyright holder.
    6.37 + *
    6.38 + * Contributor(s):
    6.39 + *
    6.40 + * Portions Copyrighted 2009 Sun Microsystems, Inc.
    6.41 + */
    6.42 +package org.netbeans.modules.ada.editor;
    6.43 +
    6.44 +import java.awt.Image;
    6.45 +import java.text.DateFormat;
    6.46 +import org.openide.filesystems.FileAttributeEvent;
    6.47 +import org.openide.filesystems.FileChangeListener;
    6.48 +import org.openide.filesystems.FileEvent;
    6.49 +import org.openide.filesystems.FileRenameEvent;
    6.50 +import org.openide.loaders.DataNode;
    6.51 +import org.openide.loaders.DataObject;
    6.52 +import org.openide.nodes.FilterNode.Children;
    6.53 +import org.openide.util.ImageUtilities;
    6.54 +import org.openide.util.Lookup;
    6.55 +
    6.56 +/**
    6.57 + *
    6.58 + * @author Andrea Lucarelli
    6.59 + */
    6.60 +public class AdaDataNode extends DataNode implements FileChangeListener {
    6.61 +
    6.62 +    private static final String ADS_ICON = "/org/netbeans/modules/ada/editor/resources/icons/ads-16.png";
    6.63 +    private static final String ADB_ICON = "/org/netbeans/modules/ada/editor/resources/icons/adb-16.png";
    6.64 +    private static final String ADA_SPEC_ICON = "/org/netbeans/modules/ada/editor/resources/icons/ada-spec-16.png";
    6.65 +    private static final String ADA_BODY_ICON = "/org/netbeans/modules/ada/editor/resources/icons/ada-body-16.png";
    6.66 +    private AdaDataObject obj;
    6.67 +    private String displayName;
    6.68 +    private String tooltip;
    6.69 +    private Image icon;
    6.70 +
    6.71 +    public AdaDataNode(AdaDataObject obj) {
    6.72 +        super(obj, Children.LEAF);
    6.73 +        this.obj = obj;
    6.74 +    }
    6.75 +
    6.76 +    public AdaDataNode(DataObject obj, Lookup lookup) {
    6.77 +        super(obj, Children.LEAF, lookup);
    6.78 +        //Add file change listener to the FileObject:
    6.79 +        //obj.getPrimaryFile().addFileChangeListener(this);
    6.80 +        //Set default icon:
    6.81 +        if (obj.getPrimaryFile().getExt().equalsIgnoreCase("ads")) {
    6.82 +            setIconBaseWithExtension(ADS_ICON);
    6.83 +            icon = ImageUtilities.loadImage(ADS_ICON);
    6.84 +        } else if (obj.getPrimaryFile().getExt().equalsIgnoreCase("adb")) {
    6.85 +            setIconBaseWithExtension(ADB_ICON);
    6.86 +            icon = ImageUtilities.loadImage(ADB_ICON);
    6.87 +        } else {
    6.88 +            // TODO: manage the contents for set the icon
    6.89 +            setIconBaseWithExtension(ADA_SPEC_ICON);
    6.90 +            icon = ImageUtilities.loadImage(ADA_SPEC_ICON);
    6.91 +        }
    6.92 +
    6.93 +        //Set default tooltip:
    6.94 +        tooltip = obj.getPrimaryFile().getNameExt();
    6.95 +        setShortDescription (tooltip);
    6.96 +    }
    6.97 +
    6.98 +    @Override
    6.99 +    public String getDisplayName() {
   6.100 +        if (null != displayName) {
   6.101 +            return displayName;
   6.102 +        }
   6.103 +        return super.getDisplayName();
   6.104 +    }
   6.105 +
   6.106 +    @Override
   6.107 +    public String getShortDescription() {
   6.108 +        if (null != tooltip) {
   6.109 +            return tooltip;
   6.110 +        }
   6.111 +        return super.getShortDescription();
   6.112 +    }
   6.113 +
   6.114 +    @Override
   6.115 +    public Image getIcon(int arg0) {
   6.116 +        if (null != icon) {
   6.117 +            return icon;
   6.118 +        }
   6.119 +        return super.getIcon(arg0);
   6.120 +    }
   6.121 +
   6.122 +    //When the file changes...
   6.123 +    @Override
   6.124 +    public void fileChanged(FileEvent arg0) {
   6.125 +
   6.126 +        //Get the milliseconds and format it:
   6.127 +        long mills = System.currentTimeMillis();
   6.128 +        DateFormat dateFormatter = DateFormat.getDateTimeInstance(
   6.129 +                DateFormat.LONG,
   6.130 +                DateFormat.LONG);
   6.131 +        String formatted = dateFormatter.format(mills);
   6.132 +
   6.133 +        //Save the current display name:
   6.134 +        String oldDisplayName = displayName;
   6.135 +
   6.136 +        //Save the current tooltip:
   6.137 +        String oldShortDescription = tooltip;
   6.138 +
   6.139 +        //Set the new display name:
   6.140 +        displayName = "Change (" + formatted + ")";
   6.141 +
   6.142 +        //Set the new tooltip:
   6.143 +        tooltip = formatted;
   6.144 +
   6.145 +        //Fire change events on the node,
   6.146 +        //which will immediately refresh it with the new values:
   6.147 +        fireDisplayNameChange(oldDisplayName, displayName);
   6.148 +        fireShortDescriptionChange(oldShortDescription, tooltip);
   6.149 +        fireIconChange();
   6.150 +    }
   6.151 +
   6.152 +    @Override
   6.153 +    public void fileFolderCreated(FileEvent arg0) {
   6.154 +    }
   6.155 +
   6.156 +    @Override
   6.157 +    public void fileDataCreated(FileEvent arg0) {
   6.158 +    }
   6.159 +
   6.160 +    @Override
   6.161 +    public void fileDeleted(FileEvent arg0) {
   6.162 +    }
   6.163 +
   6.164 +    @Override
   6.165 +    public void fileRenamed(FileRenameEvent arg0) {
   6.166 +    }
   6.167 +
   6.168 +    @Override
   6.169 +    public void fileAttributeChanged(FileAttributeEvent arg0) {
   6.170 +    }
   6.171 +}
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/AdaDataObject.java	Sun Aug 22 23:37:11 2010 +0200
     7.3 @@ -0,0 +1,75 @@
     7.4 +/*
     7.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
     7.6 + *
     7.7 + * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
     7.8 + *
     7.9 + * The contents of this file are subject to the terms of either the GNU
    7.10 + * General Public License Version 2 only ("GPL") or the Common
    7.11 + * Development and Distribution License("CDDL") (collectively, the
    7.12 + * "License"). You may not use this file except in compliance with the
    7.13 + * License. You can obtain a copy of the License at
    7.14 + * http://www.netbeans.org/cddl-gplv2.html
    7.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
    7.16 + * specific language governing permissions and limitations under the
    7.17 + * License.  When distributing the software, include this License Header
    7.18 + * Notice in each file and include the License file at
    7.19 + * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
    7.20 + * particular file as subject to the "Classpath" exception as provided
    7.21 + * by Sun in the GPL Version 2 section of the License file that
    7.22 + * accompanied this code. If applicable, add the following below the
    7.23 + * License Header, with the fields enclosed by brackets [] replaced by
    7.24 + * your own identifying information:
    7.25 + * "Portions Copyrighted [year] [name of copyright owner]"
    7.26 + *
    7.27 + * If you wish your version of this file to be governed by only the CDDL
    7.28 + * or only the GPL Version 2, indicate your decision by adding
    7.29 + * "[Contributor] elects to include this software in this distribution
    7.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
    7.31 + * single choice of license, a recipient has the option to distribute
    7.32 + * your version of this file under either the CDDL, the GPL Version 2 or
    7.33 + * to extend the choice of license to its licensees as provided above.
    7.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
    7.35 + * Version 2 license, then the option applies only if the new code is
    7.36 + * made subject to such option by the copyright holder.
    7.37 + *
    7.38 + * Contributor(s):
    7.39 + *
    7.40 + * Portions Copyrighted 2009 Sun Microsystems, Inc.
    7.41 + */
    7.42 +package org.netbeans.modules.ada.editor;
    7.43 +
    7.44 +import java.io.IOException;
    7.45 +import org.openide.filesystems.FileObject;
    7.46 +import org.openide.loaders.DataObjectExistsException;
    7.47 +import org.openide.loaders.MultiDataObject;
    7.48 +import org.openide.loaders.MultiFileLoader;
    7.49 +import org.openide.nodes.CookieSet;
    7.50 +import org.openide.nodes.Node;
    7.51 +import org.openide.util.Lookup;
    7.52 +import org.openide.text.DataEditorSupport;
    7.53 +
    7.54 +/**
    7.55 + *
    7.56 + * @author Andrea Lucarelli
    7.57 + */
    7.58 +public class AdaDataObject extends MultiDataObject {
    7.59 +
    7.60 +    private FileObject pf;
    7.61 +
    7.62 +    public AdaDataObject(FileObject pf, MultiFileLoader loader) throws DataObjectExistsException, IOException {
    7.63 +        super(pf, loader);
    7.64 +        this.pf = pf;
    7.65 +        CookieSet cookies = getCookieSet();
    7.66 +        cookies.add((Node.Cookie) DataEditorSupport.create(this, getPrimaryEntry(), cookies));
    7.67 +    }
    7.68 +
    7.69 +    @Override
    7.70 +    protected Node createNodeDelegate() {
    7.71 +        return new AdaDataNode(this, getLookup());
    7.72 +    }
    7.73 +
    7.74 +    @Override
    7.75 +    public Lookup getLookup() {
    7.76 +        return getCookieSet().getLookup();
    7.77 +    }
    7.78 +}
     8.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/AdaLanguage.java	Wed Feb 24 15:52:30 2010 -0500
     8.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/AdaLanguage.java	Sun Aug 22 23:37:11 2010 +0200
     8.3 @@ -51,8 +51,6 @@
     8.4  import org.netbeans.modules.ada.editor.parser.AdaParser;
     8.5  import org.netbeans.modules.ada.editor.parser.AdaSemanticAnalyzer;
     8.6  import org.netbeans.modules.csl.api.CodeCompletionHandler;
     8.7 -import org.netbeans.modules.csl.api.CodeCompletionHandler;
     8.8 -import org.netbeans.modules.csl.api.CodeCompletionHandler;
     8.9  import org.netbeans.modules.csl.api.DeclarationFinder;
    8.10  import org.netbeans.modules.csl.api.Formatter;
    8.11  import org.netbeans.modules.csl.api.HintsProvider;
     9.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/CodeUtils.java	Wed Feb 24 15:52:30 2010 -0500
     9.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/CodeUtils.java	Sun Aug 22 23:37:11 2010 +0200
     9.3 @@ -43,14 +43,16 @@
     9.4  import org.netbeans.modules.ada.editor.ast.nodes.FormalParameter;
     9.5  import org.netbeans.modules.ada.editor.ast.nodes.Identifier;
     9.6  import org.netbeans.modules.ada.editor.ast.nodes.MethodDeclaration;
     9.7 +import org.netbeans.modules.ada.editor.ast.nodes.MethodInvocation;
     9.8 +import org.netbeans.modules.ada.editor.ast.nodes.NameBase;
     9.9  import org.netbeans.modules.ada.editor.ast.nodes.PackageBody;
    9.10  import org.netbeans.modules.ada.editor.ast.nodes.PackageName;
    9.11  import org.netbeans.modules.ada.editor.ast.nodes.PackageSpecification;
    9.12 -import org.netbeans.modules.ada.editor.ast.nodes.Reference;
    9.13 -import org.netbeans.modules.ada.editor.ast.nodes.Statement;
    9.14  import org.netbeans.modules.ada.editor.ast.nodes.SubprogramBody;
    9.15  import org.netbeans.modules.ada.editor.ast.nodes.SubprogramSpecification;
    9.16 +import org.netbeans.modules.ada.editor.ast.nodes.TypeAccess;
    9.17  import org.netbeans.modules.ada.editor.ast.nodes.TypeDeclaration;
    9.18 +import org.netbeans.modules.ada.editor.ast.nodes.TypeName;
    9.19  import org.netbeans.modules.ada.editor.ast.nodes.Variable;
    9.20  
    9.21  /**
    9.22 @@ -96,7 +98,7 @@
    9.23          return methodDeclaration.getMethodName();
    9.24      }
    9.25  
    9.26 -    @CheckForNull // null for RelectionVariable
    9.27 +    @CheckForNull
    9.28      public static String extractVariableName(Variable var) {
    9.29          if (var.getName() instanceof Identifier) {
    9.30              Identifier id = (Identifier) var.getName();
    9.31 @@ -109,7 +111,7 @@
    9.32          return null;
    9.33      }
    9.34  
    9.35 -    @CheckForNull // null for RelectionVariable
    9.36 +    @CheckForNull
    9.37      public static String extractTypeName(TypeDeclaration var) {
    9.38          if (var.getTypeName() instanceof Identifier) {
    9.39              Identifier id = (Identifier) var.getTypeName();
    9.40 @@ -122,6 +124,33 @@
    9.41          return null;
    9.42      }
    9.43  
    9.44 +    @CheckForNull
    9.45 +    public static String extractTypeName(NameBase type) {
    9.46 +        if (type instanceof TypeName) {
    9.47 +            Identifier id = ((TypeName)type).getTypeName();
    9.48 +            StringBuilder typeName = new StringBuilder();
    9.49 +            typeName.append(id.getName());
    9.50 +            return typeName.toString();
    9.51 +        } else if (type instanceof TypeAccess) {
    9.52 +            NameBase name = ((TypeAccess) type).getMember();
    9.53 +            return extractTypeName(name);
    9.54 +        }
    9.55 +
    9.56 +        return null;
    9.57 +    }
    9.58 +
    9.59 +    @CheckForNull
    9.60 +    public static TypeName extractType(NameBase type) {
    9.61 +        if (type instanceof TypeName) {
    9.62 +            return (TypeName)type;
    9.63 +        } else if (type instanceof TypeAccess) {
    9.64 +            NameBase name = ((TypeAccess) type).getMember();
    9.65 +            return extractType(name);
    9.66 +        }
    9.67 +
    9.68 +        return null;
    9.69 +    }
    9.70 +
    9.71      public static String getParamDisplayName(FormalParameter param) {
    9.72          Variable var = param.getParameterName();
    9.73          StringBuilder paramName = new StringBuilder();
    10.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Assignment.java	Wed Feb 24 15:52:30 2010 -0500
    10.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Assignment.java	Sun Aug 22 23:37:11 2010 +0200
    10.3 @@ -48,10 +48,10 @@
    10.4   */
    10.5  public class Assignment extends Statement {
    10.6      
    10.7 -    private VariableBase leftHandSide;
    10.8 +    private NameBase leftHandSide;
    10.9      private Expression rightHandSide;
   10.10  
   10.11 -    public Assignment(int start, int end, VariableBase leftHandSide, Expression rightHandSide) {
   10.12 +    public Assignment(int start, int end, NameBase leftHandSide, Expression rightHandSide) {
   10.13          super(start, end);
   10.14          if (leftHandSide == null ) {//|| rightHandSide == null) { TODO: must be correct
   10.15              throw new IllegalArgumentException
   10.16 @@ -67,7 +67,7 @@
   10.17       * 
   10.18       * @return the left hand side node
   10.19       */
   10.20 -    public VariableBase getLeftHandSide() {
   10.21 +    public NameBase getLeftHandSide() {
   10.22          return this.leftHandSide;
   10.23      }
   10.24  
    11.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/BlockStatement.java	Wed Feb 24 15:52:30 2010 -0500
    11.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/BlockStatement.java	Sun Aug 22 23:37:11 2010 +0200
    11.3 @@ -38,8 +38,6 @@
    11.4   */
    11.5  package org.netbeans.modules.ada.editor.ast.nodes;
    11.6  
    11.7 -import java.util.ArrayList;
    11.8 -import java.util.List;
    11.9  import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
   11.10  
   11.11  /**
   11.12 @@ -59,42 +57,41 @@
   11.13   */
   11.14  public class BlockStatement extends Statement {
   11.15  
   11.16 -	private Identifier label;
   11.17 +    private Identifier label;
   11.18      private Block declarations;
   11.19      private Block body;
   11.20  
   11.21      public BlockStatement(int start, int end, Identifier label, Block declarations, Block body) {
   11.22          super(start, end);
   11.23  
   11.24 -		this.label = label;
   11.25 +        this.label = label;
   11.26          this.declarations = declarations;
   11.27          this.body = body;
   11.28      }
   11.29  
   11.30 -	public Identifier getLabel () {
   11.31 -		return this.label;
   11.32 -	}
   11.33 +    public Identifier getLabel() {
   11.34 +        return this.label;
   11.35 +    }
   11.36  
   11.37      /**
   11.38       * Retrieves the declaration statements parts of this block
   11.39       * @return declaration statements parts of this block
   11.40       */
   11.41      public Block getDeclarations() {
   11.42 -        return this.body;
   11.43 +        return this.declarations;
   11.44      }
   11.45  
   11.46 -	/**
   11.47 +    /**
   11.48       * Retrieves the body statements parts of this block
   11.49       * @return body statements parts of this block
   11.50       */
   11.51      public Block getBody() {
   11.52          return this.body;
   11.53      }
   11.54 -    
   11.55 +
   11.56      @Override
   11.57      public void accept(Visitor visitor) {
   11.58          visitor.visit(this);
   11.59      }
   11.60 -
   11.61  }
   11.62  
    12.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/BodyDeclaration.java	Wed Feb 24 15:52:30 2010 -0500
    12.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/BodyDeclaration.java	Sun Aug 22 23:37:11 2010 +0200
    12.3 @@ -42,6 +42,8 @@
    12.4   * Based on org.netbeans.modules.php.editor.parser.astnodes.BodyDeclaration
    12.5   *
    12.6   * Base class for package member declarations
    12.7 + *
    12.8 + * @author Andrea Lucarelli
    12.9   */
   12.10  public abstract class BodyDeclaration extends Statement {
   12.11  
    13.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Dispatch.java	Wed Feb 24 15:52:30 2010 -0500
    13.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Dispatch.java	Sun Aug 22 23:37:11 2010 +0200
    13.3 @@ -45,11 +45,11 @@
    13.4   * MyPackage.foo,
    13.5   * MyPackage.foo(bar : in bar_type)
    13.6   */
    13.7 -public abstract class Dispatch extends VariableBase {
    13.8 +public abstract class Dispatch extends NameBase {
    13.9  
   13.10 -    private VariableBase dispatcher;
   13.11 +    private NameBase dispatcher;
   13.12  
   13.13 -    public Dispatch(int start, int end, VariableBase dispatcher) {
   13.14 +    public Dispatch(int start, int end, NameBase dispatcher) {
   13.15          super(start, end);
   13.16          this.dispatcher = dispatcher;
   13.17      }
   13.18 @@ -59,7 +59,7 @@
   13.19       * 
   13.20       * @return dispatcher component of this dispatch expression 
   13.21       */
   13.22 -    public VariableBase getDispatcher() {
   13.23 +    public NameBase getDispatcher() {
   13.24          return dispatcher;
   13.25      }
   13.26  }
    14.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/ExitStatement.java	Wed Feb 24 15:52:30 2010 -0500
    14.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/ExitStatement.java	Sun Aug 22 23:37:11 2010 +0200
    14.3 @@ -48,10 +48,10 @@
    14.4   */
    14.5  public class ExitStatement extends Statement {
    14.6  
    14.7 -    private String loopName;
    14.8 +    private Expression loopName;
    14.9      private Expression whenCondition;
   14.10  
   14.11 -    public ExitStatement(int start, int end, String loopName, Expression whenCondition) {
   14.12 +    public ExitStatement(int start, int end, Expression loopName, Expression whenCondition) {
   14.13          super(start, end);
   14.14          this.loopName = loopName;
   14.15          this.whenCondition = whenCondition;
   14.16 @@ -62,7 +62,7 @@
   14.17       * 
   14.18       * @return the loopName node
   14.19       */
   14.20 -    public String getLoopName() {
   14.21 +    public Expression getLoopName() {
   14.22          return loopName;
   14.23      }
   14.24  
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/FieldAccess.java	Sun Aug 22 23:37:11 2010 +0200
    15.3 @@ -0,0 +1,78 @@
    15.4 +/*
    15.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
    15.6 + * 
    15.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
    15.8 + * 
    15.9 + * The contents of this file are subject to the terms of either the GNU
   15.10 + * General Public License Version 2 only ("GPL") or the Common
   15.11 + * Development and Distribution License("CDDL") (collectively, the
   15.12 + * "License"). You may not use this file except in compliance with the
   15.13 + * License. You can obtain a copy of the License at
   15.14 + * http://www.netbeans.org/cddl-gplv2.html
   15.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
   15.16 + * specific language governing permissions and limitations under the
   15.17 + * License.  When distributing the software, include this License Header
   15.18 + * Notice in each file and include the License file at
   15.19 + * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
   15.20 + * particular file as subject to the "Classpath" exception as provided
   15.21 + * by Sun in the GPL Version 2 section of the License file that
   15.22 + * accompanied this code. If applicable, add the following below the
   15.23 + * License Header, with the fields enclosed by brackets [] replaced by
   15.24 + * your own identifying information:
   15.25 + * "Portions Copyrighted [year] [name of copyright owner]"
   15.26 + * 
   15.27 + * If you wish your version of this file to be governed by only the CDDL
   15.28 + * or only the GPL Version 2, indicate your decision by adding
   15.29 + * "[Contributor] elects to include this software in this distribution
   15.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
   15.31 + * single choice of license, a recipient has the option to distribute
   15.32 + * your version of this file under either the CDDL, the GPL Version 2 or
   15.33 + * to extend the choice of license to its licensees as provided above.
   15.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
   15.35 + * Version 2 license, then the option applies only if the new code is
   15.36 + * made subject to such option by the copyright holder.
   15.37 + * 
   15.38 + * Contributor(s):
   15.39 + * 
   15.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
   15.41 + */
   15.42 +package org.netbeans.modules.ada.editor.ast.nodes;
   15.43 +
   15.44 +import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
   15.45 +
   15.46 +/**
   15.47 + * Represents a field access
   15.48 + * <pre>e.g.<pre>
   15.49 + *
   15.50 + * MyPackage.Foo
   15.51 + */
   15.52 +public class FieldAccess extends Dispatch {
   15.53 +
   15.54 +    private Variable field;
   15.55 +
   15.56 +    public FieldAccess(int start, int end, NameBase dispatcher, Variable field) {
   15.57 +        super(start, end, dispatcher);
   15.58 +        this.field = field;
   15.59 +    }
   15.60 +
   15.61 +    /**
   15.62 +     * Return the field component of this field access
   15.63 +     * 
   15.64 +     * @return the field component of this field access
   15.65 +     */
   15.66 +    public Variable getField() {
   15.67 +        return field;
   15.68 +    }
   15.69 +
   15.70 +    /**
   15.71 +     * see {@link #getField()}
   15.72 +     */
   15.73 +    public NameBase getMember() {
   15.74 +        return getField();
   15.75 +    }
   15.76 +    
   15.77 +    @Override
   15.78 +    public void accept(Visitor visitor) {
   15.79 +        visitor.visit(this);
   15.80 +    }
   15.81 +}
    16.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/FormalParameter.java	Wed Feb 24 15:52:30 2010 -0500
    16.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/FormalParameter.java	Sun Aug 22 23:37:11 2010 +0200
    16.3 @@ -52,13 +52,12 @@
    16.4      public enum Mode {
    16.5          IN, OUT, IN_OUT, ACCESS;
    16.6      }
    16.7 -
    16.8      private Variable parameterName;
    16.9      private Mode parameterMode;
   16.10 -	private TypeName parameterType;
   16.11 +    private NameBase parameterType;
   16.12      private Expression defaultValue;
   16.13  
   16.14 -    public FormalParameter(int start, int end, final Variable parameterName, Mode parameterMode, TypeName type, Expression defaultValue) {
   16.15 +    public FormalParameter(int start, int end, final Variable parameterName, Mode parameterMode, NameBase type, Expression defaultValue) {
   16.16          super(start, end);
   16.17  
   16.18          this.parameterName = parameterName;
   16.19 @@ -67,7 +66,7 @@
   16.20          this.defaultValue = defaultValue;
   16.21      }
   16.22  
   16.23 -    public FormalParameter(int start, int end, final Variable parameterName, Mode parameterMode, TypeName type) {
   16.24 +    public FormalParameter(int start, int end, final Variable parameterName, Mode parameterMode, NameBase type) {
   16.25          this(start, end, parameterName, parameterMode, type, null);
   16.26      }
   16.27  
   16.28 @@ -85,7 +84,7 @@
   16.29          return parameterName;
   16.30      }
   16.31  
   16.32 -	/**
   16.33 +    /**
   16.34       * @return the mode of this parameter
   16.35       */
   16.36      public Mode getParameterMode() {
   16.37 @@ -95,10 +94,10 @@
   16.38      /**
   16.39       * @return the type of this parameter
   16.40       */
   16.41 -    public TypeName getParameterType() {
   16.42 +    public NameBase getParameterType() {
   16.43          return parameterType;
   16.44      }
   16.45 -    
   16.46 +
   16.47      @Override
   16.48      public void accept(Visitor visitor) {
   16.49          visitor.visit(this);
    17.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/GotoStatement.java	Wed Feb 24 15:52:30 2010 -0500
    17.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/GotoStatement.java	Sun Aug 22 23:37:11 2010 +0200
    17.3 @@ -47,9 +47,9 @@
    17.4   */
    17.5  public class GotoStatement extends Statement {
    17.6  
    17.7 -    private String labelName;
    17.8 +    private Expression labelName;
    17.9  
   17.10 -    public GotoStatement(int start, int end, String labelName) {
   17.11 +    public GotoStatement(int start, int end, Expression labelName) {
   17.12          super(start, end);
   17.13          this.labelName = labelName;
   17.14      }
   17.15 @@ -59,7 +59,7 @@
   17.16       * 
   17.17       * @return the loopName node
   17.18       */
   17.19 -    public String getLabelName() {
   17.20 +    public Expression getLabelName() {
   17.21          return labelName;
   17.22      }
   17.23  
    18.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Identifier.java	Wed Feb 24 15:52:30 2010 -0500
    18.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Identifier.java	Sun Aug 22 23:37:11 2010 +0200
    18.3 @@ -36,7 +36,6 @@
    18.4   *
    18.5   * Portions Copyrighted 2008 Sun Microsystems, Inc.
    18.6   */
    18.7 -
    18.8  package org.netbeans.modules.ada.editor.ast.nodes;
    18.9  
   18.10  import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
   18.11 @@ -47,9 +46,8 @@
   18.12   * Holds an identifier.
   18.13   * Uses for variable name, function name, procedure name and package name.
   18.14   * <pre>e.g.<pre>  
   18.15 - * Foo : Integer; -- Foo is the identifier,
   18.16 - * Foo (Foo => Bar) -- Foo is the identifier,
   18.17 - * Foo.Bar; -- Foo and Bar are identifiers
   18.18 + * Count X Get_Symbol Ethelyn Marion
   18.19 + * Snobol_4 X1 Page_Count Store_Next_Item
   18.20   *
   18.21   * @author Andrea Lucarelli
   18.22   */
   18.23 @@ -59,7 +57,7 @@
   18.24  
   18.25      public Identifier(int start, int end, String name) {
   18.26          super(start, end);
   18.27 -		this.name = name;
   18.28 +        this.name = name;
   18.29      }
   18.30  
   18.31      public String getName() {
    19.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/InfixExpression.java	Sun Aug 22 23:37:11 2010 +0200
    19.3 @@ -0,0 +1,126 @@
    19.4 +/*
    19.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
    19.6 + * 
    19.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
    19.8 + * 
    19.9 + * The contents of this file are subject to the terms of either the GNU
   19.10 + * General Public License Version 2 only ("GPL") or the Common
   19.11 + * Development and Distribution License("CDDL") (collectively, the
   19.12 + * "License"). You may not use this file except in compliance with the
   19.13 + * License. You can obtain a copy of the License at
   19.14 + * http://www.netbeans.org/cddl-gplv2.html
   19.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
   19.16 + * specific language governing permissions and limitations under the
   19.17 + * License.  When distributing the software, include this License Header
   19.18 + * Notice in each file and include the License file at
   19.19 + * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
   19.20 + * particular file as subject to the "Classpath" exception as provided
   19.21 + * by Sun in the GPL Version 2 section of the License file that
   19.22 + * accompanied this code. If applicable, add the following below the
   19.23 + * License Header, with the fields enclosed by brackets [] replaced by
   19.24 + * your own identifying information:
   19.25 + * "Portions Copyrighted [year] [name of copyright owner]"
   19.26 + * 
   19.27 + * If you wish your version of this file to be governed by only the CDDL
   19.28 + * or only the GPL Version 2, indicate your decision by adding
   19.29 + * "[Contributor] elects to include this software in this distribution
   19.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
   19.31 + * single choice of license, a recipient has the option to distribute
   19.32 + * your version of this file under either the CDDL, the GPL Version 2 or
   19.33 + * to extend the choice of license to its licensees as provided above.
   19.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
   19.35 + * Version 2 license, then the option applies only if the new code is
   19.36 + * made subject to such option by the copyright holder.
   19.37 + * 
   19.38 + * Contributor(s):
   19.39 + * 
   19.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
   19.41 + */
   19.42 +package org.netbeans.modules.ada.editor.ast.nodes;
   19.43 +
   19.44 +import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
   19.45 +
   19.46 +/**
   19.47 + * Based on org.netbeans.modules.php.editor.parser.astnodes.InfixExpression
   19.48 + * 
   19.49 + * Represents an infix expression
   19.50 + * <pre>e.g.<pre> $a + 1,
   19.51 + * 3 - 2,
   19.52 + * foo() * $a->bar(),
   19.53 + * 'string'.$c
   19.54 + */
   19.55 +public class InfixExpression extends Expression {
   19.56 +
   19.57 +    public enum OperatorType {
   19.58 +        IS_EQUAL, // '='
   19.59 +    	IS_NOT_EQUAL, // '/='
   19.60 +        RGREATER, // '<'
   19.61 +        IS_SMALLER_OR_EQUAL, // '<='
   19.62 +        LGREATER, // '>'
   19.63 +    	IS_GREATER_OR_EQUAL, // '>='
   19.64 +        BOOL_OR, // 'or'
   19.65 +        BOOL_AND, // 'and'
   19.66 +        BOOL_XOR, // 'xor'
   19.67 +    	STRING_AND, // '&'
   19.68 +        OR, // '|'
   19.69 +    	EXPON, // '**'
   19.70 +        PLUS, // '+'
   19.71 +        MINUS, // '-'
   19.72 +    	MUL, // '*'
   19.73 +        DIV, // '/'
   19.74 +        MOD, // 'mod'
   19.75 +        REM, // 'rem'
   19.76 +        IN, // 'in'
   19.77 +    	NOT_IN // 'not in'
   19.78 +    }
   19.79 +    
   19.80 +    private Expression left;
   19.81 +    private InfixExpression.OperatorType operator;
   19.82 +    private Expression right;
   19.83 +
   19.84 +    public InfixExpression(int start, int end, Expression left, InfixExpression.OperatorType operator, Expression right) {
   19.85 +        super(start, end);
   19.86 +
   19.87 +        if (right == null || left == null ) {
   19.88 +            throw new IllegalArgumentException();
   19.89 +        }
   19.90 +
   19.91 +        this.left = left;
   19.92 +        this.right = right;
   19.93 +        this.operator = operator;
   19.94 +    }
   19.95 +
   19.96 +    
   19.97 +
   19.98 +    /**
   19.99 +     * Returns the operator of this infix expression.
  19.100 +     * 
  19.101 +     * @return the infix operator
  19.102 +     */
  19.103 +    public InfixExpression.OperatorType getOperator() {
  19.104 +        return this.operator;
  19.105 +    }
  19.106 +
  19.107 +    /**
  19.108 +     * Returns the left operand of this infix expression.
  19.109 +     * 
  19.110 +     * @return the left operand node
  19.111 +     */
  19.112 +    public Expression getLeft() {
  19.113 +        return this.left;
  19.114 +    }
  19.115 +
  19.116 +    /**
  19.117 +     * Returns the right operand of this infix expression.
  19.118 +     * 
  19.119 +     * @return the right operand node
  19.120 +     */
  19.121 +    public Expression getRight() {
  19.122 +        return this.right;
  19.123 +    }
  19.124 +    
  19.125 +    @Override
  19.126 +    public void accept(Visitor visitor) {
  19.127 +        visitor.visit(this);
  19.128 +    }
  19.129 +}
    20.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/MethodInvocation.java	Wed Feb 24 15:52:30 2010 -0500
    20.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/MethodInvocation.java	Sun Aug 22 23:37:11 2010 +0200
    20.3 @@ -53,7 +53,7 @@
    20.4      private MethodName name;
    20.5      private final ArrayList<Expression> parameters = new ArrayList<Expression>();
    20.6  
    20.7 -    private MethodInvocation(int start, int end, VariableBase dispatcher, MethodName methodName, Expression[] parameters) {
    20.8 +    private MethodInvocation(int start, int end, NameBase dispatcher, MethodName methodName, Expression[] parameters) {
    20.9          super(start, end, dispatcher);
   20.10          this.name = methodName;
   20.11          for (Expression expression : parameters) {
   20.12 @@ -61,7 +61,7 @@
   20.13          }
   20.14      }
   20.15  
   20.16 -    public MethodInvocation(int start, int end, VariableBase dispatcher, MethodName methodName, List<Expression> parameters) {
   20.17 +    public MethodInvocation(int start, int end, NameBase dispatcher, MethodName methodName, List<Expression> parameters) {
   20.18          this(start, end, dispatcher, methodName, parameters == null ? null : (Expression[]) parameters.toArray(new Expression[parameters.size()]));
   20.19      }
   20.20  
    21.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/NameBase.java	Sun Aug 22 23:37:11 2010 +0200
    21.3 @@ -0,0 +1,57 @@
    21.4 +/*
    21.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
    21.6 + * 
    21.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
    21.8 + * 
    21.9 + * The contents of this file are subject to the terms of either the GNU
   21.10 + * General Public License Version 2 only ("GPL") or the Common
   21.11 + * Development and Distribution License("CDDL") (collectively, the
   21.12 + * "License"). You may not use this file except in compliance with the
   21.13 + * License. You can obtain a copy of the License at
   21.14 + * http://www.netbeans.org/cddl-gplv2.html
   21.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
   21.16 + * specific language governing permissions and limitations under the
   21.17 + * License.  When distributing the software, include this License Header
   21.18 + * Notice in each file and include the License file at
   21.19 + * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
   21.20 + * particular file as subject to the "Classpath" exception as provided
   21.21 + * by Sun in the GPL Version 2 section of the License file that
   21.22 + * accompanied this code. If applicable, add the following below the
   21.23 + * License Header, with the fields enclosed by brackets [] replaced by
   21.24 + * your own identifying information:
   21.25 + * "Portions Copyrighted [year] [name of copyright owner]"
   21.26 + * 
   21.27 + * If you wish your version of this file to be governed by only the CDDL
   21.28 + * or only the GPL Version 2, indicate your decision by adding
   21.29 + * "[Contributor] elects to include this software in this distribution
   21.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
   21.31 + * single choice of license, a recipient has the option to distribute
   21.32 + * your version of this file under either the CDDL, the GPL Version 2 or
   21.33 + * to extend the choice of license to its licensees as provided above.
   21.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
   21.35 + * Version 2 license, then the option applies only if the new code is
   21.36 + * made subject to such option by the copyright holder.
   21.37 + * 
   21.38 + * Contributor(s):
   21.39 + * 
   21.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
   21.41 + */
   21.42 +package org.netbeans.modules.ada.editor.ast.nodes;
   21.43 +
   21.44 +import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
   21.45 +
   21.46 +/**
   21.47 + * This interface is base for all the Ada variables
   21.48 + * including simple variable, function invocation, list, dispatch, etc.
   21.49 + */
   21.50 +public class NameBase extends Expression {
   21.51 +
   21.52 +    public NameBase(int start, int end) {
   21.53 +        super(start, end);
   21.54 +    }
   21.55 +
   21.56 +    @Override
   21.57 +    public void accept(Visitor visitor) {
   21.58 +        visitor.visit(this);
   21.59 +    }
   21.60 +}
    22.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/PackageName.java	Wed Feb 24 15:52:30 2010 -0500
    22.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/PackageName.java	Sun Aug 22 23:37:11 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 package name. 
   22.11 @@ -49,7 +48,7 @@
   22.12   *
   22.13   * @author Andrea Lucarelli
   22.14   */
   22.15 -public class PackageName extends ASTNode {
   22.16 +public class PackageName extends NameBase {
   22.17  
   22.18      private Identifier packageName;
   22.19  
    23.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/RaiseStatement.java	Wed Feb 24 15:52:30 2010 -0500
    23.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/RaiseStatement.java	Sun Aug 22 23:37:11 2010 +0200
    23.3 @@ -48,9 +48,9 @@
    23.4   */
    23.5  public class RaiseStatement extends Statement {
    23.6  
    23.7 -    private String exceptionName;
    23.8 +    private Expression exceptionName;
    23.9  
   23.10 -    public RaiseStatement(int start, int end, String exceptionName) {
   23.11 +    public RaiseStatement(int start, int end, Expression exceptionName) {
   23.12          super(start, end);
   23.13          this.exceptionName = exceptionName;
   23.14      }
   23.15 @@ -60,7 +60,7 @@
   23.16       * 
   23.17       * @return the exceptionName node
   23.18       */
   23.19 -    public String getExceptionName() {
   23.20 +    public Expression getExceptionName() {
   23.21          return exceptionName;
   23.22      }
   23.23  
    24.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Range.java	Sun Aug 22 23:37:11 2010 +0200
    24.3 @@ -0,0 +1,86 @@
    24.4 +/*
    24.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
    24.6 + * 
    24.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
    24.8 + * 
    24.9 + * The contents of this file are subject to the terms of either the GNU
   24.10 + * General Public License Version 2 only ("GPL") or the Common
   24.11 + * Development and Distribution License("CDDL") (collectively, the
   24.12 + * "License"). You may not use this file except in compliance with the
   24.13 + * License. You can obtain a copy of the License at
   24.14 + * http://www.netbeans.org/cddl-gplv2.html
   24.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
   24.16 + * specific language governing permissions and limitations under the
   24.17 + * License.  When distributing the software, include this License Header
   24.18 + * Notice in each file and include the License file at
   24.19 + * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
   24.20 + * particular file as subject to the "Classpath" exception as provided
   24.21 + * by Sun in the GPL Version 2 section of the License file that
   24.22 + * accompanied this code. If applicable, add the following below the
   24.23 + * License Header, with the fields enclosed by brackets [] replaced by
   24.24 + * your own identifying information:
   24.25 + * "Portions Copyrighted [year] [name of copyright owner]"
   24.26 + * 
   24.27 + * If you wish your version of this file to be governed by only the CDDL
   24.28 + * or only the GPL Version 2, indicate your decision by adding
   24.29 + * "[Contributor] elects to include this software in this distribution
   24.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
   24.31 + * single choice of license, a recipient has the option to distribute
   24.32 + * your version of this file under either the CDDL, the GPL Version 2 or
   24.33 + * to extend the choice of license to its licensees as provided above.
   24.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
   24.35 + * Version 2 license, then the option applies only if the new code is
   24.36 + * made subject to such option by the copyright holder.
   24.37 + * 
   24.38 + * Contributor(s):
   24.39 + * 
   24.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
   24.41 + */
   24.42 +package org.netbeans.modules.ada.editor.ast.nodes;
   24.43 +
   24.44 +import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
   24.45 +
   24.46 +/**
   24.47 + * 
   24.48 + * Represents an range expression
   24.49 + * <pre>e.g.<pre>
   24.50 + */
   24.51 +public class Range extends Expression {
   24.52 +
   24.53 +    private Expression left;
   24.54 +    private Expression right;
   24.55 +
   24.56 +    public Range(int start, int end, Expression left, Expression right) {
   24.57 +        super(start, end);
   24.58 +
   24.59 +        if (right == null || left == null ) {
   24.60 +            throw new IllegalArgumentException();
   24.61 +        }
   24.62 +
   24.63 +        this.left = left;
   24.64 +        this.right = right;
   24.65 +    }
   24.66 +
   24.67 +    /**
   24.68 +     * Returns the left operand of this range expression.
   24.69 +     * 
   24.70 +     * @return the left operand node
   24.71 +     */
   24.72 +    public Expression getLeft() {
   24.73 +        return this.left;
   24.74 +    }
   24.75 +
   24.76 +    /**
   24.77 +     * Returns the right operand of this range expression.
   24.78 +     * 
   24.79 +     * @return the right operand node
   24.80 +     */
   24.81 +    public Expression getRight() {
   24.82 +        return this.right;
   24.83 +    }
   24.84 +    
   24.85 +    @Override
   24.86 +    public void accept(Visitor visitor) {
   24.87 +        visitor.visit(this);
   24.88 +    }
   24.89 +}
    25.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Reference.java	Wed Feb 24 15:52:30 2010 -0500
    25.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Reference.java	Sun Aug 22 23:37:11 2010 +0200
    25.3 @@ -59,7 +59,7 @@
    25.4          this.expression = expression;
    25.5      }
    25.6  
    25.7 -    public Reference(int start, int end, VariableBase variable) {
    25.8 +    public Reference(int start, int end, NameBase variable) {
    25.9          this(start, end, (Expression)variable);
   25.10      }
   25.11  
    26.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Scalar.java	Wed Feb 24 15:52:30 2010 -0500
    26.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Scalar.java	Sun Aug 22 23:37:11 2010 +0200
    26.3 @@ -54,20 +54,9 @@
    26.4          REAL, // 'real'
    26.5          STRING, // 'string'
    26.6          UNKNOWN, // unknown scalar in quote expression
    26.7 -        SYSTEM // system scalars (__CLASS__ / ...)
    26.8 -                
    26.9 +        SYSTEM // (NULL, etc.)
   26.10      }
   26.11 -    // 'int'
   26.12 -    //public static final int TYPE_INT = 0;
   26.13 -    // 'real'
   26.14 -    //public static final int TYPE_REAL = 1;
   26.15 -    // 'string'
   26.16 -    //public static final int TYPE_STRING = 2;
   26.17 -    // unknown scalar in quote expression
   26.18 -    //public static final int TYPE_UNKNOWN = 3;
   26.19 -    // system scalars (__CLASS__ / ...)
   26.20 -    //public static final int TYPE_SYSTEM = 4;
   26.21 -    
   26.22 +
   26.23      private String stringValue;
   26.24      private Type scalarType;
   26.25  
    27.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/SubprogramBody.java	Wed Feb 24 15:52:30 2010 -0500
    27.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/SubprogramBody.java	Sun Aug 22 23:37:11 2010 +0200
    27.3 @@ -67,14 +67,14 @@
    27.4   */
    27.5  public class SubprogramBody extends Statement {
    27.6  
    27.7 -	private SubprogramSpecification subprogramSpecification;
    27.8 -	private Identifier subprogramNameEnd;
    27.9 +    private SubprogramSpecification subprogramSpecification;
   27.10 +    private Identifier subprogramNameEnd;
   27.11      private Block declarations;
   27.12      private Block body;
   27.13  
   27.14      public SubprogramBody(int start, int end, SubprogramSpecification subprogramSpecification, Block declarations, Block body, Identifier subprogramNameEnd) {
   27.15          super(start, end);
   27.16 -		this.subprogramSpecification = subprogramSpecification;
   27.17 +        this.subprogramSpecification = subprogramSpecification;
   27.18          this.declarations = declarations;
   27.19          this.body = body;
   27.20          this.subprogramNameEnd = subprogramNameEnd;
   27.21 @@ -98,11 +98,11 @@
   27.22          return body;
   27.23      }
   27.24  
   27.25 -	public SubprogramSpecification getSubprogramSpecification() {
   27.26 -		return subprogramSpecification;
   27.27 -	}
   27.28 +    public SubprogramSpecification getSubprogramSpecification() {
   27.29 +        return subprogramSpecification;
   27.30 +    }
   27.31  
   27.32 -	public Identifier getSubprogramNameEnd() {
   27.33 +    public Identifier getSubprogramNameEnd() {
   27.34          return subprogramNameEnd;
   27.35      }
   27.36  
    28.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/TypeAccess.java	Sun Aug 22 23:37:11 2010 +0200
    28.3 @@ -0,0 +1,78 @@
    28.4 +/*
    28.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
    28.6 + * 
    28.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
    28.8 + * 
    28.9 + * The contents of this file are subject to the terms of either the GNU
   28.10 + * General Public License Version 2 only ("GPL") or the Common
   28.11 + * Development and Distribution License("CDDL") (collectively, the
   28.12 + * "License"). You may not use this file except in compliance with the
   28.13 + * License. You can obtain a copy of the License at
   28.14 + * http://www.netbeans.org/cddl-gplv2.html
   28.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
   28.16 + * specific language governing permissions and limitations under the
   28.17 + * License.  When distributing the software, include this License Header
   28.18 + * Notice in each file and include the License file at
   28.19 + * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
   28.20 + * particular file as subject to the "Classpath" exception as provided
   28.21 + * by Sun in the GPL Version 2 section of the License file that
   28.22 + * accompanied this code. If applicable, add the following below the
   28.23 + * License Header, with the fields enclosed by brackets [] replaced by
   28.24 + * your own identifying information:
   28.25 + * "Portions Copyrighted [year] [name of copyright owner]"
   28.26 + * 
   28.27 + * If you wish your version of this file to be governed by only the CDDL
   28.28 + * or only the GPL Version 2, indicate your decision by adding
   28.29 + * "[Contributor] elects to include this software in this distribution
   28.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
   28.31 + * single choice of license, a recipient has the option to distribute
   28.32 + * your version of this file under either the CDDL, the GPL Version 2 or
   28.33 + * to extend the choice of license to its licensees as provided above.
   28.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
   28.35 + * Version 2 license, then the option applies only if the new code is
   28.36 + * made subject to such option by the copyright holder.
   28.37 + * 
   28.38 + * Contributor(s):
   28.39 + * 
   28.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
   28.41 + */
   28.42 +package org.netbeans.modules.ada.editor.ast.nodes;
   28.43 +
   28.44 +import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
   28.45 +
   28.46 +/**
   28.47 + * Represents a field access
   28.48 + * <pre>e.g.<pre>
   28.49 + *
   28.50 + * MyPackage.Foo
   28.51 + */
   28.52 +public class TypeAccess extends Dispatch {
   28.53 +
   28.54 +    private TypeName field;
   28.55 +
   28.56 +    public TypeAccess(int start, int end, NameBase dispatcher, TypeName field) {
   28.57 +        super(start, end, dispatcher);
   28.58 +        this.field = field;
   28.59 +    }
   28.60 +
   28.61 +    /**
   28.62 +     * Return the field component of this field access
   28.63 +     * 
   28.64 +     * @return the field component of this field access
   28.65 +     */
   28.66 +    public TypeName getField() {
   28.67 +        return field;
   28.68 +    }
   28.69 +
   28.70 +    /**
   28.71 +     * see {@link #getField()}
   28.72 +     */
   28.73 +    public NameBase getMember() {
   28.74 +        return getField();
   28.75 +    }
   28.76 +    
   28.77 +    @Override
   28.78 +    public void accept(Visitor visitor) {
   28.79 +        visitor.visit(this);
   28.80 +    }
   28.81 +}
    29.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/TypeName.java	Wed Feb 24 15:52:30 2010 -0500
    29.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/TypeName.java	Sun Aug 22 23:37:11 2010 +0200
    29.3 @@ -40,7 +40,6 @@
    29.4  package org.netbeans.modules.ada.editor.ast.nodes;
    29.5  
    29.6  import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
    29.7 -import org.netbeans.modules.ada.editor.ast.ASTNode;
    29.8  
    29.9  /**
   29.10   * Holds a type name. 
   29.11 @@ -49,14 +48,24 @@
   29.12   *
   29.13   * @author Andrea Lucarelli
   29.14   */
   29.15 -public class TypeName extends ASTNode {
   29.16 +public class TypeName extends NameBase {
   29.17  
   29.18      private Identifier typeName;
   29.19 +    private String attributeId;
   29.20 +    private boolean isBaseType = false;
   29.21  
   29.22      public TypeName(int start, int end, Identifier typeName) {
   29.23          super(start, end);
   29.24          assert (typeName != null);
   29.25          this.typeName = typeName;
   29.26 +
   29.27 +        if (typeName.getName().equalsIgnoreCase("boolean") ||
   29.28 +            typeName.getName().equalsIgnoreCase("character") ||
   29.29 +            typeName.getName().equalsIgnoreCase("float") ||
   29.30 +            typeName.getName().equalsIgnoreCase("integer") ||
   29.31 +            typeName.getName().equalsIgnoreCase("wide_character")) {
   29.32 +            this.isBaseType = true;
   29.33 +        }
   29.34      }
   29.35  
   29.36      /**
   29.37 @@ -67,6 +76,18 @@
   29.38      public Identifier getTypeName() {
   29.39          return this.typeName;
   29.40      }
   29.41 +
   29.42 +    public boolean isIsBaseType() {
   29.43 +        return isBaseType;
   29.44 +    }
   29.45 +
   29.46 +    public String getAttributeId() {
   29.47 +        return attributeId;
   29.48 +    }
   29.49 +
   29.50 +    public void setAttributeId(String attributeId) {
   29.51 +        this.attributeId = attributeId;
   29.52 +    }
   29.53      
   29.54      @Override
   29.55      public void accept(Visitor visitor) {
    30.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/UnaryOperation.java	Wed Feb 24 15:52:30 2010 -0500
    30.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/UnaryOperation.java	Sun Aug 22 23:37:11 2010 +0200
    30.3 @@ -52,7 +52,9 @@
    30.4      public enum Operator {
    30.5          PLUS, // '+'
    30.6          MINUS, // '-'
    30.7 -        AMP // '&'
    30.8 +        AMP, // '&'
    30.9 +        NOT, // 'not'
   30.10 +        ABS // 'abs'
   30.11      }
   30.12      
   30.13      private Expression expression;
    31.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Variable.java	Wed Feb 24 15:52:30 2010 -0500
    31.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/Variable.java	Sun Aug 22 23:37:11 2010 +0200
    31.3 @@ -36,7 +36,6 @@
    31.4   *
    31.5   * Portions Copyrighted 2008 Sun Microsystems, Inc.
    31.6   */
    31.7 -
    31.8  package org.netbeans.modules.ada.editor.ast.nodes;
    31.9  
   31.10  import org.netbeans.modules.ada.editor.ast.nodes.visitors.Visitor;
   31.11 @@ -55,7 +54,7 @@
   31.12   *
   31.13   * @author Andrea Lucarelli
   31.14   */
   31.15 -public class Variable extends VariableBase {
   31.16 +public class Variable extends NameBase {
   31.17  
   31.18      public enum Kind {
   31.19          DEFAULT,
   31.20 @@ -63,10 +62,9 @@
   31.21          ALIASED,
   31.22          ALIASED_CONSTANT,
   31.23      }
   31.24 -
   31.25      private Identifier name;
   31.26      private Kind variableKind;
   31.27 -	private TypeName variableType;
   31.28 +    private TypeName variableType;
   31.29  
   31.30      public Variable(int start, int end, Identifier variableName, Variable.Kind kind, TypeName type) {
   31.31          super(start, end);
   31.32 @@ -75,13 +73,13 @@
   31.33          this.variableType = type;
   31.34      }
   31.35  
   31.36 -	public Variable(int start, int end, Identifier variableName, Variable.Kind kind) {
   31.37 -		this(start, end, variableName, kind, null);
   31.38 -	}
   31.39 +    public Variable(int start, int end, Identifier variableName, Variable.Kind kind) {
   31.40 +        this(start, end, variableName, kind, null);
   31.41 +    }
   31.42  
   31.43 -	public Variable(int start, int end, Identifier variableName) {
   31.44 -		this(start, end, variableName, Kind.DEFAULT, null);
   31.45 -	}
   31.46 +    public Variable(int start, int end, Identifier variableName) {
   31.47 +        this(start, end, variableName, Kind.DEFAULT, null);
   31.48 +    }
   31.49  
   31.50      /**
   31.51       * Returns the name (Identifier) of this variable
   31.52 @@ -92,7 +90,7 @@
   31.53          return this.name;
   31.54      }
   31.55  
   31.56 -	/**
   31.57 +    /**
   31.58       * Returns the type of this variable
   31.59       * 
   31.60       * @return the type node
   31.61 @@ -101,6 +99,16 @@
   31.62          return this.variableType;
   31.63      }
   31.64  
   31.65 +    /**
   31.66 +     * Returns the kind of this variable
   31.67 +     *
   31.68 +     * @return the kind node
   31.69 +     */
   31.70 +    public Kind getVariableKind() {
   31.71 +        return variableKind;
   31.72 +    }
   31.73 +    
   31.74 +
   31.75      @Override
   31.76      public void accept(Visitor visitor) {
   31.77          visitor.visit(this);
    32.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/DefaultTreePathVisitor.java	Wed Feb 24 15:52:30 2010 -0500
    32.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/DefaultTreePathVisitor.java	Sun Aug 22 23:37:11 2010 +0200
    32.3 @@ -59,6 +59,7 @@
    32.4  import org.netbeans.modules.ada.editor.ast.nodes.GotoStatement;
    32.5  import org.netbeans.modules.ada.editor.ast.nodes.Identifier;
    32.6  import org.netbeans.modules.ada.editor.ast.nodes.IfStatement;
    32.7 +import org.netbeans.modules.ada.editor.ast.nodes.InfixExpression;
    32.8  import org.netbeans.modules.ada.editor.ast.nodes.LoopStatement;
    32.9  import org.netbeans.modules.ada.editor.ast.nodes.MethodDeclaration;
   32.10  import org.netbeans.modules.ada.editor.ast.nodes.NullStatement;
   32.11 @@ -70,6 +71,7 @@
   32.12  import org.netbeans.modules.ada.editor.ast.nodes.Program;
   32.13  import org.netbeans.modules.ada.editor.ast.nodes.QualifiedExpression;
   32.14  import org.netbeans.modules.ada.editor.ast.nodes.RaiseStatement;
   32.15 +import org.netbeans.modules.ada.editor.ast.nodes.Range;
   32.16  import org.netbeans.modules.ada.editor.ast.nodes.Reference;
   32.17  import org.netbeans.modules.ada.editor.ast.nodes.ReturnStatement;
   32.18  import org.netbeans.modules.ada.editor.ast.nodes.Scalar;
   32.19 @@ -115,6 +117,13 @@
   32.20      }
   32.21  
   32.22      @Override
   32.23 +    public void visit(ASTNode node) {
   32.24 +        path.addFirst(node);
   32.25 +        super.visit(node);
   32.26 +        path.removeFirst();
   32.27 +    }
   32.28 +
   32.29 +    @Override
   32.30      public void visit(AbortStatement node) {
   32.31          path.addFirst(node);
   32.32          super.visit(node);
   32.33 @@ -143,6 +152,27 @@
   32.34      }
   32.35  
   32.36      @Override
   32.37 +    public void visit(BlockStatement node) {
   32.38 +        path.addFirst(node);
   32.39 +        super.visit(node);
   32.40 +        path.removeFirst();
   32.41 +    }
   32.42 +
   32.43 +    @Override
   32.44 +    public void visit(CaseStatement node) {
   32.45 +        path.addFirst(node);
   32.46 +        super.visit(node);
   32.47 +        path.removeFirst();
   32.48 +    }
   32.49 +
   32.50 +    @Override
   32.51 +    public void visit(CaseWhen node) {
   32.52 +        path.addFirst(node);
   32.53 +        super.visit(node);
   32.54 +        path.removeFirst();
   32.55 +    }
   32.56 +
   32.57 +    @Override
   32.58      public void visit(CodeStatement node) {
   32.59          path.addFirst(node);
   32.60          super.visit(node);
   32.61 @@ -199,6 +229,20 @@
   32.62      }
   32.63  
   32.64      @Override
   32.65 +    public void visit(IfStatement node) {
   32.66 +        path.addFirst(node);
   32.67 +        super.visit(node);
   32.68 +        path.removeFirst();
   32.69 +    }
   32.70 +
   32.71 +    @Override
   32.72 +    public void visit(InfixExpression node) {
   32.73 +        path.addFirst(node);
   32.74 +        super.visit(node);
   32.75 +        path.removeFirst();
   32.76 +    }
   32.77 +
   32.78 +    @Override
   32.79      public void visit(LoopStatement node) {
   32.80          path.addFirst(node);
   32.81          super.visit(node);
   32.82 @@ -241,6 +285,13 @@
   32.83      }
   32.84  
   32.85      @Override
   32.86 +    public void visit(PackageRenames node) {
   32.87 +        path.addFirst(node);
   32.88 +        super.visit(node);
   32.89 +        path.removeFirst();
   32.90 +    }
   32.91 +
   32.92 +    @Override
   32.93      public void visit(PackageSpecification node) {
   32.94          path.addFirst(node);
   32.95          super.visit(node);
   32.96 @@ -262,6 +313,13 @@
   32.97      }
   32.98  
   32.99      @Override
  32.100 +    public void visit(Range node) {
  32.101 +        path.addFirst(node);
  32.102 +        super.visit(node);
  32.103 +        path.removeFirst();
  32.104 +    }
  32.105 +
  32.106 +    @Override
  32.107      public void visit(RaiseStatement node) {
  32.108          path.addFirst(node);
  32.109          super.visit(node);
  32.110 @@ -360,48 +418,6 @@
  32.111      }
  32.112  
  32.113      @Override
  32.114 -    public void visit(BlockStatement node) {
  32.115 -        path.addFirst(node);
  32.116 -        super.visit(node);
  32.117 -        path.removeFirst();
  32.118 -    }
  32.119 -
  32.120 -    @Override
  32.121 -    public void visit(CaseStatement node) {
  32.122 -        path.addFirst(node);
  32.123 -        super.visit(node);
  32.124 -        path.removeFirst();
  32.125 -    }
  32.126 -
  32.127 -    @Override
  32.128 -    public void visit(CaseWhen node) {
  32.129 -        path.addFirst(node);
  32.130 -        super.visit(node);
  32.131 -        path.removeFirst();
  32.132 -    }
  32.133 -
  32.134 -    @Override
  32.135 -    public void visit(IfStatement node) {
  32.136 -        path.addFirst(node);
  32.137 -        super.visit(node);
  32.138 -        path.removeFirst();
  32.139 -    }
  32.140 -
  32.141 -    @Override
  32.142 -    public void visit(PackageRenames node) {
  32.143 -        path.addFirst(node);
  32.144 -        super.visit(node);
  32.145 -        path.removeFirst();
  32.146 -    }
  32.147 -
  32.148 -    @Override
  32.149 -    public void visit(ASTNode node) {
  32.150 -        path.addFirst(node);
  32.151 -        super.visit(node);
  32.152 -        path.removeFirst();
  32.153 -    }
  32.154 -
  32.155 -    @Override
  32.156      public void visit(UnaryOperation node) {
  32.157          path.addFirst(node);
  32.158          super.visit(node);
    33.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/DefaultVisitor.java	Wed Feb 24 15:52:30 2010 -0500
    33.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/DefaultVisitor.java	Sun Aug 22 23:37:11 2010 +0200
    33.3 @@ -56,6 +56,7 @@
    33.4  import org.netbeans.modules.ada.editor.ast.nodes.GotoStatement;
    33.5  import org.netbeans.modules.ada.editor.ast.nodes.Identifier;
    33.6  import org.netbeans.modules.ada.editor.ast.nodes.IfStatement;
    33.7 +import org.netbeans.modules.ada.editor.ast.nodes.InfixExpression;
    33.8  import org.netbeans.modules.ada.editor.ast.nodes.LoopStatement;
    33.9  import org.netbeans.modules.ada.editor.ast.nodes.MethodDeclaration;
   33.10  import org.netbeans.modules.ada.editor.ast.nodes.NullStatement;
   33.11 @@ -67,6 +68,7 @@
   33.12  import org.netbeans.modules.ada.editor.ast.nodes.Program;
   33.13  import org.netbeans.modules.ada.editor.ast.nodes.QualifiedExpression;
   33.14  import org.netbeans.modules.ada.editor.ast.nodes.RaiseStatement;
   33.15 +import org.netbeans.modules.ada.editor.ast.nodes.Range;
   33.16  import org.netbeans.modules.ada.editor.ast.nodes.Reference;
   33.17  import org.netbeans.modules.ada.editor.ast.nodes.ReturnStatement;
   33.18  import org.netbeans.modules.ada.editor.ast.nodes.Scalar;
   33.19 @@ -127,6 +129,22 @@
   33.20          scan(node.getStatements());
   33.21      }
   33.22  
   33.23 +    public void visit(BlockStatement node) {
   33.24 +        scan(node.getLabel());
   33.25 +        scan(node.getDeclarations());
   33.26 +        scan(node.getBody());
   33.27 +    }
   33.28 +
   33.29 +    public void visit(CaseStatement node) {
   33.30 +        scan(node.getExpression());
   33.31 +        scan(node.getBody());
   33.32 +    }
   33.33 +
   33.34 +    public void visit(CaseWhen node) {
   33.35 +        scan(node.getValue());
   33.36 +        scan(node.getActions());
   33.37 +    }
   33.38 +
   33.39      public void visit(CodeStatement node) {
   33.40          scan(node.getExpression());
   33.41      }
   33.42 @@ -158,6 +176,17 @@
   33.43      public void visit(Identifier node) {
   33.44      }
   33.45  
   33.46 +    public void visit(IfStatement node) {
   33.47 +        scan(node.getCondition());
   33.48 +        scan(node.getTrueStatement());
   33.49 +        scan(node.getFalseStatement());
   33.50 +    }
   33.51 +
   33.52 +    public void visit(InfixExpression node) {
   33.53 +        scan(node.getLeft());
   33.54 +        scan(node.getRight());
   33.55 +    }
   33.56 +
   33.57      public void visit(LoopStatement node) {
   33.58          scan(node.getCondition());
   33.59          scan(node.getBody());
   33.60 @@ -193,6 +222,11 @@
   33.61          scan(node.getBody());
   33.62      }
   33.63  
   33.64 +    public void visit(PackageRenames node) {
   33.65 +        scan(node.getName());
   33.66 +        scan(node.getPackageRenames());
   33.67 +    }
   33.68 +
   33.69      public void visit(Program node) {
   33.70          scan(node.getStatements());
   33.71      }
   33.72 @@ -202,6 +236,11 @@
   33.73          scan(node.getExpression());
   33.74      }
   33.75  
   33.76 +    public void visit(Range node) {
   33.77 +        scan(node.getLeft());
   33.78 +        scan(node.getRight());
   33.79 +    }
   33.80 +
   33.81      public void visit(Reference node) {
   33.82          scan(node.getExpression());
   33.83      }
   33.84 @@ -223,7 +262,7 @@
   33.85          scan(node.getParentType());
   33.86      }
   33.87  
   33.88 -	public void visit(TaskName node) {
   33.89 +    public void visit(TaskName node) {
   33.90          scan(node.getTaskName());
   33.91      }
   33.92  
   33.93 @@ -263,33 +302,6 @@
   33.94          scan(node.getPackages());
   33.95      }
   33.96  
   33.97 -    public void visit(BlockStatement node) {
   33.98 -        scan(node.getLabel());
   33.99 -        scan(node.getDeclarations());
  33.100 -        scan(node.getBody());
  33.101 -    }
  33.102 -
  33.103 -    public void visit(CaseStatement node) {
  33.104 -        scan(node.getExpression());
  33.105 -        scan(node.getBody());
  33.106 -    }
  33.107 -
  33.108 -    public void visit(CaseWhen node) {
  33.109 -        scan(node.getValue());
  33.110 -        scan(node.getActions());
  33.111 -    }
  33.112 -
  33.113 -    public void visit(IfStatement node) {
  33.114 -        scan(node.getCondition());
  33.115 -        scan(node.getTrueStatement());
  33.116 -        scan(node.getFalseStatement());
  33.117 -    }
  33.118 -
  33.119 -    public void visit(PackageRenames node) {
  33.120 -        scan(node.getName());
  33.121 -        scan(node.getPackageRenames());
  33.122 -    }
  33.123 -
  33.124      public void visit(UnaryOperation node) {
  33.125          scan(node.getExpression());
  33.126      }
    34.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/Visitor.java	Wed Feb 24 15:52:30 2010 -0500
    34.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/ast/nodes/visitors/Visitor.java	Sun Aug 22 23:37:11 2010 +0200
    34.3 @@ -62,6 +62,7 @@
    34.4  import org.netbeans.modules.ada.editor.ast.nodes.FormalParameter;
    34.5  import org.netbeans.modules.ada.editor.ast.nodes.GotoStatement;
    34.6  import org.netbeans.modules.ada.editor.ast.nodes.IfStatement;
    34.7 +import org.netbeans.modules.ada.editor.ast.nodes.InfixExpression;
    34.8  import org.netbeans.modules.ada.editor.ast.nodes.LoopStatement;
    34.9  import org.netbeans.modules.ada.editor.ast.nodes.MethodDeclaration;
   34.10  import org.netbeans.modules.ada.editor.ast.nodes.NullStatement;
   34.11 @@ -70,6 +71,7 @@
   34.12  import org.netbeans.modules.ada.editor.ast.nodes.PackageRenames;
   34.13  import org.netbeans.modules.ada.editor.ast.nodes.QualifiedExpression;
   34.14  import org.netbeans.modules.ada.editor.ast.nodes.RaiseStatement;
   34.15 +import org.netbeans.modules.ada.editor.ast.nodes.Range;
   34.16  import org.netbeans.modules.ada.editor.ast.nodes.ReturnStatement;
   34.17  import org.netbeans.modules.ada.editor.ast.nodes.Scalar;
   34.18  import org.netbeans.modules.ada.editor.ast.nodes.SingleFieldDeclaration;
   34.19 @@ -94,10 +96,12 @@
   34.20  
   34.21      public void visit(AbortStatement node);
   34.22  
   34.23 -	public void visit(ArrayAccess arrayAccess);
   34.24 +    public void visit(ArrayAccess arrayAccess);
   34.25  
   34.26      public void visit(Assignment node);
   34.27  
   34.28 +    public void visit(Block node);
   34.29 +
   34.30      public void visit(BlockStatement node);
   34.31  
   34.32      public void visit(CaseStatement node);
   34.33 @@ -114,17 +118,19 @@
   34.34  
   34.35      public void visit(FieldsDeclaration node);
   34.36  
   34.37 -	public void visit(FormalParameter node);
   34.38 +    public void visit(FormalParameter node);
   34.39  
   34.40      public void visit(GotoStatement node);
   34.41  
   34.42      public void visit(Identifier node);
   34.43  
   34.44 +    public void visit(InfixExpression infixExpression);
   34.45 +
   34.46      public void visit(IfStatement node);
   34.47  
   34.48      public void visit(LoopStatement node);
   34.49  
   34.50 -	public void visit(MethodDeclaration node);
   34.51 +    public void visit(MethodDeclaration node);
   34.52  
   34.53      public void visit(NullStatement node);
   34.54  
   34.55 @@ -132,7 +138,7 @@
   34.56  
   34.57      public void visit(PackageBody node);
   34.58  
   34.59 -	public void visit(PackageInstanceCreation node);
   34.60 +    public void visit(PackageInstanceCreation node);
   34.61  
   34.62      public void visit(PackageName node);
   34.63  
   34.64 @@ -142,19 +148,21 @@
   34.65  
   34.66      public void visit(QualifiedExpression node);
   34.67  
   34.68 -	public void visit(Scalar node);
   34.69 +    public void visit(Scalar node);
   34.70  
   34.71 -	public void visit(SubprogramBody node);
   34.72 +    public void visit(SubprogramBody node);
   34.73  
   34.74 -	public void visit(SubprogramSpecification node);
   34.75 +    public void visit(SubprogramSpecification node);
   34.76  
   34.77      public void visit(RaiseStatement node);
   34.78  
   34.79 +    public void visit(Range node);
   34.80 +
   34.81      public void visit(ReturnStatement node);
   34.82  
   34.83      public void visit(SingleFieldDeclaration node);
   34.84  
   34.85 -	public void visit(SubtypeDeclaration node);
   34.86 +    public void visit(SubtypeDeclaration node);
   34.87  
   34.88      public void visit(TaskName node);
   34.89  
   34.90 @@ -169,6 +177,4 @@
   34.91      public void visit(Use node);
   34.92  
   34.93      public void visit(UnaryOperation node);
   34.94 -
   34.95 -    public void visit(Block node);
   34.96  }
    35.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/indexer/AdaElement.java	Wed Feb 24 15:52:30 2010 -0500
    35.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/indexer/AdaElement.java	Sun Aug 22 23:37:11 2010 +0200
    35.3 @@ -48,8 +48,9 @@
    35.4  import org.openide.filesystems.FileObject;
    35.5  
    35.6  /**
    35.7 + * Based on org.netbeans.modules.php.editor.index (Tor Norbye)
    35.8   *
    35.9 - * @author Tor Norbye
   35.10 + * @author Andrea Lucarelli
   35.11   */
   35.12  public abstract class AdaElement implements Element {
   35.13      public abstract String getName();
    36.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/indexer/Element.java	Wed Feb 24 15:52:30 2010 -0500
    36.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/indexer/Element.java	Sun Aug 22 23:37:11 2010 +0200
    36.3 @@ -43,7 +43,6 @@
    36.4  
    36.5  import java.util.Set;
    36.6  import org.netbeans.modules.csl.api.ElementHandle;
    36.7 -import org.netbeans.modules.csl.api.ElementKind;
    36.8  import org.netbeans.modules.csl.api.Modifier;
    36.9  
   36.10  /**
   36.11 @@ -53,6 +52,5 @@
   36.12  public interface Element extends ElementHandle {
   36.13      String getName();
   36.14      String getIn();
   36.15 -    ElementKind getKind();
   36.16      Set<Modifier> getModifiers();
   36.17  }
    37.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/Ada95ASTLexer.java	Wed Feb 24 15:52:30 2010 -0500
    37.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/Ada95ASTLexer.java	Sun Aug 22 23:37:11 2010 +0200
    37.3 @@ -1,4 +1,4 @@
    37.4 -/* The following code was generated by JFlex 1.4.2 on 08/02/09 0.16 */
    37.5 +/* The following code was generated by JFlex 1.4.3 on 07/10/09 11.49 */
    37.6  
    37.7  /*
    37.8   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
    37.9 @@ -50,9 +50,9 @@
   37.10  
   37.11  /**
   37.12   * This class is a scanner generated by 
   37.13 - * <a href="http://www.jflex.de/">JFlex</a> 1.4.2
   37.14 - * on 08/02/09 0.16 from the specification file
   37.15 - * <tt>C:/hg-repo/release65/contrib/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95ASTLexer.flex</tt>
   37.16 + * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
   37.17 + * on 07/10/09 11.49 from the specification file
   37.18 + * <tt>C:/hg-repo/release67_fixes/contrib/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95ASTLexer.flex</tt>
   37.19   */
   37.20  public class Ada95ASTLexer implements Scanner {
   37.21  
   37.22 @@ -828,6 +828,7 @@
   37.23      zzReader = reader;
   37.24      zzAtBOL  = true;
   37.25      zzAtEOF  = false;
   37.26 +    zzEOFDone  = false;
   37.27      zzEndRead = zzStartRead = 0;
   37.28      zzCurrentPos = zzMarkedPos = zzPushbackPos = 0;
   37.29      yyline = yychar = yycolumn = 0;
    38.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/Ada95SyntaxLexer.java	Wed Feb 24 15:52:30 2010 -0500
    38.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/Ada95SyntaxLexer.java	Sun Aug 22 23:37:11 2010 +0200
    38.3 @@ -1,4 +1,4 @@
    38.4 -/* The following code was generated by JFlex 1.4.2 on 08/02/09 10.47 */
    38.5 +/* The following code was generated by JFlex 1.4.3 on 07/10/09 11.44 */
    38.6  
    38.7  /*
    38.8   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
    38.9 @@ -45,9 +45,9 @@
   38.10  
   38.11  /**
   38.12   * This class is a scanner generated by 
   38.13 - * <a href="http://www.jflex.de/">JFlex</a> 1.4.2
   38.14 - * on 08/02/09 10.47 from the specification file
   38.15 - * <tt>C:/hg-repo/release65/contrib/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95SyntaxLexer.flex</tt>
   38.16 + * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
   38.17 + * on 07/10/09 11.44 from the specification file
   38.18 + * <tt>C:/hg-repo/release67_fixes/contrib/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95SyntaxLexer.flex</tt>
   38.19   */
   38.20  public class Ada95SyntaxLexer {
   38.21  
   38.22 @@ -1239,331 +1239,331 @@
   38.23            { return AdaTokenId.WITH;
   38.24            }
   38.25          case 126: break;
   38.26 +        case 121: 
   38.27 +          { return AdaTokenId.WIDE_CHARACTER;
   38.28 +          }
   38.29 +        case 127: break;
   38.30          case 13: 
   38.31            { return AdaTokenId.STAR;
   38.32            }
   38.33 -        case 127: break;
   38.34 +        case 128: break;
   38.35          case 79: 
   38.36            { return AdaTokenId.ABORT;
   38.37            }
   38.38 -        case 128: break;
   38.39 +        case 129: break;
   38.40          case 110: 
   38.41            { return AdaTokenId.FUNCTION;
   38.42            }
   38.43 -        case 129: break;
   38.44 +        case 130: break;
   38.45          case 72: 
   38.46            { return AdaTokenId.GOTO;
   38.47            }
   38.48 -        case 130: break;
   38.49 +        case 131: break;
   38.50          case 68: 
   38.51            { return AdaTokenId.THEN;
   38.52            }
   38.53 -        case 131: break;
   38.54 +        case 132: break;
   38.55          case 47: 
   38.56            { return AdaTokenId.FOR;
   38.57            }
   38.58 -        case 132: break;
   38.59 +        case 133: break;
   38.60          case 8: 
   38.61            { return  AdaTokenId.WHITESPACE;
   38.62            }
   38.63 -        case 133: break;
   38.64 +        case 134: break;
   38.65          case 14: 
   38.66            { return AdaTokenId.COMMA;
   38.67            }
   38.68 -        case 134: break;
   38.69 +        case 135: break;
   38.70          case 69: 
   38.71            { return AdaTokenId.CASE;
   38.72            }
   38.73 -        case 135: break;
   38.74 +        case 136: break;
   38.75          case 70: 
   38.76            { return AdaTokenId.LOOP;
   38.77            }
   38.78 -        case 136: break;
   38.79 +        case 137: break;
   38.80          case 118: 
   38.81            { return AdaTokenId.CHARACTER;
   38.82            }
   38.83 -        case 137: break;
   38.84 +        case 138: break;
   38.85          case 88: 
   38.86            { return AdaTokenId.END_IF;
   38.87            }
   38.88 -        case 138: break;
   38.89 +        case 139: break;
   38.90          case 120: 
   38.91            { return AdaTokenId.PROCEDURE;
   38.92            }
   38.93 -        case 139: break;
   38.94 +        case 140: break;
   38.95          case 82: 
   38.96            { return AdaTokenId.RAISE;
   38.97            }
   38.98 -        case 140: break;
   38.99 +        case 141: break;
  38.100          case 100: 
  38.101            { return AdaTokenId.RENAMES;
  38.102            }
  38.103 -        case 141: break;
  38.104 +        case 142: break;
  38.105          case 90: 
  38.106            { return AdaTokenId.ACCEPT;
  38.107            }
  38.108 -        case 142: break;
  38.109 +        case 143: break;
  38.110          case 115: 
  38.111            { return AdaTokenId.CONSTANT;
  38.112            }
  38.113 -        case 143: break;
  38.114 +        case 144: break;
  38.115          case 113: 
  38.116            { return AdaTokenId.ABSTRACT;
  38.117            }
  38.118 -        case 144: break;
  38.119 +        case 145: break;
  38.120          case 50: 
  38.121            { return AdaTokenId.ABS;
  38.122            }
  38.123 -        case 145: break;
  38.124 +        case 146: break;
  38.125          case 104: 
  38.126            { return AdaTokenId.PACKAGE;
  38.127            }
  38.128 -        case 146: break;
  38.129 +        case 147: break;
  38.130          case 116: 
  38.131            { return AdaTokenId.EXCEPTION;
  38.132            }
  38.133 -        case 147: break;
  38.134 +        case 148: break;
  38.135          case 62: 
  38.136            { return AdaTokenId.EXIT;
  38.137            }
  38.138 -        case 148: break;
  38.139 +        case 149: break;
  38.140          case 12: 
  38.141            { return AdaTokenId.RPAREN;
  38.142            }
  38.143 -        case 149: break;
  38.144 +        case 150: break;
  38.145          case 1: 
  38.146            { yypushback(1);
  38.147      pushState(ST_HIGHLIGHTING_ERROR);
  38.148            }
  38.149 -        case 150: break;
  38.150 +        case 151: break;
  38.151          case 11: 
  38.152            { return AdaTokenId.LPAREN;
  38.153            }
  38.154 -        case 151: break;
  38.155 +        case 152: break;
  38.156          case 89: 
  38.157            { return AdaTokenId.ACCESS;
  38.158            }
  38.159 -        case 152: break;
  38.160 +        case 153: break;
  38.161          case 52: 
  38.162            { return AdaTokenId.AND;
  38.163            }
  38.164 -        case 153: break;
  38.165 +        case 154: break;
  38.166          case 93: 
  38.167            { return AdaTokenId.RECORD;
  38.168            }
  38.169 -        case 154: break;
  38.170 +        case 155: break;
  38.171          case 6: 
  38.172            { pushState(ST_LOOKING_FOR_PROPERTY);
  38.173                        return AdaTokenId.DOT;
  38.174            }
  38.175 -        case 155: break;
  38.176 +        case 156: break;
  38.177          case 66: 
  38.178            { return AdaTokenId.TRUE;
  38.179            }
  38.180 -        case 156: break;
  38.181 +        case 157: break;
  38.182          case 18: 
  38.183            { return AdaTokenId.EQ;
  38.184            }
  38.185 -        case 157: break;
  38.186 +        case 158: break;
  38.187          case 60: 
  38.188            { return AdaTokenId.BASED_LITERAL;
  38.189            }
  38.190 -        case 158: break;
  38.191 +        case 159: break;
  38.192          case 10: 
  38.193            { return AdaTokenId.AMP;
  38.194            }
  38.195 -        case 159: break;
  38.196 +        case 160: break;
  38.197          case 108: 
  38.198            { return AdaTokenId.DECLARE;
  38.199            }
  38.200 -        case 160: break;
  38.201 +        case 161: break;
  38.202          case 44: 
  38.203            { return AdaTokenId.GTEQ;
  38.204            }
  38.205 -        case 161: break;
  38.206 +        case 162: break;
  38.207          case 75: 
  38.208            { return AdaTokenId.FALSE;
  38.209            }
  38.210 -        case 162: break;
  38.211 +        case 163: break;
  38.212          case 48: 
  38.213            { return AdaTokenId.END;
  38.214            }
  38.215 -        case 163: break;
  38.216 +        case 164: break;
  38.217          case 96: 
  38.218            { return AdaTokenId.PRAGMA;
  38.219            }
  38.220 -        case 164: break;
  38.221 +        case 165: break;
  38.222          case 41: 
  38.223            { return AdaTokenId.LTEQ;
  38.224            }
  38.225 -        case 165: break;
  38.226 +        case 166: break;
  38.227          case 28: 
  38.228            { return AdaTokenId.DOT_DOT;
  38.229            }
  38.230 -        case 166: break;
  38.231 +        case 167: break;
  38.232          case 20: 
  38.233            { return AdaTokenId.BAR;
  38.234            }
  38.235 -        case 167: break;
  38.236 +        case 168: break;
  38.237          case 102: 
  38.238            { return AdaTokenId.REQUEUE;
  38.239            }
  38.240 -        case 168: break;
  38.241 +        case 169: break;
  38.242          case 58: 
  38.243            { return AdaTokenId.USE;
  38.244            }
  38.245 -        case 169: break;
  38.246 +        case 170: break;
  38.247          case 30: 
  38.248            { return AdaTokenId.STRING_LITERAL;
  38.249            }
  38.250 -        case 170: break;
  38.251 +        case 171: break;
  38.252          case 77: 
  38.253            { return AdaTokenId.ELSIF;
  38.254            }
  38.255 -        case 171: break;
  38.256 +        case 172: break;
  38.257          case 114: 
  38.258            { return AdaTokenId.SEPARATE;
  38.259            }
  38.260 -        case 172: break;
  38.261 +        case 173: break;
  38.262          case 91: 
  38.263            { return AdaTokenId.OTHERS;
  38.264            }
  38.265 -        case 173: break;
  38.266 +        case 174: break;
  38.267          case 2: 
  38.268            { return AdaTokenId.DECIMAL_LITERAL;
  38.269            }
  38.270 -        case 174: break;
  38.271 +        case 175: break;
  38.272          case 76: 
  38.273            { return AdaTokenId.FLOAT;
  38.274            }
  38.275 -        case 175: break;
  38.276 +        case 176: break;
  38.277          case 107: 
  38.278            { return AdaTokenId.INTEGER;
  38.279            }
  38.280 -        case 176: break;
  38.281 +        case 177: break;
  38.282          case 27: 
  38.283            { pushState(ST_LINE_COMMENT);
  38.284      return AdaTokenId.COMMENT;
  38.285            }
  38.286 -        case 177: break;
  38.287 +        case 178: break;
  38.288          case 74: 
  38.289            { return AdaTokenId.WHEN;
  38.290            }
  38.291 -        case 178: break;
  38.292 +        case 179: break;
  38.293          case 54: 
  38.294            { return AdaTokenId.REM;
  38.295            }
  38.296 -        case 179: break;
  38.297 +        case 180: break;
  38.298          case 26: 
  38.299            { popState();
  38.300          return AdaTokenId.WHITESPACE;
  38.301            }
  38.302 -        case 180: break;
  38.303 +        case 181: break;
  38.304          case 25: 
  38.305            { return AdaTokenId.UNKNOWN_TOKEN;
  38.306            }
  38.307 -        case 181: break;
  38.308 +        case 182: break;
  38.309          case 59: 
  38.310            { return AdaTokenId.MOD;
  38.311            }
  38.312 -        case 182: break;
  38.313 +        case 183: break;
  38.314          case 3: 
  38.315            { return  AdaTokenId.IDENTIFIER;
  38.316            }
  38.317 -        case 183: break;
  38.318 +        case 184: break;
  38.319          case 15: 
  38.320            { return AdaTokenId.SLASH;
  38.321            }
  38.322 -        case 184: break;
  38.323 +        case 185: break;
  38.324          case 57: 
  38.325            { return AdaTokenId.XOR;
  38.326            }
  38.327 -        case 185: break;
  38.328 +        case 186: break;
  38.329          case 19: 
  38.330            { return AdaTokenId.LT;
  38.331            }
  38.332 -        case 186: break;
  38.333 +        case 187: break;
  38.334          case 106: 
  38.335            { return AdaTokenId.LIMITED;
  38.336            }
  38.337 -        case 187: break;
  38.338 +        case 188: break;
  38.339          case 92: 
  38.340            { return AdaTokenId.RETURN;
  38.341            }
  38.342 -        case 188: break;
  38.343 +        case 189: break;
  38.344          case 16: 
  38.345            { return AdaTokenId.SEMICOLON;
  38.346            }
  38.347 -        case 189: break;
  38.348 +        case 190: break;
  38.349          case 84: 
  38.350            { return AdaTokenId.DELAY;
  38.351            }
  38.352 -        case 190: break;
  38.353 +        case 191: break;
  38.354          case 103: 
  38.355            { return AdaTokenId.SUBTYPE;
  38.356            }
  38.357 -        case 191: break;
  38.358 +        case 192: break;
  38.359          case 4: 
  38.360            { return AdaTokenId.PLUS;
  38.361            }
  38.362 -        case 192: break;
  38.363 +        case 193: break;
  38.364          case 67: 
  38.365            { return AdaTokenId.TYPE;
  38.366            }
  38.367 -        case 193: break;
  38.368 +        case 194: break;
  38.369          case 38: 
  38.370            { return AdaTokenId.EXPON;
  38.371            }
  38.372 -        case 194: break;
  38.373 +        case 195: break;
  38.374          case 105: 
  38.375            { return AdaTokenId.PRIVATE;
  38.376            }
  38.377 -        case 195: break;
  38.378 +        case 196: break;
  38.379          case 21: 
  38.380            { yypushback(1);
  38.381      popState();
  38.382            }
  38.383 -        case 196: break;
  38.384 +        case 197: break;
  38.385          case 101: 
  38.386            { return AdaTokenId.REVERSE;
  38.387            }
  38.388 -        case 197: break;
  38.389 +        case 198: break;
  38.390          case 86: 
  38.391            { return AdaTokenId.UNTIL;
  38.392            }
  38.393 -        case 198: break;
  38.394 +        case 199: break;
  38.395          case 9: 
  38.396            { return AdaTokenId.TICK;
  38.397            }
  38.398 -        case 199: break;
  38.399 +        case 200: break;
  38.400          case 24: 
  38.401            { popState();
  38.402      return AdaTokenId.COMMENT;
  38.403            }
  38.404 -        case 200: break;
  38.405 +        case 201: break;
  38.406          case 71: 
  38.407            { return AdaTokenId.NULL;
  38.408            }
  38.409 -        case 201: break;
  38.410 +        case 202: break;
  38.411          case 37: 
  38.412            { return AdaTokenId.DO;
  38.413            }
  38.414 -        case 202: break;
  38.415 +        case 203: break;
  38.416          case 36: 
  38.417            { return AdaTokenId.IN;
  38.418            }
  38.419 -        case 203: break;
  38.420 +        case 204: break;
  38.421          case 5: 
  38.422            { return AdaTokenId.MINUS;
  38.423            }
  38.424 -        case 204: break;
  38.425 +        case 205: break;
  38.426          case 83: 
  38.427            { return AdaTokenId.RANGE;
  38.428            }
  38.429 -        case 205: break;
  38.430 -        case 121: 
  38.431 -          { return AdaTokenId.WIDE_CHARECTER;
  38.432 -          }
  38.433          case 206: break;
  38.434          case 22: 
  38.435            { popState();
    39.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/AdaLexUtilities.java	Wed Feb 24 15:52:30 2010 -0500
    39.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/AdaLexUtilities.java	Sun Aug 22 23:37:11 2010 +0200
    39.3 @@ -86,6 +86,7 @@
    39.4      static {
    39.5          END_PAIRS.add(AdaTokenId.PROCEDURE);
    39.6          END_PAIRS.add(AdaTokenId.FUNCTION);
    39.7 +        END_PAIRS.add(AdaTokenId.DECLARE);
    39.8          END_PAIRS.add(AdaTokenId.FOR);
    39.9          END_PAIRS.add(AdaTokenId.WHILE);
   39.10          END_PAIRS.add(AdaTokenId.IF);
    40.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/AdaTokenId.java	Wed Feb 24 15:52:30 2010 -0500
    40.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/AdaTokenId.java	Sun Aug 22 23:37:11 2010 +0200
    40.3 @@ -131,11 +131,11 @@
    40.4      WITH("with", "keyword"), //NOI18N
    40.5      XOR("xor", "keyword"), //NOI18N
    40.6  
    40.7 -    BOOLEAN("true", "literal"), //NOI18N
    40.8 -    CHARACTER("true", "literal"), //NOI18N
    40.9 -    FLOAT("true", "literal"), //NOI18N
   40.10 -    INTEGER("true", "literal"), //NOI18N
   40.11 -    WIDE_CHARECTER("true", "literal"), //NOI18N
   40.12 +    BOOLEAN("boolean", "literal"), //NOI18N
   40.13 +    CHARACTER("character", "literal"), //NOI18N
   40.14 +    FLOAT("float", "literal"), //NOI18N
   40.15 +    INTEGER("integer", "literal"), //NOI18N
   40.16 +    WIDE_CHARACTER("wide_character", "literal"), //NOI18N
   40.17      TRUE("true", "literal"), //NOI18N
   40.18      FALSE("false", "literal"), //NOI18N
   40.19  
    41.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/ASTLexer.skeleton	Wed Feb 24 15:52:30 2010 -0500
    41.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/ASTLexer.skeleton	Sun Aug 22 23:37:11 2010 +0200
    41.3 @@ -70,6 +70,9 @@
    41.4    /** zzAtEOF == true <=> the scanner is at the EOF */
    41.5    private boolean zzAtEOF;
    41.6  
    41.7 +  /** denotes if the user-EOF-code has already been executed */
    41.8 +  private boolean zzEOFDone;
    41.9 +
   41.10  --- user class code
   41.11  
   41.12    /**
   41.13 @@ -152,6 +155,7 @@
   41.14      zzReader = reader;
   41.15      zzAtBOL  = true;
   41.16      zzAtEOF  = false;
   41.17 +    zzEOFDone  = false;
   41.18      zzEndRead = zzStartRead = 0;
   41.19      zzCurrentPos = zzMarkedPos = zzPushbackPos = 0;
   41.20      yyline = yychar = yycolumn = 0;
    42.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95SyntaxLexer.flex	Wed Feb 24 15:52:30 2010 -0500
    42.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/lexer/resources/Ada95SyntaxLexer.flex	Sun Aug 22 23:37:11 2010 +0200
    42.3 @@ -440,7 +440,7 @@
    42.4      "character"         { return AdaTokenId.CHARACTER; }
    42.5      "float"             { return AdaTokenId.FLOAT; }
    42.6      "integer"           { return AdaTokenId.INTEGER; }
    42.7 -    "wide_character"    { return AdaTokenId.WIDE_CHARECTER; }
    42.8 +    "wide_character"    { return AdaTokenId.WIDE_CHARACTER; }
    42.9      "true"              { return AdaTokenId.TRUE; }
   42.10      "false"             { return AdaTokenId.FALSE; }
   42.11  
    43.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaDeclarationFinder.java	Wed Feb 24 15:52:30 2010 -0500
    43.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaDeclarationFinder.java	Sun Aug 22 23:37:11 2010 +0200
    43.3 @@ -38,7 +38,6 @@
    43.4   */
    43.5  package org.netbeans.modules.ada.editor.navigator;
    43.6  
    43.7 -import java.io.IOException;
    43.8  import java.util.Collections;
    43.9  import java.util.LinkedList;
   43.10  import java.util.List;
   43.11 @@ -180,7 +179,8 @@
   43.12  
   43.13          public String getDisplayHtml(HtmlFormatter formatter) {
   43.14              formatter.reset();
   43.15 -            ElementKind ek = null;
   43.16 +            ElementKind ek = el.getKind();
   43.17 +
   43.18              switch (k) {
   43.19                  case SUBPROG_SPEC:
   43.20                  case SUBPROG_BODY:
    44.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaInstantRenamer.java	Wed Feb 24 15:52:30 2010 -0500
    44.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaInstantRenamer.java	Sun Aug 22 23:37:11 2010 +0200
    44.3 @@ -51,7 +51,7 @@
    44.4  public class AdaInstantRenamer implements InstantRenamer {
    44.5  
    44.6      public boolean isRenameAllowed(ParserResult info, int caretOffset, String[] explanationRetValue) {
    44.7 -		// TODO: to implement.
    44.8 +        // TODO: to implement.
    44.9          return true;
   44.10      }
   44.11  
    45.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaOccurrencesFinder.java	Wed Feb 24 15:52:30 2010 -0500
    45.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/navigator/AdaOccurrencesFinder.java	Sun Aug 22 23:37:11 2010 +0200
    45.3 @@ -156,15 +156,12 @@
    45.4  
    45.5              @Override
    45.6              public void visit(TypeDeclaration node) {
    45.7 -                LOGGER.fine("called visist(TypeDeclaration): " + node.getTypeName().getName());
    45.8                  boolean found = false;
    45.9                  if (element instanceof SemiAttribute.PackageMemberElement) {
   45.10 -                    LOGGER.fine("package element: " + node.getTypeName().getName());
   45.11                      SemiAttribute.PackageMemberElement pkgEl = (SemiAttribute.PackageMemberElement) element;
   45.12                      Identifier type = node.getTypeName();
   45.13                      String typeName = type.getName();
   45.14                      if (pkgName != null && pkgEl.getPackageName().equals(pkgName) && pkgEl.getName().equals(typeName)) {
   45.15 -                        LOGGER.fine("if: " + node.getTypeName().getName());
   45.16                          memberDeclaration.add(type);
   45.17                          usages.add(type);
   45.18                          found = true;
   45.19 @@ -177,15 +174,12 @@
   45.20  
   45.21              @Override
   45.22              public void visit(SingleFieldDeclaration node) {
   45.23 -                LOGGER.fine("called visist(SingleFieldDeclaration): " + CodeUtils.extractVariableName(node.getName()));
   45.24                  boolean found = false;
   45.25                  if (element instanceof SemiAttribute.PackageMemberElement) {
   45.26 -                    LOGGER.fine("package element: " + CodeUtils.extractVariableName(node.getName()));
   45.27                      SemiAttribute.PackageMemberElement pkgEl = (SemiAttribute.PackageMemberElement) element;
   45.28                      Variable variable = node.getName();
   45.29                      String varName = CodeUtils.extractVariableName(variable);
   45.30                      if (pkgName != null && pkgEl.getPackageName().equals(pkgName) && pkgEl.getName().equals(varName)) {
   45.31 -                        LOGGER.fine("if: " + CodeUtils.extractVariableName(node.getName()));
   45.32                          memberDeclaration.add(variable);
   45.33                          usages.add(variable);
   45.34                          found = true;
   45.35 @@ -266,7 +260,7 @@
   45.36                          usages.add(parameterName);
   45.37                      }
   45.38                  }
   45.39 -                TypeName parameterType = node.getParameterType();
   45.40 +                TypeName parameterType = CodeUtils.extractType(node.getParameterType());
   45.41                  if (parameterType != null) {
   45.42                      String name = parameterType.getTypeName().getName();
   45.43                      if (name != null && element == attribute.getElement(parameterType)) {
   45.44 @@ -301,10 +295,15 @@
   45.45              }
   45.46          }.scan(ASTUtils.getRoot(parameter));
   45.47  
   45.48 +        int occur = 0;
   45.49          for (ASTNode n : usages) {
   45.50              OffsetRange forNode = forNode(n, element.getKind());
   45.51 +            if (n instanceof Identifier) {
   45.52 +                LOGGER.fine("result " + occur + ": " + ((Identifier)n).getName());
   45.53 +                LOGGER.fine("result " + occur + ": " + forNode);
   45.54 +                occur++;
   45.55 +            }
   45.56              if (forNode != null) {
   45.57 -                LOGGER.fine("usage item: " + forNode);
   45.58                  result.add(forNode);
   45.59              }
   45.60          }
    46.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/navigator/NavUtils.java	Wed Feb 24 15:52:30 2010 -0500
    46.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/navigator/NavUtils.java	Sun Aug 22 23:37:11 2010 +0200
    46.3 @@ -46,7 +46,6 @@
    46.4  import org.netbeans.modules.ada.editor.ast.ASTNode;
    46.5  import org.netbeans.modules.ada.editor.ast.ASTUtils;
    46.6  import org.netbeans.modules.ada.editor.ast.nodes.FormalParameter;
    46.7 -import org.netbeans.modules.ada.editor.ast.nodes.Identifier;
    46.8  import org.netbeans.modules.ada.editor.ast.nodes.PackageBody;
    46.9  import org.netbeans.modules.ada.editor.ast.nodes.PackageName;
   46.10  import org.netbeans.modules.ada.editor.ast.nodes.PackageSpecification;
   46.11 @@ -54,6 +53,7 @@
   46.12  import org.netbeans.modules.ada.editor.ast.nodes.SubprogramBody;
   46.13  import org.netbeans.modules.ada.editor.ast.nodes.SubprogramSpecification;
   46.14  import org.netbeans.modules.ada.editor.ast.nodes.TypeDeclaration;
   46.15 +import org.netbeans.modules.ada.editor.ast.nodes.TypeName;
   46.16  import org.netbeans.modules.ada.editor.ast.nodes.Variable;
   46.17  import org.netbeans.modules.ada.editor.ast.nodes.With;
   46.18  import org.netbeans.modules.ada.editor.ast.nodes.visitors.DefaultVisitor;
   46.19 @@ -142,6 +142,12 @@
   46.20                  continue;
   46.21              }
   46.22  
   46.23 +            if (leaf instanceof TypeName) {
   46.24 +                result = a.getElement(leaf);
   46.25 +                previous = leaf;
   46.26 +                continue;
   46.27 +            }
   46.28 +
   46.29              if (leaf instanceof Scalar) {
   46.30                  AttributedElement e = a.getElement(leaf);
   46.31  
   46.32 @@ -160,13 +166,13 @@
   46.33  
   46.34              if (leaf instanceof PackageSpecification) {
   46.35                  PackageSpecification cDeclaration = (PackageSpecification) leaf;
   46.36 -                //class declaration
   46.37 +                //package specification declaration
   46.38                  if (cDeclaration.getName() == previous) {
   46.39                      return a.getElement(leaf);
   46.40                  }
   46.41              } else if (leaf instanceof PackageBody) {
   46.42                  PackageBody iDeclaration = (PackageBody) leaf;
   46.43 -                //class declaration
   46.44 +                //package body declaration
   46.45                  if (iDeclaration.getName() == previous) {
   46.46                      return a.getElement(leaf);
   46.47                  }
    47.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/navigator/SemiAttribute.java	Wed Feb 24 15:52:30 2010 -0500
    47.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/navigator/SemiAttribute.java	Sun Aug 22 23:37:11 2010 +0200
    47.3 @@ -73,7 +73,8 @@
    47.4  import org.netbeans.modules.ada.editor.ast.nodes.TypeDeclaration;
    47.5  import org.netbeans.modules.ada.editor.ast.nodes.TypeName;
    47.6  import org.netbeans.modules.ada.editor.ast.nodes.Variable;
    47.7 -import org.netbeans.modules.ada.editor.ast.nodes.VariableBase;
    47.8 +import org.netbeans.modules.ada.editor.ast.nodes.NameBase;
    47.9 +import org.netbeans.modules.ada.editor.ast.nodes.TypeAccess;
   47.10  import org.netbeans.modules.ada.editor.ast.nodes.visitors.DefaultVisitor;
   47.11  import org.netbeans.modules.ada.editor.indexer.AdaIndex;
   47.12  import org.netbeans.modules.ada.editor.indexer.IndexedElement;
   47.13 @@ -144,7 +145,7 @@
   47.14  
   47.15      @Override
   47.16      public void visit(Assignment node) {
   47.17 -        final VariableBase vb = node.getLeftHandSide();
   47.18 +        final NameBase vb = node.getLeftHandSide();
   47.19  
   47.20          if (vb instanceof Variable) {
   47.21              AttributedType at = null;
   47.22 @@ -255,7 +256,14 @@
   47.23                  scopes.peek().enterWrite(name, Kind.VARIABLE, var);
   47.24              }
   47.25          }
   47.26 -        TypeName parameterType = node.getParameterType();
   47.27 +
   47.28 +        TypeName parameterType;
   47.29 +        if (node.getParameterType() instanceof TypeAccess) {
   47.30 +            parameterType = ((TypeAccess)node.getParameterType()).getField();
   47.31 +        } else {
   47.32 +            parameterType = (TypeName)node.getParameterType();
   47.33 +        }
   47.34 +
   47.35          if (parameterType != null) {
   47.36              String name = parameterType.getTypeName().getName();
   47.37              if (name != null) {
   47.38 @@ -539,8 +547,8 @@
   47.39  
   47.40      @CheckForNull
   47.41      //TODO converge this method with CodeUtils.extractTypeName()
   47.42 -    public static String extractTypeName(TypeDeclaration var) {
   47.43 -        String typeName = CodeUtils.extractTypeName(var);
   47.44 +    public static String extractTypeName(TypeDeclaration type) {
   47.45 +        String typeName = CodeUtils.extractTypeName(type);
   47.46  
   47.47          return typeName;
   47.48      }
    48.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/Ada95ASTParser.java	Wed Feb 24 15:52:30 2010 -0500
    48.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/Ada95ASTParser.java	Sun Aug 22 23:37:11 2010 +0200
    48.3 @@ -1,7 +1,7 @@
    48.4  
    48.5  //----------------------------------------------------
    48.6  // The following code was generated by CUP v0.11a beta 20060608
    48.7 -// Tue Sep 22 18:19:43 CEST 2009
    48.8 +// Thu Oct 01 15:49:41 CEST 2009
    48.9  //----------------------------------------------------
   48.10  
   48.11  package org.netbeans.modules.ada.editor.parser;
   48.12 @@ -12,7 +12,7 @@
   48.13  import org.netbeans.modules.ada.editor.ast.nodes.*;
   48.14  
   48.15  /** CUP v0.11a beta 20060608 generated parser.
   48.16 -  * @version Tue Sep 22 18:19:43 CEST 2009
   48.17 +  * @version Thu Oct 01 15:49:41 CEST 2009
   48.18    */
   48.19  public class Ada95ASTParser extends java_cup.runtime.lr_parser {
   48.20  
   48.21 @@ -28,9 +28,9 @@
   48.22    /** Production table. */
   48.23    protected static final short _production_table[][] = 
   48.24      unpackFromStrings(new String[] {
   48.25 -    "\000\u0204\000\002\002\004\000\002\170\005\000\002\170" +
   48.26 -    "\010\000\002\171\003\000\002\171\005\000\002\172\003" +
   48.27 -    "\000\002\172\005\000\002\173\002\000\002\173\004\000" +
   48.28 +    "\000\u0204\000\002\002\004\000\002\173\005\000\002\173" +
   48.29 +    "\010\000\002\174\003\000\002\174\005\000\002\175\003" +
   48.30 +    "\000\002\175\005\000\002\176\002\000\002\176\004\000" +
   48.31      "\002\003\003\000\002\003\003\000\002\004\003\000\002" +
   48.32      "\004\003\000\002\002\003\000\002\002\003\000\002\002" +
   48.33      "\003\000\002\002\003\000\002\002\003\000\002\002\003" +
   48.34 @@ -38,43 +38,43 @@
   48.35      "\002\023\003\000\002\023\005\000\002\024\002\000\002" +
   48.36      "\024\003\000\002\024\003\000\002\024\004\000\002\142" +
   48.37      "\003\000\002\142\003\000\002\143\002\000\002\143\004" +
   48.38 -    "\000\002\025\010\000\002\144\007\000\002\177\002\000" +
   48.39 -    "\002\177\003\000\002\177\005\000\002\145\002\000\002" +
   48.40 +    "\000\002\025\010\000\002\144\007\000\002\202\002\000" +
   48.41 +    "\002\202\003\000\002\202\005\000\002\145\002\000\002" +
   48.42      "\145\004\000\002\017\003\000\002\017\003\000\002\017" +
   48.43      "\003\000\002\017\003\000\002\017\003\000\002\017\003" +
   48.44      "\000\002\017\003\000\002\017\003\000\002\020\007\000" +
   48.45 -    "\002\021\004\000\002\021\003\000\002\210\003\000\002" +
   48.46 -    "\210\003\000\002\212\005\000\002\207\004\000\002\207" +
   48.47 -    "\006\000\002\207\006\000\002\207\007\000\002\207\007" +
   48.48 -    "\000\002\211\004\000\002\167\005\000\002\167\005\000" +
   48.49 -    "\002\167\010\000\002\201\005\000\002\215\003\000\002" +
   48.50 -    "\215\005\000\002\216\003\000\002\216\003\000\002\202" +
   48.51 -    "\003\000\002\202\004\000\002\217\003\000\002\220\002" +
   48.52 -    "\000\002\220\003\000\002\203\003\000\002\203\003\000" +
   48.53 -    "\002\221\005\000\002\222\005\000\002\222\007\000\002" +
   48.54 -    "\204\003\000\002\204\003\000\002\223\010\000\002\224" +
   48.55 -    "\006\000\002\227\004\000\002\230\002\000\002\230\003" +
   48.56 -    "\000\002\225\003\000\002\225\005\000\002\226\005\000" +
   48.57 -    "\002\231\005\000\002\232\003\000\002\232\005\000\002" +
   48.58 -    "\166\004\000\002\166\003\000\002\213\002\000\002\213" +
   48.59 -    "\003\000\002\205\005\000\002\214\007\000\002\214\004" +
   48.60 +    "\002\021\004\000\002\021\003\000\002\213\003\000\002" +
   48.61 +    "\213\003\000\002\215\005\000\002\212\004\000\002\212" +
   48.62 +    "\006\000\002\212\006\000\002\212\007\000\002\212\007" +
   48.63 +    "\000\002\214\004\000\002\167\005\000\002\167\005\000" +
   48.64 +    "\002\167\010\000\002\204\005\000\002\220\003\000\002" +
   48.65 +    "\220\005\000\002\221\003\000\002\221\003\000\002\205" +
   48.66 +    "\003\000\002\205\004\000\002\222\003\000\002\223\002" +
   48.67 +    "\000\002\223\003\000\002\206\003\000\002\206\003\000" +
   48.68 +    "\002\224\005\000\002\225\005\000\002\225\007\000\002" +
   48.69 +    "\207\003\000\002\207\003\000\002\226\010\000\002\227" +
   48.70 +    "\006\000\002\232\004\000\002\233\002\000\002\233\003" +
   48.71 +    "\000\002\230\003\000\002\230\005\000\002\231\005\000" +
   48.72 +    "\002\234\005\000\002\235\003\000\002\235\005\000\002" +
   48.73 +    "\166\004\000\002\166\003\000\002\216\002\000\002\216" +
   48.74 +    "\003\000\002\210\005\000\002\217\007\000\002\217\004" +
   48.75      "\000\002\112\002\000\002\112\003\000\002\112\004\000" +
   48.76 -    "\002\233\004\000\002\233\004\000\002\233\005\000\002" +
   48.77 -    "\234\003\000\002\234\005\000\002\236\003\000\002\236" +
   48.78 -    "\005\000\002\235\007\000\002\235\004\000\002\200\005" +
   48.79 -    "\000\002\240\003\000\002\240\005\000\002\241\007\000" +
   48.80 -    "\002\241\003\000\002\242\002\000\002\242\003\000\002" +
   48.81 -    "\237\012\000\002\243\003\000\002\243\004\000\002\244" +
   48.82 -    "\007\000\002\161\003\000\002\161\005\000\002\245\003" +
   48.83 -    "\000\002\245\003\000\002\245\003\000\002\246\004\000" +
   48.84 -    "\002\246\003\000\002\206\004\000\002\206\005\000\002" +
   48.85 -    "\206\005\000\002\206\006\000\002\206\010\000\002\247" +
   48.86 -    "\002\000\002\247\003\000\002\012\002\000\002\012\003" +
   48.87 +    "\002\236\004\000\002\236\004\000\002\236\005\000\002" +
   48.88 +    "\237\003\000\002\237\005\000\002\241\003\000\002\241" +
   48.89 +    "\005\000\002\240\007\000\002\240\004\000\002\203\005" +
   48.90 +    "\000\002\243\003\000\002\243\005\000\002\244\007\000" +
   48.91 +    "\002\244\003\000\002\245\002\000\002\245\003\000\002" +
   48.92 +    "\242\012\000\002\246\003\000\002\246\004\000\002\247" +
   48.93 +    "\007\000\002\161\003\000\002\161\005\000\002\250\003" +
   48.94 +    "\000\002\250\003\000\002\250\003\000\002\251\004\000" +
   48.95 +    "\002\251\003\000\002\211\004\000\002\211\005\000\002" +
   48.96 +    "\211\005\000\002\211\006\000\002\211\010\000\002\252" +
   48.97 +    "\002\000\002\252\003\000\002\012\002\000\002\012\003" +
   48.98      "\000\002\007\002\000\002\007\003\000\002\010\003\000" +
   48.99      "\002\010\004\000\002\011\003\000\002\011\003\000\002" +
  48.100      "\011\003\000\002\011\003\000\002\011\003\000\002\011" +
  48.101      "\003\000\002\011\003\000\002\011\003\000\002\013\003" +
  48.102 -    "\000\002\013\004\000\002\251\003\000\002\251\003\000" +
  48.103 +    "\000\002\013\004\000\002\254\003\000\002\254\003\000" +
  48.104      "\002\110\003\000\002\110\003\000\002\110\003\000\002" +
  48.105      "\110\003\000\002\015\003\000\002\015\003\000\002\015" +
  48.106      "\003\000\002\015\003\000\002\026\003\000\002\026\003" +
  48.107 @@ -82,19 +82,19 @@
  48.108      "\002\146\003\000\002\146\005\000\002\146\005\000\002" +
  48.109      "\027\003\000\002\140\003\000\002\140\005\000\002\133" +
  48.110      "\003\000\002\133\005\000\002\160\003\000\002\164\006" +
  48.111 -    "\000\002\165\003\000\002\165\005\000\002\253\003\000" +
  48.112 -    "\002\253\003\000\002\253\003\000\002\253\003\000\002" +
  48.113 +    "\000\002\165\003\000\002\165\005\000\002\255\003\000" +
  48.114 +    "\002\255\003\000\002\255\003\000\002\255\003\000\002" +
  48.115      "\030\005\000\002\030\005\000\002\030\005\000\002\030" +
  48.116 -    "\005\000\002\163\005\000\002\252\003\000\002\252\003" +
  48.117 -    "\000\002\252\003\000\002\252\003\000\002\154\003\000" +
  48.118 +    "\005\000\002\163\005\000\002\172\003\000\002\172\003" +
  48.119 +    "\000\002\172\003\000\002\172\003\000\002\154\003\000" +
  48.120      "\002\154\003\000\002\154\003\000\002\154\003\000\002" +
  48.121 -    "\255\005\000\002\255\005\000\002\255\007\000\002\255" +
  48.122 -    "\010\000\002\255\006\000\002\256\005\000\002\256\005" +
  48.123 -    "\000\002\254\005\000\002\037\003\000\002\037\003\000" +
  48.124 -    "\002\037\003\000\002\257\004\000\002\257\004\000\002" +
  48.125 +    "\257\005\000\002\257\005\000\002\257\007\000\002\257" +
  48.126 +    "\010\000\002\257\006\000\002\260\005\000\002\260\005" +
  48.127 +    "\000\002\256\005\000\002\037\003\000\002\037\003\000" +
  48.128 +    "\002\037\003\000\002\170\004\000\002\170\004\000\002" +
  48.129      "\040\003\000\002\040\003\000\002\040\003\000\002\040" +
  48.130 -    "\003\000\002\040\003\000\002\040\003\000\002\260\003" +
  48.131 -    "\000\002\260\004\000\002\042\003\000\002\042\003\000" +
  48.132 +    "\003\000\002\040\003\000\002\040\003\000\002\171\003" +
  48.133 +    "\000\002\171\004\000\002\042\003\000\002\042\003\000" +
  48.134      "\002\041\003\000\002\041\003\000\002\041\003\000\002" +
  48.135      "\043\003\000\002\043\003\000\002\043\003\000\002\043" +
  48.136      "\003\000\002\031\003\000\002\031\005\000\002\031\005" +
  48.137 @@ -140,9 +140,9 @@
  48.138      "\003\000\002\115\005\000\002\116\003\000\002\116\005" +
  48.139      "\000\002\117\011\000\002\117\010\000\002\117\003\000" +
  48.140      "\002\120\007\000\002\120\006\000\002\120\010\000\002" +
  48.141 -    "\120\007\000\002\174\004\000\002\275\005\000\002\275" +
  48.142 +    "\120\007\000\002\177\004\000\002\275\005\000\002\275" +
  48.143      "\007\000\002\276\002\000\002\276\010\000\002\301\002" +
  48.144 -    "\000\002\301\005\000\002\016\013\000\002\175\004\000" +
  48.145 +    "\000\002\301\005\000\002\016\013\000\002\200\004\000" +
  48.146      "\002\302\005\000\002\302\007\000\002\303\007\000\002" +
  48.147      "\305\002\000\002\305\004\000\002\304\002\000\002\304" +
  48.148      "\004\000\002\307\003\000\002\307\004\000\002\307\003" +
  48.149 @@ -169,7 +169,7 @@
  48.150      "\000\002\130\003\000\002\131\003\000\002\131\003\000" +
  48.151      "\002\131\004\000\002\131\004\000\002\131\004\000\002" +
  48.152      "\132\005\000\002\151\007\000\002\134\010\000\002\134" +
  48.153 -    "\010\000\002\134\006\000\002\134\010\000\002\176\006" +
  48.154 +    "\010\000\002\134\006\000\002\134\010\000\002\201\006" +
  48.155      "\000\002\271\004\000\002\271\004\000\002\333\006\000" +
  48.156      "\002\333\010\000\002\334\003\000\002\334\005\000\002" +
  48.157      "\335\003\000\002\335\003\000\002\135\005\000\002\263" +
  48.158 @@ -183,8 +183,8 @@
  48.159      "\340\006\000\002\340\004\000\002\340\003\000\002\340" +
  48.160      "\003\000\002\340\003\000\002\340\003\000\002\342\004" +
  48.161      "\000\002\342\006\000\002\342\007\000\002\073\005\000" +
  48.162 -    "\002\272\006\000\002\343\004\000\002\250\003\000\002" +
  48.163 -    "\250\003\000\002\250\003\000\002\344\007\000\002\345" +
  48.164 +    "\002\272\006\000\002\343\004\000\002\253\003\000\002" +
  48.165 +    "\253\003\000\002\253\003\000\002\344\007\000\002\345" +
  48.166      "\013\000\002\347\002\000\002\347\006\000\002\350\002" +
  48.167      "\000\002\350\011\000\002\346\010\000\002\137\004" });
  48.168  
  48.169 @@ -367,7 +367,7 @@
  48.170      "\000\014\112\165\114\uffe3\121\166\124\uffe3\134\164\001" +
  48.171      "\002\000\006\114\uff91\124\uff91\001\002\000\032\005\213" +
  48.172      "\047\224\050\200\051\227\113\204\116\175\120\217\143" +
  48.173 -    "\215\144\045\145\176\146\231\147\205\001\002\000\012" +
  48.174 +    "\215\144\045\145\177\146\231\147\205\001\002\000\012" +
  48.175      "\007\173\024\174\025\171\144\172\001\002\000\004\144" +
  48.176      "\045\001\002\000\020\015\uff5a\104\uff5a\112\uff5a\114\uff5a" +
  48.177      "\121\uff5a\124\uff5a\134\uff5a\001\002\000\020\015\uff5b\104" +
  48.178 @@ -399,19 +399,19 @@
  48.179      "\131\uff45\132\uff45\133\uff45\134\uff45\135\uff45\136\uff45\137" +
  48.180      "\uff45\001\002\000\026\005\uff2a\047\uff2a\050\uff2a\051\uff2a" +
  48.181      "\113\uff2a\143\uff2a\144\uff2a\145\uff2a\146\uff2a\147\uff2a\001" +
  48.182 +    "\002\000\114\013\uff5f\025\uff5f\042\uff5f\043\uff5f\045\uff5f" +
  48.183 +    "\046\uff5f\050\uff5f\053\uff5f\066\uff5f\070\uff5f\071\uff5f\101" +
  48.184 +    "\uff5f\105\uff5f\107\uff5f\110\uff5f\111\uff5f\112\uff5f\113\uff5f" +
  48.185 +    "\114\uff5f\115\uff5f\116\uff5f\117\uff5f\120\uff5f\121\uff5f\122" +
  48.186 +    "\uff5f\124\uff5f\125\uff5f\126\uff5f\127\uff5f\130\uff5f\131\uff5f" +
  48.187 +    "\132\uff5f\133\uff5f\134\uff5f\135\uff5f\136\uff5f\137\uff5f\001" +
  48.188      "\002\000\104\013\uff43\025\uff43\042\uff43\043\uff43\045\uff43" +
  48.189      "\046\uff43\050\uff43\053\uff43\066\uff43\070\uff43\071\uff43\101" +
  48.190      "\uff43\107\uff43\110\uff43\111\uff43\114\uff43\115\uff43\116\uff43" +
  48.191      "\117\uff43\120\uff43\122\uff43\124\uff43\125\uff43\126\uff43\127" +
  48.192      "\uff43\130\uff43\131\uff43\132\uff43\133\uff43\134\uff43\135\uff43" +
  48.193 -    "\136\uff43\137\uff43\001\002\000\114\013\uff60\025\uff60\042" +
  48.194 -    "\uff60\043\uff60\045\uff60\046\uff60\050\uff60\053\uff60\066\uff60" +
  48.195 -    "\070\uff60\071\uff60\101\uff60\105\uff60\107\uff60\110\uff60\111" +
  48.196 -    "\uff60\112\uff60\113\uff60\114\uff60\115\uff60\116\uff60\117\uff60" +
  48.197 -    "\120\uff60\121\uff60\122\uff60\124\uff60\125\uff60\126\uff60\127" +
  48.198 -    "\uff60\130\uff60\131\uff60\132\uff60\133\uff60\134\uff60\135\uff60" +
  48.199 -    "\136\uff60\137\uff60\001\002\000\022\047\224\051\227\113" +
  48.200 -    "\204\143\215\144\045\145\176\146\231\147\205\001\002" +
  48.201 +    "\136\uff43\137\uff43\001\002\000\022\047\224\051\227\113" +
  48.202 +    "\204\143\215\144\045\145\177\146\231\147\205\001\002" +
  48.203      "\000\104\013\uff0f\025\uff0f\042\uff0f\043\uff0f\045\uff0f\046" +
  48.204      "\uff0f\050\uff0f\053\uff0f\066\uff0f\070\uff0f\071\uff0f\101\uff0f" +
  48.205      "\107\uff0f\110\uff0f\111\uff0f\114\uff0f\115\uff0f\116\uff0f\117" +
  48.206 @@ -428,19 +428,19 @@
  48.207      "\uff61\132\uff61\133\uff61\134\uff61\135\uff61\136\uff61\137\uff61" +
  48.208      "\001\002\000\036\003\251\005\213\047\224\050\200\051" +
  48.209      "\357\054\253\113\204\116\175\120\217\143\215\144\045" +
  48.210 -    "\145\176\146\231\147\205\001\002\000\116\013\ufeb2\025" +
  48.211 +    "\145\177\146\231\147\205\001\002\000\116\013\ufeb2\025" +
  48.212      "\ufeb2\042\ufeb2\043\ufeb2\045\ufeb2\046\ufeb2\050\ufeb2\053\ufeb2" +
  48.213      "\063\ufeb2\066\ufeb2\070\ufeb2\071\ufeb2\101\ufeb2\105\ufeb2\107" +
  48.214      "\ufeb2\110\ufeb2\111\ufeb2\112\ufeb2\113\ufeb2\114\ufeb2\115\ufeb2" +
  48.215      "\116\ufeb2\117\ufeb2\120\ufeb2\121\ufeb2\122\ufeb2\124\ufeb2\125" +
  48.216      "\ufeb2\126\ufeb2\127\ufeb2\130\ufeb2\131\ufeb2\132\ufeb2\133\ufeb2" +
  48.217      "\134\ufeb2\135\ufeb2\136\ufeb2\137\ufeb2\001\002\000\114\013" +
  48.218 -    "\uff5e\025\uff5e\042\uff5e\043\uff5e\045\uff5e\046\uff5e\050\uff5e" +
  48.219 -    "\053\uff5e\066\uff5e\070\uff5e\071\uff5e\101\uff5e\105\uff5e\107" +
  48.220 -    "\uff5e\110\uff5e\111\uff5e\112\uff5e\113\uff5e\114\uff5e\115\uff5e" +
  48.221 -    "\116\uff5e\117\uff5e\120\uff5e\121\uff5e\122\uff5e\124\uff5e\125" +
  48.222 -    "\uff5e\126\uff5e\127\uff5e\130\uff5e\131\uff5e\132\uff5e\133\uff5e" +
  48.223 -    "\134\uff5e\135\uff5e\136\uff5e\137\uff5e\001\002\000\014\013" +
  48.224 +    "\uff5d\025\uff5d\042\uff5d\043\uff5d\045\uff5d\046\uff5d\050\uff5d" +
  48.225 +    "\053\uff5d\066\uff5d\070\uff5d\071\uff5d\101\uff5d\105\uff5d\107" +
  48.226 +    "\uff5d\110\uff5d\111\uff5d\112\uff5d\113\uff5d\114\uff5d\115\uff5d" +
  48.227 +    "\116\uff5d\117\uff5d\120\uff5d\121\uff5d\122\uff5d\124\uff5d\125" +
  48.228 +    "\uff5d\126\uff5d\127\uff5d\130\uff5d\131\uff5d\132\uff5d\133\uff5d" +
  48.229 +    "\134\uff5d\135\uff5d\136\uff5d\137\uff5d\001\002\000\014\013" +
  48.230      "\321\053\324\110\322\114\uffe2\124\uffe2\001\002\000\104" +
  48.231      "\013\uff0c\025\uff0c\042\uff0c\043\uff0c\045\uff0c\046\uff0c\050" +
  48.232      "\uff0c\053\uff0c\066\uff0c\070\uff0c\071\uff0c\101\uff0c\107\uff0c" +
  48.233 @@ -458,7 +458,7 @@
  48.234      "\uff19\115\302\116\uff19\117\uff19\120\uff19\122\305\124\uff19" +
  48.235      "\125\uff19\126\uff19\127\uff19\130\uff19\131\uff19\132\uff19\134" +
  48.236      "\uff19\135\uff19\136\uff19\137\uff19\001\002\000\022\047\224" +
  48.237 -    "\051\227\113\204\143\215\144\045\145\176\146\231\147" +
  48.238 +    "\051\227\113\204\143\215\144\045\145\177\146\231\147" +
  48.239      "\205\001\002\000\070\013\uff1e\025\uff1e\042\261\043\uff1e" +
  48.240      "\045\uff1e\050\273\053\uff1e\066\uff1e\071\uff1e\101\uff1e\107" +
  48.241      "\uff1e\110\uff1e\111\274\114\uff1e\116\267\117\uff1e\120\260" +
  48.242 @@ -482,32 +482,32 @@
  48.243      "\uff15\110\uff15\111\uff15\114\uff15\115\uff15\116\uff15\117\uff15" +
  48.244      "\120\uff15\122\uff15\124\uff15\125\uff15\126\uff15\127\uff15\130" +
  48.245      "\uff15\131\uff15\132\uff15\133\352\134\uff15\135\uff15\136\uff15" +
  48.246 -    "\137\uff15\001\002\000\104\013\uff11\025\uff11\042\uff11\043" +
  48.247 +    "\137\uff15\001\002\000\114\013\uff60\025\uff60\042\uff60\043" +
  48.248 +    "\uff60\045\uff60\046\uff60\050\uff60\053\uff60\066\uff60\070\uff60" +
  48.249 +    "\071\uff60\101\uff60\105\uff60\107\uff60\110\uff60\111\uff60\112" +
  48.250 +    "\uff60\113\uff60\114\uff60\115\uff60\116\uff60\117\uff60\120\uff60" +
  48.251 +    "\121\uff60\122\uff60\124\uff60\125\uff60\126\uff60\127\uff60\130" +
  48.252 +    "\uff60\131\uff60\132\uff60\133\uff60\134\uff60\135\uff60\136\uff60" +
  48.253 +    "\137\uff60\001\002\000\104\013\uff11\025\uff11\042\uff11\043" +
  48.254      "\uff11\045\uff11\046\uff11\050\uff11\053\uff11\066\uff11\070\uff11" +
  48.255      "\071\uff11\101\uff11\107\uff11\110\uff11\111\uff11\114\uff11\115" +
  48.256      "\uff11\116\uff11\117\uff11\120\uff11\122\uff11\124\uff11\125\uff11" +
  48.257      "\126\uff11\127\uff11\130\uff11\131\uff11\132\uff11\133\uff11\134" +
  48.258 -    "\uff11\135\uff11\136\uff11\137\uff11\001\002\000\114\013\uff5d" +
  48.259 -    "\025\uff5d\042\uff5d\043\uff5d\045\uff5d\046\uff5d\050\uff5d\053" +
  48.260 -    "\uff5d\066\uff5d\070\uff5d\071\uff5d\101\uff5d\105\uff5d\107\uff5d" +
  48.261 -    "\110\uff5d\111\uff5d\112\uff5d\113\uff5d\114\uff5d\115\uff5d\116" +
  48.262 -    "\uff5d\117\uff5d\120\uff5d\121\uff5d\122\uff5d\124\uff5d\125\uff5d" +
  48.263 -    "\126\uff5d\127\uff5d\130\uff5d\131\uff5d\132\uff5d\133\uff5d\134" +
  48.264 -    "\uff5d\135\uff5d\136\uff5d\137\uff5d\001\002\000\026\005\213" +
  48.265 +    "\uff11\135\uff11\136\uff11\137\uff11\001\002\000\026\005\213" +
  48.266      "\047\224\050\200\051\227\113\204\143\215\144\045\145" +
  48.267 -    "\176\146\231\147\205\001\002\000\006\144\045\147\205" +
  48.268 -    "\001\002\000\114\013\uff5f\025\uff5f\042\uff5f\043\uff5f\045" +
  48.269 -    "\uff5f\046\uff5f\050\uff5f\053\uff5f\066\uff5f\070\uff5f\071\uff5f" +
  48.270 -    "\101\uff5f\105\uff5f\107\uff5f\110\uff5f\111\uff5f\112\uff5f\113" +
  48.271 -    "\uff5f\114\uff5f\115\uff5f\116\uff5f\117\uff5f\120\uff5f\121\uff5f" +
  48.272 -    "\122\uff5f\124\uff5f\125\uff5f\126\uff5f\127\uff5f\130\uff5f\131" +
  48.273 -    "\uff5f\132\uff5f\133\uff5f\134\uff5f\135\uff5f\136\uff5f\137\uff5f" +
  48.274 +    "\177\146\231\147\205\001\002\000\006\144\045\147\205" +
  48.275      "\001\002\000\104\013\uff0e\025\uff0e\042\uff0e\043\uff0e\045" +
  48.276      "\uff0e\046\uff0e\050\uff0e\053\uff0e\066\uff0e\070\uff0e\071\uff0e" +
  48.277      "\101\uff0e\107\uff0e\110\uff0e\111\uff0e\114\uff0e\115\uff0e\116" +
  48.278      "\uff0e\117\uff0e\120\uff0e\122\uff0e\124\uff0e\125\uff0e\126\uff0e" +
  48.279      "\127\uff0e\130\uff0e\131\uff0e\132\uff0e\133\uff0e\134\uff0e\135" +
  48.280 -    "\uff0e\136\uff0e\137\uff0e\001\002\000\104\013\uff40\025\uff40" +
  48.281 +    "\uff0e\136\uff0e\137\uff0e\001\002\000\114\013\uff5e\025\uff5e" +
  48.282 +    "\042\uff5e\043\uff5e\045\uff5e\046\uff5e\050\uff5e\053\uff5e\066" +
  48.283 +    "\uff5e\070\uff5e\071\uff5e\101\uff5e\105\uff5e\107\uff5e\110\uff5e" +
  48.284 +    "\111\uff5e\112\uff5e\113\uff5e\114\uff5e\115\uff5e\116\uff5e\117" +
  48.285 +    "\uff5e\120\uff5e\121\uff5e\122\uff5e\124\uff5e\125\uff5e\126\uff5e" +
  48.286 +    "\127\uff5e\130\uff5e\131\uff5e\132\uff5e\133\uff5e\134\uff5e\135" +
  48.287 +    "\uff5e\136\uff5e\137\uff5e\001\002\000\104\013\uff40\025\uff40" +
  48.288      "\042\uff40\043\uff40\045\uff40\046\uff40\050\uff40\053\uff40\066" +
  48.289      "\uff40\070\uff40\071\uff40\101\uff40\107\uff40\110\uff40\111\uff40" +
  48.290      "\114\uff40\115\uff40\116\uff40\117\uff40\120\uff40\122\uff40\124" +
  48.291 @@ -531,7 +531,7 @@
  48.292      "\127\uff10\130\uff10\131\uff10\132\uff10\133\uff10\134\uff10\135" +
  48.293      "\uff10\136\uff10\137\uff10\001\002\000\036\003\251\005\213" +
  48.294      "\047\224\050\200\051\227\054\253\113\204\116\175\120" +
  48.295 -    "\217\143\215\144\045\145\176\146\231\147\205\001\002" +
  48.296 +    "\217\143\215\144\045\145\177\146\231\147\205\001\002" +
  48.297      "\000\014\007\173\024\174\025\171\113\204\144\172\001" +
  48.298      "\002\000\012\012\236\143\215\144\045\147\205\001\002" +
  48.299      "\000\114\013\uff49\025\uff49\042\uff49\043\uff49\045\uff49\046" +
  48.300 @@ -592,22 +592,22 @@
  48.301      "\002\000\032\005\uff2d\047\uff2d\050\uff2d\051\uff2d\113\uff2d" +
  48.302      "\116\uff2d\120\uff2d\143\uff2d\144\uff2d\145\uff2d\146\uff2d\147" +
  48.303      "\uff2d\001\002\000\032\005\213\047\224\050\200\051\227" +
  48.304 -    "\113\204\116\175\120\217\143\215\144\045\145\176\146" +
  48.305 +    "\113\204\116\175\120\217\143\215\144\045\145\177\146" +
  48.306      "\231\147\205\001\002\000\032\005\uff31\047\uff31\050\uff31" +
  48.307      "\051\uff31\113\uff31\116\uff31\120\uff31\143\uff31\144\uff31\145" +
  48.308      "\uff31\146\uff31\147\uff31\001\002\000\032\005\213\047\224" +
  48.309      "\050\200\051\227\113\204\116\175\120\217\143\215\144" +
  48.310 -    "\045\145\176\146\231\147\205\001\002\000\032\005\uff32" +
  48.311 +    "\045\145\177\146\231\147\205\001\002\000\032\005\uff32" +
  48.312      "\047\uff32\050\uff32\051\uff32\113\uff32\116\uff32\120\uff32\143" +
  48.313      "\uff32\144\uff32\145\uff32\146\uff32\147\uff32\001\002\000\026" +
  48.314      "\005\uff28\047\uff28\050\uff28\051\uff28\113\uff28\143\uff28\144" +
  48.315      "\uff28\145\uff28\146\uff28\147\uff28\001\002\000\026\005\213" +
  48.316      "\047\224\050\200\051\227\113\204\143\215\144\045\145" +
  48.317 -    "\176\146\231\147\205\001\002\000\032\005\uff30\047\uff30" +
  48.318 +    "\177\146\231\147\205\001\002\000\032\005\uff30\047\uff30" +
  48.319      "\050\uff30\051\uff30\113\uff30\116\uff30\120\uff30\143\uff30\144" +
  48.320      "\uff30\145\uff30\146\uff30\147\uff30\001\002\000\032\005\213" +
  48.321      "\047\224\050\200\051\227\113\204\116\175\120\217\143" +
  48.322 -    "\215\144\045\145\176\146\231\147\205\001\002\000\004" +
  48.323 +    "\215\144\045\145\177\146\231\147\205\001\002\000\004" +
  48.324      "\042\277\001\002\000\026\005\uff26\047\uff26\050\uff26\051" +
  48.325      "\uff26\113\uff26\143\uff26\144\uff26\145\uff26\146\uff26\147\uff26" +
  48.326      "\001\002\000\032\005\uff2f\047\uff2f\050\uff2f\051\uff2f\113" +
  48.327 @@ -630,7 +630,7 @@
  48.328      "\026\005\uff23\047\uff23\050\uff23\051\uff23\113\uff23\143\uff23" +
  48.329      "\144\uff23\145\uff23\146\uff23\147\uff23\001\002\000\026\005" +
  48.330      "\213\047\224\050\200\051\227\113\204\143\215\144\045" +
  48.331 -    "\145\176\146\231\147\205\001\002\000\026\005\uff24\047" +
  48.332 +    "\145\177\146\231\147\205\001\002\000\026\005\uff24\047" +
  48.333      "\uff24\050\uff24\051\uff24\113\uff24\143\uff24\144\uff24\145\uff24" +
  48.334      "\146\uff24\147\uff24\001\002\000\026\005\uff22\047\uff22\050" +
  48.335      "\uff22\051\uff22\113\uff22\143\uff22\144\uff22\145\uff22\146\uff22" +
  48.336 @@ -653,10 +653,10 @@
  48.337      "\066\uffc5\071\uffc5\101\uffc5\107\uffc5\110\uffc5\113\315\114" +
  48.338      "\uffc5\117\uffc5\124\uffc5\130\uffc5\131\uffc5\134\uffc5\001\002" +
  48.339      "\000\032\005\213\047\224\050\200\051\227\113\204\116" +
  48.340 -    "\175\120\217\143\215\144\045\145\176\146\231\147\205" +
  48.341 +    "\175\120\217\143\215\144\045\145\177\146\231\147\205" +
  48.342      "\001\002\000\012\013\321\053\324\110\322\114\320\001" +
  48.343      "\002\000\032\005\213\047\224\050\200\051\227\113\204" +
  48.344 -    "\116\175\120\217\143\215\144\045\145\176\146\231\147" +
  48.345 +    "\116\175\120\217\143\215\144\045\145\177\146\231\147" +
  48.346      "\205\001\002\000\042\013\uffc4\025\uffc4\043\uffc4\045\uffc4" +
  48.347      "\053\uffc4\066\uffc4\071\uffc4\101\uffc4\107\uffc4\110\uffc4\114" +
  48.348      "\uffc4\117\uffc4\124\uffc4\130\uffc4\131\uffc4\134\uffc4\001\002" +
  48.349 @@ -666,7 +666,7 @@
  48.350      "\uff35\113\uff35\116\uff35\120\uff35\143\uff35\144\uff35\145\uff35" +
  48.351      "\146\uff35\147\uff35\001\002\000\032\005\213\047\224\050" +
  48.352      "\200\051\227\113\204\116\175\120\217\143\215\144\045" +
  48.353 -    "\145\176\146\231\147\205\001\002\000\034\005\uff36\027" +
  48.354 +    "\145\177\146\231\147\205\001\002\000\034\005\uff36\027" +
  48.355      "\325\047\uff36\050\uff36\051\uff36\113\uff36\116\uff36\120\uff36" +
  48.356      "\143\uff36\144\uff36\145\uff36\146\uff36\147\uff36\001\002\000" +
  48.357      "\032\005\uff33\047\uff33\050\uff33\051\uff33\113\uff33\116\uff33" +
  48.358 @@ -683,7 +683,7 @@
  48.359      "\101\uff1d\107\uff1d\110\uff1d\111\274\114\uff1d\116\267\117" +
  48.360      "\uff1d\120\260\124\uff1d\130\uff1d\131\uff1d\134\uff1d\001\002" +
  48.361      "\000\036\003\251\005\213\047\224\050\200\051\227\054" +
  48.362 -    "\253\113\204\116\175\120\217\143\215\144\045\145\176" +
  48.363 +    "\253\113\204\116\175\120\217\143\215\144\045\145\177" +
  48.364      "\146\231\147\205\001\002\000\114\013\uff53\025\uff53\042" +
  48.365      "\uff53\043\uff53\045\uff53\046\uff53\050\uff53\053\uff53\066\uff53" +
  48.366      "\070\uff53\071\uff53\101\uff53\105\uff53\107\uff53\110\uff53\111" +
  48.367 @@ -692,16 +692,16 @@
  48.368      "\uff53\130\uff53\131\uff53\132\uff53\133\uff53\134\uff53\135\uff53" +
  48.369      "\136\uff53\137\uff53\001\002\000\006\114\uff51\117\uff51\001" +
  48.370      "\002\000\032\005\213\047\224\050\200\051\227\113\204" +
  48.371 -    "\116\175\120\217\143\215\144\045\145\176\146\231\147" +
  48.372 +    "\116\175\120\217\143\215\144\045\145\177\146\231\147" +
  48.373      "\205\001\002\000\012\114\uff84\117\uff84\130\uff84\131\uff84" +
  48.374      "\001\002\000\024\045\uffc7\071\uffc7\107\uffc7\114\uffc7\117" +
  48.375      "\uffc7\124\uffc7\130\uffc7\131\uffc7\134\uffc7\001\002\000\032" +
  48.376      "\046\uff10\070\uff10\111\uff10\112\313\113\233\115\uff10\116" +
  48.377      "\uff10\120\uff10\121\235\122\uff10\132\uff10\133\uff10\001\002" +
  48.378      "\000\034\005\213\047\224\050\200\051\227\054\253\113" +
  48.379 -    "\204\116\175\120\217\143\215\144\045\145\176\146\231" +
  48.380 +    "\204\116\175\120\217\143\215\144\045\145\177\146\231" +
  48.381      "\147\205\001\002\000\032\005\213\047\224\050\200\051" +
  48.382 -    "\227\113\204\116\175\120\217\143\215\144\045\145\176" +
  48.383 +    "\227\113\204\116\175\120\217\143\215\144\045\145\177" +
  48.384      "\146\231\147\205\001\002\000\014\013\321\053\324\110" +
  48.385      "\322\114\uff38\117\uff38\001\002\000\006\130\uff86\131\uff86" +
  48.386      "\001\002\000\006\130\uff88\131\uff88\001\002\000\014\013" +
  48.387 @@ -723,7 +723,7 @@
  48.388      "\117\uff1a\120\uff1a\122\305\124\uff1a\125\uff1a\126\uff1a\127" +
  48.389      "\uff1a\130\uff1a\131\uff1a\132\uff1a\134\uff1a\135\uff1a\136\uff1a" +
  48.390      "\137\uff1a\001\002\000\022\047\224\051\227\113\204\143" +
  48.391 -    "\215\144\045\145\176\146\231\147\205\001\002\000\102" +
  48.392 +    "\215\144\045\145\177\146\231\147\205\001\002\000\102" +
  48.393      "\013\uff12\025\uff12\042\uff12\043\uff12\045\uff12\046\uff12\050" +
  48.394      "\uff12\053\uff12\066\uff12\070\uff12\071\uff12\101\uff12\107\uff12" +
  48.395      "\110\uff12\111\uff12\114\uff12\115\uff12\116\uff12\117\uff12\120" +
  48.396 @@ -743,7 +743,7 @@
  48.397      "\133\uff40\135\uff40\136\uff40\137\uff40\001\002\000\006\114" +
  48.398      "\364\117\uff4f\001\002\000\004\117\362\001\002\000\036" +
  48.399      "\003\251\005\213\047\224\050\200\051\227\054\253\113" +
  48.400 -    "\204\116\175\120\217\143\215\144\045\145\176\146\231" +
  48.401 +    "\204\116\175\120\217\143\215\144\045\145\177\146\231" +
  48.402      "\147\205\001\002\000\006\114\uff3a\117\uff3a\001\002\000" +
  48.403      "\104\013\uff3f\025\uff3f\042\uff3f\043\uff3f\045\uff3f\046\uff3f" +
  48.404      "\050\uff3f\053\uff3f\066\uff3f\070\uff3f\071\uff3f\101\uff3f\107" +
  48.405 @@ -763,7 +763,7 @@
  48.406      "\127\uff0b\130\uff0b\131\uff0b\132\uff0b\133\uff0b\134\uff0b\135" +
  48.407      "\uff0b\136\uff0b\137\uff0b\001\002\000\036\003\251\005\213" +
  48.408      "\047\224\050\200\051\371\054\253\113\204\116\175\120" +
  48.409 -    "\217\143\215\144\045\145\176\146\231\147\205\001\002" +
  48.410 +    "\217\143\215\144\045\145\177\146\231\147\205\001\002" +
  48.411      "\000\064\013\uff40\042\uff40\046\uff40\050\uff40\053\uff40\067" +
  48.412      "\374\070\uff40\110\uff40\111\uff40\114\uff40\115\uff40\116\uff40" +
  48.413      "\117\uff40\120\uff40\122\uff40\125\uff40\126\uff40\127\uff40\130" +
  48.414 @@ -781,7 +781,7 @@
  48.415      "\124\uff3c\125\uff3c\126\uff3c\127\uff3c\130\uff3c\131\uff3c\132" +
  48.416      "\uff3c\133\uff3c\134\uff3c\135\uff3c\136\uff3c\137\uff3c\001\002" +
  48.417      "\000\036\003\251\005\213\047\224\050\200\051\227\054" +
  48.418 -    "\253\113\204\116\175\120\217\143\215\144\045\145\176" +
  48.419 +    "\253\113\204\116\175\120\217\143\215\144\045\145\177" +
  48.420      "\146\231\147\205\001\002\000\104\013\uff3e\025\uff3e\042" +
  48.421      "\uff3e\043\uff3e\045\uff3e\046\uff3e\050\uff3e\053\uff3e\066\uff3e" +
  48.422      "\070\uff3e\071\uff3e\101\uff3e\107\uff3e\110\uff3e\111\uff3e\114" +
  48.423 @@ -826,7 +826,7 @@
  48.424      "\335\071\uffd0\107\uffd0\112\u0122\113\233\121\235\124\uffd0" +
  48.425      "\134\uffd0\001\002\000\006\124\uffb0\134\uffb0\001\002\000" +
  48.426      "\032\005\213\047\224\050\200\051\227\113\204\116\175" +
  48.427 -    "\120\217\143\215\144\045\145\176\146\231\147\205\001" +
  48.428 +    "\120\217\143\215\144\045\145\177\146\231\147\205\001" +
  48.429      "\002\000\012\071\uffce\107\uffce\124\uffce\134\uffce\001\002" +
  48.430      "\000\012\071\uffcf\107\uffcf\124\uffcf\134\uffcf\001\002\000" +
  48.431      "\012\071\uffd1\107\uffd1\124\uffd1\134\uffd1\001\002\000\012" +
  48.432 @@ -838,7 +838,7 @@
  48.433      "\ufebe\001\002\000\004\124\u0143\001\002\000\016\026\ufebd" +
  48.434      "\043\ufebd\063\ufebd\071\ufebd\105\ufebd\124\ufebd\001\002\000" +
  48.435      "\034\003\u012f\005\213\047\224\050\200\051\227\113\204" +
  48.436 -    "\116\175\120\217\143\215\144\u0131\145\176\146\231\147" +
  48.437 +    "\116\175\120\217\143\215\144\u0131\145\177\146\231\147" +
  48.438      "\205\001\002\000\006\114\u0141\124\u0140\001\002\000\006" +
  48.439      "\114\ufebb\124\ufebb\001\002\000\006\117\155\123\u0138\001" +
  48.440      "\002\000\010\045\uffa6\114\uffa6\117\uffa6\001\002\000\042" +
  48.441 @@ -925,7 +925,7 @@
  48.442      "\063\ufef6\065\ufef6\072\ufef6\073\ufef6\101\ufef6\105\ufef6\106" +
  48.443      "\ufef6\140\ufef6\144\ufef6\147\ufef6\001\002\000\032\005\213" +
  48.444      "\047\224\050\200\051\227\113\204\116\175\120\217\143" +
  48.445 -    "\215\144\045\145\176\146\231\147\205\001\002\000\074" +
  48.446 +    "\215\144\045\145\177\146\231\147\205\001\002\000\074" +
  48.447      "\003\ufef7\004\ufef7\010\ufef7\016\ufef7\021\ufef7\022\ufef7\023" +
  48.448      "\ufef7\027\ufef7\030\ufef7\031\ufef7\033\ufef7\034\ufef7\035\ufef7" +
  48.449      "\040\ufef7\041\ufef7\045\ufef7\051\ufef7\053\ufef7\057\ufef7\063" +
  48.450 @@ -978,7 +978,7 @@
  48.451      "\u0185\100\u01fa\105\u01fb\144\045\147\205\001\002\000\012" +
  48.452      "\105\ufecd\124\ufecd\144\045\147\205\001\002\000\032\005" +
  48.453      "\213\047\224\050\200\051\227\113\204\116\175\120\217" +
  48.454 -    "\143\215\144\045\145\176\146\231\147\205\001\002\000" +
  48.455 +    "\143\215\144\045\145\177\146\231\147\205\001\002\000" +
  48.456      "\074\003\ufef3\004\ufef3\010\ufef3\016\ufef3\021\ufef3\022\ufef3" +
  48.457      "\023\ufef3\027\ufef3\030\ufef3\031\ufef3\033\ufef3\034\ufef3\035" +
  48.458      "\ufef3\040\ufef3\041\ufef3\045\ufef3\051\ufef3\053\ufef3\057\ufef3" +
  48.459 @@ -995,7 +995,7 @@
  48.460      "\073\ufef2\101\ufef2\105\ufef2\106\ufef2\140\ufef2\144\ufef2\147" +
  48.461      "\ufef2\001\002\000\006\026\u01dc\124\u01dd\001\002\000\034" +
  48.462      "\005\213\047\224\050\200\051\227\113\204\116\175\120" +
  48.463 -    "\217\124\u01d9\143\215\144\045\145\176\146\231\147\205" +
  48.464 +    "\217\124\u01d9\143\215\144\045\145\177\146\231\147\205" +
  48.465      "\001\002\000\006\144\045\147\205\001\002\000\004\124" +
  48.466      "\u01d3\001\002\000\062\003\u017e\004\u017d\010\u0183\016\ufee0" +
  48.467      "\021\u0169\022\ufee0\023\u0185\031\ufed0\033\u01c1\034\u0176\035" +
  48.468 @@ -1014,7 +1014,7 @@
  48.469      "\ufe62\001\002\000\004\144\045\001\002\000\006\144\045" +
  48.470      "\147\205\001\002\000\034\005\213\047\224\050\200\051" +
  48.471      "\227\103\u01b3\113\204\116\175\120\217\143\215\144\045" +
  48.472 -    "\145\176\146\231\147\205\001\002\000\074\003\ufef1\004" +
  48.473 +    "\145\177\146\231\147\205\001\002\000\074\003\ufef1\004" +
  48.474      "\ufef1\010\ufef1\016\ufef1\021\ufef1\022\ufef1\023\ufef1\027\ufef1" +
  48.475      "\030\ufef1\031\ufef1\033\ufef1\034\ufef1\035\ufef1\040\ufef1\041" +
  48.476      "\ufef1\045\ufef1\051\ufef1\053\ufef1\057\ufef1\063\ufef1\065\ufef1" +
  48.477 @@ -1070,7 +1070,7 @@
  48.478      "\ufeda\116\ufeda\120\ufeda\143\ufeda\144\ufeda\145\ufeda\146\ufeda" +
  48.479      "\147\ufeda\001\002\000\004\045\u019f\001\002\000\032\005" +
  48.480      "\213\047\224\050\200\051\227\113\204\116\175\120\217" +
  48.481 -    "\143\215\144\045\145\176\146\231\147\205\001\002\000" +
  48.482 +    "\143\215\144\045\145\177\146\231\147\205\001\002\000" +
  48.483      "\022\013\321\043\ufee8\045\ufee8\053\324\101\ufee8\110\322" +
  48.484      "\124\ufee8\131\ufee8\001\002\000\004\045\ufedd\001\002\000" +
  48.485      "\010\124\ufed7\144\045\147\205\001\002\000\056\003\u017e" +
  48.486 @@ -1094,7 +1094,7 @@
  48.487      "\ufee1\072\ufee1\073\ufee1\101\ufee1\105\ufee1\106\ufee1\140\ufee1" +
  48.488      "\144\ufee1\147\ufee1\001\002\000\032\005\213\047\224\050" +
  48.489      "\200\051\227\113\204\116\175\120\217\143\215\144\045" +
  48.490 -    "\145\176\146\231\147\205\001\002\000\032\005\ufed9\047" +
  48.491 +    "\145\177\146\231\147\205\001\002\000\032\005\ufed9\047" +
  48.492      "\ufed9\050\ufed9\051\ufed9\113\ufed9\116\ufed9\120\ufed9\143\ufed9" +
  48.493      "\144\ufed9\145\ufed9\146\ufed9\147\ufed9\001\002\000\004\045" +
  48.494      "\ufedc\001\002\000\004\042\u01aa\001\002\000\034\005\ufedb" +
  48.495 @@ -1113,7 +1113,7 @@
  48.496      "\072\ufeee\073\ufeee\106\ufeee\140\ufeee\144\ufeee\147\ufeee\001" +
  48.497      "\002\000\012\013\321\053\324\110\322\124\u01b6\001\002" +
  48.498      "\000\032\005\213\047\224\050\200\051\227\113\204\116" +
  48.499 -    "\175\120\217\143\215\144\045\145\176\146\231\147\205" +
  48.500 +    "\175\120\217\143\215\144\045\145\177\146\231\147\205" +
  48.501      "\001\002\000\012\013\321\053\324\110\322\124\u01b5\001" +
  48.502      "\002\000\074\003\ufe66\004\ufe66\010\ufe66\016\ufe66\021\ufe66" +
  48.503      "\022\ufe66\023\ufe66\027\ufe66\030\ufe66\031\ufe66\033\ufe66\034" +
  48.504 @@ -1134,7 +1134,7 @@
  48.505      "\002\000\010\026\ufe69\113\ufe69\124\ufe69\001\002\000\006" +
  48.506      "\026\ufe6a\124\ufe6a\001\002\000\034\003\u012f\005\213\047" +
  48.507      "\224\050\200\051\227\113\204\116\175\120\217\143\215" +
  48.508 -    "\144\u0131\145\176\146\231\147\205\001\002\000\012\013" +
  48.509 +    "\144\u0131\145\177\146\231\147\205\001\002\000\012\013" +
  48.510      "\321\053\324\110\322\114\u01be\001\002\000\010\026\ufe68" +
  48.511      "\113\ufe68\124\ufe68\001\002\000\074\003\ufeed\004\ufeed\010" +
  48.512      "\ufeed\016\ufeed\021\ufeed\022\ufeed\023\ufeed\027\ufeed\030\ufeed" +
  48.513 @@ -1219,7 +1219,7 @@
  48.514      "\040\u0184\041\u0177\045\ufee0\051\u0180\057\004\063\u017c\065" +
  48.515      "\u018f\072\u0164\073\u0175\106\ufee0\140\u0187\144\u0190\147\205" +
  48.516      "\001\002\000\032\005\213\047\224\050\200\051\227\113" +
  48.517 -    "\204\116\175\120\217\143\215\144\045\145\176\146\231" +
  48.518 +    "\204\116\175\120\217\143\215\144\045\145\177\146\231" +
  48.519      "\147\205\001\002\000\004\031\u01e9\001\002\000\004\041" +
  48.520      "\u01ea\001\002\000\004\124\u01eb\001\002\000\074\003\ufeeb" +
  48.521      "\004\ufeeb\010\ufeeb\016\ufeeb\021\ufeeb\022\ufeeb\023\ufeeb\027" +
  48.522 @@ -1241,7 +1241,7 @@
  48.523      "\140\u0187\144\u0190\147\205\001\002\000\006\105\u01f2\124" +
  48.524      "\ufecb\001\002\000\004\124\u01f4\001\002\000\032\005\213" +
  48.525      "\047\224\050\200\051\227\113\204\116\175\120\217\143" +
  48.526 -    "\215\144\045\145\176\146\231\147\205\001\002\000\004" +
  48.527 +    "\215\144\045\145\177\146\231\147\205\001\002\000\004" +
  48.528      "\124\ufeca\001\002\000\074\003\ufece\004\ufece\010\ufece\016" +
  48.529      "\ufece\021\ufece\022\ufece\023\ufece\027\ufece\030\ufece\031\ufece" +
  48.530      "\033\ufece\034\ufece\035\ufece\040\ufece\041\ufece\045\ufece\051" +
  48.531 @@ -1263,7 +1263,7 @@
  48.532      "\101\ufe6d\106\ufe6d\140\ufe6d\144\ufe6d\147\ufe6d\001\002\000" +
  48.533      "\004\124\u020e\001\002\000\032\005\213\047\224\050\200" +
  48.534      "\051\227\113\204\116\175\120\217\143\215\144\045\145" +
  48.535 -    "\176\146\231\147\205\001\002\000\064\003\u017e\004\u017d" +
  48.536 +    "\177\146\231\147\205\001\002\000\064\003\u017e\004\u017d" +
  48.537      "\010\u0183\016\ufee0\021\u0169\022\ufee0\023\u0185\027\ufe54\031" +
  48.538      "\ufe54\034\u0176\035\ufee0\040\u0184\041\u0177\045\ufee0\051\u0180" +
  48.539      "\053\ufe54\057\004\063\u017c\065\u018f\072\u0164\073\u0175\106" +
  48.540 @@ -1336,7 +1336,7 @@
  48.541      "\ufe55\140\ufe55\144\ufe55\147\ufe55\001\002\000\012\027\ufe5b" +
  48.542      "\031\ufe5b\053\ufe5b\101\ufe59\001\002\000\032\005\213\047" +
  48.543      "\224\050\200\051\227\113\204\116\175\120\217\143\215" +
  48.544 -    "\144\045\145\176\146\231\147\205\001\002\000\012\013" +
  48.545 +    "\144\045\145\177\146\231\147\205\001\002\000\012\013" +
  48.546      "\321\053\324\110\322\124\u0224\001\002\000\074\003\ufeec" +
  48.547      "\004\ufeec\010\ufeec\016\ufeec\021\ufeec\022\ufeec\023\ufeec\027" +
  48.548      "\ufeec\030\ufeec\031\ufeec\033\ufeec\034\ufeec\035\ufeec\040\ufeec" +
  48.549 @@ -1347,7 +1347,7 @@
  48.550      "\001\002\000\010\031\ufee4\057\004\105\ufee4\001\002\000" +
  48.551      "\006\031\u022b\105\u022a\001\002\000\006\031\ufee3\105\ufee3" +
  48.552      "\001\002\000\034\005\213\047\224\050\200\051\227\054" +
  48.553 -    "\253\113\204\116\175\120\217\143\215\144\045\145\176" +
  48.554 +    "\253\113\204\116\175\120\217\143\215\144\045\145\177" +
  48.555      "\146\231\147\205\001\002\000\004\021\u022c\001\002\000" +
  48.556      "\004\124\u022d\001\002\000\074\003\ufee5\004\ufee5\010\ufee5" +
  48.557      "\016\ufee5\021\ufee5\022\ufee5\023\ufee5\027\ufee5\030\ufee5\031" +
  48.558 @@ -1382,10 +1382,10 @@
  48.559      "\ufebe\113\u0239\001\002\000\004\105\u0248\001\002\000\010" +
  48.560      "\003\u012f\035\u0198\144\126\001\002\000\032\005\213\047" +
  48.561      "\224\050\200\051\227\113\204\116\175\120\217\143\215" +
  48.562 -    "\144\045\145\176\146\231\147\205\001\002\000\004\114" +
  48.563 +    "\144\045\145\177\146\231\147\205\001\002\000\004\114" +
  48.564      "\u023c\001\002\000\006\105\ufebe\113\u0134\001\002\000\004" +
  48.565      "\105\u023e\001\002\000\032\005\213\047\224\050\200\051" +
  48.566 -    "\227\113\204\116\175\120\217\143\215\144\045\145\176" +
  48.567 +    "\227\113\204\116\175\120\217\143\215\144\045\145\177" +
  48.568      "\146\231\147\205\001\002\000\006\043\u0241\124\u0240\001" +
  48.569      "\002\000\014\031\ufe71\032\ufe71\036\ufe71\057\ufe71\061\ufe71" +
  48.570      "\001\002\000\036\003\105\016\uff7b\035\070\036\027\037" +
  48.571 @@ -1396,7 +1396,7 @@
  48.572      "\045\147\205\001\002\000\004\124\u0247\001\002\000\014" +
  48.573      "\031\ufe70\032\ufe70\036\ufe70\057\ufe70\061\ufe70\001\002\000" +
  48.574      "\032\005\213\047\224\050\200\051\227\113\204\116\175" +
  48.575 -    "\120\217\143\215\144\045\145\176\146\231\147\205\001" +
  48.576 +    "\120\217\143\215\144\045\145\177\146\231\147\205\001" +
  48.577      "\002\000\006\043\u0241\124\u0240\001\002\000\014\031\ufe73" +
  48.578      "\032\ufe73\036\ufe73\057\ufe73\061\ufe73\001\002\000\042\003" +
  48.579      "\ufe36\016\ufe36\031\ufe36\035\ufe36\036\ufe36\037\ufe36\056\ufe36" +
  48.580 @@ -1440,7 +1440,7 @@
  48.581      "\u0275\044\uffa0\046\u0267\047\u027a\051\uffa0\060\uffa0\066\335" +
  48.582      "\067\uffa0\076\u026a\113\u026f\001\002\000\032\005\213\047" +
  48.583      "\224\050\200\051\227\113\204\116\175\120\217\143\215" +
  48.584 -    "\144\045\145\176\146\231\147\205\001\002\000\004\124" +
  48.585 +    "\144\045\145\177\146\231\147\205\001\002\000\004\124" +
  48.586      "\uffda\001\002\000\012\044\u02dd\051\ufea4\060\ufea4\067\ufea4" +
  48.587      "\001\002\000\012\044\uff9f\051\uff9f\060\uff9f\067\uff9f\001" +
  48.588      "\002\000\020\012\u02d2\020\u02d0\036\uff7d\061\uff7d\062\u02d3" +
  48.589 @@ -1449,17 +1449,17 @@
  48.590      "\143\u02c9\144\u02ca\001\002\000\004\124\uffd6\001\002\000" +
  48.591      "\004\124\uffb9\001\002\000\004\124\uffd9\001\002\000\004" +
  48.592      "\124\uffd3\001\002\000\032\005\213\047\224\050\200\051" +
  48.593 -    "\227\113\204\116\175\120\217\143\215\144\045\145\176" +
  48.594 +    "\227\113\204\116\175\120\217\143\215\144\045\145\177" +
  48.595      "\146\231\147\205\001\002\000\032\005\213\047\224\050" +
  48.596      "\200\051\227\113\204\116\175\120\217\143\215\144\045" +
  48.597 -    "\145\176\146\231\147\205\001\002\000\004\124\uffd8\001" +
  48.598 +    "\145\177\146\231\147\205\001\002\000\004\124\uffd8\001" +
  48.599      "\002\000\004\124\uffb8\001\002\000\004\124\uffd4\001\002" +
  48.600      "\000\006\047\u02bc\076\u02bb\001\002\000\006\144\045\147" +
  48.601      "\205\001\002\000\004\124\uffbc\001\002\000\004\124\uffd7" +
  48.602      "\001\002\000\004\113\u0281\001\002\000\006\124\uffb4\134" +
  48.603      "\uffb4\001\002\000\006\124\uffb3\134\uffb3\001\002\000\004" +
  48.604      "\052\u0293\001\002\000\032\005\213\047\224\050\200\051" +
  48.605 -    "\227\113\204\116\175\120\217\143\215\144\045\145\176" +
  48.606 +    "\227\113\204\116\175\120\217\143\215\144\045\145\177" +
  48.607      "\146\231\147\205\001\002\000\006\114\u028d\117\u028c\001" +
  48.608      "\002\000\006\114\uffad\117\uffad\001\002\000\006\114\u028a" +
  48.609      "\117\u0289\001\002\000\006\114\uffa9\117\uffa9\001\002\000" +
  48.610 @@ -1467,10 +1467,10 @@
  48.611      "\114\uffa5\115\uff10\116\uff10\117\uffa5\120\uff10\121\235\122" +
  48.612      "\uff10\132\uff10\133\uff10\001\002\000\034\005\213\047\224" +
  48.613      "\050\200\051\227\113\204\116\175\120\217\142\u0288\143" +
  48.614 -    "\215\144\045\145\176\146\231\147\205\001\002\000\006" +
  48.615 +    "\215\144\045\145\177\146\231\147\205\001\002\000\006" +
  48.616      "\114\uffab\117\uffab\001\002\000\032\005\213\047\224\050" +
  48.617      "\200\051\227\113\204\116\175\120\217\143\215\144\045" +
  48.618 -    "\145\176\146\231\147\205\001\002\000\004\052\uffaa\001" +
  48.619 +    "\145\177\146\231\147\205\001\002\000\004\052\uffaa\001" +
  48.620      "\002\000\006\114\uffa8\117\uffa8\001\002\000\006\144\045" +
  48.621      "\147\205\001\002\000\004\052\u028e\001\002\000\010\011" +
  48.622      "\u0117\144\uffaf\147\uffaf\001\002\000\006\124\uffb2\134\uffb2" +
  48.623 @@ -1492,7 +1492,7 @@
  48.624      "\ufffa\105\ufffa\001\002\000\006\057\004\105\u02a8\001\002" +
  48.625      "\000\006\031\uff8c\105\uff8c\001\002\000\034\005\213\047" +
  48.626      "\224\050\200\051\227\054\253\113\204\116\175\120\217" +
  48.627 -    "\143\215\144\045\145\176\146\231\147\205\001\002\000" +
  48.628 +    "\143\215\144\045\145\177\146\231\147\205\001\002\000" +
  48.629      "\006\031\u02ab\105\u02a8\001\002\000\006\031\uff8b\105\uff8b" +
  48.630      "\001\002\000\004\021\u02ac\001\002\000\004\124\u02ad\001" +
  48.631      "\002\000\010\031\uff8d\057\uff8d\105\uff8d\001\002\000\006" +
  48.632 @@ -1515,7 +1515,7 @@
  48.633      "\000\014\013\321\025\u02c6\053\324\066\335\110\322\001" +
  48.634      "\002\000\004\124\uffb6\001\002\000\032\005\213\047\224" +
  48.635      "\050\200\051\227\113\204\116\175\120\217\143\215\144" +
  48.636 -    "\045\145\176\146\231\147\205\001\002\000\014\013\321" +
  48.637 +    "\045\145\177\146\231\147\205\001\002\000\014\013\321" +
  48.638      "\053\324\066\335\110\322\124\uffbb\001\002\000\004\124" +
  48.639      "\uffb5\001\002\000\006\114\uffbf\117\uffbf\001\002\000\006" +
  48.640      "\114\uffc0\117\uffc0\001\002\000\006\114\uffc2\117\uffc2\001" +
  48.641 @@ -1537,26 +1537,26 @@
  48.642      "\077\uffe0\102\uffe0\104\uffe0\144\uffe0\001\002\000\010\104" +
  48.643      "\u02e4\112\165\121\166\001\002\000\036\005\213\015\u02e5" +
  48.644      "\047\224\050\200\051\227\067\u02e7\113\204\116\175\120" +
  48.645 -    "\217\143\215\144\045\145\176\146\231\147\205\001\002" +
  48.646 +    "\217\143\215\144\045\145\177\146\231\147\205\001\002" +
  48.647      "\000\032\005\213\047\224\050\200\051\227\113\204\116" +
  48.648 -    "\175\120\217\143\215\144\045\145\176\146\231\147\205" +
  48.649 +    "\175\120\217\143\215\144\045\145\177\146\231\147\205" +
  48.650      "\001\002\000\012\013\321\053\324\110\322\124\u02f7\001" +
  48.651      "\002\000\010\015\u02e8\031\ufe03\144\ufe03\001\002\000\004" +
  48.652      "\046\u02f4\001\002\000\006\031\ufe01\144\ufe01\001\002\000" +
  48.653      "\006\031\u02eb\144\045\001\002\000\004\067\u02f2\001\002" +
  48.654      "\000\010\015\u02ed\112\165\121\166\001\002\000\032\005" +
  48.655      "\213\047\224\050\200\051\227\113\204\116\175\120\217" +
  48.656 -    "\143\215\144\045\145\176\146\231\147\205\001\002\000" +
  48.657 +    "\143\215\144\045\145\177\146\231\147\205\001\002\000" +
  48.658      "\012\013\321\053\324\066\u02ef\110\322\001\002\000\032" +
  48.659      "\005\213\047\224\050\200\051\227\113\204\116\175\120" +
  48.660 -    "\217\143\215\144\045\145\176\146\231\147\205\001\002" +
  48.661 +    "\217\143\215\144\045\145\177\146\231\147\205\001\002" +
  48.662      "\000\004\124\u02f1\001\002\000\006\031\ufe00\144\ufe00\001" +
  48.663      "\002\000\004\124\u02f3\001\002\000\044\003\ufe04\016\ufe04" +
  48.664      "\031\ufe04\032\ufe04\035\ufe04\036\ufe04\037\ufe04\056\ufe04\057" +
  48.665      "\ufe04\060\ufe04\061\ufe04\062\ufe04\075\ufe04\077\ufe04\102\ufe04" +
  48.666      "\104\ufe04\144\ufe04\001\002\000\032\005\213\047\224\050" +
  48.667      "\200\051\227\113\204\116\175\120\217\143\215\144\045" +
  48.668 -    "\145\176\146\231\147\205\001\002\000\012\013\321\053" +
  48.669 +    "\145\177\146\231\147\205\001\002\000\012\013\321\053" +
  48.670      "\324\110\322\124\u02f6\001\002\000\006\031\ufe02\144\ufe02" +
  48.671      "\001\002\000\044\003\ufe05\016\ufe05\031\ufe05\032\ufe05\035" +
  48.672      "\ufe05\036\ufe05\037\ufe05\056\ufe05\057\ufe05\060\ufe05\061\ufe05" +
  48.673 @@ -1583,7 +1583,7 @@
  48.674      "\057\uffec\060\uffec\061\uffec\062\uffec\075\uffec\077\uffec\102" +
  48.675      "\uffec\104\uffec\144\uffec\001\002\000\032\005\213\047\224" +
  48.676      "\050\200\051\227\113\204\116\175\120\217\143\215\144" +
  48.677 -    "\045\145\176\146\231\147\205\001\002\000\012\013\321" +
  48.678 +    "\045\145\177\146\231\147\205\001\002\000\012\013\321" +
  48.679      "\053\324\110\322\124\u030a\001\002\000\042\003\uffe1\016" +
  48.680      "\uffe1\031\uffe1\035\uffe1\036\uffe1\037\uffe1\056\uffe1\057\uffe1" +
  48.681      "\060\uffe1\061\uffe1\062\uffe1\075\uffe1\077\uffe1\102\uffe1\104" +
  48.682 @@ -1718,7 +1718,7 @@
  48.683      "\ufe20\061\ufe20\102\ufe20\104\ufe20\107\ufe20\144\ufe20\001\002" +
  48.684      "\000\040\003\251\005\213\047\224\050\200\051\227\054" +
  48.685      "\253\113\204\116\175\120\217\142\u0385\143\215\144\045" +
  48.686 -    "\145\176\146\231\147\205\001\002\000\004\114\u0386\001" +
  48.687 +    "\145\177\146\231\147\205\001\002\000\004\114\u0386\001" +
  48.688      "\002\000\004\124\u0387\001\002\000\022\003\ufe21\036\ufe21" +
  48.689      "\056\ufe21\061\ufe21\102\ufe21\104\ufe21\107\ufe21\144\ufe21\001" +
  48.690      "\002\000\010\043\ufebe\113\u0134\124\ufebe\001\002\000\006" +
  48.691 @@ -1791,7 +1791,7 @@
  48.692      "\001\002\000\004\002\001\001\002\000\006\113\uff59\124" +
  48.693      "\u03dd\001\002\000\004\113\u03d2\001\002\000\032\005\213" +
  48.694      "\047\224\050\200\051\227\113\204\116\175\120\217\143" +
  48.695 -    "\215\144\045\145\176\146\231\147\205\001\002\000\006" +
  48.696 +    "\215\144\045\145\177\146\231\147\205\001\002\000\006" +
  48.697      "\114\ufffe\117\ufffe\001\002\000\006\114\u03da\117\u03d9\001" +
  48.698      "\002\000\064\013\uff61\042\uff61\046\uff61\050\uff61\053\uff61" +
  48.699      "\070\uff61\110\uff61\111\uff61\112\uff61\113\uff61\114\uff61\115" +
  48.700 @@ -1799,11 +1799,11 @@
  48.701      "\126\uff61\127\uff61\131\u03d7\133\uff61\135\uff61\136\uff61\137" +
  48.702      "\uff61\001\002\000\014\013\321\053\324\110\322\114\ufffc" +
  48.703      "\117\ufffc\001\002\000\032\005\213\047\224\050\200\051" +
  48.704 -    "\227\113\204\116\175\120\217\143\215\144\045\145\176" +
  48.705 +    "\227\113\204\116\175\120\217\143\215\144\045\145\177" +
  48.706      "\146\231\147\205\001\002\000\014\013\321\053\324\110" +
  48.707      "\322\114\ufffb\117\ufffb\001\002\000\032\005\213\047\224" +
  48.708      "\050\200\051\227\113\204\116\175\120\217\143\215\144" +
  48.709 -    "\045\145\176\146\231\147\205\001\002\000\004\124\u03db" +
  48.710 +    "\045\145\177\146\231\147\205\001\002\000\004\124\u03db" +
  48.711      "\001\002\000\130\002\uffff\003\uffff\004\uffff\010\uffff\016" +
  48.712      "\uffff\021\uffff\022\uffff\023\uffff\027\uffff\030\uffff\031\uffff" +
  48.713      "\032\uffff\033\uffff\034\uffff\035\uffff\036\uffff\037\uffff\040" +
  48.714 @@ -1826,14 +1826,14 @@
  48.715    /** <code>reduce_goto</code> table. */
  48.716    protected static final short[][] _reduce_table = 
  48.717      unpackFromStrings(new String[] {
  48.718 -    "\000\u03db\000\010\125\004\126\006\170\005\001\001\000" +
  48.719 -    "\004\027\u03d0\001\001\000\002\001\001\000\004\173\u03cd" +
  48.720 +    "\000\u03db\000\010\125\004\126\006\173\005\001\001\000" +
  48.721 +    "\004\027\u03d0\001\001\000\002\001\001\000\004\176\u03cd" +
  48.722      "\001\001\000\014\114\011\127\013\131\007\132\010\332" +
  48.723 -    "\015\001\001\000\012\114\u03c9\132\u03c8\170\u03c7\332\u03ca" +
  48.724 +    "\015\001\001\000\012\114\u03c9\132\u03c8\173\u03c7\332\u03ca" +
  48.725      "\001\001\000\002\001\001\000\002\001\001\000\010\027" +
  48.726      "\045\133\u03c3\140\u03c2\001\001\000\002\001\001\000\020" +
  48.727 -    "\026\u03b7\027\202\030\224\103\221\115\u03b8\163\205\164" +
  48.728 -    "\176\001\001\000\034\005\025\072\034\073\023\074\037" +
  48.729 +    "\026\u03b7\027\202\030\225\103\220\115\u03b8\163\205\164" +
  48.730 +    "\175\001\001\000\034\005\025\072\034\073\023\074\037" +
  48.731      "\105\030\106\036\107\022\120\032\130\033\136\031\151" +
  48.732      "\040\272\024\274\017\001\001\000\002\001\001\000\020" +
  48.733      "\006\102\023\u012b\072\u036d\100\u0369\106\u036b\114\u0366\336" +
  48.734 @@ -1841,7 +1841,7 @@
  48.735      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
  48.736      "\001\000\002\001\001\000\012\027\045\102\u034c\103\u0146" +
  48.737      "\140\u0145\001\001\000\002\001\001\000\002\001\001\000" +
  48.738 -    "\002\001\001\000\002\001\001\000\004\173\u034b\001\001" +
  48.739 +    "\002\001\001\000\002\001\001\000\004\176\u034b\001\001" +
  48.740      "\000\002\001\001\000\006\027\045\140\042\001\001\000" +
  48.741      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
  48.742      "\001\001\000\002\001\001\000\006\027\045\140\046\001" +
  48.743 @@ -1850,8 +1850,8 @@
  48.744      "\105\012\074\013\066\016\052\020\123\022\060\023\061" +
  48.745      "\025\117\072\076\073\023\074\072\105\070\106\036\107" +
  48.746      "\071\110\103\114\107\117\115\120\077\121\106\134\113" +
  48.747 -    "\136\064\144\065\170\122\174\100\175\111\176\056\250" +
  48.748 -    "\063\251\110\272\024\274\017\275\121\302\053\344\112" +
  48.749 +    "\136\064\144\065\173\122\177\100\200\111\201\056\253" +
  48.750 +    "\063\254\110\272\024\274\017\275\121\302\053\344\112" +
  48.751      "\345\114\346\055\001\001\000\004\027\051\001\001\000" +
  48.752      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
  48.753      "\001\001\000\002\001\001\000\002\001\001\000\004\027" +
  48.754 @@ -1861,7 +1861,7 @@
  48.755      "\011\105\016\052\020\123\022\060\023\061\025\117\072" +
  48.756      "\076\073\023\074\072\105\070\106\036\107\071\110\103" +
  48.757      "\114\107\117\115\120\077\121\106\134\113\136\064\144" +
  48.758 -    "\065\170\122\174\100\175\111\176\056\250\063\251\u02f9" +
  48.759 +    "\065\173\122\177\100\200\111\201\056\253\063\254\u02f9" +
  48.760      "\272\024\274\017\275\121\302\053\344\112\345\114\346" +
  48.761      "\055\001\001\000\006\027\160\146\u02e2\001\001\000\002" +
  48.762      "\001\001\000\002\001\001\000\002\001\001\000\004\006" +
  48.763 @@ -1879,162 +1879,162 @@
  48.764      "\006\102\011\105\012\074\013\066\016\052\020\123\022" +
  48.765      "\060\023\061\025\117\072\076\073\023\074\072\105\070" +
  48.766      "\106\036\107\071\110\103\114\107\117\115\120\077\121" +
  48.767 -    "\106\134\113\136\064\144\065\170\122\174\100\175\111" +
  48.768 -    "\176\056\250\063\251\110\272\024\274\017\275\121\302" +
  48.769 +    "\106\134\113\136\064\144\065\173\122\177\100\200\111" +
  48.770 +    "\201\056\253\063\254\110\272\024\274\017\275\121\302" +
  48.771      "\053\344\112\345\114\346\055\001\001\000\002\001\001" +
  48.772      "\000\002\001\001\000\004\027\u0149\001\001\000\004\303" +
  48.773 -    "\u0148\001\001\000\004\027\137\001\001\000\006\177\141" +
  48.774 -    "\200\140\001\001\000\002\001\001\000\004\303\u0102\001" +
  48.775 -    "\001\000\012\006\102\023\143\240\146\241\147\001\001" +
  48.776 +    "\u0148\001\001\000\004\027\137\001\001\000\006\202\141" +
  48.777 +    "\203\140\001\001\000\002\001\001\000\004\303\u0102\001" +
  48.778 +    "\001\000\012\006\102\023\143\243\146\244\147\001\001" +
  48.779      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
  48.780      "\002\001\001\000\002\001\001\000\010\006\102\023\143" +
  48.781 -    "\241\152\001\001\000\002\001\001\000\002\001\001\000" +
  48.782 -    "\002\001\001\000\004\006\u0101\001\001\000\004\242\156" +
  48.783 +    "\244\152\001\001\000\002\001\001\000\002\001\001\000" +
  48.784 +    "\002\001\001\000\004\006\u0101\001\001\000\004\245\156" +
  48.785      "\001\001\000\006\027\160\146\161\001\001\000\002\001" +
  48.786      "\001\000\002\001\001\000\004\143\162\001\001\000\002" +
  48.787 -    "\001\001\000\050\026\231\027\202\030\224\031\206\032" +
  48.788 -    "\201\033\213\034\211\035\210\036\217\042\222\044\225" +
  48.789 -    "\103\221\154\220\155\215\160\227\163\205\164\176\255" +
  48.790 -    "\207\261\200\001\001\000\004\252\167\001\001\000\004" +
  48.791 +    "\001\001\000\050\026\231\027\202\030\225\031\206\032" +
  48.792 +    "\201\033\213\034\211\035\210\036\217\042\222\044\224" +
  48.793 +    "\103\220\154\221\155\215\160\227\163\205\164\175\257" +
  48.794 +    "\207\261\200\001\001\000\004\172\167\001\001\000\004" +
  48.795      "\027\166\001\001\000\002\001\001\000\002\001\001\000" +
  48.796      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
  48.797      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
  48.798 -    "\001\000\034\026\231\027\202\030\224\036\u0100\044\225" +
  48.799 -    "\103\221\154\220\155\215\160\227\163\205\164\176\255" +
  48.800 +    "\001\000\034\026\231\027\202\030\225\036\u0100\044\224" +
  48.801 +    "\103\220\154\221\155\215\160\227\163\205\164\175\257" +
  48.802      "\207\261\200\001\001\000\002\001\001\000\002\001\001" +
  48.803 -    "\000\002\001\001\000\066\026\246\027\202\030\224\031" +
  48.804 +    "\000\002\001\001\000\066\026\246\027\202\030\225\031" +
  48.805      "\355\032\201\033\256\034\211\035\210\036\217\042\222" +
  48.806 -    "\044\225\103\221\154\220\155\215\160\227\161\245\163" +
  48.807 -    "\205\164\176\167\244\245\251\246\243\253\360\254\357" +
  48.808 -    "\255\207\256\354\261\200\001\001\000\002\001\001\000" +
  48.809 -    "\002\001\001\000\006\037\322\257\316\001\001\000\002" +
  48.810 +    "\044\224\103\220\154\221\155\215\160\227\161\245\163" +
  48.811 +    "\205\164\175\167\244\250\251\251\243\255\360\256\357" +
  48.812 +    "\257\207\260\354\261\200\001\001\000\002\001\001\000" +
  48.813 +    "\002\001\001\000\006\037\322\170\316\001\001\000\002" +
  48.814      "\001\001\000\002\001\001\000\004\043\303\001\001\000" +
  48.815 -    "\034\026\231\027\202\030\224\036\353\044\225\103\221" +
  48.816 -    "\154\220\155\215\160\227\163\205\164\176\255\207\261" +
  48.817 -    "\200\001\001\000\010\040\262\041\267\260\264\001\001" +
  48.818 +    "\034\026\231\027\202\030\225\036\353\044\224\103\220" +
  48.819 +    "\154\221\155\215\160\227\163\205\164\175\257\207\261" +
  48.820 +    "\200\001\001\000\010\040\262\041\267\171\264\001\001" +
  48.821      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
  48.822      "\002\001\001\000\002\001\001\000\002\001\001\000\040" +
  48.823 -    "\026\231\027\202\030\224\034\350\035\210\036\217\044" +
  48.824 -    "\225\103\221\154\220\155\215\160\227\163\205\164\176" +
  48.825 -    "\255\207\261\200\001\001\000\020\026\346\027\202\030" +
  48.826 -    "\224\044\347\103\221\163\205\164\176\001\001\000\002" +
  48.827 +    "\026\231\027\202\030\225\034\350\035\210\036\217\044" +
  48.828 +    "\224\103\220\154\221\155\215\160\227\163\205\164\175" +
  48.829 +    "\257\207\261\200\001\001\000\020\026\346\027\202\030" +
  48.830 +    "\225\044\347\103\220\163\205\164\175\001\001\000\002" +
  48.831      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
  48.832      "\001\000\002\001\001\000\002\001\001\000\066\026\246" +
  48.833 -    "\027\202\030\224\031\247\032\201\033\256\034\211\035" +
  48.834 -    "\210\036\217\042\222\044\225\103\221\154\220\155\215" +
  48.835 -    "\160\227\161\245\163\205\164\176\165\255\167\244\245" +
  48.836 -    "\251\246\243\253\254\254\253\255\207\261\200\001\001" +
  48.837 -    "\000\010\155\242\252\241\255\207\001\001\000\010\027" +
  48.838 +    "\027\202\030\225\031\247\032\201\033\256\034\211\035" +
  48.839 +    "\210\036\217\042\222\044\224\103\220\154\221\155\215" +
  48.840 +    "\160\227\161\245\163\205\164\175\165\255\167\244\250" +
  48.841 +    "\251\251\243\255\254\256\253\257\207\261\200\001\001" +
  48.842 +    "\000\010\155\242\172\241\257\207\001\001\000\010\027" +
  48.843      "\237\103\236\160\240\001\001\000\002\001\001\000\002" +
  48.844      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
  48.845      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
  48.846 -    "\000\002\001\001\000\004\211\335\001\001\000\006\037" +
  48.847 -    "\322\257\316\001\001\000\002\001\001\000\002\001\001" +
  48.848 +    "\000\002\001\001\000\004\214\335\001\001\000\006\037" +
  48.849 +    "\322\170\316\001\001\000\002\001\001\000\002\001\001" +
  48.850      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
  48.851 -    "\002\001\001\000\010\040\262\041\267\260\264\001\001" +
  48.852 +    "\002\001\001\000\010\040\262\041\267\171\264\001\001" +
  48.853      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
  48.854 -    "\044\026\231\027\202\030\224\033\330\034\211\035\210" +
  48.855 -    "\036\217\042\222\044\225\103\221\154\220\155\215\160" +
  48.856 -    "\227\163\205\164\176\255\207\261\200\001\001\000\002" +
  48.857 -    "\001\001\000\046\026\311\027\202\030\224\033\310\034" +
  48.858 -    "\211\035\210\036\217\042\222\044\225\103\221\154\220" +
  48.859 -    "\155\215\160\227\163\205\164\176\167\307\255\207\261" +
  48.860 +    "\044\026\231\027\202\030\225\033\330\034\211\035\210" +
  48.861 +    "\036\217\042\222\044\224\103\220\154\221\155\215\160" +
  48.862 +    "\227\163\205\164\175\257\207\261\200\001\001\000\002" +
  48.863 +    "\001\001\000\046\026\311\027\202\030\225\033\310\034" +
  48.864 +    "\211\035\210\036\217\042\222\044\224\103\220\154\221" +
  48.865 +    "\155\215\160\227\163\205\164\175\167\307\257\207\261" +
  48.866      "\200\001\001\000\002\001\001\000\002\001\001\000\040" +
  48.867 -    "\026\231\027\202\030\224\034\300\035\210\036\217\044" +
  48.868 -    "\225\103\221\154\220\155\215\160\227\163\205\164\176" +
  48.869 -    "\255\207\261\200\001\001\000\002\001\001\000\044\026" +
  48.870 -    "\231\027\202\030\224\033\277\034\211\035\210\036\217" +
  48.871 -    "\042\222\044\225\103\221\154\220\155\215\160\227\163" +
  48.872 -    "\205\164\176\255\207\261\200\001\001\000\002\001\001" +
  48.873 +    "\026\231\027\202\030\225\034\300\035\210\036\217\044" +
  48.874 +    "\224\103\220\154\221\155\215\160\227\163\205\164\175" +
  48.875 +    "\257\207\261\200\001\001\000\002\001\001\000\044\026" +
  48.876 +    "\231\027\202\030\225\033\277\034\211\035\210\036\217" +
  48.877 +    "\042\222\044\224\103\220\154\221\155\215\160\227\163" +
  48.878 +    "\205\164\175\257\207\261\200\001\001\000\002\001\001" +
  48.879      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
  48.880      "\002\001\001\000\004\041\267\001\001\000\004\043\303" +
  48.881      "\001\001\000\002\001\001\000\002\001\001\000\036\026" +
  48.882 -    "\231\027\202\030\224\035\306\036\217\044\225\103\221" +
  48.883 -    "\154\220\155\215\160\227\163\205\164\176\255\207\261" +
  48.884 +    "\231\027\202\030\225\035\306\036\217\044\224\103\220" +
  48.885 +    "\154\221\155\215\160\227\163\205\164\175\257\207\261" +
  48.886      "\200\001\001\000\002\001\001\000\002\001\001\000\002" +
  48.887      "\001\001\000\002\001\001\000\004\041\267\001\001\000" +
  48.888 -    "\002\001\001\000\010\155\242\252\241\255\207\001\001" +
  48.889 -    "\000\002\001\001\000\050\026\231\027\202\030\224\031" +
  48.890 +    "\002\001\001\000\010\155\242\172\241\257\207\001\001" +
  48.891 +    "\000\002\001\001\000\050\026\231\027\202\030\225\031" +
  48.892      "\315\032\201\033\213\034\211\035\210\036\217\042\222" +
  48.893 -    "\044\225\103\221\154\220\155\215\160\227\163\205\164" +
  48.894 -    "\176\255\207\261\200\001\001\000\006\037\322\257\316" +
  48.895 -    "\001\001\000\046\026\231\027\202\030\224\032\327\033" +
  48.896 -    "\213\034\211\035\210\036\217\042\222\044\225\103\221" +
  48.897 -    "\154\220\155\215\160\227\163\205\164\176\255\207\261" +
  48.898 +    "\044\224\103\220\154\221\155\215\160\227\163\205\164" +
  48.899 +    "\175\257\207\261\200\001\001\000\006\037\322\170\316" +
  48.900 +    "\001\001\000\046\026\231\027\202\030\225\032\327\033" +
  48.901 +    "\213\034\211\035\210\036\217\042\222\044\224\103\220" +
  48.902 +    "\154\221\155\215\160\227\163\205\164\175\257\207\261" +
  48.903      "\200\001\001\000\002\001\001\000\002\001\001\000\002" +
  48.904 -    "\001\001\000\046\026\231\027\202\030\224\032\325\033" +
  48.905 -    "\213\034\211\035\210\036\217\042\222\044\225\103\221" +
  48.906 -    "\154\220\155\215\160\227\163\205\164\176\255\207\261" +
  48.907 +    "\001\001\000\046\026\231\027\202\030\225\032\325\033" +
  48.908 +    "\213\034\211\035\210\036\217\042\222\044\224\103\220" +
  48.909 +    "\154\221\155\215\160\227\163\205\164\175\257\207\261" +
  48.910      "\200\001\001\000\002\001\001\000\002\001\001\000\002" +
  48.911      "\001\001\000\002\001\001\000\002\001\001\000\004\041" +
  48.912 -    "\267\001\001\000\064\026\246\027\202\030\224\031\247" +
  48.913 +    "\267\001\001\000\064\026\246\027\202\030\225\031\247" +
  48.914      "\032\201\033\256\034\211\035\210\036\217\042\222\044" +
  48.915 -    "\225\103\221\154\220\155\215\160\227\161\245\163\205" +
  48.916 -    "\164\176\167\244\245\251\246\243\253\333\254\253\255" +
  48.917 +    "\224\103\220\154\221\155\215\160\227\161\245\163\205" +
  48.918 +    "\164\175\167\244\250\251\251\243\255\333\256\253\257" +
  48.919      "\207\261\200\001\001\000\002\001\001\000\002\001\001" +
  48.920 -    "\000\046\026\337\027\202\030\224\033\310\034\211\035" +
  48.921 -    "\210\036\217\042\222\044\225\103\221\154\220\155\215" +
  48.922 -    "\160\227\163\205\164\176\167\336\255\207\261\200\001" +
  48.923 +    "\000\046\026\337\027\202\030\225\033\310\034\211\035" +
  48.924 +    "\210\036\217\042\222\044\224\103\220\154\221\155\215" +
  48.925 +    "\160\227\163\205\164\175\167\336\257\207\261\200\001" +
  48.926      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
  48.927 -    "\000\056\026\246\027\202\030\224\031\345\032\201\033" +
  48.928 -    "\256\034\211\035\210\036\217\042\222\044\225\103\221" +
  48.929 -    "\154\220\155\215\160\227\163\205\164\176\167\244\245" +
  48.930 -    "\344\246\343\255\207\261\200\001\001\000\050\026\231" +
  48.931 -    "\027\202\030\224\031\342\032\201\033\213\034\211\035" +
  48.932 -    "\210\036\217\042\222\044\225\103\221\154\220\155\215" +
  48.933 -    "\160\227\163\205\164\176\255\207\261\200\001\001\000" +
  48.934 -    "\006\037\322\257\316\001\001\000\002\001\001\000\002" +
  48.935 -    "\001\001\000\006\037\322\257\316\001\001\000\002\001" +
  48.936 +    "\000\056\026\246\027\202\030\225\031\345\032\201\033" +
  48.937 +    "\256\034\211\035\210\036\217\042\222\044\224\103\220" +
  48.938 +    "\154\221\155\215\160\227\163\205\164\175\167\244\250" +
  48.939 +    "\344\251\343\257\207\261\200\001\001\000\050\026\231" +
  48.940 +    "\027\202\030\225\031\342\032\201\033\213\034\211\035" +
  48.941 +    "\210\036\217\042\222\044\224\103\220\154\221\155\215" +
  48.942 +    "\160\227\163\205\164\175\257\207\261\200\001\001\000" +
  48.943 +    "\006\037\322\170\316\001\001\000\002\001\001\000\002" +
  48.944 +    "\001\001\000\006\037\322\170\316\001\001\000\002\001" +
  48.945      "\001\000\002\001\001\000\004\043\303\001\001\000\034" +
  48.946 -    "\026\231\027\202\030\224\036\352\044\225\103\221\154" +
  48.947 -    "\220\155\215\160\227\163\205\164\176\255\207\261\200" +
  48.948 +    "\026\231\027\202\030\225\036\352\044\224\103\220\154" +
  48.949 +    "\221\155\215\160\227\163\205\164\175\257\207\261\200" +
  48.950      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
  48.951 -    "\001\000\006\037\322\257\316\001\001\000\002\001\001" +
  48.952 +    "\001\000\006\037\322\170\316\001\001\000\002\001\001" +
  48.953      "\000\002\001\001\000\002\001\001\000\064\026\246\027" +
  48.954 -    "\202\030\224\031\247\032\201\033\256\034\211\035\210" +
  48.955 -    "\036\217\042\222\044\225\103\221\154\220\155\215\160" +
  48.956 -    "\227\161\245\163\205\164\176\167\244\245\251\246\243" +
  48.957 -    "\253\362\254\253\255\207\261\200\001\001\000\002\001" +
  48.958 +    "\202\030\225\031\247\032\201\033\256\034\211\035\210" +
  48.959 +    "\036\217\042\222\044\224\103\220\154\221\155\215\160" +
  48.960 +    "\227\161\245\163\205\164\175\167\244\250\251\251\243" +
  48.961 +    "\255\362\256\253\257\207\261\200\001\001\000\002\001" +
  48.962      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
  48.963 -    "\000\002\001\001\000\066\026\246\027\202\030\224\031" +
  48.964 +    "\000\002\001\001\000\066\026\246\027\202\030\225\031" +
  48.965      "\247\032\201\033\256\034\211\035\210\036\217\042\222" +
  48.966 -    "\044\225\103\221\154\220\155\215\160\227\161\245\163" +
  48.967 -    "\205\164\176\165\371\167\244\245\251\246\243\253\254" +
  48.968 -    "\254\253\255\207\261\200\001\001\000\002\001\001\000" +
  48.969 +    "\044\224\103\220\154\221\155\215\160\227\161\245\163" +
  48.970 +    "\205\164\175\165\371\167\244\250\251\251\243\255\254" +
  48.971 +    "\256\253\257\207\261\200\001\001\000\002\001\001\000" +
  48.972      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
  48.973 -    "\001\001\000\064\026\246\027\202\030\224\031\247\032" +
  48.974 -    "\201\033\256\034\211\035\210\036\217\042\222\044\225" +
  48.975 -    "\103\221\154\220\155\215\160\227\161\245\163\205\164" +
  48.976 -    "\176\167\244\245\251\246\243\253\377\254\253\255\207" +
  48.977 +    "\001\001\000\064\026\246\027\202\030\225\031\247\032" +
  48.978 +    "\201\033\256\034\211\035\210\036\217\042\222\044\224" +
  48.979 +    "\103\220\154\221\155\215\160\227\161\245\163\205\164" +
  48.980 +    "\175\167\244\250\251\251\243\255\377\256\253\257\207" +
  48.981      "\261\200\001\001\000\002\001\001\000\002\001\001\000" +
  48.982      "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
  48.983 -    "\304\u0104\001\001\000\024\072\u010c\170\u0107\250\u0106\305" +
  48.984 +    "\304\u0104\001\001\000\024\072\u010c\173\u0107\253\u0106\305" +
  48.985      "\u0108\307\u0105\310\u010b\344\112\345\114\346\055\001\001" +
  48.986      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
  48.987      "\002\001\001\000\002\001\001\000\004\306\u010e\001\001" +
  48.988      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
  48.989 -    "\032\006\102\023\u0110\072\u010c\170\u0107\235\u0111\250\u0106" +
  48.990 +    "\032\006\102\023\u0110\072\u010c\173\u0107\240\u0111\253\u0106" +
  48.991      "\307\u0112\310\u010b\311\u010f\344\112\345\114\346\055\001" +
  48.992      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
  48.993      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
  48.994 -    "\006\227\u0118\230\u0117\001\001\000\002\001\001\000\020" +
  48.995 -    "\021\u011c\026\u011b\027\202\030\224\103\221\163\205\164" +
  48.996 -    "\176\001\001\000\004\143\u0119\001\001\000\002\001\001" +
  48.997 -    "\000\002\001\001\000\010\210\u0120\211\u011f\212\u011e\001" +
  48.998 -    "\001\000\002\001\001\000\050\026\231\027\202\030\224" +
  48.999 +    "\006\232\u0118\233\u0117\001\001\000\002\001\001\000\020" +
 48.1000 +    "\021\u011c\026\u011b\027\202\030\225\103\220\163\205\164" +
 48.1001 +    "\175\001\001\000\004\143\u0119\001\001\000\002\001\001" +
 48.1002 +    "\000\002\001\001\000\010\213\u0120\214\u011f\215\u011e\001" +
 48.1003 +    "\001\000\002\001\001\000\050\026\231\027\202\030\225" +
 48.1004      "\031\u0122\032\201\033\213\034\211\035\210\036\217\042" +
 48.1005 -    "\222\044\225\103\221\154\220\155\215\160\227\163\205" +
 48.1006 -    "\164\176\255\207\261\200\001\001\000\002\001\001\000" +
 48.1007 -    "\002\001\001\000\002\001\001\000\004\252\241\001\001" +
 48.1008 -    "\000\012\037\322\211\u0124\213\u0123\257\316\001\001\000" +
 48.1009 +    "\222\044\224\103\220\154\221\155\215\160\227\163\205" +
 48.1010 +    "\164\175\257\207\261\200\001\001\000\002\001\001\000" +
 48.1011 +    "\002\001\001\000\002\001\001\000\004\172\241\001\001" +
 48.1012 +    "\000\012\037\322\170\316\214\u0124\216\u0123\001\001\000" +
 48.1013      "\002\001\001\000\002\001\001\000\006\076\u0126\077\u0127" +
 48.1014      "\001\001\000\002\001\001\000\002\001\001\000\060\006" +
 48.1015 -    "\102\023\u012b\026\u012d\027\202\030\224\033\310\034\211" +
 48.1016 -    "\035\210\036\217\042\222\044\225\075\u0129\100\u012a\103" +
 48.1017 -    "\221\154\220\155\215\160\227\163\205\164\176\166\u012f" +
 48.1018 -    "\167\u012c\255\207\261\200\001\001\000\002\001\001\000" +
 48.1019 +    "\102\023\u012b\026\u012d\027\202\030\225\033\310\034\211" +
 48.1020 +    "\035\210\036\217\042\222\044\224\075\u0129\100\u012a\103" +
 48.1021 +    "\220\154\221\155\215\160\227\163\205\164\175\166\u012f" +
 48.1022 +    "\167\u012c\257\207\261\200\001\001\000\002\001\001\000" +
 48.1023      "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
 48.1024 -    "\211\u0124\213\u0136\001\001\000\002\001\001\000\002\001" +
 48.1025 +    "\214\u0124\216\u0136\001\001\000\002\001\001\000\002\001" +
 48.1026      "\001\000\002\001\001\000\006\076\u0132\077\u0127\001\001" +
 48.1027      "\000\002\001\001\000\012\006\102\023\u012b\075\u0129\100" +
 48.1028      "\u012a\001\001\000\002\001\001\000\002\001\001\000\002" +
 48.1029 @@ -2046,512 +2046,512 @@
 48.1030      "\014\027\045\102\u0144\103\u0146\140\u0145\152\u0147\001\001" +
 48.1031      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 48.1032      "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
 48.1033 -    "\173\u014d\312\u014c\001\001\000\002\001\001\000\012\072" +
 48.1034 -    "\u0151\074\u0153\313\u0152\314\u014f\001\001\000\004\170\u014e" +
 48.1035 +    "\176\u014d\312\u014c\001\001\000\002\001\001\000\012\072" +
 48.1036 +    "\u0151\074\u0153\313\u0152\314\u014f\001\001\000\004\173\u014e" +
 48.1037      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 48.1038 -    "\001\000\002\001\001\000\004\173\u0157\001\001\000\002" +
 48.1039 +    "\001\000\002\001\001\000\004\176\u0157\001\001\000\002" +
 48.1040      "\001\001\000\014\027\045\102\u0144\103\u0146\140\u0145\152" +
 48.1041      "\u0155\001\001\000\002\001\001\000\002\001\001\000\004" +
 48.1042 -    "\170\u014e\001\001\000\002\001\001\000\122\002\124\003" +
 48.1043 +    "\173\u014e\001\001\000\002\001\001\000\122\002\124\003" +
 48.1044      "\062\004\054\005\101\006\102\011\105\012\u015a\013\066" +
 48.1045      "\016\052\020\123\022\060\023\061\025\117\072\076\073" +
 48.1046      "\023\074\072\105\070\106\036\107\071\110\103\114\107" +
 48.1047 -    "\117\115\120\077\121\106\134\113\136\064\144\065\170" +
 48.1048 -    "\122\174\100\175\111\176\056\250\063\251\110\272\024" +
 48.1049 +    "\117\115\120\077\121\106\134\113\136\064\144\065\173" +
 48.1050 +    "\122\177\100\200\111\201\056\253\063\254\110\272\024" +
 48.1051      "\274\017\275\121\302\053\344\112\345\114\346\055\001" +
 48.1052      "\001\000\004\066\u015c\001\001\000\116\026\u016e\027\202" +
 48.1053 -    "\030\224\044\u0162\045\u017e\046\u016c\047\u016a\050\u0188\051" +
 48.1054 +    "\030\225\044\u0162\045\u017e\046\u016c\047\u016a\050\u0188\051" +
 48.1055      "\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165" +
 48.1056 -    "\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\147" +
 48.1057 -    "\u0160\150\u0178\153\u018c\157\u0164\162\u0187\163\205\164\176" +
 48.1058 -    "\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
 48.1059 +    "\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\147" +
 48.1060 +    "\u0160\150\u0178\153\u018c\157\u0164\162\u0187\163\205\164\175" +
 48.1061 +    "\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
 48.1062      "\u0172\322\u016f\323\u0161\324\u0181\001\001\000\002\001\001" +
 48.1063      "\000\014\027\045\102\u0144\103\u0146\140\u0145\152\u015e\001" +
 48.1064      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 48.1065      "\000\002\001\001\000\002\001\001\000\016\026\u0230\027" +
 48.1066 -    "\202\030\224\103\221\163\205\164\176\001\001\000\002" +
 48.1067 +    "\202\030\225\103\220\163\205\164\175\001\001\000\002" +
 48.1068      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 48.1069 -    "\001\000\050\026\231\027\202\030\224\031\u0224\032\201" +
 48.1070 -    "\033\213\034\211\035\210\036\217\042\222\044\225\103" +
 48.1071 -    "\221\154\220\155\215\160\227\163\205\164\176\255\207" +
 48.1072 +    "\001\000\050\026\231\027\202\030\225\031\u0224\032\201" +
 48.1073 +    "\033\213\034\211\035\210\036\217\042\222\044\224\103" +
 48.1074 +    "\220\154\221\155\215\160\227\163\205\164\175\257\207" +
 48.1075      "\261\200\001\001\000\002\001\001\000\002\001\001\000" +
 48.1076      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
 48.1077      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 48.1078      "\001\000\002\001\001\000\002\001\001\000\036\026\u01fd" +
 48.1079 -    "\027\202\030\224\103\221\122\u01f4\157\u01f8\163\205\164" +
 48.1080 -    "\176\264\u01fb\316\u017a\317\u01f5\325\u01fc\327\u01f6\331\u01f7" +
 48.1081 -    "\001\001\000\020\026\u0191\027\202\030\224\070\u01ef\103" +
 48.1082 -    "\221\163\205\164\176\001\001\000\054\026\231\027\202" +
 48.1083 -    "\030\224\031\u019b\032\201\033\213\034\211\035\210\036" +
 48.1084 -    "\217\042\222\044\225\053\u01e1\054\u01e2\103\221\154\220" +
 48.1085 -    "\155\215\160\227\163\205\164\176\255\207\261\200\001" +
 48.1086 +    "\027\202\030\225\103\220\122\u01f4\157\u01f8\163\205\164" +
 48.1087 +    "\175\264\u01fb\316\u017a\317\u01f5\325\u01fc\327\u01f6\331\u01f7" +
 48.1088 +    "\001\001\000\020\026\u0191\027\202\030\225\070\u01ef\103" +
 48.1089 +    "\220\163\205\164\175\001\001\000\054\026\231\027\202" +
 48.1090 +    "\030\225\031\u019b\032\201\033\213\034\211\035\210\036" +
 48.1091 +    "\217\042\222\044\224\053\u01e1\054\u01e2\103\220\154\221" +
 48.1092 +    "\155\215\160\227\163\205\164\175\257\207\261\200\001" +
 48.1093      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 48.1094 -    "\000\002\001\001\000\050\026\231\027\202\030\224\031" +
 48.1095 +    "\000\002\001\001\000\050\026\231\027\202\030\225\031" +
 48.1096      "\u01d9\032\201\033\213\034\211\035\210\036\217\042\222" +
 48.1097 -    "\044\225\103\221\154\220\155\215\160\227\163\205\164" +
 48.1098 -    "\176\255\207\261\200\001\001\000\020\026\u01d3\027\202" +
 48.1099 -    "\030\224\103\221\124\u01d4\163\205\164\176\001\001\000" +
 48.1100 -    "\002\001\001\000\116\026\u016e\027\202\030\224\044\u0162" +
 48.1101 +    "\044\224\103\220\154\221\155\215\160\227\163\205\164" +
 48.1102 +    "\175\257\207\261\200\001\001\000\020\026\u01d3\027\202" +
 48.1103 +    "\030\225\103\220\124\u01d4\163\205\164\175\001\001\000" +
 48.1104 +    "\002\001\001\000\116\026\u016e\027\202\030\225\044\u0162" +
 48.1105      "\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061" +
 48.1106 -    "\u0179\064\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a" +
 48.1107 +    "\u0179\064\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a" +
 48.1108      "\123\u018b\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162" +
 48.1109 -    "\u0187\163\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166" +
 48.1110 +    "\u0187\163\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166" +
 48.1111      "\265\u016d\270\u01c1\271\u01bf\316\u017a\321\u0172\322\u016f\323" +
 48.1112      "\u0161\324\u0181\001\001\000\002\001\001\000\002\001\001" +
 48.1113      "\000\002\001\001\000\006\027\u01b9\320\u01b8\001\001\000" +
 48.1114 -    "\016\026\u01b6\027\202\030\224\103\221\163\205\164\176" +
 48.1115 -    "\001\001\000\050\026\231\027\202\030\224\031\u01b1\032" +
 48.1116 -    "\201\033\213\034\211\035\210\036\217\042\222\044\225" +
 48.1117 -    "\103\221\154\220\155\215\160\227\163\205\164\176\255" +
 48.1118 +    "\016\026\u01b6\027\202\030\225\103\220\163\205\164\175" +
 48.1119 +    "\001\001\000\050\026\231\027\202\030\225\031\u01b1\032" +
 48.1120 +    "\201\033\213\034\211\035\210\036\217\042\222\044\224" +
 48.1121 +    "\103\220\154\221\155\215\160\227\163\205\164\175\257" +
 48.1122      "\207\261\200\001\001\000\002\001\001\000\002\001\001" +
 48.1123      "\000\010\063\u0199\065\u0196\266\u0198\001\001\000\002\001" +
 48.1124 -    "\001\000\112\026\u016e\027\202\030\224\044\u0162\046\u016c" +
 48.1125 +    "\001\000\112\026\u016e\027\202\030\225\044\u0162\046\u016c" +
 48.1126      "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
 48.1127 -    "\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b" +
 48.1128 +    "\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b" +
 48.1129      "\135\u0171\137\u0169\150\u0194\153\u018c\157\u0164\162\u0187\163" +
 48.1130 -    "\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 48.1131 +    "\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 48.1132      "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
 48.1133      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
 48.1134 -    "\001\001\000\020\026\u0191\027\202\030\224\070\u0192\103" +
 48.1135 -    "\221\163\205\164\176\001\001\000\002\001\001\000\002" +
 48.1136 +    "\001\001\000\020\026\u0191\027\202\030\225\070\u0192\103" +
 48.1137 +    "\220\163\205\164\175\001\001\000\002\001\001\000\002" +
 48.1138      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 48.1139      "\001\000\002\001\001\000\122\002\124\003\062\004\054" +
 48.1140      "\005\101\006\102\011\105\012\u01ae\013\066\016\052\020" +
 48.1141      "\123\022\060\023\061\025\117\072\076\073\023\074\072" +
 48.1142      "\105\070\106\036\107\071\110\103\114\107\117\115\120" +
 48.1143 -    "\077\121\106\134\113\136\064\144\065\170\122\174\100" +
 48.1144 -    "\175\111\176\056\250\063\251\110\272\024\274\017\275" +
 48.1145 +    "\077\121\106\134\113\136\064\144\065\173\122\177\100" +
 48.1146 +    "\200\111\201\056\253\063\254\110\272\024\274\017\275" +
 48.1147      "\121\302\053\344\112\345\114\346\055\001\001\000\004" +
 48.1148      "\066\u01aa\001\001\000\002\001\001\000\004\267\u01a5\001" +
 48.1149      "\001\000\004\062\u019d\001\001\000\052\026\231\027\202" +
 48.1150 -    "\030\224\031\u019b\032\201\033\213\034\211\035\210\036" +
 48.1151 -    "\217\042\222\044\225\054\u019c\103\221\154\220\155\215" +
 48.1152 -    "\160\227\163\205\164\176\255\207\261\200\001\001\000" +
 48.1153 -    "\006\037\322\257\316\001\001\000\002\001\001\000\014" +
 48.1154 +    "\030\225\031\u019b\032\201\033\213\034\211\035\210\036" +
 48.1155 +    "\217\042\222\044\224\054\u019c\103\220\154\221\155\215" +
 48.1156 +    "\160\227\163\205\164\175\257\207\261\200\001\001\000" +
 48.1157 +    "\006\037\322\170\316\001\001\000\002\001\001\000\014" +
 48.1158      "\027\045\102\u0144\103\u0146\140\u0145\152\u01a3\001\001\000" +
 48.1159 -    "\114\026\u016e\027\202\030\224\044\u0162\045\u019f\046\u016c" +
 48.1160 +    "\114\026\u016e\027\202\030\225\044\u0162\045\u019f\046\u016c" +
 48.1161      "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
 48.1162 -    "\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b" +
 48.1163 +    "\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b" +
 48.1164      "\135\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163" +
 48.1165 -    "\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 48.1166 +    "\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 48.1167      "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
 48.1168 -    "\112\026\u016e\027\202\030\224\044\u0162\046\u016c\047\u016a" +
 48.1169 +    "\112\026\u016e\027\202\030\225\044\u0162\046\u016c\047\u016a" +
 48.1170      "\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067" +
 48.1171 -    "\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135\u0171" +
 48.1172 +    "\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135\u0171" +
 48.1173      "\137\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163\205\164" +
 48.1174 -    "\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a" +
 48.1175 +    "\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a" +
 48.1176      "\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000\002\001" +
 48.1177      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 48.1178 -    "\000\002\001\001\000\050\026\u012d\027\202\030\224\033" +
 48.1179 -    "\310\034\211\035\210\036\217\042\222\044\225\103\221" +
 48.1180 -    "\154\220\155\215\160\227\163\205\164\176\166\u01a7\167" +
 48.1181 -    "\u012c\255\207\261\200\001\001\000\002\001\001\000\002" +
 48.1182 +    "\000\002\001\001\000\050\026\u012d\027\202\030\225\033" +
 48.1183 +    "\310\034\211\035\210\036\217\042\222\044\224\103\220" +
 48.1184 +    "\154\221\155\215\160\227\163\205\164\175\166\u01a7\167" +
 48.1185 +    "\u012c\257\207\261\200\001\001\000\002\001\001\000\002" +
 48.1186      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 48.1187      "\001\000\014\027\045\102\u0144\103\u0146\140\u0145\152\u01ac" +
 48.1188      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 48.1189      "\001\000\002\001\001\000\002\001\001\000\006\037\322" +
 48.1190 -    "\257\316\001\001\000\050\026\231\027\202\030\224\031" +
 48.1191 +    "\170\316\001\001\000\050\026\231\027\202\030\225\031" +
 48.1192      "\u01b3\032\201\033\213\034\211\035\210\036\217\042\222" +
 48.1193 -    "\044\225\103\221\154\220\155\215\160\227\163\205\164" +
 48.1194 -    "\176\255\207\261\200\001\001\000\006\037\322\257\316" +
 48.1195 +    "\044\224\103\220\154\221\155\215\160\227\163\205\164" +
 48.1196 +    "\175\257\207\261\200\001\001\000\006\037\322\170\316" +
 48.1197      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 48.1198      "\001\000\002\001\001\000\006\076\u01ba\077\u0127\001\001" +
 48.1199      "\000\002\001\001\000\002\001\001\000\060\006\102\023" +
 48.1200 -    "\u012b\026\231\027\202\030\224\031\u01bc\032\201\033\213" +
 48.1201 -    "\034\211\035\210\036\217\042\222\044\225\075\u0129\100" +
 48.1202 -    "\u012a\103\221\154\220\155\215\160\227\163\205\164\176" +
 48.1203 -    "\255\207\261\200\001\001\000\006\037\322\257\316\001" +
 48.1204 +    "\u012b\026\231\027\202\030\225\031\u01bc\032\201\033\213" +
 48.1205 +    "\034\211\035\210\036\217\042\222\044\224\075\u0129\100" +
 48.1206 +    "\u012a\103\220\154\221\155\215\160\227\163\205\164\175" +
 48.1207 +    "\257\207\261\200\001\001\000\006\037\322\170\316\001" +
 48.1208      "\001\000\002\001\001\000\002\001\001\000\004\333\u01d1" +
 48.1209      "\001\001\000\004\333\u01c3\001\001\000\002\001\001\000" +
 48.1210 -    "\022\026\u01c5\027\202\030\224\103\221\163\205\164\176" +
 48.1211 +    "\022\026\u01c5\027\202\030\225\103\220\163\205\164\175" +
 48.1212      "\334\u01c7\335\u01c8\001\001\000\002\001\001\000\002\001" +
 48.1213      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 48.1214 -    "\000\002\001\001\000\020\026\u01c5\027\202\030\224\103" +
 48.1215 -    "\221\163\205\164\176\335\u01cc\001\001\000\114\026\u016e" +
 48.1216 -    "\027\202\030\224\044\u0162\045\u01cb\046\u016c\047\u016a\050" +
 48.1217 +    "\000\002\001\001\000\020\026\u01c5\027\202\030\225\103" +
 48.1218 +    "\220\163\205\164\175\335\u01cc\001\001\000\114\026\u016e" +
 48.1219 +    "\027\202\030\225\044\u0162\045\u01cb\046\u016c\047\u016a\050" +
 48.1220      "\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b" +
 48.1221 -    "\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137" +
 48.1222 -    "\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205\164\176" +
 48.1223 -    "\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
 48.1224 +    "\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137" +
 48.1225 +    "\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205\164\175" +
 48.1226 +    "\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
 48.1227      "\u0172\322\u016f\323\u0161\324\u0181\001\001\000\112\026\u016e" +
 48.1228 -    "\027\202\030\224\044\u0162\046\u016c\047\u016a\050\u0188\051" +
 48.1229 +    "\027\202\030\225\044\u0162\046\u016c\047\u016a\050\u0188\051" +
 48.1230      "\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165" +
 48.1231 -    "\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150" +
 48.1232 -    "\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\176\170\u018d" +
 48.1233 +    "\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150" +
 48.1234 +    "\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\175\173\u018d" +
 48.1235      "\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322" +
 48.1236      "\u016f\323\u0161\324\u0181\001\001\000\002\001\001\000\022" +
 48.1237 -    "\026\u01c5\027\202\030\224\103\221\163\205\164\176\334" +
 48.1238 +    "\026\u01c5\027\202\030\225\103\220\163\205\164\175\334" +
 48.1239      "\u01ce\335\u01c8\001\001\000\002\001\001\000\114\026\u016e" +
 48.1240 -    "\027\202\030\224\044\u0162\045\u01d0\046\u016c\047\u016a\050" +
 48.1241 +    "\027\202\030\225\044\u0162\045\u01d0\046\u016c\047\u016a\050" +
 48.1242      "\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b" +
 48.1243 -    "\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137" +
 48.1244 -    "\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205\164\176" +
 48.1245 -    "\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
 48.1246 +    "\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137" +
 48.1247 +    "\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205\164\175" +
 48.1248 +    "\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
 48.1249      "\u0172\322\u016f\323\u0161\324\u0181\001\001\000\112\026\u016e" +
 48.1250 -    "\027\202\030\224\044\u0162\046\u016c\047\u016a\050\u0188\051" +
 48.1251 +    "\027\202\030\225\044\u0162\046\u016c\047\u016a\050\u0188\051" +
 48.1252      "\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165" +
 48.1253 -    "\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150" +
 48.1254 -    "\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\176\170\u018d" +
 48.1255 +    "\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150" +
 48.1256 +    "\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\175\173\u018d" +
 48.1257      "\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322" +
 48.1258      "\u016f\323\u0161\324\u0181\001\001\000\002\001\001\000\002" +
 48.1259      "\001\001\000\002\001\001\000\002\001\001\000\016\026" +
 48.1260 -    "\u01d7\027\202\030\224\103\221\163\205\164\176\001\001" +
 48.1261 +    "\u01d7\027\202\030\225\103\220\163\205\164\175\001\001" +
 48.1262      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 48.1263 -    "\006\037\322\257\316\001\001\000\002\001\001\000\116" +
 48.1264 -    "\026\u016e\027\202\030\224\044\u0162\045\u017e\046\u016c\047" +
 48.1265 +    "\006\037\322\170\316\001\001\000\002\001\001\000\116" +
 48.1266 +    "\026\u016e\027\202\030\225\044\u0162\045\u017e\046\u016c\047" +
 48.1267      "\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185" +
 48.1268 -    "\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135" +
 48.1269 +    "\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135" +
 48.1270      "\u0171\137\u0169\147\u01dd\150\u0178\153\u018c\157\u0164\162\u0187" +
 48.1271 -    "\163\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265" +
 48.1272 +    "\163\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265" +
 48.1273      "\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001" +
 48.1274      "\000\002\001\001\000\002\001\001\000\014\027\045\102" +
 48.1275      "\u0144\103\u0146\140\u0145\152\u01df\001\001\000\002\001\001" +
 48.1276      "\000\002\001\001\000\004\055\u01e7\001\001\000\002\001" +
 48.1277 -    "\001\000\114\026\u016e\027\202\030\224\044\u0162\045\u01e4" +
 48.1278 +    "\001\000\114\026\u016e\027\202\030\225\044\u0162\045\u01e4" +
 48.1279      "\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061" +
 48.1280 -    "\u0179\064\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a" +
 48.1281 +    "\u0179\064\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a" +
 48.1282      "\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162" +
 48.1283 -    "\u0187\163\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166" +
 48.1284 +    "\u0187\163\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166" +
 48.1285      "\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001" +
 48.1286 -    "\001\000\112\026\u016e\027\202\030\224\044\u0162\046\u016c" +
 48.1287 +    "\001\000\112\026\u016e\027\202\030\225\044\u0162\046\u016c" +
 48.1288      "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
 48.1289 -    "\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b" +
 48.1290 +    "\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b" +
 48.1291      "\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163" +
 48.1292 -    "\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 48.1293 +    "\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 48.1294      "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
 48.1295 -    "\114\026\u016e\027\202\030\224\044\u0162\045\u01ee\046\u016c" +
 48.1296 +    "\114\026\u016e\027\202\030\225\044\u0162\045\u01ee\046\u016c" +
 48.1297      "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
 48.1298 -    "\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b" +
 48.1299 +    "\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b" +
 48.1300      "\135\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163" +
 48.1301 -    "\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 48.1302 +    "\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 48.1303      "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
 48.1304 -    "\052\026\231\027\202\030\224\031\u019b\032\201\033\213" +
 48.1305 -    "\034\211\035\210\036\217\042\222\044\225\054\u01eb\103" +
 48.1306 -    "\221\154\220\155\215\160\227\163\205\164\176\255\207" +
 48.1307 +    "\052\026\231\027\202\030\225\031\u019b\032\201\033\213" +
 48.1308 +    "\034\211\035\210\036\217\042\222\044\224\054\u01eb\103" +
 48.1309 +    "\220\154\221\155\215\160\227\163\205\164\175\257\207" +
 48.1310      "\261\200\001\001\000\002\001\001\000\002\001\001\000" +
 48.1311      "\002\001\001\000\002\001\001\000\002\001\001\000\114" +
 48.1312 -    "\026\u016e\027\202\030\224\044\u0162\045\u01ed\046\u016c\047" +
 48.1313 +    "\026\u016e\027\202\030\225\044\u0162\045\u01ed\046\u016c\047" +
 48.1314      "\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185" +
 48.1315 -    "\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135" +
 48.1316 +    "\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135" +
 48.1317      "\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205" +
 48.1318 -    "\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316" +
 48.1319 +    "\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316" +
 48.1320      "\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000\112" +
 48.1321 -    "\026\u016e\027\202\030\224\044\u0162\046\u016c\047\u016a\050" +
 48.1322 +    "\026\u016e\027\202\030\225\044\u0162\046\u016c\047\u016a\050" +
 48.1323      "\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b" +
 48.1324 -    "\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137" +
 48.1325 -    "\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\176" +
 48.1326 -    "\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
 48.1327 +    "\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137" +
 48.1328 +    "\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\175" +
 48.1329 +    "\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321" +
 48.1330      "\u0172\322\u016f\323\u0161\324\u0181\001\001\000\112\026\u016e" +
 48.1331 -    "\027\202\030\224\044\u0162\046\u016c\047\u016a\050\u0188\051" +
 48.1332 +    "\027\202\030\225\044\u0162\046\u016c\047\u016a\050\u0188\051" +
 48.1333      "\u0173\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165" +
 48.1334 -    "\103\221\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150" +
 48.1335 -    "\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\176\170\u018d" +
 48.1336 +    "\103\220\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150" +
 48.1337 +    "\u01a0\153\u018c\157\u0164\162\u0187\163\205\164\175\173\u018d" +
 48.1338      "\262\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322" +
 48.1339      "\u016f\323\u0161\324\u0181\001\001\000\004\156\u01f0\001\001" +
 48.1340 -    "\000\002\001\001\000\052\026\231\027\202\030\224\031" +
 48.1341 +    "\000\002\001\001\000\052\026\231\027\202\030\225\031" +
 48.1342      "\u019b\032\201\033\213\034\211\035\210\036\217\042\222" +
 48.1343 -    "\044\225\054\u01f2\103\221\154\220\155\215\160\227\163" +
 48.1344 -    "\205\164\176\255\207\261\200\001\001\000\002\001\001" +
 48.1345 -    "\000\002\001\001\000\116\026\u016e\027\202\030\224\044" +
 48.1346 +    "\044\224\054\u01f2\103\220\154\221\155\215\160\227\163" +
 48.1347 +    "\205\164\175\257\207\261\200\001\001\000\002\001\001" +
 48.1348 +    "\000\002\001\001\000\116\026\u016e\027\202\030\225\044" +
 48.1349      "\u0162\045\u0205\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170" +
 48.1350 -    "\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\221\104" +
 48.1351 +    "\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\220\104" +
 48.1352      "\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c" +
 48.1353 -    "\157\u0164\162\u0187\163\205\164\176\170\u018d\262\u0189\263" +
 48.1354 +    "\157\u0164\162\u0187\163\205\164\175\173\u018d\262\u0189\263" +
 48.1355      "\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161" +
 48.1356      "\324\u0181\330\u0220\001\001\000\116\026\u016e\027\202\030" +
 48.1357 -    "\224\044\u0162\045\u0205\046\u016c\047\u016a\050\u0188\051\u0173" +
 48.1358 +    "\225\044\u0162\045\u0205\046\u016c\047\u016a\050\u0188\051\u0173" +
 48.1359      "\052\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103" +
 48.1360 -    "\221\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178" +
 48.1361 -    "\153\u018c\157\u0164\162\u0187\163\205\164\176\170\u018d\262" +
 48.1362 +    "\220\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178" +
 48.1363 +    "\153\u018c\157\u0164\162\u0187\163\205\164\175\173\u018d\262" +
 48.1364      "\u0189\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f" +
 48.1365      "\323\u0161\324\u0181\330\u0214\001\001\000\002\001\001\000" +
 48.1366      "\002\001\001\000\002\001\001\000\002\001\001\000\052" +
 48.1367 -    "\026\231\027\202\030\224\031\u019b\032\201\033\213\034" +
 48.1368 -    "\211\035\210\036\217\042\222\044\225\054\u020a\103\221" +
 48.1369 -    "\154\220\155\215\160\227\163\205\164\176\255\207\261" +
 48.1370 -    "\200\001\001\000\116\026\u016e\027\202\030\224\044\u0162" +
 48.1371 +    "\026\231\027\202\030\225\031\u019b\032\201\033\213\034" +
 48.1372 +    "\211\035\210\036\217\042\222\044\224\054\u020a\103\220" +
 48.1373 +    "\154\221\155\215\160\227\163\205\164\175\257\207\261" +
 48.1374 +    "\200\001\001\000\116\026\u016e\027\202\030\225\044\u0162" +
 48.1375      "\045\u0205\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056" +
 48.1376 -    "\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\221\104\u0180" +
 48.1377 +    "\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\220\104\u0180" +
 48.1378      "\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c\157" +
 48.1379 -    "\u0164\162\u0187\163\205\164\176\170\u018d\262\u0189\263\u0167" +
 48.1380 +    "\u0164\162\u0187\163\205\164\175\173\u018d\262\u0189\263\u0167" +
 48.1381      "\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324" +
 48.1382      "\u0181\330\u0209\001\001\000\004\326\u01ff\001\001\000\002" +
 48.1383      "\001\001\000\002\001\001\000\004\055\u0200\001\001\000" +
 48.1384      "\002\001\001\000\014\122\u0202\264\u01fb\316\u017a\325\u0203" +
 48.1385 -    "\327\u01f6\001\001\000\116\026\u016e\027\202\030\224\044" +
 48.1386 +    "\327\u01f6\001\001\000\116\026\u016e\027\202\030\225\044" +
 48.1387      "\u0162\045\u0205\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170" +
 48.1388 -    "\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\221\104" +
 48.1389 +    "\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\220\104" +
 48.1390      "\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c" +
 48.1391 -    "\157\u0164\162\u0187\163\205\164\176\170\u018d\262\u0189\263" +
 48.1392 +    "\157\u0164\162\u0187\163\205\164\175\173\u018d\262\u0189\263" +
 48.1393      "\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161" +
 48.1394      "\324\u0181\330\u0204\001\001\000\002\001\001\000\002\001" +
 48.1395 -    "\001\000\112\026\u016e\027\202\030\224\044\u0162\046\u016c" +
 48.1396 +    "\001\000\112\026\u016e\027\202\030\225\044\u0162\046\u016c" +
 48.1397      "\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064" +
 48.1398 -    "\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b" +
 48.1399 +    "\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b" +
 48.1400      "\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163" +
 48.1401 -    "\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 48.1402 +    "\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d" +
 48.1403      "\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000" +
 48.1404      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
 48.1405      "\001\001\000\002\001\001\000\012\122\u0202\264\u01fb\316" +
 48.1406      "\u017a\327\u020c\001\001\000\002\001\001\000\002\001\001" +
 48.1407 -    "\000\002\001\001\000\114\026\u016e\027\202\030\224\044" +
 48.1408 +    "\000\002\001\001\000\114\026\u016e\027\202\030\225\044" +
 48.1409      "\u0162\045\u0210\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170" +
 48.1410 -    "\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\221\104" +
 48.1411 +    "\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\220\104" +
 48.1412      "\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153\u018c" +
 48.1413 -    "\157\u0164\162\u0187\163\205\164\176\170\u018d\262\u0189\263" +
 48.1414 +    "\157\u0164\162\u0187\163\205\164\175\173\u018d\262\u0189\263" +
 48.1415      "\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161" +
 48.1416 -    "\324\u0181\001\001\000\112\026\u016e\027\202\030\224\044" +
 48.1417 +    "\324\u0181\001\001\000\112\026\u016e\027\202\030\225\044" +
 48.1418      "\u0162\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177" +
 48.1419 -    "\061\u0179\064\u0185\067\u016b\071\u0165\103\221\104\u0180\122" +
 48.1420 +    "\061\u0179\064\u0185\067\u016b\071\u0165\103\220\104\u0180\122" +
 48.1421      "\u018a\123\u018b\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164" +
 48.1422 -    "\162\u0187\163\205\164\176\170\u018d\262\u0189\263\u0167\264" +
 48.1423 +    "\162\u0187\163\205\164\175\173\u018d\262\u0189\263\u0167\264" +
 48.1424      "\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181" +
 48.1425      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 48.1426 -    "\001\000\002\001\001\000\114\026\u016e\027\202\030\224" +
 48.1427 +    "\001\000\002\001\001\000\114\026\u016e\027\202\030\225" +
 48.1428      "\044\u0162\045\u021c\046\u016c\047\u016a\050\u0188\051\u0173\052" +
 48.1429 -    "\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\221" +
 48.1430 +    "\u0170\056\u0177\061\u0179\064\u0185\067\u016b\071\u0165\103\220" +
 48.1431      "\104\u0180\122\u018a\123\u018b\135\u0171\137\u0169\150\u0178\153" +
 48.1432 -    "\u018c\157\u0164\162\u0187\163\205\164\176\170\u018d\262\u0189" +
 48.1433 +    "\u018c\157\u0164\162\u0187\163\205\164\175\173\u018d\262\u0189" +
 48.1434      "\263\u0167\264\u0166\265\u016d\316\u017a\321\u0172\322\u016f\323" +
 48.1435      "\u0161\324\u0181\001\001\000\004\122\u0217\001\001\000\116" +
 48.1436 -    "\026\u016e\027\202\030\224\044\u0162\045\u0205\046\u016c\047" +
 48.1437 +    "\026\u016e\027\202\030\225\044\u0162\045\u0205\046\u016c\047" +
 48.1438      "\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185" +
 48.1439 -    "\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135" +
 48.1440 +    "\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135" +
 48.1441      "\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187\163\205" +
 48.1442 -    "\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316" +
 48.1443 +    "\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316" +
 48.1444      "\u017a\321\u0172\322\u016f\323\u0161\324\u0181\330\u0218\001\001" +
 48.1445      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 48.1446 -    "\002\001\001\000\112\026\u016e\027\202\030\224\044\u0162" +
 48.1447 +    "\002\001\001\000\112\026\u016e\027\202\030\225\044\u0162" +
 48.1448      "\046\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061" +
 48.1449 -    "\u0179\064\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a" +
 48.1450 +    "\u0179\064\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a" +
 48.1451      "\123\u018b\135\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162" +
 48.1452 -    "\u0187\163\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166" +
 48.1453 +    "\u0187\163\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166" +
 48.1454      "\265\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001" +
 48.1455      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 48.1456 -    "\000\002\001\001\000\050\026\231\027\202\030\224\031" +
 48.1457 +    "\000\002\001\001\000\050\026\231\027\202\030\225\031" +
 48.1458      "\u0222\032\201\033\213\034\211\035\210\036\217\042\222" +
 48.1459 -    "\044\225\103\221\154\220\155\215\160\227\163\205\164" +
 48.1460 -    "\176\255\207\261\200\001\001\000\006\037\322\257\316" +
 48.1461 -    "\001\001\000\002\001\001\000\006\037\322\257\316\001" +
 48.1462 -    "\001\000\004\173\u0226\001\001\000\006\057\u0227\170\u014e" +
 48.1463 +    "\044\224\103\220\154\221\155\215\160\227\163\205\164" +
 48.1464 +    "\175\257\207\261\200\001\001\000\006\037\322\170\316" +
 48.1465 +    "\001\001\000\002\001\001\000\006\037\322\170\316\001" +
 48.1466 +    "\001\000\004\176\u0226\001\001\000\006\057\u0227\173\u014e" +
 48.1467      "\001\001\000\004\060\u0228\001\001\000\002\001\001\000" +
 48.1468 -    "\060\026\246\027\202\030\224\031\345\032\201\033\256" +
 48.1469 -    "\034\211\035\210\036\217\042\222\044\225\103\221\154" +
 48.1470 -    "\220\155\215\160\227\161\u022d\163\205\164\176\167\244" +
 48.1471 -    "\245\251\246\343\255\207\261\200\001\001\000\002\001" +
 48.1472 +    "\060\026\246\027\202\030\225\031\345\032\201\033\256" +
 48.1473 +    "\034\211\035\210\036\217\042\222\044\224\103\220\154" +
 48.1474 +    "\221\155\215\160\227\161\u022d\163\205\164\175\167\244" +
 48.1475 +    "\250\251\251\343\257\207\261\200\001\001\000\002\001" +
 48.1476      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 48.1477 -    "\000\114\026\u016e\027\202\030\224\044\u0162\045\u022f\046" +
 48.1478 +    "\000\114\026\u016e\027\202\030\225\044\u0162\045\u022f\046" +
 48.1479      "\u016c\047\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179" +
 48.1480 -    "\064\u0185\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123" +
 48.1481 +    "\064\u0185\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123" +
 48.1482      "\u018b\135\u0171\137\u0169\150\u0178\153\u018c\157\u0164\162\u0187" +
 48.1483 -    "\163\205\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265" +
 48.1484 +    "\163\205\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265" +
 48.1485      "\u016d\316\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001" +
 48.1486 -    "\000\112\026\u016e\027\202\030\224\044\u0162\046\u016c\047" +
 48.1487 +    "\000\112\026\u016e\027\202\030\225\044\u0162\046\u016c\047" +
 48.1488      "\u016a\050\u0188\051\u0173\052\u0170\056\u0177\061\u0179\064\u0185" +
 48.1489 -    "\067\u016b\071\u0165\103\221\104\u0180\122\u018a\123\u018b\135" +
 48.1490 +    "\067\u016b\071\u0165\103\220\104\u0180\122\u018a\123\u018b\135" +
 48.1491      "\u0171\137\u0169\150\u01a0\153\u018c\157\u0164\162\u0187\163\205" +
 48.1492 -    "\164\176\170\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316" +
 48.1493 +    "\164\175\173\u018d\262\u0189\263\u0167\264\u0166\265\u016d\316" +
 48.1494      "\u017a\321\u0172\322\u016f\323\u0161\324\u0181\001\001\000\002" +
 48.1495      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 48.1496      "\001\000\002\001\001\000\002\001\001\000\006\076\u0237" +
 48.1497      "\077\u0127\001\001\000\002\001\001\000\014\006\102\023" +
 48.1498      "\u012b\075\u0129\100\u012a\266\u0239\001\001\000\050\026\u012d" +
 48.1499 -    "\027\202\030\224\033\310\034\211\035\210\036\217\042" +
 48.1500 -    "\222\044\225\103\221\154\220\155\215\160\227\163\205" +
 48.1501 -    "\164\176\166\u023a\167\u012c\255\207\261\200\001\001\000" +
 48.1502 +    "\027\202\030\225\033\310\034\211\035\210\036\217\042" +
 48.1503 +    "\222\044\224\103\220\154\221\155\215\160\227\163\205" +
 48.1504 +    "\164\175\166\u023a\167\u012c\257\207\261\200\001\001\000" +
 48.1505      "\002\001\001\000\006\076\u023c\077\u0127\001\001\000\002" +
 48.1506 -    "\001\001\000\052\026\231\027\202\030\224\031\u019b\032" +
 48.1507 -    "\201\033\213\034\211\035\210\036\217\042\222\044\225" +
 48.1508 -    "\054\u023e\103\221\154\220\155\215\160\227\163\205\164" +
 48.1509 -    "\176\255\207\261\200\001\001\000\004\315\u0241\001\001" +
 48.1510 +    "\001\001\000\052\026\231\027\202\030\225\031\u019b\032" +
 48.1511 +    "\201\033\213\034\211\035\210\036\217\042\222\044\224" +
 48.1512 +    "\054\u023e\103\220\154\221\155\215\160\227\163\205\164" +
 48.1513 +    "\175\257\207\261\200\001\001\000\004\315\u0241\001\001" +
 48.1514      "\000\002\001\001\000\122\002\124\003\062\004\054\005" +
 48.1515      "\101\006\102\011\105\012\u0242\013\066\016\052\020\123" +
 48.1516      "\022\060\023\061\025\117\072\076\073\023\074\072\105" +
 48.1517      "\070\106\036\107\071\110\103\114\107\117\115\120\077" +
 48.1518 -    "\121\106\134\113\136\064\144\065\170\122\174\100\175" +
 48.1519 -    "\111\176\056\250\063\251\110\272\024\274\017\275\121" +
 48.1520 +    "\121\106\134\113\136\064\144\065\173\122\177\100\200" +
 48.1521 +    "\111\201\056\253\063\254\110\272\024\274\017\275\121" +
 48.1522      "\302\053\344\112\345\114\346\055\001\001\000\002\001" +
 48.1523      "\001\000\004\066\u0243\001\001\000\002\001\001\000\014" +
 48.1524      "\027\045\102\u0144\103\u0146\140\u0145\152\u0245\001\001\000" +
 48.1525      "\002\001\001\000\002\001\001\000\052\026\231\027\202" +
 48.1526 -    "\030\224\031\u019b\032\201\033\213\034\211\035\210\036" +
 48.1527 -    "\217\042\222\044\225\054\u0248\103\221\154\220\155\215" +
 48.1528 -    "\160\227\163\205\164\176\255\207\261\200\001\001\000" +
 48.1529 +    "\030\225\031\u019b\032\201\033\213\034\211\035\210\036" +
 48.1530 +    "\217\042\222\044\224\054\u0248\103\220\154\221\155\215" +
 48.1531 +    "\160\227\163\205\164\175\257\207\261\200\001\001\000" +
 48.1532      "\004\315\u0249\001\001\000\002\001\001\000\002\001\001" +
 48.1533      "\000\002\001\001\000\002\001\001\000\016\026\u0256\027" +
 48.1534 -    "\202\030\224\103\221\163\205\164\176\001\001\000\124" +
 48.1535 +    "\202\030\225\103\220\163\205\164\175\001\001\000\124" +
 48.1536      "\002\124\003\062\004\054\005\101\006\102\011\105\012" +
 48.1537      "\u015a\013\066\016\052\020\123\022\060\023\061\025\117" +
 48.1538      "\072\076\073\023\074\072\105\070\106\036\107\071\110" +
 48.1539      "\103\114\107\117\115\120\077\121\106\134\113\136\064" +
 48.1540 -    "\144\065\170\122\174\100\175\111\176\056\250\063\251" +
 48.1541 +    "\144\065\173\122\177\100\200\111\201\056\253\063\254" +
 48.1542      "\110\272\024\274\017\275\121\302\053\343\u0250\344\112" +
 48.1543      "\345\114\346\055\001\001\000\002\001\001\000\002\001" +
 48.1544 -    "\001\000\002\001\001\000\016\026\u0253\027\202\030\224" +
 48.1545 -    "\103\221\163\205\164\176\001\001\000\002\001\001\000" +
 48.1546 +    "\001\000\002\001\001\000\016\026\u0253\027\202\030\225" +
 48.1547 +    "\103\220\163\205\164\175\001\001\000\002\001\001\000" +
 48.1548      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
 48.1549      "\001\001\000\002\001\001\000\020\021\u025a\026\u011b\027" +
 48.1550 -    "\202\030\224\103\221\163\205\164\176\001\001\000\002" +
 48.1551 +    "\202\030\225\103\220\163\205\164\175\001\001\000\002" +
 48.1552      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 48.1553      "\001\000\010\027\045\140\u025f\141\u0260\001\001\000\002" +
 48.1554 -    "\001\001\000\002\001\001\000\002\001\001\000\006\177" +
 48.1555 -    "\u0263\200\140\001\001\000\004\145\u0264\001\001\000\002" +
 48.1556 -    "\001\001\000\042\017\u026c\111\u0272\112\u0268\201\u0267\202" +
 48.1557 -    "\u0271\203\u0275\204\u027b\205\u026f\206\u026b\207\u0277\211\u027a" +
 48.1558 -    "\217\u026d\221\u0270\222\u0276\223\u027d\224\u027e\001\001\000" +
 48.1559 -    "\050\026\231\027\202\030\224\031\u02e0\032\201\033\213" +
 48.1560 -    "\034\211\035\210\036\217\042\222\044\225\103\221\154" +
 48.1561 -    "\220\155\215\160\227\163\205\164\176\255\207\261\200" +
 48.1562 +    "\001\001\000\002\001\001\000\002\001\001\000\006\202" +
 48.1563 +    "\u0263\203\140\001\001\000\004\145\u0264\001\001\000\002" +
 48.1564 +    "\001\001\000\042\017\u026c\111\u0272\112\u0268\204\u0267\205" +
 48.1565 +    "\u0271\206\u0275\207\u027b\210\u026f\211\u026b\212\u0277\214\u027a" +
 48.1566 +    "\222\u026d\224\u0270\225\u0276\226\u027d\227\u027e\001\001\000" +
 48.1567 +    "\050\026\231\027\202\030\225\031\u02e0\032\201\033\213" +
 48.1568 +    "\034\211\035\210\036\217\042\222\044\224\103\220\154" +
 48.1569 +    "\221\155\215\160\227\163\205\164\175\257\207\261\200" +
 48.1570      "\001\001\000\002\001\001\000\004\113\u02dd\001\001\000" +
 48.1571 -    "\002\001\001\000\022\021\u02d3\026\u011b\027\202\030\224" +
 48.1572 -    "\103\221\163\205\164\176\247\u02d0\001\001\000\002\001" +
 48.1573 -    "\001\000\002\001\001\000\002\001\001\000\006\215\u02cb" +
 48.1574 -    "\216\u02ca\001\001\000\002\001\001\000\002\001\001\000" +
 48.1575 +    "\002\001\001\000\022\021\u02d3\026\u011b\027\202\030\225" +
 48.1576 +    "\103\220\163\205\164\175\252\u02d0\001\001\000\002\001" +
 48.1577 +    "\001\000\002\001\001\000\002\001\001\000\006\220\u02cb" +
 48.1578 +    "\221\u02ca\001\001\000\002\001\001\000\002\001\001\000" +
 48.1579      "\002\001\001\000\002\001\001\000\050\026\231\027\202" +
 48.1580 -    "\030\224\031\u02c3\032\201\033\213\034\211\035\210\036" +
 48.1581 -    "\217\042\222\044\225\103\221\154\220\155\215\160\227" +
 48.1582 -    "\163\205\164\176\255\207\261\200\001\001\000\050\026" +
 48.1583 -    "\231\027\202\030\224\031\u02c0\032\201\033\213\034\211" +
 48.1584 -    "\035\210\036\217\042\222\044\225\103\221\154\220\155" +
 48.1585 -    "\215\160\227\163\205\164\176\255\207\261\200\001\001" +
 48.1586 +    "\030\225\031\u02c3\032\201\033\213\034\211\035\210\036" +
 48.1587 +    "\217\042\222\044\224\103\220\154\221\155\215\160\227" +
 48.1588 +    "\163\205\164\175\257\207\261\200\001\001\000\050\026" +
 48.1589 +    "\231\027\202\030\225\031\u02c0\032\201\033\213\034\211" +
 48.1590 +    "\035\210\036\217\042\222\044\224\103\220\154\221\155" +
 48.1591 +    "\215\160\227\163\205\164\175\257\207\261\200\001\001" +
 48.1592      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 48.1593 -    "\002\001\001\000\020\021\u0294\026\u011b\027\202\030\224" +
 48.1594 -    "\103\221\163\205\164\176\001\001\000\002\001\001\000" +
 48.1595 -    "\002\001\001\000\004\231\u027f\001\001\000\002\001\001" +
 48.1596 +    "\002\001\001\000\020\021\u0294\026\u011b\027\202\030\225" +
 48.1597 +    "\103\220\163\205\164\175\001\001\000\002\001\001\000" +
 48.1598 +    "\002\001\001\000\004\234\u027f\001\001\000\002\001\001" +
 48.1599      "\000\002\001\001\000\002\001\001\000\056\026\u0285\027" +
 48.1600 -    "\202\030\224\033\310\034\211\035\210\036\217\042\222" +
 48.1601 -    "\044\225\103\221\154\220\155\215\160\227\163\205\164" +
 48.1602 -    "\176\166\u0284\167\u012c\225\u0281\226\u0282\232\u0283\255\207" +
 48.1603 +    "\202\030\225\033\310\034\211\035\210\036\217\042\222" +
 48.1604 +    "\044\224\103\220\154\221\155\215\160\227\163\205\164" +
 48.1605 +    "\175\166\u0284\167\u012c\230\u0281\231\u0282\235\u0283\257\207" +
 48.1606      "\261\200\001\001\000\002\001\001\000\002\001\001\000" +
 48.1607 -    "\002\001\001\000\002\001\001\000\006\211\u0124\213\u0136" +
 48.1608 -    "\001\001\000\046\026\337\027\202\030\224\033\310\034" +
 48.1609 -    "\211\035\210\036\217\042\222\044\225\103\221\154\220" +
 48.1610 -    "\155\215\160\227\163\205\164\176\167\336\255\207\261" +
 48.1611 +    "\002\001\001\000\002\001\001\000\006\214\u0124\216\u0136" +
 48.1612 +    "\001\001\000\046\026\337\027\202\030\225\033\310\034" +
 48.1613 +    "\211\035\210\036\217\042\222\044\224\103\220\154\221" +
 48.1614 +    "\155\215\160\227\163\205\164\175\167\336\257\207\261" +
 48.1615      "\200\001\001\000\002\001\001\000\050\026\u012d\027\202" +
 48.1616 -    "\030\224\033\310\034\211\035\210\036\217\042\222\044" +
 48.1617 -    "\225\103\221\154\220\155\215\160\227\163\205\164\176" +
 48.1618 -    "\166\u028a\167\u012c\255\207\261\200\001\001\000\002\001" +
 48.1619 -    "\001\000\002\001\001\000\020\026\u028f\027\202\030\224" +
 48.1620 -    "\103\221\163\205\164\176\226\u0290\001\001\000\002\001" +
 48.1621 -    "\001\000\006\227\u028e\230\u0117\001\001\000\002\001\001" +
 48.1622 +    "\030\225\033\310\034\211\035\210\036\217\042\222\044" +
 48.1623 +    "\224\103\220\154\221\155\215\160\227\163\205\164\175" +
 48.1624 +    "\166\u028a\167\u012c\257\207\261\200\001\001\000\002\001" +
 48.1625 +    "\001\000\002\001\001\000\020\026\u028f\027\202\030\225" +
 48.1626 +    "\103\220\163\205\164\175\231\u0290\001\001\000\002\001" +
 48.1627 +    "\001\000\006\232\u028e\233\u0117\001\001\000\002\001\001" +
 48.1628      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 48.1629 -    "\006\227\u0293\230\u0117\001\001\000\002\001\001\000\002" +
 48.1630 -    "\001\001\000\004\214\u0297\001\001\000\004\173\u029b\001" +
 48.1631 +    "\006\232\u0293\233\u0117\001\001\000\002\001\001\000\002" +
 48.1632 +    "\001\001\000\004\217\u0297\001\001\000\004\176\u029b\001" +
 48.1633      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 48.1634 -    "\000\002\001\001\000\020\006\102\023\u0110\170\u014e\233" +
 48.1635 -    "\u029e\234\u029d\235\u02a0\237\u02a1\001\001\000\002\001\001" +
 48.1636 -    "\000\006\173\u02b4\236\u02b3\001\001\000\002\001\001\000" +
 48.1637 -    "\004\027\u02a3\001\001\000\002\001\001\000\004\173\u02a2" +
 48.1638 -    "\001\001\000\004\170\u014e\001\001\000\002\001\001\000" +
 48.1639 -    "\004\173\u02a5\001\001\000\010\170\u014e\243\u02a8\244\u02a6" +
 48.1640 +    "\000\002\001\001\000\020\006\102\023\u0110\173\u014e\236" +
 48.1641 +    "\u029e\237\u029d\240\u02a0\242\u02a1\001\001\000\002\001\001" +
 48.1642 +    "\000\006\176\u02b4\241\u02b3\001\001\000\002\001\001\000" +
 48.1643 +    "\004\027\u02a3\001\001\000\002\001\001\000\004\176\u02a2" +
 48.1644 +    "\001\001\000\004\173\u014e\001\001\000\002\001\001\000" +
 48.1645 +    "\004\176\u02a5\001\001\000\010\173\u014e\246\u02a8\247\u02a6" +
 48.1646      "\001\001\000\002\001\001\000\060\026\246\027\202\030" +
 48.1647 -    "\224\031\345\032\201\033\256\034\211\035\210\036\217" +
 48.1648 -    "\042\222\044\225\103\221\154\220\155\215\160\227\161" +
 48.1649 -    "\u02ad\163\205\164\176\167\244\245\251\246\343\255\207" +
 48.1650 -    "\261\200\001\001\000\004\244\u02a9\001\001\000\002\001" +
 48.1651 +    "\225\031\345\032\201\033\256\034\211\035\210\036\217" +
 48.1652 +    "\042\222\044\224\103\220\154\221\155\215\160\227\161" +
 48.1653 +    "\u02ad\163\205\164\175\167\244\250\251\251\343\257\207" +
 48.1654 +    "\261\200\001\001\000\004\247\u02a9\001\001\000\002\001" +
 48.1655      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 48.1656 -    "\000\002\001\001\000\004\173\u02af\001\001\000\020\006" +
 48.1657 -    "\102\023\u0110\170\u014e\233\u02b0\234\u029d\235\u02a0\237\u02a1" +
 48.1658 +    "\000\002\001\001\000\004\176\u02af\001\001\000\020\006" +
 48.1659 +    "\102\023\u0110\173\u014e\236\u02b0\237\u029d\240\u02a0\242\u02a1" +
 48.1660      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 48.1661 -    "\001\000\002\001\001\000\014\006\102\023\u0110\170\u014e" +
 48.1662 -    "\235\u02b5\237\u02b6\001\001\000\002\001\001\000\004\173" +
 48.1663 -    "\u02b7\001\001\000\004\170\u014e\001\001\000\004\173\u02b9" +
 48.1664 -    "\001\001\000\004\170\u014e\001\001\000\002\001\001\000" +
 48.1665 -    "\020\021\u02bc\026\u011b\027\202\030\224\103\221\163\205" +
 48.1666 -    "\164\176\001\001\000\002\001\001\000\004\214\u02be\001" +
 48.1667 +    "\001\000\002\001\001\000\014\006\102\023\u0110\173\u014e" +
 48.1668 +    "\240\u02b5\242\u02b6\001\001\000\002\001\001\000\004\176" +
 48.1669 +    "\u02b7\001\001\000\004\173\u014e\001\001\000\004\176\u02b9" +
 48.1670 +    "\001\001\000\004\173\u014e\001\001\000\002\001\001\000" +
 48.1671 +    "\020\021\u02bc\026\u011b\027\202\030\225\103\220\163\205" +
 48.1672 +    "\164\175\001\001\000\002\001\001\000\004\217\u02be\001" +
 48.1673      "\001\000\002\001\001\000\002\001\001\000\014\037\322" +
 48.1674 -    "\211\u027a\217\u02c2\220\u02c1\257\316\001\001\000\002\001" +
 48.1675 -    "\001\000\002\001\001\000\012\037\322\211\u027a\217\u02c4" +
 48.1676 -    "\257\316\001\001\000\002\001\001\000\050\026\231\027" +
 48.1677 -    "\202\030\224\031\u02c6\032\201\033\213\034\211\035\210" +
 48.1678 -    "\036\217\042\222\044\225\103\221\154\220\155\215\160" +
 48.1679 -    "\227\163\205\164\176\255\207\261\200\001\001\000\014" +
 48.1680 -    "\037\322\211\u027a\217\u02c2\220\u02c7\257\316\001\001\000" +
 48.1681 +    "\170\316\214\u027a\222\u02c2\223\u02c1\001\001\000\002\001" +
 48.1682 +    "\001\000\002\001\001\000\012\037\322\170\316\214\u027a" +
 48.1683 +    "\222\u02c4\001\001\000\002\001\001\000\050\026\231\027" +
 48.1684 +    "\202\030\225\031\u02c6\032\201\033\213\034\211\035\210" +
 48.1685 +    "\036\217\042\222\044\224\103\220\154\221\155\215\160" +
 48.1686 +    "\227\163\205\164\175\257\207\261\200\001\001\000\014" +
 48.1687 +    "\037\322\170\316\214\u027a\222\u02c2\223\u02c7\001\001\000" +
 48.1688      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
 48.1689 -    "\001\001\000\002\001\001\000\004\216\u02ce\001\001\000" +
 48.1690 +    "\001\001\000\002\001\001\000\004\221\u02ce\001\001\000" +
 48.1691      "\002\001\001\000\002\001\001\000\020\021\u02db\026\u011b" +
 48.1692 -    "\027\202\030\224\103\221\163\205\164\176\001\001\000" +
 48.1693 -    "\002\001\001\000\020\021\u02d4\026\u011b\027\202\030\224" +
 48.1694 -    "\103\221\163\205\164\176\001\001\000\002\001\001\000" +
 48.1695 +    "\027\202\030\225\103\220\163\205\164\175\001\001\000" +
 48.1696 +    "\002\001\001\000\020\021\u02d4\026\u011b\027\202\030\225" +
 48.1697 +    "\103\220\163\205\164\175\001\001\000\002\001\001\000" +
 48.1698      "\002\001\001\000\002\001\001\000\006\076\u02da\077\u0127" +
 48.1699      "\001\001\000\006\076\u02d7\077\u0127\001\001\000\002\001" +
 48.1700      "\001\000\006\027\160\146\u02d9\001\001\000\002\001\001" +
 48.1701      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 48.1702 -    "\004\214\u02de\001\001\000\002\001\001\000\002\001\001" +
 48.1703 -    "\000\006\037\322\257\316\001\001\000\002\001\001\000" +
 48.1704 -    "\002\001\001\000\050\026\231\027\202\030\224\031\u02e5" +
 48.1705 +    "\004\217\u02de\001\001\000\002\001\001\000\002\001\001" +
 48.1706 +    "\000\006\037\322\170\316\001\001\000\002\001\001\000" +
 48.1707 +    "\002\001\001\000\050\026\231\027\202\030\225\031\u02e5" +
 48.1708      "\032\201\033\213\034\211\035\210\036\217\042\222\044" +
 48.1709 -    "\225\103\221\154\220\155\215\160\227\163\205\164\176" +
 48.1710 -    "\255\207\261\200\001\001\000\050\026\231\027\202\030" +
 48.1711 -    "\224\031\u02f7\032\201\033\213\034\211\035\210\036\217" +
 48.1712 -    "\042\222\044\225\103\221\154\220\155\215\160\227\163" +
 48.1713 -    "\205\164\176\255\207\261\200\001\001\000\006\037\322" +
 48.1714 -    "\257\316\001\001\000\004\347\u02e8\001\001\000\002\001" +
 48.1715 +    "\224\103\220\154\221\155\215\160\227\163\205\164\175" +
 48.1716 +    "\257\207\261\200\001\001\000\050\026\231\027\202\030" +
 48.1717 +    "\225\031\u02f7\032\201\033\213\034\211\035\210\036\217" +
 48.1718 +    "\042\222\044\224\103\220\154\221\155\215\160\227\163" +
 48.1719 +    "\205\164\175\257\207\261\200\001\001\000\006\037\322" +
 48.1720 +    "\170\316\001\001\000\004\347\u02e8\001\001\000\002\001" +
 48.1721      "\001\000\004\350\u02e9\001\001\000\006\027\160\146\u02eb" +
 48.1722      "\001\001\000\002\001\001\000\002\001\001\000\050\026" +
 48.1723 -    "\231\027\202\030\224\031\u02ed\032\201\033\213\034\211" +
 48.1724 -    "\035\210\036\217\042\222\044\225\103\221\154\220\155" +
 48.1725 -    "\215\160\227\163\205\164\176\255\207\261\200\001\001" +
 48.1726 -    "\000\006\037\322\257\316\001\001\000\046\026\337\027" +
 48.1727 -    "\202\030\224\033\310\034\211\035\210\036\217\042\222" +
 48.1728 -    "\044\225\103\221\154\220\155\215\160\227\163\205\164" +
 48.1729 -    "\176\167\u02ef\255\207\261\200\001\001\000\002\001\001" +
 48.1730 +    "\231\027\202\030\225\031\u02ed\032\201\033\213\034\211" +
 48.1731 +    "\035\210\036\217\042\222\044\224\103\220\154\221\155" +
 48.1732 +    "\215\160\227\163\205\164\175\257\207\261\200\001\001" +
 48.1733 +    "\000\006\037\322\170\316\001\001\000\046\026\337\027" +
 48.1734 +    "\202\030\225\033\310\034\211\035\210\036\217\042\222" +
 48.1735 +    "\044\224\103\220\154\221\155\215\160\227\163\205\164" +
 48.1736 +    "\175\167\u02ef\257\207\261\200\001\001\000\002\001\001" +
 48.1737      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 48.1738 -    "\050\026\231\027\202\030\224\031\u02f4\032\201\033\213" +
 48.1739 -    "\034\211\035\210\036\217\042\222\044\225\103\221\154" +
 48.1740 -    "\220\155\215\160\227\163\205\164\176\255\207\261\200" +
 48.1741 -    "\001\001\000\006\037\322\257\316\001\001\000\002\001" +
 48.1742 -    "\001\000\002\001\001\000\006\037\322\257\316\001\001" +
 48.1743 +    "\050\026\231\027\202\030\225\031\u02f4\032\201\033\213" +
 48.1744 +    "\034\211\035\210\036\217\042\222\044\224\103\220\154" +
 48.1745 +    "\221\155\215\160\227\163\205\164\175\257\207\261\200" +
 48.1746 +    "\001\001\000\006\037\322\170\316\001\001\000\002\001" +
 48.1747 +    "\001\000\002\001\001\000\006\037\322\170\316\001\001" +
 48.1748      "\000\002\001\001\000\002\001\001\000\004\024\u02fe\001" +
 48.1749      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 48.1750 -    "\000\030\021\u0300\026\u011b\027\202\030\224\103\221\142" +
 48.1751 -    "\u02ff\163\205\164\176\204\u0301\223\u027d\224\u027e\001\001" +
 48.1752 +    "\000\030\021\u0300\026\u011b\027\202\030\225\103\220\142" +
 48.1753 +    "\u02ff\163\205\164\175\207\u0301\226\u027d\227\u027e\001\001" +
 48.1754      "\000\004\143\u0305\001\001\000\002\001\001\000\002\001" +
 48.1755 -    "\001\000\016\026\u0303\027\202\030\224\103\221\163\205" +
 48.1756 -    "\164\176\001\001\000\002\001\001\000\002\001\001\000" +
 48.1757 +    "\001\000\016\026\u0303\027\202\030\225\103\220\163\205" +
 48.1758 +    "\164\175\001\001\000\002\001\001\000\002\001\001\000" +
 48.1759      "\002\001\001\000\002\001\001\000\050\026\231\027\202" +
 48.1760 -    "\030\224\031\u0308\032\201\033\213\034\211\035\210\036" +
 48.1761 -    "\217\042\222\044\225\103\221\154\220\155\215\160\227" +
 48.1762 -    "\163\205\164\176\255\207\261\200\001\001\000\006\037" +
 48.1763 -    "\322\257\316\001\001\000\002\001\001\000\002\001\001" +
 48.1764 -    "\000\002\001\001\000\016\026\u030d\027\202\030\224\103" +
 48.1765 -    "\221\163\205\164\176\001\001\000\002\001\001\000\002" +
 48.1766 +    "\030\225\031\u0308\032\201\033\213\034\211\035\210\036" +
 48.1767 +    "\217\042\222\044\224\103\220\154\221\155\215\160\227" +
 48.1768 +    "\163\205\164\175\257\207\261\200\001\001\000\006\037" +
 48.1769 +    "\322\170\316\001\001\000\002\001\001\000\002\001\001" +
 48.1770 +    "\000\002\001\001\000\016\026\u030d\027\202\030\225\103" +
 48.1771 +    "\220\163\205\164\175\001\001\000\002\001\001\000\002" +
 48.1772      "\001\001\000\004\027\u0324\001\001\000\004\276\u0323\001" +
 48.1773 -    "\001\000\004\027\u0312\001\001\000\006\177\u0313\200\140" +
 48.1774 -    "\001\001\000\004\276\u0315\001\001\000\006\173\u0317\277" +
 48.1775 +    "\001\000\004\027\u0312\001\001\000\006\202\u0313\203\140" +
 48.1776 +    "\001\001\000\004\276\u0315\001\001\000\006\176\u0317\277" +
 48.1777      "\u0316\001\001\000\002\001\001\000\006\300\u0319\310\u0318" +
 48.1778 -    "\001\001\000\004\170\u014e\001\001\000\004\173\u0322\001" +
 48.1779 -    "\001\000\014\250\u031a\301\u031b\344\112\345\114\346\055" +
 48.1780 -    "\001\001\000\004\173\u0321\001\001\000\002\001\001\000" +
 48.1781 -    "\006\173\u0317\277\u031d\001\001\000\006\300\u031e\310\u0318" +
 48.1782 -    "\001\001\000\012\250\u031a\344\112\345\114\346\055\001" +
 48.1783 +    "\001\001\000\004\173\u014e\001\001\000\004\176\u0322\001" +
 48.1784 +    "\001\000\014\253\u031a\301\u031b\344\112\345\114\346\055" +
 48.1785 +    "\001\001\000\004\176\u0321\001\001\000\002\001\001\000" +
 48.1786 +    "\006\176\u0317\277\u031d\001\001\000\006\300\u031e\310\u0318" +
 48.1787 +    "\001\001\000\012\253\u031a\344\112\345\114\346\055\001" +
 48.1788      "\001\000\014\027\045\102\u0144\103\u0146\140\u0145\152\u0320" +
 48.1789 -    "\001\001\000\002\001\001\000\004\170\u014e\001\001\000" +
 48.1790 -    "\004\170\u014e\001\001\000\002\001\001\000\002\001\001" +
 48.1791 +    "\001\001\000\002\001\001\000\004\173\u014e\001\001\000" +
 48.1792 +    "\004\173\u014e\001\001\000\002\001\001\000\002\001\001" +
 48.1793      "\000\122\002\124\003\062\004\054\005\101\006\102\011" +
 48.1794      "\105\012\u0327\013\066\016\052\020\123\022\060\023\061" +
 48.1795      "\025\117\072\076\073\023\074\072\105\070\106\036\107" +
 48.1796      "\071\110\103\114\107\117\115\120\077\121\106\134\113" +
 48.1797 -    "\136\064\144\065\170\122\174\100\175\111\176\056\250" +
 48.1798 -    "\063\251\110\272\024\274\017\275\121\302\053\344\112" +
 48.1799 +    "\136\064\144\065\173\122\177\100\200\111\201\056\253" +
 48.1800 +    "\063\254\110\272\024\274\017\275\121\302\053\344\112" +
 48.1801      "\345\114\346\055\001\001\000\002\001\001\000\004\066" +
 48.1802      "\u0328\001\001\000\002\001\001\000\014\027\045\102\u0144" +
 48.1803      "\103\u0146\140\u0145\152\u032a\001\001\000\002\001\001\000" +
 48.1804      "\002\001\001\000\002\001\001\000\002\001\001\000\016" +
 48.1805 -    "\026\u0348\027\202\030\224\103\221\163\205\164\176\001" +
 48.1806 +    "\026\u0348\027\202\030\225\103\220\163\205\164\175\001" +
 48.1807      "\001\000\110\002\124\003\062\004\054\005\101\006\102" +
 48.1808      "\007\u0333\010\u0337\011\u0334\020\123\022\060\023\061\025" +
 48.1809      "\117\072\u0332\073\023\105\070\106\036\114\107\117\115" +
 48.1810 -    "\120\077\134\113\136\064\144\065\170\122\174\100\175" +
 48.1811 -    "\111\176\056\250\063\272\024\274\017\275\121\302\053" +
 48.1812 +    "\120\077\134\113\136\064\144\065\173\122\177\100\200" +
 48.1813 +    "\111\201\056\253\063\272\024\274\017\275\121\302\053" +
 48.1814      "\343\u0331\344\112\345\114\346\055\001\001\000\004\027" +
 48.1815      "\u0310\001\001\000\002\001\001\000\002\001\001\000\004" +
 48.1816      "\014\u033f\001\001\000\002\001\001\000\002\001\001\000" +
 48.1817      "\006\027\045\140\042\001\001\000\102\002\124\003\062" +
 48.1818      "\004\054\005\101\006\102\011\u0338\020\123\022\060\023" +
 48.1819      "\061\025\117\072\u0332\073\023\105\070\106\036\114\107" +
 48.1820 -    "\117\115\120\077\134\113\136\064\144\065\170\122\174" +
 48.1821 -    "\100\175\111\176\056\250\063\272\024\274\017\275\121" +
 48.1822 +    "\117\115\120\077\134\113\136\064\144\065\173\122\177" +
 48.1823 +    "\100\200\111\201\056\253\063\272\024\274\017\275\121" +
 48.1824      "\302\053\344\112\345\114\346\055\001\001\000\002\001" +
 48.1825      "\001\000\006\027\045\140\u033a\001\001\000\002\001\001" +
 48.1826      "\000\002\001\001\000\004\027\u033d\001\001\000\002\001" +
 48.1827 @@ -2559,7 +2559,7 @@
 48.1828      "\003\062\004\054\005\101\006\102\007\u0341\010\u0337\011" +
 48.1829      "\u0334\020\123\022\060\023\061\025\117\072\u0332\073\023" +
 48.1830      "\105\070\106\036\114\107\117\115\120\077\134\113\136" +
 48.1831 -    "\064\144\065\170\122\174\100\175\111\176\056\250\063" +
 48.1832 +    "\064\144\065\173\122\177\100\200\111\201\056\253\063" +
 48.1833      "\272\024\274\017\275\121\302\053\344\112\345\114\346" +
 48.1834      "\055\001\001\000\002\001\001\000\010\027\045\140\u025f" +
 48.1835      "\141\u0343\001\001\000\002\001\001\000\004\343\u0250\001" +
 48.1836 @@ -2569,98 +2569,98 @@
 48.1837      "\013\066\016\052\020\123\022\060\023\061\025\117\072" +
 48.1838      "\076\073\023\074\072\105\070\106\036\107\071\110\103" +
 48.1839      "\114\107\117\115\120\077\121\106\134\113\136\064\144" +
 48.1840 -    "\065\170\122\174\100\175\111\176\056\250\063\251\110" +
 48.1841 +    "\065\173\122\177\100\200\111\201\056\253\063\254\110" +
 48.1842      "\272\024\274\017\275\121\302\053\343\u0250\344\112\345" +
 48.1843 -    "\114\346\055\001\001\000\004\170\u014e\001\001\000\006" +
 48.1844 +    "\114\346\055\001\001\000\004\173\u014e\001\001\000\006" +
 48.1845      "\076\u034d\077\u0127\001\001\000\002\001\001\000\016\026" +
 48.1846 -    "\u034f\027\202\030\224\103\221\163\205\164\176\001\001" +
 48.1847 +    "\u034f\027\202\030\225\103\220\163\205\164\175\001\001" +
 48.1848      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 48.1849      "\006\027\045\140\u0353\001\001\000\002\001\001\000\016" +
 48.1850      "\015\u035b\016\u0358\072\u035d\074\u0356\107\u035c\121\u0359\001" +
 48.1851      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 48.1852      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 48.1853      "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
 48.1854 -    "\027\u035f\001\001\000\002\001\001\000\006\173\u014d\312" +
 48.1855 +    "\027\u035f\001\001\000\002\001\001\000\006\176\u014d\312" +
 48.1856      "\u014c\001\001\000\004\027\u0362\001\001\000\002\001\001" +
 48.1857      "\000\122\002\124\003\062\004\054\005\101\006\102\011" +
 48.1858      "\105\012\u0327\013\066\016\052\020\123\022\060\023\061" +
 48.1859      "\025\117\072\076\073\023\074\072\105\070\106\036\107" +
 48.1860      "\071\110\103\114\107\117\115\120\077\121\106\134\113" +
 48.1861 -    "\136\064\144\065\170\122\174\100\175\111\176\056\250" +
 48.1862 -    "\063\251\110\272\024\274\017\275\121\302\053\344\112" +
 48.1863 +    "\136\064\144\065\173\122\177\100\200\111\201\056\253" +
 48.1864 +    "\063\254\110\272\024\274\017\275\121\302\053\344\112" +
 48.1865      "\345\114\346\055\001\001\000\006\076\u0365\077\u0127\001" +
 48.1866      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 48.1867      "\000\006\027\045\140\u03b2\001\001\000\002\001\001\000" +
 48.1868      "\004\027\u038c\001\001\000\002\001\001\000\002\001\001" +
 48.1869      "\000\002\001\001\000\002\001\001\000\016\026\u0370\027" +
 48.1870 -    "\202\030\224\103\221\163\205\164\176\001\001\000\002" +
 48.1871 +    "\202\030\225\103\220\163\205\164\175\001\001\000\002" +
 48.1872      "\001\001\000\002\001\001\000\004\027\u0387\001\001\000" +
 48.1873      "\004\027\u037e\001\001\000\012\027\045\102\u0375\103\u0146" +
 48.1874      "\140\u0145\001\001\000\006\076\u0376\077\u0127\001\001\000" +
 48.1875 -    "\002\001\001\000\016\026\u0378\027\202\030\224\103\221" +
 48.1876 -    "\163\205\164\176\001\001\000\004\341\u037a\001\001\000" +
 48.1877 -    "\016\026\u037d\027\202\030\224\103\221\163\205\164\176" +
 48.1878 +    "\002\001\001\000\016\026\u0378\027\202\030\225\103\220" +
 48.1879 +    "\163\205\164\175\001\001\000\004\341\u037a\001\001\000" +
 48.1880 +    "\016\026\u037d\027\202\030\225\103\220\163\205\164\175" +
 48.1881      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 48.1882      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 48.1883 -    "\000\016\026\u0381\027\202\030\224\103\221\163\205\164" +
 48.1884 -    "\176\001\001\000\002\001\001\000\002\001\001\000\066" +
 48.1885 -    "\026\246\027\202\030\224\031\247\032\201\033\256\034" +
 48.1886 -    "\211\035\210\036\217\042\222\044\225\103\221\154\220" +
 48.1887 -    "\155\215\160\227\161\245\163\205\164\176\165\255\167" +
 48.1888 -    "\244\245\251\246\243\253\254\254\253\255\207\261\200" +
 48.1889 +    "\000\016\026\u0381\027\202\030\225\103\220\163\205\164" +
 48.1890 +    "\175\001\001\000\002\001\001\000\002\001\001\000\066" +
 48.1891 +    "\026\246\027\202\030\225\031\247\032\201\033\256\034" +
 48.1892 +    "\211\035\210\036\217\042\222\044\224\103\220\154\221" +
 48.1893 +    "\155\215\160\227\161\245\163\205\164\175\165\255\167" +
 48.1894 +    "\244\250\251\251\243\255\254\256\253\257\207\261\200" +
 48.1895      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 48.1896      "\001\000\006\076\u0388\077\u0127\001\001\000\004\341\u0389" +
 48.1897      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 48.1898 -    "\001\000\006\200\u038d\337\u038f\001\001\000\002\001\001" +
 48.1899 -    "\000\012\006\102\023\143\240\146\241\147\001\001\000" +
 48.1900 -    "\002\001\001\000\022\111\u0397\112\u0393\204\u039d\206\u0395" +
 48.1901 -    "\223\u027d\224\u027e\340\u0394\342\u039a\001\001\000\002\001" +
 48.1902 +    "\001\000\006\203\u038d\337\u038f\001\001\000\002\001\001" +
 48.1903 +    "\000\012\006\102\023\143\243\146\244\147\001\001\000" +
 48.1904 +    "\002\001\001\000\022\111\u0397\112\u0393\207\u039d\211\u0395" +
 48.1905 +    "\226\u027d\227\u027e\340\u0394\342\u039a\001\001\000\002\001" +
 48.1906      "\001\000\002\001\001\000\004\113\u03ac\001\001\000\002" +
 48.1907      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 48.1908      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 48.1909      "\000\002\001\001\000\020\021\u039e\026\u011b\027\202\030" +
 48.1910 -    "\224\103\221\163\205\164\176\001\001\000\002\001\001" +
 48.1911 +    "\225\103\220\163\205\164\175\001\001\000\002\001\001" +
 48.1912      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 48.1913 -    "\020\021\u03a2\026\u011b\027\202\030\224\103\221\163\205" +
 48.1914 -    "\164\176\001\001\000\002\001\001\000\002\001\001\000" +
 48.1915 +    "\020\021\u03a2\026\u011b\027\202\030\225\103\220\163\205" +
 48.1916 +    "\164\175\001\001\000\002\001\001\000\002\001\001\000" +
 48.1917      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
 48.1918      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 48.1919      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 48.1920      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
 48.1921      "\002\001\001\000\002\001\001\000\016\026\u03b5\027\202" +
 48.1922 -    "\030\224\103\221\163\205\164\176\001\001\000\106\002" +
 48.1923 +    "\030\225\103\220\163\205\164\175\001\001\000\106\002" +
 48.1924      "\124\003\062\004\054\005\101\006\102\007\u0333\010\u0337" +
 48.1925      "\011\u0334\020\123\022\060\023\061\025\117\072\u0332\073" +
 48.1926      "\023\105\070\106\036\114\107\117\115\120\077\134\113" +
 48.1927 -    "\136\064\144\065\170\122\174\100\175\111\176\056\250" +
 48.1928 +    "\136\064\144\065\173\122\177\100\200\111\201\056\253" +
 48.1929      "\063\272\024\274\017\275\121\302\053\344\112\345\114" +
 48.1930      "\346\055\001\001\000\002\001\001\000\002\001\001\000" +
 48.1931      "\002\001\001\000\002\001\001\000\020\026\u03ba\027\202" +
 48.1932 -    "\030\224\103\221\116\u03bb\163\205\164\176\001\001\000" +
 48.1933 +    "\030\225\103\220\116\u03bb\163\205\164\175\001\001\000" +
 48.1934      "\002\001\001\000\002\001\001\000\016\026\u03be\027\202" +
 48.1935 -    "\030\224\103\221\163\205\164\176\001\001\000\002\001" +
 48.1936 -    "\001\000\002\001\001\000\016\026\u03c1\027\202\030\224" +
 48.1937 -    "\103\221\163\205\164\176\001\001\000\002\001\001\000" +
 48.1938 +    "\030\225\103\220\163\205\164\175\001\001\000\002\001" +
 48.1939 +    "\001\000\002\001\001\000\016\026\u03c1\027\202\030\225" +
 48.1940 +    "\103\220\163\205\164\175\001\001\000\002\001\001\000" +
 48.1941      "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
 48.1942      "\027\045\140\u03c6\001\001\000\002\001\001\000\002\001" +
 48.1943      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
 48.1944      "\000\034\005\025\072\034\073\023\074\037\105\030\106" +
 48.1945      "\036\107\022\120\032\130\u03cb\136\031\151\040\272\024" +
 48.1946 -    "\274\017\001\001\000\004\173\u03cc\001\001\000\004\170" +
 48.1947 -    "\u014e\001\001\000\004\170\u014e\001\001\000\002\001\001" +
 48.1948 +    "\274\017\001\001\000\004\176\u03cc\001\001\000\004\173" +
 48.1949 +    "\u014e\001\001\000\004\173\u014e\001\001\000\002\001\001" +
 48.1950      "\000\002\001\001\000\002\001\001\000\054\026\231\027" +
 48.1951 -    "\u03d4\030\224\031\u03d5\032\201\033\213\034\211\035\210" +
 48.1952 -    "\036\217\042\222\044\225\103\221\154\220\155\215\160" +
 48.1953 -    "\227\163\205\164\176\171\u03d3\172\u03d2\255\207\261\200" +
 48.1954 +    "\u03d4\030\225\031\u03d5\032\201\033\213\034\211\035\210" +
 48.1955 +    "\036\217\042\222\044\224\103\220\154\221\155\215\160" +
 48.1956 +    "\227\163\205\164\175\174\u03d3\175\u03d2\257\207\261\200" +
 48.1957      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
 48.1958 -    "\001\000\006\037\322\257\316\001\001\000\050\026\231" +
 48.1959 -    "\027\202\030\224\031\u03d7\032\201\033\213\034\211\035" +
 48.1960 -    "\210\036\217\042\222\044\225\103\221\154\220\155\215" +
 48.1961 -    "\160\227\163\205\164\176\255\207\261\200\001\001\000" +
 48.1962 -    "\006\037\322\257\316\001\001\000\052\026\231\027\u03d4" +
 48.1963 -    "\030\224\031\u03d5\032\201\033\213\034\211\035\210\036" +
 48.1964 -    "\217\042\222\044\225\103\221\154\220\155\215\160\227" +
 48.1965 -    "\163\205\164\176\172\u03db\255\207\261\200\001\001\000" +
 48.1966 +    "\001\000\006\037\322\170\316\001\001\000\050\026\231" +
 48.1967 +    "\027\202\030\225\031\u03d7\032\201\033\213\034\211\035" +
 48.1968 +    "\210\036\217\042\222\044\224\103\220\154\221\155\215" +
 48.1969 +    "\160\227\163\205\164\175\257\207\261\200\001\001\000" +
 48.1970 +    "\006\037\322\170\316\001\001\000\052\026\231\027\u03d4" +
 48.1971 +    "\030\225\031\u03d5\032\201\033\213\034\211\035\210\036" +
 48.1972 +    "\217\042\222\044\224\103\220\154\221\155\215\160\227" +
 48.1973 +    "\163\205\164\175\175\u03db\257\207\261\200\001\001\000" +
 48.1974      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
 48.1975      "\001\001" });
 48.1976  
 48.1977 @@ -2720,21 +2720,19 @@
 48.1978          return this.errorHandler;
 48.1979      }
 48.1980  
 48.1981 -/*
 48.1982 -    public Dispatch createDispatch(VariableBase dispatcher, VariableBase property) {
 48.1983 +
 48.1984 +    public Dispatch createDispatch(NameBase dispatcher, NameBase property) {
 48.1985          Dispatch dispatch = null;
 48.1986  	if (property instanceof Variable) {
 48.1987  	   dispatch = new FieldAccess(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (Variable)property);
 48.1988 -	} else if (property instanceof FunctionInvocation) {
 48.1989 -	   dispatch = new MethodInvocation(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (FunctionInvocation)property);
 48.1990 -	} else if (property instanceof ProcedureInvocation) {
 48.1991 -	   dispatch = new MethodInvocation(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (ProcedureInvocation)property);
 48.1992 +	} else if (property instanceof TypeName) {
 48.1993 +	   dispatch = new TypeAccess(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (TypeName)property);
 48.1994  	} else {
 48.1995  	   throw new IllegalArgumentException();
 48.1996  	}
 48.1997          return dispatch;
 48.1998      }
 48.1999 -*/
 48.2000 +
 48.2001  
 48.2002      public List setModifier(List items, int modifier) {
 48.2003          List list = new LinkedList();
 48.2004 @@ -2945,7 +2943,7 @@
 48.2005              {
 48.2006                Object RESULT =null;
 48.2007  
 48.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);
 48.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);
 48.2010              }
 48.2011            return CUP$Ada95ASTParser$result;
 48.2012  
 48.2013 @@ -2954,7 +2952,7 @@
 48.2014              {
 48.2015                Object RESULT =null;
 48.2016  
 48.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);
 48.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);
 48.2019              }
 48.2020            return CUP$Ada95ASTParser$result;
 48.2021  
 48.2022 @@ -2963,7 +2961,7 @@
 48.2023              {
 48.2024                Object RESULT =null;
 48.2025  
 48.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);
 48.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);
 48.2028              }
 48.2029            return CUP$Ada95ASTParser$result;
 48.2030  
 48.2031 @@ -3301,7 +3299,7 @@
 48.2032  		Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2033  		int exceptionNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2034  		int exceptionNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2035 -		String exceptionName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2036 +		Expression exceptionName = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2037  		int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2038  		int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2039  		Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2040 @@ -3389,7 +3387,7 @@
 48.2041              {
 48.2042                Object RESULT =null;
 48.2043  
 48.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);
 48.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);
 48.2046              }
 48.2047            return CUP$Ada95ASTParser$result;
 48.2048  
 48.2049 @@ -3740,10 +3738,9 @@
 48.2050  		List idList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2051  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2052  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2053 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2054 -		
 48.2055 -    Identifier id = new Identifier(nameleft, nameright, name);
 48.2056 -    TaskName taskName = new TaskName(nameleft, nameright, id);
 48.2057 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2058 +		
 48.2059 +    TaskName taskName = new TaskName(nameleft, nameright, name);
 48.2060      idList.add(taskName);
 48.2061      RESULT = idList;
 48.2062  
 48.2063 @@ -3757,11 +3754,10 @@
 48.2064                List RESULT =null;
 48.2065  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2066  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2067 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2068 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2069  		
 48.2070      List idList = new LinkedList();
 48.2071 -    Identifier id = new Identifier(nameleft, nameright, name);
 48.2072 -    TaskName taskName = new TaskName(nameleft, nameright, id);
 48.2073 +    TaskName taskName = new TaskName(nameleft, nameright, name);
 48.2074      idList.add(taskName);
 48.2075      RESULT = idList;
 48.2076  
 48.2077 @@ -4200,7 +4196,7 @@
 48.2078                Statement RESULT =null;
 48.2079  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
 48.2080  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
 48.2081 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
 48.2082 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
 48.2083  
 48.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);
 48.2085              }
 48.2086 @@ -4346,7 +4342,7 @@
 48.2087              {
 48.2088                Object RESULT =null;
 48.2089  
 48.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);
 48.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);
 48.2092              }
 48.2093            return CUP$Ada95ASTParser$result;
 48.2094  
 48.2095 @@ -4418,7 +4414,7 @@
 48.2096              {
 48.2097                Object RESULT =null;
 48.2098  
 48.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);
 48.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);
 48.2101              }
 48.2102            return CUP$Ada95ASTParser$result;
 48.2103  
 48.2104 @@ -4461,17 +4457,15 @@
 48.2105  		Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
 48.2106  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
 48.2107  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
 48.2108 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 48.2109 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 48.2110  		int renamesleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2111  		int renamesright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2112 -		String renames = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2113 +		Identifier renames = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2114  		int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2115  		int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2116  		Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2117  		
 48.2118 -    Identifier packageNameId = new Identifier(nameleft, nameright, name);
 48.2119 -    Identifier packageRenamesId = new Identifier(renamesleft, renamesright, renames);
 48.2120 -    PackageRenames packageRenames = new PackageRenames(tokenleft, endright, packageNameId, packageRenamesId);
 48.2121 +    PackageRenames packageRenames = new PackageRenames(tokenleft, endright, name, renames);
 48.2122      RESULT = packageRenames;
 48.2123  
 48.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);
 48.2125 @@ -4519,10 +4513,9 @@
 48.2126  		List idList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2127  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2128  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2129 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2130 -		
 48.2131 -    Identifier id = new Identifier(nameleft, nameright, name);
 48.2132 -    TypeName typeName = new TypeName(nameleft, nameright, id);
 48.2133 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2134 +		
 48.2135 +    TypeName typeName = new TypeName(nameleft, nameright, name);
 48.2136      idList.add(typeName);
 48.2137      RESULT = idList;
 48.2138  
 48.2139 @@ -4536,11 +4529,10 @@
 48.2140                List RESULT =null;
 48.2141  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2142  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2143 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2144 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2145  		
 48.2146      List idList = new LinkedList();
 48.2147 -    Identifier id = new Identifier(nameleft, nameright, name);
 48.2148 -    TypeName typeName = new TypeName(nameleft, nameright, id);
 48.2149 +    TypeName typeName = new TypeName(nameleft, nameright, name);
 48.2150      idList.add(typeName);
 48.2151      RESULT = idList;
 48.2152  
 48.2153 @@ -4557,10 +4549,9 @@
 48.2154  		List idList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2155  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2156  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2157 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2158 -		
 48.2159 -    Identifier id = new Identifier(nameleft, nameright, name);
 48.2160 -    PackageName packageName = new PackageName(nameleft, nameright, id);
 48.2161 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2162 +		
 48.2163 +    PackageName packageName = new PackageName(nameleft, nameright, name);
 48.2164      idList.add(packageName);
 48.2165      RESULT = idList;
 48.2166  
 48.2167 @@ -4574,11 +4565,10 @@
 48.2168                List RESULT =null;
 48.2169  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2170  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2171 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2172 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2173  		
 48.2174      List idList = new LinkedList();
 48.2175 -    Identifier id = new Identifier(nameleft, nameright, name);
 48.2176 -    PackageName packageName = new PackageName(nameleft, nameright, id);
 48.2177 +    PackageName packageName = new PackageName(nameleft, nameright, name);
 48.2178      idList.add(packageName);
 48.2179      RESULT = idList;
 48.2180  
 48.2181 @@ -4694,33 +4684,31 @@
 48.2182  		int declarationStartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-8)).left;
 48.2183  		int declarationStartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-8)).right;
 48.2184  		Object declarationStart = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-8)).value;
 48.2185 -		int packageNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).left;
 48.2186 -		int packageNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).right;
 48.2187 -		String packageName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).value;
 48.2188 +		int package_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).left;
 48.2189 +		int package_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).right;
 48.2190 +		Identifier package_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).value;
 48.2191  		int blockStartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
 48.2192  		int blockStartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
 48.2193  		Object blockStart = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
 48.2194  		int declarativePartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
 48.2195  		int declarativePartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
 48.2196  		List declarativePart = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
 48.2197 -		int packageNameEndleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2198 -		int packageNameEndright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2199 -		String packageNameEnd = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2200 +		int package_name_endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2201 +		int package_name_endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2202 +		Identifier package_name_end = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2203  		int declarationEndleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2204  		int declarationEndright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2205  		Object declarationEnd = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2206  		
 48.2207 -    if (packageNameEnd != null && !packageNameEnd.equalsIgnoreCase (packageName)) {
 48.2208 -        this.parser.message_error("mispelling of " + packageName);
 48.2209 +    if (package_name_end != null && !package_name_end.getName().equalsIgnoreCase (package_name.getName())) {
 48.2210 +        this.parser.message_error("mispelling of " + package_name);
 48.2211      }
 48.2212      else {
 48.2213 -        Identifier packageId = new Identifier(packageNameleft, packageNameright, packageName);
 48.2214 -        Identifier packageIdEnd = new Identifier(packageNameEndleft, packageNameEndright, packageNameEnd);
 48.2215  
 48.2216          List list = this.parser.setModifier (declarativePart, Ada95ASTParser.PRIVATE);
 48.2217          Block block = new Block(blockStartleft, declarationEndright, list);
 48.2218  
 48.2219 -        PackageBody packageBody = new PackageBody(declarationStartleft, declarationEndright, packageId, packageIdEnd, block);
 48.2220 +        PackageBody packageBody = new PackageBody(declarationStartleft, declarationEndright, package_name, package_name_end, block);
 48.2221          RESULT = packageBody;
 48.2222      }
 48.2223  
 48.2224 @@ -4731,12 +4719,12 @@
 48.2225            /*. . . . . . . . . . . . . . . . . . . .*/
 48.2226            case 344: // compound_name_opt ::= compound_name 
 48.2227              {
 48.2228 -              String RESULT =null;
 48.2229 -		int compoundNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2230 -		int compoundNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2231 -		String compoundName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2232 -		
 48.2233 -    RESULT = compoundName;
 48.2234 +              Identifier RESULT =null;
 48.2235 +		int compound_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2236 +		int compound_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2237 +		Identifier compound_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2238 +		
 48.2239 +    RESULT = compound_name;
 48.2240  
 48.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);
 48.2242              }
 48.2243 @@ -4745,7 +4733,7 @@
 48.2244            /*. . . . . . . . . . . . . . . . . . . .*/
 48.2245            case 343: // compound_name_opt ::= 
 48.2246              {
 48.2247 -              String RESULT =null;
 48.2248 +              Identifier RESULT =null;
 48.2249  
 48.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);
 48.2251              }
 48.2252 @@ -4783,9 +4771,9 @@
 48.2253  		int declarationStartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).left;
 48.2254  		int declarationStartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).right;
 48.2255  		Object declarationStart = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-6)).value;
 48.2256 -		int packageNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
 48.2257 -		int packageNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
 48.2258 -		String packageName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
 48.2259 +		int package_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
 48.2260 +		int package_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
 48.2261 +		Identifier package_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
 48.2262  		int blockStartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
 48.2263  		int blockStartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
 48.2264  		Object blockStart = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
 48.2265 @@ -4798,20 +4786,18 @@
 48.2266  		int declarationEndleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2267  		int declarationEndright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2268  		Object declarationEnd = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2269 -		int packageNameEndleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2270 -		int packageNameEndright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2271 -		String packageNameEnd = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2272 -		
 48.2273 -    if (packageNameEnd != null && !packageNameEnd.equalsIgnoreCase (packageName)) {
 48.2274 -        this.parser.message_error("mispelling of " + packageName);
 48.2275 +		int package_name_endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2276 +		int package_name_endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2277 +		Identifier package_name_end = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2278 +		
 48.2279 +    if (package_name_end != null && !package_name_end.getName().equalsIgnoreCase (package_name.getName())) {
 48.2280 +        this.parser.message_error("mispelling of " + package_name);
 48.2281      }
 48.2282      else {
 48.2283 -        Identifier packageId = new Identifier(packageNameleft, packageNameright, packageName);
 48.2284 -        Identifier packageIdEnd = new Identifier(packageNameEndleft, packageNameEndright, packageNameEnd);
 48.2285          declarativeItems.addAll (privateDeclarativeItems);
 48.2286          // Add private part on block statements
 48.2287          Block block = new Block(blockStartleft, declarationEndright, declarativeItems);
 48.2288 -        PackageSpecification packageSpecification = new PackageSpecification(declarationStartleft, declarationEndright, packageId, packageIdEnd, block);
 48.2289 +        PackageSpecification packageSpecification = new PackageSpecification(declarationStartleft, declarationEndright, package_name, package_name_end, block);
 48.2290          RESULT = packageSpecification;
 48.2291      }
 48.2292  
 48.2293 @@ -4864,20 +4850,19 @@
 48.2294  		int bodyleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
 48.2295  		int bodyright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
 48.2296  		Block body = (Block)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 48.2297 -		int idOptleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2298 -		int idOptright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2299 -		String idOpt = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2300 +		int id_optleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2301 +		int id_optright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2302 +		Identifier id_opt = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2303  		int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2304  		int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2305  		Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2306  		
 48.2307 -    if (idOpt != null && !idOpt.equalsIgnoreCase (subprog.getSubprogramName().getName())) {
 48.2308 +    if (id_opt != null && !id_opt.getName().equalsIgnoreCase (subprog.getSubprogramName().getName())) {
 48.2309          this.parser.message_error("mispelling of " + subprog.getSubprogramName().getName());
 48.2310      } else {
 48.2311          Block declarations = new Block(subprogright, bodyleft, declarativePart);
 48.2312          body.setEndOffset(endright);
 48.2313 -        Identifier nameEnd = new Identifier(idOptleft, idOptright, idOpt);
 48.2314 -        SubprogramBody subprogramBody = new SubprogramBody(subprogleft, endright, subprog, declarations, body, nameEnd);
 48.2315 +        SubprogramBody subprogramBody = new SubprogramBody(subprogleft, endright, subprog, declarations, body, id_opt);
 48.2316          MethodDeclaration methodDeclaration = new MethodDeclaration(subprogleft, endright, 0/*modifier*/, subprogramBody);
 48.2317          RESULT = methodDeclaration;
 48.2318      }
 48.2319 @@ -4889,12 +4874,13 @@
 48.2320            /*. . . . . . . . . . . . . . . . . . . .*/
 48.2321            case 335: // operator_symbol ::= STRING_LITERAL 
 48.2322              {
 48.2323 -              String RESULT =null;
 48.2324 -		int stringLiteralleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2325 -		int stringLiteralright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2326 -		String stringLiteral = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2327 -		
 48.2328 -    RESULT = stringLiteral;
 48.2329 +              Identifier RESULT =null;
 48.2330 +		int string_literalleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2331 +		int string_literalright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2332 +		String string_literal = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2333 +		
 48.2334 +    Identifier identifier = new Identifier (string_literalleft, string_literalright, string_literal);
 48.2335 +    RESULT = identifier;
 48.2336  
 48.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);
 48.2338              }
 48.2339 @@ -4984,19 +4970,18 @@
 48.2340  		FormalParameter.Mode mode = (FormalParameter.Mode)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2341  		int subtypeleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2342  		int subtyperight = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2343 -		String subtype = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2344 +		NameBase subtype = (NameBase)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2345  		int initleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2346  		int initright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2347  		Expression init = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2348  		
 48.2349      List list = new LinkedList();
 48.2350 -    Identifier subtypeId = new Identifier(subtypeleft, subtyperight, subtype);
 48.2351 -    TypeName typeName = new TypeName(subtypeleft, subtyperight, subtypeId);
 48.2352 +//    TypeName typeName = new TypeName(subtypeleft, subtyperight, subtype);
 48.2353      for (Object item : identifierList) {
 48.2354          Identifier identifier = (Identifier)item;
 48.2355          Variable variable = new Variable (identifier.getStartOffset(), identifier.getEndOffset(), identifier);
 48.2356  	    int end = init == null ? subtyperight : initright;
 48.2357 -        FormalParameter parameter = new FormalParameter(identifierListleft, end, variable, mode, typeName, init);
 48.2358 +        FormalParameter parameter = new FormalParameter(identifierListleft, end, variable, mode, subtype, init);
 48.2359      	list.add(parameter);
 48.2360      }
 48.2361      RESULT = list;
 48.2362 @@ -5082,10 +5067,10 @@
 48.2363            /*. . . . . . . . . . . . . . . . . . . .*/
 48.2364            case 322: // designator ::= operator_symbol 
 48.2365              {
 48.2366 -              String RESULT =null;
 48.2367 +              Identifier RESULT =null;
 48.2368  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2369  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2370 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2371 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2372  		
 48.2373      RESULT = name;
 48.2374  
 48.2375 @@ -5096,10 +5081,10 @@
 48.2376            /*. . . . . . . . . . . . . . . . . . . .*/
 48.2377            case 321: // designator ::= compound_name 
 48.2378              {
 48.2379 -              String RESULT =null;
 48.2380 +              Identifier RESULT =null;
 48.2381  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2382  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2383 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2384 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2385  		
 48.2386      RESULT = name;
 48.2387  
 48.2388 @@ -5114,12 +5099,11 @@
 48.2389  		int functionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2390  		int functionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2391  		Object function = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2392 -		int functionNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2393 -		int functionNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2394 -		String functionName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2395 -		
 48.2396 -    Identifier functionId = new Identifier(functionNameleft, functionNameright, functionName);
 48.2397 -    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, functionNameright, functionId);
 48.2398 +		int designatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2399 +		int designatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2400 +		Identifier designator = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2401 +		
 48.2402 +    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, designatorright, designator);
 48.2403      RESULT = subprogramSpecification;
 48.2404  
 48.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);
 48.2406 @@ -5133,19 +5117,17 @@
 48.2407  		int functionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
 48.2408  		int functionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
 48.2409  		Object function = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
 48.2410 -		int functionNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
 48.2411 -		int functionNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
 48.2412 -		String functionName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 48.2413 -		int formalPartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.2414 -		int formalPartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.2415 -		List formalPart = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2416 -		int subtypeMarkleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2417 -		int subtypeMarkright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2418 -		String subtypeMark = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2419 -		
 48.2420 -    Identifier functionId = new Identifier(functionNameleft, functionNameright, functionName);
 48.2421 -    Identifier subtypeReturn = new Identifier(subtypeMarkleft, subtypeMarkright, subtypeMark);
 48.2422 -    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, subtypeMarkright, functionId, formalPart, subtypeReturn);
 48.2423 +		int designatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
 48.2424 +		int designatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
 48.2425 +		Identifier designator = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 48.2426 +		int formal_partleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.2427 +		int formal_partright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.2428 +		List formal_part = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2429 +		int subtype_markleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2430 +		int subtype_markright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2431 +		Identifier subtype_mark = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2432 +		
 48.2433 +    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, subtype_markright, designator, formal_part, subtype_mark);
 48.2434      RESULT = subprogramSpecification;
 48.2435  
 48.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);
 48.2437 @@ -5159,15 +5141,14 @@
 48.2438  		int procedureleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.2439  		int procedureright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.2440  		Object procedure = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2441 -		int procedureNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2442 -		int procedureNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2443 -		String procedureName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2444 -		int formalPartleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2445 -		int formalPartright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2446 -		List formalPart = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2447 -		
 48.2448 -    Identifier procedureId = new Identifier(procedureNameleft, procedureNameright, procedureName);
 48.2449 -    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(procedureleft, formalPartright, procedureId, formalPart);
 48.2450 +		int compound_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2451 +		int compound_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2452 +		Identifier compound_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2453 +		int formal_partleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2454 +		int formal_partright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2455 +		List formal_part = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2456 +		
 48.2457 +    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(procedureleft, formal_partright, compound_name, formal_part);
 48.2458      RESULT = subprogramSpecification;
 48.2459  
 48.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);
 48.2461 @@ -5234,7 +5215,7 @@
 48.2462  		Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2463  		int labelNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2464  		int labelNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2465 -		String labelName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2466 +		Identifier labelName = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2467  		int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2468  		int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2469  		Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2470 @@ -5310,10 +5291,10 @@
 48.2471            /*. . . . . . . . . . . . . . . . . . . .*/
 48.2472            case 309: // name_opt ::= name 
 48.2473              {
 48.2474 -              String RESULT =null;
 48.2475 +              Expression RESULT =null;
 48.2476  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2477  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2478 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2479 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2480  		
 48.2481      RESULT = name;
 48.2482  
 48.2483 @@ -5324,7 +5305,7 @@
 48.2484            /*. . . . . . . . . . . . . . . . . . . .*/
 48.2485            case 308: // name_opt ::= 
 48.2486              {
 48.2487 -              String RESULT =null;
 48.2488 +              Expression RESULT =null;
 48.2489  		
 48.2490      RESULT = null;
 48.2491  
 48.2492 @@ -5341,7 +5322,7 @@
 48.2493  		Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 48.2494  		int loopNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.2495  		int loopNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.2496 -		String loopName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2497 +		Expression loopName = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2498  		int whenConditionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2499  		int whenConditionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2500  		Expression whenCondition = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2501 @@ -5440,7 +5421,7 @@
 48.2502                BlockStatement RESULT =null;
 48.2503  		int labelleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
 48.2504  		int labelright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
 48.2505 -		String label = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
 48.2506 +		Identifier label = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
 48.2507  		int declarationsleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
 48.2508  		int declarationsright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
 48.2509  		Block declarations = (Block)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
 48.2510 @@ -5452,8 +5433,7 @@
 48.2511  		Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2512  		
 48.2513      int start = (label == null) ? declarationsleft : labelleft;
 48.2514 -    Identifier identifier = new Identifier(labelleft, labelright, label);
 48.2515 -    BlockStatement blockStatement = new BlockStatement (start, endleft, identifier, declarations, body);
 48.2516 +    BlockStatement blockStatement = new BlockStatement (start, endleft, label, declarations, body);
 48.2517      RESULT = blockStatement;
 48.2518  
 48.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);
 48.2520 @@ -5463,12 +5443,12 @@
 48.2521            /*. . . . . . . . . . . . . . . . . . . .*/
 48.2522            case 299: // id_opt ::= designator 
 48.2523              {
 48.2524 -              String RESULT =null;
 48.2525 -		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2526 -		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2527 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2528 -		
 48.2529 -    RESULT = name;
 48.2530 +              Identifier RESULT =null;
 48.2531 +		int designatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2532 +		int designatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2533 +		Identifier designator = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2534 +		
 48.2535 +    RESULT = designator;
 48.2536  
 48.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);
 48.2538              }
 48.2539 @@ -5477,7 +5457,7 @@
 48.2540            /*. . . . . . . . . . . . . . . . . . . .*/
 48.2541            case 298: // id_opt ::= 
 48.2542              {
 48.2543 -              String RESULT =null;
 48.2544 +              Identifier RESULT =null;
 48.2545  		
 48.2546      RESULT = null;
 48.2547  
 48.2548 @@ -5569,12 +5549,13 @@
 48.2549            /*. . . . . . . . . . . . . . . . . . . .*/
 48.2550            case 290: // label_opt ::= IDENTIFIER COLON 
 48.2551              {
 48.2552 -              String RESULT =null;
 48.2553 +              Identifier RESULT =null;
 48.2554  		int idleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2555  		int idright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2556  		String id = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2557  		
 48.2558 -    RESULT = id;
 48.2559 +    Identifier identifier = new Identifier (idleft, idright, id);
 48.2560 +    RESULT = identifier;
 48.2561  
 48.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);
 48.2563              }
 48.2564 @@ -5583,7 +5564,7 @@
 48.2565            /*. . . . . . . . . . . . . . . . . . . .*/
 48.2566            case 289: // label_opt ::= 
 48.2567              {
 48.2568 -              String RESULT =null;
 48.2569 +              Identifier RESULT =null;
 48.2570  		
 48.2571      RESULT = null;
 48.2572  
 48.2573 @@ -5597,7 +5578,7 @@
 48.2574                LoopStatement RESULT =null;
 48.2575  		int labelleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).left;
 48.2576  		int labelright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).right;
 48.2577 -		String label = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
 48.2578 +		Identifier label = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-4)).value;
 48.2579  		int iterationleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
 48.2580  		int iterationright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
 48.2581  		Expression iteration = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 48.2582 @@ -5609,8 +5590,7 @@
 48.2583  		Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2584  		
 48.2585      int start = (label == null) ? iterationleft : labelleft;
 48.2586 -    Identifier identifier = new Identifier(labelleft, labelright, label);
 48.2587 -    LoopStatement loopStatement = new LoopStatement(start, endright, identifier, iteration, statement);
 48.2588 +    LoopStatement loopStatement = new LoopStatement(start, endright, label, iteration, statement);
 48.2589      RESULT = loopStatement;
 48.2590  
 48.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);
 48.2592 @@ -5722,11 +5702,11 @@
 48.2593            case 281: // condition ::= expression 
 48.2594              {
 48.2595                Expression RESULT =null;
 48.2596 -		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2597 -		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2598 -		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2599 -		
 48.2600 -    RESULT = expr;
 48.2601 +		int expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2602 +		int expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2603 +		Expression expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2604 +		
 48.2605 +    RESULT = expression;
 48.2606  
 48.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);
 48.2608              }
 48.2609 @@ -5812,19 +5792,19 @@
 48.2610      Expression firstCondition = null;
 48.2611      Statement trueStatement = null;
 48.2612      Statement falseStatement = iffalse;
 48.2613 -		
 48.2614 +
 48.2615      for (int i=1 ; i < condList[0].size() ; i++) {
 48.2616          innerCondition = (Expression)condList[0].get(i);
 48.2617          trueStatement = (Statement)condList[1].get(i);
 48.2618          int start = ((Integer)condList[2].get(i)).intValue();
 48.2619          falseStatement = new IfStatement(start, endright, innerCondition, trueStatement, falseStatement);
 48.2620      }
 48.2621 -    
 48.2622 +
 48.2623      firstCondition = (Expression)condList[0].get(0);
 48.2624      trueStatement = (Statement)condList[1].get(0);
 48.2625      int start = ((Integer)condList[2].get(0)).intValue();
 48.2626      IfStatement ifStatement = new IfStatement(tokenleft, endright, firstCondition, trueStatement, falseStatement);		
 48.2627 -	
 48.2628 +
 48.2629      RESULT = ifStatement;
 48.2630  
 48.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);
 48.2632 @@ -5835,18 +5815,15 @@
 48.2633            case 277: // assignment_statement ::= name ASSIGNMENT expression SEMICOLON 
 48.2634              {
 48.2635                Statement RESULT =null;
 48.2636 -		int varleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
 48.2637 -		int varright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
 48.2638 -		String var = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 48.2639 -		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2640 -		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2641 -		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2642 -		
 48.2643 -    System.out.println ("assignment_statement ::= var => " + var);
 48.2644 -    System.out.println ("assignment_statement ::= expr => " + expr);
 48.2645 -    Identifier id = new Identifier(varleft, varright, var);
 48.2646 -    Variable variable = new Variable (varleft, varright, (Identifier)id);
 48.2647 -    Assignment assignment = new Assignment(varleft, exprright, variable, expr);
 48.2648 +		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
 48.2649 +		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
 48.2650 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 48.2651 +		int expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2652 +		int expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2653 +		Expression expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2654 +		
 48.2655 +    Variable variable = new Variable (nameleft, nameright, name);
 48.2656 +    Assignment assignment = new Assignment(nameleft, expressionright, variable, expression);
 48.2657      RESULT = assignment;
 48.2658  
 48.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);
 48.2660 @@ -6240,13 +6217,12 @@
 48.2661                Expression RESULT =null;
 48.2662  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.2663  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.2664 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2665 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2666  		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2667  		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2668  		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2669  		
 48.2670 -    Identifier subtypeMark = new Identifier (nameleft, nameright, name);
 48.2671 -    RESULT = new QualifiedExpression (nameleft, exprright, subtypeMark, expr);
 48.2672 +    RESULT = new QualifiedExpression (nameleft, exprright, name, expr);
 48.2673  
 48.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);
 48.2675              }
 48.2676 @@ -6256,11 +6232,11 @@
 48.2677            case 246: // parenthesized_primary ::= LPAREN expression RPAREN 
 48.2678              {
 48.2679                Expression RESULT =null;
 48.2680 -		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2681 -		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2682 -		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2683 -		
 48.2684 -    RESULT = expr;
 48.2685 +		int expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2686 +		int expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2687 +		Expression expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2688 +		
 48.2689 +    RESULT = expression;
 48.2690  
 48.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);
 48.2692              }
 48.2693 @@ -6279,12 +6255,11 @@
 48.2694            case 244: // primary ::= parenthesized_primary 
 48.2695              {
 48.2696                Expression RESULT =null;
 48.2697 -		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2698 -		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2699 -		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2700 -		
 48.2701 -    System.out.println ("primary ::= parenthesized_primary => " + expr);
 48.2702 -    RESULT = expr;
 48.2703 +		int parenthesized_primaryleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2704 +		int parenthesized_primaryright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2705 +		Expression parenthesized_primary = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2706 +		
 48.2707 +    RESULT = parenthesized_primary;
 48.2708  
 48.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);
 48.2710              }
 48.2711 @@ -6294,12 +6269,11 @@
 48.2712            case 243: // primary ::= qualified_expression 
 48.2713              {
 48.2714                Expression RESULT =null;
 48.2715 -		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2716 -		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2717 -		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2718 -		
 48.2719 -    System.out.println ("primary ::= qualified_expression => " + expr);
 48.2720 -    RESULT = expr;
 48.2721 +		int qualified_expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2722 +		int qualified_expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2723 +		Expression qualified_expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2724 +		
 48.2725 +    RESULT = qualified_expression;
 48.2726  
 48.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);
 48.2728              }
 48.2729 @@ -6320,11 +6294,11 @@
 48.2730                Expression RESULT =null;
 48.2731  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2732  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2733 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2734 -		
 48.2735 -    System.out.println ("primary ::= name => " + name);
 48.2736 -    Scalar scalar = new Scalar(nameleft, nameright, name, Scalar.Type.STRING);
 48.2737 -    RESULT = scalar;
 48.2738 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2739 +		
 48.2740 +// TODO: must be modified for manage all primery types
 48.2741 +    Variable variable = new Variable (nameleft, nameright, name);
 48.2742 +    RESULT = variable;
 48.2743  
 48.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);
 48.2745              }
 48.2746 @@ -6338,7 +6312,6 @@
 48.2747  		int literalright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2748  		Expression literal = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2749  		
 48.2750 -    System.out.println ("primary ::= literal => " + literal);
 48.2751      RESULT = literal;
 48.2752  
 48.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);
 48.2754 @@ -6349,60 +6322,93 @@
 48.2755            case 239: // factor ::= primary EXPON primary 
 48.2756              {
 48.2757                Expression RESULT =null;
 48.2758 +		int primary1left = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.2759 +		int primary1right = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.2760 +		Expression primary1 = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2761 +		int primary2left = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2762 +		int primary2right = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2763 +		Expression primary2 = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2764 +		
 48.2765 +    InfixExpression infixExpression = new InfixExpression(primary1left, primary2right, primary1, InfixExpression.OperatorType.EXPON, primary2);
 48.2766 +    RESULT = infixExpression;
 48.2767 +
 48.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);
 48.2769 +            }
 48.2770 +          return CUP$Ada95ASTParser$result;
 48.2771 +
 48.2772 +          /*. . . . . . . . . . . . . . . . . . . .*/
 48.2773 +          case 238: // factor ::= ABS primary 
 48.2774 +            {
 48.2775 +              Expression RESULT =null;
 48.2776 +		int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2777 +		int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2778 +		Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2779 +		int primaryleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2780 +		int primaryright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2781 +		Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2782 +		
 48.2783 +    UnaryOperation unaryOperation = new UnaryOperation(tokenleft, primaryright, primary, UnaryOperation.Operator.ABS);
 48.2784 +    RESULT = unaryOperation;
 48.2785 +
 48.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);
 48.2787 +            }
 48.2788 +          return CUP$Ada95ASTParser$result;
 48.2789 +
 48.2790 +          /*. . . . . . . . . . . . . . . . . . . .*/
 48.2791 +          case 237: // factor ::= NOT primary 
 48.2792 +            {
 48.2793 +              Expression RESULT =null;
 48.2794 +		int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2795 +		int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2796 +		Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2797 +		int primaryleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2798 +		int primaryright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2799 +		Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2800 +		
 48.2801 +    UnaryOperation unaryOperation = new UnaryOperation(tokenleft, primaryright, primary, UnaryOperation.Operator.NOT);
 48.2802 +    RESULT = unaryOperation;
 48.2803 +
 48.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);
 48.2805 +            }
 48.2806 +          return CUP$Ada95ASTParser$result;
 48.2807 +
 48.2808 +          /*. . . . . . . . . . . . . . . . . . . .*/
 48.2809 +          case 236: // factor ::= primary 
 48.2810 +            {
 48.2811 +              Expression RESULT =null;
 48.2812  		int primaryleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2813  		int primaryright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2814  		Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2815  		
 48.2816      RESULT = primary;
 48.2817  
 48.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);
 48.2819 -            }
 48.2820 -          return CUP$Ada95ASTParser$result;
 48.2821 -
 48.2822 -          /*. . . . . . . . . . . . . . . . . . . .*/
 48.2823 -          case 238: // factor ::= ABS primary 
 48.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);
 48.2825 +            }
 48.2826 +          return CUP$Ada95ASTParser$result;
 48.2827 +
 48.2828 +          /*. . . . . . . . . . . . . . . . . . . .*/
 48.2829 +          case 235: // term ::= term multiplying_operator factor 
 48.2830              {
 48.2831                Expression RESULT =null;
 48.2832 -		int primaryleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2833 -		int primaryright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2834 -		Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2835 -		
 48.2836 -    RESULT = primary;
 48.2837 -
 48.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);
 48.2839 -            }
 48.2840 -          return CUP$Ada95ASTParser$result;
 48.2841 -
 48.2842 -          /*. . . . . . . . . . . . . . . . . . . .*/
 48.2843 -          case 237: // factor ::= NOT primary 
 48.2844 -            {
 48.2845 -              Expression RESULT =null;
 48.2846 -		int primaryleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2847 -		int primaryright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2848 -		Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2849 -		
 48.2850 -    RESULT = primary;
 48.2851 -
 48.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);
 48.2853 -            }
 48.2854 -          return CUP$Ada95ASTParser$result;
 48.2855 -
 48.2856 -          /*. . . . . . . . . . . . . . . . . . . .*/
 48.2857 -          case 236: // factor ::= primary 
 48.2858 -            {
 48.2859 -              Expression RESULT =null;
 48.2860 -		int primaryleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2861 -		int primaryright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2862 -		Expression primary = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2863 -		
 48.2864 -    RESULT = primary;
 48.2865 -
 48.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);
 48.2867 -            }
 48.2868 -          return CUP$Ada95ASTParser$result;
 48.2869 -
 48.2870 -          /*. . . . . . . . . . . . . . . . . . . .*/
 48.2871 -          case 235: // term ::= term multiplying_operator factor 
 48.2872 +		int termleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.2873 +		int termright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.2874 +		Expression term = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2875 +		int multiplying_operatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2876 +		int multiplying_operatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2877 +		InfixExpression.OperatorType multiplying_operator = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2878 +		int factorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2879 +		int factorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2880 +		Expression factor = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2881 +		
 48.2882 +    InfixExpression infixExpression = new InfixExpression(termleft, factorright, term, multiplying_operator, factor);
 48.2883 +    RESULT = infixExpression;
 48.2884 +
 48.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);
 48.2886 +            }
 48.2887 +          return CUP$Ada95ASTParser$result;
 48.2888 +
 48.2889 +          /*. . . . . . . . . . . . . . . . . . . .*/
 48.2890 +          case 234: // term ::= factor 
 48.2891              {
 48.2892                Expression RESULT =null;
 48.2893  		int factorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2894 @@ -6411,39 +6417,26 @@
 48.2895  		
 48.2896      RESULT = factor;
 48.2897  
 48.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);
 48.2899 -            }
 48.2900 -          return CUP$Ada95ASTParser$result;
 48.2901 -
 48.2902 -          /*. . . . . . . . . . . . . . . . . . . .*/
 48.2903 -          case 234: // term ::= factor 
 48.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);
 48.2905 +            }
 48.2906 +          return CUP$Ada95ASTParser$result;
 48.2907 +
 48.2908 +          /*. . . . . . . . . . . . . . . . . . . .*/
 48.2909 +          case 233: // simple_expression ::= simple_expression binary_adding_operator term 
 48.2910              {
 48.2911                Expression RESULT =null;
 48.2912 -		int factorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2913 -		int factorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2914 -		Expression factor = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2915 -		
 48.2916 -    RESULT = factor;
 48.2917 -
 48.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);
 48.2919 -            }
 48.2920 -          return CUP$Ada95ASTParser$result;
 48.2921 -
 48.2922 -          /*. . . . . . . . . . . . . . . . . . . .*/
 48.2923 -          case 233: // simple_expression ::= simple_expression binary_adding_operator term 
 48.2924 -            {
 48.2925 -              Expression RESULT =null;
 48.2926 -		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.2927 -		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.2928 -		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2929 -		int opleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2930 -		int opright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2931 -		UnaryOperation.Operator op = (UnaryOperation.Operator)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2932 +		int simple_expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.2933 +		int simple_expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.2934 +		Expression simple_expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2935 +		int binary_adding_operatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2936 +		int binary_adding_operatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2937 +		InfixExpression.OperatorType binary_adding_operator = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2938  		int termleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2939  		int termright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2940  		Expression term = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2941  		
 48.2942 -	RESULT = new UnaryOperation(exprleft, termright, term, op);
 48.2943 +    InfixExpression infixExpression = new InfixExpression(simple_expressionleft, termright, simple_expression, binary_adding_operator, term);
 48.2944 +    RESULT = infixExpression;
 48.2945  
 48.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);
 48.2947              }
 48.2948 @@ -6467,14 +6460,15 @@
 48.2949            case 231: // simple_expression ::= unary_adding_operator term 
 48.2950              {
 48.2951                Expression RESULT =null;
 48.2952 -		int opleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2953 -		int opright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2954 -		UnaryOperation.Operator op = (UnaryOperation.Operator)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2955 +		int unary_adding_operatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2956 +		int unary_adding_operatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2957 +		UnaryOperation.Operator unary_adding_operator = (UnaryOperation.Operator)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2958  		int termleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2959  		int termright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2960  		Expression term = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2961  		
 48.2962 -	RESULT = new UnaryOperation(opleft, termright, term, op);
 48.2963 +    UnaryOperation unaryOperation = new UnaryOperation(unary_adding_operatorleft, termright, term, unary_adding_operator);
 48.2964 +    RESULT = unaryOperation;
 48.2965  
 48.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);
 48.2967              }
 48.2968 @@ -6484,11 +6478,18 @@
 48.2969            case 230: // relation ::= simple_expression membership name 
 48.2970              {
 48.2971                Expression RESULT =null;
 48.2972 -		int simple_exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.2973 -		int simple_exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.2974 -		Expression simple_expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2975 -		
 48.2976 -    RESULT = simple_expr;
 48.2977 +		int simple_expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.2978 +		int simple_expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.2979 +		Expression simple_expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2980 +		int membershipleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.2981 +		int membershipright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.2982 +		InfixExpression.OperatorType membership = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.2983 +		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.2984 +		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.2985 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.2986 +		
 48.2987 +    InfixExpression infixExpression = new InfixExpression(simple_expressionleft, nameright, simple_expression, membership, name);
 48.2988 +    RESULT = infixExpression;
 48.2989  
 48.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);
 48.2991              }
 48.2992 @@ -6498,11 +6499,18 @@
 48.2993            case 229: // relation ::= simple_expression membership range 
 48.2994              {
 48.2995                Expression RESULT =null;
 48.2996 -		int simple_exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.2997 -		int simple_exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.2998 -		Expression simple_expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.2999 -		
 48.3000 -    RESULT = simple_expr;
 48.3001 +		int simple_expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.3002 +		int simple_expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.3003 +		Expression simple_expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3004 +		int membershipleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.3005 +		int membershipright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.3006 +		InfixExpression.OperatorType membership = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.3007 +		int rangeleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3008 +		int rangeright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3009 +		Expression range = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3010 +		
 48.3011 +    InfixExpression infixExpression = new InfixExpression(simple_expressionleft, rangeright, simple_expression, membership, range);
 48.3012 +    RESULT = infixExpression;
 48.3013  
 48.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);
 48.3015              }
 48.3016 @@ -6512,11 +6520,18 @@
 48.3017            case 228: // relation ::= simple_expression relational_operator simple_expression 
 48.3018              {
 48.3019                Expression RESULT =null;
 48.3020 -		int simple_exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.3021 -		int simple_exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.3022 -		Expression simple_expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3023 -		
 48.3024 -    RESULT = simple_expr;
 48.3025 +		int simple_expression1left = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.3026 +		int simple_expression1right = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.3027 +		Expression simple_expression1 = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3028 +		int relational_operatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.3029 +		int relational_operatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.3030 +		InfixExpression.OperatorType relational_operator = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.3031 +		int simple_expression2left = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3032 +		int simple_expression2right = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3033 +		Expression simple_expression2 = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3034 +		
 48.3035 +    InfixExpression infixExpression = new InfixExpression(simple_expression1left, simple_expression2right, simple_expression1, relational_operator, simple_expression2);
 48.3036 +    RESULT = infixExpression;
 48.3037  
 48.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);
 48.3039              }
 48.3040 @@ -6526,11 +6541,11 @@
 48.3041            case 227: // relation ::= simple_expression 
 48.3042              {
 48.3043                Expression RESULT =null;
 48.3044 -		int simple_exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3045 -		int simple_exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3046 -		Expression simple_expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3047 -		
 48.3048 -    RESULT = simple_expr;
 48.3049 +		int simple_expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3050 +		int simple_expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3051 +		Expression simple_expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3052 +		
 48.3053 +    RESULT = simple_expression;
 48.3054  
 48.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);
 48.3056              }
 48.3057 @@ -6540,16 +6555,18 @@
 48.3058            case 226: // expression ::= expression short_circuit relation 
 48.3059              {
 48.3060                Expression RESULT =null;
 48.3061 -		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.3062 -		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.3063 -		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3064 -		int relleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3065 -		int relright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3066 -		Expression rel = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3067 -		
 48.3068 -    System.out.println ("expression ::= expression => " + expr);
 48.3069 -    System.out.println ("expression ::= relation => " + rel);
 48.3070 -	RESULT = expr;
 48.3071 +		int expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.3072 +		int expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.3073 +		Expression expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3074 +		int short_circuitleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.3075 +		int short_circuitright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.3076 +		InfixExpression.OperatorType short_circuit = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.3077 +		int relationleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3078 +		int relationright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3079 +		Expression relation = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3080 +		
 48.3081 +    InfixExpression infixExpression = new InfixExpression(expressionleft, relationright, expression, short_circuit, relation);
 48.3082 +    RESULT = infixExpression;
 48.3083  
 48.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);
 48.3085              }
 48.3086 @@ -6559,16 +6576,18 @@
 48.3087            case 225: // expression ::= expression logical_operator relation 
 48.3088              {
 48.3089                Expression RESULT =null;
 48.3090 -		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.3091 -		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.3092 -		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3093 -		int relleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3094 -		int relright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3095 -		Expression rel = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3096 -		
 48.3097 -    System.out.println ("expression ::= expression => " + expr);
 48.3098 -    System.out.println ("expression ::= relation => " + rel);
 48.3099 -	RESULT = expr;
 48.3100 +		int expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.3101 +		int expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.3102 +		Expression expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3103 +		int logical_operatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.3104 +		int logical_operatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.3105 +		InfixExpression.OperatorType logical_operator = (InfixExpression.OperatorType)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.3106 +		int relationleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3107 +		int relationright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3108 +		Expression relation = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3109 +		
 48.3110 +    InfixExpression infixExpression = new InfixExpression(expressionleft, relationright, expression, logical_operator, relation);
 48.3111 +    RESULT = infixExpression;
 48.3112  
 48.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);
 48.3114              }
 48.3115 @@ -6578,12 +6597,11 @@
 48.3116            case 224: // expression ::= relation 
 48.3117              {
 48.3118                Expression RESULT =null;
 48.3119 -		int relleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3120 -		int relright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3121 -		Expression rel = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3122 -		
 48.3123 -    System.out.println ("expression ::= relation => " + rel);
 48.3124 -	RESULT = rel;
 48.3125 +		int relationleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3126 +		int relationright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3127 +		Expression relation = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3128 +		
 48.3129 +    RESULT = relation;
 48.3130  
 48.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);
 48.3132              }
 48.3133 @@ -6592,7 +6610,9 @@
 48.3134            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3135            case 223: // multiplying_operator ::= REM 
 48.3136              {
 48.3137 -              String RESULT =null;
 48.3138 +              InfixExpression.OperatorType RESULT =null;
 48.3139 +		
 48.3140 +    RESULT = InfixExpression.OperatorType.REM;
 48.3141  
 48.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);
 48.3143              }
 48.3144 @@ -6601,7 +6621,9 @@
 48.3145            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3146            case 222: // multiplying_operator ::= MOD 
 48.3147              {
 48.3148 -              String RESULT =null;
 48.3149 +              InfixExpression.OperatorType RESULT =null;
 48.3150 +		
 48.3151 +    RESULT = InfixExpression.OperatorType.MOD;
 48.3152  
 48.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);
 48.3154              }
 48.3155 @@ -6610,7 +6632,9 @@
 48.3156            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3157            case 221: // multiplying_operator ::= SLASH 
 48.3158              {
 48.3159 -              String RESULT =null;
 48.3160 +              InfixExpression.OperatorType RESULT =null;
 48.3161 +		
 48.3162 +    RESULT = InfixExpression.OperatorType.DIV;
 48.3163  
 48.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);
 48.3165              }
 48.3166 @@ -6619,7 +6643,9 @@
 48.3167            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3168            case 220: // multiplying_operator ::= STAR 
 48.3169              {
 48.3170 -              String RESULT =null;
 48.3171 +              InfixExpression.OperatorType RESULT =null;
 48.3172 +		
 48.3173 +    RESULT = InfixExpression.OperatorType.MUL;
 48.3174  
 48.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);
 48.3176              }
 48.3177 @@ -6628,80 +6654,86 @@
 48.3178            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3179            case 219: // binary_adding_operator ::= AMP 
 48.3180              {
 48.3181 +              InfixExpression.OperatorType RESULT =null;
 48.3182 +		
 48.3183 +    RESULT = InfixExpression.OperatorType.STRING_AND;
 48.3184 +
 48.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);
 48.3186 +            }
 48.3187 +          return CUP$Ada95ASTParser$result;
 48.3188 +
 48.3189 +          /*. . . . . . . . . . . . . . . . . . . .*/
 48.3190 +          case 218: // binary_adding_operator ::= MINUS 
 48.3191 +            {
 48.3192 +              InfixExpression.OperatorType RESULT =null;
 48.3193 +		
 48.3194 +    RESULT = InfixExpression.OperatorType.MINUS;
 48.3195 +
 48.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);
 48.3197 +            }
 48.3198 +          return CUP$Ada95ASTParser$result;
 48.3199 +
 48.3200 +          /*. . . . . . . . . . . . . . . . . . . .*/
 48.3201 +          case 217: // binary_adding_operator ::= PLUS 
 48.3202 +            {
 48.3203 +              InfixExpression.OperatorType RESULT =null;
 48.3204 +		
 48.3205 +    RESULT = InfixExpression.OperatorType.PLUS;
 48.3206 +
 48.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);
 48.3208 +            }
 48.3209 +          return CUP$Ada95ASTParser$result;
 48.3210 +
 48.3211 +          /*. . . . . . . . . . . . . . . . . . . .*/
 48.3212 +          case 216: // unary_adding_operator ::= MINUS 
 48.3213 +            {
 48.3214                UnaryOperation.Operator RESULT =null;
 48.3215  		
 48.3216 -    RESULT = UnaryOperation.Operator.AMP;
 48.3217 -
 48.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);
 48.3219 -            }
 48.3220 -          return CUP$Ada95ASTParser$result;
 48.3221 -
 48.3222 -          /*. . . . . . . . . . . . . . . . . . . .*/
 48.3223 -          case 218: // binary_adding_operator ::= MINUS 
 48.3224 +    RESULT = UnaryOperation.Operator.MINUS;
 48.3225 +
 48.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);
 48.3227 +            }
 48.3228 +          return CUP$Ada95ASTParser$result;
 48.3229 +
 48.3230 +          /*. . . . . . . . . . . . . . . . . . . .*/
 48.3231 +          case 215: // unary_adding_operator ::= PLUS 
 48.3232              {
 48.3233                UnaryOperation.Operator RESULT =null;
 48.3234  		
 48.3235 -    RESULT = UnaryOperation.Operator.MINUS;
 48.3236 -
 48.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);
 48.3238 -            }
 48.3239 -          return CUP$Ada95ASTParser$result;
 48.3240 -
 48.3241 -          /*. . . . . . . . . . . . . . . . . . . .*/
 48.3242 -          case 217: // binary_adding_operator ::= PLUS 
 48.3243 -            {
 48.3244 -              UnaryOperation.Operator RESULT =null;
 48.3245 -		
 48.3246      RESULT = UnaryOperation.Operator.PLUS;
 48.3247  
 48.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);
 48.3249 -            }
 48.3250 -          return CUP$Ada95ASTParser$result;
 48.3251 -
 48.3252 -          /*. . . . . . . . . . . . . . . . . . . .*/
 48.3253 -          case 216: // unary_adding_operator ::= MINUS 
 48.3254 -            {
 48.3255 -              UnaryOperation.Operator RESULT =null;
 48.3256 -		
 48.3257 -    RESULT = UnaryOperation.Operator.MINUS;
 48.3258 -
 48.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);
 48.3260              }
 48.3261            return CUP$Ada95ASTParser$result;
 48.3262  
 48.3263            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3264 -          case 215: // unary_adding_operator ::= PLUS 
 48.3265 -            {
 48.3266 -              UnaryOperation.Operator RESULT =null;
 48.3267 -		
 48.3268 -    RESULT = UnaryOperation.Operator.PLUS;
 48.3269 -
 48.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);
 48.3271 -            }
 48.3272 -          return CUP$Ada95ASTParser$result;
 48.3273 -
 48.3274 -          /*. . . . . . . . . . . . . . . . . . . .*/
 48.3275            case 214: // membership ::= NOT IN 
 48.3276              {
 48.3277 -              Object RESULT =null;
 48.3278 -
 48.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);
 48.3280 +              InfixExpression.OperatorType RESULT =null;
 48.3281 +		
 48.3282 +    RESULT = InfixExpression.OperatorType.NOT_IN;
 48.3283 +
 48.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);
 48.3285              }
 48.3286            return CUP$Ada95ASTParser$result;
 48.3287  
 48.3288            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3289            case 213: // membership ::= IN 
 48.3290              {
 48.3291 -              Object RESULT =null;
 48.3292 -
 48.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);
 48.3294 +              InfixExpression.OperatorType RESULT =null;
 48.3295 +		
 48.3296 +    RESULT = InfixExpression.OperatorType.IN;
 48.3297 +
 48.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);
 48.3299              }
 48.3300            return CUP$Ada95ASTParser$result;
 48.3301  
 48.3302            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3303            case 212: // relational_operator ::= GTEQ 
 48.3304              {
 48.3305 -              String RESULT =null;
 48.3306 +              InfixExpression.OperatorType RESULT =null;
 48.3307 +		
 48.3308 +    RESULT = InfixExpression.OperatorType.IS_GREATER_OR_EQUAL;
 48.3309  
 48.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);
 48.3311              }
 48.3312 @@ -6710,7 +6742,9 @@
 48.3313            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3314            case 211: // relational_operator ::= LT 
 48.3315              {
 48.3316 -              String RESULT =null;
 48.3317 +              InfixExpression.OperatorType RESULT =null;
 48.3318 +		
 48.3319 +    RESULT = InfixExpression.OperatorType.LGREATER;
 48.3320  
 48.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);
 48.3322              }
 48.3323 @@ -6719,7 +6753,9 @@
 48.3324            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3325            case 210: // relational_operator ::= LTEQ 
 48.3326              {
 48.3327 -              String RESULT =null;
 48.3328 +              InfixExpression.OperatorType RESULT =null;
 48.3329 +		
 48.3330 +    RESULT = InfixExpression.OperatorType.IS_SMALLER_OR_EQUAL;
 48.3331  
 48.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);
 48.3333              }
 48.3334 @@ -6728,7 +6764,9 @@
 48.3335            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3336            case 209: // relational_operator ::= GT 
 48.3337              {
 48.3338 -              String RESULT =null;
 48.3339 +              InfixExpression.OperatorType RESULT =null;
 48.3340 +		
 48.3341 +    RESULT = InfixExpression.OperatorType.RGREATER;
 48.3342  
 48.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);
 48.3344              }
 48.3345 @@ -6737,7 +6775,9 @@
 48.3346            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3347            case 208: // relational_operator ::= INEQ 
 48.3348              {
 48.3349 -              String RESULT =null;
 48.3350 +              InfixExpression.OperatorType RESULT =null;
 48.3351 +		
 48.3352 +    RESULT = InfixExpression.OperatorType.IS_NOT_EQUAL;
 48.3353  
 48.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);
 48.3355              }
 48.3356 @@ -6746,7 +6786,9 @@
 48.3357            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3358            case 207: // relational_operator ::= EQ 
 48.3359              {
 48.3360 -              String RESULT =null;
 48.3361 +              InfixExpression.OperatorType RESULT =null;
 48.3362 +		
 48.3363 +    RESULT = InfixExpression.OperatorType.IS_EQUAL;
 48.3364  
 48.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);
 48.3366              }
 48.3367 @@ -6755,25 +6797,31 @@
 48.3368            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3369            case 206: // short_circuit ::= OR ELSE 
 48.3370              {
 48.3371 -              Object RESULT =null;
 48.3372 -
 48.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);
 48.3374 +              InfixExpression.OperatorType RESULT =null;
 48.3375 +		
 48.3376 +    RESULT = InfixExpression.OperatorType.BOOL_AND;
 48.3377 +
 48.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);
 48.3379              }
 48.3380            return CUP$Ada95ASTParser$result;
 48.3381  
 48.3382            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3383            case 205: // short_circuit ::= AND THEN 
 48.3384              {
 48.3385 -              Object RESULT =null;
 48.3386 -
 48.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);
 48.3388 +              InfixExpression.OperatorType RESULT =null;
 48.3389 +		
 48.3390 +    RESULT = InfixExpression.OperatorType.BOOL_OR;
 48.3391 +
 48.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);
 48.3393              }
 48.3394            return CUP$Ada95ASTParser$result;
 48.3395  
 48.3396            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3397            case 204: // logical_operator ::= XOR 
 48.3398              {
 48.3399 -              String RESULT =null;
 48.3400 +              InfixExpression.OperatorType RESULT =null;
 48.3401 +		
 48.3402 +    RESULT = InfixExpression.OperatorType.BOOL_XOR;
 48.3403  
 48.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);
 48.3405              }
 48.3406 @@ -6782,7 +6830,9 @@
 48.3407            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3408            case 203: // logical_operator ::= OR 
 48.3409              {
 48.3410 -              String RESULT =null;
 48.3411 +              InfixExpression.OperatorType RESULT =null;
 48.3412 +		
 48.3413 +    RESULT = InfixExpression.OperatorType.BOOL_OR;
 48.3414  
 48.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);
 48.3416              }
 48.3417 @@ -6791,7 +6841,9 @@
 48.3418            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3419            case 202: // logical_operator ::= AND 
 48.3420              {
 48.3421 -              String RESULT =null;
 48.3422 +              InfixExpression.OperatorType RESULT =null;
 48.3423 +		
 48.3424 +    RESULT = InfixExpression.OperatorType.BOOL_AND;
 48.3425  
 48.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);
 48.3427              }
 48.3428 @@ -6802,7 +6854,7 @@
 48.3429              {
 48.3430                Object RESULT =null;
 48.3431  
 48.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);
 48.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);
 48.3434              }
 48.3435            return CUP$Ada95ASTParser$result;
 48.3436  
 48.3437 @@ -6811,7 +6863,7 @@
 48.3438              {
 48.3439                Object RESULT =null;
 48.3440  
 48.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);
 48.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);
 48.3443              }
 48.3444            return CUP$Ada95ASTParser$result;
 48.3445  
 48.3446 @@ -6820,7 +6872,7 @@
 48.3447              {
 48.3448                Object RESULT =null;
 48.3449  
 48.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);
 48.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);
 48.3452              }
 48.3453            return CUP$Ada95ASTParser$result;
 48.3454  
 48.3455 @@ -6829,7 +6881,7 @@
 48.3456              {
 48.3457                Object RESULT =null;
 48.3458  
 48.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);
 48.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);
 48.3461              }
 48.3462            return CUP$Ada95ASTParser$result;
 48.3463  
 48.3464 @@ -6838,7 +6890,7 @@
 48.3465              {
 48.3466                Object RESULT =null;
 48.3467  
 48.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);
 48.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);
 48.3470              }
 48.3471            return CUP$Ada95ASTParser$result;
 48.3472  
 48.3473 @@ -6847,7 +6899,7 @@
 48.3474              {
 48.3475                Object RESULT =null;
 48.3476  
 48.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);
 48.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);
 48.3479              }
 48.3480            return CUP$Ada95ASTParser$result;
 48.3481  
 48.3482 @@ -6856,7 +6908,7 @@
 48.3483              {
 48.3484                Object RESULT =null;
 48.3485  
 48.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);
 48.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);
 48.3488              }
 48.3489            return CUP$Ada95ASTParser$result;
 48.3490  
 48.3491 @@ -6865,7 +6917,7 @@
 48.3492              {
 48.3493                Object RESULT =null;
 48.3494  
 48.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);
 48.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);
 48.3497              }
 48.3498            return CUP$Ada95ASTParser$result;
 48.3499  
 48.3500 @@ -6873,6 +6925,12 @@
 48.3501            case 193: // literal ::= NULL 
 48.3502              {
 48.3503                Expression RESULT =null;
 48.3504 +		int tokenleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3505 +		int tokenright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3506 +		Object token = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3507 +		
 48.3508 +    Scalar scalar = new Scalar(tokenleft, tokenright, "null", Scalar.Type.SYSTEM);
 48.3509 +    RESULT = scalar;
 48.3510  
 48.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);
 48.3512              }
 48.3513 @@ -6886,8 +6944,8 @@
 48.3514  		int usedCharright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3515  		String usedChar = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3516  		
 48.3517 -	Scalar scalar = new Scalar(usedCharleft, usedCharright, usedChar, Scalar.Type.STRING);
 48.3518 -	RESULT = scalar;
 48.3519 +    Scalar scalar = new Scalar(usedCharleft, usedCharright, usedChar, Scalar.Type.STRING);
 48.3520 +    RESULT = scalar;
 48.3521  
 48.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);
 48.3523              }
 48.3524 @@ -6901,8 +6959,8 @@
 48.3525  		int decright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3526  		String dec = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3527  		
 48.3528 -	Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
 48.3529 -	RESULT = scalar;
 48.3530 +    Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
 48.3531 +    RESULT = scalar;
 48.3532  
 48.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);
 48.3534              }
 48.3535 @@ -6916,8 +6974,8 @@
 48.3536  		int decright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3537  		String dec = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3538  		
 48.3539 -	Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
 48.3540 -	RESULT = scalar;
 48.3541 +    Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
 48.3542 +    RESULT = scalar;
 48.3543  
 48.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);
 48.3545              }
 48.3546 @@ -6926,46 +6984,46 @@
 48.3547            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3548            case 189: // attribute_id ::= ACCESS 
 48.3549              {
 48.3550 -              Object RESULT =null;
 48.3551 -
 48.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);
 48.3553 +              String RESULT =null;
 48.3554 +
 48.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);
 48.3556              }
 48.3557            return CUP$Ada95ASTParser$result;
 48.3558  
 48.3559            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3560            case 188: // attribute_id ::= DELTA 
 48.3561              {
 48.3562 -              Object RESULT =null;
 48.3563 -
 48.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);
 48.3565 +              String RESULT =null;
 48.3566 +
 48.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);
 48.3568              }
 48.3569            return CUP$Ada95ASTParser$result;
 48.3570  
 48.3571            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3572            case 187: // attribute_id ::= DIGITS 
 48.3573              {
 48.3574 -              Object RESULT =null;
 48.3575 -
 48.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);
 48.3577 +              String RESULT =null;
 48.3578 +
 48.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);
 48.3580              }
 48.3581            return CUP$Ada95ASTParser$result;
 48.3582  
 48.3583            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3584            case 186: // attribute_id ::= IDENTIFIER 
 48.3585              {
 48.3586 -              Object RESULT =null;
 48.3587 -
 48.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);
 48.3589 +              String RESULT =null;
 48.3590 +
 48.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);
 48.3592              }
 48.3593            return CUP$Ada95ASTParser$result;
 48.3594  
 48.3595            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3596            case 185: // attribute ::= name TICK attribute_id 
 48.3597              {
 48.3598 -              String RESULT =null;
 48.3599 +              Identifier RESULT =null;
 48.3600  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.3601  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.3602 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3603 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3604  		
 48.3605      RESULT = name;
 48.3606  
 48.3607 @@ -6976,15 +7034,16 @@
 48.3608            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3609            case 184: // selected_component ::= name DOT ALL 
 48.3610              {
 48.3611 -              String RESULT =null;
 48.3612 +              Identifier RESULT =null;
 48.3613  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.3614  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.3615 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3616 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3617  		int allleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3618  		int allright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3619  		Object all = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3620  		
 48.3621 -    RESULT = name + "." + all;
 48.3622 +    Identifier identifier = new Identifier (nameleft, allright, name.getName() + "." + "all");
 48.3623 +    RESULT = identifier;
 48.3624  
 48.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);
 48.3626              }
 48.3627 @@ -6993,15 +7052,16 @@
 48.3628            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3629            case 183: // selected_component ::= name DOT operator_symbol 
 48.3630              {
 48.3631 -              String RESULT =null;
 48.3632 +              Identifier RESULT =null;
 48.3633  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.3634  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.3635 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3636 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3637  		int operatorleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3638  		int operatorright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3639 -		String operator = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3640 -		
 48.3641 -    RESULT = name + "." + operator;
 48.3642 +		Identifier operator = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3643 +		
 48.3644 +    Identifier identifier = new Identifier (nameleft, operatorright, name.getName() + "." + operator.getName());
 48.3645 +    RESULT = identifier;
 48.3646  
 48.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);
 48.3648              }
 48.3649 @@ -7010,15 +7070,16 @@
 48.3650            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3651            case 182: // selected_component ::= name DOT used_char 
 48.3652              {
 48.3653 -              String RESULT =null;
 48.3654 +              Identifier RESULT =null;
 48.3655  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.3656  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.3657 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3658 -		int usedCharleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3659 -		int usedCharright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3660 -		String usedChar = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3661 -		
 48.3662 -    RESULT = name + "." + usedChar;
 48.3663 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3664 +		int used_charleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3665 +		int used_charright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3666 +		String used_char = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3667 +		
 48.3668 +    Identifier identifier = new Identifier (nameleft, used_charright, name.getName() + "." + used_char);
 48.3669 +    RESULT = identifier;
 48.3670  
 48.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);
 48.3672              }
 48.3673 @@ -7027,15 +7088,16 @@
 48.3674            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3675            case 181: // selected_component ::= name DOT simple_name 
 48.3676              {
 48.3677 -              String RESULT =null;
 48.3678 +              Identifier RESULT =null;
 48.3679  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.3680  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.3681 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3682 -		int simpleNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3683 -		int simpleNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3684 -		String simpleName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3685 -		
 48.3686 -    RESULT = name + "." + simpleName;
 48.3687 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3688 +		int simple_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3689 +		int simple_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3690 +		Identifier simple_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3691 +		
 48.3692 +    Identifier identifier = new Identifier (nameleft, simple_nameright, name.getName() + "." + simple_name.getName());
 48.3693 +    RESULT = identifier;
 48.3694  
 48.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);
 48.3696              }
 48.3697 @@ -7052,7 +7114,7 @@
 48.3698      ASTError error = new ASTError(theErrorleft, theErrorright);
 48.3699      RESULT = error;
 48.3700  
 48.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);
 48.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);
 48.3703              }
 48.3704            return CUP$Ada95ASTParser$result;
 48.3705  
 48.3706 @@ -7061,7 +7123,7 @@
 48.3707              {
 48.3708                Object RESULT =null;
 48.3709  
 48.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);
 48.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);
 48.3712              }
 48.3713            return CUP$Ada95ASTParser$result;
 48.3714  
 48.3715 @@ -7070,7 +7132,7 @@
 48.3716              {
 48.3717                Object RESULT =null;
 48.3718  
 48.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);
 48.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);
 48.3721              }
 48.3722            return CUP$Ada95ASTParser$result;
 48.3723  
 48.3724 @@ -7079,7 +7141,7 @@
 48.3725              {
 48.3726                Object RESULT =null;
 48.3727  
 48.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);
 48.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);
 48.3730              }
 48.3731            return CUP$Ada95ASTParser$result;
 48.3732  
 48.3733 @@ -7102,12 +7164,12 @@
 48.3734            return CUP$Ada95ASTParser$result;
 48.3735  
 48.3736            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3737 -          case 174: // indexed_comp ::= name LPAREN value_s RPAREN 
 48.3738 -            {
 48.3739 -              String RESULT =null;
 48.3740 +          case 174: // indexed_component ::= name LPAREN value_s RPAREN 
 48.3741 +            {
 48.3742 +              Identifier RESULT =null;
 48.3743  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).left;
 48.3744  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).right;
 48.3745 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 48.3746 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-3)).value;
 48.3747  		int indexleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.3748  		int indexright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.3749  		Expression index = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.3750 @@ -7115,14 +7177,9 @@
 48.3751  		int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3752  		Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3753  		
 48.3754 -    System.out.println ("indexed_comp ::= name => " + name);
 48.3755 -    Identifier identifier = new Identifier(nameleft, nameright, name);
 48.3756 -    //Variable variable = new Variable (nameleft, nameright, name);
 48.3757 -	Variable indexedVar = new ArrayAccess(nameleft, endright, identifier, index, ArrayAccess.Type.VARIABLE_ARRAY);
 48.3758 -    //RESULT = indexedVar;
 48.3759      RESULT = name;
 48.3760  
 48.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);
 48.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);
 48.3763              }
 48.3764            return CUP$Ada95ASTParser$result;
 48.3765  
 48.3766 @@ -7149,7 +7206,7 @@
 48.3767  		List nameList = (List)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3768  		int compoundNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3769  		int compoundNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3770 -		String compoundName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3771 +		Identifier compoundName = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3772  		
 48.3773      nameList.add(compoundName);
 48.3774      RESULT = nameList;
 48.3775 @@ -7162,13 +7219,12 @@
 48.3776            case 171: // library_unit_name_list ::= compound_name 
 48.3777              {
 48.3778                List RESULT =null;
 48.3779 -		int compoundNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3780 -		int compoundNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3781 -		String compoundName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3782 +		int compound_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3783 +		int compound_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3784 +		Identifier compound_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3785  		
 48.3786      List nameList = new LinkedList();
 48.3787 -    Identifier id = new Identifier(compoundNameleft, compoundNameright, (String)compoundName);
 48.3788 -    PackageName packageName = new PackageName(compoundNameleft, compoundNameright, id);
 48.3789 +    PackageName packageName = new PackageName(compound_nameleft, compound_nameright, compound_name);
 48.3790      nameList.add(packageName);
 48.3791      RESULT = nameList;
 48.3792  
 48.3793 @@ -7179,15 +7235,15 @@
 48.3794            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3795            case 170: // compound_name ::= compound_name DOT simple_name 
 48.3796              {
 48.3797 -              String RESULT =null;
 48.3798 -		int compoundNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.3799 -		int compoundNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.3800 -		String compoundName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3801 -		int simpleNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3802 -		int simpleNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3803 -		String simpleName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3804 -		
 48.3805 -    RESULT = compoundName + "." + simpleName;
 48.3806 +              Identifier RESULT =null;
 48.3807 +		int compound_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.3808 +		int compound_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.3809 +		Identifier compound_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3810 +		int simple_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3811 +		int simple_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3812 +		Identifier simple_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3813 +		
 48.3814 +    RESULT = simple_name;
 48.3815  
 48.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);
 48.3817              }
 48.3818 @@ -7196,12 +7252,12 @@
 48.3819            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3820            case 169: // compound_name ::= simple_name 
 48.3821              {
 48.3822 -              String RESULT =null;
 48.3823 -		int simpleNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3824 -		int simpleNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3825 -		String simpleName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3826 -		
 48.3827 -    RESULT = simpleName;
 48.3828 +              Identifier RESULT =null;
 48.3829 +		int simple_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3830 +		int simple_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3831 +		Identifier simple_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3832 +		
 48.3833 +    RESULT = simple_name;
 48.3834  
 48.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);
 48.3836              }
 48.3837 @@ -7210,11 +7266,12 @@
 48.3838            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3839            case 168: // simple_name ::= IDENTIFIER 
 48.3840              {
 48.3841 -              String RESULT =null;
 48.3842 -		int identifierleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3843 -		int identifierright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3844 -		String identifier = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3845 -		
 48.3846 +              Identifier RESULT =null;
 48.3847 +		int idleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3848 +		int idright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3849 +		String id = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3850 +		
 48.3851 +    Identifier identifier = new Identifier (idleft, idright, id);
 48.3852      RESULT = identifier;
 48.3853  
 48.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);
 48.3855 @@ -7224,100 +7281,107 @@
 48.3856            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3857            case 167: // subtype_mark ::= subtype_mark DOT simple_name 
 48.3858              {
 48.3859 -              String RESULT =null;
 48.3860 +              NameBase RESULT =null;
 48.3861 +		int subtype_markleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.3862 +		int subtype_markright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.3863 +		NameBase subtype_mark = (NameBase)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3864 +		int simple_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3865 +		int simple_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3866 +		Identifier simple_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3867 +		
 48.3868 +    TypeName typeName = new TypeName (simple_nameleft, simple_nameright, simple_name);
 48.3869 +    Dispatch dispatch = parser.createDispatch(subtype_mark, typeName);
 48.3870 +    RESULT = dispatch;
 48.3871 +
 48.3872 +
 48.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);
 48.3874 +            }
 48.3875 +          return CUP$Ada95ASTParser$result;
 48.3876 +
 48.3877 +          /*. . . . . . . . . . . . . . . . . . . .*/
 48.3878 +          case 166: // subtype_mark ::= subtype_mark TICK attribute_id 
 48.3879 +            {
 48.3880 +              NameBase RESULT =null;
 48.3881  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.3882  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.3883 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3884 -		int simpleNameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3885 -		int simpleNameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3886 -		String simpleName = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3887 -		
 48.3888 -    RESULT = name + "." + simpleName;
 48.3889 +		NameBase name = (NameBase)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3890 +		int idleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3891 +		int idright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3892 +		String id = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3893 +		
 48.3894 +    ((TypeName)name).setAttributeId(id);
 48.3895 +    RESULT = name;
 48.3896  
 48.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);
 48.3898              }
 48.3899            return CUP$Ada95ASTParser$result;
 48.3900  
 48.3901            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3902 -          case 166: // subtype_mark ::= subtype_mark TICK attribute_id 
 48.3903 -            {
 48.3904 -              String RESULT =null;
 48.3905 -		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.3906 -		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.3907 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.3908 -		
 48.3909 -    // TODO: manage the attribute
 48.3910 -    RESULT = name;
 48.3911 -
 48.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);
 48.3913 -            }
 48.3914 -          return CUP$Ada95ASTParser$result;
 48.3915 -
 48.3916 -          /*. . . . . . . . . . . . . . . . . . . .*/
 48.3917            case 165: // subtype_mark ::= simple_name 
 48.3918              {
 48.3919 -              String RESULT =null;
 48.3920 +              NameBase RESULT =null;
 48.3921  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3922  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3923 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3924 -		
 48.3925 -    RESULT = name;
 48.3926 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3927 +		
 48.3928 +    TypeName typeName = new TypeName (nameleft, nameright, name);
 48.3929 +    RESULT = typeName;
 48.3930  
 48.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);
 48.3932              }
 48.3933            return CUP$Ada95ASTParser$result;
 48.3934  
 48.3935            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3936 -          case 164: // name ::= operator_symbol 
 48.3937 -            {
 48.3938 -              String RESULT =null;
 48.3939 -		int opleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3940 -		int opright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3941 -		String op = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3942 -		
 48.3943 -    RESULT = op;
 48.3944 +          case 164: // name ::= attribute 
 48.3945 +            {
 48.3946 +              Identifier RESULT =null;
 48.3947 +		int attributeleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3948 +		int attributeright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3949 +		Identifier attribute = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3950 +		
 48.3951 +    RESULT = attribute;
 48.3952  
 48.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);
 48.3954              }
 48.3955            return CUP$Ada95ASTParser$result;
 48.3956  
 48.3957            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3958 -          case 163: // name ::= attribute 
 48.3959 -            {
 48.3960 -              String RESULT =null;
 48.3961 -		int attrleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3962 -		int attrright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3963 -		String attr = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3964 -		
 48.3965 -    RESULT = attr;
 48.3966 +          case 163: // name ::= selected_component 
 48.3967 +            {
 48.3968 +              Identifier RESULT =null;
 48.3969 +		int selected_componentleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3970 +		int selected_componentright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3971 +		Identifier selected_component = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3972 +		
 48.3973 +    RESULT = selected_component;
 48.3974  
 48.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);
 48.3976              }
 48.3977            return CUP$Ada95ASTParser$result;
 48.3978  
 48.3979            /*. . . . . . . . . . . . . . . . . . . .*/
 48.3980 -          case 162: // name ::= selected_component 
 48.3981 -            {
 48.3982 -              String RESULT =null;
 48.3983 -		int compleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3984 -		int compright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3985 -		String comp = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3986 -		
 48.3987 -    RESULT = comp;
 48.3988 +          case 162: // name ::= indexed_component 
 48.3989 +            {
 48.3990 +              Identifier RESULT =null;
 48.3991 +		int indexed_componentleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.3992 +		int indexed_componentright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.3993 +		Identifier indexed_component = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.3994 +		
 48.3995 +    RESULT = indexed_component;
 48.3996  
 48.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);
 48.3998              }
 48.3999            return CUP$Ada95ASTParser$result;
 48.4000  
 48.4001            /*. . . . . . . . . . . . . . . . . . . .*/
 48.4002 -          case 161: // name ::= indexed_comp 
 48.4003 -            {
 48.4004 -              String RESULT =null;
 48.4005 -		int compleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.4006 -		int compright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.4007 -		String comp = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.4008 -		
 48.4009 -    RESULT = comp;
 48.4010 +          case 161: // name ::= operator_symbol 
 48.4011 +            {
 48.4012 +              Identifier RESULT =null;
 48.4013 +		int operator_symbolleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.4014 +		int operator_symbolright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.4015 +		Identifier operator_symbol = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.4016 +		
 48.4017 +    RESULT = operator_symbol;
 48.4018  
 48.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);
 48.4020              }
 48.4021 @@ -7326,12 +7390,12 @@
 48.4022            /*. . . . . . . . . . . . . . . . . . . .*/
 48.4023            case 160: // name ::= simple_name 
 48.4024              {
 48.4025 -              String RESULT =null;
 48.4026 -		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.4027 -		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.4028 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.4029 -		
 48.4030 -    RESULT = name;
 48.4031 +              Identifier RESULT =null;
 48.4032 +		int simple_nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.4033 +		int simple_nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.4034 +		Identifier simple_name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.4035 +		
 48.4036 +    RESULT = simple_name;
 48.4037  
 48.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);
 48.4039              }
 48.4040 @@ -7459,7 +7523,7 @@
 48.4041  		
 48.4042      RESULT = statement;
 48.4043  
 48.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);
 48.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);
 48.4046              }
 48.4047            return CUP$Ada95ASTParser$result;
 48.4048  
 48.4049 @@ -7473,7 +7537,7 @@
 48.4050  		
 48.4051      RESULT = statement;
 48.4052  
 48.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);
 48.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);
 48.4055              }
 48.4056            return CUP$Ada95ASTParser$result;
 48.4057  
 48.4058 @@ -7703,7 +7767,7 @@
 48.4059              {
 48.4060                Object RESULT =null;
 48.4061  
 48.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);
 48.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);
 48.4064              }
 48.4065            return CUP$Ada95ASTParser$result;
 48.4066  
 48.4067 @@ -7712,7 +7776,7 @@
 48.4068              {
 48.4069                Object RESULT =null;
 48.4070  
 48.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);
 48.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);
 48.4073              }
 48.4074            return CUP$Ada95ASTParser$result;
 48.4075  
 48.4076 @@ -7721,7 +7785,7 @@
 48.4077              {
 48.4078                Object RESULT =null;
 48.4079  
 48.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);
 48.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);
 48.4082              }
 48.4083            return CUP$Ada95ASTParser$result;
 48.4084  
 48.4085 @@ -7730,7 +7794,7 @@
 48.4086              {
 48.4087                Object RESULT =null;
 48.4088  
 48.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);
 48.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);
 48.4091              }
 48.4092            return CUP$Ada95ASTParser$result;
 48.4093  
 48.4094 @@ -7739,7 +7803,7 @@
 48.4095              {
 48.4096                Object RESULT =null;
 48.4097  
 48.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);
 48.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);
 48.4100              }
 48.4101            return CUP$Ada95ASTParser$result;
 48.4102  
 48.4103 @@ -7748,7 +7812,7 @@
 48.4104              {
 48.4105                Object RESULT =null;
 48.4106  
 48.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);
 48.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);
 48.4109              }
 48.4110            return CUP$Ada95ASTParser$result;
 48.4111  
 48.4112 @@ -7757,7 +7821,7 @@
 48.4113              {
 48.4114                Object RESULT =null;
 48.4115  
 48.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);
 48.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);
 48.4118              }
 48.4119            return CUP$Ada95ASTParser$result;
 48.4120  
 48.4121 @@ -7766,7 +7830,7 @@
 48.4122              {
 48.4123                Object RESULT =null;
 48.4124  
 48.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);
 48.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);
 48.4127              }
 48.4128            return CUP$Ada95ASTParser$result;
 48.4129  
 48.4130 @@ -7775,7 +7839,7 @@
 48.4131              {
 48.4132                Object RESULT =null;
 48.4133  
 48.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);
 48.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);
 48.4136              }
 48.4137            return CUP$Ada95ASTParser$result;
 48.4138  
 48.4139 @@ -7784,7 +7848,7 @@
 48.4140              {
 48.4141                Object RESULT =null;
 48.4142  
 48.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);
 48.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);
 48.4145              }
 48.4146            return CUP$Ada95ASTParser$result;
 48.4147  
 48.4148 @@ -7793,7 +7857,7 @@
 48.4149              {
 48.4150                Object RESULT =null;
 48.4151  
 48.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);
 48.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);
 48.4154              }
 48.4155            return CUP$Ada95ASTParser$result;
 48.4156  
 48.4157 @@ -7802,7 +7866,7 @@
 48.4158              {
 48.4159                Object RESULT =null;
 48.4160  
 48.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);
 48.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);
 48.4163              }
 48.4164            return CUP$Ada95ASTParser$result;
 48.4165  
 48.4166 @@ -7829,7 +7893,7 @@
 48.4167              {
 48.4168                Object RESULT =null;
 48.4169  
 48.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);
 48.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);
 48.4172              }
 48.4173            return CUP$Ada95ASTParser$result;
 48.4174  
 48.4175 @@ -7838,7 +7902,7 @@
 48.4176              {
 48.4177                Object RESULT =null;
 48.4178  
 48.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);
 48.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);
 48.4181              }
 48.4182            return CUP$Ada95ASTParser$result;
 48.4183  
 48.4184 @@ -7847,7 +7911,7 @@
 48.4185              {
 48.4186                Object RESULT =null;
 48.4187  
 48.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);
 48.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);
 48.4190              }
 48.4191            return CUP$Ada95ASTParser$result;
 48.4192  
 48.4193 @@ -7856,7 +7920,7 @@
 48.4194              {
 48.4195                Object RESULT =null;
 48.4196  
 48.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);
 48.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);
 48.4199              }
 48.4200            return CUP$Ada95ASTParser$result;
 48.4201  
 48.4202 @@ -7865,7 +7929,7 @@
 48.4203              {
 48.4204                Object RESULT =null;
 48.4205  
 48.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);
 48.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);
 48.4208              }
 48.4209            return CUP$Ada95ASTParser$result;
 48.4210  
 48.4211 @@ -7874,7 +7938,7 @@
 48.4212              {
 48.4213                Object RESULT =null;
 48.4214  
 48.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);
 48.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);
 48.4217              }
 48.4218            return CUP$Ada95ASTParser$result;
 48.4219  
 48.4220 @@ -7889,7 +7953,7 @@
 48.4221      ASTError error = new ASTError(theErrorleft, theErrorright);
 48.4222      RESULT = error;
 48.4223  
 48.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);
 48.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);
 48.4226              }
 48.4227            return CUP$Ada95ASTParser$result;
 48.4228  
 48.4229 @@ -7898,7 +7962,7 @@
 48.4230              {
 48.4231                Object RESULT =null;
 48.4232  
 48.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);
 48.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);
 48.4235              }
 48.4236            return CUP$Ada95ASTParser$result;
 48.4237  
 48.4238 @@ -7907,7 +7971,7 @@
 48.4239              {
 48.4240                Object RESULT =null;
 48.4241  
 48.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);
 48.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);
 48.4244              }
 48.4245            return CUP$Ada95ASTParser$result;
 48.4246  
 48.4247 @@ -7916,7 +7980,7 @@
 48.4248              {
 48.4249                Object RESULT =null;
 48.4250  
 48.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);
 48.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);
 48.4253              }
 48.4254            return CUP$Ada95ASTParser$result;
 48.4255  
 48.4256 @@ -7925,7 +7989,7 @@
 48.4257              {
 48.4258                Object RESULT =null;
 48.4259  
 48.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);
 48.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);
 48.4262              }
 48.4263            return CUP$Ada95ASTParser$result;
 48.4264  
 48.4265 @@ -7940,7 +8004,7 @@
 48.4266      ASTError error = new ASTError(theErrorleft, theErrorright);
 48.4267      RESULT = error;
 48.4268  
 48.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);
 48.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);
 48.4271              }
 48.4272            return CUP$Ada95ASTParser$result;
 48.4273  
 48.4274 @@ -7949,7 +8013,7 @@
 48.4275              {
 48.4276                Object RESULT =null;
 48.4277  
 48.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);
 48.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);
 48.4280              }
 48.4281            return CUP$Ada95ASTParser$result;
 48.4282  
 48.4283 @@ -7958,7 +8022,7 @@
 48.4284              {
 48.4285                Object RESULT =null;
 48.4286  
 48.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);
 48.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);
 48.4289              }
 48.4290            return CUP$Ada95ASTParser$result;
 48.4291  
 48.4292 @@ -7967,7 +8031,7 @@
 48.4293              {
 48.4294                Object RESULT =null;
 48.4295  
 48.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);
 48.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);
 48.4298              }
 48.4299            return CUP$Ada95ASTParser$result;
 48.4300  
 48.4301 @@ -7976,7 +8040,7 @@
 48.4302              {
 48.4303                Object RESULT =null;
 48.4304  
 48.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);
 48.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);
 48.4307              }
 48.4308            return CUP$Ada95ASTParser$result;
 48.4309  
 48.4310 @@ -7985,7 +8049,7 @@
 48.4311              {
 48.4312                Object RESULT =null;
 48.4313  
 48.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);
 48.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);
 48.4316              }
 48.4317            return CUP$Ada95ASTParser$result;
 48.4318  
 48.4319 @@ -7994,7 +8058,7 @@
 48.4320              {
 48.4321                Object RESULT =null;
 48.4322  
 48.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);
 48.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);
 48.4325              }
 48.4326            return CUP$Ada95ASTParser$result;
 48.4327  
 48.4328 @@ -8003,7 +8067,7 @@
 48.4329              {
 48.4330                Object RESULT =null;
 48.4331  
 48.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);
 48.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);
 48.4334              }
 48.4335            return CUP$Ada95ASTParser$result;
 48.4336  
 48.4337 @@ -8012,7 +8076,7 @@
 48.4338              {
 48.4339                Object RESULT =null;
 48.4340  
 48.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);
 48.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);
 48.4343              }
 48.4344            return CUP$Ada95ASTParser$result;
 48.4345  
 48.4346 @@ -8054,7 +8118,7 @@
 48.4347              {
 48.4348                Object RESULT =null;
 48.4349  
 48.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);
 48.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);
 48.4352              }
 48.4353            return CUP$Ada95ASTParser$result;
 48.4354  
 48.4355 @@ -8063,7 +8127,7 @@
 48.4356              {
 48.4357                Object RESULT =null;
 48.4358  
 48.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);
 48.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);
 48.4361              }
 48.4362            return CUP$Ada95ASTParser$result;
 48.4363  
 48.4364 @@ -8072,7 +8136,7 @@
 48.4365              {
 48.4366                Object RESULT =null;
 48.4367  
 48.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);
 48.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);
 48.4370              }
 48.4371            return CUP$Ada95ASTParser$result;
 48.4372  
 48.4373 @@ -8081,7 +8145,7 @@
 48.4374              {
 48.4375                Object RESULT =null;
 48.4376  
 48.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);
 48.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);
 48.4379              }
 48.4380            return CUP$Ada95ASTParser$result;
 48.4381  
 48.4382 @@ -8090,7 +8154,7 @@
 48.4383              {
 48.4384                Object RESULT =null;
 48.4385  
 48.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);
 48.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);
 48.4388              }
 48.4389            return CUP$Ada95ASTParser$result;
 48.4390  
 48.4391 @@ -8122,7 +8186,7 @@
 48.4392              {
 48.4393                Object RESULT =null;
 48.4394  
 48.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);
 48.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);
 48.4397              }
 48.4398            return CUP$Ada95ASTParser$result;
 48.4399  
 48.4400 @@ -8131,7 +8195,7 @@
 48.4401              {
 48.4402                Object RESULT =null;
 48.4403  
 48.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);
 48.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);
 48.4406              }
 48.4407            return CUP$Ada95ASTParser$result;
 48.4408  
 48.4409 @@ -8140,7 +8204,7 @@
 48.4410              {
 48.4411                Object RESULT =null;
 48.4412  
 48.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);
 48.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);
 48.4415              }
 48.4416            return CUP$Ada95ASTParser$result;
 48.4417  
 48.4418 @@ -8149,7 +8213,7 @@
 48.4419              {
 48.4420                Object RESULT =null;
 48.4421  
 48.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);
 48.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);
 48.4424              }
 48.4425            return CUP$Ada95ASTParser$result;
 48.4426  
 48.4427 @@ -8158,7 +8222,7 @@
 48.4428              {
 48.4429                Object RESULT =null;
 48.4430  
 48.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);
 48.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);
 48.4433              }
 48.4434            return CUP$Ada95ASTParser$result;
 48.4435  
 48.4436 @@ -8167,7 +8231,7 @@
 48.4437              {
 48.4438                Object RESULT =null;
 48.4439  
 48.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);
 48.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);
 48.4442              }
 48.4443            return CUP$Ada95ASTParser$result;
 48.4444  
 48.4445 @@ -8176,7 +8240,7 @@
 48.4446              {
 48.4447                Object RESULT =null;
 48.4448  
 48.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);
 48.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);
 48.4451              }
 48.4452            return CUP$Ada95ASTParser$result;
 48.4453  
 48.4454 @@ -8185,7 +8249,7 @@
 48.4455              {
 48.4456                Object RESULT =null;
 48.4457  
 48.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);
 48.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);
 48.4460              }
 48.4461            return CUP$Ada95ASTParser$result;
 48.4462  
 48.4463 @@ -8194,7 +8258,7 @@
 48.4464              {
 48.4465                Object RESULT =null;
 48.4466  
 48.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);
 48.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);
 48.4469              }
 48.4470            return CUP$Ada95ASTParser$result;
 48.4471  
 48.4472 @@ -8203,7 +8267,7 @@
 48.4473              {
 48.4474                Object RESULT =null;
 48.4475  
 48.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);
 48.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);
 48.4478              }
 48.4479            return CUP$Ada95ASTParser$result;
 48.4480  
 48.4481 @@ -8212,7 +8276,7 @@
 48.4482              {
 48.4483                Object RESULT =null;
 48.4484  
 48.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);
 48.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);
 48.4487              }
 48.4488            return CUP$Ada95ASTParser$result;
 48.4489  
 48.4490 @@ -8221,7 +8285,7 @@
 48.4491              {
 48.4492                Object RESULT =null;
 48.4493  
 48.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);
 48.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);
 48.4496              }
 48.4497            return CUP$Ada95ASTParser$result;
 48.4498  
 48.4499 @@ -8230,7 +8294,7 @@
 48.4500              {
 48.4501                Object RESULT =null;
 48.4502  
 48.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);
 48.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);
 48.4505              }
 48.4506            return CUP$Ada95ASTParser$result;
 48.4507  
 48.4508 @@ -8239,7 +8303,7 @@
 48.4509              {
 48.4510                Object RESULT =null;
 48.4511  
 48.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);
 48.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);
 48.4514              }
 48.4515            return CUP$Ada95ASTParser$result;
 48.4516  
 48.4517 @@ -8248,7 +8312,7 @@
 48.4518              {
 48.4519                Object RESULT =null;
 48.4520  
 48.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);
 48.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);
 48.4523              }
 48.4524            return CUP$Ada95ASTParser$result;
 48.4525  
 48.4526 @@ -8257,7 +8321,7 @@
 48.4527              {
 48.4528                Object RESULT =null;
 48.4529  
 48.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);
 48.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);
 48.4532              }
 48.4533            return CUP$Ada95ASTParser$result;
 48.4534  
 48.4535 @@ -8266,7 +8330,7 @@
 48.4536              {
 48.4537                Object RESULT =null;
 48.4538  
 48.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);
 48.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);
 48.4541              }
 48.4542            return CUP$Ada95ASTParser$result;
 48.4543  
 48.4544 @@ -8275,7 +8339,7 @@
 48.4545              {
 48.4546                Object RESULT =null;
 48.4547  
 48.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);
 48.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);
 48.4550              }
 48.4551            return CUP$Ada95ASTParser$result;
 48.4552  
 48.4553 @@ -8284,7 +8348,7 @@
 48.4554              {
 48.4555                Object RESULT =null;
 48.4556  
 48.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);
 48.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);
 48.4559              }
 48.4560            return CUP$Ada95ASTParser$result;
 48.4561  
 48.4562 @@ -8293,7 +8357,7 @@
 48.4563              {
 48.4564                Object RESULT =null;
 48.4565  
 48.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);
 48.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);
 48.4568              }
 48.4569            return CUP$Ada95ASTParser$result;
 48.4570  
 48.4571 @@ -8302,7 +8366,7 @@
 48.4572              {
 48.4573                Object RESULT =null;
 48.4574  
 48.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);
 48.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);
 48.4577              }
 48.4578            return CUP$Ada95ASTParser$result;
 48.4579  
 48.4580 @@ -8311,7 +8375,7 @@
 48.4581              {
 48.4582                Object RESULT =null;
 48.4583  
 48.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);
 48.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);
 48.4586              }
 48.4587            return CUP$Ada95ASTParser$result;
 48.4588  
 48.4589 @@ -8320,7 +8384,7 @@
 48.4590              {
 48.4591                Object RESULT =null;
 48.4592  
 48.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);
 48.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);
 48.4595              }
 48.4596            return CUP$Ada95ASTParser$result;
 48.4597  
 48.4598 @@ -8329,7 +8393,7 @@
 48.4599              {
 48.4600                Object RESULT =null;
 48.4601  
 48.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);
 48.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);
 48.4604              }
 48.4605            return CUP$Ada95ASTParser$result;
 48.4606  
 48.4607 @@ -8338,7 +8402,7 @@
 48.4608              {
 48.4609                Object RESULT =null;
 48.4610  
 48.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);
 48.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);
 48.4613              }
 48.4614            return CUP$Ada95ASTParser$result;
 48.4615  
 48.4616 @@ -8347,7 +8411,7 @@
 48.4617              {
 48.4618                Object RESULT =null;
 48.4619  
 48.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);
 48.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);
 48.4622              }
 48.4623            return CUP$Ada95ASTParser$result;
 48.4624  
 48.4625 @@ -8356,7 +8420,7 @@
 48.4626              {
 48.4627                Object RESULT =null;
 48.4628  
 48.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);
 48.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);
 48.4631              }
 48.4632            return CUP$Ada95ASTParser$result;
 48.4633  
 48.4634 @@ -8365,7 +8429,7 @@
 48.4635              {
 48.4636                Object RESULT =null;
 48.4637  
 48.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);
 48.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);
 48.4640              }
 48.4641            return CUP$Ada95ASTParser$result;
 48.4642  
 48.4643 @@ -8375,12 +8439,16 @@
 48.4644                Expression RESULT =null;
 48.4645  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).left;
 48.4646  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).right;
 48.4647 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
 48.4648 -		int exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.4649 -		int exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.4650 -		Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.4651 -		
 48.4652 -    RESULT = expr;
 48.4653 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-5)).value;
 48.4654 +		int expressionleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.4655 +		int expressionright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.4656 +		Expression expression = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.4657 +		int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.4658 +		int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.4659 +		Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.4660 +		
 48.4661 +    Range range = new Range (nameleft, endright, name, expression);
 48.4662 +    RESULT = range;
 48.4663  
 48.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);
 48.4665              }
 48.4666 @@ -8390,6 +8458,15 @@
 48.4667            case 60: // range ::= name TICK RANGE 
 48.4668              {
 48.4669                Expression RESULT =null;
 48.4670 +		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.4671 +		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.4672 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.4673 +		int endleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.4674 +		int endright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.4675 +		Object end = (Object)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.4676 +		
 48.4677 +    Range range = new Range (nameleft, endright, name, name);
 48.4678 +    RESULT = range;
 48.4679  
 48.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);
 48.4681              }
 48.4682 @@ -8399,11 +8476,15 @@
 48.4683            case 59: // range ::= simple_expression DOT_DOT simple_expression 
 48.4684              {
 48.4685                Expression RESULT =null;
 48.4686 -		int simple_exprleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.4687 -		int simple_exprright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.4688 -		Expression simple_expr = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.4689 -		
 48.4690 -    RESULT = simple_expr;
 48.4691 +		int simple_expression1left = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).left;
 48.4692 +		int simple_expression1right = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).right;
 48.4693 +		Expression simple_expression1 = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-2)).value;
 48.4694 +		int simple_expression2left = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.4695 +		int simple_expression2right = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.4696 +		Expression simple_expression2 = (Expression)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.4697 +		
 48.4698 +    Range range = new Range (simple_expression1left, simple_expression2right, simple_expression1, simple_expression2);
 48.4699 +    RESULT = range;
 48.4700  
 48.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);
 48.4702              }
 48.4703 @@ -8414,7 +8495,7 @@
 48.4704              {
 48.4705                Object RESULT =null;
 48.4706  
 48.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);
 48.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);
 48.4709              }
 48.4710            return CUP$Ada95ASTParser$result;
 48.4711  
 48.4712 @@ -8423,7 +8504,7 @@
 48.4713              {
 48.4714                Object RESULT =null;
 48.4715  
 48.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);
 48.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);
 48.4718              }
 48.4719            return CUP$Ada95ASTParser$result;
 48.4720  
 48.4721 @@ -8432,7 +8513,7 @@
 48.4722              {
 48.4723                Object RESULT =null;
 48.4724  
 48.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);
 48.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);
 48.4727              }
 48.4728            return CUP$Ada95ASTParser$result;
 48.4729  
 48.4730 @@ -8441,7 +8522,7 @@
 48.4731              {
 48.4732                Object RESULT =null;
 48.4733  
 48.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);
 48.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);
 48.4736              }
 48.4737            return CUP$Ada95ASTParser$result;
 48.4738  
 48.4739 @@ -8450,7 +8531,7 @@
 48.4740              {
 48.4741                Object RESULT =null;
 48.4742  
 48.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);
 48.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);
 48.4745              }
 48.4746            return CUP$Ada95ASTParser$result;
 48.4747  
 48.4748 @@ -8459,7 +8540,7 @@
 48.4749              {
 48.4750                Object RESULT =null;
 48.4751  
 48.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);
 48.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);
 48.4754              }
 48.4755            return CUP$Ada95ASTParser$result;
 48.4756  
 48.4757 @@ -8468,7 +8549,7 @@
 48.4758              {
 48.4759                Object RESULT =null;
 48.4760  
 48.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);
 48.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);
 48.4763              }
 48.4764            return CUP$Ada95ASTParser$result;
 48.4765  
 48.4766 @@ -8477,7 +8558,7 @@
 48.4767              {
 48.4768                Object RESULT =null;
 48.4769  
 48.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);
 48.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);
 48.4772              }
 48.4773            return CUP$Ada95ASTParser$result;
 48.4774  
 48.4775 @@ -8486,7 +8567,7 @@
 48.4776              {
 48.4777                Object RESULT =null;
 48.4778  
 48.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);
 48.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);
 48.4781              }
 48.4782            return CUP$Ada95ASTParser$result;
 48.4783  
 48.4784 @@ -8496,10 +8577,9 @@
 48.4785                TypeName RESULT =null;
 48.4786  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).left;
 48.4787  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.peek()).right;
 48.4788 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.4789 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.peek()).value;
 48.4790  		    
 48.4791 -    Identifier identifier = new Identifier(nameleft, nameright, name);
 48.4792 -    TypeName type = new TypeName (nameleft, nameright, identifier);
 48.4793 +    TypeName type = new TypeName (nameleft, nameright, name);
 48.4794      RESULT = type;
 48.4795  
 48.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);
 48.4797 @@ -8512,10 +8592,9 @@
 48.4798                TypeName RESULT =null;
 48.4799  		int nameleft = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).left;
 48.4800  		int nameright = ((java_cup.runtime.Symbol)CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).right;
 48.4801 -		String name = (String)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.4802 -		    
 48.4803 -    Identifier identifier = new Identifier(nameleft, nameright, name);
 48.4804 -    TypeName type = new TypeName (nameleft, nameright, identifier);
 48.4805 +		Identifier name = (Identifier)((java_cup.runtime.Symbol) CUP$Ada95ASTParser$stack.elementAt(CUP$Ada95ASTParser$top-1)).value;
 48.4806 +		
 48.4807 +    TypeName type = new TypeName (nameleft, nameright, name);
 48.4808      RESULT = type;
 48.4809  
 48.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);
 48.4811 @@ -8653,7 +8732,7 @@
 48.4812              {
 48.4813                Object RESULT =null;
 48.4814  
 48.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);
 48.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);
 48.4817              }
 48.4818            return CUP$Ada95ASTParser$result;
 48.4819  
 48.4820 @@ -8662,7 +8741,7 @@
 48.4821              {
 48.4822                Object RESULT =null;
 48.4823  
 48.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);
 48.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);
 48.4826              }
 48.4827            return CUP$Ada95ASTParser$result;
 48.4828  
 48.4829 @@ -8671,7 +8750,7 @@
 48.4830              {
 48.4831                Object RESULT =null;
 48.4832  
 48.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);
 48.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);
 48.4835              }
 48.4836            return CUP$Ada95ASTParser$result;
 48.4837  
 48.4838 @@ -9038,7 +9117,7 @@
 48.4839              {
 48.4840                Object RESULT =null;
 48.4841  
 48.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);
 48.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);
 48.4844              }
 48.4845            return CUP$Ada95ASTParser$result;
 48.4846  
 48.4847 @@ -9047,7 +9126,7 @@
 48.4848              {
 48.4849                Object RESULT =null;
 48.4850  
 48.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);
 48.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);
 48.4853              }
 48.4854            return CUP$Ada95ASTParser$result;
 48.4855  
 48.4856 @@ -9056,7 +9135,7 @@
 48.4857              {
 48.4858                Object RESULT =null;
 48.4859  
 48.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);
 48.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);
 48.4862              }
 48.4863            return CUP$Ada95ASTParser$result;
 48.4864  
 48.4865 @@ -9065,7 +9144,7 @@
 48.4866              {
 48.4867                Object RESULT =null;
 48.4868  
 48.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);
 48.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);
 48.4871              }
 48.4872            return CUP$Ada95ASTParser$result;
 48.4873  
 48.4874 @@ -9074,7 +9153,7 @@
 48.4875              {
 48.4876                Object RESULT =null;
 48.4877  
 48.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);
 48.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);
 48.4880              }
 48.4881            return CUP$Ada95ASTParser$result;
 48.4882  
 48.4883 @@ -9083,7 +9162,7 @@
 48.4884              {
 48.4885                Object RESULT =null;
 48.4886  
 48.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);
 48.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);
 48.4889              }
 48.4890            return CUP$Ada95ASTParser$result;
 48.4891  
 48.4892 @@ -9092,7 +9171,7 @@
 48.4893              {
 48.4894                Object RESULT =null;
 48.4895  
 48.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);
 48.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);
 48.4898              }
 48.4899            return CUP$Ada95ASTParser$result;
 48.4900  
 48.4901 @@ -9101,7 +9180,7 @@
 48.4902              {
 48.4903                Object RESULT =null;
 48.4904  
 48.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);
 48.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);
 48.4907              }
 48.4908            return CUP$Ada95ASTParser$result;
 48.4909  
    49.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/Ada95ASTSymbols.java	Wed Feb 24 15:52:30 2010 -0500
    49.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/Ada95ASTSymbols.java	Sun Aug 22 23:37:11 2010 +0200
    49.3 @@ -1,7 +1,7 @@
    49.4  
    49.5  //----------------------------------------------------
    49.6  // The following code was generated by CUP v0.11a beta 20060608
    49.7 -// Tue Sep 22 18:19:43 CEST 2009
    49.8 +// Thu Oct 01 15:49:41 CEST 2009
    49.9  //----------------------------------------------------
   49.10  
   49.11  package org.netbeans.modules.ada.editor.parser;
    50.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/Ada95ErrorHandler.java	Wed Feb 24 15:52:30 2010 -0500
    50.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/Ada95ErrorHandler.java	Sun Aug 22 23:37:11 2010 +0200
    50.3 @@ -96,23 +96,23 @@
    50.4          this.outer = outer;
    50.5          this.context = context;
    50.6          syntaxErrors = new ArrayList<SyntaxError>();
    50.7 -        //LOGGER.setLevel(Level.FINEST);
    50.8 +        //LOGGER.setLevel(Level.FINE);
    50.9      }
   50.10  
   50.11      public void handleError(Type type, short[] expectedtokens, Symbol current, Symbol previous) {
   50.12          Error error;
   50.13          if (type == ParserErrorHandler.Type.SYNTAX_ERROR) {
   50.14              // logging syntax error
   50.15 -            if (LOGGER.isLoggable(Level.FINEST)) {
   50.16 -                LOGGER.finest("Syntax error:"); //NOI18N
   50.17 -                LOGGER.finest("Current [" + current.left + ", " + current.right + "](" + Utils.getASTScannerTokenName(current.sym) + "): " + current.value); //NOI18N
   50.18 -                LOGGER.finest("Previous [" + previous.left + ", " + previous.right + "] (" + Utils.getASTScannerTokenName(previous.sym) + "):" + previous.value); //NOI18N
   50.19 +            if (LOGGER.isLoggable(Level.FINE)) {
   50.20 +                LOGGER.fine("Syntax error:"); //NOI18N
   50.21 +                LOGGER.fine("Current [" + current.left + ", " + current.right + "](" + Utils.getASTScannerTokenName(current.sym) + "): " + current.value); //NOI18N
   50.22 +                LOGGER.fine("Previous [" + previous.left + ", " + previous.right + "] (" + Utils.getASTScannerTokenName(previous.sym) + "):" + previous.value); //NOI18N
   50.23                  StringBuffer message = new StringBuffer();
   50.24                  message.append("Expected tokens:"); //NOI18N
   50.25                  for (int i = 0; i < expectedtokens.length; i += 2) {
   50.26                      message.append(" ").append( Utils.getASTScannerTokenName(expectedtokens[i])); //NOI18N
   50.27                  }
   50.28 -                LOGGER.finest(message.toString());
   50.29 +                LOGGER.fine(message.toString());
   50.30              }
   50.31              syntaxErrors.add(new SyntaxError(expectedtokens, current, previous));
   50.32          } else {
   50.33 @@ -163,9 +163,9 @@
   50.34                      }
   50.35                  }
   50.36                  if (astError != null) {
   50.37 -                    LOGGER.finest("ASTError [" + astError.getStartOffset() + ", " + astError.getEndOffset() + "]"); //NOI18N
   50.38 +                    LOGGER.fine("ASTError [" + astError.getStartOffset() + ", " + astError.getEndOffset() + "]"); //NOI18N
   50.39                  } else {
   50.40 -                    LOGGER.finest("ASTError was not found");  //NOI18N
   50.41 +                    LOGGER.fine("ASTError was not found");  //NOI18N
   50.42                  }
   50.43              }
   50.44              Error error = defaultSyntaxErrorHandling(syntaxError, astError);
    51.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaSemanticAnalyzer.java	Wed Feb 24 15:52:30 2010 -0500
    51.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaSemanticAnalyzer.java	Sun Aug 22 23:37:11 2010 +0200
    51.3 @@ -44,6 +44,8 @@
    51.4  import java.util.List;
    51.5  import java.util.Map;
    51.6  import java.util.Set;
    51.7 +import java.util.logging.Level;
    51.8 +import java.util.logging.Logger;
    51.9  import org.netbeans.modules.ada.editor.ast.ASTNode;
   51.10  import org.netbeans.modules.ada.editor.ast.nodes.Block;
   51.11  import org.netbeans.modules.ada.editor.ast.nodes.BodyDeclaration.Modifier;
   51.12 @@ -53,6 +55,7 @@
   51.13  import org.netbeans.modules.ada.editor.ast.nodes.PackageBody;
   51.14  import org.netbeans.modules.ada.editor.ast.nodes.PackageSpecification;
   51.15  import org.netbeans.modules.ada.editor.ast.nodes.TypeDeclaration;
   51.16 +import org.netbeans.modules.ada.editor.ast.nodes.TypeName;
   51.17  import org.netbeans.modules.ada.editor.ast.nodes.Variable;
   51.18  import org.netbeans.modules.ada.editor.ast.nodes.visitors.DefaultVisitor;
   51.19  import org.netbeans.modules.csl.api.ColoringAttributes;
   51.20 @@ -71,6 +74,8 @@
   51.21   */
   51.22  public class AdaSemanticAnalyzer extends SemanticAnalyzer {
   51.23  
   51.24 +    private static final Logger LOGGER = Logger.getLogger(AdaSemanticAnalyzer.class.getName());
   51.25 +
   51.26      public static final EnumSet<ColoringAttributes> UNUSED_FIELD_SET = EnumSet.of(ColoringAttributes.UNUSED, ColoringAttributes.FIELD);
   51.27      public static final EnumSet<ColoringAttributes> UNUSED_METHOD_SET = EnumSet.of(ColoringAttributes.UNUSED, ColoringAttributes.METHOD);
   51.28      private boolean cancelled;
   51.29 @@ -78,6 +83,7 @@
   51.30  
   51.31      public AdaSemanticAnalyzer() {
   51.32          semanticHighlights = null;
   51.33 +        LOGGER.setLevel(Level.FINE);
   51.34      }
   51.35  
   51.36      public Map<OffsetRange, Set<ColoringAttributes>> getHighlights() {
   51.37 @@ -202,32 +208,6 @@
   51.38          }
   51.39  
   51.40          @Override
   51.41 -        public void visit(MethodDeclaration method) {
   51.42 -            boolean isPrivate = Modifier.isPrivate(method.getModifier());
   51.43 -            EnumSet<ColoringAttributes> coloring = ColoringAttributes.METHOD_SET;
   51.44 -
   51.45 -            Identifier identifier = method.getSubrogramName();
   51.46 -            addOffsetRange(identifier, coloring);
   51.47 -            if (!method.isSpefication()) {
   51.48 -                Identifier nameEnd = method.getSubrogramNameEnd();
   51.49 -                addOffsetRange(nameEnd, coloring);
   51.50 -            }
   51.51 -
   51.52 -            if (method.getSubprogramBody() != null) {
   51.53 -                // don't scan the body now. It should be scanned after all declarations
   51.54 -                // are known
   51.55 -                Block declarations = method.getSubprogramBody().getDeclarations();
   51.56 -                if (declarations != null) {
   51.57 -                    needToScan.add(declarations);
   51.58 -                }
   51.59 -                Block body = method.getSubprogramBody().getBody();
   51.60 -                if (body != null) {
   51.61 -                    needToScan.add(body);
   51.62 -                }
   51.63 -            }
   51.64 -        }
   51.65 -
   51.66 -        @Override
   51.67          public void visit(PackageBody node) {
   51.68              if (isCancelled()) {
   51.69                  return;
   51.70 @@ -260,6 +240,59 @@
   51.71          }
   51.72  
   51.73          @Override
   51.74 +        public void visit(MethodDeclaration method) {
   51.75 +            if (isCancelled()) {
   51.76 +                return;
   51.77 +            }
   51.78 +
   51.79 +            boolean isPrivate = Modifier.isPrivate(method.getModifier());
   51.80 +            EnumSet<ColoringAttributes> coloring = ColoringAttributes.METHOD_SET;
   51.81 +
   51.82 +            Identifier identifier = method.getSubrogramName();
   51.83 +            addOffsetRange(identifier, coloring);
   51.84 +            if (!method.isSpefication()) {
   51.85 +                Identifier nameEnd = method.getSubrogramNameEnd();
   51.86 +                if (nameEnd != null) {
   51.87 +                    addOffsetRange(nameEnd, coloring);
   51.88 +                }
   51.89 +            }
   51.90 +
   51.91 +            if (method.getSubprogramBody() != null) {
   51.92 +                // don't scan the body now. It should be scanned after all declarations
   51.93 +                // are known
   51.94 +                Block declarations = method.getSubprogramBody().getDeclarations();
   51.95 +                if (declarations != null) {
   51.96 +                    declarations.accept(this);
   51.97 +                }
   51.98 +                Block body = method.getSubprogramBody().getBody();
   51.99 +                if (body != null) {
  51.100 +                    body.accept(this);
  51.101 +                }
  51.102 +            }
  51.103 +        }
  51.104 +
  51.105 +//        @Override
  51.106 +//        public void visit(BlockStatement block) {
  51.107 +//            System.out.println("BlockStatement");
  51.108 +//            if (block.getLabel() != null) {
  51.109 +//                EnumSet<ColoringAttributes> coloring = ColoringAttributes.METHOD_SET;
  51.110 +//                Identifier identifier = block.getLabel();
  51.111 +//                addOffsetRange(identifier, coloring);
  51.112 +//            }
  51.113 +//
  51.114 +//            // don't scan the body now. It should be scanned after all declarations
  51.115 +//            // are known
  51.116 +//            Block declarations = block.getDeclarations();
  51.117 +//            if (declarations != null) {
  51.118 +//                needToScan.add(declarations);
  51.119 +//            }
  51.120 +//            Block body = block.getBody();
  51.121 +//            if (body != null) {
  51.122 +//                needToScan.add(body);
  51.123 +//            }
  51.124 +//        }
  51.125 +
  51.126 +        @Override
  51.127          public void visit(FieldsDeclaration node) {
  51.128              if (isCancelled()) {
  51.129                  return;
  51.130 @@ -279,6 +312,10 @@
  51.131                          privateFieldsUsed.put(identifier.getName(), new IdentifierColoring(identifier, coloring));
  51.132                      }
  51.133                  }
  51.134 +                if (variable.getVariableType() != null) {
  51.135 +                    TypeName typeName = variable.getVariableType();
  51.136 +                    typeName.accept(this);
  51.137 +                }
  51.138              }
  51.139          }
  51.140  
  51.141 @@ -298,5 +335,27 @@
  51.142                  privateFieldsUsed.put(id.getName(), new IdentifierColoring(id, coloring));
  51.143              }
  51.144          }
  51.145 +
  51.146 +        @Override
  51.147 +        public void visit(Variable node) {
  51.148 +            if (isCancelled()) {
  51.149 +                return;
  51.150 +            }
  51.151 +
  51.152 +            Identifier id = node.getName();
  51.153 +            addOffsetRange(id, ColoringAttributes.FIELD_SET);
  51.154 +        }
  51.155 +
  51.156 +        @Override
  51.157 +        public void visit(TypeName node) {
  51.158 +            if (isCancelled()) {
  51.159 +                return;
  51.160 +            }
  51.161 +
  51.162 +            if (node.isIsBaseType() == false) {
  51.163 +                Identifier id = node.getTypeName();
  51.164 +                addOffsetRange(id, ColoringAttributes.FIELD_SET);
  51.165 +            }
  51.166 +        }
  51.167      }
  51.168  }
    52.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaStructureScanner.java	Wed Feb 24 15:52:30 2010 -0500
    52.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/AdaStructureScanner.java	Sun Aug 22 23:37:11 2010 +0200
    52.3 @@ -50,9 +50,11 @@
    52.4  import java.util.logging.Logger;
    52.5  import javax.swing.ImageIcon;
    52.6  import javax.swing.text.Document;
    52.7 +import org.netbeans.modules.ada.editor.CodeUtils;
    52.8  import org.netbeans.modules.ada.editor.ast.ASTError;
    52.9  import org.netbeans.modules.ada.editor.ast.ASTUtils;
   52.10  import org.netbeans.modules.ada.editor.ast.nodes.Block;
   52.11 +import org.netbeans.modules.ada.editor.ast.nodes.BlockStatement;
   52.12  import org.netbeans.modules.ada.editor.ast.nodes.Comment;
   52.13  import org.netbeans.modules.ada.editor.ast.nodes.Expression;
   52.14  import org.netbeans.modules.ada.editor.ast.nodes.FieldsDeclaration;
   52.15 @@ -62,7 +64,9 @@
   52.16  import org.netbeans.modules.ada.editor.ast.nodes.PackageSpecification;
   52.17  import org.netbeans.modules.ada.editor.ast.nodes.SubprogramBody;
   52.18  import org.netbeans.modules.ada.editor.ast.nodes.SubprogramSpecification;
   52.19 +import org.netbeans.modules.ada.editor.ast.nodes.TypeAccess;
   52.20  import org.netbeans.modules.ada.editor.ast.nodes.TypeDeclaration;
   52.21 +import org.netbeans.modules.ada.editor.ast.nodes.TypeName;
   52.22  import org.netbeans.modules.ada.editor.ast.nodes.Variable;
   52.23  import org.netbeans.modules.ada.editor.ast.nodes.visitors.DefaultVisitor;
   52.24  import org.netbeans.modules.ada.editor.parser.AdaElementHandle.SubprogramSpecificationHandle;
   52.25 @@ -402,7 +406,7 @@
   52.26                      }
   52.27                      String type = null;
   52.28                      if (formalParameter.getParameterType() != null) {
   52.29 -                        type = formalParameter.getParameterType().getTypeName().getName();
   52.30 +                        type = CodeUtils.extractTypeName(formalParameter.getParameterType());
   52.31                      }
   52.32                      if (name != null) {
   52.33                          if (!first) {
   52.34 @@ -469,7 +473,7 @@
   52.35                      }
   52.36                      String type = null;
   52.37                      if (formalParameter.getParameterType() != null) {
   52.38 -                        type = formalParameter.getParameterType().getTypeName().getName();
   52.39 +                        type = CodeUtils.extractTypeName(formalParameter.getParameterType());
   52.40                      }
   52.41                      if (name != null) {
   52.42                          if (!first) {
   52.43 @@ -690,6 +694,20 @@
   52.44          }
   52.45  
   52.46          @Override
   52.47 +        public void visit(BlockStatement block) {
   52.48 +            if (foldType != null) {
   52.49 +                getRanges(folds, foldType).add(createOffsetRange(block));
   52.50 +                foldType = null;
   52.51 +            }
   52.52 +            if (block.getDeclarations() != null) {
   52.53 +                scan(block.getDeclarations());
   52.54 +            }
   52.55 +            if (block.getBody() != null) {
   52.56 +                scan(block.getBody());
   52.57 +            }
   52.58 +        }
   52.59 +
   52.60 +        @Override
   52.61          public void visit(SubprogramBody subprog) {
   52.62              foldType = FOLD_CODE_BLOCKS;
   52.63              if (subprog.getDeclarations() != null) {
    53.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/resources/Ada95ASTParser.cup	Wed Feb 24 15:52:30 2010 -0500
    53.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/resources/Ada95ASTParser.cup	Sun Aug 22 23:37:11 2010 +0200
    53.3 @@ -22,7 +22,7 @@
    53.4   * "Portions Copyrighted [year] [name of copyright owner]"
    53.5   *
    53.6   * If you wish your version of this file to be governed by only the CDDL
    53.7 - * or only the GPL Version 2, indicate your decision by binary_adding_operator
    53.8 + * or only the GPL Version 2, indicate your decision by adding
    53.9   * "[Contributor] elects to include this software in this distribution
   53.10   * under the [CDDL or GPL Version 2] license." If you do not indicate a
   53.11   * single choice of license, a recipient has the option to distribute
   53.12 @@ -63,21 +63,19 @@
   53.13          return this.errorHandler;
   53.14      }
   53.15  
   53.16 -/*
   53.17 -    public Dispatch createDispatch(VariableBase dispatcher, VariableBase property) {
   53.18 +
   53.19 +    public Dispatch createDispatch(NameBase dispatcher, NameBase property) {
   53.20          Dispatch dispatch = null;
   53.21  	if (property instanceof Variable) {
   53.22  	   dispatch = new FieldAccess(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (Variable)property);
   53.23 -	} else if (property instanceof FunctionInvocation) {
   53.24 -	   dispatch = new MethodInvocation(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (FunctionInvocation)property);
   53.25 -	} else if (property instanceof ProcedureInvocation) {
   53.26 -	   dispatch = new MethodInvocation(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (ProcedureInvocation)property);
   53.27 +	} else if (property instanceof TypeName) {
   53.28 +	   dispatch = new TypeAccess(dispatcher.getStartOffset(), property.getEndOffset(), dispatcher, (TypeName)property);
   53.29  	} else {
   53.30  	   throw new IllegalArgumentException();
   53.31  	}
   53.32          return dispatch;
   53.33      }
   53.34 -*/
   53.35 +
   53.36  
   53.37      public List setModifier(List items, int modifier) {
   53.38          List list = new LinkedList();
   53.39 @@ -358,11 +356,11 @@
   53.40  non terminal List                    number_declaration;
   53.41  
   53.42  // 4.1 Names
   53.43 -non terminal String                  name;
   53.44 -non terminal String                  simple_name;
   53.45 +non terminal Identifier              name;
   53.46 +non terminal Identifier              simple_name;
   53.47  
   53.48  // 4.1.3 Selected Components
   53.49 -non terminal String                  selected_component;
   53.50 +non terminal Identifier              selected_component;
   53.51  
   53.52  // 4.4 Expressions
   53.53  non terminal Expression              expression;
   53.54 @@ -373,11 +371,11 @@
   53.55  non terminal Expression              primary;
   53.56  
   53.57  // 4.5 Operators and Expression Evaluation
   53.58 -non terminal String                  logical_operator;
   53.59 -non terminal String                  relational_operator;
   53.60 -non terminal UnaryOperation.Operator binary_adding_operator;
   53.61 -non terminal UnaryOperation.Operator unary_adding_operator;
   53.62 -non terminal String                  multiplying_operator;
   53.63 +non terminal InfixExpression.OperatorType logical_operator;
   53.64 +non terminal InfixExpression.OperatorType relational_operator;
   53.65 +non terminal InfixExpression.OperatorType binary_adding_operator;
   53.66 +non terminal UnaryOperation.Operator      unary_adding_operator;
   53.67 +non terminal InfixExpression.OperatorType multiplying_operator;
   53.68  
   53.69  // 4.7 Qualified Expressions
   53.70  non terminal Expression              qualified_expression;
   53.71 @@ -414,7 +412,7 @@
   53.72  
   53.73  // 5.7 Exit Statements
   53.74  non terminal Statement               exit_statement;
   53.75 -non terminal String                  name_opt;
   53.76 +non terminal Expression              name_opt;
   53.77  
   53.78  // 5.8 Goto Statements
   53.79  non terminal Statement               goto_statement;
   53.80 @@ -428,8 +426,8 @@
   53.81  non terminal List                    formal_part;
   53.82  non terminal List                    param;
   53.83  non terminal FormalParameter.Mode    mode;
   53.84 -non terminal String                  designator;
   53.85 -non terminal String                  operator_symbol;
   53.86 +non terminal Identifier              designator;
   53.87 +non terminal Identifier              operator_symbol;
   53.88  
   53.89  // 6.5 Return Statements
   53.90  non terminal Statement               return_statement;
   53.91 @@ -491,30 +489,33 @@
   53.92  
   53.93  
   53.94  // TBD sections
   53.95 -non terminal String                  compound_name;
   53.96 -non terminal String                  compound_name_opt;
   53.97 -non terminal TypeName                object_subtype_def;
   53.98 -non terminal Expression              init_opt;
   53.99 -non terminal Statement               type_decl;
  53.100 -non terminal Expression              type_completion;
  53.101 -non terminal String                  subtype_mark;
  53.102 -non terminal List                    handled_stmt_s;
  53.103 -non terminal Statement               statement;
  53.104 -non terminal Statement               subunit;
  53.105 -non terminal String                  id_opt;
  53.106 -non terminal Statement               unlabeled;
  53.107 -non terminal Expression              literal;
  53.108 -non terminal Expression              parenthesized_primary;
  53.109 -non terminal Expression              when_opt;
  53.110 -non terminal Statement               procedure_call_statement;
  53.111 -non terminal String                  used_char;
  53.112 -non terminal Expression              choice_s;
  53.113 -non terminal String                  label_opt;
  53.114 -non terminal String                  attribute;
  53.115 -non terminal String                  indexed_comp; // TODO: must be change it
  53.116 -non terminal Expression              value_s;
  53.117 -non terminal Expression              discrete_range;
  53.118 -non terminal Expression              range;
  53.119 +non terminal Identifier                   compound_name;
  53.120 +non terminal Identifier                   compound_name_opt;
  53.121 +non terminal TypeName                     object_subtype_def;
  53.122 +non terminal Expression                   init_opt;
  53.123 +non terminal Statement                    type_decl;
  53.124 +non terminal Expression                   type_completion;
  53.125 +non terminal NameBase                     subtype_mark;
  53.126 +non terminal List                         handled_stmt_s;
  53.127 +non terminal Statement                    statement;
  53.128 +non terminal Statement                    subunit;
  53.129 +non terminal Identifier                   id_opt;
  53.130 +non terminal Statement                    unlabeled;
  53.131 +non terminal Expression                   literal;
  53.132 +non terminal Expression                   parenthesized_primary;
  53.133 +non terminal Expression                   when_opt;
  53.134 +non terminal Statement                    procedure_call_statement;
  53.135 +non terminal String                       used_char;
  53.136 +non terminal Expression                   choice_s;
  53.137 +non terminal Identifier                   label_opt;
  53.138 +non terminal Identifier                   attribute;
  53.139 +non terminal Identifier                   indexed_component; // TODO: must be change it
  53.140 +non terminal Expression                   value_s;
  53.141 +non terminal Expression                   discrete_range;
  53.142 +non terminal Expression                   range;
  53.143 +non terminal InfixExpression.OperatorType short_circuit;
  53.144 +non terminal InfixExpression.OperatorType membership;
  53.145 +non terminal String                       attribute_id;
  53.146  
  53.147  // TBD RM sections and types
  53.148  non terminal     pragma;
  53.149 @@ -567,13 +568,10 @@
  53.150  non terminal     prot_opt;
  53.151  non terminal     rep_spec;
  53.152  non terminal     declarative_item_or_body;
  53.153 -non terminal     attribute_id;
  53.154  non terminal     value;
  53.155  non terminal     comp_assoc;
  53.156  non terminal     aggregate;
  53.157  non terminal     value_s_2;
  53.158 -non terminal     short_circuit;
  53.159 -non terminal     membership;
  53.160  non terminal     allocator;
  53.161  non terminal     label;
  53.162  non terminal     requeue_stmt;
  53.163 @@ -635,15 +633,21 @@
  53.164   * JavaCup precedence    *
  53.165   *************************/
  53.166  
  53.167 -//precedence left OR;
  53.168 -//precedence left XOR;
  53.169 -//precedence left AND;
  53.170 +// TODO: must be complete
  53.171 +precedence left OR;
  53.172 +precedence left XOR;
  53.173 +precedence left AND;
  53.174  
  53.175 -//precedence left SEMICOLON;
  53.176 +precedence left SEMICOLON;
  53.177  
  53.178 -//precedence left ELSIF;
  53.179 -//precedence left ELSE;
  53.180 -//precedence left END IF;
  53.181 +precedence left ELSIF;
  53.182 +precedence left ELSE;
  53.183 +precedence left END;
  53.184 +
  53.185 +precedence right NOT;
  53.186 +
  53.187 +precedence nonassoc ASSIGNMENT;
  53.188 +
  53.189  
  53.190  ///////////////////////////////////////////////////////////////////////////////
  53.191  // start with root symbol 
  53.192 @@ -862,15 +866,13 @@
  53.193  
  53.194  subtype_indication ::= 
  53.195  name:name constraint
  53.196 -{:    
  53.197 -    Identifier identifier = new Identifier(nameleft, nameright, name);
  53.198 -    TypeName type = new TypeName (nameleft, nameright, identifier);
  53.199 +{:
  53.200 +    TypeName type = new TypeName (nameleft, nameright, name);
  53.201      RESULT = type;
  53.202  :}
  53.203  | name:name
  53.204  {:    
  53.205 -    Identifier identifier = new Identifier(nameleft, nameright, name);
  53.206 -    TypeName type = new TypeName (nameleft, nameright, identifier);
  53.207 +    TypeName type = new TypeName (nameleft, nameright, name);
  53.208      RESULT = type;
  53.209  :}
  53.210  ;
  53.211 @@ -893,14 +895,20 @@
  53.212  	;
  53.213  
  53.214  range ::=
  53.215 -simple_expression:simple_expr DOT_DOT simple_expression
  53.216 +simple_expression:simple_expression1 DOT_DOT simple_expression:simple_expression2
  53.217  {:
  53.218 -    RESULT = simple_expr;
  53.219 +    Range range = new Range (simple_expression1left, simple_expression2right, simple_expression1, simple_expression2);
  53.220 +    RESULT = range;
  53.221  :}
  53.222 -| name TICK RANGE
  53.223 -| name:name TICK RANGE LPAREN expression:expr RPAREN
  53.224 +| name:name TICK RANGE:end
  53.225  {:
  53.226 -    RESULT = expr;
  53.227 +    Range range = new Range (nameleft, endright, name, name);
  53.228 +    RESULT = range;
  53.229 +:}
  53.230 +| name:name TICK RANGE LPAREN expression:expression RPAREN:end
  53.231 +{:
  53.232 +    Range range = new Range (nameleft, endright, name, expression);
  53.233 +    RESULT = range;
  53.234  :}
  53.235  ;
  53.236  
  53.237 @@ -1209,70 +1217,80 @@
  53.238  :}
  53.239  ;
  53.240  
  53.241 -
  53.242  name ::=
  53.243 -simple_name:name
  53.244 +simple_name:simple_name // direct_name
  53.245  {:
  53.246 -    RESULT = name;
  53.247 +    RESULT = simple_name;
  53.248  :}
  53.249 -| indexed_comp:comp
  53.250 +| operator_symbol:operator_symbol // direct_name
  53.251  {:
  53.252 -    RESULT = comp;
  53.253 +    RESULT = operator_symbol;
  53.254  :}
  53.255 -| selected_component:comp
  53.256 +| indexed_component:indexed_component
  53.257  {:
  53.258 -    RESULT = comp;
  53.259 +    RESULT = indexed_component;
  53.260  :}
  53.261 -| attribute:attr
  53.262 +| selected_component:selected_component
  53.263  {:
  53.264 -    RESULT = attr;
  53.265 +    RESULT = selected_component;
  53.266  :}
  53.267 -| operator_symbol:op
  53.268 +| attribute:attribute
  53.269  {:
  53.270 -    RESULT = op;
  53.271 +    RESULT = attribute;
  53.272  :}
  53.273  ;
  53.274  
  53.275  subtype_mark ::=
  53.276  simple_name:name
  53.277  {:
  53.278 +    TypeName typeName = new TypeName (nameleft, nameright, name);
  53.279 +    RESULT = typeName;
  53.280 +:}
  53.281 +| subtype_mark:name TICK attribute_id:id
  53.282 +{:
  53.283 +    ((TypeName)name).setAttributeId(id);
  53.284      RESULT = name;
  53.285  :}
  53.286 -| subtype_mark:name TICK attribute_id
  53.287 +| subtype_mark:subtype_mark DOT simple_name:simple_name
  53.288  {:
  53.289 -    // TODO: manage the attribute
  53.290 -    RESULT = name;
  53.291 -:}
  53.292 -| subtype_mark:name DOT simple_name:simpleName
  53.293 -{:
  53.294 -    RESULT = name + "." + simpleName;
  53.295 +    Dispatch dispatch;
  53.296 +    TypeName typeName = new TypeName (simple_nameleft, simple_nameright, simple_name);
  53.297 +    if (subtype_mark instanceof TypeName) {
  53.298 +        PackageName packageName = new PackageName (subtype_markleft, subtype_markright, ((TypeName)subtype_mark).getTypeName());
  53.299 +        dispatch = parser.createDispatch(packageName, typeName);
  53.300 +    } else {
  53.301 +        dispatch = parser.createDispatch(subtype_mark, typeName);
  53.302 +    }
  53.303 +
  53.304 +    RESULT = dispatch;
  53.305  :}
  53.306  ;
  53.307  
  53.308  simple_name ::=
  53.309 -IDENTIFIER:identifier
  53.310 +IDENTIFIER:id
  53.311  {:
  53.312 +    Identifier identifier = new Identifier (idleft, idright, id);
  53.313      RESULT = identifier;
  53.314  :}
  53.315  ;
  53.316  
  53.317 +// TODO: must be create a list of identifiers
  53.318  compound_name ::=
  53.319 -simple_name:simpleName
  53.320 +simple_name:simple_name
  53.321  {:
  53.322 -    RESULT = simpleName;
  53.323 +    RESULT = simple_name;
  53.324  :}
  53.325 -| compound_name:compoundName DOT simple_name:simpleName
  53.326 +| compound_name:compound_name DOT simple_name:simple_name
  53.327  {:
  53.328 -    RESULT = compoundName + "." + simpleName;
  53.329 +    RESULT = simple_name;
  53.330  :}
  53.331  ;
  53.332  
  53.333  library_unit_name_list ::=
  53.334 -compound_name:compoundName
  53.335 +compound_name:compound_name
  53.336  {:
  53.337      List nameList = new LinkedList();
  53.338 -    Identifier id = new Identifier(compoundNameleft, compoundNameright, (String)compoundName);
  53.339 -    PackageName packageName = new PackageName(compoundNameleft, compoundNameright, id);
  53.340 +    PackageName packageName = new PackageName(compound_nameleft, compound_nameright, compound_name);
  53.341      nameList.add(packageName);
  53.342      RESULT = nameList;
  53.343  :}
  53.344 @@ -1290,14 +1308,9 @@
  53.345  :}
  53.346  ;
  53.347  
  53.348 -indexed_comp ::=
  53.349 +indexed_component ::=
  53.350  name:name LPAREN value_s:index RPAREN:end
  53.351  {:
  53.352 -    System.out.println ("indexed_comp ::= name => " + name);
  53.353 -    Identifier identifier = new Identifier(nameleft, nameright, name);
  53.354 -    //Variable variable = new Variable (nameleft, nameright, name);
  53.355 -	Variable indexedVar = new ArrayAccess(nameleft, endright, identifier, index, ArrayAccess.Type.VARIABLE_ARRAY);
  53.356 -    //RESULT = indexedVar;
  53.357      RESULT = name;
  53.358  :}
  53.359  ;
  53.360 @@ -1320,21 +1333,25 @@
  53.361  // 4.1.3 Selected Components
  53.362  //
  53.363  selected_component ::=
  53.364 -name:name DOT simple_name:simpleName
  53.365 +name:name DOT simple_name:simple_name
  53.366  {:
  53.367 -    RESULT = name + "." + simpleName;
  53.368 +    Identifier identifier = new Identifier (nameleft, simple_nameright, name.getName() + "." + simple_name.getName());
  53.369 +    RESULT = identifier;
  53.370  :}
  53.371 -| name:name DOT used_char:usedChar
  53.372 +| name:name DOT used_char:used_char
  53.373  {:
  53.374 -    RESULT = name + "." + usedChar;
  53.375 +    Identifier identifier = new Identifier (nameleft, used_charright, name.getName() + "." + used_char);
  53.376 +    RESULT = identifier;
  53.377  :}
  53.378  | name:name DOT operator_symbol:operator
  53.379  {:
  53.380 -    RESULT = name + "." + operator;
  53.381 +    Identifier identifier = new Identifier (nameleft, operatorright, name.getName() + "." + operator.getName());
  53.382 +    RESULT = identifier;
  53.383  :}
  53.384  | name:name DOT ALL:all
  53.385  {:
  53.386 -    RESULT = name + "." + all;
  53.387 +    Identifier identifier = new Identifier (nameleft, allright, name.getName() + "." + "all");
  53.388 +    RESULT = identifier;
  53.389  :}
  53.390  ;
  53.391  
  53.392 @@ -1345,29 +1362,34 @@
  53.393  :}
  53.394  ;
  53.395  
  53.396 -attribute_id ::= IDENTIFIER
  53.397 -	| DIGITS
  53.398 -	| DELTA
  53.399 -	| ACCESS
  53.400 -	;
  53.401 +attribute_id ::=
  53.402 +IDENTIFIER
  53.403 +| DIGITS
  53.404 +| DELTA
  53.405 +| ACCESS
  53.406 +;
  53.407  
  53.408  literal ::=
  53.409  DECIMAL_LITERAL:dec
  53.410  {:
  53.411 -	Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
  53.412 -	RESULT = scalar;
  53.413 +    Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
  53.414 +    RESULT = scalar;
  53.415  :}
  53.416  | BASED_LITERAL:dec
  53.417  {:
  53.418 -	Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
  53.419 -	RESULT = scalar;
  53.420 +    Scalar scalar = new Scalar(decleft, decright, dec, Scalar.Type.INT);
  53.421 +    RESULT = scalar;
  53.422  :}
  53.423  | used_char:usedChar
  53.424  {:
  53.425 -	Scalar scalar = new Scalar(usedCharleft, usedCharright, usedChar, Scalar.Type.STRING);
  53.426 -	RESULT = scalar;
  53.427 +    Scalar scalar = new Scalar(usedCharleft, usedCharright, usedChar, Scalar.Type.STRING);
  53.428 +    RESULT = scalar;
  53.429  :}
  53.430 -| NULL
  53.431 +| NULL:token
  53.432 +{:
  53.433 +    Scalar scalar = new Scalar(tokenleft, tokenright, "null", Scalar.Type.SYSTEM);
  53.434 +    RESULT = scalar;
  53.435 +:}
  53.436  ;
  53.437  
  53.438  aggregate ::= LPAREN comp_assoc RPAREN
  53.439 @@ -1390,27 +1412,67 @@
  53.440  //
  53.441  logical_operator ::=
  53.442  AND
  53.443 +{:
  53.444 +    RESULT = InfixExpression.OperatorType.BOOL_AND;
  53.445 +:}
  53.446  | OR
  53.447 +{:
  53.448 +    RESULT = InfixExpression.OperatorType.BOOL_OR;
  53.449 +:}
  53.450  | XOR
  53.451 +{:
  53.452 +    RESULT = InfixExpression.OperatorType.BOOL_XOR;
  53.453 +:}
  53.454  ;
  53.455  
  53.456 -short_circuit ::= AND THEN
  53.457 -	| OR ELSE
  53.458 -	;
  53.459 -
  53.460 +short_circuit ::=
  53.461 +AND THEN
  53.462 +{:
  53.463 +    RESULT = InfixExpression.OperatorType.BOOL_OR;
  53.464 +:}
  53.465 +| OR ELSE
  53.466 +{:
  53.467 +    RESULT = InfixExpression.OperatorType.BOOL_AND;
  53.468 +:}
  53.469 +;
  53.470  
  53.471  relational_operator ::=
  53.472  EQ
  53.473 +{:
  53.474 +    RESULT = InfixExpression.OperatorType.IS_EQUAL;
  53.475 +:}
  53.476  | INEQ
  53.477 +{:
  53.478 +    RESULT = InfixExpression.OperatorType.IS_NOT_EQUAL;
  53.479 +:}
  53.480  | GT
  53.481 +{:
  53.482 +    RESULT = InfixExpression.OperatorType.RGREATER;
  53.483 +:}
  53.484  | LTEQ
  53.485 +{:
  53.486 +    RESULT = InfixExpression.OperatorType.IS_SMALLER_OR_EQUAL;
  53.487 +:}
  53.488  | LT
  53.489 +{:
  53.490 +    RESULT = InfixExpression.OperatorType.LGREATER;
  53.491 +:}
  53.492  | GTEQ
  53.493 +{:
  53.494 +    RESULT = InfixExpression.OperatorType.IS_GREATER_OR_EQUAL;
  53.495 +:}
  53.496  ;
  53.497  
  53.498 -membership ::= IN
  53.499 -	| NOT IN
  53.500 -	;
  53.501 +membership ::=
  53.502 +IN
  53.503 +{:
  53.504 +    RESULT = InfixExpression.OperatorType.IN;
  53.505 +:}
  53.506 +| NOT IN
  53.507 +{:
  53.508 +    RESULT = InfixExpression.OperatorType.NOT_IN;
  53.509 +:}
  53.510 +;
  53.511  
  53.512  unary_adding_operator ::=
  53.513  PLUS
  53.514 @@ -1426,79 +1488,93 @@
  53.515  binary_adding_operator ::= 
  53.516  PLUS
  53.517  {:
  53.518 -    RESULT = UnaryOperation.Operator.PLUS;
  53.519 +    RESULT = InfixExpression.OperatorType.PLUS;
  53.520  :}
  53.521  | MINUS
  53.522  {:
  53.523 -    RESULT = UnaryOperation.Operator.MINUS;
  53.524 +    RESULT = InfixExpression.OperatorType.MINUS;
  53.525  :}
  53.526  | AMP
  53.527  {:
  53.528 -    RESULT = UnaryOperation.Operator.AMP;
  53.529 +    RESULT = InfixExpression.OperatorType.STRING_AND;
  53.530  :}
  53.531  ;
  53.532  
  53.533  multiplying_operator ::=
  53.534  STAR
  53.535 +{:
  53.536 +    RESULT = InfixExpression.OperatorType.MUL;
  53.537 +:}
  53.538  | SLASH
  53.539 +{:
  53.540 +    RESULT = InfixExpression.OperatorType.DIV;
  53.541 +:}
  53.542  | MOD
  53.543 +{:
  53.544 +    RESULT = InfixExpression.OperatorType.MOD;
  53.545 +:}
  53.546  | REM
  53.547 +{:
  53.548 +    RESULT = InfixExpression.OperatorType.REM;
  53.549 +:}
  53.550  ;
  53.551  
  53.552  ///////////////////////////////////////////////////////////////////////////////
  53.553  // 4.4 Expressions
  53.554  //
  53.555  expression ::=
  53.556 -relation:rel
  53.557 +relation:relation
  53.558  {:
  53.559 -    System.out.println ("expression ::= relation => " + rel);
  53.560 -	RESULT = rel;
  53.561 +    RESULT = relation;
  53.562  :}
  53.563 -| expression:expr logical_operator relation:rel
  53.564 +| expression:expression logical_operator:logical_operator relation:relation
  53.565  {:
  53.566 -    System.out.println ("expression ::= expression => " + expr);
  53.567 -    System.out.println ("expression ::= relation => " + rel);
  53.568 -	RESULT = expr;
  53.569 +    InfixExpression infixExpression = new InfixExpression(expressionleft, relationright, expression, logical_operator, relation);
  53.570 +    RESULT = infixExpression;
  53.571  :}
  53.572 -| expression:expr short_circuit relation:rel
  53.573 +| expression:expression short_circuit:short_circuit relation:relation
  53.574  {:
  53.575 -    System.out.println ("expression ::= expression => " + expr);
  53.576 -    System.out.println ("expression ::= relation => " + rel);
  53.577 -	RESULT = expr;
  53.578 +    InfixExpression infixExpression = new InfixExpression(expressionleft, relationright, expression, short_circuit, relation);
  53.579 +    RESULT = infixExpression;
  53.580  :}
  53.581  ;
  53.582  
  53.583  relation ::=
  53.584 -simple_expression:simple_expr
  53.585 +simple_expression:simple_expression
  53.586  {:
  53.587 -    RESULT = simple_expr;
  53.588 +    RESULT = simple_expression;
  53.589  :}
  53.590 -| simple_expression:simple_expr relational_operator simple_expression
  53.591 +| simple_expression:simple_expression1 relational_operator:relational_operator simple_expression:simple_expression2
  53.592  {:
  53.593 -    RESULT = simple_expr;
  53.594 +    InfixExpression infixExpression = new InfixExpression(simple_expression1left, simple_expression2right, simple_expression1, relational_operator, simple_expression2);
  53.595 +    RESULT = infixExpression;
  53.596  :}
  53.597 -| simple_expression:simple_expr membership range
  53.598 +| simple_expression:simple_expression membership:membership range:range
  53.599  {:
  53.600 -    RESULT = simple_expr;
  53.601 +    InfixExpression infixExpression = new InfixExpression(simple_expressionleft, rangeright, simple_expression, membership, range);
  53.602 +    RESULT = infixExpression;
  53.603  :}
  53.604 -| simple_expression:simple_expr membership name
  53.605 +| simple_expression:simple_expression membership:membership name:name
  53.606  {:
  53.607 -    RESULT = simple_expr;
  53.608 +    InfixExpression infixExpression = new InfixExpression(simple_expressionleft, nameright, simple_expression, membership, name);
  53.609 +    RESULT = infixExpression;
  53.610  :}
  53.611  ;
  53.612  
  53.613  simple_expression ::=
  53.614 -unary_adding_operator:op term:term
  53.615 +unary_adding_operator:unary_adding_operator term:term
  53.616  {:
  53.617 -	RESULT = new UnaryOperation(opleft, termright, term, op);
  53.618 +    UnaryOperation unaryOperation = new UnaryOperation(unary_adding_operatorleft, termright, term, unary_adding_operator);
  53.619 +    RESULT = unaryOperation;
  53.620  :}
  53.621  | term:term
  53.622  {:
  53.623      RESULT = term;
  53.624  :}
  53.625 -| simple_expression:expr binary_adding_operator:op term:term
  53.626 +| simple_expression:simple_expression binary_adding_operator:binary_adding_operator term:term
  53.627  {:
  53.628 -	RESULT = new UnaryOperation(exprleft, termright, term, op);
  53.629 +    InfixExpression infixExpression = new InfixExpression(simple_expressionleft, termright, simple_expression, binary_adding_operator, term);
  53.630 +    RESULT = infixExpression;
  53.631  :}
  53.632  ;
  53.633  
  53.634 @@ -1507,9 +1583,10 @@
  53.635  {:
  53.636      RESULT = factor;
  53.637  :}
  53.638 -| term multiplying_operator factor:factor
  53.639 +| term:term multiplying_operator:multiplying_operator factor:factor
  53.640  {:
  53.641 -    RESULT = factor;
  53.642 +    InfixExpression infixExpression = new InfixExpression(termleft, factorright, term, multiplying_operator, factor);
  53.643 +    RESULT = infixExpression;
  53.644  :}
  53.645  ;
  53.646  
  53.647 @@ -1518,58 +1595,57 @@
  53.648  {:
  53.649      RESULT = primary;
  53.650  :}
  53.651 -| NOT primary:primary
  53.652 +| NOT:token primary:primary
  53.653  {:
  53.654 -    RESULT = primary;
  53.655 +    UnaryOperation unaryOperation = new UnaryOperation(tokenleft, primaryright, primary, UnaryOperation.Operator.NOT);
  53.656 +    RESULT = unaryOperation;
  53.657  :}
  53.658 -| ABS primary:primary
  53.659 +| ABS:token primary:primary
  53.660  {:
  53.661 -    RESULT = primary;
  53.662 +    UnaryOperation unaryOperation = new UnaryOperation(tokenleft, primaryright, primary, UnaryOperation.Operator.ABS);
  53.663 +    RESULT = unaryOperation;
  53.664  :}
  53.665 -| primary EXPON primary:primary
  53.666 +| primary:primary1 EXPON primary:primary2
  53.667  {:
  53.668 -    RESULT = primary;
  53.669 +    InfixExpression infixExpression = new InfixExpression(primary1left, primary2right, primary1, InfixExpression.OperatorType.EXPON, primary2);
  53.670 +    RESULT = infixExpression;
  53.671  :}
  53.672  ;
  53.673  
  53.674  primary ::=
  53.675  literal:literal
  53.676  {:
  53.677 -    System.out.println ("primary ::= literal => " + literal);
  53.678      RESULT = literal;
  53.679  :}
  53.680  | name:name
  53.681  {:
  53.682 -    System.out.println ("primary ::= name => " + name);
  53.683 -    Scalar scalar = new Scalar(nameleft, nameright, name, Scalar.Type.STRING);
  53.684 -    RESULT = scalar;
  53.685 +// TODO: must be modified for manage all primery types
  53.686 +    Variable variable = new Variable (nameleft, nameright, name);
  53.687 +    RESULT = variable;
  53.688  :}
  53.689  | allocator
  53.690 -| qualified_expression:expr
  53.691 +| qualified_expression:qualified_expression
  53.692  {:
  53.693 -    System.out.println ("primary ::= qualified_expression => " + expr);
  53.694 -    RESULT = expr;
  53.695 +    RESULT = qualified_expression;
  53.696  :}
  53.697 -| parenthesized_primary:expr
  53.698 +| parenthesized_primary:parenthesized_primary
  53.699  {:
  53.700 -    System.out.println ("primary ::= parenthesized_primary => " + expr);
  53.701 -    RESULT = expr;
  53.702 +    RESULT = parenthesized_primary;
  53.703  :}
  53.704  ;
  53.705  
  53.706  parenthesized_primary ::=
  53.707  aggregate
  53.708 -| LPAREN expression:expr RPAREN
  53.709 +| LPAREN expression:expression RPAREN
  53.710  {:
  53.711 -    RESULT = expr;
  53.712 +    RESULT = expression;
  53.713  :}
  53.714  ;
  53.715  
  53.716  qualified_expression ::=
  53.717  name:name TICK parenthesized_primary:expr
  53.718  {:
  53.719 -    Identifier subtypeMark = new Identifier (nameleft, nameright, name);
  53.720 -    RESULT = new QualifiedExpression (nameleft, exprright, subtypeMark, expr);
  53.721 +    RESULT = new QualifiedExpression (nameleft, exprright, name, expr);
  53.722  :}
  53.723  ;
  53.724  
  53.725 @@ -1701,13 +1777,10 @@
  53.726  // 5.2 Assignment Statements
  53.727  //
  53.728  assignment_statement ::=
  53.729 -name:var ASSIGNMENT expression:expr SEMICOLON
  53.730 +name:name ASSIGNMENT expression:expression SEMICOLON
  53.731  {:
  53.732 -    System.out.println ("assignment_statement ::= var => " + var);
  53.733 -    System.out.println ("assignment_statement ::= expr => " + expr);
  53.734 -    Identifier id = new Identifier(varleft, varright, var);
  53.735 -    Variable variable = new Variable (varleft, varright, (Identifier)id);
  53.736 -    Assignment assignment = new Assignment(varleft, exprright, variable, expr);
  53.737 +    Variable variable = new Variable (nameleft, nameright, name);
  53.738 +    Assignment assignment = new Assignment(nameleft, expressionright, variable, expression);
  53.739      RESULT = assignment;
  53.740  :}
  53.741  ;
  53.742 @@ -1722,19 +1795,19 @@
  53.743      Expression firstCondition = null;
  53.744      Statement trueStatement = null;
  53.745      Statement falseStatement = iffalse;
  53.746 -		
  53.747 +
  53.748      for (int i=1 ; i < condList[0].size() ; i++) {
  53.749          innerCondition = (Expression)condList[0].get(i);
  53.750          trueStatement = (Statement)condList[1].get(i);
  53.751          int start = ((Integer)condList[2].get(i)).intValue();
  53.752          falseStatement = new IfStatement(start, endright, innerCondition, trueStatement, falseStatement);
  53.753      }
  53.754 -    
  53.755 +
  53.756      firstCondition = (Expression)condList[0].get(0);
  53.757      trueStatement = (Statement)condList[1].get(0);
  53.758      int start = ((Integer)condList[2].get(0)).intValue();
  53.759      IfStatement ifStatement = new IfStatement(tokenleft, endright, firstCondition, trueStatement, falseStatement);		
  53.760 -	
  53.761 +
  53.762      RESULT = ifStatement;
  53.763  :}
  53.764  ;
  53.765 @@ -1767,9 +1840,9 @@
  53.766  ;
  53.767  
  53.768  condition ::=
  53.769 -expression:expr
  53.770 +expression:expression
  53.771  {:
  53.772 -    RESULT = expr;
  53.773 +    RESULT = expression;
  53.774  :}
  53.775  ;
  53.776  
  53.777 @@ -1824,8 +1897,7 @@
  53.778  label_opt:label iteration:iteration basic_loop:statement id_opt SEMICOLON:end
  53.779  {:
  53.780      int start = (label == null) ? iterationleft : labelleft;
  53.781 -    Identifier identifier = new Identifier(labelleft, labelright, label);
  53.782 -    LoopStatement loopStatement = new LoopStatement(start, endright, identifier, iteration, statement);
  53.783 +    LoopStatement loopStatement = new LoopStatement(start, endright, label, iteration, statement);
  53.784      RESULT = loopStatement;
  53.785  :}
  53.786  ;
  53.787 @@ -1837,7 +1909,8 @@
  53.788  :}
  53.789  | IDENTIFIER:id COLON
  53.790  {:
  53.791 -    RESULT = id;
  53.792 +    Identifier identifier = new Identifier (idleft, idright, id);
  53.793 +    RESULT = identifier;
  53.794  :}
  53.795  ;
  53.796  
  53.797 @@ -1880,9 +1953,9 @@
  53.798  {:
  53.799      RESULT = null;
  53.800  :}
  53.801 -| designator:name
  53.802 +| designator:designator
  53.803  {:
  53.804 -    RESULT = name;
  53.805 +    RESULT = designator;
  53.806  :}
  53.807  ;
  53.808  
  53.809 @@ -1893,8 +1966,7 @@
  53.810  label_opt:label block_declarative:declarations block_body:body END id_opt SEMICOLON:end
  53.811  {:
  53.812      int start = (label == null) ? declarationsleft : labelleft;
  53.813 -    Identifier identifier = new Identifier(labelleft, labelright, label);
  53.814 -    BlockStatement blockStatement = new BlockStatement (start, endleft, identifier, declarations, body);
  53.815 +    BlockStatement blockStatement = new BlockStatement (start, endleft, label, declarations, body);
  53.816      RESULT = blockStatement;
  53.817  :}
  53.818  ;
  53.819 @@ -2002,23 +2074,19 @@
  53.820  ;
  53.821  
  53.822  subprogram_specification ::=
  53.823 -PROCEDURE:procedure compound_name:procedureName formal_part_opt:formalPart
  53.824 +PROCEDURE:procedure compound_name:compound_name formal_part_opt:formal_part
  53.825  {:
  53.826 -    Identifier procedureId = new Identifier(procedureNameleft, procedureNameright, procedureName);
  53.827 -    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(procedureleft, formalPartright, procedureId, formalPart);
  53.828 +    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(procedureleft, formal_partright, compound_name, formal_part);
  53.829      RESULT = subprogramSpecification;
  53.830  :}
  53.831 -| FUNCTION:function designator:functionName formal_part_opt:formalPart RETURN name:subtypeMark
  53.832 +| FUNCTION:function designator:designator formal_part_opt:formal_part RETURN name:subtype_mark
  53.833  {:
  53.834 -    Identifier functionId = new Identifier(functionNameleft, functionNameright, functionName);
  53.835 -    Identifier subtypeReturn = new Identifier(subtypeMarkleft, subtypeMarkright, subtypeMark);
  53.836 -    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, subtypeMarkright, functionId, formalPart, subtypeReturn);
  53.837 +    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, subtype_markright, designator, formal_part, subtype_mark);
  53.838      RESULT = subprogramSpecification;
  53.839  :}
  53.840 -| FUNCTION:function designator:functionName  /* for generic inst and generic rename */
  53.841 +| FUNCTION:function designator:designator  /* for generic inst and generic rename */
  53.842  {:
  53.843 -    Identifier functionId = new Identifier(functionNameleft, functionNameright, functionName);
  53.844 -    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, functionNameright, functionId);
  53.845 +    SubprogramSpecification subprogramSpecification = new SubprogramSpecification(functionleft, designatorright, designator);
  53.846      RESULT = subprogramSpecification;
  53.847  :}
  53.848  ;
  53.849 @@ -2071,13 +2139,11 @@
  53.850  defining_identifier_list:identifierList COLON mode:mode subtype_mark:subtype init_opt:init
  53.851  {:
  53.852      List list = new LinkedList();
  53.853 -    Identifier subtypeId = new Identifier(subtypeleft, subtyperight, subtype);
  53.854 -    TypeName typeName = new TypeName(subtypeleft, subtyperight, subtypeId);
  53.855      for (Object item : identifierList) {
  53.856          Identifier identifier = (Identifier)item;
  53.857          Variable variable = new Variable (identifier.getStartOffset(), identifier.getEndOffset(), identifier);
  53.858  	    int end = init == null ? subtyperight : initright;
  53.859 -        FormalParameter parameter = new FormalParameter(identifierListleft, end, variable, mode, typeName, init);
  53.860 +        FormalParameter parameter = new FormalParameter(identifierListleft, end, variable, mode, subtype, init);
  53.861      	list.add(parameter);
  53.862      }
  53.863      RESULT = list;
  53.864 @@ -2116,23 +2182,23 @@
  53.865  
  53.866  // TODO: manage the overload operators ex: "+" "and" ecc.
  53.867  operator_symbol ::=
  53.868 -STRING_LITERAL:stringLiteral
  53.869 +STRING_LITERAL:string_literal
  53.870  {:
  53.871 -    RESULT = stringLiteral;
  53.872 +    Identifier identifier = new Identifier (string_literalleft, string_literalright, string_literal);
  53.873 +    RESULT = identifier;
  53.874  :}
  53.875  ;
  53.876  
  53.877  subprogram_body ::=
  53.878  subprogram_specification:subprog IS
  53.879 -declarative_part:declarativePart block_body:body END id_opt:idOpt SEMICOLON:end
  53.880 +declarative_part:declarativePart block_body:body END id_opt:id_opt SEMICOLON:end
  53.881  {:
  53.882 -    if (idOpt != null && !idOpt.equalsIgnoreCase (subprog.getSubprogramName().getName())) {
  53.883 +    if (id_opt != null && !id_opt.getName().equalsIgnoreCase (subprog.getSubprogramName().getName())) {
  53.884          this.parser.message_error("mispelling of " + subprog.getSubprogramName().getName());
  53.885      } else {
  53.886          Block declarations = new Block(subprogright, bodyleft, declarativePart);
  53.887          body.setEndOffset(endright);
  53.888 -        Identifier nameEnd = new Identifier(idOptleft, idOptright, idOpt);
  53.889 -        SubprogramBody subprogramBody = new SubprogramBody(subprogleft, endright, subprog, declarations, body, nameEnd);
  53.890 +        SubprogramBody subprogramBody = new SubprogramBody(subprogleft, endright, subprog, declarations, body, id_opt);
  53.891          MethodDeclaration methodDeclaration = new MethodDeclaration(subprogleft, endright, 0/*modifier*/, subprogramBody);
  53.892          RESULT = methodDeclaration;
  53.893      }
  53.894 @@ -2159,20 +2225,18 @@
  53.895  ;
  53.896  
  53.897  package_specification ::= 
  53.898 -PACKAGE:declarationStart compound_name:packageName IS:blockStart
  53.899 +PACKAGE:declarationStart compound_name:package_name IS:blockStart
  53.900    declarative_items_opt:declarativeItems private_part:privateDeclarativeItems
  53.901 -END:declarationEnd compound_name_opt:packageNameEnd
  53.902 +END:declarationEnd compound_name_opt:package_name_end
  53.903  {:
  53.904 -    if (packageNameEnd != null && !packageNameEnd.equalsIgnoreCase (packageName)) {
  53.905 -        this.parser.message_error("mispelling of " + packageName);
  53.906 +    if (package_name_end != null && !package_name_end.getName().equalsIgnoreCase (package_name.getName())) {
  53.907 +        this.parser.message_error("mispelling of " + package_name);
  53.908      }
  53.909      else {
  53.910 -        Identifier packageId = new Identifier(packageNameleft, packageNameright, packageName);
  53.911 -        Identifier packageIdEnd = new Identifier(packageNameEndleft, packageNameEndright, packageNameEnd);
  53.912          declarativeItems.addAll (privateDeclarativeItems);
  53.913          // Add private part on block statements
  53.914          Block block = new Block(blockStartleft, declarationEndright, declarativeItems);
  53.915 -        PackageSpecification packageSpecification = new PackageSpecification(declarationStartleft, declarationEndright, packageId, packageIdEnd, block);
  53.916 +        PackageSpecification packageSpecification = new PackageSpecification(declarationStartleft, declarationEndright, package_name, package_name_end, block);
  53.917          RESULT = packageSpecification;
  53.918      }
  53.919  :}
  53.920 @@ -2190,9 +2254,9 @@
  53.921  
  53.922  compound_name_opt ::=
  53.923  // empty
  53.924 -| compound_name:compoundName
  53.925 +| compound_name:compound_name
  53.926  {:
  53.927 -    RESULT = compoundName;
  53.928 +    RESULT = compound_name;
  53.929  :}
  53.930  ;
  53.931  
  53.932 @@ -2200,20 +2264,18 @@
  53.933  // 7.2 Package Bodies
  53.934  //
  53.935  package_body ::=
  53.936 -PACKAGE:declarationStart BODY compound_name:packageName IS:blockStart
  53.937 -  declarative_part:declarativePart body_opt END compound_name_opt:packageNameEnd SEMICOLON:declarationEnd
  53.938 +PACKAGE:declarationStart BODY compound_name:package_name IS:blockStart
  53.939 +  declarative_part:declarativePart body_opt END compound_name_opt:package_name_end SEMICOLON:declarationEnd
  53.940  {:
  53.941 -    if (packageNameEnd != null && !packageNameEnd.equalsIgnoreCase (packageName)) {
  53.942 -        this.parser.message_error("mispelling of " + packageName);
  53.943 +    if (package_name_end != null && !package_name_end.getName().equalsIgnoreCase (package_name.getName())) {
  53.944 +        this.parser.message_error("mispelling of " + package_name);
  53.945      }
  53.946      else {
  53.947 -        Identifier packageId = new Identifier(packageNameleft, packageNameright, packageName);
  53.948 -        Identifier packageIdEnd = new Identifier(packageNameEndleft, packageNameEndright, packageNameEnd);
  53.949  
  53.950          List list = this.parser.setModifier (declarativePart, Ada95ASTParser.PRIVATE);
  53.951          Block block = new Block(blockStartleft, declarationEndright, list);
  53.952  
  53.953 -        PackageBody packageBody = new PackageBody(declarationStartleft, declarationEndright, packageId, packageIdEnd, block);
  53.954 +        PackageBody packageBody = new PackageBody(declarationStartleft, declarationEndright, package_name, package_name_end, block);
  53.955          RESULT = packageBody;
  53.956      }
  53.957  :}
  53.958 @@ -2262,15 +2324,13 @@
  53.959  name:name
  53.960  {:
  53.961      List idList = new LinkedList();
  53.962 -    Identifier id = new Identifier(nameleft, nameright, name);
  53.963 -    PackageName packageName = new PackageName(nameleft, nameright, id);
  53.964 +    PackageName packageName = new PackageName(nameleft, nameright, name);
  53.965      idList.add(packageName);
  53.966      RESULT = idList;
  53.967  :}
  53.968  | package_name_list:idList COMMA name:name
  53.969  {:
  53.970 -    Identifier id = new Identifier(nameleft, nameright, name);
  53.971 -    PackageName packageName = new PackageName(nameleft, nameright, id);
  53.972 +    PackageName packageName = new PackageName(nameleft, nameright, name);
  53.973      idList.add(packageName);
  53.974      RESULT = idList;
  53.975  :}
  53.976 @@ -2280,15 +2340,13 @@
  53.977  name:name
  53.978  {:
  53.979      List idList = new LinkedList();
  53.980 -    Identifier id = new Identifier(nameleft, nameright, name);
  53.981 -    TypeName typeName = new TypeName(nameleft, nameright, id);
  53.982 +    TypeName typeName = new TypeName(nameleft, nameright, name);
  53.983      idList.add(typeName);
  53.984      RESULT = idList;
  53.985  :}
  53.986  | subtype_mark_list:idList COMMA name:name
  53.987  {:
  53.988 -    Identifier id = new Identifier(nameleft, nameright, name);
  53.989 -    TypeName typeName = new TypeName(nameleft, nameright, id);
  53.990 +    TypeName typeName = new TypeName(nameleft, nameright, name);
  53.991      idList.add(typeName);
  53.992      RESULT = idList;
  53.993  :}
  53.994 @@ -2310,9 +2368,7 @@
  53.995  rename_unit ::= 
  53.996  PACKAGE:token compound_name:name RENAMES name:renames SEMICOLON:end
  53.997  {:
  53.998 -    Identifier packageNameId = new Identifier(nameleft, nameright, name);
  53.999 -    Identifier packageRenamesId = new Identifier(renamesleft, renamesright, renames);
 53.1000 -    PackageRenames packageRenames = new PackageRenames(tokenleft, endright, packageNameId, packageRenamesId);
 53.1001 +    PackageRenames packageRenames = new PackageRenames(tokenleft, endright, name, renames);
 53.1002      RESULT = packageRenames;
 53.1003  :}
 53.1004  | subprogram_specification RENAMES name SEMICOLON:end
 53.1005 @@ -2499,15 +2555,13 @@
 53.1006  name:name
 53.1007  {:
 53.1008      List idList = new LinkedList();
 53.1009 -    Identifier id = new Identifier(nameleft, nameright, name);
 53.1010 -    TaskName taskName = new TaskName(nameleft, nameright, id);
 53.1011 +    TaskName taskName = new TaskName(nameleft, nameright, name);
 53.1012      idList.add(taskName);
 53.1013      RESULT = idList;
 53.1014  :}
 53.1015  | task_name_list:idList COMMA name:name
 53.1016  {:
 53.1017 -    Identifier id = new Identifier(nameleft, nameright, name);
 53.1018 -    TaskName taskName = new TaskName(nameleft, nameright, id);
 53.1019 +    TaskName taskName = new TaskName(nameleft, nameright, name);
 53.1020      idList.add(taskName);
 53.1021      RESULT = idList;
 53.1022  :}
    54.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/parser/resources/Ada95Parser.cup	Wed Feb 24 15:52:30 2010 -0500
    54.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/parser/resources/Ada95Parser.cup	Sun Aug 22 23:37:11 2010 +0200
    54.3 @@ -144,8 +144,8 @@
    54.4   *    ISO/IEC 8652:1995(E)                               *
    54.5   *    with Technical Corrigendum 1                       *
    54.6   *    Language and Standard Libraries                    *
    54.7 - *    Copyright � 1992,1993,1994,1995 Intermetrics, Inc. *
    54.8 - *    Copyright � 2000 The MITRE Corporation, Inc.       *
    54.9 + *    Copyright © 1992,1993,1994,1995 Intermetrics, Inc. *
   54.10 + *    Copyright © 2000 The MITRE Corporation, Inc.       *
   54.11   * 2. http://www.adaic.com/standards/95lrm/grammar9x.y   *
   54.12   *                                                       *
   54.13   * Author: Andrea Lucarelli                              *
    55.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/resources/Bundle.properties	Wed Feb 24 15:52:30 2010 -0500
    55.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/resources/Bundle.properties	Sun Aug 22 23:37:11 2010 +0200
    55.3 @@ -35,6 +35,10 @@
    55.4  #
    55.5  # Portions Copyrighted 2008 Sun Microsystems, Inc.
    55.6  
    55.7 +Services/MIMEResolver/AdaResolver.xml=Ada Files
    55.8 +Services/MIMEResolver/AdsResolver.xml=Ada Specification Files
    55.9 +Services/MIMEResolver/AdbResolver.xml=Ada Body Files
   55.10 +
   55.11  # Used in fonts and colors options
   55.12  text/x-ada=Ada
   55.13  
    56.1 Binary file ada.editor/src/org/netbeans/modules/ada/editor/resources/icons/adb-16.png has changed
    57.1 Binary file ada.editor/src/org/netbeans/modules/ada/editor/resources/icons/ads-16.png has changed
    58.1 --- a/ada.editor/src/org/netbeans/modules/ada/editor/resources/layer.xml	Wed Feb 24 15:52:30 2010 -0500
    58.2 +++ b/ada.editor/src/org/netbeans/modules/ada/editor/resources/layer.xml	Sun Aug 22 23:37:11 2010 +0200
    58.3 @@ -44,8 +44,82 @@
    58.4      <folder name="Loaders">
    58.5          <folder name="text">
    58.6              <folder name="x-ada">
    58.7 -                <attr name="SystemFileSystem.icon" urlvalue="nbresloc:/org/netbeans/modules/ada/editor/resources/icons/ada-spec-16.png"/>
    58.8 +                <folder name="Actions">
    58.9 +                    <file name="OpenAction.instance">
   58.10 +                        <attr name="instanceClass" stringvalue="org.openide.actions.OpenAction"/>
   58.11 +                        <attr name="position" intvalue="100"/>
   58.12 +                    </file>
   58.13 +                    <file name="Separator1.instance">
   58.14 +                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
   58.15 +                        <attr name="position" intvalue="200"/>
   58.16 +                    </file>
   58.17 +                    <file name="CutAction.instance">
   58.18 +                        <attr name="instanceClass" stringvalue="org.openide.actions.CutAction"/>
   58.19 +                        <attr name="position" intvalue="300"/>
   58.20 +                    </file>
   58.21 +                    <file name="CopyAction.instance">
   58.22 +                        <attr name="instanceClass" stringvalue="org.openide.actions.CopyAction"/>
   58.23 +                        <attr name="position" intvalue="400"/>
   58.24 +                    </file>
   58.25 +                    <file name="PasteAction.instance">
   58.26 +                        <attr name="instanceClass" stringvalue="org.openide.actions.PasteAction"/>
   58.27 +                        <attr name="position" intvalue="500"/>
   58.28 +                    </file>
   58.29 +                    <file name="Separator2.instance">
   58.30 +                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
   58.31 +                        <attr name="position" intvalue="600"/>
   58.32 +                    </file>
   58.33 +                    <file name="NewAction.instance">
   58.34 +                        <attr name="instanceClass" stringvalue="org.openide.actions.NewAction"/>
   58.35 +                        <attr name="position" intvalue="700"/>
   58.36 +                    </file>
   58.37 +                    <file name="DeleteAction.instance">
   58.38 +                        <attr name="instanceClass" stringvalue="org.openide.actions.DeleteAction"/>
   58.39 +                        <attr name="position" intvalue="800"/>
   58.40 +                    </file>
   58.41 +                    <file name="RenameAction.instance">
   58.42 +                        <attr name="instanceClass" stringvalue="org.openide.actions.RenameAction"/>
   58.43 +                        <attr name="position" intvalue="900"/>
   58.44 +                    </file>
   58.45 +                    <file name="Separator3.instance">
   58.46 +                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
   58.47 +                        <attr name="position" intvalue="1000"/>
   58.48 +                    </file>
   58.49 +                    <file name="SaveAsTemplateAction.instance">
   58.50 +                        <attr name="instanceClass" stringvalue="org.openide.actions.SaveAsTemplateAction"/>
   58.51 +                        <attr name="position" intvalue="1100"/>
   58.52 +                    </file>
   58.53 +                    <file name="Separator4.instance">
   58.54 +                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
   58.55 +                        <attr name="position" intvalue="1200"/>
   58.56 +                    </file>
   58.57 +                    <file name="FileSystemAction.instance">
   58.58 +                        <attr name="instanceClass" stringvalue="org.openide.actions.FileSystemAction"/>
   58.59 +                        <attr name="position" intvalue="1300"/>
   58.60 +                    </file>
   58.61 +                    <file name="Separator5.instance">
   58.62 +                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
   58.63 +                        <attr name="position" intvalue="1400"/>
   58.64 +                    </file>
   58.65 +                    <file name="ToolsAction.instance">
   58.66 +                        <attr name="instanceClass" stringvalue="org.openide.actions.ToolsAction"/>
   58.67 +                        <attr name="position" intvalue="1500"/>
   58.68 +                    </file>
   58.69 +                    <file name="PropertiesAction.instance">
   58.70 +                        <attr name="instanceClass" stringvalue="org.openide.actions.PropertiesAction"/>
   58.71 +                        <attr name="position" intvalue="1600"/>
   58.72 +                    </file>
   58.73 +                </folder>
   58.74 +<!--                <attr name="SystemFileSystem.icon" urlvalue="nbresloc:/org/netbeans/modules/ada/editor/resources/icons/ada-spec-16.png"/>
   58.75                  <attr name="iconBase" stringvalue="org/netbeans/modules/ada/editor/resources/icons/ada-spec-16.png"/>
   58.76 +-->                <folder name="Factories">
   58.77 +                    <file name="AdaDataLoader.instance">
   58.78 +<!--                        <attr name="iconBase" stringvalue="org/netbeans/modules/ada/editor/resources/icons/ada-spec-16.png"/>
   58.79 +-->                        <attr name="dataObjectClass" stringvalue="org.netbeans.modules.ada.editor.AdaDataObject"/>
   58.80 +                        <attr name="instanceCreate" methodvalue="org.openide.loaders.DataLoaderPool.factory"/>
   58.81 +                        <attr name="mimeType" stringvalue="text/x-ada"/>
   58.82 +                    </file>
   58.83 +                </folder>
   58.84              </folder>
   58.85          </folder>
   58.86      </folder>
   58.87 @@ -64,21 +138,6 @@
   58.88          </folder>
   58.89      </folder>
   58.90  
   58.91 -    <!-- GSF 
   58.92 -    <folder name="GsfPlugins">
   58.93 -        <folder name="text">
   58.94 -            <folder name="x-ada">
   58.95 -                <file name="language.instance">
   58.96 -                    <attr name="instanceClass" stringvalue="org.netbeans.modules.ada.editor.AdaLanguage"/>
   58.97 -                </file>
   58.98 -                <file name="structure.instance">
   58.99 -                    <attr name="instanceClass" stringvalue="org.netbeans.modules.ada.editor.parser.AdaStructureScanner"/>
  58.100 -                </file>
  58.101 -            </folder>
  58.102 -        </folder>
  58.103 -    </folder>
  58.104 -    -->
  58.105 -    
  58.106      <!-- EDITORS -->
  58.107      <folder name="Editors">
  58.108          <folder name="text">
    59.1 --- a/ada.help/history.txt	Wed Feb 24 15:52:30 2010 -0500
    59.2 +++ b/ada.help/history.txt	Sun Aug 22 23:37:11 2010 +0200
    59.3 @@ -1,2 +1,9 @@
    59.4 +0.1.2: dd-mm-2010
    59.5 +- Uodate the help files for manage JVM.
    59.6 +
    59.7 +0.1.1: 13-10-2009
    59.8 +- Add the signing of the nbm file.
    59.9 +- Add the new help files.
   59.10 +
   59.11  0.1.0: 01-11-2008
   59.12  - Initial release.
   59.13 \ No newline at end of file
    60.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    60.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/ada-platform-manager.html	Sun Aug 22 23:37:11 2010 +0200
    60.3 @@ -0,0 +1,37 @@
    60.4 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    60.5 +<!--       
    60.6 +*     Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved.
    60.7 +*     Use is subject to license terms.
    60.8 +-->
    60.9 +<html>
   60.10 +<head>
   60.11 +<meta http-equiv="content-type" content="text/html; charset=UTF-8">
   60.12 +<title>Ada Platform Manager Dialog Box</title>
   60.13 +	<link rel="StyleSheet" href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/ide.css" type="text/css">
   60.14 +</head>
   60.15 +<body>
   60.16 +<h2>Ada Platform Manager Dialog Box</h2>
   60.17 +<p> <small><a href="#seealso">See Also</a>&nbsp; </small> 
   60.18 +<p>The Ada Platform Manager is a tool for registering different versions of
   60.19 +    the Ada Development Kit and other Ada tools that your programs depend
   60.20 +    on. The  dialog box lists all of your registered Ada Develepment Kit
   60.21 +    in the left pane and lists the Ada Tools that the IDE is running on as the Default
   60.22 +    Platform. The Ada Platform Manager is able to recognize the GNAT Java Byte code compiler.
   60.23 +<p>You can open the dialog box by choosing Tools &gt; Ada Platforms.
   60.24 +<p>Once you have registered an Ada Tool, you can configure a standard project to use
   60.25 +    that Ada Tool for compilation, execution, and debugging. Go to the project's Project
   60.26 +    Properties dialog box, select the Build node, and choose the appropriate
   60.27 +    Ada Tool in the Ada Platform combo box.
   60.28 +<dl> 
   60.29 +  <dt><a name="seealso">See Also</a></dt>
   60.30 +      <dd><a href="new-ada-application.html" title="">New Ada Application</a></dd>
   60.31 +      <dd><a href="new-from-existing-ada-sources.html" title="">New Ada Application with Existing Sources</a></dd>
   60.32 +      <dd><a href="customize-project-build.html" title="">Customizing the Project Settings: Build</a></dd>
   60.33 +</dl>
   60.34 +<hr>
   60.35 +<small><a href="../../credits.html">Legal Notices</a></small> 
   60.36 +<table border="0" cellpadding="50">
   60.37 +  <tr><td>&nbsp;</td></tr>
   60.38 +</table>
   60.39 +</body>
   60.40 +</html>
    61.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-build.html	Wed Feb 24 15:52:30 2010 -0500
    61.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-build.html	Sun Aug 22 23:37:11 2010 +0200
    61.3 @@ -63,36 +63,29 @@
    61.4  }
    61.5  -->
    61.6  </style>
    61.7 -    <title>Customizing the Project Settings: Run Configuration</title>
    61.8 +    <title>Customizing the Ada Project Settings: Build</title>
    61.9  </head>
   61.10    <body>
   61.11         <h2>
   61.12 -       Customizing the Project Settings: Build    </h2>
   61.13 +       Customizing the Ada Project Settings: Build    </h2>
   61.14  <p>
   61.15         <small><a href="#seealso">See Also</a></small>
   61.16      </p>
   61.17      <p>The Build panel of the Project Properties dialog box lets you lets you set the build tool for your projects:</p>
   61.18      <ul>
   61.19 -      <li><b>Ada Platform. </b>Specifies the Ada platform for building the project.</li>
   61.20 -      <li><b>Main Module. </b>Specifies the Ada main procedure.</li>
   61.21 +      <li><b>Ada Platform.</b> Specifies the Ada platform for building the project.</li>
   61.22 +      <li><b>Main Module.</b> Specifies the Ada main procedure.</li>
   61.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>
   61.24      </ul>
   61.25    <dl>
   61.26        <dt>
   61.27           <a name="seealso">See Also</a>      </dt>
   61.28 -      <dd><a href="new-ada-application.html" title=
   61.29 -        "Configurinag a New PHP Project withough Previously Developed Sources">New Ada Application</a><a href="new-project-configure_no_sources.html" title=
   61.30 -        "Configurinag a New PHP Project without Previously Developed Sources"></a> </dd>
   61.31 -      <dd> <a href="new-from-existing-ada-sources.html" title=
   61.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=
   61.33 -        "Importing Previously Developed Source Files into a New Project"></a></dd>
   61.34 -      <dd><a href="customize-project-sources.html" title=
   61.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=
   61.36 -        "Importing Previously Developed Source Files into a New Project"></a></dd>
   61.37 -      <dd><a href="customize-project-libraries.html" title=
   61.38 -        "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Libraries</a></dd>
   61.39 -      <dt></dt>
   61.40 -      <dd><a href="customize-project-run.html" title=
   61.41 -        "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Run</a></dd>
   61.42 +      <dd><a href="new-ada-application.html" title="">New Ada Application</a></dd>
   61.43 +      <dd><a href="new-from-existing-ada-sources.html" title="">New Ada Application with Existing Sources</a></dd>
   61.44 +      <dd><a href="customize-project-sources-folders.html" title="">Customizing the Project Settings: Sources Folders</a></dd>
   61.45 +      <dd><a href="customize-project-sources-naming.html" title="">Customizing the Project Settings: Sources Standards and Naming</a></dd>
   61.46 +      <dd><a href="customize-project-libraries.html" title="">Customizing the Project Settings: Libraries</a></dd>
   61.47 +      <dd><a href="customize-project-run.html" title="">Customizing the Project Settings: Run</a></dd>
   61.48        <dt></dt>
   61.49      <dd>&nbsp;</dd>
   61.50        </dl>
    62.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-libraries.html	Wed Feb 24 15:52:30 2010 -0500
    62.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-libraries.html	Sun Aug 22 23:37:11 2010 +0200
    62.3 @@ -63,31 +63,24 @@
    62.4  }
    62.5  -->
    62.6  </style>
    62.7 -    <title>Customizing the Project Settings: Include Path</title>
    62.8 +    <title>Customizing the Ada Project Settings: Libraries</title>
    62.9  </head>
   62.10    <body>
   62.11      <h2>
   62.12 -       Customizing the Project Settings: Libraries    </h2>
   62.13 +       Customizing the Ada Project Settings: Libraries    </h2>
   62.14  <p>
   62.15         <small><a href="#seealso">See Also</a></small>
   62.16      </p>
   62.17 -    <p><span class="style1">THIS FEATURE IS NOT DEVELOPED</span></p>
   62.18 +    <p><span class="style1">THIS FEATURE IS NOT IMPLEMENTED</span></p>
   62.19      <dl>
   62.20        <dt>
   62.21           <a name="seealso">See Also</a>      </dt>
   62.22 -      <dd><a href="new-ada-application.html" title=
   62.23 -        "Configurinag a New PHP Project withough Previously Developed Sources">New Ada Application</a><a href="new-project-configure_no_sources.html" title=
   62.24 -        "Configurinag a New PHP Project without Previously Developed Sources"></a> </dd>
   62.25 -      <dd> <a href="new-from-existing-ada-sources.html" title=
   62.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=
   62.27 -        "Importing Previously Developed Source Files into a New Project"></a></dd>
   62.28 -      <dd><a href="customize-project-sources.html" title=
   62.29 -        "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Sources</a></dd>
   62.30 -      <dd><a href="customize-project-build.html" title=
   62.31 -        "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Build</a></dd>
   62.32 -      <dt></dt>
   62.33 -      <dd><a href="customize-project-run.html" title=
   62.34 -        "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Run</a></dd>
   62.35 +      <dd><a href="new-ada-application.html" title="">New Ada Application</a></dd>
   62.36 +      <dd><a href="new-from-existing-ada-sources.html" title="">New Ada Application with Existing Sources</a></dd>
   62.37 +      <dd><a href="customize-project-sources-folders.html" title="">Customizing the Project Settings: Sources Folders</a></dd>
   62.38 +      <dd><a href="customize-project-sources-naming.html" title="">Customizing the Project Settings: Sources Standards and Naming</a></dd>
   62.39 +      <dd><a href="customize-project-build.html" title="">Customizing the Project Settings: Build</a></dd>
   62.40 +      <dd><a href="customize-project-run.html" title="">Customizing the Project Settings: Run</a></dd>
   62.41        <dt>&nbsp;</dt>
   62.42        <dd>&nbsp;</dd>
   62.43        </dl>
    63.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-run.html	Wed Feb 24 15:52:30 2010 -0500
    63.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-run.html	Sun Aug 22 23:37:11 2010 +0200
    63.3 @@ -63,11 +63,11 @@
    63.4  }
    63.5  -->
    63.6  </style>
    63.7 -    <title>Customizing the Project Settings: Run Configuration</title>
    63.8 +    <title>Customizing the Ada Project Settings: Run</title>
    63.9  </head>
   63.10    <body>
   63.11         <h2>
   63.12 -       Customizing the Project Settings: Run    </h2>
   63.13 +       Customizing the Ada Project Settings: Run    </h2>
   63.14  <p>
   63.15         <small><a href="#seealso">See Also</a></small>
   63.16      </p>
   63.17 @@ -76,20 +76,12 @@
   63.18  <dl>
   63.19        <dt>
   63.20           <a name="seealso">See Also</a>      </dt>
   63.21 -      <dd><a href="new-ada-application.html" title=
   63.22 -        "Configurinag a New PHP Project withough Previously Developed Sources">New Ada Application</a><a href="new-project-configure_no_sources.html" title=
   63.23 -        "Configurinag a New PHP Project without Previously Developed Sources"></a> </dd>
   63.24 -      <dd> <a href="new-from-existing-ada-sources.html" title=
   63.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=
   63.26 -        "Importing Previously Developed Source Files into a New Project"></a></dd>
   63.27 -      <dd><a href="customize-project-sources.html" title=
   63.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=
   63.29 -        "Importing Previously Developed Source Files into a New Project"></a></dd>
   63.30 -      <dd><a href="customize-project-libraries.html" title=
   63.31 -        "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Libraries</a></dd>
   63.32 -      <dt></dt>
   63.33 -      <dd><a href="customize-project-build.html" title=
   63.34 -        "Configurinag a New PHP Project withough Previously Developed Sources">Customizing the Project Settings: Build</a></dd>
   63.35 +      <dd><a href="new-ada-application.html" title="">New Ada Application</a></dd>
   63.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>
   63.37 +      <dd><a href="customize-project-sources-folders.html" title="">Customizing the Project Settings: Sources Folders</a></dd>
   63.38 +      <dd><a href="customize-project-sources-naming.html" title="">Customizing the Project Settings: Sources Standards and Naming</a></dd>
   63.39 +      <dd><a href="customize-project-libraries.html" title="">Customizing the Project Settings: Libraries</a></dd>
   63.40 +      <dd><a href="customize-project-build.html" title="">Customizing the Project Settings: Build</a></dd>
   63.41    <dd>&nbsp;</dd>
   63.42        </dl>
   63.43  <hr>
    64.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    64.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-sources-folders.html	Sun Aug 22 23:37:11 2010 +0200
    64.3 @@ -0,0 +1,130 @@
    64.4 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    64.5 +<!--
    64.6 +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
    64.7 +
    64.8 +Copyright 2008 Sun Microsystems, Inc. All rights reserved.
    64.9 +
   64.10 +The contents of this file are subject to the terms of either the GNU
   64.11 +General Public License Version 2 only ("GPL") or the Common
   64.12 +Development and Distribution License("CDDL") (collectively, the
   64.13 +"License"). You may not use this file except in compliance with the
   64.14 +License. You can obtain a copy of the License at
   64.15 +http://www.netbeans.org/cddl-gplv2.html
   64.16 +or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
   64.17 +specific language governing permissions and limitations under the
   64.18 +License.  When distributing the software, include this License Header
   64.19 +Notice in each file and include the License file at
   64.20 +nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
   64.21 +particular file as subject to the "Classpath" exception as provided
   64.22 +by Sun in the GPL Version 2 section of the License file that
   64.23 +accompanied this code. If applicable, add the following below the
   64.24 +License Header, with the fields enclosed by brackets [] replaced by
   64.25 +your own identifying information:
   64.26 +"Portions Copyrighted [year] [name of copyright owner]"
   64.27 +
   64.28 +If you wish your version of this file to be governed by only the CDDL
   64.29 +or only the GPL Version 2, indicate your decision by adding
   64.30 +"[Contributor] elects to include this software in this distribution
   64.31 +under the [CDDL or GPL Version 2] license." If you do not indicate a
   64.32 +single choice of license, a recipient has the option to distribute
   64.33 +your version of this file under either the CDDL, the GPL Version 2 or
   64.34 +to extend the choice of license to its licensees as provided above.
   64.35 +However, if you add GPL Version 2 code and therefore, elected the GPL
   64.36 +Version 2 license, then the option applies only if the new code is
   64.37 +made subject to such option by the copyright holder.
   64.38 +
   64.39 +Contributor(s):
   64.40 +
   64.41 +Portions Copyrighted 2008 Sun Microsystems, Inc.
   64.42 +-->
   64.43 +<html>
   64.44 +  <head>
   64.45 +    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
   64.46 +    <link rel="stylesheet" href=
   64.47 +    "nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/ide.css" type=
   64.48 +    "text/css">
   64.49 +    <meta content="Helen" name="generator">
   64.50 +<style type="text/css">
   64.51 +<!--
   64.52 +.comment {
   64.53 +  color: blue;
   64.54 +}
   64.55 +.change-bar {
   64.56 +  border-color: black;
   64.57 +  border-left-style: solid;
   64.58 +  border-left: thin;
   64.59 +  padding-left: 6px;
   64.60 +}
   64.61 +.deleted {
   64.62 +  text-decoration: line-through;
   64.63 +}
   64.64 +.style1 {
   64.65 +	color: #FF0000;
   64.66 +	font-weight: bold;
   64.67 +}
   64.68 +-->
   64.69 +</style>
   64.70 +    <title>Customizing the Ada Project Settings: Sources Folders</title>
   64.71 +  </head>
   64.72 +  <body>
   64.73 +    <h2>
   64.74 +       Customizing the Ada Project Settings: Sources Folders</h2>
   64.75 +<p>
   64.76 +       <small><a href="#seealso">See Also</a></small></p>
   64.77 +<p>The Sources panel enables you to view the location of the project folder,
   64.78 +	manage source and test package folders, as well as set the source level of
   64.79 +	the packages which the IDE will use.
   64.80 +You open the Ada Project Properties dialog box by right-clicking 
   64.81 +  any and choosing Properties.
   64.82 +<!--explain source level?-->
   64.83 +</p>
   64.84 +<p>Use the buttons on the right side of the panel to add, remove, and change
   64.85 +  the order of classpath elements. 
   64.86 +<ul>
   64.87 +  <li>The source root cannot already exist in another IDE project.
   64.88 +  <li>The source root cannot already be added to another compilation unit of the same project. For example, a source root that is registered under Test Packages cannot be added to the list of Source Packages.
   64.89 +  <li>If you have a source root that needs to be used by several projects, you should create a separate project for the source root and set up compilation dependencies between the projects.
   64.90 +</ul>
   64.91 +<p><b>Test Packages Folders</b></p>
   64.92 +<p class="style1">THIS FEATURE IS NOT IMPLEMENTED</p>
   64.93 +<p>You can use this pane to specify the folder that the IDE uses when creating Ada Unit tests. 
   64.94 +  By default, when you create a project the IDE creates a test packages folder called <tt>test</tt> with the label Test Packages.
   64.95 +  Use the buttons to the right of the list to remove the selected folder or to specify the folder that the IDE uses when creating tests.
   64.96 +  You can also modify the Label field to change how the folder is displayed in the Projects window.</p>
   64.97 +<p>To create Ada Unit tests with the IDE, a project must have a test packages folder.
   64.98 +  If the test packages folder for your project is missing or unavailable, you can create a new folder in your project and 
   64.99 +  then use this pane to designate the new folder as the test packages folder.</p>
  64.100 +<dl>
  64.101 +      <dt>
  64.102 +         <a name="seealso">See Also</a>      </dt>
  64.103 +      <dd>&nbsp;</dd>
  64.104 +      <dd><a href="new-ada-application.html" title="">New Ada Application</a></dd>
  64.105 +      <dd><a href="new-from-existing-ada-sources.html" title="">New Ada Application with Existing Sources</a></dd>
  64.106 +      <dd><a href="customize-project-sources-naming.html" title="">Customizing the Project Settings: Sources Standards and Naming</a></dd>
  64.107 +      <dd><a href="customize-project-libraries.html" title="">Customizing the Project Settings: Libraries</a></dd>
  64.108 +      <dd><a href="customize-project-build.html" title="">Customizing the Project Settings: Build</a></dd>
  64.109 +      <dd><a href="customize-project-run.html" title="">Customizing the Project Settings: Run</a></dd>
  64.110 +</dl>
  64.111 +<hr>
  64.112 +    <p>
  64.113 +       <small><a href="credits.html">Legal Notices</a></small>
  64.114 +    </p>
  64.115 +    <table border="0" cellpadding="150">
  64.116 +      <tr>
  64.117 +        <td>&nbsp;
  64.118 +          
  64.119 +        </td>
  64.120 +      </tr>
  64.121 +      <tr>
  64.122 +        <td>&nbsp;
  64.123 +          
  64.124 +        </td>
  64.125 +      </tr>
  64.126 +      <tr>
  64.127 +        <td>&nbsp;
  64.128 +          
  64.129 +        </td>
  64.130 +      </tr>
  64.131 +    </table>
  64.132 +  </body>
  64.133 +</html>
    65.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    65.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-sources-naming.html	Sun Aug 22 23:37:11 2010 +0200
    65.3 @@ -0,0 +1,121 @@
    65.4 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    65.5 +<!--
    65.6 +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
    65.7 +
    65.8 +Copyright 2008 Sun Microsystems, Inc. All rights reserved.
    65.9 +
   65.10 +The contents of this file are subject to the terms of either the GNU
   65.11 +General Public License Version 2 only ("GPL") or the Common
   65.12 +Development and Distribution License("CDDL") (collectively, the
   65.13 +"License"). You may not use this file except in compliance with the
   65.14 +License. You can obtain a copy of the License at
   65.15 +http://www.netbeans.org/cddl-gplv2.html
   65.16 +or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
   65.17 +specific language governing permissions and limitations under the
   65.18 +License.  When distributing the software, include this License Header
   65.19 +Notice in each file and include the License file at
   65.20 +nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
   65.21 +particular file as subject to the "Classpath" exception as provided
   65.22 +by Sun in the GPL Version 2 section of the License file that
   65.23 +accompanied this code. If applicable, add the following below the
   65.24 +License Header, with the fields enclosed by brackets [] replaced by
   65.25 +your own identifying information:
   65.26 +"Portions Copyrighted [year] [name of copyright owner]"
   65.27 +
   65.28 +If you wish your version of this file to be governed by only the CDDL
   65.29 +or only the GPL Version 2, indicate your decision by adding
   65.30 +"[Contributor] elects to include this software in this distribution
   65.31 +under the [CDDL or GPL Version 2] license." If you do not indicate a
   65.32 +single choice of license, a recipient has the option to distribute
   65.33 +your version of this file under either the CDDL, the GPL Version 2 or
   65.34 +to extend the choice of license to its licensees as provided above.
   65.35 +However, if you add GPL Version 2 code and therefore, elected the GPL
   65.36 +Version 2 license, then the option applies only if the new code is
   65.37 +made subject to such option by the copyright holder.
   65.38 +
   65.39 +Contributor(s):
   65.40 +
   65.41 +Portions Copyrighted 2008 Sun Microsystems, Inc.
   65.42 +-->
   65.43 +<html>
   65.44 +  <head>
   65.45 +    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
   65.46 +    <link rel="stylesheet" href=
   65.47 +    "nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/ide.css" type=
   65.48 +    "text/css">
   65.49 +    <meta content="Helen" name="generator">
   65.50 +<style type="text/css">
   65.51 +<!--
   65.52 +.comment {
   65.53 +  color: blue;
   65.54 +}
   65.55 +.change-bar {
   65.56 +  border-color: black;
   65.57 +  border-left-style: solid;
   65.58 +  border-left: thin;
   65.59 +  padding-left: 6px;
   65.60 +}
   65.61 +.deleted {
   65.62 +  text-decoration: line-through;
   65.63 +}
   65.64 +.style1 {
   65.65 +	color: #FF0000;
   65.66 +	font-weight: bold;
   65.67 +}
   65.68 +-->
   65.69 +</style>
   65.70 +    <title>Customizing the Ada Project Settings: Sources Standards and Naming</title>
   65.71 +  </head>
   65.72 +  <body>
   65.73 +    <h2>
   65.74 +       Customizing the Ada Project Settings: Sources Standards and Naming</h2>
   65.75 +<p>
   65.76 +       <small><a href="#seealso">See Also</a></small></p>
   65.77 +    <p>The Build panel of the Project Properties dialog box lets you lets you set the Standards and Naming for your projects:</p>
   65.78 +    <p>Standards:</p>
   65.79 +    <ul>
   65.80 +      <li><b>Ada Dialects.</b> Specifies the Ada dialects used for your project <span class="style1">(ONLY ADA95 IS IMPLEMENTED)</span>.</li>
   65.81 +      <li><b>Ada restrictions.</b> Specifies the Ada restrictions used for your project <span class="style1">(THIS FEATURE IS NOT IMPLEMENTED)</span>.</li>
   65.82 +    </ul>
   65.83 +    <p>File Naming:</p>
   65.84 +    <ul>
   65.85 +      <li><b>Package specification.</b> Specifies the rules for file naming for package specification.</li>
   65.86 +      <li><b>Package body.</b> Specifies the rules for file naming for package body.</li>
   65.87 +      <li><b>Separate.</b> Specifies the rules for file naming for separates.</li>
   65.88 +    </ul>
   65.89 +<dl>
   65.90 +      <dt>
   65.91 +         <a name="seealso">See Also</a>      </dt>
   65.92 +      <dd>&nbsp;</dd>
   65.93 +      <dd><a href="new-ada-application.html" title="">New Ada Application</a></dd>
   65.94 +      <dd><a href="new-from-existing-ada-sources.html" title="">New Ada Application with Existing Sources</a></dd>
   65.95 +      <dd><a href="customize-project-sources-folders.html" title="">Customizing the Project Settings: Sources Folders</a></dd>
   65.96 +      <dd><a href="customize-project-libraries.html" title="">Customizing the Project Settings: Libraries</a></dd>
   65.97 +      <dd><a href="customize-project-build.html" title="">Customizing the Project Settings: Build</a></dd>
   65.98 +      <dd><a href="customize-project-run.html" title="">Customizing the Project Settings: Run</a></dd>
   65.99 +      <dt></dt>
  65.100 +      <dt>&nbsp;</dt>
  65.101 +</dl>
  65.102 +<hr>
  65.103 +    <p>
  65.104 +       <small><a href="credits.html">Legal Notices</a></small>
  65.105 +    </p>
  65.106 +    <table border="0" cellpadding="150">
  65.107 +      <tr>
  65.108 +        <td>&nbsp;
  65.109 +          
  65.110 +        </td>
  65.111 +      </tr>
  65.112 +      <tr>
  65.113 +        <td>&nbsp;
  65.114 +          
  65.115 +        </td>
  65.116 +      </tr>
  65.117 +      <tr>
  65.118 +        <td>&nbsp;
  65.119 +          
  65.120 +        </td>
  65.121 +      </tr>
  65.122 +    </table>
  65.123 +  </body>
  65.124 +</html>
    66.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-sources.html	Wed Feb 24 15:52:30 2010 -0500
    66.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/customize-project-sources.html	Sun Aug 22 23:37:11 2010 +0200
    66.3 @@ -64,11 +64,11 @@
    66.4  }
    66.5  -->
    66.6  </style>
    66.7 -    <title>Customizing the Project Settings: Source Files Location</title>
    66.8 +    <title>Customizing the Ada Project Settings: Source Files Location</title>
    66.9    </head>
   66.10    <body>
   66.11      <h2>
   66.12 -       Customizing the Project Settings: Sources</h2>
   66.13 +       Customizing the Ada Project Settings: Sources</h2>
   66.14  <p>
   66.15         <small><a href="#seealso">See Also</a></small></p>
   66.16  <p>The Sources panel enables you to view the location of the project folder,
    67.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-hs.xml	Wed Feb 24 15:52:30 2010 -0500
    67.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-hs.xml	Sun Aug 22 23:37:11 2010 +0200
    67.3 @@ -40,22 +40,22 @@
    67.4  <!DOCTYPE helpset PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 2.0//EN"
    67.5                           "http://java.sun.com/products/javahelp/helpset_2_0.dtd">
    67.6  <helpset version="2.0">
    67.7 -	<title>Help for NetBeans IDE for Ada</title>
    67.8 -	<maps>
    67.9 -		<homeID>org.netbeans.modules.ada.help.about</homeID>
   67.10 -		<mapref location="help-map.xml"/>
   67.11 -	</maps>
   67.12 -	<view mergetype="javax.help.AppendMerge">
   67.13 -		<name>TOC</name>
   67.14 -		<label>Table of Contents</label>
   67.15 -		<type>javax.help.TOCView</type>
   67.16 -		<data>help-toc.xml</data>
   67.17 -	</view>
   67.18 +    <title>Help for NetBeans IDE for Ada</title>
   67.19 +    <maps>
   67.20 +        <homeID>org.netbeans.modules.ada.help.about</homeID>
   67.21 +        <mapref location="help-map.xml"/>
   67.22 +    </maps>
   67.23 +    <view mergetype="javax.help.AppendMerge">
   67.24 +        <name>TOC</name>
   67.25 +        <label>Table of Contents</label>
   67.26 +        <type>javax.help.TOCView</type>
   67.27 +        <data>help-toc.xml</data>
   67.28 +    </view>
   67.29  
   67.30 -	<view>
   67.31 -		<name>Search</name>
   67.32 -		<label>Search</label>
   67.33 -		<type>javax.help.SearchView</type>
   67.34 -		<data engine="com.sun.java.help.search.DefaultSearchEngine">JavaHelpSearch</data>
   67.35 -	</view>
   67.36 +    <view>
   67.37 +        <name>Search</name>
   67.38 +        <label>Search</label>
   67.39 +        <type>javax.help.SearchView</type>
   67.40 +        <data engine="com.sun.java.help.search.DefaultSearchEngine">JavaHelpSearch</data>
   67.41 +    </view>
   67.42  </helpset>
    68.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-map.xml	Wed Feb 24 15:52:30 2010 -0500
    68.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-map.xml	Sun Aug 22 23:37:11 2010 +0200
    68.3 @@ -40,11 +40,13 @@
    68.4  <!DOCTYPE map PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Map Version 2.0//EN"
    68.5                       "http://java.sun.com/products/javahelp/map_2_0.dtd">
    68.6  <map version="1.0">
    68.7 -	<mapID target="org.netbeans.modules.ada.help.about" url="help-about.html"/>
    68.8 -	<mapID target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.NEW" url="new-ada-application.html"/>
    68.9 -	<mapID target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.EXISTING" url="new-from-existing-ada-sources.html"/>
   68.10 -	<mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerSources" url="customize-project-sources.html"/>
   68.11 -	<mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerLibrariesPath" url="customize-project-libraries.html"/>
   68.12 -	<mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerBuild" url="customize-project-build.html"/>
   68.13 -	<mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerRun" url="customize-project-run.html"/>
   68.14 +    <mapID target="org.netbeans.modules.ada.help.about" url="help-about.html"/>
   68.15 +    <mapID target="org.netbeans.modules.ada.platform.ui.PlatformsCustomizer" url="ada-platform-manager.html"/>
   68.16 +    <mapID target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.NEW" url="new-ada-application.html"/>
   68.17 +    <mapID target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.EXISTING" url="new-from-existing-ada-sources.html"/>
   68.18 +    <mapID target="org.netbeans.modules.ada.project.options.ui.AdaGeneralOptionsPanel" url="customize-project-sources-naming.html"/>
   68.19 +    <mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerSources" url="customize-project-sources-folders.html"/>
   68.20 +    <mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerLibrariesPath" url="customize-project-libraries.html"/>
   68.21 +    <mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerBuild" url="customize-project-build.html"/>
   68.22 +    <mapID target="org.netbeans.modules.ada.project.ui.properties.CustomizerRun" url="customize-project-run.html"/>
   68.23  </map>
    69.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-toc.xml	Wed Feb 24 15:52:30 2010 -0500
    69.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/help-toc.xml	Sun Aug 22 23:37:11 2010 +0200
    69.3 @@ -40,13 +40,15 @@
    69.4  <!DOCTYPE toc PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 2.0//EN"
    69.5                       "http://java.sun.com/products/javahelp/toc_2_0.dtd">
    69.6  <toc version="2.0">
    69.7 -	<tocitem text="Ada Development" expand="false">
    69.8 -		<tocitem text="About Ada Development in the NetBeans IDE" target="org.netbeans.modules.ada.help.about" />
    69.9 -		<tocitem text="New Ada Application" target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.NEW" />
   69.10 -		<tocitem text="New Ada Application with Existing Sources" target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.EXISTING" />
   69.11 -		<tocitem text="Customizing the Project Settings: Sources" target="org.netbeans.modules.ada.project.ui.properties.CustomizerSources" />
   69.12 -		<tocitem text="Customizing the Project Settings: Libraries" target="org.netbeans.modules.ada.project.ui.properties.CustomizerLibrariesPath" />
   69.13 -		<tocitem text="Customizing the Project Settings: Build" target="org.netbeans.modules.ada.project.ui.properties.CustomizerBuild" />
   69.14 -		<tocitem text="Customizing the Project Settings: Run" target="org.netbeans.modules.ada.project.ui.properties.CustomizerRun" />
   69.15 -	</tocitem>
   69.16 +    <tocitem text="Ada Development" expand="false">
   69.17 +        <tocitem text="About Ada Development in the NetBeans IDE" target="org.netbeans.modules.ada.help.about" />
   69.18 +        <tocitem text="Ada Platform Manager Dialog Box" target="org.netbeans.modules.ada.platform.ui.PlatformsCustomizer" />
   69.19 +        <tocitem text="New Ada Application" target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.NEW" />
   69.20 +        <tocitem text="New Ada Application with Existing Sources" target="org.netbeans.modules.ada.project.ui.wizards.PanelConfigureProject.EXISTING" />
   69.21 +        <tocitem text="Customizing the Project Settings: Sources Standards and Naming" target="org.netbeans.modules.ada.project.options.ui.AdaGeneralOptionsPanel" />
   69.22 +        <tocitem text="Customizing the Project Settings: Sources Folders" target="org.netbeans.modules.ada.project.ui.properties.CustomizerSources" />
   69.23 +        <tocitem text="Customizing the Project Settings: Libraries" target="org.netbeans.modules.ada.project.ui.properties.CustomizerLibrariesPath" />
   69.24 +        <tocitem text="Customizing the Project Settings: Build" target="org.netbeans.modules.ada.project.ui.properties.CustomizerBuild" />
   69.25 +        <tocitem text="Customizing the Project Settings: Run" target="org.netbeans.modules.ada.project.ui.properties.CustomizerRun" />
   69.26 +    </tocitem>
   69.27  </toc>
    70.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/new-ada-application.html	Wed Feb 24 15:52:30 2010 -0500
    70.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/new-ada-application.html	Sun Aug 22 23:37:11 2010 +0200
    70.3 @@ -60,10 +60,10 @@
    70.4  }
    70.5  -->
    70.6  </style>
    70.7 -    <title>New PHP Project without Previously Developed Sources: Configure</title>
    70.8 +    <title>New Ada Application</title>
    70.9    </head>
   70.10    <body>
   70.11 -    <h2>New  Ada Application</h2>
   70.12 +    <h2>New Ada Application</h2>
   70.13    <p>
   70.14      <small><a href="#seealso">See Also</a></small></p>
   70.15  <p>The New Ada Application wizard enables you to create a new with a main class. 
    71.1 --- a/ada.help/javahelp/org/netbeans/modules/ada/help/docs/new-from-existing-ada-sources.html	Wed Feb 24 15:52:30 2010 -0500
    71.2 +++ b/ada.help/javahelp/org/netbeans/modules/ada/help/docs/new-from-existing-ada-sources.html	Sun Aug 22 23:37:11 2010 +0200
    71.3 @@ -60,18 +60,18 @@
    71.4  }
    71.5  -->
    71.6  </style>
    71.7 -    <title>New PHP Project without Previously Developed Sources: Run Configurations</title>
    71.8 +    <title>New Ada Application with Existing Sources</title>
    71.9    </head>
   71.10    <body>
   71.11      <h2>New Ada Application with Existing Sources</h2>
   71.12  <p>
   71.13         <small><a href="#seealso">See Also</a></small></p>
   71.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 
   71.15 -  opening the New Project wizard and selecting the Java Application with Existing Sources template from the General category.</p>
   71.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
   71.17 +  opening the New Project wizard and selecting the Ada Application with Existing Sources template from the General category.</p>
   71.18  <p>In the Name and Location page, you have to set the following properties: 
   71.19  <ul>
   71.20    <li><b>Project Name. </b>Specifies the display name of the project.</li>
   71.21 -  <li><b>Project Location. </b>Specifies the folder where you want to store the 
   71.22 +  <li><b>Project Folder. </b>Specifies the folder where you want to store the
   71.23      project metadata and source code. You can place the project folder in the 
   71.24      source folder or keep it in a separate location.</li>
   71.25    <li><b>Set as Main Project.</b> Sets the newly created project as the main 
    72.1 --- a/ada.help/manifest.mf	Wed Feb 24 15:52:30 2010 -0500
    72.2 +++ b/ada.help/manifest.mf	Sun Aug 22 23:37:11 2010 +0200
    72.3 @@ -3,5 +3,5 @@
    72.4  OpenIDE-Module-Layer: org/netbeans/modules/ada/help/layer.xml
    72.5  OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ada/help/Bundle.properties
    72.6  OpenIDE-Module-Requires: org.netbeans.api.javahelp.Help
    72.7 -OpenIDE-Module-Specification-Version: 0.1.0
    72.8 +OpenIDE-Module-Specification-Version: 0.1.2
    72.9  AutoUpdate-Show-In-Client: false
    73.1 --- a/ada.help/nbproject/project.properties	Wed Feb 24 15:52:30 2010 -0500
    73.2 +++ b/ada.help/nbproject/project.properties	Sun Aug 22 23:37:11 2010 +0200
    73.3 @@ -3,3 +3,5 @@
    73.4  javahelp.hs=adahelp.hs
    73.5  nbm.homepage=http://wiki.netbeans.org/Ada
    73.6  nbm.module.author=Andrea Lucarelli
    73.7 +keystore=nbproject/private/keystore
    73.8 +nbm_alias=nbada
    73.9 \ No newline at end of file
    74.1 --- a/ada.kit/build.xml	Wed Feb 24 15:52:30 2010 -0500
    74.2 +++ b/ada.kit/build.xml	Sun Aug 22 23:37:11 2010 +0200
    74.3 @@ -34,12 +34,12 @@
    74.4              </fileset>
    74.5          </move>
    74.6          <zip destfile="ada-nbms.zip">
    74.7 -			<zipfileset dir=".">
    74.8 -				<include name="*.nbm"/>
    74.9 -				<include name="history.txt"/>
   74.10 -				<include name="planned-features.txt"/>
   74.11 -			</zipfileset>
   74.12 -		</zip>
   74.13 +            <zipfileset dir=".">
   74.14 +                <include name="*.nbm"/>
   74.15 +                <include name="history.txt"/>
   74.16 +                <include name="planned-features.txt"/>
   74.17 +            </zipfileset>
   74.18 +        </zip>
   74.19          <delete>
   74.20              <fileset dir=".">
   74.21                  <include name="*.nbm"/>
    75.1 --- a/ada.kit/history.txt	Wed Feb 24 15:52:30 2010 -0500
    75.2 +++ b/ada.kit/history.txt	Sun Aug 22 23:37:11 2010 +0200
    75.3 @@ -1,5 +1,20 @@
    75.4 -0.1.9: dd-mm-2009
    75.5 -- Migrating GSF framework to CSL (Parsing & Indexing API)
    75.6 +0.2.1: 12-08-2010
    75.7 +- Add JVM compiler support.
    75.8 +- Migrate to NB6.8
    75.9 +
   75.10 +0.2.0: 13-10-2009
   75.11 +- Add the signing of the nbm files.
   75.12 +- Add the new help files.
   75.13 +- Fix the issue http://sourceforge.net/tracker/?func=detail&aid=2872967&group_id=248853&atid=1126624.
   75.14 +
   75.15 +0.1.9: 01-10-2009
   75.16 +- Migrates from GSF to CSL for new Parsing & Indexing API.
   75.17 +- Add improvements on ast parser.
   75.18 +- Improvements on the GPR file management.
   75.19 +- Sends of the arguments when the action RUN is invoked
   75.20 +- Ada files naming management (options and project properties).
   75.21 +- Fix https://sourceforge.net/tracker/?func=detail&aid=2868718&group_id=248853&atid=1126624.
   75.22 +- Fix https://sourceforge.net/tracker/?func=detail&aid=2863317&group_id=248853&atid=1126624.
   75.23  
   75.24  0.1.8: 13-09-2009
   75.25  - Add improvements on ast parser, navigator, instant renamer.
    76.1 --- a/ada.kit/manifest.mf	Wed Feb 24 15:52:30 2010 -0500
    76.2 +++ b/ada.kit/manifest.mf	Sun Aug 22 23:37:11 2010 +0200
    76.3 @@ -2,5 +2,5 @@
    76.4  AutoUpdate-Show-In-Client: true
    76.5  OpenIDE-Module: org.netbeans.modules.ada.kit
    76.6  OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ada/kit/Bundle.properties
    76.7 -OpenIDE-Module-Specification-Version: 0.1.9
    76.8 +OpenIDE-Module-Specification-Version: 0.2.1
    76.9  
    77.1 --- a/ada.kit/nbproject/project.properties	Wed Feb 24 15:52:30 2010 -0500
    77.2 +++ b/ada.kit/nbproject/project.properties	Sun Aug 22 23:37:11 2010 +0200
    77.3 @@ -5,3 +5,5 @@
    77.4  javac.source=1.5
    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.kit/nbproject/project.xml	Wed Feb 24 15:52:30 2010 -0500
    78.2 +++ b/ada.kit/nbproject/project.xml	Sun Aug 22 23:37:11 2010 +0200
    78.3 @@ -8,31 +8,31 @@
    78.4                  <dependency>
    78.5                      <code-name-base>org.netbeans.modules.ada.editor</code-name-base>
    78.6                      <run-dependency>
    78.7 -                        <specification-version>0.1.9</specification-version>
    78.8 +                        <specification-version>0.2.1</specification-version>
    78.9                      </run-dependency>
   78.10                  </dependency>
   78.11                  <dependency>
   78.12                      <code-name-base>org.netbeans.modules.ada.help</code-name-base>
   78.13                      <run-dependency>
   78.14 -                        <specification-version>0.1.0</specification-version>
   78.15 +                        <specification-version>0.1.2</specification-version>
   78.16                      </run-dependency>
   78.17                  </dependency>
   78.18                  <dependency>
   78.19                      <code-name-base>org.netbeans.modules.ada.options</code-name-base>
   78.20                      <run-dependency>
   78.21 -                        <specification-version>0.1.4</specification-version>
   78.22 +                        <specification-version>0.1.7</specification-version>
   78.23                      </run-dependency>
   78.24                  </dependency>
   78.25                  <dependency>
   78.26                      <code-name-base>org.netbeans.modules.ada.platform</code-name-base>
   78.27                      <run-dependency>
   78.28 -                        <specification-version>0.1.5</specification-version>
   78.29 +                        <specification-version>0.1.8</specification-version>
   78.30                      </run-dependency>
   78.31                  </dependency>
   78.32                  <dependency>
   78.33                      <code-name-base>org.netbeans.modules.ada.project</code-name-base>
   78.34                      <run-dependency>
   78.35 -                        <specification-version>0.1.7</specification-version>
   78.36 +                        <specification-version>0.1.9</specification-version>
   78.37                      </run-dependency>
   78.38                  </dependency>
   78.39              </module-dependencies>
    79.1 --- a/ada.options/history.txt	Wed Feb 24 15:52:30 2010 -0500
    79.2 +++ b/ada.options/history.txt	Sun Aug 22 23:37:11 2010 +0200
    79.3 @@ -1,5 +1,11 @@
    79.4 -0.1.5: dd-mm-2009
    79.5 -- TBD
    79.6 +0.1.7: 12-08-2010
    79.7 +- Update modules dependencies version.
    79.8 +
    79.9 +0.1.6: 13-10-2009
   79.10 +- Add the signing of the nbm files.
   79.11 +
   79.12 +0.1.5: 01-10-2009
   79.13 +- Move Ada Options Panel on Ada Project module.
   79.14  
   79.15  0.1.4: 13-09-2009
   79.16  - Update spec version.
    80.1 --- a/ada.options/manifest.mf	Wed Feb 24 15:52:30 2010 -0500
    80.2 +++ b/ada.options/manifest.mf	Sun Aug 22 23:37:11 2010 +0200
    80.3 @@ -3,5 +3,5 @@
    80.4  OpenIDE-Module: org.netbeans.modules.ada.options
    80.5  OpenIDE-Module-Layer: org/netbeans/modules/ada/options/resources/layer.xml
    80.6  OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ada/options/Bundle.properties
    80.7 -OpenIDE-Module-Specification-Version: 0.1.4
    80.8 +OpenIDE-Module-Specification-Version: 0.1.7
    80.9  
    81.1 --- a/ada.options/nbproject/project.properties	Wed Feb 24 15:52:30 2010 -0500
    81.2 +++ b/ada.options/nbproject/project.properties	Sun Aug 22 23:37:11 2010 +0200
    81.3 @@ -2,3 +2,5 @@
    81.4  javac.compilerargs=-Xlint -Xlint:-serial
    81.5  nbm.homepage=http://wiki.netbeans.org/Ada
    81.6  nbm.module.author=Andrea Lucarelli
    81.7 +keystore=nbproject/private/keystore
    81.8 +nbm_alias=nbada
    81.9 \ No newline at end of file
    82.1 --- a/ada.options/nbproject/project.xml	Wed Feb 24 15:52:30 2010 -0500
    82.2 +++ b/ada.options/nbproject/project.xml	Sun Aug 22 23:37:11 2010 +0200
    82.3 @@ -11,7 +11,7 @@
    82.4                      <compile-dependency/>
    82.5                      <run-dependency>
    82.6                          <release-version>1</release-version>
    82.7 -                        <specification-version>1.6.1</specification-version>
    82.8 +                        <specification-version>1.10.1</specification-version>
    82.9                      </run-dependency>
   82.10                  </dependency>
   82.11                  <dependency>
   82.12 @@ -19,7 +19,7 @@
   82.13                      <build-prerequisite/>
   82.14                      <compile-dependency/>
   82.15                      <run-dependency>
   82.16 -                        <specification-version>0.1.9</specification-version>
   82.17 +                        <specification-version>0.2.1</specification-version>
   82.18                      </run-dependency>
   82.19                  </dependency>
   82.20                  <dependency>
   82.21 @@ -27,7 +27,7 @@
   82.22                      <build-prerequisite/>
   82.23                      <compile-dependency/>
   82.24                      <run-dependency>
   82.25 -                        <specification-version>0.1.7</specification-version>
   82.26 +                        <specification-version>0.1.9</specification-version>
   82.27                      </run-dependency>
   82.28                  </dependency>
   82.29                  <dependency>
   82.30 @@ -36,7 +36,7 @@
   82.31                      <compile-dependency/>
   82.32                      <run-dependency>
   82.33                          <release-version>1</release-version>
   82.34 -                        <specification-version>1.10.1</specification-version>
   82.35 +                        <specification-version>1.16.2</specification-version>
   82.36                      </run-dependency>
   82.37                  </dependency>
   82.38                  <dependency>
   82.39 @@ -44,7 +44,7 @@
   82.40                      <build-prerequisite/>
   82.41                      <compile-dependency/>
   82.42                      <run-dependency>
   82.43 -                        <specification-version>7.3.1</specification-version>
   82.44 +                        <specification-version>7.19.1</specification-version>
   82.45                      </run-dependency>
   82.46                  </dependency>
   82.47                  <dependency>
   82.48 @@ -52,7 +52,7 @@
   82.49                      <build-prerequisite/>
   82.50                      <compile-dependency/>
   82.51                      <run-dependency>
   82.52 -                        <specification-version>7.18.1</specification-version>
   82.53 +                        <specification-version>7.31.2</specification-version>
   82.54                      </run-dependency>
   82.55                  </dependency>
   82.56              </module-dependencies>
    83.1 --- a/ada.options/src/org/netbeans/modules/ada/options/AdaOptionsPanelController.java	Wed Feb 24 15:52:30 2010 -0500
    83.2 +++ b/ada.options/src/org/netbeans/modules/ada/options/AdaOptionsPanelController.java	Sun Aug 22 23:37:11 2010 +0200
    83.3 @@ -39,7 +39,6 @@
    83.4  
    83.5  package org.netbeans.modules.ada.options;
    83.6  
    83.7 -import org.netbeans.modules.ada.project.options.AdaGeneralOptionsPanel;
    83.8  import java.beans.PropertyChangeListener;
    83.9  import java.beans.PropertyChangeSupport;
   83.10  import java.util.Collection;
   83.11 @@ -52,6 +51,7 @@
   83.12  import javax.swing.event.ChangeEvent;
   83.13  import javax.swing.event.ChangeListener;
   83.14  import org.netbeans.modules.ada.project.options.AdaOptions;
   83.15 +import org.netbeans.modules.ada.project.options.ui.AdaGeneralOptionsPanel;
   83.16  import org.netbeans.modules.ada.editor.formatter.ui.FormattingOptionsPanel;
   83.17  import org.netbeans.spi.options.AdvancedOption;
   83.18  import org.netbeans.spi.options.OptionsPanelController;
   83.19 @@ -63,7 +63,7 @@
   83.20  /**
   83.21   * @author Andrea Lucarelli
   83.22   */
   83.23 -public class AdaOptionsPanelController extends OptionsPanelController implements ChangeListener {
   83.24 +public class AdaOptionsPanelController extends OptionsPanelController implements ChangeListener, HelpCtx.Provider {
   83.25  
   83.26      private static final String TAB_FOLDER = "org.netbeans.modules.ada/options/"; // NOI18N
   83.27      private final AdaGeneralOptionsPanel generalOptionsPanel = new AdaGeneralOptionsPanel(null);
   83.28 @@ -184,7 +184,7 @@
   83.29  
   83.30      @Override
   83.31      public HelpCtx getHelpCtx() {
   83.32 -        return null;
   83.33 +        return new HelpCtx(AdaGeneralOptionsPanel.class);
   83.34      }
   83.35  
   83.36      @Override
   83.37 @@ -207,6 +207,17 @@
   83.38  
   83.39      private boolean validateComponent() {
   83.40          // errors
   83.41 +        String postfixSpec = generalOptionsPanel.getPkgSpecPostfix();
   83.42 +        String postfixBody = generalOptionsPanel.getPkgBodyPostfix();
   83.43 +        String specExt = generalOptionsPanel.getPkgSpecExt();
   83.44 +        String bodyExt = generalOptionsPanel.getPkgBodyExt();
   83.45 +
   83.46 +        if (specExt.equalsIgnoreCase(bodyExt)) {
   83.47 +            if (postfixSpec.equalsIgnoreCase(postfixBody)) {
   83.48 +                generalOptionsPanel.setError(NbBundle.getMessage(AdaOptionsPanelController.class, "MSG_ExtetionsError"));
   83.49 +                return false;
   83.50 +            }
   83.51 +        }
   83.52  
   83.53          // everything ok
   83.54          generalOptionsPanel.setError(" "); // NOI18N
    84.1 --- a/ada.options/src/org/netbeans/modules/ada/options/Bundle.properties	Wed Feb 24 15:52:30 2010 -0500
    84.2 +++ b/ada.options/src/org/netbeans/modules/ada/options/Bundle.properties	Sun Aug 22 23:37:11 2010 +0200
    84.3 @@ -47,4 +47,5 @@
    84.4  
    84.5  # AdaOptionsPanelController
    84.6  LBL_GeneralOPtions=General
    84.7 -LBL_FormattingPtions=Formatting
    84.8 \ No newline at end of file
    84.9 +LBL_FormattingPtions=Formatting
   84.10 +MSG_ExtetionsError= Body Postfix (".ada") cannot be the same as Spec Postfix.
    85.1 --- a/ada.platform/history.txt	Wed Feb 24 15:52:30 2010 -0500
    85.2 +++ b/ada.platform/history.txt	Sun Aug 22 23:37:11 2010 +0200
    85.3 @@ -1,3 +1,15 @@
    85.4 +0.1.8: 12-08-2010
    85.5 +- Add JVM compiler support.
    85.6 +
    85.7 +0.1.7: 13-10-2009
    85.8 +- Add the signing of the nbm files.
    85.9 +- Fix the issue http://sourceforge.net/tracker/?func=detail&aid=2872967&group_id=248853&atid=1126624.
   85.10 +
   85.11 +0.1.6: 01-10-2009
   85.12 +- Fix https://sourceforge.net/tracker/?func=detail&aid=2868718&group_id=248853&atid=1126624.
   85.13 +- Improvements on the GPR file management.
   85.14 +- Sends of the arguments when the action RUN is invoked
   85.15 +
   85.16  0.1.5: 13-09-2009
   85.17  - Add improvements for gpr handling.
   85.18  
    86.1 --- a/ada.platform/manifest.mf	Wed Feb 24 15:52:30 2010 -0500
    86.2 +++ b/ada.platform/manifest.mf	Sun Aug 22 23:37:11 2010 +0200
    86.3 @@ -3,5 +3,5 @@
    86.4  OpenIDE-Module: org.netbeans.modules.ada.platform
    86.5  OpenIDE-Module-Layer: org/netbeans/modules/ada/platform/resources/layer.xml
    86.6  OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ada/platform/Bundle.properties
    86.7 -OpenIDE-Module-Specification-Version: 0.1.5
    86.8 +OpenIDE-Module-Specification-Version: 0.1.8
    86.9  
    87.1 --- a/ada.platform/nbproject/project.properties	Wed Feb 24 15:52:30 2010 -0500
    87.2 +++ b/ada.platform/nbproject/project.properties	Sun Aug 22 23:37:11 2010 +0200
    87.3 @@ -2,3 +2,5 @@
    87.4  javac.compilerargs=-Xlint -Xlint:-serial
    87.5  nbm.homepage=http://wiki.netbeans.org/Ada
    87.6  nbm.module.author=Andrea Lucarelli
    87.7 +keystore=nbproject/private/keystore
    87.8 +nbm_alias=nbada
    87.9 \ No newline at end of file
    88.1 --- a/ada.platform/nbproject/project.xml	Wed Feb 24 15:52:30 2010 -0500
    88.2 +++ b/ada.platform/nbproject/project.xml	Sun Aug 22 23:37:11 2010 +0200
    88.3 @@ -11,7 +11,7 @@
    88.4                      <compile-dependency/>
    88.5                      <run-dependency>
    88.6                          <release-version>1</release-version>
    88.7 -                        <specification-version>1.6</specification-version>
    88.8 +                        <specification-version>1.10.1</specification-version>
    88.9                      </run-dependency>
   88.10                  </dependency>
   88.11                  <dependency>
   88.12 @@ -20,7 +20,7 @@
   88.13                      <compile-dependency/>
   88.14                      <run-dependency>
   88.15                          <release-version>1</release-version>
   88.16 -                        <specification-version>1.12</specification-version>
   88.17 +                        <specification-version>1.16.1</specification-version>
   88.18                      </run-dependency>
   88.19                  </dependency>
   88.20                  <dependency>
   88.21 @@ -29,7 +29,7 @@
   88.22                      <compile-dependency/>
   88.23                      <run-dependency>
   88.24                          <release-version>2</release-version>
   88.25 -                        <specification-version>1.13</specification-version>
   88.26 +                        <specification-version>1.18.1</specification-version>
   88.27                      </run-dependency>
   88.28                  </dependency>
   88.29                  <dependency>
   88.30 @@ -38,7 +38,7 @@
   88.31                      <compile-dependency/>
   88.32                      <run-dependency>
   88.33                          <release-version>1</release-version>
   88.34 -                        <specification-version>1.26.1</specification-version>
   88.35 +                        <specification-version>1.35.1</specification-version>
   88.36                      </run-dependency>
   88.37                  </dependency>
   88.38                  <dependency>
   88.39 @@ -47,7 +47,7 @@
   88.40                      <compile-dependency/>
   88.41                      <run-dependency>
   88.42                          <release-version>1</release-version>
   88.43 -                        <specification-version>1.19</specification-version>
   88.44 +                        <specification-version>1.28.1</specification-version>
   88.45                      </run-dependency>
   88.46                  </dependency>
   88.47                  <dependency>
   88.48 @@ -56,7 +56,7 @@
   88.49                      <compile-dependency/>
   88.50                      <run-dependency>
   88.51                          <release-version>1</release-version>
   88.52 -                        <specification-version>1.31</specification-version>
   88.53 +                        <specification-version>1.40.1</specification-version>
   88.54                      </run-dependency>
   88.55                  </dependency>
   88.56                  <dependency>
   88.57 @@ -64,7 +64,7 @@
   88.58                      <build-prerequisite/>
   88.59                      <compile-dependency/>
   88.60                      <run-dependency>
   88.61 -                        <specification-version>7.3</specification-version>
   88.62 +                        <specification-version>7.19.1</specification-version>
   88.63                      </run-dependency>
   88.64                  </dependency>
   88.65                  <dependency>
   88.66 @@ -72,7 +72,7 @@
   88.67                      <build-prerequisite/>
   88.68                      <compile-dependency/>
   88.69                      <run-dependency>
   88.70 -                        <specification-version>7.8</specification-version>
   88.71 +                        <specification-version>7.13.1</specification-version>
   88.72                      </run-dependency>
   88.73                  </dependency>
   88.74                  <dependency>
   88.75 @@ -80,7 +80,7 @@
   88.76                      <build-prerequisite/>
   88.77                      <compile-dependency/>
   88.78                      <run-dependency>
   88.79 -                        <specification-version>7.13</specification-version>
   88.80 +                        <specification-version>7.32.1</specification-version>
   88.81                      </run-dependency>
   88.82                  </dependency>
   88.83                  <dependency>
   88.84 @@ -88,7 +88,7 @@
   88.85                      <build-prerequisite/>
   88.86                      <compile-dependency/>
   88.87                      <run-dependency>
   88.88 -                        <specification-version>7.7</specification-version>
   88.89 +                        <specification-version>7.13.1</specification-version>
   88.90                      </run-dependency>
   88.91                  </dependency>
   88.92                  <dependency>
   88.93 @@ -96,7 +96,7 @@
   88.94                      <build-prerequisite/>
   88.95                      <compile-dependency/>
   88.96                      <run-dependency>
   88.97 -                        <specification-version>7.18.1</specification-version>
   88.98 +                        <specification-version>7.31.2</specification-version>
   88.99                      </run-dependency>
  88.100                  </dependency>
  88.101              </module-dependencies>
  88.102 @@ -105,6 +105,8 @@
  88.103                  <package>org.netbeans.api.ada.platform</package>
  88.104                  <package>org.netbeans.modules.ada.platform.compiler.gnat</package>
  88.105                  <package>org.netbeans.modules.ada.platform.compiler.gnat.commands</package>
  88.106 +                <package>org.netbeans.modules.ada.platform.compiler.jgnat</package>
  88.107 +                <package>org.netbeans.modules.ada.platform.compiler.jgnat.commands</package>
  88.108                  <package>org.netbeans.modules.ada.platform.ui</package>
  88.109                  <package>org.netbeans.spi.ada.platform</package>
  88.110              </friend-packages>
    89.1 --- a/ada.platform/src/org/netbeans/api/ada/platform/AdaAutoDetector.java	Wed Feb 24 15:52:30 2010 -0500
    89.2 +++ b/ada.platform/src/org/netbeans/api/ada/platform/AdaAutoDetector.java	Sun Aug 22 23:37:11 2010 +0200
    89.3 @@ -40,7 +40,6 @@
    89.4  
    89.5  import java.io.File;
    89.6  import java.util.ArrayList;
    89.7 -import java.util.logging.Level;
    89.8  import java.util.logging.Logger;
    89.9  import org.openide.util.Utilities;
   89.10  
   89.11 @@ -82,7 +81,11 @@
   89.12                      (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("gnat")) ||
   89.13                      (dir.getName().toLowerCase().contains("gnat")) ||
   89.14                      (dir.getName().toLowerCase().contains("2008") && dir.getPath().toLowerCase().contains("gnat")) ||
   89.15 -                    (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("gnat"))) {
   89.16 +                    (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("gnat")) ||
   89.17 +                    (dir.getName().toLowerCase().contains("gnat")) ||
   89.18 +                    (dir.getName().toLowerCase().contains("2009") && dir.getPath().toLowerCase().contains("gnat")) ||
   89.19 +                    (dir.getName().toLowerCase().contains("bin") && dir.getPath().toLowerCase().contains("gnat"))
   89.20 +                    ) {
   89.21                      String[] children = dir.list();
   89.22                      if (children != null) {
   89.23                          for (int i = 0; i < children.length; i++) {
    90.1 --- a/ada.platform/src/org/netbeans/api/ada/platform/AdaExecution.java	Wed Feb 24 15:52:30 2010 -0500
    90.2 +++ b/ada.platform/src/org/netbeans/api/ada/platform/AdaExecution.java	Sun Aug 22 23:37:11 2010 +0200
    90.3 @@ -64,6 +64,7 @@
    90.4      private String commandArgs;
    90.5      private String displayName;
    90.6      private boolean redirect;
    90.7 +    
    90.8      private ExecutionDescriptor descriptor = new ExecutionDescriptor().frontWindow(true).controllable(true).inputVisible(true).showProgress(true).showSuspended(true);
    90.9  
   90.10      /**
    91.1 --- a/ada.platform/src/org/netbeans/api/ada/platform/AdaOutputProcessor.java	Wed Feb 24 15:52:30 2010 -0500
    91.2 +++ b/ada.platform/src/org/netbeans/api/ada/platform/AdaOutputProcessor.java	Sun Aug 22 23:37:11 2010 +0200
    91.3 @@ -48,12 +48,14 @@
    91.4   */
    91.5  public class AdaOutputProcessor implements InputProcessor {
    91.6      StringBuilder builder = new StringBuilder();
    91.7 +
    91.8 +    @Override
    91.9      public void processInput(char[] input) throws IOException {
   91.10          builder.append(input);
   91.11      }
   91.12  
   91.13      public void reset() throws IOException {
   91.14 -        //builder = new StringBuilder();
   91.15 +        builder.setLength(0);
   91.16      }
   91.17  
   91.18      public void close() throws IOException {
    92.1 --- a/ada.platform/src/org/netbeans/api/ada/platform/AdaPlatform.java	Wed Feb 24 15:52:30 2010 -0500
    92.2 +++ b/ada.platform/src/org/netbeans/api/ada/platform/AdaPlatform.java	Sun Aug 22 23:37:11 2010 +0200
    92.3 @@ -53,36 +53,44 @@
    92.4      private String info;
    92.5  
    92.6      private String compilerPath;
    92.7 -    private String compilerCommand;
    92.8 -    private String compilerArgs;
    92.9 -    private boolean dirty;
   92.10 +    private String gnatCompilerCommand;
   92.11 +    private String gnatCompilerArgs;
   92.12 +    private String jvmGnatCompilerCommand;
   92.13 +    private String jvmGnatCompilerArgs;
   92.14 +
   92.15 +    public String getJvmGnatCompilerArgs() {
   92.16 +        return jvmGnatCompilerArgs;
   92.17 +    }
   92.18 +
   92.19 +    public void setJvmGnatCompilerArgs(String jvmGnatCompilerArgs) {
   92.20 +        this.jvmGnatCompilerArgs = jvmGnatCompilerArgs;
   92.21 +    }
   92.22 +
   92.23 +    public String getJvmGnatCompilerCommand() {
   92.24 +        return jvmGnatCompilerCommand;
   92.25 +    }
   92.26 +
   92.27 +    public void setJvmGnatCompilerCommand(String jvmGnatCompilerCommand) {
   92.28 +        this.jvmGnatCompilerCommand = jvmGnatCompilerCommand;
   92.29 +    }
   92.30  
   92.31      public AdaPlatform() {
   92.32      }
   92.33  
   92.34 -    public String getCompilerArgs() {
   92.35 -        return compilerArgs;
   92.36 +    public String getGnatCompilerArgs() {
   92.37 +        return gnatCompilerArgs;
   92.38      }
   92.39  
   92.40 -    public void setCompilerArgs(String compilerArgs) {
   92.41 -        this.compilerArgs = compilerArgs;
   92.42 +    public void setGnatCompilerArgs(String gnatCompilerArgs) {
   92.43 +        this.gnatCompilerArgs = gnatCompilerArgs;
   92.44      }
   92.45  
   92.46 -    public String getInterpreterCommand() {
   92.47 -        return compilerCommand;
   92.48 +    public String getGnatCompilerCommand() {
   92.49 +        return gnatCompilerCommand;
   92.50      }
   92.51  
   92.52 -    public void setCompilerCommand(String compilerCommand) {
   92.53 -        this.compilerCommand = compilerCommand;
   92.54 -    }
   92.55 -
   92.56 -    public String getCompilerCommand() {
   92.57 -        return compilerCommand;
   92.58 -    }
   92.59 -
   92.60 -    /** Has this platform been changed since the last load? */
   92.61 -    public boolean isDirty() {
   92.62 -        return dirty;
   92.63 +    public void setGnatCompilerCommand(String gnatCompilerCommand) {
   92.64 +        this.gnatCompilerCommand = gnatCompilerCommand;
   92.65      }
   92.66  
   92.67      public String getName() {
   92.68 @@ -108,22 +116,4 @@
   92.69      public void setCompilerPath(String compilerPath) {
   92.70          this.compilerPath = compilerPath;
   92.71      }
   92.72 -
   92.73 -    /**
   92.74 -     * Build a path string from arraylist
   92.75 -     * @param path
   92.76 -     * @return
   92.77 -     */
   92.78 -    public static String buildPath(ArrayList<String> path){
   92.79 -        StringBuilder pathString = new StringBuilder();
   92.80 -        int count = 0;
   92.81 -        for(String pathEle: path){
   92.82 -            pathString.append(pathEle);
   92.83 -            if (count++ < path.size()){
   92.84 -                pathString.append(File.pathSeparator);
   92.85 -            }
   92.86 -        }
   92.87 -        return pathString.toString();
   92.88 -    }
   92.89 -
   92.90  }
    93.1 --- a/ada.platform/src/org/netbeans/api/ada/platform/AdaPlatformManager.java	Wed Feb 24 15:52:30 2010 -0500
    93.2 +++ b/ada.platform/src/org/netbeans/api/ada/platform/AdaPlatformManager.java	Sun Aug 22 23:37:11 2010 +0200
    93.3 @@ -69,9 +69,14 @@
    93.4  public class AdaPlatformManager implements Serializable {
    93.5  
    93.6      private static final Logger LOGGER = Logger.getLogger(AdaPlatformManager.class.getName());
    93.7 +    
    93.8 +    // Ada platforms properties
    93.9      private static final String PLATFORM_FILE = System.getProperty("netbeans.user") + "/config/ada-platforms.xml";
   93.10      private static final String GNAT_EXECUTABLE_NAME = "gnat"; // NOI18N
   93.11 +    private static final String JVM_GNAT_EXECUTABLE_NAME = "jvm-gnat"; // NOI18N
   93.12      private static final String GNAT_PLATFORM_NAME = "GNAT";
   93.13 +    
   93.14 +    // Ada platforms hash table
   93.15      private HashMap<String, AdaPlatform> platforms;
   93.16      private String defaultPlatform;
   93.17  
   93.18 @@ -211,8 +216,12 @@
   93.19  
   93.20      public AdaPlatform findPlatformProperties(FileObject folder) throws AdaException {
   93.21          AdaPlatform platform = null;
   93.22 -        String id = null;
   93.23 -
   93.24 +        File tool = null;
   93.25 +        AdaExecution adaExec = null;
   93.26 +        ReaderInputStream is = null;
   93.27 +        BufferedReader reader = null;
   93.28 +        String line = null;
   93.29 +        
   93.30          // Find GNAT Tool
   93.31          // ??? Now only GNAT platform is supported
   93.32          FileObject gnat = findTool(GNAT_EXECUTABLE_NAME, folder);
   93.33 @@ -220,8 +229,8 @@
   93.34          if (gnat != null) {
   93.35  
   93.36              try {
   93.37 -                File tool = FileUtil.toFile(gnat);
   93.38 -                AdaExecution adaExec = new AdaExecution();
   93.39 +                tool = FileUtil.toFile(gnat);
   93.40 +                adaExec = new AdaExecution();
   93.41                  adaExec.setCommand(tool.getPath());
   93.42                  adaExec.setDisplayName("Ada Platform Properties");
   93.43                  adaExec.setShowControls(false);
   93.44 @@ -234,9 +243,9 @@
   93.45                  Future<Integer> result = adaExec.run();
   93.46                  Integer value = result.get();
   93.47                  if (value.intValue() == 0) {
   93.48 -                    ReaderInputStream is = new ReaderInputStream(adaExec.getOutput());
   93.49 -                    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
   93.50 -                    String line = null;
   93.51 +                    is = new ReaderInputStream(adaExec.getOutput());
   93.52 +                    reader = new BufferedReader(new InputStreamReader(is));
   93.53 +                    line = null;
   93.54                      try {
   93.55                          while ((line = reader.readLine()) != null) {
   93.56                              if (line.contains(GNAT_PLATFORM_NAME)) {
   93.57 @@ -245,16 +254,12 @@
   93.58                                  int endIndex2 = line.indexOf(")") < 0 ? line.length() : line.indexOf(")");
   93.59  
   93.60                                  platform = new AdaPlatform();
   93.61 -                                platform.setName(GNAT_PLATFORM_NAME + line.substring(startIndex, endIndex));
   93.62 +                                platform.setName((GNAT_PLATFORM_NAME + line.substring(startIndex, endIndex)).trim());
   93.63                                  if (endIndex < endIndex2) {
   93.64                                      platform.setInfo(line.substring(endIndex + 1, endIndex2));
   93.65                                  }
   93.66 -                                platform.setCompilerCommand(GNAT_EXECUTABLE_NAME);
   93.67 +                                platform.setGnatCompilerCommand(GNAT_EXECUTABLE_NAME);
   93.68                                  platform.setCompilerPath(tool.getPath().substring(0, tool.getPath().lastIndexOf(tool.getName())));
   93.69 -                                if (platforms.size() == 0) {
   93.70 -                                    setDefaultPlatform(platform.getName());
   93.71 -                                }
   93.72 -                                platforms.put(platform.getName(), platform);
   93.73                                  break;
   93.74                              }
   93.75                          }
   93.76 @@ -277,6 +282,64 @@
   93.77                  Exceptions.printStackTrace(ex);
   93.78              }
   93.79          }
   93.80 +
   93.81 +        FileObject jvmgnat = findTool(JVM_GNAT_EXECUTABLE_NAME, folder);
   93.82 +
   93.83 +        if (jvmgnat != null) {
   93.84 +
   93.85 +            try {
   93.86 +                tool = FileUtil.toFile(jvmgnat);
   93.87 +                adaExec = new AdaExecution();
   93.88 +                adaExec.setCommand(tool.getPath());
   93.89 +                adaExec.setDisplayName("Ada Platform Properties");
   93.90 +                adaExec.setShowControls(false);
   93.91 +                adaExec.setShowInput(false);
   93.92 +                adaExec.setShowWindow(false);
   93.93 +                adaExec.setShowProgress(false);
   93.94 +                adaExec.setShowSuspended(false);
   93.95 +                adaExec.attachOutputProcessor();
   93.96 +                adaExec.setWorkingDirectory(tool.getPath().substring(0, tool.getPath().lastIndexOf(tool.getName())));
   93.97 +                Future<Integer> result = adaExec.run();
   93.98 +                Integer value = result.get();
   93.99 +                if (value.intValue() == 0) {
  93.100 +                    is = new ReaderInputStream(adaExec.getOutput());
  93.101 +                    reader = new BufferedReader(new InputStreamReader(is));
  93.102 +                    line = null;
  93.103 +                    try {
  93.104 +                        while ((line = reader.readLine()) != null) {
  93.105 +                            if (line.contains(GNAT_PLATFORM_NAME)) {
  93.106 +                                platform.setJvmGnatCompilerCommand(JVM_GNAT_EXECUTABLE_NAME);
  93.107 +                                platform.setName(platform.getName() + "+JVM");
  93.108 +                                break;
  93.109 +                            }
  93.110 +                        }
  93.111 +                    } catch (IOException e) {
  93.112 +                        e.printStackTrace();
  93.113 +                    } finally {
  93.114 +                        try {
  93.115 +                            is.close();
  93.116 +                        } catch (IOException e) {
  93.117 +                            e.printStackTrace();
  93.118 +                        }
  93.119 +                    }
  93.120 +                } else {
  93.121 +                    throw new AdaException("Could not discover Ada properties");
  93.122 +                }
  93.123 +            } catch (AdaException ex) {
  93.124 +                Exceptions.printStackTrace(ex);
  93.125 +                throw ex;
  93.126 +            } catch (Exception ex) {
  93.127 +                Exceptions.printStackTrace(ex);
  93.128 +            }
  93.129 +        }
  93.130 +
  93.131 +        if (platform != null) {
  93.132 +            if (platforms.size() == 0) {
  93.133 +                setDefaultPlatform(platform.getName());
  93.134 +            }
  93.135 +            platforms.put(platform.getName(), platform);
  93.136 +        }
  93.137 +
  93.138          return platform;
  93.139      }
  93.140  
    94.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/GnatProject.java	Wed Feb 24 15:52:30 2010 -0500
    94.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/GnatProject.java	Sun Aug 22 23:37:11 2010 +0200
    94.3 @@ -50,6 +50,7 @@
    94.4  import java.io.OutputStreamWriter;
    94.5  import java.net.URL;
    94.6  import java.util.ArrayList;
    94.7 +import java.util.StringTokenizer;
    94.8  import org.netbeans.modules.ada.platform.compiler.gnat.commands.GnatCommand;
    94.9  import org.openide.filesystems.FileUtil;
   94.10  
   94.11 @@ -80,6 +81,15 @@
   94.12          }
   94.13      }
   94.14  
   94.15 +    public String removeSpaces(String s) {
   94.16 +        StringTokenizer st = new StringTokenizer(s, " ", false);
   94.17 +        String t = "";
   94.18 +        while (st.hasMoreElements()) {
   94.19 +            t += st.nextElement();
   94.20 +        }
   94.21 +        return t;
   94.22 +    }
   94.23 +
   94.24      private void writeGprfileImpl() {
   94.25          String resource = "/org/netbeans/modules/ada/platform/resources/GprFileTemplate.gpr"; // NOI18N
   94.26          InputStream is = null;
   94.27 @@ -91,7 +101,12 @@
   94.28              is = GnatCommand.class.getResourceAsStream(resource);
   94.29          }
   94.30  
   94.31 -        gprFilePath = gnat.getProjectPath() + '/' + "nbproject" + '/' + gnat.getProjectName() + ".gpr"; // UNIX path // NOI18N
   94.32 +        String projectName = removeSpaces(gnat.getProjectName());
   94.33 +        String mainFile = gnat.getMainFile();
   94.34 +        String execFile = gnat.getExecutableFile();
   94.35 +        ArrayList<String> sources = gnat.getSourceFolders();
   94.36 +
   94.37 +        gprFilePath = gnat.getProjectPath() + '/' + "nbproject" + '/' + projectName + ".gpr"; // UNIX path // NOI18N
   94.38          try {
   94.39              os = new FileOutputStream(gprFilePath);
   94.40          } catch (IOException ioe) {
   94.41 @@ -106,15 +121,6 @@
   94.42          BufferedReader br = new BufferedReader(new InputStreamReader(is));
   94.43          BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
   94.44  
   94.45 -        String projectName = gnat.getProjectName();
   94.46 -        String mainFile = gnat.getMainFile();
   94.47 -        String execFile = gnat.getExecutableFile();
   94.48 -        ArrayList<String> sources = gnat.getSourceFolders();
   94.49 -
   94.50 -        //if (src.equalsIgnoreCase("src")) {
   94.51 -        //    src = "../src/**";
   94.52 -        //}
   94.53 -
   94.54          try {
   94.55              while (true) {
   94.56                  String line = br.readLine();
   94.57 @@ -128,7 +134,9 @@
   94.58                      String srcDirs = new String();
   94.59                      for (int index = 0; index < sources.size(); index++) {
   94.60                          srcDirs = srcDirs + "\"" + FileUtil.toFileObject(new File(sources.get(index))).getPath() + "/**\"";
   94.61 -                        if (index < sources.size()-1) srcDirs = srcDirs + ",";
   94.62 +                        if (index < sources.size() - 1) {
   94.63 +                            srcDirs = srcDirs + ",";
   94.64 +                        }
   94.65                      }
   94.66                      line = line.replaceFirst("\"<SRC>\"", srcDirs); // NOI18N
   94.67                  }
    95.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/commands/GnatClean.java	Wed Feb 24 15:52:30 2010 -0500
    95.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/commands/GnatClean.java	Sun Aug 22 23:37:11 2010 +0200
    95.3 @@ -72,7 +72,7 @@
    95.4          try {
    95.5              AdaExecution adaExec = new AdaExecution();
    95.6              adaExec.setCommand(this.getGnatCompiler().getPlatform().getCompilerPath() + "/" + GNAT_CLEAN);
    95.7 -            adaExec.setCommandArgs(" -P" + gpr.getGprFilePath());
    95.8 +            adaExec.setCommandArgs(" -P\"" + gpr.getGprFilePath() + "\"");
    95.9              adaExec.setWorkingDirectory(this.getGnatCompiler().getProjectPath());
   95.10              adaExec.setDisplayName(displayTitle);
   95.11              adaExec.setShowControls(true);
    96.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/commands/GnatMake.java	Wed Feb 24 15:52:30 2010 -0500
    96.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/gnat/commands/GnatMake.java	Sun Aug 22 23:37:11 2010 +0200
    96.3 @@ -72,7 +72,7 @@
    96.4          try {
    96.5              AdaExecution adaExec = new AdaExecution();
    96.6              adaExec.setCommand(this.getGnatCompiler().getPlatform().getCompilerPath() + "/" + GNAT_MAKE);
    96.7 -            adaExec.setCommandArgs(" -P" + gpr.getGprFilePath());
    96.8 +            adaExec.setCommandArgs(" -P\"" + gpr.getGprFilePath() +"\"");
    96.9              adaExec.setWorkingDirectory(this.getGnatCompiler().getProjectPath());
   96.10              adaExec.setDisplayName(displayTitle);
   96.11              adaExec.setShowControls(true);
    97.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    97.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/jgnat/JGnatCompiler.java	Sun Aug 22 23:37:11 2010 +0200
    97.3 @@ -0,0 +1,220 @@
    97.4 +/*
    97.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
    97.6 + *
    97.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
    97.8 + *
    97.9 + * The contents of this file are subject to the terms of either the GNU
   97.10 + * General Public License Version 2 only ("GPL") or the Common
   97.11 + * Development and Distribution License("CDDL") (collectively, the
   97.12 + * "License"). You may not use this file except in compliance with the
   97.13 + * License. You can obtain a copy of the License at
   97.14 + * http://www.netbeans.org/cddl-gplv2.html
   97.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
   97.16 + * specific language governing permissions and limitations under the
   97.17 + * License.  When distributing the software, include this License Header
   97.18 + * Notice in each file and include the License file at
   97.19 + * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
   97.20 + * particular file as subject to the "Classpath" exception as provided
   97.21 + * by Sun in the GPL Version 2 section of the License file that
   97.22 + * accompanied this code. If applicable, add the following below the
   97.23 + * License Header, with the fields enclosed by brackets [] replaced by
   97.24 + * your own identifying information:
   97.25 + * "Portions Copyrighted [year] [name of copyright owner]"
   97.26 + *
   97.27 + * If you wish your version of this file to be governed by only the CDDL
   97.28 + * or only the GPL Version 2, indicate your decision by adding
   97.29 + * "[Contributor] elects to include this software in this distribution
   97.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
   97.31 + * single choice of license, a recipient has the option to distribute
   97.32 + * your version of this file under either the CDDL, the GPL Version 2 or
   97.33 + * to extend the choice of license to its licensees as provided above.
   97.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
   97.35 + * Version 2 license, then the option applies only if the new code is
   97.36 + * made subject to such option by the copyright holder.
   97.37 + *
   97.38 + * Contributor(s):
   97.39 + *
   97.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
   97.41 + */
   97.42 +package org.netbeans.modules.ada.platform.compiler.jgnat;
   97.43 +
   97.44 +import java.util.ArrayList;
   97.45 +import java.util.LinkedHashMap;
   97.46 +import java.util.Map;
   97.47 +import org.netbeans.api.ada.platform.AdaException;
   97.48 +import org.netbeans.api.ada.platform.AdaPlatform;
   97.49 +import org.netbeans.spi.ada.platform.Compiler;
   97.50 +import org.netbeans.modules.ada.platform.compiler.jgnat.commands.JGnatCommand;
   97.51 +import org.netbeans.modules.ada.platform.compiler.jgnat.commands.JGnatClean;
   97.52 +import org.netbeans.modules.ada.platform.compiler.jgnat.commands.JGnatMake;
   97.53 +import org.netbeans.modules.ada.platform.compiler.jgnat.commands.JRun;
   97.54 +import org.openide.util.Exceptions;
   97.55 +
   97.56 +/**
   97.57 + *
   97.58 + * @author  Andrea Lucarelli
   97.59 + */
   97.60 +public class JGnatCompiler implements Compiler {
   97.61 +
   97.62 +    private final Map<String, JGnatCommand> jgnatCommands;
   97.63 +    private final AdaPlatform platform;
   97.64 +    private final String projectName;
   97.65 +    private final String projectPath;
   97.66 +    private final ArrayList<String> sourceFolders;
   97.67 +    private final String mainFile;
   97.68 +    private final String outputFile;
   97.69 +    private final String commandName;
   97.70 +    private final String spcPostfix;
   97.71 +    private final String bdyPostfix;
   97.72 +    private final String sepPostfix;
   97.73 +    private final String spcExt;
   97.74 +    private final String bdyExt;
   97.75 +    private final String sepExt;
   97.76 +
   97.77 +    /**
   97.78 +     * 
   97.79 +     * @param project
   97.80 +     */
   97.81 +    public JGnatCompiler(AdaPlatform platform, String projectName, String projectPath, ArrayList<String> sourceFolders, String mainFile, String outputFile, String commandName,
   97.82 +            String spcPostfix, String bdyPostfix, String sepPostfix, String spcExt, String bdyExt, String sepExt) {
   97.83 +
   97.84 +        assert platform != null;
   97.85 +
   97.86 +        this.platform = platform;
   97.87 +        this.projectName = projectName;
   97.88 +        this.projectPath = projectPath;
   97.89 +        this.sourceFolders = sourceFolders;
   97.90 +        this.mainFile = mainFile;
   97.91 +        this.outputFile = outputFile;
   97.92 +        this.commandName = commandName;
   97.93 +
   97.94 +        jgnatCommands = new LinkedHashMap<String, JGnatCommand>();
   97.95 +        JGnatCommand[] gnatCommandArray = new JGnatCommand[]{
   97.96 +            new JGnatMake(this),
   97.97 +            new JGnatClean(this),
   97.98 +            new JRun(this)
   97.99 +        };
  97.100 +        for (JGnatCommand gnatCommand : gnatCommandArray) {
  97.101 +            jgnatCommands.put(gnatCommand.getCommandId(), gnatCommand);
  97.102 +        }
  97.103 +        this.spcExt = spcExt;
  97.104 +        this.bdyExt = bdyExt;
  97.105 +        this.sepExt = sepExt;
  97.106 +        this.spcPostfix = spcPostfix;
  97.107 +        this.bdyPostfix = bdyPostfix;
  97.108 +        this.sepPostfix = sepPostfix;
  97.109 +    }
  97.110 +
  97.111 +    /**
  97.112 +     *
  97.113 +     * @param commandName
  97.114 +     * @throws IllegalArgumentException
  97.115 +     */
  97.116 +    private void invokeCommand(final String commandName, final String displayTitle, final String args) throws IllegalArgumentException, AdaException {
  97.117 +        final JGnatCommand jgnatCommand = findCommand(commandName);
  97.118 +        assert jgnatCommand != null;
  97.119 +        jgnatCommand.invokeCommand(displayTitle, args);
  97.120 +    }
  97.121 +
  97.122 +    /**
  97.123 +     * 
  97.124 +     * @param commandName
  97.125 +     * @return
  97.126 +     */
  97.127 +    private JGnatCommand findCommand(final String commandName) {
  97.128 +        assert commandName != null;
  97.129 +        return jgnatCommands.get(commandName);
  97.130 +    }
  97.131 +
  97.132 +    public void Build() {
  97.133 +        try {
  97.134 +            invokeCommand(JGnatCommand.JVM_GNAT_MAKE, this.getProjectName() + "(" + this.getCommandName() + ")", null);
  97.135 +        } catch (IllegalArgumentException ex) {
  97.136 +            Exceptions.printStackTrace(ex);
  97.137 +        } catch (AdaException ex) {
  97.138 +            Exceptions.printStackTrace(ex);
  97.139 +        }
  97.140 +    }
  97.141 +
  97.142 +    public void Run(String args) {
  97.143 +        try {
  97.144 +            invokeCommand(JGnatCommand.RUN, this.getProjectName() + "(" + this.getCommandName() + ")", args);
  97.145 +        } catch (IllegalArgumentException ex) {
  97.146 +            Exceptions.printStackTrace(ex);
  97.147 +        } catch (AdaException ex) {
  97.148 +            Exceptions.printStackTrace(ex);
  97.149 +        }
  97.150 +    }
  97.151 +
  97.152 +    public void Compile() {
  97.153 +        try {
  97.154 +            invokeCommand(JGnatCommand.JVM_GNAT_COMPILE, this.getProjectName() + "(" + this.getCommandName() + ")", null);
  97.155 +        } catch (IllegalArgumentException ex) {
  97.156 +            Exceptions.printStackTrace(ex);
  97.157 +        } catch (AdaException ex) {
  97.158 +            Exceptions.printStackTrace(ex);
  97.159 +        }
  97.160 +    }
  97.161 +
  97.162 +    public void Clean() {
  97.163 +        try {
  97.164 +            invokeCommand(JGnatCommand.JVM_GNAT_CLEAN, this.getProjectName() + "(" + this.getCommandName() + ")", null);
  97.165 +        } catch (IllegalArgumentException ex) {
  97.166 +            Exceptions.printStackTrace(ex);
  97.167 +        } catch (AdaException ex) {
  97.168 +            Exceptions.printStackTrace(ex);
  97.169 +        }
  97.170 +    }
  97.171 +
  97.172 +    public AdaPlatform getPlatform() {
  97.173 +        return platform;
  97.174 +    }
  97.175 +
  97.176 +    public String getExecutableFile() {
  97.177 +        return outputFile;
  97.178 +    }
  97.179 +
  97.180 +    public String getCommandName() {
  97.181 +        return commandName;
  97.182 +    }
  97.183 +
  97.184 +    public String getMainFile() {
  97.185 +        return mainFile;
  97.186 +    }
  97.187 +
  97.188 +    public String getProjectPath() {
  97.189 +        return projectPath;
  97.190 +    }
  97.191 +
  97.192 +    public String getProjectName() {
  97.193 +        return projectName;
  97.194 +    }
  97.195 +
  97.196 +    public ArrayList<String> getSourceFolders() {
  97.197 +        return sourceFolders;
  97.198 +    }
  97.199 +
  97.200 +    public String getBdyExt() {
  97.201 +        return bdyExt;
  97.202 +    }
  97.203 +
  97.204 +    public String getSepExt() {
  97.205 +        return sepExt;
  97.206 +    }
  97.207 +
  97.208 +    public String getSpcExt() {
  97.209 +        return spcExt;
  97.210 +    }
  97.211 +
  97.212 +    public String getBdyPostfix() {
  97.213 +        return bdyPostfix;
  97.214 +    }
  97.215 +
  97.216 +    public String getSepPostfix() {
  97.217 +        return sepPostfix;
  97.218 +    }
  97.219 +
  97.220 +    public String getSpcPostfix() {
  97.221 +        return spcPostfix;
  97.222 +    }
  97.223 +}
    98.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    98.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/jgnat/JGnatProject.java	Sun Aug 22 23:37:11 2010 +0200
    98.3 @@ -0,0 +1,177 @@
    98.4 +/*
    98.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
    98.6 + *
    98.7 + * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
    98.8 + *
    98.9 + * The contents of this file are subject to the terms of either the GNU
   98.10 + * General Public License Version 2 only ("GPL") or the Common
   98.11 + * Development and Distribution License("CDDL") (collectively, the
   98.12 + * "License"). You may not use this file except in compliance with the
   98.13 + * License. You can obtain a copy of the License at
   98.14 + * http://www.netbeans.org/cddl-gplv2.html
   98.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
   98.16 + * specific language governing permissions and limitations under the
   98.17 + * License.  When distributing the software, include this License Header
   98.18 + * Notice in each file and include the License file at
   98.19 + * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
   98.20 + * particular file as subject to the "Classpath" exception as provided
   98.21 + * by Sun in the GPL Version 2 section of the License file that
   98.22 + * accompanied this code. If applicable, add the following below the
   98.23 + * License Header, with the fields enclosed by brackets [] replaced by
   98.24 + * your own identifying information:
   98.25 + * "Portions Copyrighted [year] [name of copyright owner]"
   98.26 + *
   98.27 + * Contributor(s):
   98.28 + *
   98.29 + * The Original Software is NetBeans. The Initial Developer of the Original
   98.30 + * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
   98.31 + * Microsystems, Inc. All Rights Reserved.
   98.32 + *
   98.33 + * If you wish your version of this file to be governed by only the CDDL
   98.34 + * or only the GPL Version 2, indicate your decision by adding
   98.35 + * "[Contributor] elects to include this software in this distribution
   98.36 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
   98.37 + * single choice of license, a recipient has the option to distribute
   98.38 + * your version of this file under either the CDDL, the GPL Version 2 or
   98.39 + * to extend the choice of license to its licensees as provided above.
   98.40 + * However, if you add GPL Version 2 code and therefore, elected the GPL
   98.41 + * Version 2 license, then the option applies only if the new code is
   98.42 + * made subject to such option by the copyright holder.
   98.43 + */
   98.44 +package org.netbeans.modules.ada.platform.compiler.jgnat;
   98.45 +
   98.46 +import java.io.BufferedReader;
   98.47 +import java.io.BufferedWriter;
   98.48 +import java.io.File;
   98.49 +import java.io.FileOutputStream;
   98.50 +import java.io.IOException;
   98.51 +import java.io.InputStream;
   98.52 +import java.io.InputStreamReader;
   98.53 +import java.io.OutputStreamWriter;
   98.54 +import java.net.URL;
   98.55 +import java.util.ArrayList;
   98.56 +import java.util.StringTokenizer;
   98.57 +import org.netbeans.modules.ada.platform.compiler.jgnat.commands.JGnatCommand;
   98.58 +import org.openide.filesystems.FileUtil;
   98.59 +
   98.60 +public class JGnatProject {
   98.61 +
   98.62 +    private final JGnatCompiler jgnat;
   98.63 +    private String gprFilePath;
   98.64 +
   98.65 +    public JGnatProject(final JGnatCompiler jgnat) {
   98.66 +        this.jgnat = jgnat;
   98.67 +    }
   98.68 +
   98.69 +    public void write() {
   98.70 +        cleanup();
   98.71 +        writeGprfileImpl();
   98.72 +    }
   98.73 +
   98.74 +    private void cleanup() {
   98.75 +        // Remove all *.gpr files
   98.76 +        File folder = new File(jgnat.getProjectPath() + '/' + "nbproject"); // UNIX path // NOI18N
   98.77 +        File[] children = folder.listFiles();
   98.78 +        if (children != null) {
   98.79 +            for (int i = 0; i < children.length; i++) {
   98.80 +                if (children[i].getName().endsWith("gpr")) { // NOI18N
   98.81 +                    children[i].delete();
   98.82 +                }
   98.83 +            }
   98.84 +        }
   98.85 +    }
   98.86 +
   98.87 +    public String removeSpaces(String s) {
   98.88 +        StringTokenizer st = new StringTokenizer(s, " ", false);
   98.89 +        String t = "";
   98.90 +        while (st.hasMoreElements()) {
   98.91 +            t += st.nextElement();
   98.92 +        }
   98.93 +        return t;
   98.94 +    }
   98.95 +
   98.96 +    private void writeGprfileImpl() {
   98.97 +        String resource = "/org/netbeans/modules/ada/platform/resources/GprFileTemplate.gpr"; // NOI18N
   98.98 +        InputStream is = null;
   98.99 +        FileOutputStream os = null;
  98.100 +        try {
  98.101 +            URL url = new URL("nbresloc:" + resource); // NOI18N
  98.102 +            is = url.openStream();
  98.103 +        } catch (Exception e) {
  98.104 +            is = JGnatCommand.class.getResourceAsStream(resource);
  98.105 +        }
  98.106 +
  98.107 +        String projectName = removeSpaces(jgnat.getProjectName());
  98.108 +        String mainFile = jgnat.getMainFile();
  98.109 +        String execFile = jgnat.getExecutableFile();
  98.110 +        ArrayList<String> sources = jgnat.getSourceFolders();
  98.111 +
  98.112 +        gprFilePath = jgnat.getProjectPath() + '/' + "nbproject" + '/' + projectName + ".gpr"; // UNIX path // NOI18N
  98.113 +        try {
  98.114 +            os = new FileOutputStream(gprFilePath);
  98.115 +        } catch (IOException ioe) {
  98.116 +            ioe.printStackTrace();
  98.117 +        }
  98.118 +
  98.119 +        if (is == null || os == null) {
  98.120 +            // FIXUP: ERROR
  98.121 +            return;
  98.122 +        }
  98.123 +
  98.124 +        BufferedReader br = new BufferedReader(new InputStreamReader(is));
  98.125 +        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
  98.126 +
  98.127 +        try {
  98.128 +            while (true) {
  98.129 +                String line = br.readLine();
  98.130 +                if (line == null) {
  98.131 +                    break;
  98.132 +                }
  98.133 +                if (line.indexOf("<PN>") >= 0) { // NOI18N
  98.134 +                    line = line.replaceFirst("<PN>", projectName); // NOI18N
  98.135 +                }
  98.136 +                if (line.indexOf("<SRC>") >= 0) { // NOI18N
  98.137 +                    String srcDirs = new String();
  98.138 +                    for (int index = 0; index < sources.size(); index++) {
  98.139 +                        srcDirs = srcDirs + "\"" + FileUtil.toFileObject(new File(sources.get(index))).getPath() + "/**\"";
  98.140 +                        if (index < sources.size() - 1) {
  98.141 +                            srcDirs = srcDirs + ",";
  98.142 +                        }
  98.143 +                    }
  98.144 +                    line = line.replaceFirst("\"<SRC>\"", srcDirs); // NOI18N
  98.145 +                }
  98.146 +                if (line.indexOf("<MAINFILE>") >= 0) { // NOI18N
  98.147 +                    line = line.replaceFirst("<MAINFILE>", mainFile); // NOI18N
  98.148 +                }
  98.149 +                if (line.indexOf("<EXECFILE>") >= 0) { // NOI18N
  98.150 +                    line = line.replaceFirst("<EXECFILE>", execFile); // NOI18N
  98.151 +                }
  98.152 +                if (line.indexOf("<SPC-EXT>") >= 0) { // NOI18N
  98.153 +                    line = line.replaceFirst("<SPC-EXT>", jgnat.getSpcExt()); // NOI18N
  98.154 +                }
  98.155 +                if (line.indexOf("<BDY-EXT>") >= 0) { // NOI18N
  98.156 +                    line = line.replaceFirst("<BDY-EXT>", jgnat.getBdyExt()); // NOI18N
  98.157 +                }
  98.158 +                if (line.indexOf("<EXT-SEP>") >= 0) { // NOI18N
  98.159 +                    line = line.replaceFirst("<EXT-SEP>", jgnat.getSepExt()); // NOI18N
  98.160 +                }
  98.161 +                if (line.indexOf("<SPC-POSTFIX>") >= 0) { // NOI18N
  98.162 +                    line = line.replaceFirst("<SPC-POSTFIX>", jgnat.getSpcPostfix()); // NOI18N
  98.163 +                }
  98.164 +                if (line.indexOf("<BDY-POSTFIX>") >= 0) { // NOI18N
  98.165 +                    line = line.replaceFirst("<BDY-POSTFIX>", jgnat.getBdyPostfix()); // NOI18N
  98.166 +                }
  98.167 +                bw.write(line + "\n"); // NOI18N
  98.168 +            }
  98.169 +            br.close();
  98.170 +            bw.flush();
  98.171 +            bw.close();
  98.172 +        } catch (Exception e) {
  98.173 +        }
  98.174 +
  98.175 +    }
  98.176 +
  98.177 +    public String getGprFilePath() {
  98.178 +        return this.gprFilePath;
  98.179 +    }
  98.180 +}
    99.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    99.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/jgnat/commands/JGnatClean.java	Sun Aug 22 23:37:11 2010 +0200
    99.3 @@ -0,0 +1,95 @@
    99.4 +/*
    99.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
    99.6 + *
    99.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
    99.8 + *
    99.9 + * The contents of this file are subject to the terms of either the GNU
   99.10 + * General Public License Version 2 only ("GPL") or the Common
   99.11 + * Development and Distribution License("CDDL") (collectively, the
   99.12 + * "License"). You may not use this file except in compliance with the
   99.13 + * License. You can obtain a copy of the License at
   99.14 + * http://www.netbeans.org/cddl-gplv2.html
   99.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
   99.16 + * specific language governing permissions and limitations under the
   99.17 + * License.  When distributing the software, include this License Header
   99.18 + * Notice in each file and include the License file at
   99.19 + * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
   99.20 + * particular file as subject to the "Classpath" exception as provided
   99.21 + * by Sun in the GPL Version 2 section of the License file that
   99.22 + * accompanied this code. If applicable, add the following below the
   99.23 + * License Header, with the fields enclosed by brackets [] replaced by
   99.24 + * your own identifying information:
   99.25 + * "Portions Copyrighted [year] [name of copyright owner]"
   99.26 + *
   99.27 + * If you wish your version of this file to be governed by only the CDDL
   99.28 + * or only the GPL Version 2, indicate your decision by adding
   99.29 + * "[Contributor] elects to include this software in this distribution
   99.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
   99.31 + * single choice of license, a recipient has the option to distribute
   99.32 + * your version of this file under either the CDDL, the GPL Version 2 or
   99.33 + * to extend the choice of license to its licensees as provided above.
   99.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
   99.35 + * Version 2 license, then the option applies only if the new code is
   99.36 + * made subject to such option by the copyright holder.
   99.37 + *
   99.38 + * Contributor(s):
   99.39 + *
   99.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
   99.41 + */
   99.42 +package org.netbeans.modules.ada.platform.compiler.jgnat.commands;
   99.43 +
   99.44 +import java.util.concurrent.Future;
   99.45 +import org.netbeans.api.ada.platform.AdaException;
   99.46 +import org.netbeans.api.ada.platform.AdaExecution;
   99.47 +import org.netbeans.modules.ada.platform.compiler.jgnat.JGnatCompiler;
   99.48 +import org.netbeans.modules.ada.platform.compiler.jgnat.JGnatProject;
   99.49 +import org.openide.util.Exceptions;
   99.50 +
   99.51 +/**
   99.52 + *
   99.53 + * @author Andrea Lucarelli
   99.54 + */
   99.55 +public class JGnatClean extends JGnatCommand {
   99.56 +
   99.57 +    private static final String COMMAND = JVM_GNAT_CLEAN;
   99.58 +
   99.59 +    public JGnatClean(JGnatCompiler jgnatCompiler) {
   99.60 +        super(jgnatCompiler);
   99.61 +    }
   99.62 +
   99.63 +    @Override
   99.64 +    public String getCommandId() {
   99.65 +        return COMMAND;
   99.66 +    }
   99.67 +
   99.68 +    @Override
   99.69 +    public void invokeCommand(String displayTitle, String args) throws IllegalArgumentException, AdaException {
   99.70 +
   99.71 +        // Make the GPR file
   99.72 +        JGnatProject gpr = new JGnatProject(this.getJGnatCompiler());
   99.73 +        gpr.write();
   99.74 +
   99.75 +        try {
   99.76 +            AdaExecution adaExec = new AdaExecution();
   99.77 +            adaExec.setCommand(this.getJGnatCompiler().getPlatform().getCompilerPath() + "/" + COMMAND);
   99.78 +            adaExec.setCommandArgs(" -P\"" + gpr.getGprFilePath() + "\"");
   99.79 +            adaExec.setWorkingDirectory(this.getJGnatCompiler().getProjectPath());
   99.80 +            adaExec.setDisplayName(displayTitle);
   99.81 +            adaExec.setShowControls(true);
   99.82 +            adaExec.setShowInput(false);
   99.83 +            adaExec.setShowWindow(true);
   99.84 +            adaExec.setShowProgress(true);
   99.85 +            adaExec.setShowSuspended(true);
   99.86 +            //adaExec.attachOutputProcessor();
   99.87 +            adaExec.setRedirectError(true);
   99.88 +            Future<Integer> result = adaExec.run();
   99.89 +            Integer value = result.get();
   99.90 +            if (value.intValue() == 0) {
   99.91 +            } else {
   99.92 +            }
   99.93 +        } catch (Exception ex) {
   99.94 +            Exceptions.printStackTrace(ex);
   99.95 +        }
   99.96 +
   99.97 +    }
   99.98 +}
   100.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   100.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/jgnat/commands/JGnatCommand.java	Sun Aug 22 23:37:11 2010 +0200
   100.3 @@ -0,0 +1,82 @@
   100.4 +/*
   100.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   100.6 + *
   100.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
   100.8 + *
   100.9 + * The contents of this file are subject to the terms of either the GNU
  100.10 + * General Public License Version 2 only ("GPL") or the Common
  100.11 + * Development and Distribution License("CDDL") (collectively, the
  100.12 + * "License"). You may not use this file except in compliance with the
  100.13 + * License. You can obtain a copy of the License at
  100.14 + * http://www.netbeans.org/cddl-gplv2.html
  100.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
  100.16 + * specific language governing permissions and limitations under the
  100.17 + * License.  When distributing the software, include this License Header
  100.18 + * Notice in each file and include the License file at
  100.19 + * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
  100.20 + * particular file as subject to the "Classpath" exception as provided
  100.21 + * by Sun in the GPL Version 2 section of the License file that
  100.22 + * accompanied this code. If applicable, add the following below the
  100.23 + * License Header, with the fields enclosed by brackets [] replaced by
  100.24 + * your own identifying information:
  100.25 + * "Portions Copyrighted [year] [name of copyright owner]"
  100.26 + *
  100.27 + * If you wish your version of this file to be governed by only the CDDL
  100.28 + * or only the GPL Version 2, indicate your decision by adding
  100.29 + * "[Contributor] elects to include this software in this distribution
  100.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
  100.31 + * single choice of license, a recipient has the option to distribute
  100.32 + * your version of this file under either the CDDL, the GPL Version 2 or
  100.33 + * to extend the choice of license to its licensees as provided above.
  100.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
  100.35 + * Version 2 license, then the option applies only if the new code is
  100.36 + * made subject to such option by the copyright holder.
  100.37 + *
  100.38 + * Contributor(s):
  100.39 + *
  100.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
  100.41 + */
  100.42 +package org.netbeans.modules.ada.platform.compiler.jgnat.commands;
  100.43 +
  100.44 +import org.netbeans.api.ada.platform.AdaException;
  100.45 +import org.netbeans.modules.ada.platform.compiler.jgnat.JGnatCompiler;
  100.46 +
  100.47 +/**
  100.48 + * 
  100.49 + * @author Andrea Lucarelli
  100.50 + */
  100.51 +public abstract class JGnatCommand {
  100.52 +
  100.53 +    public static final String RUN = "run"; // NOI18N
  100.54 +
  100.55 +    // List of GNAT available commands
  100.56 +    public static final String JVM_GNAT_BIND = "jvm-gnatbind"; // NOI18N
  100.57 +    public static final String JVM_GNAT_CHOP = "jvm-gnatchop"; // NOI18N
  100.58 +    public static final String JVM_GNAT_CLEAN = "jvm-gnatclean"; // NOI18N
  100.59 +    public static final String JVM_GNAT_COMPILE = "jvm-gnatmake -f -u -c"; // NOI18N
  100.60 +    public static final String JVM_GNAT_ELIM = "jvm-gnatelim"; // NOI18N
  100.61 +    public static final String JVM_GNAT_FIND = "jvm-gnatfind"; // NOI18N
  100.62 +    public static final String JVM_GNAT_KRUNCH = "jvm-gnatkr"; // NOI18N
  100.63 +    public static final String JVM_GNAT_LINK = "jvm-gnatlink"; // NOI18N
  100.64 +    public static final String JVM_GNAT_LIST = "jvm-gnatls"; // NOI18N
  100.65 +    public static final String JVM_GNAT_MAKE = "jvm-gnatmake"; // NOI18N
  100.66 +    public static final String JVM_GNAT_NAME = "jvm-gnatname"; // NOI18N
  100.67 +    public static final String JVM_GNAT_PREPROCESS = "jvm-gnatprep"; // NOI18N
  100.68 +    public static final String JVM_GNAT_PRETTY = "jvm-gnatpp"; // NOI18N
  100.69 +    public static final String JVM_GNAT_STUB = "jvm-gnatstub"; // NOI18N
  100.70 +    public static final String JVM_GNAT_XREF = "jvm-gnatxref"; // NOI18N
  100.71 +
  100.72 +    private final JGnatCompiler jgnatCompiler;
  100.73 +
  100.74 +    public JGnatCommand(JGnatCompiler jgnatCompiler) {
  100.75 +        this.jgnatCompiler = jgnatCompiler;
  100.76 +    }
  100.77 +
  100.78 +    public abstract String getCommandId();
  100.79 +
  100.80 +    public abstract void invokeCommand(String displayTitle, String args) throws IllegalArgumentException, AdaException;
  100.81 +
  100.82 +    public JGnatCompiler getJGnatCompiler() {
  100.83 +        return jgnatCompiler;
  100.84 +    }
  100.85 +}
   101.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   101.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/jgnat/commands/JGnatMake.java	Sun Aug 22 23:37:11 2010 +0200
   101.3 @@ -0,0 +1,95 @@
   101.4 +/*
   101.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   101.6 + *
   101.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
   101.8 + *
   101.9 + * The contents of this file are subject to the terms of either the GNU
  101.10 + * General Public License Version 2 only ("GPL") or the Common
  101.11 + * Development and Distribution License("CDDL") (collectively, the
  101.12 + * "License"). You may not use this file except in compliance with the
  101.13 + * License. You can obtain a copy of the License at
  101.14 + * http://www.netbeans.org/cddl-gplv2.html
  101.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
  101.16 + * specific language governing permissions and limitations under the
  101.17 + * License.  When distributing the software, include this License Header
  101.18 + * Notice in each file and include the License file at
  101.19 + * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
  101.20 + * particular file as subject to the "Classpath" exception as provided
  101.21 + * by Sun in the GPL Version 2 section of the License file that
  101.22 + * accompanied this code. If applicable, add the following below the
  101.23 + * License Header, with the fields enclosed by brackets [] replaced by
  101.24 + * your own identifying information:
  101.25 + * "Portions Copyrighted [year] [name of copyright owner]"
  101.26 + *
  101.27 + * If you wish your version of this file to be governed by only the CDDL
  101.28 + * or only the GPL Version 2, indicate your decision by adding
  101.29 + * "[Contributor] elects to include this software in this distribution
  101.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
  101.31 + * single choice of license, a recipient has the option to distribute
  101.32 + * your version of this file under either the CDDL, the GPL Version 2 or
  101.33 + * to extend the choice of license to its licensees as provided above.
  101.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
  101.35 + * Version 2 license, then the option applies only if the new code is
  101.36 + * made subject to such option by the copyright holder.
  101.37 + *
  101.38 + * Contributor(s):
  101.39 + *
  101.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
  101.41 + */
  101.42 +package org.netbeans.modules.ada.platform.compiler.jgnat.commands;
  101.43 +
  101.44 +import java.util.concurrent.Future;
  101.45 +import org.netbeans.api.ada.platform.AdaException;
  101.46 +import org.netbeans.api.ada.platform.AdaExecution;
  101.47 +import org.netbeans.modules.ada.platform.compiler.jgnat.JGnatCompiler;
  101.48 +import org.netbeans.modules.ada.platform.compiler.jgnat.JGnatProject;
  101.49 +import org.openide.util.Exceptions;
  101.50 +
  101.51 +/**
  101.52 + *
  101.53 + * @author Andrea Lucarelli
  101.54 + */
  101.55 +public class JGnatMake extends JGnatCommand {
  101.56 +
  101.57 +    private static final String COMMAND = JVM_GNAT_MAKE;
  101.58 +
  101.59 +    public JGnatMake(JGnatCompiler jgnatCompiler) {
  101.60 +        super(jgnatCompiler);
  101.61 +    }
  101.62 +
  101.63 +    @Override
  101.64 +    public String getCommandId() {
  101.65 +        return COMMAND;
  101.66 +    }
  101.67 +
  101.68 +    @Override
  101.69 +    public void invokeCommand(String displayTitle, String args) throws IllegalArgumentException, AdaException {
  101.70 +
  101.71 +        // Make the GPR file
  101.72 +        JGnatProject gpr = new JGnatProject(this.getJGnatCompiler());
  101.73 +        gpr.write();
  101.74 +
  101.75 +        try {
  101.76 +            AdaExecution adaExec = new AdaExecution();
  101.77 +            adaExec.setCommand(this.getJGnatCompiler().getPlatform().getCompilerPath() + "/" + COMMAND);
  101.78 +            adaExec.setCommandArgs(" -P\"" + gpr.getGprFilePath() +"\"");
  101.79 +            adaExec.setWorkingDirectory(this.getJGnatCompiler().getProjectPath());
  101.80 +            adaExec.setDisplayName(displayTitle);
  101.81 +            adaExec.setShowControls(true);
  101.82 +            adaExec.setShowInput(false);
  101.83 +            adaExec.setShowWindow(true);
  101.84 +            adaExec.setShowProgress(true);
  101.85 +            adaExec.setShowSuspended(true);
  101.86 +            //adaExec.attachOutputProcessor();
  101.87 +            adaExec.setRedirectError(true);
  101.88 +            Future<Integer> result = adaExec.run();
  101.89 +            Integer value = result.get();
  101.90 +            if (value.intValue() == 0) {
  101.91 +            } else {
  101.92 +            }
  101.93 +        } catch (Exception ex) {
  101.94 +            Exceptions.printStackTrace(ex);
  101.95 +        }
  101.96 +
  101.97 +    }
  101.98 +}
   102.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   102.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/compiler/jgnat/commands/JRun.java	Sun Aug 22 23:37:11 2010 +0200
   102.3 @@ -0,0 +1,95 @@
   102.4 +/*
   102.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   102.6 + *
   102.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
   102.8 + *
   102.9 + * The contents of this file are subject to the terms of either the GNU
  102.10 + * General Public License Version 2 only ("GPL") or the Common
  102.11 + * Development and Distribution License("CDDL") (collectively, the
  102.12 + * "License"). You may not use this file except in compliance with the
  102.13 + * License. You can obtain a copy of the License at
  102.14 + * http://www.netbeans.org/cddl-gplv2.html
  102.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
  102.16 + * specific language governing permissions and limitations under the
  102.17 + * License.  When distributing the software, include this License Header
  102.18 + * Notice in each file and include the License file at
  102.19 + * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
  102.20 + * particular file as subject to the "Classpath" exception as provided
  102.21 + * by Sun in the GPL Version 2 section of the License file that
  102.22 + * accompanied this code. If applicable, add the following below the
  102.23 + * License Header, with the fields enclosed by brackets [] replaced by
  102.24 + * your own identifying information:
  102.25 + * "Portions Copyrighted [year] [name of copyright owner]"
  102.26 + *
  102.27 + * If you wish your version of this file to be governed by only the CDDL
  102.28 + * or only the GPL Version 2, indicate your decision by adding
  102.29 + * "[Contributor] elects to include this software in this distribution
  102.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
  102.31 + * single choice of license, a recipient has the option to distribute
  102.32 + * your version of this file under either the CDDL, the GPL Version 2 or
  102.33 + * to extend the choice of license to its licensees as provided above.
  102.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
  102.35 + * Version 2 license, then the option applies only if the new code is
  102.36 + * made subject to such option by the copyright holder.
  102.37 + *
  102.38 + * Contributor(s):
  102.39 + *
  102.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
  102.41 + */
  102.42 +package org.netbeans.modules.ada.platform.compiler.jgnat.commands;
  102.43 +
  102.44 +import java.util.concurrent.Future;
  102.45 +import org.netbeans.api.ada.platform.AdaException;
  102.46 +import org.netbeans.api.ada.platform.AdaExecution;
  102.47 +import org.netbeans.modules.ada.platform.compiler.jgnat.JGnatProject;
  102.48 +import org.netbeans.modules.ada.platform.compiler.jgnat.JGnatCompiler;
  102.49 +import org.openide.util.Exceptions;
  102.50 +
  102.51 +/**
  102.52 + *
  102.53 + * @author Andrea Lucarelli
  102.54 + */
  102.55 +public class JRun extends JGnatCommand {
  102.56 +
  102.57 +    private static final String COMMAND_ID = RUN;
  102.58 +
  102.59 +    public JRun(JGnatCompiler jgnatCompiler) {
  102.60 +        super(jgnatCompiler);
  102.61 +    }
  102.62 +
  102.63 +    @Override
  102.64 +    public String getCommandId() {
  102.65 +        return COMMAND_ID;
  102.66 +    }
  102.67 +
  102.68 +    @Override
  102.69 +    public void invokeCommand(String displayTitle, String args) throws IllegalArgumentException, AdaException {
  102.70 +
  102.71 +        // Make the GPR file
  102.72 +        JGnatProject gpr = new JGnatProject(this.getJGnatCompiler());
  102.73 +        gpr.write();
  102.74 +
  102.75 +        try {
  102.76 +            AdaExecution adaExec = new AdaExecution();
  102.77 +            adaExec.setCommand(this.getJGnatCompiler().getProjectPath() + "/dist/" + this.getJGnatCompiler().getExecutableFile());
  102.78 +            adaExec.setCommandArgs(args);
  102.79 +            adaExec.setWorkingDirectory(this.getJGnatCompiler().getProjectPath());
  102.80 +            adaExec.setDisplayName(displayTitle);
  102.81 +            adaExec.setShowControls(true);
  102.82 +            adaExec.setShowInput(false);
  102.83 +            adaExec.setShowWindow(true);
  102.84 +            adaExec.setShowProgress(true);
  102.85 +            adaExec.setShowSuspended(true);
  102.86 +            //adaExec.attachOutputProcessor();
  102.87 +            adaExec.setRedirectError(true);
  102.88 +            Future<Integer> result = adaExec.run();
  102.89 +            Integer value = result.get();
  102.90 +            if (value.intValue() == 0) {
  102.91 +            } else {
  102.92 +            }
  102.93 +        } catch (Exception ex) {
  102.94 +            Exceptions.printStackTrace(ex);
  102.95 +        }
  102.96 +
  102.97 +    }
  102.98 +}
   103.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/ui/Bundle.properties	Wed Feb 24 15:52:30 2010 -0500
   103.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/ui/Bundle.properties	Sun Aug 22 23:37:11 2010 +0200
   103.3 @@ -78,10 +78,12 @@
   103.4  PlatformsCustomizer.moveUpPath.text=Move Up
   103.5  PlatformsCustomizer.addPath.text=Add...
   103.6  PlatformsCustomizer.removePath.text=Remove
   103.7 -PlatformsCustomizer.compilerCommandLabel.text=Compiler Command
   103.8 +PlatformsCustomizer.compilerCommandLabel.text=GNAT Compiler Command
   103.9  PlatformsCustomizer.platformName.text_1=
  103.10  PlatformsCustomizer.otherInfoLabel.text=Platform info
  103.11  PlatformsCustomizer.compilerCommand.text=
  103.12  PlatformsCustomizer.adaPathPanel.TabConstraints.tabTitle_1=Ada Path
  103.13  PlatformsCustomizer.platformInfoTextField.text=
  103.14  PlatformsCustomizer.autoDetectLabel.text=Detecting Ada Platforms
  103.15 +PlatformsCustomizer.jvmCompilerCommandLabel.text=JVM Compiler Command
  103.16 +PlatformsCustomizer.jvmCompilerCommand.text=
   104.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/ui/PlatformsCustomizer.form	Wed Feb 24 15:52:30 2010 -0500
   104.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/ui/PlatformsCustomizer.form	Sun Aug 22 23:37:11 2010 +0200
   104.3 @@ -28,18 +28,18 @@
   104.4            <Group type="102" alignment="0" attributes="0">
   104.5                <EmptySpace max="-2" attributes="0"/>
   104.6                <Group type="103" groupAlignment="1" attributes="0">
   104.7 -                  <Component id="makeDefaultButton" alignment="0" pref="130" max="32767" attributes="0"/>
   104.8 -                  <Component id="autoDetectButton" alignment="0" pref="130" max="32767" attributes="1"/>
   104.9 +                  <Component id="makeDefaultButton" alignment="0" pref="168" max="32767" attributes="0"/>
  104.10 +                  <Component id="autoDetectButton" alignment="0" pref="168" max="32767" attributes="1"/>
  104.11                    <Group type="102" alignment="0" attributes="0">
  104.12 -                      <Component id="newButton" max="32767" attributes="0"/>
  104.13 +                      <Component id="newButton" pref="73" max="32767" attributes="0"/>
  104.14                        <EmptySpace min="-2" max="-2" attributes="0"/>
  104.15 -                      <Component id="removeButton" max="32767" attributes="0"/>
  104.16 +                      <Component id="removeButton" pref="89" max="32767" attributes="0"/>
  104.17                    </Group>
  104.18                    <Component id="paltformsListTitleLabel" alignment="0" min="-2" max="-2" attributes="0"/>
  104.19 -                  <Component id="platformsListScrollPanel" alignment="0" pref="130" max="32767" attributes="2"/>
  104.20 +                  <Component id="platformsListScrollPanel" alignment="0" min="-2" pref="168" max="-2" attributes="2"/>
  104.21                </Group>
  104.22                <EmptySpace max="-2" attributes="0"/>
  104.23 -              <Component id="tabbedPane" pref="512" max="32767" attributes="0"/>
  104.24 +              <Component id="tabbedPane" pref="474" max="32767" attributes="0"/>
  104.25                <EmptySpace max="-2" attributes="0"/>
  104.26            </Group>
  104.27        </Group>
  104.28 @@ -52,9 +52,9 @@
  104.29                    <Component id="tabbedPane" alignment="0" pref="321" max="32767" attributes="0"/>
  104.30                    <Group type="102" alignment="0" attributes="0">
  104.31                        <Component id="paltformsListTitleLabel" min="-2" max="-2" attributes="0"/>
  104.32 -                      <EmptySpace min="-2" max="-2" attributes="0"/>
  104.33 +                      <EmptySpace max="-2" attributes="0"/>
  104.34                        <Component id="platformsListScrollPanel" pref="214" max="32767" attributes="0"/>
  104.35 -                      <EmptySpace min="-2" max="-2" attributes="0"/>
  104.36 +                      <EmptySpace max="-2" attributes="0"/>
  104.37                        <Group type="103" groupAlignment="3" attributes="0">
  104.38                            <Component id="removeButton" alignment="3" min="-2" max="-2" attributes="0"/>
  104.39                            <Component id="newButton" alignment="3" min="-2" max="-2" attributes="0"/>
  104.40 @@ -148,44 +148,38 @@
  104.41            <Layout>
  104.42              <DimensionLayout dim="0">
  104.43                <Group type="103" groupAlignment="0" attributes="0">
  104.44 -                  <Group type="102" alignment="0" attributes="0">
  104.45 +                  <Group type="102" attributes="0">
  104.46                        <Group type="103" groupAlignment="0" attributes="0">
  104.47 -                          <Group type="103" groupAlignment="0" attributes="0">
  104.48 -                              <Group type="102" alignment="0" attributes="0">
  104.49 -                                  <EmptySpace max="-2" attributes="0"/>
  104.50 -                                  <Component id="compilerCommandLabel" min="-2" max="-2" attributes="0"/>
  104.51 +                          <Group type="102" alignment="0" attributes="0">
  104.52 +                              <EmptySpace min="-2" pref="10" max="-2" attributes="0"/>
  104.53 +                              <Group type="103" groupAlignment="1" attributes="0">
  104.54 +                                  <Component id="otherInfoLabel" min="-2" pref="91" max="-2" attributes="0"/>
  104.55 +                                  <Group type="103" alignment="1" groupAlignment="0" attributes="0">
  104.56 +                                      <Component id="compilerCommandLabel" alignment="0" min="-2" max="-2" attributes="0"/>
  104.57 +                                      <Component id="platfromNameLabel" alignment="1" min="-2" pref="91" max="-2" attributes="0"/>
  104.58 +                                  </Group>
  104.59                                </Group>
  104.60 -                              <Group type="102" alignment="1" attributes="0">
  104.61 -                                  <EmptySpace max="-2" attributes="0"/>
  104.62 -                                  <Component id="platfromNameLabel" min="-2" pref="91" max="-2" attributes="0"/>
  104.63 +                              <EmptySpace max="-2" attributes="0"/>
  104.64 +                              <Group type="103" groupAlignment="0" attributes="0">
  104.65 +                                  <Component id="compilerCommand" pref="324" max="32767" attributes="0"/>
  104.66 +                                  <Component id="platformName" alignment="0" pref="324" max="32767" attributes="0"/>
  104.67 +                                  <Component id="platformInfoTextField" alignment="1" pref="324" max="32767" attributes="0"/>
  104.68                                </Group>
  104.69                            </Group>
  104.70 -                          <Group type="102" attributes="0">
  104.71 +                          <Group type="102" alignment="1" attributes="0">
  104.72 +                              <EmptySpace pref="192" max="32767" attributes="0"/>
  104.73 +                              <Component id="autoDetectLabel" min="-2" max="-2" attributes="0"/>
  104.74 +                              <EmptySpace min="5" pref="5" max="5" attributes="0"/>
  104.75 +                              <Component id="autoDetectProgress" min="-2" max="-2" attributes="0"/>
  104.76 +                          </Group>
  104.77 +                          <Group type="102" alignment="1" attributes="0">
  104.78 +                              <EmptySpace min="-2" pref="19" max="-2" attributes="0"/>
  104.79 +                              <Component id="jvmCompilerCommandLabel" min="-2" max="-2" attributes="0"/>
  104.80                                <EmptySpace max="-2" attributes="0"/>
  104.81 -                              <Component id="otherInfoLabel" min="-2" pref="91" max="-2" attributes="0"/>
  104.82 +                              <Component id="jvmCompilerCommand" pref="323" max="32767" attributes="0"/>
  104.83                            </Group>
  104.84                        </Group>
  104.85                        <EmptySpace max="-2" attributes="0"/>
  104.86 -                      <Group type="103" groupAlignment="0" attributes="0">
  104.87 -                          <Group type="102" attributes="0">
  104.88 -                              <Component id="compilerCommand" pref="392" max="32767" attributes="0"/>
  104.89 -                              <EmptySpace max="-2" attributes="0"/>
  104.90 -                          </Group>
  104.91 -                          <Group type="102" alignment="1" attributes="0">
  104.92 -                              <Group type="103" groupAlignment="1" attributes="0">
  104.93 -                                  <Component id="platformName" alignment="0" pref="392" max="32767" attributes="0"/>
  104.94 -                                  <Component id="platformInfoTextField" alignment="1" pref="392" max="32767" attributes="0"/>
  104.95 -                              </Group>
  104.96 -                              <EmptySpace max="-2" attributes="0"/>
  104.97 -                          </Group>
  104.98 -                      </Group>
  104.99 -                  </Group>
 104.100 -                  <Group type="102" alignment="1" attributes="0">
 104.101 -                      <EmptySpace pref="230" max="32767" attributes="0"/>
 104.102 -                      <Component id="autoDetectLabel" min="-2" max="-2" attributes="0"/>
 104.103 -                      <EmptySpace min="5" pref="5" max="5" attributes="0"/>
 104.104 -                      <Component id="autoDetectProgress" min="-2" max="-2" attributes="0"/>
 104.105 -                      <EmptySpace max="-2" attributes="0"/>
 104.106                    </Group>
 104.107                </Group>
 104.108              </DimensionLayout>
 104.109 @@ -207,7 +201,12 @@
 104.110                            <Component id="compilerCommandLabel" alignment="3" min="-2" max="-2" attributes="0"/>
 104.111                            <Component id="compilerCommand" alignment="3" min="-2" max="-2" attributes="0"/>
 104.112                        </Group>
 104.113 -                      <EmptySpace pref="175" max="32767" attributes="0"/>
 104.114 +                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
 104.115 +                      <Group type="103" groupAlignment="3" attributes="0">
 104.116 +                          <Component id="jvmCompilerCommand" alignment="3" min="-2" max="-2" attributes="0"/>
 104.117 +                          <Component id="jvmCompilerCommandLabel" alignment="3" min="-2" max="-2" attributes="0"/>
 104.118 +                      </Group>
 104.119 +                      <EmptySpace pref="144" max="32767" attributes="0"/>
 104.120                        <Group type="103" groupAlignment="0" attributes="0">
 104.121                            <Component id="autoDetectLabel" min="-2" max="-2" attributes="0"/>
 104.122                            <Component id="autoDetectProgress" min="-2" max="-2" attributes="0"/>
 104.123 @@ -277,6 +276,22 @@
 104.124                  <Property name="indeterminate" type="boolean" value="true"/>
 104.125                </Properties>
 104.126              </Component>
 104.127 +            <Component class="javax.swing.JTextField" name="jvmCompilerCommand">
 104.128 +              <Properties>
 104.129 +                <Property name="editable" type="boolean" value="false"/>
 104.130 +                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
 104.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;)"/>
 104.132 +                </Property>
 104.133 +              </Properties>
 104.134 +            </Component>
 104.135 +            <Component class="javax.swing.JLabel" name="jvmCompilerCommandLabel">
 104.136 +              <Properties>
 104.137 +                <Property name="horizontalAlignment" type="int" value="4"/>
 104.138 +                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
 104.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;)"/>
 104.140 +                </Property>
 104.141 +              </Properties>
 104.142 +            </Component>
 104.143            </SubComponents>
 104.144          </Container>
 104.145          <Container class="javax.swing.JPanel" name="adaPathPanel">
 104.146 @@ -297,7 +312,7 @@
 104.147                        <EmptySpace max="-2" attributes="0"/>
 104.148                        <Group type="103" groupAlignment="0" attributes="0">
 104.149                            <Group type="102" attributes="0">
 104.150 -                              <Component id="jScrollPane2" pref="392" max="32767" attributes="0"/>
 104.151 +                              <Component id="jScrollPane2" pref="354" max="32767" attributes="0"/>
 104.152                                <EmptySpace max="-2" attributes="0"/>
 104.153                                <Group type="103" groupAlignment="0" attributes="0">
 104.154                                    <Component id="moveDownPath" max="32767" attributes="0"/>
   105.1 --- a/ada.platform/src/org/netbeans/modules/ada/platform/ui/PlatformsCustomizer.java	Wed Feb 24 15:52:30 2010 -0500
   105.2 +++ b/ada.platform/src/org/netbeans/modules/ada/platform/ui/PlatformsCustomizer.java	Sun Aug 22 23:37:11 2010 +0200
   105.3 @@ -98,6 +98,8 @@
   105.4          platformInfoTextField = new javax.swing.JTextField();
   105.5          autoDetectLabel = new javax.swing.JLabel();
   105.6          autoDetectProgress = new javax.swing.JProgressBar();
   105.7 +        jvmCompilerCommand = new javax.swing.JTextField();
   105.8 +        jvmCompilerCommandLabel = new javax.swing.JLabel();
   105.9          adaPathPanel = new javax.swing.JPanel();
  105.10          jLabel5 = new javax.swing.JLabel();
  105.11          jScrollPane2 = new javax.swing.JScrollPane();
  105.12 @@ -164,37 +166,44 @@
  105.13  
  105.14          autoDetectProgress.setIndeterminate(true);
  105.15  
  105.16 +        jvmCompilerCommand.setEditable(false);
  105.17 +        jvmCompilerCommand.setText(org.openide.util.NbBundle.getMessage(PlatformsCustomizer.class, "PlatformsCustomizer.jvmCompilerCommand.text")); // NOI18N
  105.18 +
  105.19 +        jvmCompilerCommandLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
  105.20 +        jvmCompilerCommandLabel.setText(org.openide.util.NbBundle.getMessage(PlatformsCustomizer.class, "PlatformsCustomizer.jvmCompilerCommandLabel.text")); // NOI18N
  105.21 +
  105.22          org.jdesktop.layout.GroupLayout mainPanelLayout = new org.jdesktop.layout.GroupLayout(mainPanel);
  105.23          mainPanel.setLayout(mainPanelLayout);
  105.24          mainPanelLayout.setHorizontalGroup(
  105.25              mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  105.26              .add(mainPanelLayout.createSequentialGroup()
  105.27                  .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  105.28 -                    .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  105.29 -                        .add(mainPanelLayout.createSequentialGroup()
  105.30 -                            .addContainerGap()
  105.31 -                            .add(compilerCommandLabel))
  105.32 -                        .add(org.jdesktop.layout.GroupLayout.TRAILING, mainPanelLayout.createSequentialGroup()
  105.33 -                            .addContainerGap()
  105.34 -                            .add(platfromNameLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 91, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
  105.35                      .add(mainPanelLayout.createSequentialGroup()
  105.36 -                        .addContainerGap()
  105.37 -                        .add(otherInfoLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 91, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
  105.38 -                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
  105.39 -                .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  105.40 -                    .add(mainPanelLayout.createSequentialGroup()
  105.41 -                        .add(compilerCommand, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 392, Short.MAX_VALUE)
  105.42 -                        .addContainerGap())
  105.43 +                        .add(10, 10, 10)
  105.44 +                        .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
  105.45 +                            .add(otherInfoLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 91, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
  105.46 +                            .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  105.47 +                                .add(mainPanelLayout.createSequentialGroup()
  105.48 +                                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
  105.49 +                                    .add(compilerCommandLabel))
  105.50 +                                .add(org.jdesktop.layout.GroupLayout.TRAILING, mainPanelLayout.createSequentialGroup()
  105.51 +                                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
  105.52 +                                    .add(platfromNameLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 91, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
  105.53 +                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
  105.54 +                        .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  105.55 +                            .add(compilerCommand, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 324, Short.MAX_VALUE)
  105.56 +                            .add(platformName, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 324, Short.MAX_VALUE)
  105.57 +                            .add(org.jdesktop.layout.GroupLayout.TRAILING, platformInfoTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 324, Short.MAX_VALUE)))
  105.58                      .add(org.jdesktop.layout.GroupLayout.TRAILING, mainPanelLayout.createSequentialGroup()
  105.59 -                        .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
  105.60 -                            .add(org.jdesktop.layout.GroupLayout.LEADING, platformName, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 392, Short.MAX_VALUE)
  105.61 -                            .add(platformInfoTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 392, Short.MAX_VALUE))
  105.62 -                        .addContainerGap())))
  105.63 -            .add(org.jdesktop.layout.GroupLayout.TRAILING, mainPanelLayout.createSequentialGroup()
  105.64 -                .addContainerGap(230, Short.MAX_VALUE)
  105.65 -                .add(autoDetectLabel)
  105.66 -                .add(5, 5, 5)
  105.67 -                .add(autoDetectProgress, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
  105.68 +                        .addContainerGap(192, Short.MAX_VALUE)
  105.69 +                        .add(autoDetectLabel)
  105.70 +                        .add(5, 5, 5)
  105.71 +                        .add(autoDetectProgress, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
  105.72 +                    .add(org.jdesktop.layout.GroupLayout.TRAILING, mainPanelLayout.createSequentialGroup()
  105.73 +                        .add(19, 19, 19)
  105.74 +                        .add(jvmCompilerCommandLabel)
  105.75 +                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
  105.76 +                        .add(jvmCompilerCommand, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 323, Short.MAX_VALUE)))
  105.77                  .addContainerGap())
  105.78          );
  105.79          mainPanelLayout.setVerticalGroup(
  105.80 @@ -212,7 +221,11 @@
  105.81                  .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
  105.82                      .add(compilerCommandLabel)
  105.83                      .add(compilerCommand, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
  105.84 -                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 175, Short.MAX_VALUE)
  105.85 +                .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
  105.86 +                .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
  105.87 +                    .add(jvmCompilerCommand, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
  105.88 +                    .add(jvmCompilerCommandLabel))
  105.89 +                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 144, Short.MAX_VALUE)
  105.90                  .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  105.91                      .add(autoDetectLabel)
  105.92                      .add(autoDetectProgress, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
  105.93 @@ -263,7 +276,7 @@
  105.94                  .addContainerGap()
  105.95                  .add(adaPathPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  105.96                      .add(adaPathPanelLayout.createSequentialGroup()
  105.97 -                        .add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 392, Short.MAX_VALUE)
  105.98 +                        .add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 354, Short.MAX_VALUE)
  105.99                          .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
 105.100                          .add(adaPathPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
 105.101                              .add(moveDownPath, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 105.102 @@ -307,16 +320,16 @@
 105.103              .add(layout.createSequentialGroup()
 105.104                  .addContainerGap()
 105.105                  .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
 105.106 -                    .add(org.jdesktop.layout.GroupLayout.LEADING, makeDefaultButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE)
 105.107 -                    .add(org.jdesktop.layout.GroupLayout.LEADING, autoDetectButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE)
 105.108 +                    .add(org.jdesktop.layout.GroupLayout.LEADING, makeDefaultButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 168, Short.MAX_VALUE)
 105.109 +                    .add(org.jdesktop.layout.GroupLayout.LEADING, autoDetectButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 168, Short.MAX_VALUE)
 105.110                      .add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup()
 105.111 -                        .add(newButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 105.112 +                        .add(newButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 73, Short.MAX_VALUE)
 105.113                          .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
 105.114 -                        .add(removeButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
 105.115 +                        .add(removeButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 89, Short.MAX_VALUE))
 105.116                      .add(org.jdesktop.layout.GroupLayout.LEADING, paltformsListTitleLabel)
 105.117 -                    .add(org.jdesktop.layout.GroupLayout.LEADING, platformsListScrollPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE))
 105.118 +                    .add(org.jdesktop.layout.GroupLayout.LEADING, platformsListScrollPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 168, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
 105.119                  .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
 105.120 -                .add(tabbedPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 512, Short.MAX_VALUE)
 105.121 +                .add(tabbedPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 474, Short.MAX_VALUE)
 105.122                  .addContainerGap())
 105.123          );
 105.124          layout.setVerticalGroup(
 105.125 @@ -350,8 +363,9 @@
 105.126      private void loadPlatform() {
 105.127          platformName.setText(adaPlatform.getName());
 105.128          platformInfoTextField.setText(adaPlatform.getInfo());
 105.129 -        compilerCommand.setText(adaPlatform.getInterpreterCommand());
 105.130 -    // TODO: add in main tab the commands list for ada platform
 105.131 +        compilerCommand.setText(adaPlatform.getGnatCompilerCommand());
 105.132 +        jvmCompilerCommand.setText(adaPlatform.getJvmGnatCompilerCommand());
 105.133 +        // TODO: add in main tab the commands list for ada platform
 105.134  //        adaPathModel.setModel(adaPlatform.getCompilerPath());
 105.135      }
 105.136  
 105.137 @@ -410,9 +424,11 @@
 105.138                  if (fo != null) {
 105.139                      try {
 105.140                          adaPlatform = adaPlatformManager.findPlatformProperties(fo);
 105.141 -                        loadPlatform();
 105.142 -                        platformListModel.refresh();
 105.143 -                        platformName.setEditable(true);
 105.144 +                        if (adaPlatform != null) {
 105.145 +                            loadPlatform();
 105.146 +                            platformListModel.refresh();
 105.147 +                            platformName.setEditable(true);
 105.148 +                        }
 105.149                      } catch (AdaException ex) {
 105.150                          Exceptions.printStackTrace(ex);
 105.151                      }
 105.152 @@ -434,14 +450,15 @@
 105.153      }//GEN-LAST:event_PlatformListValueChanged
 105.154  
 105.155      private void removeButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_removeButtonActionPerformed
 105.156 -        int selectedIndex = PlatformList.getSelectedIndex();
 105.157 -        if (selectedIndex != -1) {
 105.158 -            adaPlatformManager.removePlatform(
 105.159 -                    (String) platformListModel.getElementAt(
 105.160 -                    PlatformList.getSelectedIndex()));
 105.161 -            platformListModel.refresh();
 105.162 -            adaPlatform = null;
 105.163 -            clearPlatform();
 105.164 +        if (platformListModel.getSize() > 0) {
 105.165 +            int selectedIndex = PlatformList.getSelectedIndex();
 105.166 +            if (selectedIndex != -1) {
 105.167 +                adaPlatformManager.removePlatform(
 105.168 +                        (String) platformListModel.getElementAt(selectedIndex));
 105.169 +                platformListModel.refresh();
 105.170 +                adaPlatform = null;
 105.171 +                clearPlatform();
 105.172 +            }
 105.173          }
 105.174  }//GEN-LAST:event_removeButtonActionPerformed
 105.175  
 105.176 @@ -479,9 +496,11 @@
 105.177      private void autoDetectButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_autoDetectButtonActionPerformed
 105.178          setAutoDetecting(true);
 105.179          RequestProcessor.getDefault().post(new Runnable() {
 105.180 +
 105.181              public void run() {
 105.182                  adaPlatformManager.autoDetect();
 105.183                  EventQueue.invokeLater(new Runnable() {
 105.184 +
 105.185                      public void run() {
 105.186                          platformListModel.refresh();
 105.187                          setAutoDetecting(false);
 105.188 @@ -490,7 +509,6 @@
 105.189              }
 105.190          });
 105.191      }//GEN-LAST:event_autoDetectButtonActionPerformed
 105.192 -
 105.193      // Variables declaration - do not modify//GEN-BEGIN:variables
 105.194      private javax.swing.JList PlatformList;
 105.195      private javax.swing.JList adaPath;
 105.196 @@ -504,6 +522,8 @@
 105.197      private javax.swing.JLabel jLabel5;
 105.198      private javax.swing.JLabel jLabel6;
 105.199      private javax.swing.JScrollPane jScrollPane2;
 105.200 +    private javax.swing.JTextField jvmCompilerCommand;
 105.201 +    private javax.swing.JLabel jvmCompilerCommandLabel;
 105.202      private javax.swing.JPanel mainPanel;
 105.203      private javax.swing.JButton makeDefaultButton;
 105.204      private javax.swing.JButton moveDownPath;
 105.205 @@ -556,7 +576,7 @@
 105.206          }
 105.207  
 105.208          adaPlatform.setInfo(platformInfoTextField.getText());
 105.209 -        adaPlatform.setCompilerCommand(compilerCommand.getText());
 105.210 +        adaPlatform.setGnatCompilerCommand(compilerCommand.getText());
 105.211          // TODO: add in main tab the commands list for ada platform
 105.212  //        adaPlatform.setCompilerPath(adaPathModel.getModel());
 105.213          adaPlatformManager.addPlatform(adaPlatform);
 105.214 @@ -566,5 +586,4 @@
 105.215          String defaultPlatform = adaPlatformManager.getDefaultPlatform();
 105.216          return defaultPlatform != null && !defaultPlatform.equals(platform);
 105.217      }
 105.218 -
 105.219  }
   106.1 --- a/ada.project/history.txt	Wed Feb 24 15:52:30 2010 -0500
   106.2 +++ b/ada.project/history.txt	Sun Aug 22 23:37:11 2010 +0200
   106.3 @@ -1,5 +1,13 @@
   106.4 -0.1.7: dd-mm-2009
   106.5 -- TBD
   106.6 +0.1.9: 12-08-2010
   106.7 +- Add JVM compiler support.
   106.8 +
   106.9 +0.1.8: 13-10-2009
  106.10 +- Add the signing of the nbm files.
  106.11 +- Fix the issue http://sourceforge.net/tracker/?func=detail&aid=2872967&group_id=248853&atid=1126624.
  106.12 +
  106.13 +0.1.7: 01-10-2009
  106.14 +- Fix https://sourceforge.net/tracker/?func=detail&aid=2863317&group_id=248853&atid=1126624.
  106.15 +- Ada files naming management (options and project properties).
  106.16  
  106.17  0.1.6: 13-11-2009
  106.18  - Minor changes.
   107.1 --- a/ada.project/manifest.mf	Wed Feb 24 15:52:30 2010 -0500
   107.2 +++ b/ada.project/manifest.mf	Sun Aug 22 23:37:11 2010 +0200
   107.3 @@ -3,5 +3,5 @@
   107.4  OpenIDE-Module: org.netbeans.modules.ada.project
   107.5  OpenIDE-Module-Layer: org/netbeans/modules/ada/project/resources/layer.xml
   107.6  OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ada/project/Bundle.properties
   107.7 -OpenIDE-Module-Specification-Version: 0.1.7
   107.8 +OpenIDE-Module-Specification-Version: 0.1.9
   107.9  
   108.1 --- a/ada.project/nbproject/project.properties	Wed Feb 24 15:52:30 2010 -0500
   108.2 +++ b/ada.project/nbproject/project.properties	Sun Aug 22 23:37:11 2010 +0200
   108.3 @@ -2,3 +2,5 @@
   108.4  javac.compilerargs=-Xlint -Xlint:-serial
   108.5  nbm.homepage=http://wiki.netbeans.org/Ada
   108.6  nbm.module.author=Andrea Lucarelli
   108.7 +keystore=nbproject/private/keystore
   108.8 +nbm_alias=nbada
   108.9 \ No newline at end of file
   109.1 --- a/ada.project/nbproject/project.xml	Wed Feb 24 15:52:30 2010 -0500
   109.2 +++ b/ada.project/nbproject/project.xml	Sun Aug 22 23:37:11 2010 +0200
   109.3 @@ -11,7 +11,7 @@
   109.4                      <compile-dependency/>
   109.5                      <run-dependency>
   109.6                          <release-version>1</release-version>
   109.7 -                        <specification-version>1.6</specification-version>
   109.8 +                        <specification-version>1.10.1</specification-version>
   109.9                      </run-dependency>
  109.10                  </dependency>
  109.11                  <dependency>
  109.12 @@ -20,7 +20,7 @@
  109.13                      <compile-dependency/>
  109.14                      <run-dependency>
  109.15                          <release-version>1</release-version>
  109.16 -                        <specification-version>1.19.1</specification-version>
  109.17 +                        <specification-version>1.22.1</specification-version>
  109.18                      </run-dependency>
  109.19                  </dependency>
  109.20                  <dependency>
  109.21 @@ -29,7 +29,7 @@
  109.22                      <compile-dependency/>
  109.23                      <run-dependency>
  109.24                          <release-version>1</release-version>
  109.25 -                        <specification-version>1.12</specification-version>
  109.26 +                        <specification-version>1.16.1</specification-version>
  109.27                      </run-dependency>
  109.28                  </dependency>
  109.29                  <dependency>
  109.30 @@ -37,7 +37,7 @@
  109.31                      <build-prerequisite/>
  109.32                      <compile-dependency/>
  109.33                      <run-dependency>
  109.34 -                        <specification-version>0.1.5</specification-version>
  109.35 +                        <specification-version>0.1.8</specification-version>
  109.36                      </run-dependency>
  109.37                  </dependency>
  109.38                  <dependency>
  109.39 @@ -46,7 +46,7 @@
  109.40                      <compile-dependency/>
  109.41                      <run-dependency>
  109.42                          <release-version>1</release-version>
  109.43 -                        <specification-version>1.10</specification-version>
  109.44 +                        <specification-version>1.16.2</specification-version>
  109.45                      </run-dependency>
  109.46                  </dependency>
  109.47                  <dependency>
  109.48 @@ -55,7 +55,7 @@
  109.49                      <compile-dependency/>
  109.50                      <run-dependency>
  109.51                          <release-version>1</release-version>
  109.52 -                        <specification-version>1.25</specification-version>
  109.53 +                        <specification-version>1.35.1</specification-version>
  109.54                      </run-dependency>
  109.55                  </dependency>
  109.56                  <dependency>
  109.57 @@ -64,7 +64,7 @@
  109.58                      <compile-dependency/>
  109.59                      <run-dependency>
  109.60                          <release-version>1</release-version>
  109.61 -                        <specification-version>1.19</specification-version>
  109.62 +                        <specification-version>1.28.1</specification-version>
  109.63                      </run-dependency>
  109.64                  </dependency>
  109.65                  <dependency>
  109.66 @@ -73,7 +73,7 @@
  109.67                      <compile-dependency/>
  109.68                      <run-dependency>
  109.69                          <release-version>1</release-version>
  109.70 -                        <specification-version>1.31</specification-version>
  109.71 +                        <specification-version>1.40.1</specification-version>
  109.72                      </run-dependency>
  109.73                  </dependency>
  109.74                  <dependency>
  109.75 @@ -82,7 +82,7 @@
  109.76                      <compile-dependency/>
  109.77                      <run-dependency>
  109.78                          <release-version>1</release-version>
  109.79 -                        <specification-version>1.13</specification-version>
  109.80 +                        <specification-version>1.17.1</specification-version>
  109.81                      </run-dependency>
  109.82                  </dependency>
  109.83                  <dependency>
  109.84 @@ -98,7 +98,7 @@
  109.85                      <build-prerequisite/>
  109.86                      <compile-dependency/>
  109.87                      <run-dependency>
  109.88 -                        <specification-version>7.3</specification-version>
  109.89 +                        <specification-version>7.19.1</specification-version>
  109.90                      </run-dependency>
  109.91                  </dependency>
  109.92                  <dependency>
  109.93 @@ -106,7 +106,7 @@
  109.94                      <build-prerequisite/>
  109.95                      <compile-dependency/>
  109.96                      <run-dependency>
  109.97 -                        <specification-version>7.8</specification-version>
  109.98 +                        <specification-version>7.13.1</specification-version>
  109.99                      </run-dependency>
 109.100                  </dependency>
 109.101                  <dependency>
 109.102 @@ -114,7 +114,7 @@
 109.103                      <build-prerequisite/>
 109.104                      <compile-dependency/>
 109.105                      <run-dependency>
 109.106 -                        <specification-version>7.19</specification-version>
 109.107 +                        <specification-version>7.32.1</specification-version>
 109.108                      </run-dependency>
 109.109                  </dependency>
 109.110                  <dependency>
 109.111 @@ -122,7 +122,7 @@
 109.112                      <build-prerequisite/>
 109.113                      <compile-dependency/>
 109.114                      <run-dependency>
 109.115 -                        <specification-version>7.2</specification-version>
 109.116 +                        <specification-version>7.10.1</specification-version>
 109.117                      </run-dependency>
 109.118                  </dependency>
 109.119                  <dependency>
 109.120 @@ -130,7 +130,7 @@
 109.121                      <build-prerequisite/>
 109.122                      <compile-dependency/>
 109.123                      <run-dependency>
 109.124 -                        <specification-version>7.7</specification-version>
 109.125 +                        <specification-version>7.12.1</specification-version>
 109.126                      </run-dependency>
 109.127                  </dependency>
 109.128                  <dependency>
 109.129 @@ -138,7 +138,7 @@
 109.130                      <build-prerequisite/>
 109.131                      <compile-dependency/>
 109.132                      <run-dependency>
 109.133 -                        <specification-version>7.18.1</specification-version>
 109.134 +                        <specification-version>7.31.2</specification-version>
 109.135                      </run-dependency>
 109.136                  </dependency>
 109.137                  <dependency>
 109.138 @@ -146,7 +146,7 @@
 109.139                      <build-prerequisite/>
 109.140                      <compile-dependency/>
 109.141                      <run-dependency>
 109.142 -                        <specification-version>6.24</specification-version>
 109.143 +                        <specification-version>6.30.1</specification-version>
 109.144                      </run-dependency>
 109.145                  </dependency>
 109.146              </module-dependencies>
 109.147 @@ -155,6 +155,7 @@
 109.148                  <friend>org.netbeans.modules.ada.options</friend>
 109.149                  <package>org.netbeans.modules.ada.project.api</package>
 109.150                  <package>org.netbeans.modules.ada.project.options</package>
 109.151 +                <package>org.netbeans.modules.ada.project.options.ui</package>
 109.152                  <package>org.netbeans.modules.ada.project.ui.properties</package>
 109.153              </friend-packages>
 109.154          </data>
   110.1 --- a/ada.project/src/org/netbeans/modules/ada/project/AdaProject.java	Wed Feb 24 15:52:30 2010 -0500
   110.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/AdaProject.java	Sun Aug 22 23:37:11 2010 +0200
   110.3 @@ -343,9 +343,9 @@
   110.4  
   110.5          // List of primarily supported templates
   110.6          private static final String[] PRIVILEGED_NAMES = new String[]{
   110.7 -            "Templates/Ada/NewAdaMain", //NOI18N
   110.8 -            "Templates/Ada/NewAdaPackageSpec", // NOI18N
   110.9 -            "Templates/Ada/NewAdaPackageBody", // NOI18N
  110.10 +            "Templates/Ada/NewMain", //NOI18N
  110.11 +            "Templates/Ada/NewPackageSpec", // NOI18N
  110.12 +            "Templates/Ada/NewPackageBody", // NOI18N
  110.13              "Templates/Other/Folder"
  110.14          };
  110.15  
   111.1 --- a/ada.project/src/org/netbeans/modules/ada/project/AdaSources.java	Wed Feb 24 15:52:30 2010 -0500
   111.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/AdaSources.java	Sun Aug 22 23:37:11 2010 +0200
   111.3 @@ -136,8 +136,12 @@
   111.4              String prop = propNames[i];
   111.5              String displayName = roots.getRootDisplayName(rootNames[i], prop);
   111.6              String loc = "${" + prop + "}"; // NOI18N
   111.7 -            sourcesHelper.addPrincipalSourceRoot(loc, displayName, null, null); // NOI18N
   111.8 -            sourcesHelper.addTypedSourceRoot(loc, SOURCES_TYPE_ADA, displayName, null, null);
   111.9 +//            sourcesHelper.addPrincipalSourceRoot(loc, displayName, null, null); // NOI18N
  111.10 +//            sourcesHelper.addTypedSourceRoot(loc, SOURCES_TYPE_ADA, displayName, null, null);
  111.11 +            sourcesHelper.sourceRoot(loc).displayName(displayName)
  111.12 +                    .add() // principal root
  111.13 +                    .type(SOURCES_TYPE_ADA).add();    // typed root
  111.14 +
  111.15          }
  111.16      }
  111.17  
   112.1 --- a/ada.project/src/org/netbeans/modules/ada/project/options/AdaOptions.java	Wed Feb 24 15:52:30 2010 -0500
   112.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/options/AdaOptions.java	Sun Aug 22 23:37:11 2010 +0200
   112.3 @@ -57,8 +57,8 @@
   112.4      public static final String DEFAULT_PKG_SPEC_PREFIX = "<package name>"; // NOI18N
   112.5      public static final String DEFAULT_PKG_BODY_PREFIX = "<package name>"; // NOI18N
   112.6      public static final String DEFAULT_SEPARATE_PREFIX = "<package name>"; // NOI18N
   112.7 -    public static final String DEFAULT_PKG_SPEC_POSTFIX = "<none>"; // NOI18N
   112.8 -    public static final String DEFAULT_PKG_BODY_POSTFIX = "<none>"; // NOI18N
   112.9 +    public static final String DEFAULT_PKG_SPEC_POSTFIX = ""; // NOI18N
  112.10 +    public static final String DEFAULT_PKG_BODY_POSTFIX = ""; // NOI18N
  112.11      public static final String DEFAULT_SEPARATE_POSTFIX = "<procdure name>"; // NOI18N
  112.12      public static final String DEFAULT_PKG_SPEC_EXT = "ads"; // NOI18N
  112.13      public static final String DEFAULT_PKG_BODY_EXT = "adb"; // NOI18N
   113.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   113.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/options/ui/AdaGeneralOptionsPanel.form	Sun Aug 22 23:37:11 2010 +0200
   113.3 @@ -0,0 +1,410 @@
   113.4 +<?xml version="1.0" encoding="UTF-8" ?>
   113.5 +
   113.6 +<Form version="1.5" maxVersion="1.6" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
   113.7 +  <AuxValues>
   113.8 +    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
   113.9 +    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
  113.10 +    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="false"/>
  113.11 +    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
  113.12 +    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
  113.13 +    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="2"/>
  113.14 +    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
  113.15 +    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
  113.16 +    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
  113.17 +  </AuxValues>
  113.18 +
  113.19 +  <Layout>
  113.20 +    <DimensionLayout dim="0">
  113.21 +      <Group type="103" groupAlignment="0" attributes="0">
  113.22 +          <Group type="102" attributes="0">
  113.23 +              <Group type="103" groupAlignment="0" attributes="0">
  113.24 +                  <Group type="102" alignment="0" attributes="0">
  113.25 +                      <EmptySpace min="-2" max="-2" attributes="0"/>
  113.26 +                      <Group type="103" groupAlignment="0" attributes="0">
  113.27 +                          <Group type="102" alignment="0" attributes="0">
  113.28 +                              <Component id="standardsLabel" min="-2" max="-2" attributes="0"/>
  113.29 +                              <EmptySpace max="-2" attributes="0"/>
  113.30 +                              <Component id="standardsLineSeparator" pref="572" max="32767" attributes="0"/>
  113.31 +                          </Group>
  113.32 +                          <Component id="errorLabel" alignment="0" min="-2" max="-2" attributes="0"/>
  113.33 +                          <Group type="102" alignment="0" attributes="0">
  113.34 +                              <EmptySpace min="12" pref="12" max="12" attributes="0"/>
  113.35 +                              <Group type="103" groupAlignment="0" attributes="0">
  113.36 +                                  <Component id="adaRestrictionsLabel" linkSize="4" alignment="0" min="-2" max="-2" attributes="0"/>
  113.37 +                                  <Component id="adaDialectsLabel" linkSize="4" alignment="0" min="-2" pref="63" max="-2" attributes="0"/>
  113.38 +                              </Group>
  113.39 +                              <EmptySpace type="unrelated" max="-2" attributes="0"/>
  113.40 +                              <Group type="103" groupAlignment="0" attributes="0">
  113.41 +                                  <Component id="adaRestrictionsComboBox" linkSize="5" alignment="0" min="-2" max="-2" attributes="0"/>
  113.42 +                                  <Component id="adaDialectsComboBox" linkSize="5" alignment="0" min="-2" max="-2" attributes="0"/>
  113.43 +                              </Group>
  113.44 +                              <EmptySpace min="-2" pref="373" max="-2" attributes="0"/>
  113.45 +                          </Group>
  113.46 +                      </Group>
  113.47 +                  </Group>
  113.48 +                  <Group type="102" attributes="0">
  113.49 +                      <EmptySpace min="-2" pref="20" max="-2" attributes="0"/>
  113.50 +                      <Group type="103" groupAlignment="1" max="-2" attributes="0">
  113.51 +                          <Component id="pkgBodyMaskLabel" linkSize="6" alignment="0" max="32767" attributes="1"/>
  113.52 +                          <Component id="pkgSpecMaskLabel" linkSize="6" alignment="0" max="32767" attributes="1"/>
  113.53 +                          <Component id="separatorMaskLabel" linkSize="6" alignment="0" min="-2" pref="107" max="-2" attributes="1"/>
  113.54 +                      </Group>
  113.55 +                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
  113.56 +                      <Group type="103" groupAlignment="0" attributes="0">
  113.57 +                          <Group type="103" alignment="0" groupAlignment="1" attributes="0">
  113.58 +                              <Group type="103" alignment="1" groupAlignment="0" attributes="0">
  113.59 +                                  <Component id="pkgSpecPrefixComboBox" linkSize="9" min="-2" max="-2" attributes="0"/>
  113.60 +                                  <Component id="pkgBodyPrefixComboBox" linkSize="9" alignment="0" min="-2" max="-2" attributes="0"/>
  113.61 +                              </Group>
  113.62 +                              <Component id="prefixTitleLabel" min="-2" max="-2" attributes="1"/>
  113.63 +                          </Group>
  113.64 +                          <Component id="separatePrefixComboBox" linkSize="9" alignment="0" min="-2" max="-2" attributes="0"/>
  113.65 +                      </Group>
  113.66 +                      <EmptySpace max="-2" attributes="0"/>
  113.67 +                      <Group type="103" groupAlignment="1" attributes="0">
  113.68 +                          <Component id="separatorTitleLabel" min="-2" max="-2" attributes="1"/>
  113.69 +                          <Component id="pkgSpecSepTextField" linkSize="7" min="-2" pref="38" max="-2" attributes="0"/>
  113.70 +                          <Component id="pkgBodySepTextField" linkSize="7" min="-2" pref="38" max="-2" attributes="0"/>
  113.71 +                          <Component id="separateSepTextField" linkSize="7" min="-2" pref="38" max="-2" attributes="0"/>
  113.72 +                      </Group>
  113.73 +                      <EmptySpace max="-2" attributes="0"/>
  113.74 +                      <Group type="103" groupAlignment="0" max="-2" attributes="0">
  113.75 +                          <Component id="pkgBodyPostfixComboBox" linkSize="9" alignment="0" pref="110" max="32767" attributes="1"/>
  113.76 +                          <Component id="separatePostfixComboBox" linkSize="9" alignment="0" max="32767" attributes="1"/>
  113.77 +                          <Component id="pkgSpecPostfixComboBox" linkSize="9" alignment="0" max="32767" attributes="1"/>
  113.78 +                          <Component id="postfixTitleLabel" alignment="1" min="-2" max="-2" attributes="1"/>
  113.79 +                      </Group>
  113.80 +                      <EmptySpace max="-2" attributes="0"/>
  113.81 +                      <Group type="103" groupAlignment="0" max="-2" attributes="0">
  113.82 +                          <Component id="separateExtComboBox" min="0" pref="0" max="32767" attributes="1"/>
  113.83 +                          <Component id="pkgBodyExtComboBox" alignment="0" min="0" pref="0" max="32767" attributes="1"/>
  113.84 +                          <Component id="pkgSpecExtComboBox" alignment="0" min="0" pref="0" max="32767" attributes="1"/>
  113.85 +                          <Group type="102" alignment="0" attributes="0">
  113.86 +                              <EmptySpace min="-2" pref="41" max="-2" attributes="0"/>
  113.87 +                              <Component id="extTitleLabel" min="-2" max="-2" attributes="1"/>
  113.88 +                          </Group>
  113.89 +                      </Group>
  113.90 +                  </Group>
  113.91 +                  <Group type="102" alignment="0" attributes="0">
  113.92 +                      <EmptySpace min="-2" max="-2" attributes="0"/>
  113.93 +                      <Component id="namingLabel" min="-2" max="-2" attributes="0"/>
  113.94 +                      <EmptySpace min="-2" max="-2" attributes="0"/>
  113.95 +                      <Component id="namingLineSeparator" pref="586" max="32767" attributes="0"/>
  113.96 +                  </Group>
  113.97 +              </Group>
  113.98 +              <EmptySpace max="-2" attributes="0"/>
  113.99 +          </Group>
 113.100 +      </Group>
 113.101 +    </DimensionLayout>
 113.102 +    <DimensionLayout dim="1">
 113.103 +      <Group type="103" groupAlignment="0" attributes="0">
 113.104 +          <Group type="102" attributes="0">
 113.105 +              <EmptySpace max="-2" attributes="0"/>
 113.106 +              <Group type="103" groupAlignment="2" attributes="0">
 113.107 +                  <Component id="standardsLineSeparator" alignment="2" min="-2" pref="12" max="-2" attributes="0"/>
 113.108 +                  <Component id="standardsLabel" alignment="2" min="-2" max="-2" attributes="0"/>
 113.109 +              </Group>
 113.110 +              <EmptySpace min="-2" max="-2" attributes="0"/>
 113.111 +              <Group type="103" groupAlignment="2" attributes="0">
 113.112 +                  <Component id="adaDialectsComboBox" alignment="2" min="-2" max="-2" attributes="0"/>
 113.113 +                  <Component id="adaDialectsLabel" alignment="2" min="-2" max="-2" attributes="0"/>
 113.114 +              </Group>
 113.115 +              <EmptySpace max="-2" attributes="0"/>
 113.116 +              <Group type="103" groupAlignment="2" attributes="0">
 113.117 +                  <Component id="adaRestrictionsComboBox" alignment="2" min="-2" max="-2" attributes="0"/>
 113.118 +                  <Component id="adaRestrictionsLabel" alignment="2" min="-2" max="-2" attributes="0"/>
 113.119 +              </Group>
 113.120 +              <EmptySpace type="separate" max="-2" attributes="0"/>
 113.121 +              <Group type="103" groupAlignment="2" attributes="0">
 113.122 +                  <Component id="namingLineSeparator" alignment="2" min="-2" pref="10" max="-2" attributes="0"/>
 113.123 +                  <Component id="namingLabel" alignment="2" min="-2" max="-2" attributes="0"/>
 113.124 +              </Group>
 113.125 +              <EmptySpace min="-2" pref="1" max="-2" attributes="0"/>
 113.126 +              <Group type="103" groupAlignment="0" attributes="0">
 113.127 +                  <Group type="103" alignment="0" groupAlignment="3" attributes="0">
 113.128 +                      <Component id="prefixTitleLabel" alignment="3" min="-2" max="-2" attributes="0"/>
 113.129 +                      <Component id="separatorTitleLabel" alignment="3" min="-2" max="-2" attributes="0"/>
 113.130 +                  </Group>
 113.131 +                  <Component id="extTitleLabel" alignment="0" min="-2" max="-2" attributes="0"/>
 113.132 +                  <Component id="postfixTitleLabel" alignment="0" min="-2" max="-2" attributes="0"/>
 113.133 +              </Group>
 113.134 +              <EmptySpace min="-2" pref="4" max="-2" attributes="0"/>
 113.135 +              <Group type="103" groupAlignment="2" attributes="0">
 113.136 +                  <Component id="pkgSpecMaskLabel" alignment="2" min="-2" max="-2" attributes="0"/>
 113.137 +                  <Component id="pkgSpecPrefixComboBox" alignment="2" min="-2" max="-2" attributes="0"/>
 113.138 +                  <Component id="pkgSpecSepTextField" alignment="2" min="-2" max="-2" attributes="0"/>
 113.139 +                  <Component id="pkgSpecPostfixComboBox" alignment="2" min="-2" max="-2" attributes="0"/>
 113.140 +                  <Component id="pkgSpecExtComboBox" alignment="2" min="-2" max="-2" attributes="0"/>
 113.141 +              </Group>
 113.142 +              <EmptySpace max="-2" attributes="0"/>
 113.143 +              <Group type="103" groupAlignment="0" attributes="0">
 113.144 +                  <Group type="103" alignment="0" groupAlignment="2" attributes="0">
 113.145 +                      <Component id="pkgBodyPrefixComboBox" alignment="2" min="-2" max="-2" attributes="0"/>
 113.146 +                      <Component id="pkgBodyMaskLabel" alignment="2" min="-2" max="-2" attributes="0"/>
 113.147 +                  </Group>
 113.148 +                  <Component id="pkgBodyExtComboBox" alignment="0" min="-2" max="-2" attributes="0"/>
 113.149 +                  <Group type="103" alignment="0" groupAlignment="3" attributes="0">
 113.150 +                      <Component id="pkgBodyPostfixComboBox" alignment="3" min="-2" max="-2" attributes="0"/>
 113.151 +                      <Component id="pkgBodySepTextField" alignment="3" min="-2" max="-2" attributes="0"/>
 113.152 +                  </Group>
 113.153 +              </Group>
 113.154 +              <EmptySpace max="-2" attributes="0"/>
 113.155 +              <Group type="103" groupAlignment="2" attributes="0">
 113.156 +                  <Component id="separatorMaskLabel" alignment="2" min="-2" max="-2" attributes="0"/>
 113.157 +                  <Component id="separatePrefixComboBox" alignment="2" min="-2" max="-2" attributes="0"/>
 113.158 +                  <Component id="separateSepTextField" alignment="2" min="-2" max="-2" attributes="0"/>
 113.159 +                  <Component id="separatePostfixComboBox" alignment="2" min="-2" max="-2" attributes="0"/>
 113.160 +                  <Component id="separateExtComboBox" alignment="2" min="-2" max="-2" attributes="0"/>
 113.161 +              </Group>
 113.162 +              <EmptySpace pref="150" max="32767" attributes="0"/>
 113.163 +              <Component id="errorLabel" min="-2" max="-2" attributes="0"/>
 113.164 +              <EmptySpace max="-2" attributes="0"/>
 113.165 +          </Group>
 113.166 +      </Group>
 113.167 +    </DimensionLayout>
 113.168 +  </Layout>
 113.169 +  <SubComponents>
 113.170 +    <Component class="javax.swing.JLabel" name="standardsLabel">
 113.171 +      <Properties>
 113.172 +        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
 113.173 +          <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_Standards" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
 113.174 +        </Property>
 113.175 +      </Properties>
 113.176 +    </Component>
 113.177 +    <Component class="javax.swing.JSeparator" name="standardsLineSeparator">
 113.178 +    </Component>
 113.179 +    <Component class="javax.swing.JLabel" name="adaDialectsLabel">
 113.180 +      <Properties>
 113.181 +        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
 113.182 +          <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_AdaDialects" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
 113.183 +        </Property>
 113.184 +      </Properties>
 113.185 +    </Component>
 113.186 +    <Component class="javax.swing.JLabel" name="namingLabel">
 113.187 +      <Properties>
 113.188 +        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
 113.189 +          <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_Naming" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
 113.190 +        </Property>
 113.191 +      </Properties>
 113.192 +    </Component>
 113.193 +    <Component class="javax.swing.JSeparator" name="namingLineSeparator">
 113.194 +    </Component>
 113.195 +    <Component class="javax.swing.JLabel" name="errorLabel">
 113.196 +      <Properties>
 113.197 +        <Property name="text" type="java.lang.String" value="ERROR"/>
 113.198 +      </Properties>
 113.199 +    </Component>
 113.200 +    <Component class="javax.swing.JLabel" name="adaRestrictionsLabel">
 113.201 +      <Properties>
 113.202 +        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
 113.203 +          <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_adaRestrictions" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
 113.204 +        </Property>
 113.205 +      </Properties>
 113.206 +    </Component>
 113.207 +    <Component class="javax.swing.JComboBox" name="adaDialectsComboBox">
 113.208 +      <Properties>
 113.209 +        <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
 113.210 +          <StringArray count="3">
 113.211 +            <StringItem index="0" value="Ada 83"/>
 113.212 +            <StringItem index="1" value="Ada 95"/>
 113.213 +            <StringItem index="2" value="Ada 2005"/>
 113.214 +          </StringArray>
 113.215 +        </Property>
 113.216 +      </Properties>
 113.217 +      <Events>
 113.218 +        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="adaDialectsComboBoxActionPerformed"/>
 113.219 +      </Events>
 113.220 +    </Component>
 113.221 +    <Component class="javax.swing.JComboBox" name="adaRestrictionsComboBox">
 113.222 +      <Properties>
 113.223 +        <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
 113.224 +          <StringArray count="3">
 113.225 +            <StringItem index="0" value="None"/>
 113.226 +            <StringItem index="1" value="Spark"/>
 113.227 +            <StringItem index="2" value="MIL-STD-498"/>
 113.228 +          </StringArray>
 113.229 +        </Property>
 113.230 +      </Properties>
 113.231 +      <Events>
 113.232 +        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="adaRestrictionsComboBoxActionPerformed"/>
 113.233 +      </Events>
 113.234 +    </Component>
 113.235 +    <Component class="javax.swing.JLabel" name="pkgSpecMaskLabel">
 113.236 +      <Properties>
 113.237 +        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
 113.238 +          <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_pkgSpecMask" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
 113.239 +        </Property>
 113.240 +      </Properties>
 113.241 +    </Component>
 113.242 +    <Component class="javax.swing.JLabel" name="pkgBodyMaskLabel">
 113.243 +      <Properties>
 113.244 +        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
 113.245 +          <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_pkgBodyMask" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
 113.246 +        </Property>
 113.247 +      </Properties>
 113.248 +    </Component>
 113.249 +    <Component class="javax.swing.JLabel" name="separatorMaskLabel">
 113.250 +      <Properties>
 113.251 +        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
 113.252 +          <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_separatorMask" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
 113.253 +        </Property>
 113.254 +      </Properties>
 113.255 +    </Component>
 113.256 +    <Component class="javax.swing.JTextField" name="pkgSpecSepTextField">
 113.257 +      <Properties>
 113.258 +        <Property name="horizontalAlignment" type="int" value="0"/>
 113.259 +      </Properties>
 113.260 +    </Component>
 113.261 +    <Component class="javax.swing.JTextField" name="separateSepTextField">
 113.262 +      <Properties>
 113.263 +        <Property name="horizontalAlignment" type="int" value="0"/>
 113.264 +      </Properties>
 113.265 +    </Component>
 113.266 +    <Component class="javax.swing.JTextField" name="pkgBodySepTextField">
 113.267 +      <Properties>
 113.268 +        <Property name="horizontalAlignment" type="int" value="0"/>
 113.269 +      </Properties>
 113.270 +    </Component>
 113.271 +    <Component class="javax.swing.JLabel" name="extTitleLabel">
 113.272 +      <Properties>
 113.273 +        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
 113.274 +          <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_extTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
 113.275 +        </Property>
 113.276 +      </Properties>
 113.277 +    </Component>
 113.278 +    <Component class="javax.swing.JComboBox" name="pkgSpecPrefixComboBox">
 113.279 +      <Properties>
 113.280 +        <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
 113.281 +          <StringArray count="2">
 113.282 +            <StringItem index="0" value="&lt;package name&gt;"/>
 113.283 +            <StringItem index="1" value="&lt;free name&gt;"/>
 113.284 +          </StringArray>
 113.285 +        </Property>
 113.286 +        <Property name="enabled" type="boolean" value="false"/>
 113.287 +      </Properties>
 113.288 +    </Component>
 113.289 +    <Component class="javax.swing.JLabel" name="prefixTitleLabel">
 113.290 +      <Properties>
 113.291 +        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
 113.292 +          <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_prefixTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
 113.293 +        </Property>
 113.294 +      </Properties>
 113.295 +    </Component>
 113.296 +    <Component class="javax.swing.JComboBox" name="pkgBodyPrefixComboBox">
 113.297 +      <Properties>
 113.298 +        <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
 113.299 +          <StringArray count="2">
 113.300 +            <StringItem index="0" value="&lt;package name&gt;"/>
 113.301 +            <StringItem index="1" value="&lt;free name&gt;"/>
 113.302 +          </StringArray>
 113.303 +        </Property>
 113.304 +        <Property name="enabled" type="boolean" value="false"/>
 113.305 +      </Properties>
 113.306 +    </Component>
 113.307 +    <Component class="javax.swing.JLabel" name="postfixTitleLabel">
 113.308 +      <Properties>
 113.309 +        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
 113.310 +          <ResourceString bundle="org/netbeans/modules/ada/project/options/general/Bundle.properties" key="LBL_postfixTitle" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
 113.311 +        </Property>
 113.312 +      </Properties>
 113.313 +    </Component>
 113.314 +    <Component class="javax.swing.JComboBox" name="pkgSpecPostfixComboBox">
 113.315 +      <Properties>
 113.316 +        <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
 113.317 +          <StringArray count="2">
 113.318 +            <StringItem index="0" value="&lt;none&gt;"/>
 113.319 +            <StringItem index="1" value="&lt;free name&gt;"/>
 113.320 +          </StringArray>
 113.321 +        </Property>
 113.322 +      </Properties>
 113.323 +      <Events>
 113.324 +        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="pkgSpecPostfixComboBoxActionPerformed"/>
 113.325 +      </Events>
 113.326 +    </Component>
 113.327 +    <Component class="javax.swing.JComboBox" name="separatePrefixComboBox">
 113.328 +      <Properties>
 113.329 +        <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
 113.330 +          <StringArray count="2">
 113.331 +            <StringItem index="0" value="&lt;package name&gt;"/>
 113.332 +            <StringItem index="1" value="&lt;free name&gt;"/>
 113.333 +          </StringArray>
 113.334 +        </Property>
 113.335 +        <Property name="enabled" type="boolean" value="false"/>
 113.336 +      </Properties>
 113.337 +    </Component>
 113.338 +    <Component class="javax.swing.JComboBox" name="pkgBodyPostfixComboBox">
 113.339 +      <Properties>
 113.340 +        <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
 113.341 +          <StringArray count="2">
 113.342 +            <StringItem index="0" value="&lt;none&gt;"/>
 113.343 +            <StringItem index="1" value="&lt;free name&gt;"/>
 113.344 +          </StringArray>
 113.345 +        </Property>
 113.346 +      </Properties>
 113.347 +      <Events>
 113.348 +        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="pkgBodyPostfixComboBoxActionPerformed"/>
 113.349 +      </Events>
 113.350 +    </Component>
 113.351 +    <Component class="javax.swing.JComboBox" name="separatePostfixComboBox">
 113.352 +      <Properties>
 113.353 +        <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
 113.354 +          <StringArray count="3">
 113.355 +            <StringItem index="0" value="&lt;procedure name&gt;"/>
 113.356 +            <StringItem index="1" value="&lt;free name&gt;"/>
 113.357 +            <StringItem index="2" value="&lt;none&gt;"/>
 113.358 +          </StringArray>
 113.359 +        </Property>
 113.360 +        <Property name="enabled" type="boolean" value="false"/>
 113.361 +      </Properties>
 113.362 +      <Events>
 113.363 +        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="separatePostfixComboBoxActionPerformed"/>
 113.364 +      </Events>
 113.365 +    </Component>
 113.366 +    <Component class="javax.swing.JComboBox" name="pkgSpecExtComboBox">
 113.367 +      <Properties>
 113.368 +        <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
 113.369 +          <StringArray count="2">
 113.370 +            <StringItem index="0" value="ads"/>
 113.371 +            <StringItem index="1" value="ada"/>
 113.372 +          </StringArray>
 113.373 +        </Property>
 113.374 +      </Properties>
 113.375 +      <Events>
 113.376 +        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="pkgSpecExtComboBoxActionPerformed"/>
 113.377 +      </Events>
 113.378 +    </Component>
 113.379 +    <Component class="javax.swing.JComboBox" name="pkgBodyExtComboBox">
 113.380 +      <Properties>
 113.381 +        <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
 113.382 +          <StringArray count="2">
 113.383 +            <StringItem index="0" value="adb"/>
 113.384 +            <StringItem index="1" value="ada"/>
 113.385 +          </StringArray>
 113.386 +        </Property>
 113.387 +      </Properties>
 113.388 +      <Events>
 113.389 +        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="pkgBodyExtComboBoxActionPerformed"/>
 113.390 +      </Events>
 113.391 +    </Component>
 113.392 +    <Component class="javax.swing.JComboBox" name="separateExtComboBox">
 113.393 +      <Properties>
 113.394 +        <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
 113.395 +          <StringArray count="2">
 113.396 +            <StringItem index="0" value="adb"/>
 113.397 +            <StringItem index="1" value="ada"/>
 113.398 +          </StringArray>
 113.399 +        </Property>
 113.400 +      </Properties>
 113.401 +      <Events>
 113.402 +        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="separateExtComboBoxActionPerformed"/>
 113.403 +      </Events>
 113.404 +    </Component>
 113.405 +    <Component class="javax.swing.JLabel" name="separatorTitleLabel">
 113.406 +      <Properties>
 113.407 +        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
 113.408 +          <ResourceString bundle="org/netbeans/modules/ada/project/options/ui/Bundle.properties" key="AdaGeneralOptionsPanel.separatorTitleLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
 113.409 +        </Property>
 113.410 +      </Properties>
 113.411 +    </Component>
 113.412 +  </SubComponents>
 113.413 +</Form>
   114.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   114.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/options/ui/AdaGeneralOptionsPanel.java	Sun Aug 22 23:37:11 2010 +0200
   114.3 @@ -0,0 +1,606 @@
   114.4 +/*
   114.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   114.6 + *
   114.7 + * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
   114.8 + *
   114.9 + * The contents of this file are subject to the terms of either the GNU
  114.10 + * General Public License Version 2 only ("GPL") or the Common
  114.11 + * Development and Distribution License("CDDL") (collectively, the
  114.12 + * "License"). You may not use this file except in compliance with the
  114.13 + * License. You can obtain a copy of the License at
  114.14 + * http://www.netbeans.org/cddl-gplv2.html
  114.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
  114.16 + * specific language governing permissions and limitations under the
  114.17 + * License.  When distributing the software, include this License Header
  114.18 + * Notice in each file and include the License file at
  114.19 + * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
  114.20 + * particular file as subject to the "Classpath" exception as provided
  114.21 + * by Sun in the GPL Version 2 section of the License file that
  114.22 + * accompanied this code. If applicable, add the following below the
  114.23 + * License Header, with the fields enclosed by brackets [] replaced by
  114.24 + * your own identifying information:
  114.25 + * "Portions Copyrighted [year] [name of copyright owner]"
  114.26 + *
  114.27 + * If you wish your version of this file to be governed by only the CDDL
  114.28 + * or only the GPL Version 2, indicate your decision by adding
  114.29 + * "[Contributor] elects to include this software in this distribution
  114.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
  114.31 + * single choice of license, a recipient has the option to distribute
  114.32 + * your version of this file under either the CDDL, the GPL Version 2 or
  114.33 + * to extend the choice of license to its licensees as provided above.
  114.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
  114.35 + * Version 2 license, then the option applies only if the new code is
  114.36 + * made subject to such option by the copyright holder.
  114.37 + *
  114.38 + * Contributor(s):
  114.39 + *
  114.40 + * Portions Copyrighted 2008 Sun Microsystems, Inc.
  114.41 + */
  114.42 +package org.netbeans.modules.ada.project.options.ui;
  114.43 +
  114.44 +import java.awt.Component;
  114.45 +import java.awt.event.ActionEvent;
  114.46 +import java.awt.event.ActionListener;
  114.47 +import javax.swing.DefaultComboBoxModel;
  114.48 +import javax.swing.JComboBox;
  114.49 +import javax.swing.JLabel;
  114.50 +import javax.swing.JPanel;
  114.51 +import javax.swing.JSeparator;
  114.52 +import javax.swing.JTextField;
  114.53 +import javax.swing.UIManager;
  114.54 +import javax.swing.event.ChangeEvent;
  114.55 +import javax.swing.event.ChangeListener;
  114.56 +import org.jdesktop.layout.GroupLayout;
  114.57 +import org.jdesktop.layout.LayoutStyle;
  114.58 +import org.netbeans.modules.ada.project.ui.properties.AdaProjectProperties;
  114.59 +import org.openide.awt.Mnemonics;
  114.60 +import org.openide.util.ChangeSupport;
  114.61 +import org.openide.util.HelpCtx;
  114.62 +import org.openide.util.NbBundle;
  114.63 +
  114.64 +/**
  114.65 + * @author  Andrea Lucarelli
  114.66 + */
  114.67 +public class AdaGeneralOptionsPanel extends JPanel implements ChangeListener, HelpCtx.Provider {
  114.68 +
  114.69 +    private final ChangeSupport changeSupport = new ChangeSupport(this);
  114.70 +    private final AdaProjectProperties uiProperties;
  114.71 +    private static final String UI_NONE = "<none>"; // NOI18N
  114.72 +    private static final String OPT_NONE = ""; // NOI18N
  114.73 +    private static final String UI_PACKAGE_NAME = "<package name>"; // NOI18N
  114.74 +    private static final String UI_PROCEDURE_NAME = "<procedure name>"; // NOI18N
  114.75 +
  114.76 +    public AdaGeneralOptionsPanel(final AdaProjectProperties uiProperties) {
  114.77 +        this.uiProperties = uiProperties;
  114.78 +        initComponents();
  114.79 +        errorLabel.setText(" "); // NOI18N
  114.80 +
  114.81 +        if (uiProperties != null) {
  114.82 +            setAdaDialects(uiProperties.getAdaDialects());
  114.83 +            setAdaRestrictions(uiProperties.getAdaRestrictions());
  114.84 +            setPkgSpecPrefix(uiProperties.getPkgSpecPrefix());
  114.85 +            setPkgBodyPrefix(uiProperties.getPkgBodyPrefix());
  114.86 +            setSeparatePrefix(uiProperties.getSeparatePrefix());
  114.87 +            setPkgSpecPostfix(uiProperties.getPkgSpecPostfix());
  114.88 +            setPkgBodyPostfix(uiProperties.getPkgBodyPostfix());
  114.89 +            setSeparatePostfix(uiProperties.getSeparatePostfix());
  114.90 +            setPkgSpecExt(uiProperties.getPkgSpecExt());
  114.91 +            setPkgBodyExt(uiProperties.getPkgBodyExt());
  114.92 +            setSeparateExt(uiProperties.getSeparateExt());
  114.93 +
  114.94 +            this.addChangeListener(this);
  114.95 +        }
  114.96 +    }
  114.97 +
  114.98 +    public String getAdaDialects() {
  114.99 +        if (adaDialectsComboBox.getSelectedItem() != null) {
 114.100 +            return adaDialectsComboBox.getSelectedItem().toString();
 114.101 +        }
 114.102 +        return OPT_NONE;
 114.103 +    }
 114.104 +
 114.105 +    public void setAdaDialects(String adaDialects) {
 114.106 +        adaDialectsComboBox.setSelectedItem(adaDialects);
 114.107 +    }
 114.108 +
 114.109 +    public String getAdaRestrictions() {
 114.110 +        if (adaRestrictionsComboBox.getSelectedItem() != null) {
 114.111 +            return adaRestrictionsComboBox.getSelectedItem().toString();
 114.112 +        }
 114.113 +        return OPT_NONE;
 114.114 +    }
 114.115 +
 114.116 +    public void setAdaRestrictions(String adaRestrictions) {
 114.117 +        adaRestrictionsComboBox.setSelectedItem(adaRestrictions);
 114.118 +    }
 114.119 +
 114.120 +    public String getPkgSpecPrefix() {
 114.121 +        return pkgSpecPrefixComboBox.getSelectedItem().toString();
 114.122 +    }
 114.123 +
 114.124 +    public void setPkgSpecPrefix(String pkgSpecPrefix) {
 114.125 +        pkgSpecPrefixComboBox.setSelectedItem(pkgSpecPrefix);
 114.126 +    }
 114.127 +
 114.128 +    public String getPkgBodyPrefix() {
 114.129 +        return pkgBodyPrefixComboBox.getSelectedItem().toString();
 114.130 +    }
 114.131 +
 114.132 +    public void setPkgBodyPrefix(String pkgBodyPrefix) {
 114.133 +        pkgBodyPrefixComboBox.setSelectedItem(pkgBodyPrefix);
 114.134 +    }
 114.135 +
 114.136 +    public String getSeparatePrefix() {
 114.137 +        return separatePrefixComboBox.getSelectedItem().toString();
 114.138 +    }
 114.139 +
 114.140 +    public void setSeparatePrefix(String separatePrefix) {
 114.141 +        separatePrefixComboBox.setSelectedItem(separatePrefix);
 114.142 +    }
 114.143 +
 114.144 +    public String getPkgSpecPostfix() {
 114.145 +        String pkgSpecPostfix = pkgSpecPostfixComboBox.getSelectedItem().toString();
 114.146 +        if (pkgSpecPostfix.equalsIgnoreCase(UI_NONE)) {
 114.147 +            pkgSpecPostfix = OPT_NONE;
 114.148 +        }
 114.149 +        return pkgSpecPostfix;
 114.150 +    }
 114.151 +
 114.152 +    public void setPkgSpecPostfix(String pkgSpecPostfix) {
 114.153 +        if (pkgSpecPostfix.equalsIgnoreCase(OPT_NONE)) {
 114.154 +            pkgSpecPostfixComboBox.setSelectedItem(UI_NONE);
 114.155 +        } else {
 114.156 +            pkgSpecPostfixComboBox.setEditable(true);
 114.157 +            pkgSpecPostfixComboBox.addItem(pkgSpecPostfix);
 114.158 +            pkgSpecPostfixComboBox.setSelectedItem(pkgSpecPostfix);
 114.159 +        }
 114.160 +    }
 114.161 +
 114.162 +    public String getPkgBodyPostfix() {
 114.163 +        String pkgBodyPostfix = pkgBodyPostfixComboBox.getSelectedItem().toString();
 114.164 +        if (pkgBodyPostfix.equalsIgnoreCase(UI_NONE)) {
 114.165 +            pkgBodyPostfix = OPT_NONE;
 114.166 +        }
 114.167 +        return pkgBodyPostfix;
 114.168 +    }
 114.169 +
 114.170 +    public void setPkgBodyPostfix(String pkgBodyPostfix) {
 114.171 +        if (pkgBodyPostfix.equalsIgnoreCase(OPT_NONE)) {
 114.172 +            pkgBodyPostfixComboBox.setSelectedItem(UI_NONE);
 114.173 +        } else {
 114.174 +            pkgBodyPostfixComboBox.setEditable(true);
 114.175 +            pkgBodyPostfixComboBox.addItem(pkgBodyPostfix);
 114.176 +            pkgBodyPostfixComboBox.setSelectedItem(pkgBodyPostfix);
 114.177 +        }
 114.178 +    }
 114.179 +
 114.180 +    public String getSeparatePostfix() {
 114.181 +        return separatePostfixComboBox.getSelectedItem().toString();
 114.182 +    }
 114.183 +
 114.184 +    public void setSeparatePostfix(String separatePostfix) {
 114.185 +        separatePostfixComboBox.setSelectedItem(separatePostfix);
 114.186 +    }
 114.187 +
 114.188 +    public String getPkgSpecExt() {
 114.189 +        return pkgSpecExtComboBox.getSelectedItem().toString();
 114.190 +    }
 114.191 +
 114.192 +    public void setPkgSpecExt(String pkgSpecExt) {
 114.193 +        pkgSpecExtComboBox.setSelectedItem(pkgSpecExt);
 114.194 +    }
 114.195 +
 114.196 +    public String getPkgBodyExt() {
 114.197 +        return pkgBodyExtComboBox.getSelectedItem().toString();
 114.198 +    }
 114.199 +
 114.200 +    public void setPkgBodyExt(String pkgBodyExt) {
 114.201 +        pkgBodyExtComboBox.setSelectedItem(pkgBodyExt);
 114.202 +    }
 114.203 +
 114.204 +    public String getSeparateExt() {
 114.205 +        return separateExtComboBox.getSelectedItem().toString();
 114.206 +    }
 114.207 +
 114.208 +    public void setSeparateExt(String separateExt) {
 114.209 +        separateExtComboBox.setSelectedItem(separateExt);
 114.210 +    }
 114.211 +
 114.212 +    public void setError(String message) {
 114.213 +        errorLabel.setText(" "); // NOI18N
 114.214 +        errorLabel.setForeground(UIManager.getColor("nb.errorForeground")); // NOI18N
 114.215 +        errorLabel.setText(message);
 114.216 +    }
 114.217 +
 114.218 +    public void setWarning(String message) {
 114.219 +        errorLabel.setText(" "); // NOI18N
 114.220 +        errorLabel.setForeground(UIManager.getColor("nb.warningForeground")); // NOI18N
 114.221 +        errorLabel.setText(message);
 114.222 +    }
 114.223 +
 114.224 +    public void addChangeListener(ChangeListener listener) {
 114.225 +        changeSupport.addChangeListener(listener);
 114.226 +    }
 114.227 +
 114.228 +    public void removeChangeListener(ChangeListener listener) {
 114.229 +        changeSupport.removeChangeListener(listener);
 114.230 +    }
 114.231 +
 114.232 +    void fireChange() {
 114.233 +        changeSupport.fireChange();
 114.234 +    }
 114.235 +
 114.236 +    /** This method is called from within the constructor to
 114.237 +     * initialize the form.
 114.238 +     * WARNING: Do NOT modify this code. The content of this method is
 114.239 +     * always regenerated by the Form Editor.
 114.240 +     */
 114.241 +    @SuppressWarnings("unchecked")
 114.242 +    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
 114.243 +    private void initComponents() {
 114.244 +
 114.245 +
 114.246 +
 114.247 +
 114.248 +
 114.249 +
 114.250 +
 114.251 +
 114.252 +
 114.253 +        standardsLabel = new JLabel();
 114.254 +        standardsLineSeparator = new JSeparator();
 114.255 +        adaDialectsLabel = new JLabel();
 114.256 +        namingLabel = new JLabel();
 114.257 +        namingLineSeparator = new JSeparator();
 114.258 +        errorLabel = new JLabel();
 114.259 +        adaRestrictionsLabel = new JLabel();
 114.260 +        adaDialectsComboBox = new JComboBox();
 114.261 +        adaRestrictionsComboBox = new JComboBox();
 114.262 +        pkgSpecMaskLabel = new JLabel();
 114.263 +        pkgBodyMaskLabel = new JLabel();
 114.264 +        separatorMaskLabel = new JLabel();
 114.265 +        pkgSpecSepTextField = new JTextField();
 114.266 +        separateSepTextField = new JTextField();
 114.267 +        pkgBodySepTextField = new JTextField();
 114.268 +        extTitleLabel = new JLabel();
 114.269 +        pkgSpecPrefixComboBox = new JComboBox();
 114.270 +        prefixTitleLabel = new JLabel();
 114.271 +        pkgBodyPrefixComboBox = new JComboBox();
 114.272 +        postfixTitleLabel = new JLabel();
 114.273 +        pkgSpecPostfixComboBox = new JComboBox();
 114.274 +        separatePrefixComboBox = new JComboBox();
 114.275 +        pkgBodyPostfixComboBox = new JComboBox();
 114.276 +        separatePostfixComboBox = new JComboBox();
 114.277 +        pkgSpecExtComboBox = new JComboBox();
 114.278 +        pkgBodyExtComboBox = new JComboBox();
 114.279 +        separateExtComboBox = new JComboBox();
 114.280 +        separatorTitleLabel = new JLabel();
 114.281 +        Mnemonics.setLocalizedText(standardsLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_Standards"));
 114.282 +        Mnemonics.setLocalizedText(adaDialectsLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_AdaDialects"));
 114.283 +        Mnemonics.setLocalizedText(namingLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_Naming"));
 114.284 +        Mnemonics.setLocalizedText(errorLabel, "ERROR");
 114.285 +        Mnemonics.setLocalizedText(adaRestrictionsLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_adaRestrictions"));
 114.286 +        adaDialectsComboBox.setModel(new DefaultComboBoxModel(new String[] { "Ada 83", "Ada 95", "Ada 2005" }));
 114.287 +        adaDialectsComboBox.addActionListener(new ActionListener() {
 114.288 +            public void actionPerformed(ActionEvent evt) {
 114.289 +                adaDialectsComboBoxActionPerformed(evt);
 114.290 +            }
 114.291 +        });
 114.292 +
 114.293 +        adaRestrictionsComboBox.setModel(new DefaultComboBoxModel(new String[] { "None", "Spark", "MIL-STD-498" }));
 114.294 +        adaRestrictionsComboBox.addActionListener(new ActionListener() {
 114.295 +            public void actionPerformed(ActionEvent evt) {
 114.296 +                adaRestrictionsComboBoxActionPerformed(evt);
 114.297 +            }
 114.298 +        });
 114.299 +        Mnemonics.setLocalizedText(pkgSpecMaskLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_pkgSpecMask"));
 114.300 +        Mnemonics.setLocalizedText(pkgBodyMaskLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_pkgBodyMask"));
 114.301 +        Mnemonics.setLocalizedText(separatorMaskLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_separatorMask"));
 114.302 +        pkgSpecSepTextField.setHorizontalAlignment(JTextField.CENTER);
 114.303 +
 114.304 +        separateSepTextField.setHorizontalAlignment(JTextField.CENTER);
 114.305 +
 114.306 +        pkgBodySepTextField.setHorizontalAlignment(JTextField.CENTER);
 114.307 +        Mnemonics.setLocalizedText(extTitleLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_extTitle"));
 114.308 +        pkgSpecPrefixComboBox.setModel(new DefaultComboBoxModel(new String[] { "<package name>", "<free name>" }));
 114.309 +        pkgSpecPrefixComboBox.setEnabled(false);
 114.310 +
 114.311 +        Mnemonics.setLocalizedText(prefixTitleLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_prefixTitle"));
 114.312 +        pkgBodyPrefixComboBox.setModel(new DefaultComboBoxModel(new String[] { "<package name>", "<free name>" }));
 114.313 +        pkgBodyPrefixComboBox.setEnabled(false);
 114.314 +
 114.315 +
 114.316 +        Mnemonics.setLocalizedText(postfixTitleLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "LBL_postfixTitle"));
 114.317 +        pkgSpecPostfixComboBox.setModel(new DefaultComboBoxModel(new String[] { "<none>", "<free name>" }));
 114.318 +        pkgSpecPostfixComboBox.addActionListener(new ActionListener() {
 114.319 +            public void actionPerformed(ActionEvent evt) {
 114.320 +                pkgSpecPostfixComboBoxActionPerformed(evt);
 114.321 +            }
 114.322 +        });
 114.323 +
 114.324 +        separatePrefixComboBox.setModel(new DefaultComboBoxModel(new String[] { "<package name>", "<free name>" }));
 114.325 +        separatePrefixComboBox.setEnabled(false);
 114.326 +
 114.327 +        pkgBodyPostfixComboBox.setModel(new DefaultComboBoxModel(new String[] { "<none>", "<free name>" }));
 114.328 +        pkgBodyPostfixComboBox.addActionListener(new ActionListener() {
 114.329 +            public void actionPerformed(ActionEvent evt) {
 114.330 +                pkgBodyPostfixComboBoxActionPerformed(evt);
 114.331 +            }
 114.332 +        });
 114.333 +
 114.334 +        separatePostfixComboBox.setModel(new DefaultComboBoxModel(new String[] { "<procedure name>", "<free name>", "<none>" }));
 114.335 +        separatePostfixComboBox.setEnabled(false);
 114.336 +
 114.337 +        separatePostfixComboBox.addActionListener(new ActionListener() {
 114.338 +            public void actionPerformed(ActionEvent evt) {
 114.339 +                separatePostfixComboBoxActionPerformed(evt);
 114.340 +            }
 114.341 +        });
 114.342 +
 114.343 +        pkgSpecExtComboBox.setModel(new DefaultComboBoxModel(new String[] { "ads", "ada" }));
 114.344 +        pkgSpecExtComboBox.addActionListener(new ActionListener() {
 114.345 +            public void actionPerformed(ActionEvent evt) {
 114.346 +                pkgSpecExtComboBoxActionPerformed(evt);
 114.347 +            }
 114.348 +        });
 114.349 +
 114.350 +        pkgBodyExtComboBox.setModel(new DefaultComboBoxModel(new String[] { "adb", "ada" }));
 114.351 +        pkgBodyExtComboBox.addActionListener(new ActionListener() {
 114.352 +            public void actionPerformed(ActionEvent evt) {
 114.353 +                pkgBodyExtComboBoxActionPerformed(evt);
 114.354 +            }
 114.355 +        });
 114.356 +
 114.357 +        separateExtComboBox.setModel(new DefaultComboBoxModel(new String[] { "adb", "ada" }));
 114.358 +        separateExtComboBox.addActionListener(new ActionListener() {
 114.359 +            public void actionPerformed(ActionEvent evt) {
 114.360 +                separateExtComboBoxActionPerformed(evt);
 114.361 +            }
 114.362 +        });
 114.363 +        Mnemonics.setLocalizedText(separatorTitleLabel, NbBundle.getMessage(AdaGeneralOptionsPanel.class, "AdaGeneralOptionsPanel.separatorTitleLabel.text"));
 114.364 +        GroupLayout layout = new GroupLayout(this);
 114.365 +        this.setLayout(layout);
 114.366 +        layout.setHorizontalGroup(
 114.367 +            layout.createParallelGroup(GroupLayout.LEADING)
 114.368 +            .add(layout.createSequentialGroup()
 114.369 +                .add(layout.createParallelGroup(GroupLayout.LEADING)
 114.370 +                    .add(layout.createSequentialGroup()
 114.371 +                        .addContainerGap()
 114.372 +                        .add(layout.createParallelGroup(GroupLayout.LEADING)
 114.373 +                            .add(layout.createSequentialGroup()
 114.374 +                                .add(standardsLabel)
 114.375 +                                .addPreferredGap(LayoutStyle.RELATED)
 114.376 +                                .add(standardsLineSeparator, GroupLayout.DEFAULT_SIZE, 572, Short.MAX_VALUE))
 114.377 +                            .add(errorLabel)
 114.378 +                            .add(layout.createSequentialGroup()
 114.379 +                                .add(12, 12, 12)
 114.380 +                                .add(layout.createParallelGroup(GroupLayout.LEADING)
 114.381 +                                    .add(adaRestrictionsLabel)
 114.382 +                                    .add(adaDialectsLabel, GroupLayout.PREFERRED_SIZE, 63, GroupLayout.PREFERRED_SIZE))
 114.383 +                                .addPreferredGap(LayoutStyle.UNRELATED)
 114.384 +                                .add(layout.createParallelGroup(GroupLayout.LEADING)
 114.385 +                                    .add(adaRestrictionsComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
 114.386 +                                    .add(adaDialectsComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
 114.387 +                                .add(373, 373, 373))))
 114.388 +                    .add(layout.createSequentialGroup()
 114.389 +                        .add(20, 20, 20)
 114.390 +                        .add(layout.createParallelGroup(GroupLayout.TRAILING, false)
 114.391 +                            .add(GroupLayout.LEADING, pkgBodyMaskLabel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 114.392 +                            .add(GroupLayout.LEADING, pkgSpecMaskLabel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 114.393 +                            .add(GroupLayout.LEADING, separatorMaskLabel, GroupLayout.PREFERRED_SIZE, 107, GroupLayout.PREFERRED_SIZE))
 114.394 +                        .addPreferredGap(LayoutStyle.UNRELATED)
 114.395 +                        .add(layout.createParallelGroup(GroupLayout.LEADING)
 114.396 +                            .add(layout.createParallelGroup(GroupLayout.TRAILING)
 114.397 +                                .add(layout.createParallelGroup(GroupLayout.LEADING)
 114.398 +                                    .add(pkgSpecPrefixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
 114.399 +                                    .add(pkgBodyPrefixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
 114.400 +                                .add(prefixTitleLabel))
 114.401 +                            .add(separatePrefixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
 114.402 +                        .addPreferredGap(LayoutStyle.RELATED)
 114.403 +                        .add(layout.createParallelGroup(GroupLayout.TRAILING)
 114.404 +                            .add(separatorTitleLabel)
 114.405 +                            .add(pkgSpecSepTextField, GroupLayout.PREFERRED_SIZE, 38, GroupLayout.PREFERRED_SIZE)
 114.406 +                            .add(pkgBodySepTextField, GroupLayout.PREFERRED_SIZE, 38, GroupLayout.PREFERRED_SIZE)
 114.407 +                            .add(separateSepTextField, GroupLayout.PREFERRED_SIZE, 38, GroupLayout.PREFERRED_SIZE))
 114.408 +                        .addPreferredGap(LayoutStyle.RELATED)
 114.409 +                        .add(layout.createParallelGroup(GroupLayout.LEADING, false)
 114.410 +                            .add(pkgBodyPostfixComboBox, 0, 110, Short.MAX_VALUE)
 114.411 +                            .add(separatePostfixComboBox, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 114.412 +                            .add(pkgSpecPostfixComboBox, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 114.413 +                            .add(GroupLayout.TRAILING, postfixTitleLabel))
 114.414 +                        .addPreferredGap(LayoutStyle.RELATED)
 114.415 +                        .add(layout.createParallelGroup(GroupLayout.LEADING, false)
 114.416 +                            .add(separateExtComboBox, 0, 0, Short.MAX_VALUE)
 114.417 +                            .add(pkgBodyExtComboBox, 0, 0, Short.MAX_VALUE)
 114.418 +                            .add(pkgSpecExtComboBox, 0, 0, Short.MAX_VALUE)
 114.419 +                            .add(layout.createSequentialGroup()
 114.420 +                                .add(41, 41, 41)
 114.421 +                                .add(extTitleLabel))))
 114.422 +                    .add(layout.createSequentialGroup()
 114.423 +                        .addContainerGap()
 114.424 +                        .add(namingLabel)
 114.425 +                        .addPreferredGap(LayoutStyle.RELATED)
 114.426 +                        .add(namingLineSeparator, GroupLayout.DEFAULT_SIZE, 586, Short.MAX_VALUE)))
 114.427 +                .addContainerGap())
 114.428 +        );
 114.429 +
 114.430 +        layout.linkSize(new Component[] {adaDialectsLabel, adaRestrictionsLabel}, GroupLayout.HORIZONTAL);
 114.431 +
 114.432 +        layout.linkSize(new Component[] {adaDialectsComboBox, adaRestrictionsComboBox}, GroupLayout.HORIZONTAL);
 114.433 +
 114.434 +        layout.linkSize(new Component[] {pkgBodyMaskLabel, pkgSpecMaskLabel, separatorMaskLabel}, GroupLayout.HORIZONTAL);
 114.435 +
 114.436 +        layout.linkSize(new Component[] {pkgBodySepTextField, pkgSpecSepTextField, separateSepTextField}, GroupLayout.HORIZONTAL);
 114.437 +
 114.438 +        layout.linkSize(new Component[] {pkgBodyPostfixComboBox, pkgBodyPrefixComboBox, pkgSpecPostfixComboBox, pkgSpecPrefixComboBox, separatePostfixComboBox, separatePrefixComboBox}, GroupLayout.HORIZONTAL);
 114.439 +
 114.440 +        layout.setVerticalGroup(
 114.441 +            layout.createParallelGroup(GroupLayout.LEADING)
 114.442 +            .add(layout.createSequentialGroup()
 114.443 +                .addContainerGap()
 114.444 +                .add(layout.createParallelGroup(GroupLayout.CENTER)
 114.445 +                    .add(standardsLineSeparator, GroupLayout.PREFERRED_SIZE, 12, GroupLayout.PREFERRED_SIZE)
 114.446 +                    .add(standardsLabel))
 114.447 +                .addPreferredGap(LayoutStyle.RELATED)
 114.448 +                .add(layout.createParallelGroup(GroupLayout.CENTER)
 114.449 +                    .add(adaDialectsComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
 114.450 +                    .add(adaDialectsLabel))
 114.451 +                .addPreferredGap(LayoutStyle.RELATED)
 114.452 +                .add(layout.createParallelGroup(GroupLayout.CENTER)
 114.453 +                    .add(adaRestrictionsComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
 114.454 +                    .add(adaRestrictionsLabel))
 114.455 +                .add(18, 18, 18)
 114.456 +                .add(layout.createParallelGroup(GroupLayout.CENTER)
 114.457 +                    .add(namingLineSeparator, GroupLayout.PREFERRED_SIZE, 10, GroupLayout.PREFERRED_SIZE)
 114.458 +                    .add(namingLabel))
 114.459 +                .add(1, 1, 1)
 114.460 +                .add(layout.createParallelGroup(GroupLayout.LEADING)
 114.461 +                    .add(layout.createParallelGroup(GroupLayout.BASELINE)
 114.462 +                        .add(prefixTitleLabel)
 114.463 +                        .add(separatorTitleLabel))
 114.464 +                    .add(extTitleLabel)
 114.465 +                    .add(postfixTitleLabel))
 114.466 +                .add(4, 4, 4)
 114.467 +                .add(layout.createParallelGroup(GroupLayout.CENTER)
 114.468 +                    .add(pkgSpecMaskLabel)
 114.469 +                    .add(pkgSpecPrefixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
 114.470 +                    .add(pkgSpecSepTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
 114.471 +                    .add(pkgSpecPostfixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
 114.472 +                    .add(pkgSpecExtComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
 114.473 +                .addPreferredGap(LayoutStyle.RELATED)
 114.474 +                .add(layout.createParallelGroup(GroupLayout.LEADING)
 114.475 +                    .add(layout.createParallelGroup(GroupLayout.CENTER)
 114.476 +                        .add(pkgBodyPrefixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
 114.477 +                        .add(pkgBodyMaskLabel))
 114.478 +                    .add(pkgBodyExtComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
 114.479 +                    .add(layout.createParallelGroup(GroupLayout.BASELINE)
 114.480 +                        .add(pkgBodyPostfixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
 114.481 +                        .add(pkgBodySepTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
 114.482 +                .addPreferredGap(LayoutStyle.RELATED)
 114.483 +                .add(layout.createParallelGroup(GroupLayout.CENTER)
 114.484 +                    .add(separatorMaskLabel)
 114.485 +                    .add(separatePrefixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
 114.486 +                    .add(separateSepTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
 114.487 +                    .add(separatePostfixComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
 114.488 +                    .add(separateExtComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
 114.489 +                .addPreferredGap(LayoutStyle.RELATED, 150, Short.MAX_VALUE)
 114.490 +                .add(errorLabel)
 114.491 +                .addContainerGap())
 114.492 +        );
 114.493 +    }// </editor-fold>//GEN-END:initComponents
 114.494 +
 114.495 +    private void adaDialectsComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_adaDialectsComboBoxActionPerformed
 114.496 +        if (this.uiProperties != null) {
 114.497 +            this.uiProperties.setAdaDialects(getAdaDialects());
 114.498 +        }
 114.499 +    }//GEN-LAST:event_adaDialectsComboBoxActionPerformed
 114.500 +
 114.501 +    private void adaRestrictionsComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_adaRestrictionsComboBoxActionPerformed
 114.502 +        if (this.uiProperties != null) {
 114.503 +            this.uiProperties.setAdaRestrictions(getAdaRestrictions());
 114.504 +        }
 114.505 +    }//GEN-LAST:event_adaRestrictionsComboBoxActionPerformed
 114.506 +
 114.507 +    private void pkgSpecPostfixComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_pkgSpecPostfixComboBoxActionPerformed
 114.508 +        fireChange();
 114.509 +        if (pkgSpecPostfixComboBox.getSelectedIndex() != 0) {
 114.510 +            pkgSpecPostfixComboBox.setEditable(true);
 114.511 +            pkgSpecPostfixComboBox.getEditor().selectAll();
 114.512 +        } else {
 114.513 +            pkgSpecPostfixComboBox.setEditable(false);
 114.514 +        }
 114.515 +        if (this.uiProperties != null) {
 114.516 +            this.uiProperties.setPkgSpecPostfix(getPkgSpecPostfix());
 114.517 +        }
 114.518 +    }//GEN-LAST:event_pkgSpecPostfixComboBoxActionPerformed
 114.519 +
 114.520 +    private void pkgBodyPostfixComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_pkgBodyPostfixComboBoxActionPerformed
 114.521 +        fireChange();
 114.522 +        if (pkgBodyPostfixComboBox.getSelectedIndex() != 0) {
 114.523 +            pkgBodyPostfixComboBox.setEditable(true);
 114.524 +            pkgBodyPostfixComboBox.getEditor().selectAll();
 114.525 +        } else {
 114.526 +            pkgBodyPostfixComboBox.setEditable(false);
 114.527 +        }
 114.528 +        if (this.uiProperties != null) {
 114.529 +            this.uiProperties.setPkgBodyPostfix(getPkgBodyPostfix());
 114.530 +        }
 114.531 +    }//GEN-LAST:event_pkgBodyPostfixComboBoxActionPerformed
 114.532 +
 114.533 +    private void separatePostfixComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_separatePostfixComboBoxActionPerformed
 114.534 +        if (this.uiProperties != null) {
 114.535 +            this.uiProperties.setSeparatePostfix(getSeparatePostfix());
 114.536 +        }
 114.537 +    }//GEN-LAST:event_separatePostfixComboBoxActionPerformed
 114.538 +
 114.539 +    private void pkgSpecExtComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_pkgSpecExtComboBoxActionPerformed
 114.540 +        if (this.uiProperties != null) {
 114.541 +            this.uiProperties.setPkgSpecExt(getPkgSpecExt());
 114.542 +        }
 114.543 +        fireChange();
 114.544 +    }//GEN-LAST:event_pkgSpecExtComboBoxActionPerformed
 114.545 +
 114.546 +    private void pkgBodyExtComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_pkgBodyExtComboBoxActionPerformed
 114.547 +        if (this.uiProperties != null) {
 114.548 +            this.uiProperties.setPkgBodyExt(getPkgBodyExt());
 114.549 +        }
 114.550 +        fireChange();
 114.551 +    }//GEN-LAST:event_pkgBodyExtComboBoxActionPerformed
 114.552 +
 114.553 +    private void separateExtComboBoxActionPerformed(ActionEvent evt) {//GEN-FIRST:event_separateExtComboBoxActionPerformed
 114.554 +        if (this.uiProperties != null) {
 114.555 +            this.uiProperties.setSeparateExt(getSeparateExt());
 114.556 +        }
 114.557 +    }//GEN-LAST:event_separateExtComboBoxActionPerformed
 114.558 +    // Variables declaration - do not modify//GEN-BEGIN:variables
 114.559 +    private JComboBox adaDialectsComboBox;
 114.560 +    private JLabel adaDialectsLabel;
 114.561 +    private JComboBox adaRestrictionsComboBox;
 114.562 +    private JLabel adaRestrictionsLabel;
 114.563 +    private JLabel errorLabel;
 114.564 +    private JLabel extTitleLabel;
 114.565 +    private JLabel namingLabel;
 114.566 +    private JSeparator namingLineSeparator;
 114.567 +    private JComboBox pkgBodyExtComboBox;
 114.568 +    private JLabel pkgBodyMaskLabel;
 114.569 +    private JComboBox pkgBodyPostfixComboBox;
 114.570 +    private JComboBox pkgBodyPrefixComboBox;
 114.571 +    private JTextField pkgBodySepTextField;
 114.572 +    private JComboBox pkgSpecExtComboBox;
 114.573 +    private JLabel pkgSpecMaskLabel;
 114.574 +    private JComboBox pkgSpecPostfixComboBox;
 114.575 +    private JComboBox pkgSpecPrefixComboBox;
 114.576 +    private JTextField pkgSpecSepTextField;
 114.577 +    private JLabel postfixTitleLabel;
 114.578 +    private JLabel prefixTitleLabel;
 114.579 +    private JComboBox separateExtComboBox;
 114.580 +    private JComboBox separatePostfixComboBox;
 114.581 +    private JComboBox separatePrefixComboBox;
 114.582 +    private JTextField separateSepTextField;
 114.583 +    private JLabel separatorMaskLabel;
 114.584 +    private JLabel separatorTitleLabel;
 114.585 +    private JLabel standardsLabel;
 114.586 +    private JSeparator standardsLineSeparator;
 114.587 +    // End of variables declaration//GEN-END:variables
 114.588 +
 114.589 +    public void stateChanged(ChangeEvent e) {
 114.590 +        // errors
 114.591 +        String postfixSpec = this.getPkgSpecPostfix();
 114.592 +        String postfixBody = this.getPkgBodyPostfix();
 114.593 +        String specExt = this.getPkgSpecExt();
 114.594 +        String bodyExt = this.getPkgBodyExt();
 114.595 +
 114.596 +        // everything ok
 114.597 +        this.setError(" "); // NOI18N
 114.598 +
 114.599 +        if (specExt.equalsIgnoreCase(bodyExt)) {
 114.600 +            if (postfixSpec.equalsIgnoreCase(postfixBody)) {
 114.601 +                this.setError(NbBundle.getMessage(AdaGeneralOptionsPanel.class, "MSG_ExtetionsError"));
 114.602 +            }
 114.603 +        }
 114.604 +    }
 114.605 +
 114.606 +    public HelpCtx getHelpCtx() {
 114.607 +        return new HelpCtx(this.getClass());
 114.608 +    }
 114.609 +}
   115.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   115.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/options/ui/Bundle.properties	Sun Aug 22 23:37:11 2010 +0200
   115.3 @@ -0,0 +1,87 @@
   115.4 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   115.5 +#
   115.6 +# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
   115.7 +#
   115.8 +# The contents of this file are subject to the terms of either the GNU
   115.9 +# General Public License Version 2 only ("GPL") or the Common
  115.10 +# Development and Distribution License("CDDL") (collectively, the
  115.11 +# "License"). You may not use this file except in compliance with the
  115.12 +# License. You can obtain a copy of the License at
  115.13 +# http://www.netbeans.org/cddl-gplv2.html
  115.14 +# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
  115.15 +# specific language governing permissions and limitations under the
  115.16 +# License.  When distributing the software, include this License Header
  115.17 +# Notice in each file and include the License file at
  115.18 +# nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
  115.19 +# particular file as subject to the "Classpath" exception as provided
  115.20 +# by Sun in the GPL Version 2 section of the License file that
  115.21 +# accompanied this code. If applicable, add the following below the
  115.22 +# License Header, with the fields enclosed by brackets [] replaced by
  115.23 +# your own identifying information:
  115.24 +# "Portions Copyrighted [year] [name of copyright owner]"
  115.25 +#
  115.26 +# If you wish your version of this file to be governed by only the CDDL
  115.27 +# or only the GPL Version 2, indicate your decision by adding
  115.28 +# "[Contributor] elects to include this software in this distribution
  115.29 +# under the [CDDL or GPL Version 2] license." If you do not indicate a
  115.30 +# single choice of license, a recipient has the option to distribute
  115.31 +# your version of this file under either the CDDL, the GPL Version 2 or
  115.32 +# to extend the choice of license to its licensees as provided above.
  115.33 +# However, if you add GPL Version 2 code and therefore, elected the GPL
  115.34 +# Version 2 license, then the option applies only if the new code is
  115.35 +# made subject to such option by the copyright holder.
  115.36 +#
  115.37 +# Contributor(s):
  115.38 +#
  115.39 +# Portions Copyrighted 2009 Sun Microsystems, Inc.
  115.40 +
  115.41 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  115.42 +
  115.43 +# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
  115.44 +
  115.45 +# The contents of this file are subject to the terms of either the GNU
  115.46 +# General Public License Version 2 only ("GPL") or the Common
  115.47 +# Development and Distribution License("CDDL") (collectively, the
  115.48 +# "License"). You may not use this file except in compliance with the
  115.49 +# License. You can obtain a copy of the License at
  115.50 +# http://www.netbeans.org/cddl-gplv2.html
  115.51 +# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
  115.52 +# specific language governing permissions and limitations under the
  115.53 +# License.  When distributing the software, include this License Header
  115.54 +# Notice in each file and include the License file at
  115.55 +# nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
  115.56 +# particular file as subject to the "Classpath" exception as provided
  115.57 +# by Sun in the GPL Version 2 section of the License file that
  115.58 +# accompanied this code. If applicable, add the following below the
  115.59 +# License Header, with the fields enclosed by brackets [] replaced by
  115.60 +# your own identifying information:
  115.61 +# "Portions Copyrighted [year] [name of copyright owner]"
  115.62 +
  115.63 +# If you wish your version of this file to be governed by only the CDDL
  115.64 +# or only the GPL Version 2, indicate your decision by adding
  115.65 +# "[Contributor] elects to include this software in this distribution
  115.66 +# under the [CDDL or GPL Version 2] license." If you do not indicate a
  115.67 +# single choice of license, a recipient has the option to distribute
  115.68 +# your version of this file under either the CDDL, the GPL Version 2 or
  115.69 +# to extend the choice of license to its licensees as provided above.
  115.70 +# However, if you add GPL Version 2 code and therefore, elected the GPL
  115.71 +# Version 2 license, then the option applies only if the new code is
  115.72 +# made subject to such option by the copyright holder.
  115.73 +
  115.74 +# Contributor(s):
  115.75 +
  115.76 +# Portions Copyrighted 2009 Sun Microsystems, Inc.
  115.77 +
  115.78 +# AdaGeneralOptionsPanel
  115.79 +LBL_Naming=File Naming
  115.80 +LBL_AdaDialects=Ada Dialects
  115.81 +LBL_pkgSpecMask=Package &Specification:
  115.82 +LBL_pkgBodyMask=Package &Body:
  115.83 +LBL_separatorMask=Separa&te:
  115.84 +LBL_prefixTitle=prefix
  115.85 +LBL_postfixTitle=postfix
  115.86 +LBL_extTitle=ext.
  115.87 +LBL_adaRestrictions=Ada &restrictions:
  115.88 +LBL_Standards=Standards
  115.89 +AdaGeneralOptionsPanel.separatorTitleLabel.text=separ.
  115.90 +MSG_ExtetionsError= Body Postfix (".ada") cannot be the same as Spec Postfix.
  115.91 \ No newline at end of file
   116.1 --- a/ada.project/src/org/netbeans/modules/ada/project/resources/Bundle.properties	Wed Feb 24 15:52:30 2010 -0500
   116.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/resources/Bundle.properties	Sun Aug 22 23:37:11 2010 +0200
   116.3 @@ -35,9 +35,9 @@
   116.4  #
   116.5  # Portions Copyrighted 2008 Sun Microsystems, Inc.
   116.6  
   116.7 -Templates/Ada/NewAdaMain=Ada Application Main
   116.8 -Templates/Ada/NewAdaPackageSpec=Ada Specification Package
   116.9 -Templates/Ada/NewAdaPackageBody=Ada Body Package
  116.10 +Templates/Ada/NewMain=Ada Application Main
  116.11 +Templates/Ada/NewPackageSpec=Ada Specification Package
  116.12 +Templates/Ada/NewPackageBody=Ada Body Package
  116.13  
  116.14  Templates/Project/Ada/AdaProject.xml=Ada Application
  116.15  Templates/Project/Ada/ExistingAdaProject.xml=Ada Application with Existing Sources
   117.1 --- a/ada.project/src/org/netbeans/modules/ada/project/resources/layer.xml	Wed Feb 24 15:52:30 2010 -0500
   117.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/resources/layer.xml	Sun Aug 22 23:37:11 2010 +0200
   117.3 @@ -97,30 +97,30 @@
   117.4          </folder>
   117.5          <folder name="Ada">
   117.6              <attr name="position" intvalue="40"/>
   117.7 -            <file name="NewAdaMain" url="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaMain">
   117.8 +            <file name="NewMain" url="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaMain">
   117.9                  <attr name="template" boolvalue="true"/>
  117.10                  <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.ada.project.resources.Bundle"/>
  117.11 -                <attr name="SystemFileSystem.icon" urlvalue="nbresloc:org/netbeans/modules/ada/project/ui/resources/ada-body-16.png"/>
  117.12 +                <attr name="SystemFileSystem.icon" urlvalue="nbresloc:org/netbeans/modules/ada/project/ui/resources/adb-16.png"/>
  117.13                  <attr name="javax.script.ScriptEngine" stringvalue="freemarker"/>
  117.14                  <attr name="instantiatingIterator" newvalue="org.netbeans.modules.ada.project.ui.wizards.NewFileWizardIterator"/>
  117.15                  <attr name="templateWizardURL" urlvalue="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaMainFileDescription.html"/>
  117.16                  <attr name="templateCategory" stringvalue="Ada"/>
  117.17                  <attr name="position" intvalue="100"/>
  117.18              </file>
  117.19 -            <file name="NewAdaPackageSpec" url="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaSpec">
  117.20 +            <file name="NewPackageSpec" url="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaSpec">
  117.21                  <attr name="template" boolvalue="true"/>
  117.22                  <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.ada.project.resources.Bundle"/>
  117.23 -                <attr name="SystemFileSystem.icon" urlvalue="nbresloc:org/netbeans/modules/ada/project/ui/resources/ada-spec-16.png"/>
  117.24 +                <attr name="SystemFileSystem.icon" urlvalue="nbresloc:org/netbeans/modules/ada/project/ui/resources/ads-16.png"/>
  117.25                  <attr name="javax.script.ScriptEngine" stringvalue="freemarker"/>
  117.26                  <attr name="instantiatingIterator" newvalue="org.netbeans.modules.ada.project.ui.wizards.NewFileWizardIterator"/>
  117.27                  <attr name="templateWizardURL" urlvalue="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaSpecFileDescription.html"/>
  117.28                  <attr name="templateCategory" stringvalue="Ada"/>
  117.29                  <attr name="position" intvalue="200"/>
  117.30              </file>
  117.31 -            <file name="NewAdaPackageBody" url="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaBody">
  117.32 +            <file name="NewPackageBody" url="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaBody">
  117.33                  <attr name="template" boolvalue="true"/>
  117.34                  <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.ada.project.resources.Bundle"/>
  117.35 -                <attr name="SystemFileSystem.icon" urlvalue="nbresloc:org/netbeans/modules/ada/project/ui/resources/ada-body-16.png"/>
  117.36 +                <attr name="SystemFileSystem.icon" urlvalue="nbresloc:org/netbeans/modules/ada/project/ui/resources/adb-16.png"/>
  117.37                  <attr name="javax.script.ScriptEngine" stringvalue="freemarker"/>
  117.38                  <attr name="instantiatingIterator" newvalue="org.netbeans.modules.ada.project.ui.wizards.NewFileWizardIterator"/>
  117.39                  <attr name="templateWizardURL" urlvalue="nbresloc:/org/netbeans/modules/ada/project/ui/resources/EmptyAdaBodyFileDescription.html"/>
  117.40 @@ -129,76 +129,4 @@
  117.41              </file>
  117.42          </folder>
  117.43      </folder>
  117.44 -    <folder name="Loaders">
  117.45 -        <folder name="text">
  117.46 -            <folder name="x-ada">
  117.47 -                <folder name="Actions">
  117.48 -                    <file name="OpenAction.instance">
  117.49 -                        <attr name="instanceClass" stringvalue="org.openide.actions.OpenAction"/>
  117.50 -                        <attr name="position" intvalue="100"/>
  117.51 -                    </file>
  117.52 -                    <file name="Separator1.instance">
  117.53 -                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
  117.54 -                        <attr name="position" intvalue="200"/>
  117.55 -                    </file>
  117.56 -                    <file name="CutAction.instance">
  117.57 -                        <attr name="instanceClass" stringvalue="org.openide.actions.CutAction"/>
  117.58 -                        <attr name="position" intvalue="300"/>
  117.59 -                    </file>
  117.60 -                    <file name="CopyAction.instance">
  117.61 -                        <attr name="instanceClass" stringvalue="org.openide.actions.CopyAction"/>
  117.62 -                        <attr name="position" intvalue="400"/>
  117.63 -                    </file>
  117.64 -                    <file name="PasteAction.instance">
  117.65 -                        <attr name="instanceClass" stringvalue="org.openide.actions.PasteAction"/>
  117.66 -                        <attr name="position" intvalue="500"/>
  117.67 -                    </file>
  117.68 -                    <file name="Separator2.instance">
  117.69 -                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
  117.70 -                        <attr name="position" intvalue="600"/>
  117.71 -                    </file>
  117.72 -                    <file name="NewAction.instance">
  117.73 -                        <attr name="instanceClass" stringvalue="org.openide.actions.NewAction"/>
  117.74 -                        <attr name="position" intvalue="700"/>
  117.75 -                    </file>
  117.76 -                    <file name="DeleteAction.instance">
  117.77 -                        <attr name="instanceClass" stringvalue="org.openide.actions.DeleteAction"/>
  117.78 -                        <attr name="position" intvalue="800"/>
  117.79 -                    </file>
  117.80 -                    <file name="RenameAction.instance">
  117.81 -                        <attr name="instanceClass" stringvalue="org.openide.actions.RenameAction"/>
  117.82 -                        <attr name="position" intvalue="900"/>
  117.83 -                    </file>
  117.84 -                    <file name="Separator3.instance">
  117.85 -                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
  117.86 -                        <attr name="position" intvalue="1000"/>
  117.87 -                    </file>
  117.88 -                    <file name="SaveAsTemplateAction.instance">
  117.89 -                        <attr name="instanceClass" stringvalue="org.openide.actions.SaveAsTemplateAction"/>
  117.90 -                        <attr name="position" intvalue="1100"/>
  117.91 -                    </file>
  117.92 -                    <file name="Separator4.instance">
  117.93 -                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
  117.94 -                        <attr name="position" intvalue="1200"/>
  117.95 -                    </file>
  117.96 -                    <file name="FileSystemAction.instance">
  117.97 -                        <attr name="instanceClass" stringvalue="org.openide.actions.FileSystemAction"/>
  117.98 -                        <attr name="position" intvalue="1300"/>
  117.99 -                    </file>
 117.100 -                    <file name="Separator5.instance">
 117.101 -                        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
 117.102 -                        <attr name="position" intvalue="1400"/>
 117.103 -                    </file>
 117.104 -                    <file name="ToolsAction.instance">
 117.105 -                        <attr name="instanceClass" stringvalue="org.openide.actions.ToolsAction"/>
 117.106 -                        <attr name="position" intvalue="1500"/>
 117.107 -                    </file>
 117.108 -                    <file name="PropertiesAction.instance">
 117.109 -                        <attr name="instanceClass" stringvalue="org.openide.actions.PropertiesAction"/>
 117.110 -                        <attr name="position" intvalue="1600"/>
 117.111 -                    </file>
 117.112 -                </folder>
 117.113 -            </folder>
 117.114 -        </folder>
 117.115 -    </folder>
 117.116  </filesystem>
   118.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/MainModuleChooser.java	Wed Feb 24 15:52:30 2010 -0500
   118.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/MainModuleChooser.java	Sun Aug 22 23:37:11 2010 +0200
   118.3 @@ -44,6 +44,7 @@
   118.4  import java.util.List;
   118.5  import javax.swing.DefaultListModel;
   118.6  import javax.swing.JButton;
   118.7 +import javax.swing.JPanel;
   118.8  import javax.swing.SwingUtilities;
   118.9  import org.netbeans.modules.ada.project.AdaMimeResolver;
  118.10  import org.openide.filesystems.FileObject;
  118.11 @@ -55,7 +56,7 @@
  118.12   *
  118.13   * @author  Andrea Lucarelli
  118.14   */
  118.15 -final class MainModuleChooser extends javax.swing.JPanel {
  118.16 +final class MainModuleChooser extends JPanel {
  118.17      
  118.18      private final FileObject[] roots;
  118.19      private final JButton okButton;
   119.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   119.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/actions/ActionsUtil.java	Sun Aug 22 23:37:11 2010 +0200
   119.3 @@ -0,0 +1,112 @@
   119.4 +/*
   119.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   119.6 + *
   119.7 + * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
   119.8 + *
   119.9 + * The contents of this file are subject to the terms of either the GNU
  119.10 + * General Public License Version 2 only ("GPL") or the Common
  119.11 + * Development and Distribution License("CDDL") (collectively, the
  119.12 + * "License"). You may not use this file except in compliance with the
  119.13 + * License. You can obtain a copy of the License at
  119.14 + * http://www.netbeans.org/cddl-gplv2.html
  119.15 + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
  119.16 + * specific language governing permissions and limitations under the
  119.17 + * License.  When distributing the software, include this License Header
  119.18 + * Notice in each file and include the License file at
  119.19 + * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
  119.20 + * particular file as subject to the "Classpath" exception as provided
  119.21 + * by Sun in the GPL Version 2 section of the License file that
  119.22 + * accompanied this code. If applicable, add the following below the
  119.23 + * License Header, with the fields enclosed by brackets [] replaced by
  119.24 + * your own identifying information:
  119.25 + * "Portions Copyrighted [year] [name of copyright owner]"
  119.26 + *
  119.27 + * If you wish your version of this file to be governed by only the CDDL
  119.28 + * or only the GPL Version 2, indicate your decision by adding
  119.29 + * "[Contributor] elects to include this software in this distribution
  119.30 + * under the [CDDL or GPL Version 2] license." If you do not indicate a
  119.31 + * single choice of license, a recipient has the option to distribute
  119.32 + * your version of this file under either the CDDL, the GPL Version 2 or
  119.33 + * to extend the choice of license to its licensees as provided above.
  119.34 + * However, if you add GPL Version 2 code and therefore, elected the GPL
  119.35 + * Version 2 license, then the option applies only if the new code is
  119.36 + * made subject to such option by the copyright holder.
  119.37 + *
  119.38 + * Contributor(s):
  119.39 + *
  119.40 + * Portions Copyrighted 2009 Sun Microsystems, Inc.
  119.41 + */
  119.42 +package org.netbeans.modules.ada.project.ui.actions;
  119.43 +
  119.44 +import java.util.ArrayList;
  119.45 +import org.netbeans.api.ada.platform.AdaPlatform;
  119.46 +import org.netbeans.modules.ada.platform.compiler.gnat.GnatCompiler;
  119.47 +import org.netbeans.modules.ada.platform.compiler.jgnat.JGnatCompiler;
  119.48 +import org.netbeans.modules.ada.project.AdaProject;
  119.49 +import org.netbeans.modules.ada.project.AdaProjectUtil;
  119.50 +import org.netbeans.modules.ada.project.options.AdaOptions;
  119.51 +import org.netbeans.modules.ada.project.ui.properties.AdaProjectProperties;
  119.52 +import org.openide.filesystems.FileObject;
  119.53 +import org.openide.filesystems.FileUtil;
  119.54 +
  119.55 +/**
  119.56 + *
  119.57 + * @author alucarelli
  119.58 + */
  119.59 +public class ActionsUtil {
  119.60 +
  119.61 +    public static org.netbeans.spi.ada.platform.Compiler getCompilerFactory(AdaProject project, String displayTitle) {
  119.62 +        org.netbeans.spi.ada.platform.Compiler compiler = null;
  119.63 +
  119.64 +        // Retrieve project and platform
  119.65 +        AdaPlatform platform = AdaProjectUtil.getActivePlatform(project);
  119.66 +        assert platform != null;
  119.67 +
  119.68 +        ArrayList<String> sources = new ArrayList<String>();
  119.69 +        FileObject[] files;
  119.70 +
  119.71 +        // Retrieve main file
  119.72 +        String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
  119.73 +        assert mainFile != null;
  119.74 +
  119.75 +        files = project.getSourcesDirectory();
  119.76 +        for (int index = 0; index < files.length; index++) {
  119.77 +            sources.add(FileUtil.toFile(files[index]).getAbsolutePath());
  119.78 +        }
  119.79 +
  119.80 +        // Init compiler factory
  119.81 +        if (project.getEvaluator().getProperty(AdaProjectProperties.OUTPUT_BUILD_FORMAT).equalsIgnoreCase(AdaProjectProperties.NATIVE_FORMAT)) {
  119.82 +            compiler = new GnatCompiler(
  119.83 +                    platform,
  119.84 +                    project.getName(), // project name
  119.85 +                    FileUtil.toFile(project.getProjectDirectory()).getAbsolutePath(), // project location
  119.86 +                    sources, // sources location
  119.87 +                    mainFile, // main file
  119.88 +                    project.getName(), // executable file
  119.89 +                    displayTitle, // display name
  119.90 +                    project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX),
  119.91 +                    project.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX),
  119.92 +                    project.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX),
  119.93 +                    project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT),
  119.94 +                    project.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT),
  119.95 +                    project.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT));
  119.96 +        } else if (project.getEvaluator().getProperty(AdaProjectProperties.OUTPUT_BUILD_FORMAT).equalsIgnoreCase(AdaProjectProperties.JVM_FORMAT)) {
  119.97 +            compiler = new JGnatCompiler(
  119.98 +                    platform,
  119.99 +                    project.getName(), // project name
 119.100 +                    FileUtil.toFile(project.getProjectDirectory()).getAbsolutePath(), // project location
 119.101 +                    sources, // sources location
 119.102 +                    mainFile, // main file
 119.103 +                    project.getName(), // executable file
 119.104 +                    displayTitle, // display name
 119.105 +                    project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX),
 119.106 +                    project.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX),
 119.107 +                    project.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX),
 119.108 +                    project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT),
 119.109 +                    project.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT),
 119.110 +                    project.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT));
 119.111 +        }
 119.112 +
 119.113 +        return compiler;
 119.114 +    }
 119.115 +}
   120.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/actions/BuildCommand.java	Wed Feb 24 15:52:30 2010 -0500
   120.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/actions/BuildCommand.java	Sun Aug 22 23:37:11 2010 +0200
   120.3 @@ -74,15 +74,6 @@
   120.4      public void invokeAction(Lookup context) throws IllegalArgumentException {
   120.5          // Retrieve project and platform
   120.6          final AdaProject project = getProject();
   120.7 -        AdaPlatform platform = AdaProjectUtil.getActivePlatform(project);
   120.8 -        assert platform != null;
   120.9 -
  120.10 -        ArrayList<String> sources = new ArrayList<String>();
  120.11 -        FileObject[] files;
  120.12 -
  120.13 -        // Retrieve main file
  120.14 -        String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
  120.15 -        assert mainFile != null;
  120.16  
  120.17          // Create Build/Dist folders
  120.18          try {
  120.19 @@ -92,29 +83,8 @@
  120.20              Exceptions.printStackTrace(ex);
  120.21          }
  120.22  
  120.23 -        files = project.getSourcesDirectory();
  120.24 -        for (int index = 0; index < files.length; index++) {
  120.25 -            sources.add(FileUtil.toFile(files[index]).getAbsolutePath());
  120.26 -        }
  120.27 -
  120.28 -        // Init compiler factory
  120.29 -        GnatCompiler comp = new GnatCompiler(
  120.30 -                platform,
  120.31 -                project.getName(),                        // project name
  120.32 -                FileUtil.toFile(project.getProjectDirectory()).getAbsolutePath(),  // project location
  120.33 -                sources,                                  // sources location
  120.34 -                mainFile,                                 // main file
  120.35 -                project.getName(),                        // executable file
  120.36 -                COMMAND_ID,                              // display name
  120.37 -                project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX),
  120.38 -                project.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX),
  120.39 -                project.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX),
  120.40 -                project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT),
  120.41 -                project.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT),
  120.42 -                project.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT));
  120.43 -
  120.44          // Start build
  120.45 -        comp.Build();
  120.46 +        ActionsUtil.getCompilerFactory(project, COMMAND_ID).Build();
  120.47      }
  120.48  
  120.49      @Override
  120.50 @@ -124,6 +94,10 @@
  120.51          if (platform == null) {
  120.52              return false;
  120.53          }
  120.54 +        String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
  120.55 +        if (mainFile == null) {
  120.56 +            return false;
  120.57 +        }
  120.58          return true;
  120.59      }
  120.60  
  120.61 @@ -145,14 +119,16 @@
  120.62  
  120.63      private void createBuildRoot(final AdaProject project) throws IOException {
  120.64          // Retrieve build path
  120.65 -        String buildPath = project.getEvaluator().getProperty(AdaProjectProperties.BUILD_DIR);
  120.66 +        final File projectDirectory = FileUtil.toFile(project.getProjectDirectory());
  120.67 +        String buildPath = projectDirectory + File.separator + project.getEvaluator().getProperty(AdaProjectProperties.BUILD_DIR);
  120.68          assert buildPath != null;
  120.69          FileUtil.createFolder(new File(buildPath));
  120.70      }
  120.71  
  120.72      private void createDistRoot(final AdaProject project) throws IOException {
  120.73          // Retrieve dist path
  120.74 -        String distPath = project.getEvaluator().getProperty(AdaProjectProperties.DIST_DIR);
  120.75 +        final File projectDirectory = FileUtil.toFile(project.getProjectDirectory());
  120.76 +        String distPath = projectDirectory + File.separator + project.getEvaluator().getProperty(AdaProjectProperties.DIST_DIR);
  120.77          assert distPath != null;
  120.78  		FileUtil.createFolder(new File(distPath));
  120.79      }
   121.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/actions/CleanCommand.java	Wed Feb 24 15:52:30 2010 -0500
   121.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/actions/CleanCommand.java	Sun Aug 22 23:37:11 2010 +0200
   121.3 @@ -71,38 +71,9 @@
   121.4      @Override
   121.5      public void invokeAction(Lookup context) throws IllegalArgumentException {
   121.6          final AdaProject project = getProject();
   121.7 -        AdaPlatform platform = AdaProjectUtil.getActivePlatform(project);
   121.8 -        assert platform != null;
   121.9 -        ArrayList<String> sources = new ArrayList<String>();
  121.10 -        FileObject[] files;
  121.11 -
  121.12 -        // Retrieve main file
  121.13 -        String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
  121.14 -        assert mainFile != null;
  121.15 -
  121.16 -        files = project.getSourcesDirectory();
  121.17 -        for (int index = 0; index < files.length; index++) {
  121.18 -            sources.add(FileUtil.toFile(files[index]).getAbsolutePath());
  121.19 -        }
  121.20 -
  121.21 -        // Init compiler factory
  121.22 -        GnatCompiler comp = new GnatCompiler(
  121.23 -                platform,
  121.24 -                project.getName(),                        // project name
  121.25 -                FileUtil.toFile(project.getProjectDirectory()).getAbsolutePath(),  // project location
  121.26 -                sources,  // sources location
  121.27 -                mainFile,                                 // main file
  121.28 -                project.getName(),                        // executable file
  121.29 -                COMMAND_ID,                              // display name
  121.30 -                project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX),
  121.31 -                project.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX),
  121.32 -                project.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX),
  121.33 -                project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT),
  121.34 -                project.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT),
  121.35 -                project.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT));
  121.36  
  121.37          // Start clean
  121.38 -        comp.Clean();
  121.39 +        ActionsUtil.getCompilerFactory(project, COMMAND_ID).Clean();
  121.40      }
  121.41  
  121.42      @Override
  121.43 @@ -112,8 +83,12 @@
  121.44          if (platform == null) {
  121.45              return false;
  121.46          } else {
  121.47 +            String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
  121.48 +            if (mainFile == null) {
  121.49 +                return false;
  121.50 +            }
  121.51              if (!new File(FileUtil.toFile(project.getProjectDirectory()), "build").isDirectory() ||
  121.52 -                !new File(FileUtil.toFile(project.getProjectDirectory()), "dist").isDirectory()) {
  121.53 +                    !new File(FileUtil.toFile(project.getProjectDirectory()), "dist").isDirectory()) {
  121.54                  return false;
  121.55              }
  121.56          }
   122.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/actions/RebuildCommand.java	Wed Feb 24 15:52:30 2010 -0500
   122.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/actions/RebuildCommand.java	Sun Aug 22 23:37:11 2010 +0200
   122.3 @@ -36,19 +36,14 @@
   122.4   *
   122.5   * Portions Copyrighted 2008 Sun Microsystems, Inc.
   122.6   */
   122.7 -
   122.8  package org.netbeans.modules.ada.project.ui.actions;
   122.9  
  122.10  import java.io.File;
  122.11 -import java.util.ArrayList;
  122.12  import org.netbeans.api.ada.platform.AdaPlatform;
  122.13 -import org.netbeans.modules.ada.platform.compiler.gnat.GnatCompiler;
  122.14  import org.netbeans.modules.ada.project.AdaActionProvider;
  122.15  import org.netbeans.modules.ada.project.AdaProject;
  122.16  import org.netbeans.modules.ada.project.AdaProjectUtil;
  122.17 -import org.netbeans.modules.ada.project.options.AdaOptions;
  122.18  import org.netbeans.modules.ada.project.ui.properties.AdaProjectProperties;
  122.19 -import org.openide.filesystems.FileObject;
  122.20  import org.openide.filesystems.FileUtil;
  122.21  import org.openide.util.Lookup;
  122.22  
  122.23 @@ -71,41 +66,15 @@
  122.24  
  122.25      @Override
  122.26      public void invokeAction(Lookup context) throws IllegalArgumentException {
  122.27 -        // Retrieve project and platform
  122.28 +        // Retrieve project
  122.29          final AdaProject project = getProject();
  122.30 -        AdaPlatform platform = AdaProjectUtil.getActivePlatform(project);
  122.31 -        assert platform != null;
  122.32 -        ArrayList<String> sources = new ArrayList<String>();
  122.33 -        FileObject[] files;
  122.34 -
  122.35 -        // Retrieve main file
  122.36 -        String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
  122.37 -        assert mainFile != null;
  122.38 -
  122.39 -        files = project.getSourcesDirectory();
  122.40 -        for (int index = 0; index < files.length; index++) {
  122.41 -            sources.add(FileUtil.toFile(files[index]).getAbsolutePath());
  122.42 -        }
  122.43  
  122.44          // Init compiler factory
  122.45 -        GnatCompiler comp = new GnatCompiler(
  122.46 -                platform,
  122.47 -                project.getName(),                        // project name
  122.48 -                FileUtil.toFile(project.getProjectDirectory()).getAbsolutePath(),  // project location
  122.49 -                sources,  // sources location
  122.50 -                mainFile,                                 // main file
  122.51 -                project.getName(),                        // executable file
  122.52 -                COMMAND_ID,                              // display name
  122.53 -                project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX),
  122.54 -                project.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX),
  122.55 -                project.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX),
  122.56 -                project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT),
  122.57 -                project.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT),
  122.58 -                project.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT));
  122.59 +        org.netbeans.spi.ada.platform.Compiler compiler = ActionsUtil.getCompilerFactory(project, COMMAND_ID);
  122.60  
  122.61          // Start rebuild
  122.62 -        comp.Clean();
  122.63 -        comp.Build();
  122.64 +        compiler.Clean();
  122.65 +        compiler.Build();
  122.66      }
  122.67  
  122.68      @Override
  122.69 @@ -115,12 +84,15 @@
  122.70          if (platform == null) {
  122.71              return false;
  122.72          } else {
  122.73 +            String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
  122.74 +            if (mainFile == null) {
  122.75 +                return false;
  122.76 +            }
  122.77              if (!new File(FileUtil.toFile(project.getProjectDirectory()), "build").isDirectory() ||
  122.78 -                !new File(FileUtil.toFile(project.getProjectDirectory()), "dist").isDirectory()) {
  122.79 +                    !new File(FileUtil.toFile(project.getProjectDirectory()), "dist").isDirectory()) {
  122.80                  return false;
  122.81              }
  122.82          }
  122.83          return true;
  122.84      }
  122.85 -    
  122.86  }
   123.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/actions/RunCommand.java	Wed Feb 24 15:52:30 2010 -0500
   123.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/actions/RunCommand.java	Sun Aug 22 23:37:11 2010 +0200
   123.3 @@ -40,15 +40,11 @@
   123.4  
   123.5  import java.io.File;
   123.6  import java.io.IOException;
   123.7 -import java.util.ArrayList;
   123.8  import org.netbeans.api.ada.platform.AdaPlatform;
   123.9 -import org.netbeans.modules.ada.platform.compiler.gnat.GnatCompiler;
  123.10  import org.netbeans.modules.ada.project.AdaActionProvider;
  123.11  import org.netbeans.modules.ada.project.AdaProject;
  123.12  import org.netbeans.modules.ada.project.AdaProjectUtil;
  123.13 -import org.netbeans.modules.ada.project.options.AdaOptions;
  123.14  import org.netbeans.modules.ada.project.ui.properties.AdaProjectProperties;
  123.15 -import org.openide.filesystems.FileObject;
  123.16  import org.openide.filesystems.FileUtil;
  123.17  import org.openide.util.Exceptions;
  123.18  import org.openide.util.Lookup;
  123.19 @@ -73,14 +69,6 @@
  123.20      @Override
  123.21      public void invokeAction(Lookup context) throws IllegalArgumentException {
  123.22          final AdaProject project = getProject();
  123.23 -        AdaPlatform platform = AdaProjectUtil.getActivePlatform(project);
  123.24 -        assert platform != null;
  123.25 -        ArrayList<String> sources = new ArrayList<String>();
  123.26 -        FileObject[] files;
  123.27 -
  123.28 -        // Retrieve main file
  123.29 -        String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
  123.30 -        assert mainFile != null;
  123.31  
  123.32          // Create Build/Dist folders
  123.33          try {
  123.34 @@ -90,30 +78,13 @@
  123.35              Exceptions.printStackTrace(ex);
  123.36          }
  123.37  
  123.38 -        files = project.getSourcesDirectory();
  123.39 -        for (int index = 0; index < files.length; index++) {
  123.40 -            sources.add(FileUtil.toFile(files[index]).getAbsolutePath());
  123.41 -        }
  123.42  
  123.43          // Init compiler factory
  123.44 -        GnatCompiler comp = new GnatCompiler(
  123.45 -                platform,
  123.46 -                project.getName(),                       // project name
  123.47 -                FileUtil.toFile(project.getProjectDirectory()).getAbsolutePath(),  // project location
  123.48 -                sources,   // sources location
  123.49 -                mainFile,                                // main file
  123.50 -                project.getName(),                        // executable file
  123.51 -                COMMAND_ID,                              // display name
  123.52 -                project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX),
  123.53 -                project.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX),
  123.54 -                project.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX),
  123.55 -                project.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT),
  123.56 -                project.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT),
  123.57 -                project.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT));
  123.58 +        org.netbeans.spi.ada.platform.Compiler compiler = ActionsUtil.getCompilerFactory(project, COMMAND_ID);
  123.59  
  123.60          // Start run
  123.61 -        comp.Build();
  123.62 -        comp.Run(project.getEvaluator().getProperty(AdaProjectProperties.APPLICATION_ARGS));
  123.63 +        compiler.Build();
  123.64 +        compiler.Run(project.getEvaluator().getProperty(AdaProjectProperties.APPLICATION_ARGS));
  123.65      }
  123.66  
  123.67      @Override
  123.68 @@ -123,22 +94,26 @@
  123.69          if (platform == null) {
  123.70              return false;
  123.71          }
  123.72 +        String mainFile = project.getEvaluator().getProperty(AdaProjectProperties.MAIN_FILE);
  123.73 +        if (mainFile == null) {
  123.74 +            return false;
  123.75 +        }
  123.76          return true;
  123.77      }
  123.78  
  123.79      private void createBuildRoot(final AdaProject project) throws IOException {
  123.80          // Retrieve build path
  123.81 -        String buildPath = project.getEvaluator().getProperty(AdaProjectProperties.BUILD_DIR);
  123.82 +        final File projectDirectory = FileUtil.toFile(project.getProjectDirectory());
  123.83 +        String buildPath = projectDirectory + File.separator + project.getEvaluator().getProperty(AdaProjectProperties.BUILD_DIR);
  123.84          assert buildPath != null;
  123.85 -
  123.86          FileUtil.createFolder(new File(buildPath));
  123.87      }
  123.88  
  123.89      private void createDistRoot(final AdaProject project) throws IOException {
  123.90          // Retrieve dist path
  123.91 -        String distPath = project.getEvaluator().getProperty(AdaProjectProperties.DIST_DIR);
  123.92 +        final File projectDirectory = FileUtil.toFile(project.getProjectDirectory());
  123.93 +        String distPath = projectDirectory + File.separator + project.getEvaluator().getProperty(AdaProjectProperties.DIST_DIR);
  123.94          assert distPath != null;
  123.95 -
  123.96  		FileUtil.createFolder(new File(distPath));
  123.97      }
  123.98  }
   124.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/AdaProjectProperties.java	Wed Feb 24 15:52:30 2010 -0500
   124.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/AdaProjectProperties.java	Sun Aug 22 23:37:11 2010 +0200
   124.3 @@ -77,6 +77,10 @@
   124.4      public static final String ACTIVE_PLATFORM = "platform.active"; //NOI18N
   124.5      public static final String ADA_LIB_PATH = "ada.lib.path"; //NOI18N
   124.6      public static final String SOURCE_ENCODING = "source.encoding"; //NOI18N
   124.7 +    public static final String OUTPUT_BUILD_FORMAT = "output.build.format"; //NOI18N
   124.8 +
   124.9 +    public static final String NATIVE_FORMAT = "NATIVE_FORMAT"; //NOI18N
  124.10 +    public static final String JVM_FORMAT = "JVM_FORMAT"; //NOI18N
  124.11  
  124.12      private final AdaProject project;
  124.13      private final PropertyEvaluator eval;
  124.14 @@ -89,6 +93,7 @@
  124.15      private volatile ArrayList<String> librariesPath;
  124.16  
  124.17      private volatile String activePlatformId;
  124.18 +    private volatile String outputBuildFormat;
  124.19      private volatile String adaDialects;
  124.20      private volatile String adaRestrictions;
  124.21      private volatile String pkgSpecPrefix;
  124.22 @@ -217,6 +222,17 @@
  124.23          this.activePlatformId = activePlatformId;
  124.24      }
  124.25  
  124.26 +    public String getOutputBuildFormat() {
  124.27 +        if (outputBuildFormat == null) {
  124.28 +            outputBuildFormat = eval.getProperty(OUTPUT_BUILD_FORMAT);
  124.29 +        }
  124.30 +        return outputBuildFormat;
  124.31 +    }
  124.32 +
  124.33 +    public void setOutputBuildFormat(String outputBuildFormat) {
  124.34 +        this.outputBuildFormat = outputBuildFormat;
  124.35 +    }
  124.36 +
  124.37      // Storing
  124.38      void save() {
  124.39          try {
  124.40 @@ -271,6 +287,10 @@
  124.41              projectProperties.put(ACTIVE_PLATFORM, activePlatformId);
  124.42          }
  124.43  
  124.44 +        if (outputBuildFormat != null) {
  124.45 +            projectProperties.put(OUTPUT_BUILD_FORMAT, outputBuildFormat);
  124.46 +        }
  124.47 +
  124.48          if (adaDialects != null) {
  124.49              projectProperties.put(AdaOptions.ADA_DIALECTS, adaDialects);
  124.50          }
   125.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/Bundle.properties	Wed Feb 24 15:52:30 2010 -0500
   125.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/Bundle.properties	Sun Aug 22 23:37:11 2010 +0200
   125.3 @@ -80,3 +80,6 @@
   125.4  CustomizerBuild.manage.text=Manage...
   125.5  CustomizerBuild.jLabel2.text=Ada Platform:
   125.6  CustomizerRun.executableName.text=&Executable Name:
   125.7 +CustomizerBuild.jLabel3.text=Build Format:
   125.8 +CustomizerBuild.nativeFormat.text=Native
   125.9 +CustomizerBuild.jvmFormat.text=JVM
   126.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CompositePanelProviderImpl.java	Wed Feb 24 15:52:30 2010 -0500
   126.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CompositePanelProviderImpl.java	Sun Aug 22 23:37:11 2010 +0200
   126.3 @@ -36,13 +36,11 @@
   126.4   *
   126.5   * Portions Copyrighted 2008 Sun Microsystems, Inc.
   126.6   */
   126.7 -
   126.8 -
   126.9  package org.netbeans.modules.ada.project.ui.properties;
  126.10  
  126.11  import javax.swing.JComponent;
  126.12  import javax.swing.JPanel;
  126.13 -import org.netbeans.modules.ada.project.options.AdaGeneralOptionsPanel;
  126.14 +import org.netbeans.modules.ada.project.options.ui.AdaGeneralOptionsPanel;
  126.15  import org.netbeans.spi.project.ui.support.ProjectCustomizer;
  126.16  import org.netbeans.spi.project.ui.support.ProjectCustomizer.CompositeCategoryProvider;
  126.17  import org.openide.util.Lookup;
  126.18 @@ -100,7 +98,7 @@
  126.19                      null,
  126.20                      categories);
  126.21          }
  126.22 -        
  126.23 +
  126.24          assert toReturn != null : "No category for name: " + name;
  126.25          return toReturn;
  126.26      }
  126.27 @@ -120,7 +118,7 @@
  126.28          } else if (STANDARDS_AND_NAMING.equals(nm)) {
  126.29              return new AdaGeneralOptionsPanel(uiProps);
  126.30          }
  126.31 -        
  126.32 +
  126.33          return new JPanel();
  126.34      }
  126.35  
   127.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerBuild.form	Wed Feb 24 15:52:30 2010 -0500
   127.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerBuild.form	Sun Aug 22 23:37:11 2010 +0200
   127.3 @@ -16,21 +16,32 @@
   127.4    <Layout>
   127.5      <DimensionLayout dim="0">
   127.6        <Group type="103" groupAlignment="0" attributes="0">
   127.7 -          <Group type="102" attributes="0">
   127.8 +          <Group type="102" alignment="0" attributes="0">
   127.9                <EmptySpace max="-2" attributes="0"/>
  127.10                <Group type="103" groupAlignment="0" attributes="0">
  127.11 -                  <Component id="jLabel1" alignment="0" min="-2" max="-2" attributes="0"/>
  127.12 -                  <Component id="jLabel2" alignment="0" min="-2" max="-2" attributes="0"/>
  127.13 -              </Group>
  127.14 -              <EmptySpace min="-2" pref="49" max="-2" attributes="0"/>
  127.15 -              <Group type="103" groupAlignment="0" attributes="0">
  127.16 -                  <Component id="platforms" pref="323" max="32767" attributes="0"/>
  127.17 -                  <Component id="mainModule" pref="323" max="32767" attributes="0"/>
  127.18 -              </Group>
  127.19 -              <EmptySpace max="-2" attributes="0"/>
  127.20 -              <Group type="103" groupAlignment="0" max="-2" attributes="0">
  127.21 -                  <Component id="browse" alignment="1" max="32767" attributes="1"/>
  127.22 -                  <Component id="manage" alignment="1" max="32767" attributes="1"/>
  127.23 +                  <Group type="102" alignment="0" attributes="0">
  127.24 +                      <Component id="jLabel3" min="-2" max="-2" attributes="0"/>
  127.25 +                      <EmptySpace min="-2" pref="49" max="-2" attributes="0"/>
  127.26 +                      <Component id="nativeFormat" min="-2" max="-2" attributes="0"/>
  127.27 +                      <EmptySpace type="separate" max="-2" attributes="0"/>
  127.28 +                      <Component id="jvmFormat" min="-2" max="-2" attributes="0"/>
  127.29 +                  </Group>
  127.30 +                  <Group type="102" alignment="0" attributes="0">
  127.31 +                      <Group type="103" groupAlignment="0" attributes="0">
  127.32 +                          <Component id="jLabel1" alignment="0" min="-2" max="-2" attributes="0"/>
  127.33 +                          <Component id="jLabel2" alignment="0" min="-2" max="-2" attributes="0"/>
  127.34 +                      </Group>
  127.35 +                      <EmptySpace min="-2" pref="49" max="-2" attributes="0"/>
  127.36 +                      <Group type="103" groupAlignment="0" attributes="0">
  127.37 +                          <Component id="platforms" pref="323" max="32767" attributes="0"/>
  127.38 +                          <Component id="mainModule" pref="323" max="32767" attributes="0"/>
  127.39 +                      </Group>
  127.40 +                      <EmptySpace max="-2" attributes="0"/>
  127.41 +                      <Group type="103" groupAlignment="0" max="-2" attributes="0">
  127.42 +                          <Component id="browse" alignment="1" max="32767" attributes="1"/>
  127.43 +                          <Component id="manage" alignment="1" max="32767" attributes="1"/>
  127.44 +                      </Group>
  127.45 +                  </Group>
  127.46                </Group>
  127.47                <EmptySpace max="-2" attributes="0"/>
  127.48            </Group>
  127.49 @@ -51,7 +62,13 @@
  127.50                    <Component id="browse" alignment="3" min="-2" max="-2" attributes="0"/>
  127.51                    <Component id="mainModule" alignment="3" min="-2" max="-2" attributes="0"/>
  127.52                </Group>
  127.53 -              <EmptySpace pref="224" max="32767" attributes="0"/>
  127.54 +              <EmptySpace type="unrelated" max="-2" attributes="0"/>
  127.55 +              <Group type="103" groupAlignment="3" attributes="0">
  127.56 +                  <Component id="jLabel3" alignment="3" min="-2" max="-2" attributes="0"/>
  127.57 +                  <Component id="nativeFormat" alignment="3" min="-2" max="-2" attributes="0"/>
  127.58 +                  <Component id="jvmFormat" alignment="3" min="-2" max="-2" attributes="0"/>
  127.59 +              </Group>
  127.60 +              <EmptySpace pref="194" max="32767" attributes="0"/>
  127.61            </Group>
  127.62        </Group>
  127.63      </DimensionLayout>
  127.64 @@ -120,5 +137,38 @@
  127.65          <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="manageActionPerformed"/>
  127.66        </Events>
  127.67      </Component>
  127.68 +    <Component class="javax.swing.JLabel" name="jLabel3">
  127.69 +      <Properties>
  127.70 +        <Property name="labelFor" type="java.awt.Component" editor="org.netbeans.modules.form.ComponentChooserEditor">
  127.71 +          <ComponentRef name="mainModule"/>
  127.72 +        </Property>
  127.73 +        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
  127.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;)"/>
  127.75 +        </Property>
  127.76 +      </Properties>
  127.77 +      <AuxValues>
  127.78 +        <AuxValue name="generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
  127.79 +      </AuxValues>
  127.80 +    </Component>
  127.81 +    <Component class="javax.swing.JRadioButton" name="nativeFormat">
  127.82 +      <Properties>
  127.83 +        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
  127.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;)"/>
  127.85 +        </Property>
  127.86 +      </Properties>
  127.87 +      <Events>
  127.88 +        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="nativeFormatActionPerformed"/>
  127.89 +      </Events>
  127.90 +    </Component>
  127.91 +    <Component class="javax.swing.JRadioButton" name="jvmFormat">
  127.92 +      <Properties>
  127.93 +        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
  127.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;)"/>
  127.95 +        </Property>
  127.96 +      </Properties>
  127.97 +      <Events>
  127.98 +        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jvmFormatActionPerformed"/>
  127.99 +      </Events>
 127.100 +    </Component>
 127.101    </SubComponents>
 127.102  </Form>
   128.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerBuild.java	Wed Feb 24 15:52:30 2010 -0500
   128.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/properties/CustomizerBuild.java	Sun Aug 22 23:37:11 2010 +0200
   128.3 @@ -48,7 +48,6 @@
   128.4  import org.netbeans.modules.ada.project.ui.Utils;
   128.5  import org.openide.filesystems.FileObject;
   128.6  import org.openide.filesystems.FileUtil;
   128.7 -import org.openide.filesystems.Repository;
   128.8  import org.openide.loaders.DataObject;
   128.9  import org.openide.loaders.InstanceDataObject;
  128.10  import org.openide.util.Exceptions;
  128.11 @@ -63,7 +62,8 @@
  128.12  
  128.13      private final AdaProjectProperties uiProperties;
  128.14      private final DocListener listener;
  128.15 -
  128.16 +    private final AdaPlatformManager manager;
  128.17 +    
  128.18      /** Creates new form CustomizerBuild */
  128.19      public CustomizerBuild(final AdaProjectProperties uiProperties) {
  128.20          assert uiProperties != null;
  128.21 @@ -78,15 +78,36 @@
  128.22  
  128.23          this.platforms.setRenderer(Utils.createPlatformRenderer());
  128.24          this.platforms.setModel(Utils.createPlatformModel());
  128.25 -        final AdaPlatformManager manager = AdaPlatformManager.getInstance();
  128.26 +        manager = AdaPlatformManager.getInstance();
  128.27          String pid = uiProperties.getActivePlatformId();
  128.28          if (pid == null) {
  128.29              pid = manager.getDefaultPlatform();
  128.30          }
  128.31 +
  128.32          final AdaPlatform activePlatform = manager.getPlatform(pid);
  128.33          if (activePlatform != null) {
  128.34              platforms.setSelectedItem(activePlatform);
  128.35          }
  128.36 +        
  128.37 +        if (activePlatform.getJvmGnatCompilerCommand() != null) {
  128.38 +            nativeFormat.setEnabled(true);
  128.39 +            jvmFormat.setEnabled(true);
  128.40 +            if (uiProperties.getOutputBuildFormat().equalsIgnoreCase(AdaProjectProperties.NATIVE_FORMAT)) {
  128.41 +                nativeFormat.setSelected(true);
  128.42 +                jvmFormat.setSelected(false);
  128.43 +            }
  128.44 +            else {
  128.45 +                nativeFormat.setSelected(false);
  128.46 +                jvmFormat.setSelected(true);
  128.47 +            }
  128.48 +        }
  128.49 +        else {
  128.50 +            nativeFormat.setSelected(true);
  128.51 +            jvmFormat.setSelected(false);
  128.52 +            nativeFormat.setEnabled(false);
  128.53 +            jvmFormat.setEnabled(false);
  128.54 +        }
  128.55 +        
  128.56      }
  128.57  
  128.58      public HelpCtx getHelpCtx() {
  128.59 @@ -108,6 +129,9 @@
  128.60          platforms = new javax.swing.JComboBox();
  128.61          jLabel2 = new javax.swing.JLabel();
  128.62          manage = new javax.swing.JButton();
  128.63 +        jLabel3 = new javax.swing.JLabel();
  128.64 +        nativeFormat = new javax.swing.JRadioButton();
  128.65 +        jvmFormat = new javax.swing.JRadioButton();
  128.66  
  128.67          jLabel1.setLabelFor(mainModule);
  128.68          org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(CustomizerBuild.class, "CustomizerRun.mainModule.text")); // NOI18N
  128.69 @@ -137,6 +161,23 @@
  128.70              }
  128.71          });
  128.72  
  128.73 +        jLabel3.setLabelFor(mainModule);
  128.74 +        org.openide.awt.Mnemonics.setLocalizedText(jLabel3, org.openide.util.NbBundle.getMessage(CustomizerBuild.class, "CustomizerBuild.jLabel3.text")); // NOI18N
  128.75 +
  128.76 +        nativeFormat.setText(org.openide.util.NbBundle.getMessage(CustomizerBuild.class, "CustomizerBuild.nativeFormat.text")); // NOI18N
  128.77 +        nativeFormat.addActionListener(new java.awt.event.ActionListener() {
  128.78 +            public void actionPerformed(java.awt.event.ActionEvent evt) {
  128.79 +                nativeFormatActionPerformed(evt);
  128.80 +            }
  128.81 +        });
  128.82 +
  128.83 +        jvmFormat.setText(org.openide.util.NbBundle.getMessage(CustomizerBuild.class, "CustomizerBuild.jvmFormat.text")); // NOI18N
  128.84 +        jvmFormat.addActionListener(new java.awt.event.ActionListener() {
  128.85 +            public void actionPerformed(java.awt.event.ActionEvent evt) {
  128.86 +                jvmFormatActionPerformed(evt);
  128.87 +            }
  128.88 +        });
  128.89 +
  128.90          org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
  128.91          this.setLayout(layout);
  128.92          layout.setHorizontalGroup(
  128.93 @@ -144,16 +185,24 @@
  128.94              .add(layout.createSequentialGroup()
  128.95                  .addContainerGap()
  128.96                  .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  128.97 -                    .add(jLabel1)
  128.98 -                    .add(jLabel2))
  128.99 -                .add(49, 49, 49)
 128.100 -                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
 128.101 -                    .add(platforms, 0, 323, Short.MAX_VALUE)
 128.102 -                    .add(mainModule, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 323, Short.MAX_VALUE))
 128.103 -                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
 128.104 -                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
 128.105 -                    .add(org.jdesktop.layout.GroupLayout.TRAILING, browse, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 128.106 -                    .add(org.jdesktop.layout.GroupLayout.TRAILING, manage, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
 128.107 +                    .add(layout.createSequentialGroup()
 128.108 +                        .add(jLabel3)
 128.109 +                        .add(49, 49, 49)
 128.110 +                        .add(nativeFormat)
 128.111 +                        .add(18, 18, 18)
 128.112 +                        .add(jvmFormat))
 128.113 +                    .add(layout.createSequentialGroup()
 128.114 +                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
 128.115 +                            .add(jLabel1)
 128.116 +                            .add(jLabel2))
 128.117 +                        .add(49, 49, 49)
 128.118 +                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
 128.119 +                            .add(platforms, 0, 323, Short.MAX_VALUE)
 128.120 +                            .add(mainModule, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 323, Short.MAX_VALUE))
 128.121 +                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
 128.122 +                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
 128.123 +                            .add(org.jdesktop.layout.GroupLayout.TRAILING, browse, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 128.124 +                            .add(org.jdesktop.layout.GroupLayout.TRAILING, manage, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
 128.125                  .addContainerGap())
 128.126          );
 128.127          layout.setVerticalGroup(
 128.128 @@ -169,7 +218,12 @@
 128.129                      .add(jLabel1)
 128.130                      .add(browse)
 128.131                      .add(mainModule, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
 128.132 -                .addContainerGap(224, Short.MAX_VALUE))
 128.133 +                .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
 128.134 +                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
 128.135 +                    .add(jLabel3)
 128.136 +                    .add(nativeFormat)
 128.137 +                    .add(jvmFormat))
 128.138 +                .addContainerGap(194, Short.MAX_VALUE))
 128.139          );
 128.140      }// </editor-fold>//GEN-END:initComponents
 128.141  
 128.142 @@ -183,12 +237,32 @@
 128.143  private void platformsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_platformsActionPerformed
 128.144      uiProperties.setActivePlatformId(
 128.145              ((AdaPlatform) platforms.getSelectedItem()).getName());
 128.146 +
 128.147 +    final AdaPlatform activePlatform = manager.getPlatform(uiProperties.getActivePlatformId());
 128.148 +    
 128.149 +    if (activePlatform.getJvmGnatCompilerCommand() != null) {
 128.150 +        nativeFormat.setEnabled(true);
 128.151 +        jvmFormat.setEnabled(true);
 128.152 +        if (uiProperties.getOutputBuildFormat().equalsIgnoreCase(AdaProjectProperties.NATIVE_FORMAT)) {
 128.153 +            nativeFormat.setSelected(true);
 128.154 +            jvmFormat.setSelected(false);
 128.155 +        } else {
 128.156 +            nativeFormat.setSelected(false);
 128.157 +            jvmFormat.setSelected(true);
 128.158 +        }
 128.159 +    } else {
 128.160 +        nativeFormat.setSelected(true);
 128.161 +        jvmFormat.setSelected(false);
 128.162 +        nativeFormat.setEnabled(false);
 128.163 +        jvmFormat.setEnabled(false);
 128.164 +        uiProperties.setOutputBuildFormat(AdaProjectProperties.NATIVE_FORMAT);
 128.165 +    }
 128.166 +
 128.167  }//GEN-LAST:event_platformsActionPerformed
 128.168  
 128.169  private void manageActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_manageActionPerformed
 128.170      // Workaround, Needs an API to display platform customizer
 128.171 -//    final FileObject fo = FileUtil.getConfigFile("Actions/Ada/org-netbeans-modules-ada-platform-PlatformsCustomizerAction.instance");  //NOI18N
 128.172 -    final FileObject fo = Repository.getDefault().getDefaultFileSystem().findResource("Actions/Ada/org-netbeans-modules-ada-platform-PlatformsCustomizerAction.instance");  //NOI18N
 128.173 +    final FileObject fo = FileUtil.getConfigFile("Actions/Ada/org-netbeans-modules-ada-platform-PlatformsCustomizerAction.instance");  //NOI18N
 128.174      if (fo != null) {
 128.175          try {
 128.176              InstanceDataObject ido = (InstanceDataObject) DataObject.find(fo);
 128.177 @@ -202,12 +276,26 @@
 128.178          }
 128.179      }
 128.180  }//GEN-LAST:event_manageActionPerformed
 128.181 +
 128.182 +private void nativeFormatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nativeFormatActionPerformed
 128.183 +    uiProperties.setOutputBuildFormat(AdaProjectProperties.NATIVE_FORMAT);
 128.184 +    jvmFormat.setSelected(false);
 128.185 +}//GEN-LAST:event_nativeFormatActionPerformed
 128.186 +
 128.187 +private void jvmFormatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jvmFormatActionPerformed
 128.188 +    uiProperties.setOutputBuildFormat(AdaProjectProperties.JVM_FORMAT);
 128.189 +    nativeFormat.setSelected(false);
 128.190 +}//GEN-LAST:event_jvmFormatActionPerformed
 128.191 +
 128.192      // Variables declaration - do not modify//GEN-BEGIN:variables
 128.193      private javax.swing.JButton browse;
 128.194      private javax.swing.JLabel jLabel1;
 128.195      private javax.swing.JLabel jLabel2;
 128.196 +    private javax.swing.JLabel jLabel3;
 128.197 +    private javax.swing.JRadioButton jvmFormat;
 128.198      private javax.swing.JTextField mainModule;
 128.199      private javax.swing.JButton manage;
 128.200 +    private javax.swing.JRadioButton nativeFormat;
 128.201      private javax.swing.JComboBox platforms;
 128.202      // End of variables declaration//GEN-END:variables
 128.203  
   129.1 Binary file ada.project/src/org/netbeans/modules/ada/project/ui/resources/adb-16.png has changed
   130.1 Binary file ada.project/src/org/netbeans/modules/ada/project/ui/resources/ads-16.png has changed
   131.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/EmptyAdaProjectPanelVisual.java	Wed Feb 24 15:52:30 2010 -0500
   131.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/EmptyAdaProjectPanelVisual.java	Sun Aug 22 23:37:11 2010 +0200
   131.3 @@ -238,7 +238,7 @@
   131.4  
   131.5          String projectName = (String) settings.getProperty(NewAdaProjectWizardIterator.PROP_PROJECT_NAME);
   131.6          if (projectName == null) {
   131.7 -            projectName = NewAdaProjectWizardIterator.getFreeFolderName(projectLocation,"NewAdaApplication"); //NOI18N
   131.8 +            projectName = NewAdaProjectWizardIterator.getFreeFolderName(projectLocation,"AdaApplication"); //NOI18N
   131.9          }
  131.10          this.projectNameTextField.setText(projectName);
  131.11          this.projectNameTextField.selectAll();
   132.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/ExistingAdaProjectPanelVisual.java	Wed Feb 24 15:52:30 2010 -0500
   132.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/ExistingAdaProjectPanelVisual.java	Sun Aug 22 23:37:11 2010 +0200
   132.3 @@ -176,7 +176,7 @@
   132.4          File projectLocation = (File) settings.getProperty(NewAdaProjectWizardIterator.PROP_PROJECT_LOCATION);
   132.5          String defaultName = null;
   132.6          if (projectLocation == null || projectLocation.getParentFile() == null || !projectLocation.getParentFile().isDirectory()) {
   132.7 -            defaultName = NewAdaProjectWizardIterator.getFreeFolderName(ProjectChooser.getProjectsFolder(), "NewAdaApplication");     //NOI18N
   132.8 +            defaultName = NewAdaProjectWizardIterator.getFreeFolderName(ProjectChooser.getProjectsFolder(), "AdaApplication");     //NOI18N
   132.9              projectLocation = new File (ProjectChooser.getProjectsFolder(),defaultName);
  132.10          }
  132.11          this.projectFolderTextField.setText(projectLocation.getAbsolutePath());
   133.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/NewAdaProjectWizardIterator.java	Wed Feb 24 15:52:30 2010 -0500
   133.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/NewAdaProjectWizardIterator.java	Sun Aug 22 23:37:11 2010 +0200
   133.3 @@ -48,6 +48,7 @@
   133.4  import java.util.Map;
   133.5  import java.util.NoSuchElementException;
   133.6  import java.util.Set;
   133.7 +import java.util.StringTokenizer;
   133.8  import javax.swing.event.ChangeListener;
   133.9  import org.netbeans.api.progress.ProgressHandle;
  133.10  import org.netbeans.api.project.Project;
  133.11 @@ -64,7 +65,6 @@
  133.12  import org.openide.WizardDescriptor;
  133.13  import org.openide.filesystems.FileObject;
  133.14  import org.openide.filesystems.FileUtil;
  133.15 -import org.openide.filesystems.Repository;
  133.16  import org.openide.loaders.DataFolder;
  133.17  import org.openide.loaders.DataObject;
  133.18  import org.openide.util.Exceptions;
  133.19 @@ -134,6 +134,15 @@
  133.20          return null;
  133.21      }
  133.22  
  133.23 +    private String removeSpaces(String s) {
  133.24 +        StringTokenizer st = new StringTokenizer(s, " ", false);
  133.25 +        String t = "";
  133.26 +        while (st.hasMoreElements()) {
  133.27 +            t += st.nextElement();
  133.28 +        }
  133.29 +        return t;
  133.30 +    }
  133.31 +
  133.32      public Set instantiate(ProgressHandle handle) throws IOException {
  133.33          final Set<FileObject> resultSet = new HashSet<FileObject>();
  133.34  
  133.35 @@ -163,8 +172,8 @@
  133.36              // main file
  133.37              final String mainName = (String) descriptor.getProperty(NewAdaProjectWizardIterator.MAIN_FILE);
  133.38              if (mainName != null) {
  133.39 -                resultSet.add(createMainFile(Repository.getDefault().getDefaultFileSystem().findResource("Templates/Ada/NewAdaMain"),
  133.40 -                        sourceDir, mainName).getPrimaryFile());
  133.41 +                resultSet.add(createMainFile(FileUtil.getConfigFile("Templates/Ada/NewMain"),
  133.42 +                        sourceDir, removeSpaces(mainName)).getPrimaryFile());
  133.43              }
  133.44          }
  133.45  
  133.46 @@ -279,7 +288,6 @@
  133.47                          nameEl.appendChild(doc.createTextNode(name));
  133.48                          data.appendChild(nameEl);
  133.49  
  133.50 -
  133.51                          EditableProperties properties = helper.getProperties(AntProjectHelper.PROJECT_PROPERTIES_PATH);
  133.52  
  133.53                          configureSources(helper, data, properties);
  133.54 @@ -351,11 +359,11 @@
  133.55          String platformId = (String) descriptor.getProperty(PROP_PLATFORM_ID);
  133.56          assert platformId != null;
  133.57          properties.setProperty(AdaProjectProperties.ACTIVE_PLATFORM, platformId);
  133.58 -        properties.setProperty(AdaProjectProperties.ADA_LIB_PATH, "");    //NOI18N
  133.59 -        final File projectDirectory = FileUtil.toFile(helper.getProjectDirectory());
  133.60 -        String buildPath = projectDirectory + File.separator + DEFAULT_BUILD_DIR;
  133.61 +        properties.setProperty(AdaProjectProperties.OUTPUT_BUILD_FORMAT, AdaProjectProperties.NATIVE_FORMAT);
  133.62 +        properties.setProperty(AdaProjectProperties.ADA_LIB_PATH, ""); //NOI18N
  133.63 +        String buildPath = DEFAULT_BUILD_DIR;
  133.64          properties.setProperty(AdaProjectProperties.BUILD_DIR, buildPath);
  133.65 -        String distPath = projectDirectory + File.separator + DEFAULT_DIST_DIR;
  133.66 +        String distPath = DEFAULT_DIST_DIR;
  133.67          properties.setProperty(AdaProjectProperties.DIST_DIR, distPath);
  133.68      }
  133.69  
   134.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/NewFileWizardIterator.java	Wed Feb 24 15:52:30 2010 -0500
   134.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/NewFileWizardIterator.java	Sun Aug 22 23:37:11 2010 +0200
   134.3 @@ -135,19 +135,24 @@
   134.4          FileObject template = Templates.getTemplate(this.wizard);
   134.5          String ext = template.getExt();
   134.6          String postfix = "";
   134.7 -        if (template.getName().startsWith("NewAdaMain")) {
   134.8 -            ext = AdaOptions.getInstance().getSeparateExt();
   134.9 -            postfix = AdaOptions.getInstance().getSeparatePostfix();
  134.10 -        } else if (template.getName().startsWith("NewAdaPackageSpec")) {
  134.11 -            ext = AdaOptions.getInstance().getPkgSpecExt();
  134.12 -            postfix = AdaOptions.getInstance().getPkgSpecPostfix();
  134.13 -        } else if (template.getName().startsWith("NewAdaPackageBody")) {
  134.14 -            ext = AdaOptions.getInstance().getPkgBodyExt();
  134.15 -            postfix = AdaOptions.getInstance().getPkgBodyPostfix();
  134.16 +
  134.17 +        Project project = Templates.getProject(wizard);
  134.18 +        assert project instanceof AdaProject;
  134.19 +        AdaProject adaProject = (AdaProject) project;
  134.20 +
  134.21 +        if (template.getName().startsWith("NewMain")) {
  134.22 +            ext = adaProject.getEvaluator().getProperty(AdaOptions.SEPARATE_EXT);
  134.23 +            postfix = adaProject.getEvaluator().getProperty(AdaOptions.SEPARATE_POSTFIX);
  134.24 +        } else if (template.getName().startsWith("NewPackageSpec")) {
  134.25 +            ext = adaProject.getEvaluator().getProperty(AdaOptions.PKG_SPEC_EXT);
  134.26 +            postfix = adaProject.getEvaluator().getProperty(AdaOptions.PKG_SPEC_POSTFIX);
  134.27 +        } else if (template.getName().startsWith("NewPackageBody")) {
  134.28 +            ext = adaProject.getEvaluator().getProperty(AdaOptions.PKG_BODY_EXT);
  134.29 +            postfix = adaProject.getEvaluator().getProperty(AdaOptions.PKG_BODY_POSTFIX);
  134.30          }
  134.31          String targetName = (targetFolder != null) ? FileUtil.findFreeFileName(targetFolder, template.getName(), ext) : template.getName();//NOI18N
  134.32          // TODO: manage postfix naming
  134.33 -        targetName += /*postfix + */"." + ext;
  134.34 +        targetName += "." + ext;
  134.35          Templates.setTargetName(this.wizard, targetName);//NOI18N
  134.36          wizardPanels = getPanels();
  134.37  
   135.1 --- a/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/PanelOptionsVisual.java	Wed Feb 24 15:52:30 2010 -0500
   135.2 +++ b/ada.project/src/org/netbeans/modules/ada/project/ui/wizards/PanelOptionsVisual.java	Sun Aug 22 23:37:11 2010 +0200
   135.3 @@ -54,6 +54,7 @@
   135.4  import org.openide.WizardDescriptor;
   135.5  import org.openide.WizardValidationException;
   135.6  import org.openide.filesystems.FileObject;
   135.7 +import org.openide.filesystems.FileUtil;
   135.8  import org.openide.filesystems.Repository;
   135.9  import org.openide.loaders.DataObject;
  135.10  import org.openide.loaders.InstanceDataObject;
  135.11 @@ -118,12 +119,21 @@
  135.12          }
  135.13      }
  135.14  
  135.15 +    private String removeSpaces(String s) {
  135.16 +        StringTokenizer st = new StringTokenizer(s, " ", false);
  135.17 +        String t = "";
  135.18 +        while (st.hasMoreElements()) {
  135.19 +            t += st.nextElement();
  135.20 +        }
  135.21 +        return t;
  135.22 +    }
  135.23 +
  135.24      public void propertyChange(PropertyChangeEvent event) {
  135.25          if (NewAdaProjectWizardIterator.PROP_PROJECT_NAME.equals(event.getPropertyName())) {
  135.26              String newProjectName = (String) event.getNewValue();
  135.27              this.mainFileTextField.setText(MessageFormat.format(
  135.28                      NbBundle.getMessage(PanelOptionsVisual.class, "TXT_MainFileName"), 
  135.29 -                    new Object[]{newProjectName + "." + AdaOptions.getInstance().getSeparateExt()}));
  135.30 +                    new Object[]{removeSpaces(newProjectName) + "." + AdaOptions.getInstance().getSeparateExt()}));
  135.31          }
  135.32          if (NewAdaProjectWizardIterator.PROP_PROJECT_LOCATION.equals(event.getPropertyName())) {
  135.33              projectLocation = (String) event.getNewValue();
  135.34 @@ -216,7 +226,7 @@
  135.35  
  135.36  private void manageActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_manageActionPerformed
  135.37      // Workaround, Needs an API to display platform customizer
  135.38 -    final FileObject fo = Repository.getDefault().getDefaultFileSystem().findResource("Actions/Ada/org-netbeans-modules-ada-platform-PlatformsCustomizerAction.instance");  //NOI18N
  135.39 +    final FileObject fo = FileUtil.getConfigFile("Actions/Ada/org-netbeans-modules-ada-platform-PlatformsCustomizerAction.instance");  //NOI18N
  135.40      if (fo != null) {
  135.41          try {
  135.42              InstanceDataObject ido = (InstanceDataObject) DataObject.find(fo);