emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 72ef2b1: Release wisi 1.1.4, ada-mode 5.2.1


From: Stephen Leake
Subject: [elpa] master 72ef2b1: Release wisi 1.1.4, ada-mode 5.2.1
Date: Mon, 31 Oct 2016 20:23:17 +0000 (UTC)

branch: master
commit 72ef2b1e3dda547c291b556705518ef90062345b
Author: Stephen Leake <address@hidden>
Commit: Stephen Leake <address@hidden>

    Release wisi 1.1.4, ada-mode 5.2.1
---
 packages/ada-mode/NEWS                  |   27 +
 packages/ada-mode/README                |    2 +-
 packages/ada-mode/ada-build.el          |    3 +-
 packages/ada-mode/ada-gnat-compile.el   |    8 +-
 packages/ada-mode/ada-gnat-xref.el      |   15 +-
 packages/ada-mode/ada-grammar-wy.el     | 2422 +++++++++++++++----------------
 packages/ada-mode/ada-mode.el           |   43 +-
 packages/ada-mode/ada-mode.info         |   46 +-
 packages/ada-mode/ada-mode.texi         |   20 +-
 packages/ada-mode/ada-wisi-opentoken.el |   19 +-
 packages/ada-mode/ada-wisi.el           | 1965 +++++++++++--------------
 packages/ada-mode/gnat-core.el          |   10 +-
 packages/ada-mode/gpr-query.el          |   13 +-
 packages/ada-mode/gpr-wisi.el           |   25 +-
 packages/wisi/NEWS                      |    6 +
 packages/wisi/README                    |    2 +-
 packages/wisi/wisi.el                   |   28 +-
 17 files changed, 2265 insertions(+), 2389 deletions(-)

diff --git a/packages/ada-mode/NEWS b/packages/ada-mode/NEWS
index 90a0ad4..328c436 100644
--- a/packages/ada-mode/NEWS
+++ b/packages/ada-mode/NEWS
@@ -7,7 +7,34 @@ Please send Emacs Ada mode bug reports to address@hidden, with
 'ada-mode' in the subject. If possible, use M-x report-emacs-bug.
 
 
+* Ada mode 5.2.1
+31 Oct 2016
+
+** A line starting with '(' is now always indented with
+   ada-indent-broken. Previously, in some cases it was indented by
+   ada-indent - 1. Since the defaults set ada-indent = 3,
+   ada-indent-broken = 2, this is transparent unless you use other
+   values.
+
+** GPR_PROJECT_PATH is set in the compilation process environment when
+   the Ada project is selected, and cleared when the project is
+   deselected. This allows selecting other Emacs projects, then
+   returning to an Ada project.
+
+** New function ada-show-local-references (bound to C-c C-l) searches
+   for references within the current file only.
+
+** New option ada-xref-full-path (default nil) if t, shows full paths
+   in cross references.
+
+** The indentation functions are significantly rewritten to make them
+   better organized and easier to understand and maintain. This
+   resulted in some minor indentation changes, mostly for consistency;
+   in particular, case expressions are indented by ada-indent-broken,
+   to match if espressions.
+
 * Ada mode 5.2.0
+26 Jul 2016
 
 ** GNAT 2016 drops support for 'gnat find'; users must use gpr_query.
 
diff --git a/packages/ada-mode/README b/packages/ada-mode/README
index 03ccda9..384e3ef 100755
--- a/packages/ada-mode/README
+++ b/packages/ada-mode/README
@@ -1,4 +1,4 @@
-Emacs Ada mode version 5.2.0
+Emacs Ada mode version 5.2.1
 
 Ada mode requires Emacs 24.2 or greater
 
diff --git a/packages/ada-mode/ada-build.el b/packages/ada-mode/ada-build.el
index 6b28042..c166edd 100644
--- a/packages/ada-mode/ada-build.el
+++ b/packages/ada-mode/ada-build.el
@@ -37,6 +37,7 @@
 (require 'ada-mode-compat-24.2)
 
 (require 'ada-mode)
+(require 'cl-lib)
 
 ;;;; User customization
 
@@ -249,7 +250,7 @@ If CONFIRM or `ada-build-confirm-command' are non-nil, ask 
for
 user confirmation of the command, using PROMPT."
   (ada-build-require-project-file)
   (let ((cmd (ada-prj-get prj-field))
-       (process-environment (ada-prj-get 'proc_env)))
+       (process-environment (cl-copy-list (ada-prj-get 'proc_env))))
 
     (unless cmd
       (setq cmd '("")
diff --git a/packages/ada-mode/ada-gnat-compile.el 
b/packages/ada-mode/ada-gnat-compile.el
index c0d2156..9582f84 100755
--- a/packages/ada-mode/ada-gnat-compile.el
+++ b/packages/ada-mode/ada-gnat-compile.el
@@ -6,7 +6,7 @@
 ;;
 ;; GNAT is provided by AdaCore; see http://libre.adacore.com/
 ;;
-;;; Copyright (C) 2012 - 2015  Free Software Foundation, Inc.
+;;; Copyright (C) 2012 - 2016  Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake <address@hidden>
 ;; Maintainer: Stephen Leake <address@hidden>
@@ -34,6 +34,7 @@
 ;; By default, ada-mode is configured to load this file, so nothing
 ;; special needs to done to use it.
 
+(require 'cl-lib)
 (require 'compile)
 (require 'gnat-core)
 
@@ -589,6 +590,10 @@ Prompt user if more than one."
   ;;
   ;; find error locations in .gpr files
   (setq compilation-search-path (append compilation-search-path (ada-prj-get 
'prj_dir)))
+  (setq compilation-environment
+       (list
+        (let ((process-environment (cl-copy-list (ada-prj-get 'proc_env))))
+          (concat "GPR_PROJECT_PATH=" (getenv "GPR_PROJECT_PATH")))))
 
   ;; must be after indentation engine setup, because that resets the
   ;; indent function list.
@@ -608,6 +613,7 @@ Prompt user if more than one."
   (setq ada-syntax-propertize-hook (delq 'ada-gnat-syntax-propertize 
ada-syntax-propertize-hook))
 
   ;; don't need to delete from compilation-search-path; completely rewritten 
in ada-select-prj-file
+  (setq compilation-environment nil)
 
   (setq ada-mode-hook (delq 'gnatprep-setup ada-mode-hook))
 
diff --git a/packages/ada-mode/ada-gnat-xref.el 
b/packages/ada-mode/ada-gnat-xref.el
index 58719a5..85ffcef 100755
--- a/packages/ada-mode/ada-gnat-xref.el
+++ b/packages/ada-mode/ada-gnat-xref.el
@@ -139,28 +139,31 @@
                     )
     ))
 
-(defun ada-gnat-xref-all (identifier file line col)
+(defun ada-gnat-xref-all (identifier file line col local-only)
   "For `ada-xref-all-function'."
   ;; we use `compilation-start' to run gnat, not `gnat-run', so it
   ;; is asynchronous, and automatically runs the compilation error
   ;; filter.
 
-  (let* ((cmd (format "%sgnat find -a -r %s:%s:%d:%d"
+  (let* ((cmd (format "%sgnat find -a -r %s %s:%s:%d:%d %s"
                       (or (ada-prj-get 'target) "")
-                      identifier file line col)))
+                     (if ada-xref-full-path "-f" "")
+                      identifier file line col (if local-only file ""))))
 
     (with-current-buffer (gnat-run-buffer); for default-directory
-      (let ((compilation-environment (ada-prj-get 'proc_env))
-           (compilation-error "reference")
+      (let ((compilation-error "reference")
            ;; gnat find uses standard gnu format for output, so don't
            ;; need to set compilation-error-regexp-alist
            )
+       ;; compilation-environment is buffer-local; don't set in 'let'
+       (setq compilation-environment (ada-prj-get 'proc_env))
+
        (when (ada-prj-get 'gpr_file)
          (setq cmd (concat cmd " -P" (file-name-nondirectory (ada-prj-get 
'gpr_file)))))
 
        (compilation-start cmd
                           'compilation-mode
-                          (lambda (name) (concat name "-gnatfind")))
+                          (lambda (name) (concat "*" name "-gnatfind*")))
     ))))
 
 ;;;;; setup
diff --git a/packages/ada-mode/ada-grammar-wy.el 
b/packages/ada-mode/ada-grammar-wy.el
index be0c5f7..f98d8b9 100755
--- a/packages/ada-mode/ada-grammar-wy.el
+++ b/packages/ada-mode/ada-grammar-wy.el
@@ -215,7 +215,7 @@
         (progn
         (wisi-statement-action [1 open-paren 3 close-paren])
         (wisi-containing-action 1 2)))
-       ((LEFT_PAREN expression WITH association_list RIGHT_PAREN )
+       ((LEFT_PAREN expression_opt WITH association_list RIGHT_PAREN )
         (progn
         (wisi-statement-action [1 open-paren 3 statement-other 5 close-paren])
         (wisi-containing-action 1 2)
@@ -225,7 +225,7 @@
         (progn
         (wisi-statement-action [1 open-paren 3 close-paren])
         (wisi-containing-action 1 2)))
-       ((LEFT_PAREN expression WITH NULL RECORD RIGHT_PAREN )
+       ((LEFT_PAREN expression_opt WITH NULL RECORD RIGHT_PAREN )
         (progn
         (wisi-statement-action [1 open-paren 3 statement-other 6 close-paren])
         (wisi-containing-action 1 2)
@@ -250,7 +250,7 @@
         (wisi-containing-action 2 3)
         (wisi-containing-action 5 6))))
       (aspect_clause
-       ((FOR attribute_reference USE expression SEMICOLON )
+       ((FOR attribute_reference USE expression_opt SEMICOLON )
         (progn
         (wisi-statement-action [1 statement-start 3 statement-other 5 
statement-end])
         (wisi-containing-action 3 4)))
@@ -264,18 +264,15 @@
         (wisi-statement-action [1 statement-other])
         (wisi-containing-action 1 2))))
       (assignment_statement
-       ((name COLON_EQUAL expression SEMICOLON )
+       ((name COLON_EQUAL expression_opt SEMICOLON )
         (progn
         (wisi-statement-action [1 statement-start 2 statement-other 4 
statement-end])
         (wisi-containing-action 2 3))))
       (association_opt
        (())
-       ((CHARACTER_LITERAL EQUAL_GREATER expression )
-        (progn
-        (wisi-statement-action [2 statement-other])
-        (wisi-containing-action 2 3)))
+       ((CHARACTER_LITERAL EQUAL_GREATER expression_opt ))
        ((CHARACTER_LITERAL EQUAL_GREATER BOX ))
-       ((discrete_choice_list EQUAL_GREATER expression )
+       ((discrete_choice_list EQUAL_GREATER expression_opt )
         (progn
         (wisi-statement-action [2 statement-other])
         (wisi-containing-action 2 3)))
@@ -294,7 +291,7 @@
         (wisi-containing-action 1 2)
         (wisi-containing-action 3 5))))
       (at_clause
-       ((FOR direct_name USE AT expression SEMICOLON )
+       ((FOR direct_name USE AT expression_opt SEMICOLON )
         (progn
         (wisi-statement-action [1 statement-start 4 statement-other 6 
statement-end])
         (wisi-containing-action 4 5))))
@@ -331,13 +328,13 @@
        ((task_body_stub ))
        ((protected_body_stub )))
       (case_expression
-       ((CASE expression IS case_expression_alternative_list )
+       ((CASE expression_opt IS case_expression_alternative_list )
         (progn
         (wisi-statement-action [1 statement-start 3 block-middle])
         (wisi-containing-action 1 2)
         (wisi-containing-action 3 4))))
       (case_expression_alternative
-       ((WHEN discrete_choice_list EQUAL_GREATER expression )
+       ((WHEN discrete_choice_list EQUAL_GREATER expression_opt )
         (progn
         (wisi-statement-action [1 block-middle 3 statement-other])
         (wisi-containing-action 1 3)
@@ -346,8 +343,7 @@
        ((case_expression_alternative ))
        ((case_expression_alternative_list COMMA case_expression_alternative )
         (progn
-        (wisi-statement-action [2 list-break])
-        (wisi-containing-action 2 3))))
+        (wisi-statement-action [2 list-break]))))
       (case_statement
        ((CASE expression_opt IS case_statement_alternative_list END CASE 
SEMICOLON )
         (progn
@@ -408,7 +404,7 @@
        ((component_clause ))
        ((component_clause_list component_clause )))
       (component_declaration
-       ((identifier_list COLON component_definition COLON_EQUAL expression 
aspect_specification_opt SEMICOLON )
+       ((identifier_list COLON component_definition COLON_EQUAL expression_opt 
aspect_specification_opt SEMICOLON )
         (progn
         (wisi-statement-action [1 statement-start 2 statement-other 4 
statement-other 7 statement-end])
         (wisi-containing-action 2 3)
@@ -478,7 +474,7 @@
        ((generic_declaration ))
        ((generic_instantiation ))
        ((null_procedure_declaration ))
-       ((identifier_list COLON CONSTANT COLON_EQUAL expression SEMICOLON )
+       ((identifier_list COLON CONSTANT COLON_EQUAL expression_opt SEMICOLON )
         (progn
         (wisi-statement-action [1 statement-start 6 statement-end])
         (wisi-containing-action 1 5)))
@@ -499,11 +495,11 @@
       (delay_alternative
        ((delay_statement sequence_of_statements_opt )))
       (delay_statement
-       ((DELAY UNTIL expression SEMICOLON )
+       ((DELAY UNTIL expression_opt SEMICOLON )
         (progn
         (wisi-statement-action [1 statement-start 4 statement-end])
         (wisi-containing-action 1 3)))
-       ((DELAY expression SEMICOLON )
+       ((DELAY expression_opt SEMICOLON )
         (progn
         (wisi-statement-action [1 statement-start 3 statement-end])
         (wisi-containing-action 1 2))))
@@ -547,9 +543,9 @@
         (wisi-containing-action 1 2))))
       (discriminant_specification_opt
        (())
-       ((identifier_list COLON null_exclusion_opt_name_type COLON_EQUAL 
expression ))
+       ((identifier_list COLON null_exclusion_opt_name_type COLON_EQUAL 
expression_opt ))
        ((identifier_list COLON null_exclusion_opt_name_type ))
-       ((identifier_list COLON access_definition COLON_EQUAL expression ))
+       ((identifier_list COLON access_definition COLON_EQUAL expression_opt ))
        ((identifier_list COLON access_definition )))
       (discriminant_specification_list
        ((discriminant_specification_opt ))
@@ -558,7 +554,7 @@
         (wisi-statement-action [2 list-break])
         (wisi-containing-action 2 3))))
       (elsif_expression_item
-       ((ELSIF expression THEN expression )
+       ((ELSIF expression_opt THEN expression_opt )
         (progn
         (wisi-statement-action [1 statement-other 3 block-middle])
         (wisi-containing-action 1 2)
@@ -622,8 +618,8 @@
       (enumeration_representation_clause
        ((FOR name USE aggregate SEMICOLON )
         (progn
-        (wisi-statement-action [1 statement-start 3 statement-other 5 
statement-end])
-        (wisi-containing-action 3 4)
+        (wisi-statement-action [1 statement-start 5 statement-end])
+        (wisi-containing-action 1 4)
         (wisi-face-action [2 font-lock-type-face]))))
       (enumeration_type_definition
        ((LEFT_PAREN enumeration_literal_list RIGHT_PAREN )
@@ -661,8 +657,8 @@
       (exit_statement
        ((EXIT identifier_opt WHEN expression_opt SEMICOLON )
         (progn
-        (wisi-statement-action [1 statement-start 3 statement-other 5 
statement-end])
-        (wisi-containing-action 3 4)))
+        (wisi-statement-action [1 statement-start 5 statement-end])
+        (wisi-containing-action 1 4)))
        ((EXIT identifier_opt SEMICOLON )
         (wisi-statement-action [1 statement-start 3 statement-end])))
       (expression
@@ -674,7 +670,9 @@
        ((relation_xor_list )))
       (expression_opt
        (())
-       ((expression )))
+       ((expression )
+        (wisi-statement-action [1 expression-start])
+        (wisi-containing-action 1 1)))
       (expression_function_declaration
        ((overriding_indicator_opt function_specification IS paren_expression 
aspect_specification_opt SEMICOLON )
         (progn
@@ -682,7 +680,7 @@
         (wisi-containing-action 3 4)
         (wisi-containing-action 2 5))))
       (extended_return_object_declaration
-       ((IDENTIFIER COLON aliased_opt constant_opt return_subtype_indication 
COLON_EQUAL expression )
+       ((IDENTIFIER COLON aliased_opt constant_opt return_subtype_indication 
COLON_EQUAL expression_opt )
         (progn
         (wisi-statement-action [1 statement-start 6 statement-other])
         (wisi-containing-action 6 7)))
@@ -705,7 +703,7 @@
        ((ABS primary ))
        ((NOT primary )))
       (formal_object_declaration
-       ((identifier_list COLON mode_opt null_exclusion_opt name COLON_EQUAL 
expression aspect_specification_opt SEMICOLON )
+       ((identifier_list COLON mode_opt null_exclusion_opt name COLON_EQUAL 
expression_opt aspect_specification_opt SEMICOLON )
         (progn
         (wisi-statement-action [1 statement-start 6 statement-other 9 
statement-end])
         (wisi-containing-action 6 7)
@@ -716,7 +714,7 @@
         (wisi-statement-action [1 statement-start 7 statement-end])
         (wisi-containing-action 5 6)
         (wisi-face-action [5 font-lock-type-face])))
-       ((identifier_list COLON mode_opt access_definition COLON_EQUAL 
expression aspect_specification_opt SEMICOLON )
+       ((identifier_list COLON mode_opt access_definition COLON_EQUAL 
expression_opt aspect_specification_opt SEMICOLON )
         (progn
         (wisi-statement-action [1 statement-start 5 statement-other 8 
statement-end])
         (wisi-containing-action 5 6)
@@ -845,21 +843,21 @@
       (generic_instantiation
        ((PACKAGE name IS NEW name aspect_specification_opt SEMICOLON )
         (progn
-        (wisi-statement-action [1 statement-start 2 name 4 statement-other 7 
statement-end])
-        (wisi-containing-action 4 5)
-        (wisi-containing-action 5 6)
+        (wisi-statement-action [1 statement-start 2 name 3 statement-other 7 
statement-end])
+        (wisi-containing-action 3 5)
+        (wisi-containing-action 3 6)
         (wisi-face-action [2 font-lock-function-name-face 5 
font-lock-function-name-face])))
        ((overriding_indicator_opt PROCEDURE name IS NEW name 
aspect_specification_opt SEMICOLON )
         (progn
-        (wisi-statement-action [1 statement-start 2 block-middle 3 name 5 
statement-other 8 statement-end])
-        (wisi-containing-action 5 6)
-        (wisi-containing-action 6 7)
+        (wisi-statement-action [1 statement-start 2 block-middle 3 name 4 
statement-other 8 statement-end])
+        (wisi-containing-action 4 6)
+        (wisi-containing-action 4 7)
         (wisi-face-action [3 font-lock-function-name-face 6 
font-lock-function-name-face])))
        ((overriding_indicator_opt FUNCTION name IS NEW name 
aspect_specification_opt SEMICOLON )
         (progn
-        (wisi-statement-action [1 statement-start 2 block-middle 3 name 5 
statement-other 8 statement-end])
-        (wisi-containing-action 5 6)
-        (wisi-containing-action 6 7)
+        (wisi-statement-action [1 statement-start 2 block-middle 3 name 4 
statement-other 8 statement-end])
+        (wisi-containing-action 4 6)
+        (wisi-containing-action 4 7)
         (wisi-face-action [3 font-lock-function-name-face 6 
font-lock-function-name-face]))))
       (generic_package_declaration
        ((generic_formal_part package_specification SEMICOLON )
@@ -907,7 +905,7 @@
        (())
        ((IDENTIFIER )))
       (if_expression
-       ((IF expression THEN expression elsif_expression_list ELSE expression )
+       ((IF expression_opt THEN expression_opt elsif_expression_list ELSE 
expression_opt )
         (progn
         (wisi-statement-action [1 statement-start 3 block-middle 6 
block-middle])
         (wisi-containing-action 1 2)
@@ -915,21 +913,21 @@
         (wisi-containing-action 3 5)
         (wisi-containing-action 6 7)
         (wisi-motion-action [1 3 [5 statement-other ELSIF block-middle THEN] 
6])))
-       ((IF expression THEN expression elsif_expression_list )
+       ((IF expression_opt THEN expression_opt elsif_expression_list )
         (progn
         (wisi-statement-action [1 statement-start 3 block-middle])
         (wisi-containing-action 1 2)
         (wisi-containing-action 3 4)
         (wisi-containing-action 3 5)
         (wisi-motion-action [1 3 [5 statement-other ELSIF block-middle 
THEN]])))
-       ((IF expression THEN expression ELSE expression )
+       ((IF expression_opt THEN expression_opt ELSE expression_opt )
         (progn
         (wisi-statement-action [1 statement-start 3 block-middle 5 
block-middle])
         (wisi-containing-action 1 2)
         (wisi-containing-action 3 4)
         (wisi-containing-action 5 6)
         (wisi-motion-action [1 3 5])))
-       ((IF expression THEN expression )
+       ((IF expression_opt THEN expression_opt )
         (progn
         (wisi-statement-action [1 statement-start 3 block-middle])
         (wisi-containing-action 1 2)
@@ -1023,8 +1021,10 @@
        ((iterator_specification )))
       (label_opt
        (())
-       ((goto_label ))
-       ((IDENTIFIER COLON )))
+       ((goto_label )
+        (wisi-statement-action [1 label]))
+       ((IDENTIFIER COLON )
+        (wisi-statement-action [1 label])))
       (library_item
        ((PRIVATE library_unit_declaration ))
        ((library_unit_declaration ))
@@ -1059,7 +1059,7 @@
        ((range )))
       (mod_clause_opt
        (())
-       ((AT MOD expression SEMICOLON )))
+       ((AT MOD expression_opt SEMICOLON )))
       (mode_opt
        (())
        ((IN ))
@@ -1114,7 +1114,7 @@
         (wisi-statement-action [1 statement-start 2 statement-other 3 
statement-other 6 statement-end])
         (wisi-containing-action 2 5))))
       (object_declaration
-       ((identifier_list COLON aliased_opt constant_opt subtype_indication 
COLON_EQUAL expression aspect_specification_opt SEMICOLON )
+       ((identifier_list COLON aliased_opt constant_opt subtype_indication 
COLON_EQUAL expression_opt aspect_specification_opt SEMICOLON )
         (progn
         (wisi-statement-action [1 statement-start 2 statement-other 6 
statement-other 9 statement-end])
         (wisi-containing-action 2 5)
@@ -1125,7 +1125,7 @@
         (wisi-statement-action [1 statement-start 2 statement-other 7 
statement-end])
         (wisi-containing-action 2 5)
         (wisi-containing-action 1 6)))
-       ((identifier_list COLON aliased_opt constant_opt access_definition 
COLON_EQUAL expression aspect_specification_opt SEMICOLON )
+       ((identifier_list COLON aliased_opt constant_opt access_definition 
COLON_EQUAL expression_opt aspect_specification_opt SEMICOLON )
         (progn
         (wisi-statement-action [1 statement-start 2 statement-other 6 
statement-other 9 statement-end])
         (wisi-containing-action 2 5)
@@ -1136,7 +1136,7 @@
         (wisi-statement-action [1 statement-start 2 statement-other 7 
statement-end])
         (wisi-containing-action 2 5)
         (wisi-containing-action 1 6)))
-       ((identifier_list COLON aliased_opt constant_opt array_type_definition 
COLON_EQUAL expression aspect_specification_opt SEMICOLON )
+       ((identifier_list COLON aliased_opt constant_opt array_type_definition 
COLON_EQUAL expression_opt aspect_specification_opt SEMICOLON )
         (progn
         (wisi-statement-action [1 statement-start 2 statement-other 6 
statement-other 9 statement-end])
         (wisi-containing-action 2 5)
@@ -1251,11 +1251,12 @@
        (())
        ((formal_part )))
       (parameter_specification
-       ((identifier_list COLON aliased_opt mode_opt null_exclusion_opt name 
COLON_EQUAL expression )
+       (())
+       ((identifier_list COLON aliased_opt mode_opt null_exclusion_opt name 
COLON_EQUAL expression_opt )
         (wisi-face-action [6 font-lock-type-face]))
        ((identifier_list COLON aliased_opt mode_opt null_exclusion_opt name )
         (wisi-face-action [6 font-lock-type-face]))
-       ((identifier_list COLON aliased_opt access_definition COLON_EQUAL 
expression ))
+       ((identifier_list COLON aliased_opt access_definition COLON_EQUAL 
expression_opt ))
        ((identifier_list COLON aliased_opt access_definition )))
       (parameter_specification_list
        ((parameter_specification ))
@@ -1264,7 +1265,7 @@
         (wisi-statement-action [2 list-break])
         (wisi-containing-action 2 3))))
       (paren_expression
-       ((LEFT_PAREN expression RIGHT_PAREN )
+       ((LEFT_PAREN expression_opt RIGHT_PAREN )
         (progn
         (wisi-statement-action [1 open-paren 3 close-paren])
         (wisi-containing-action 1 2)))
@@ -1273,7 +1274,12 @@
         (wisi-statement-action [1 open-paren 3 close-paren])
         (wisi-containing-action 1 2))))
       (pragma
-       ((PRAGMA IDENTIFIER LEFT_PAREN pragma_argument_association_list 
RIGHT_PAREN SEMICOLON )
+       ((PRAGMA IDENTIFIER LEFT_PAREN association_list RIGHT_PAREN SEMICOLON )
+        (progn
+        (wisi-statement-action [1 statement-start 3 open-paren 5 close-paren 6 
statement-end])
+        (wisi-containing-action 3 4)
+        (wisi-face-action [2 font-lock-function-name-face])))
+       ((PRAGMA IDENTIFIER LEFT_PAREN conditional_quantified_expression 
RIGHT_PAREN SEMICOLON )
         (progn
         (wisi-statement-action [1 statement-start 3 open-paren 5 close-paren 6 
statement-end])
         (wisi-containing-action 3 4)
@@ -1282,14 +1288,6 @@
         (progn
         (wisi-statement-action [1 statement-start 3 statement-end])
         (wisi-face-action [2 font-lock-function-name-face]))))
-      (pragma_argument_association
-       ((IDENTIFIER EQUAL_GREATER expression ))
-       ((expression ))
-       ((conditional_quantified_expression ))
-       ((IDENTIFIER TICK IDENTIFIER EQUAL_GREATER expression )))
-      (pragma_argument_association_list
-       ((pragma_argument_association ))
-       ((pragma_argument_association_list COMMA pragma_argument_association )))
       (primary
        ((NUMERIC_LITERAL )
         (wisi-face-action [1 font-lock-constant-face]))
@@ -1301,10 +1299,10 @@
       (private_extension_declaration
        ((TYPE IDENTIFIER discriminant_part_opt IS 
abstract_limited_synchronized_opt NEW subtype_indication and_interface_list_opt 
WITH PRIVATE aspect_specification_opt SEMICOLON )
         (progn
-        (wisi-statement-action [1 statement-start 2 name 4 statement-other 6 
statement-other 12 statement-end])
+        (wisi-statement-action [1 statement-start 2 name 4 statement-other 12 
statement-end])
         (wisi-containing-action 1 3)
-        (wisi-containing-action 6 7)
-        (wisi-containing-action 6 8)
+        (wisi-containing-action 4 7)
+        (wisi-containing-action 4 8)
         (wisi-containing-action 4 11)
         (wisi-face-action [2 font-lock-type-face]))))
       (private_type_declaration
@@ -1393,27 +1391,27 @@
         (wisi-containing-action 1 3)
         (wisi-face-action [1 font-lock-type-face]))))
       (quantified_expression
-       ((FOR quantifier iterator_specification EQUAL_GREATER expression )
+       ((FOR quantifier iterator_specification EQUAL_GREATER expression_opt )
         (progn
-        (wisi-statement-action [4 statement-other])
-        (wisi-containing-action 4 5))))
+        (wisi-statement-action [1 expression-start])
+        (wisi-containing-action 1 5))))
       (quantifier
        ((ALL ))
        ((SOME )))
       (raise_expression
        ((RAISE name ))
-       ((RAISE name WITH expression )))
+       ((RAISE name WITH expression_opt )))
       (raise_statement
        ((RAISE SEMICOLON )
         (wisi-statement-action [1 statement-start 2 statement-end]))
-       ((RAISE name WITH expression SEMICOLON )
+       ((RAISE name WITH expression_opt SEMICOLON )
         (progn
         (wisi-statement-action [1 statement-start 5 statement-end])
         (wisi-containing-action 1 4)))
        ((RAISE name SEMICOLON )
         (wisi-statement-action [1 statement-start 3 statement-end])))
       (range
-       ((name TICK RANGE LEFT_PAREN expression RIGHT_PAREN )
+       ((name TICK RANGE LEFT_PAREN expression_opt RIGHT_PAREN )
         (progn
         (wisi-statement-action [4 open-paren 6 close-paren])
         (wisi-containing-action 4 5)))
@@ -1511,26 +1509,25 @@
         (wisi-containing-action 1 2)
         (wisi-motion-action [1 [2 block-middle OR] 3]))))
       (select_alternative
-       ((WHEN expression EQUAL_GREATER accept_statement 
sequence_of_statements_opt )
+       ((WHEN expression_opt EQUAL_GREATER accept_statement 
sequence_of_statements_opt )
         (progn
         (wisi-statement-action [1 block-start 3 statement-other])
         (wisi-containing-action 1 2)
         (wisi-containing-action 1 3)
-        (wisi-containing-action 3 4)
-        (wisi-containing-action 3 5)))
+        (wisi-containing-action 1 4)
+        (wisi-containing-action 1 5)))
        ((accept_statement sequence_of_statements_opt ))
-       ((WHEN expression EQUAL_GREATER delay_alternative )
+       ((WHEN expression_opt EQUAL_GREATER delay_alternative )
         (progn
-        (wisi-statement-action [1 block-start 3 statement-other])
+        (wisi-statement-action [1 block-start])
         (wisi-containing-action 1 2)
-        (wisi-containing-action 1 3)
-        (wisi-containing-action 3 4)))
+        (wisi-containing-action 1 4)))
        ((delay_alternative ))
-       ((WHEN expression EQUAL_GREATER TERMINATE SEMICOLON )
+       ((WHEN expression_opt EQUAL_GREATER TERMINATE SEMICOLON )
         (progn
-        (wisi-statement-action [1 block-start 3 statement-other 4 
statement-start 5 statement-end])
+        (wisi-statement-action [1 block-start 4 statement-start 5 
statement-end])
         (wisi-containing-action 1 2)
-        (wisi-containing-action 1 3)))
+        (wisi-containing-action 1 4)))
        ((TERMINATE SEMICOLON )
         (wisi-statement-action [1 statement-start 2 statement-end])))
       (select_alternative_list
@@ -1558,7 +1555,7 @@
       (simple_return_statement
        ((RETURN SEMICOLON )
         (wisi-statement-action [1 statement-start 2 statement-end]))
-       ((RETURN expression SEMICOLON )
+       ((RETURN expression_opt SEMICOLON )
         (progn
         (wisi-statement-action [1 statement-start 3 statement-end])
         (wisi-containing-action 1 2))))
@@ -1583,6 +1580,7 @@
        ((PROTECTED IDENTIFIER aspect_specification_opt IS NEW interface_list 
WITH protected_definition SEMICOLON )
         (progn
         (wisi-statement-action [1 statement-start 2 name 4 block-middle 7 
block-middle 9 statement-end])
+        (wisi-motion-action [1 4 [8 block-middle PRIVATE block-end END]])
         (wisi-containing-action 1 2)
         (wisi-containing-action 2 3)
         (wisi-containing-action 4 6)
@@ -1591,6 +1589,7 @@
        ((PROTECTED IDENTIFIER aspect_specification_opt IS protected_definition 
SEMICOLON )
         (progn
         (wisi-statement-action [1 statement-start 2 name 4 block-middle 6 
statement-end])
+        (wisi-motion-action [1 4 [5 block-middle PRIVATE block-end END]])
         (wisi-containing-action 1 2)
         (wisi-containing-action 2 3)
         (wisi-containing-action 4 5)
@@ -1599,6 +1598,7 @@
        ((TASK IDENTIFIER aspect_specification_opt IS NEW interface_list WITH 
task_definition SEMICOLON )
         (progn
         (wisi-statement-action [1 statement-start 2 name 4 block-middle 7 
block-middle 9 statement-end])
+        (wisi-motion-action [1 4 [8 block-middle PRIVATE block-end END]])
         (wisi-containing-action 1 2)
         (wisi-containing-action 2 3)
         (wisi-containing-action 4 6)
@@ -1607,6 +1607,7 @@
        ((TASK IDENTIFIER aspect_specification_opt IS task_definition SEMICOLON 
)
         (progn
         (wisi-statement-action [1 statement-start 2 name 4 block-middle 6 
statement-end])
+        (wisi-motion-action [1 4 [5 block-middle PRIVATE block-end END]])
         (wisi-containing-action 1 2)
         (wisi-containing-action 2 3)
         (wisi-containing-action 4 5)
@@ -1615,13 +1616,13 @@
         (progn
         (wisi-statement-action [1 statement-start 2 name 4 statement-end])
         (wisi-containing-action 1 2)
-        (wisi-containing-action 2 3)
+        (wisi-containing-action 1 3)
         (wisi-face-action [2 font-lock-type-face]))))
       (statement
        ((label_opt simple_statement )
-        (wisi-statement-action [1 statement-start 2 statement-other]))
+        (wisi-statement-action [2 statement-start]))
        ((label_opt compound_statement )
-        (wisi-statement-action [1 statement-start 2 statement-other])))
+        (wisi-statement-action [2 statement-start])))
       (subprogram_body
        ((overriding_indicator_opt subprogram_specification 
aspect_specification_opt IS declarative_part_opt BEGIN 
handled_sequence_of_statements END name_opt SEMICOLON )
         (progn
@@ -1753,10 +1754,10 @@
       (type_definition
        ((enumeration_type_definition ))
        ((RANGE simple_expression DOT_DOT simple_expression ))
-       ((MOD expression ))
-       ((DIGITS expression real_range_specification_opt ))
-       ((DELTA expression real_range_specification_opt ))
-       ((DELTA expression DIGITS expression real_range_specification_opt ))
+       ((MOD expression_opt ))
+       ((DIGITS expression_opt real_range_specification_opt ))
+       ((DELTA expression_opt real_range_specification_opt ))
+       ((DELTA expression_opt DIGITS expression_opt 
real_range_specification_opt ))
        ((array_type_definition ))
        ((record_type_definition ))
        ((access_definition ))
@@ -1773,10 +1774,9 @@
       (variant
        ((WHEN discrete_choice_list EQUAL_GREATER component_list_opt )
         (progn
-        (wisi-statement-action [1 block-middle 3 statement-other])
+        (wisi-statement-action [1 block-middle])
         (wisi-containing-action 1 2)
-        (wisi-containing-action 1 3)
-        (wisi-containing-action 3 4))))
+        (wisi-containing-action 1 4))))
       (unary_adding_operator
        ((PLUS ))
        ((MINUS )))
@@ -1905,32 +1905,32 @@
       ((default . error) (PACKAGE . (generic_formal_parameter_declaration . 
4)) (PROCEDURE . (generic_formal_parameter_declaration . 4)) (FUNCTION . 
(generic_formal_parameter_declaration . 4)) (IDENTIFIER . 
(generic_formal_parameter_declaration . 4)) (WITH . 
(generic_formal_parameter_declaration . 4)) (USE . 
(generic_formal_parameter_declaration . 4)) (TYPE . 
(generic_formal_parameter_declaration . 4)) (PRAGMA . 
(generic_formal_parameter_declaration . 4)))
       ((default . error) (PACKAGE . (generic_formal_parameter_declaration . 
5)) (PROCEDURE . (generic_formal_parameter_declaration . 5)) (FUNCTION . 
(generic_formal_parameter_declaration . 5)) (IDENTIFIER . 
(generic_formal_parameter_declaration . 5)) (WITH . 
(generic_formal_parameter_declaration . 5)) (USE . 
(generic_formal_parameter_declaration . 5)) (TYPE . 
(generic_formal_parameter_declaration . 5)) (PRAGMA . 
(generic_formal_parameter_declaration . 5)))
       ((default . error) (DOT .  90) (TICK .  91) (RETURN .  89) (LEFT_PAREN . 
 88))
-      ((default . error) (FOR .  146) (CASE .  145) (IF .  147) (RIGHT_PAREN . 
((expression_opt . 0) (association_opt . 0))) (COMMA . ((expression_opt . 0) 
(association_opt . 0))) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (CHARACTER_LITERAL .  183) (STRING_LITERAL .  49) 
(IDENTIFIER .  235) (PLUS .  154) (MINUS .  153) (OTHERS .  182) (ABS .  144) 
(NOT .  181) (RAISE .  152) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(LEFT_PAREN .  148))
-      ((default . error) (IDENTIFIER . (null_exclusion_opt . 0)) 
(STRING_LITERAL . (null_exclusion_opt . 0)) (CHARACTER_LITERAL . 
(null_exclusion_opt . 0)) (DO . (null_exclusion_opt . 0)) (COLON_EQUAL . 
(null_exclusion_opt . 0)) (RIGHT_PAREN . (null_exclusion_opt . 0)) (RENAMES . 
(null_exclusion_opt . 0)) (IS . (null_exclusion_opt . 0)) (SEMICOLON . 
(null_exclusion_opt . 0)) (WITH . (null_exclusion_opt . 0)) (ACCESS . 
(null_exclusion_opt . 0)) (NOT .  232))
-      ((default . error) (IDENTIFIER .  229) (CHARACTER_LITERAL .  231) 
(STRING_LITERAL .  230) (ALL .  228))
-      ((default . error) (LEFT_PAREN .  148) (ACCESS .  221) (DELTA .  222) 
(DIGITS .  223) (MOD .  224) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (DO . (name . 5)) (OF . (name . 5)) 
(CHARACTER_LITERAL . (name . 5)) (STRING_LITERAL . (name . 5)) (IDENTIFIER . 
(name . 5)) (LESS_LESS . (name . 5)) (WHILE . (name . 5)) (SELECT . (name . 5)) 
(REQUEUE . (name . 5)) (RAISE . (name . 5)) (PRAGMA . (name . 5)) (NULL . (name 
. 5)) (LOOP . (name . 5)) (IF . (name . 5)) (GOTO . (name . 5)) (FOR . (name . 
5)) (EXIT . (name . 5)) (DELAY . (name . 5)) (DECLARE . (name . 5)) (CASE . 
(name . 5)) (BEGIN . (name . 5)) (ABORT [...]
-      ((default . error) (RETURN .  220))
+      ((default . error) (SEMICOLON . (parameter_specification . 0)) (FOR .  
146) (CASE .  145) (IF .  147) (RIGHT_PAREN . ((expression_opt . 0) 
(parameter_specification . 0))) (COMMA . ((expression_opt . 0) (association_opt 
. 0))) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (CHARACTER_LITERAL .  157) (STRING_LITERAL .  49) 
(IDENTIFIER .  229) (PLUS .  155) (MINUS .  154) (OTHERS .  152) (ABS .  144) 
(NOT .  150) (RAISE .  153) (NUMERIC_LITERAL .  156) [...]
+      ((default . error) (IDENTIFIER . (null_exclusion_opt . 0)) 
(STRING_LITERAL . (null_exclusion_opt . 0)) (CHARACTER_LITERAL . 
(null_exclusion_opt . 0)) (DO . (null_exclusion_opt . 0)) (COLON_EQUAL . 
(null_exclusion_opt . 0)) (RIGHT_PAREN . (null_exclusion_opt . 0)) (RENAMES . 
(null_exclusion_opt . 0)) (IS . (null_exclusion_opt . 0)) (SEMICOLON . 
(null_exclusion_opt . 0)) (WITH . (null_exclusion_opt . 0)) (ACCESS . 
(null_exclusion_opt . 0)) (NOT .  226))
+      ((default . error) (IDENTIFIER .  223) (CHARACTER_LITERAL .  225) 
(STRING_LITERAL .  224) (ALL .  222))
+      ((default . error) (LEFT_PAREN .  148) (ACCESS .  215) (DELTA .  216) 
(DIGITS .  217) (MOD .  218) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
+      ((default . error) (DO . (name . 5)) (OF . (name . 5)) 
(CHARACTER_LITERAL . (name . 5)) (STRING_LITERAL . (name . 5)) (IDENTIFIER . 
(name . 5)) (LESS_LESS . (name . 5)) (WHILE . (name . 5)) (SELECT . (name . 5)) 
(REQUEUE . (name . 5)) (RAISE . (name . 5)) (PRAGMA . (name . 5)) (NULL . (name 
. 5)) (LOOP . (name . 5)) (IF . (name . 5)) (GOTO . (name . 5)) (FOR . (name . 
5)) (EXIT . (name . 5)) (DELAY . (name . 5)) (DECLARE . (name . 5)) (CASE . 
(name . 5)) (BEGIN . (name . 5)) (ABORT [...]
+      ((default . error) (RETURN .  214))
       ((default . error) (RENAMES . (function_specification . 0)) (IS . 
(function_specification . 0)) (SEMICOLON . (function_specification . 0)) (WITH 
. (function_specification . 0)))
-      ((default . error) (ACCESS . (mode_opt . 0)) (NOT . (mode_opt . 0)) 
(IDENTIFIER . (mode_opt . 0)) (STRING_LITERAL . (mode_opt . 0)) 
(CHARACTER_LITERAL . (mode_opt . 0)) (IN .  217) (OUT .  218))
-      ((default . error) (IDENTIFIER .  216))
+      ((default . error) (ACCESS . (mode_opt . 0)) (NOT . (mode_opt . 0)) 
(IDENTIFIER . (mode_opt . 0)) (STRING_LITERAL . (mode_opt . 0)) 
(CHARACTER_LITERAL . (mode_opt . 0)) (IN .  211) (OUT .  212))
+      ((default . error) (IDENTIFIER .  210))
       ((default . error) (IDENTIFIER . (generic_formal_parameter_declarations 
. 1)) (WITH . (generic_formal_parameter_declarations . 1)) (USE . 
(generic_formal_parameter_declarations . 1)) (TYPE . 
(generic_formal_parameter_declarations . 1)) (PRAGMA . 
(generic_formal_parameter_declarations . 1)) (FUNCTION . 
(generic_formal_parameter_declarations . 1)) (PROCEDURE . 
(generic_formal_parameter_declarations . 1)) (PACKAGE . 
(generic_formal_parameter_declarations . 1)))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (IS .  213) (SEMICOLON . (aspect_specification_opt . 
0)) (WITH .  109))
-      ((default . error) (WITH . (discriminant_part_opt . 0)) (SEMICOLON . 
(discriminant_part_opt . 0)) (IS . (discriminant_part_opt . 0)) (LEFT_PAREN .  
211))
-      ((default . error) (DOT .  90) (TICK .  91) (RENAMES .  210) (LEFT_PAREN 
.  107))
-      ((default . error) (DOT .  90) (TICK .  91) (RENAMES .  209) (LEFT_PAREN 
.  107))
-      ((default . error) (DOT .  90) (TICK .  91) (RENAMES .  208) (LEFT_PAREN 
.  107))
-      ((default . error) (COMMA .  120) (SEMICOLON .  207))
+      ((default . error) (IS .  207) (SEMICOLON . (aspect_specification_opt . 
0)) (WITH .  109))
+      ((default . error) (WITH . (discriminant_part_opt . 0)) (SEMICOLON . 
(discriminant_part_opt . 0)) (IS . (discriminant_part_opt . 0)) (LEFT_PAREN .  
205))
+      ((default . error) (DOT .  90) (TICK .  91) (RENAMES .  204) (LEFT_PAREN 
.  107))
+      ((default . error) (DOT .  90) (TICK .  91) (RENAMES .  203) (LEFT_PAREN 
.  107))
+      ((default . error) (DOT .  90) (TICK .  91) (RENAMES .  202) (LEFT_PAREN 
.  107))
+      ((default . error) (COMMA .  120) (SEMICOLON .  201))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (NEW .  205))
-      ((default . error) (FOR .  146) (CASE .  145) (IF .  147) (RIGHT_PAREN . 
((expression_opt . 0) (association_opt . 0))) (COMMA . ((expression_opt . 0) 
(association_opt . 0))) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (IDENTIFIER .  48) (CHARACTER_LITERAL .  183) 
(STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) (OTHERS .  182) (ABS .  
144) (NOT .  181) (RAISE .  152) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  
149) (LEFT_PAREN .  148))
+      ((default . error) (NEW .  199))
+      ((default . error) (FOR .  146) (CASE .  145) (IF .  147) (RIGHT_PAREN . 
((expression_opt . 0) (association_opt . 0))) (COMMA . ((expression_opt . 0) 
(association_opt . 0))) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (IDENTIFIER .  48) (CHARACTER_LITERAL .  157) 
(STRING_LITERAL .  49) (PLUS .  155) (MINUS .  154) (OTHERS .  152) (ABS .  
144) (NOT .  150) (RAISE .  153) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  
149) (LEFT_PAREN .  148))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (SEMICOLON . ((expression_opt . 0) (association_opt . 
0))) (IS . ((expression_opt . 0) (association_opt . 0))) (COMMA . 
((expression_opt . 0) (association_opt . 0))) (EQUAL_GREATER . 
(discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) (OTHERS .  182) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  183) (STRING_LITERAL .  49) (RAISE .  
152) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  181) (NUMERIC_LITERAL .  
155) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
-      ((default . error) (IS .  180))
+      ((default . error) (SEMICOLON . ((expression_opt . 0) (association_opt . 
0))) (IS . ((expression_opt . 0) (association_opt . 0))) (COMMA . 
((expression_opt . 0) (association_opt . 0))) (EQUAL_GREATER . 
(discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) (OTHERS .  152) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  157) (STRING_LITERAL .  49) (RAISE .  
153) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  
156) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
+      ((default . error) (IS .  192))
       ((default . error) (DOT .  90) (TICK .  91) (IS . 
(aspect_specification_opt . 0)) (WITH .  109) (LEFT_PAREN .  107))
-      ((default . error) (FOR .  146) (CASE .  145) (IF .  147) (RAISE .  152) 
(PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  155) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  156) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
-      ((default . error) (OR . (pragma . 1)) (THEN . (pragma . 1)) (WHEN . 
(pragma . 1)) (EXCEPTION . (pragma . 1)) (LESS_LESS . (pragma . 1)) (ACCEPT . 
(pragma . 1)) (ABORT . (pragma . 1)) (CASE . (pragma . 1)) (DECLARE . (pragma . 
1)) (DELAY . (pragma . 1)) (EXIT . (pragma . 1)) (GOTO . (pragma . 1)) (IF . 
(pragma . 1)) (LOOP . (pragma . 1)) (NULL . (pragma . 1)) (RAISE . (pragma . 
1)) (REQUEUE . (pragma . 1)) (RETURN . (pragma . 1)) (SELECT . (pragma . 1)) 
(WHILE . (pragma . 1)) (STRI [...]
+      ((default . error) (FOR .  146) (CASE .  145) (IF .  147) (RIGHT_PAREN . 
((expression_opt . 0) (association_opt . 0))) (COMMA . ((expression_opt . 0) 
(association_opt . 0))) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  152) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  157) (STRING_LITERAL .  49) (RAISE .  153) (PLUS .  155) 
(MINUS .  154) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  156) (NULL .  151) 
(NEW .  149) (LEFT_PAREN .  148))
+      ((default . error) (OR . (pragma . 2)) (THEN . (pragma . 2)) (WHEN . 
(pragma . 2)) (EXCEPTION . (pragma . 2)) (LESS_LESS . (pragma . 2)) (ACCEPT . 
(pragma . 2)) (ABORT . (pragma . 2)) (CASE . (pragma . 2)) (DECLARE . (pragma . 
2)) (DELAY . (pragma . 2)) (EXIT . (pragma . 2)) (GOTO . (pragma . 2)) (IF . 
(pragma . 2)) (LOOP . (pragma . 2)) (NULL . (pragma . 2)) (RAISE . (pragma . 
2)) (REQUEUE . (pragma . 2)) (RETURN . (pragma . 2)) (SELECT . (pragma . 2)) 
(WHILE . (pragma . 2)) (STRI [...]
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
       ((default . error) (COMMA .  120) (SEMICOLON .  142))
       ((default . error) (DOT .  90) (TICK .  91) (IS . ( 106 
(aspect_specification_opt . 0))) (WITH .  109) (LEFT_PAREN .  107))
@@ -1949,95 +1949,89 @@
       ((default . error) (SEMICOLON .  135) (IS .  134))
       ((default . error) (DOT .  90) (TICK .  91) (IS . ( 133 
(parameter_profile_opt . 0))) (SEMICOLON . (parameter_profile_opt . 0)) (WITH . 
(parameter_profile_opt . 0)) (RENAMES . (parameter_profile_opt . 0)) 
(LEFT_PAREN .  88))
       ((default . error) (DOT .  90) (TICK .  91) (IS .  132) (RETURN .  89) 
(LEFT_PAREN .  88))
-      ((default . error) (NEW .  399))
-      ((default . error) (NEW .  398))
-      ((default . error) (BEGIN . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  302) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  299) (IDENTIFIER .  305) (TYPE 
.  304) (GENERIC .  2) (PROTECTED .  301) (TASK .  303) (PACKAGE .  300))
+      ((default . error) (NEW .  393))
+      ((default . error) (NEW .  392))
+      ((default . error) (BEGIN . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  272) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  269) (IDENTIFIER .  275) (TYPE 
.  274) (GENERIC .  2) (PROTECTED .  271) (TASK .  273) (PACKAGE .  270))
       ((default . error) (IDENTIFIER . (subprogram_declaration . 0)) (TYPE . 
(subprogram_declaration . 0)) (TASK . (subprogram_declaration . 0)) (SUBTYPE . 
(subprogram_declaration . 0)) (PROTECTED . (subprogram_declaration . 0)) (FOR . 
(subprogram_declaration . 0)) (ENTRY . (subprogram_declaration . 0)) (BEGIN . 
(subprogram_declaration . 0)) (END . (subprogram_declaration . 0)) (WITH . 
(subprogram_declaration . 0)) (USE . (subprogram_declaration . 0)) (SEPARATE . 
(subprogram_declaration  [...]
       ((default . error) (DOT .  90) (TICK .  91) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109) (LEFT_PAREN .  107))
       ((default . error) (BEGIN . (generic_subprogram_declaration . 0)) (ENTRY 
. (generic_subprogram_declaration . 0)) (FOR . (generic_subprogram_declaration 
. 0)) (FUNCTION . (generic_subprogram_declaration . 0)) (GENERIC . 
(generic_subprogram_declaration . 0)) (NOT . (generic_subprogram_declaration . 
0)) (OVERRIDING . (generic_subprogram_declaration . 0)) (PACKAGE . 
(generic_subprogram_declaration . 0)) (PRAGMA . (generic_subprogram_declaration 
. 0)) (PROCEDURE . (generic_subprogram_de [...]
-      ((default . error) (COMMA .  120) (SEMICOLON .  395))
+      ((default . error) (COMMA .  120) (SEMICOLON .  389))
       ((default . error) (IDENTIFIER . (use_clause . 2)) (USE . (use_clause . 
2)) (TYPE . (use_clause . 2)) (TASK . (use_clause . 2)) (SUBTYPE . (use_clause 
. 2)) (PROTECTED . (use_clause . 2)) (PROCEDURE . (use_clause . 2)) (PRAGMA . 
(use_clause . 2)) (PACKAGE . (use_clause . 2)) (OVERRIDING . (use_clause . 2)) 
(NOT . (use_clause . 2)) (GENERIC . (use_clause . 2)) (FUNCTION . (use_clause . 
2)) (FOR . (use_clause . 2)) (ENTRY . (use_clause . 2)) (BEGIN . (use_clause . 
2)) (END . (use_cla [...]
       ((default . error) (DOT .  90) (TICK .  91) (SEMICOLON . (name_list . 
1)) (COMMA . (name_list . 1)) (LEFT_PAREN .  107))
-      ((default . error) (PROTECTED .  391) (TASK .  392) (PACKAGE .  390) 
(NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)))
+      ((default . error) (PROTECTED .  385) (TASK .  386) (PACKAGE .  384) 
(NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)))
       ((default . error) ($EOI . (with_clause . 2)) (FUNCTION . (with_clause . 
2)) (GENERIC . (with_clause . 2)) (LIMITED . (with_clause . 2)) (NOT . 
(with_clause . 2)) (OVERRIDING . (with_clause . 2)) (PACKAGE . (with_clause . 
2)) (PRAGMA . (with_clause . 2)) (PRIVATE . (with_clause . 2)) (PROCEDURE . 
(with_clause . 2)) (SEPARATE . (with_clause . 2)) (USE . (with_clause . 2)) 
(WITH . (with_clause . 2)))
       ((default . error) (SEMICOLON .  135))
-      ((default . error) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (ALL .  385) (SOME .  386))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (FOR .  146) (CASE .  145) (IF .  147) (RIGHT_PAREN . 
((expression_opt . 0) (association_opt . 0))) (COMMA . ((expression_opt . 0) 
(association_opt . 0))) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (RAISE .  152) (PLUS .  154) (MINUS .  153) (OTHERS 
.  182) (ABS .  144) (NOT .  181) (IDENTIFIER .  48) (CHARACTER_LITERAL .  183) 
(STRING_LITERAL .  49) (NUMERIC_LITERAL .  155) (NULL .  380) (NEW .  149) 
(LEFT_PAREN .  148))
+      ((default . error) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (IS . (expression_opt . 0)) (RAISE .  153) (PLUS .  
155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  
151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL 
.  49) (LEFT_PAREN .  148))
+      ((default . error) (ALL .  379) (SOME .  380))
+      ((default . error) (THEN . (expression_opt . 0)) (RAISE .  153) (PLUS .  
155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  
151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL 
.  49) (LEFT_PAREN .  148))
+      ((default . error) (WITH . (expression_opt . 0)) (FOR .  146) (CASE .  
145) (IF .  147) (COMMA . ((association_opt . 0) (expression_opt . 0))) 
(RIGHT_PAREN . ((association_opt . 0) (expression_opt . 0))) (EQUAL_GREATER . 
(discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) (RAISE .  153) 
(OTHERS .  152) (PLUS .  155) (MINUS .  154) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  157) (STRING_LITERAL .  49) (ABS .  144) (NOT .  150) 
(NUMERIC_LITERAL .  156) (NULL .  373) (NEW .   [...]
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (NUMERIC_LITERAL .  156) (NULL .  370) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
       ((default . error) (OF . (primary . 1)) (COLON_EQUAL . (primary . 1)) 
(DO . (primary . 1)) (LOOP . (primary . 1)) (ELSIF . (primary . 1)) (ELSE . 
(primary . 1)) (DIGITS . (primary . 1)) (RIGHT_PAREN . (primary . 1)) (COMMA . 
(primary . 1)) (RANGE . (primary . 1)) (THEN . (primary . 1)) (WITH . (primary 
. 1)) (BAR . (primary . 1)) (EQUAL_GREATER . (primary . 1)) (IS . (primary . 
1)) (IN . (primary . 1)) (NOT . (primary . 1)) (EQUAL . (primary . 1)) (GREATER 
. (primary . 1)) (GREATER [...]
+      ((default . error) (BAR . (discrete_choice . 3)) (EQUAL_GREATER . 
(discrete_choice . 3)))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
       ((default . error) (ABS . (unary_adding_operator . 1)) (LEFT_PAREN . 
(unary_adding_operator . 1)) (NEW . (unary_adding_operator . 1)) (NOT . 
(unary_adding_operator . 1)) (NULL . (unary_adding_operator . 1)) 
(NUMERIC_LITERAL . (unary_adding_operator . 1)) (IDENTIFIER . 
(unary_adding_operator . 1)) (STRING_LITERAL . (unary_adding_operator . 1)) 
(CHARACTER_LITERAL . (unary_adding_operator . 1)))
       ((default . error) (ABS . (unary_adding_operator . 0)) (LEFT_PAREN . 
(unary_adding_operator . 0)) (NEW . (unary_adding_operator . 0)) (NOT . 
(unary_adding_operator . 0)) (NULL . (unary_adding_operator . 0)) 
(NUMERIC_LITERAL . (unary_adding_operator . 0)) (IDENTIFIER . 
(unary_adding_operator . 0)) (STRING_LITERAL . (unary_adding_operator . 0)) 
(CHARACTER_LITERAL . (unary_adding_operator . 0)))
       ((default . error) (OF . (primary . 0)) (COLON_EQUAL . (primary . 0)) 
(DO . (primary . 0)) (LOOP . (primary . 0)) (ELSIF . (primary . 0)) (ELSE . 
(primary . 0)) (DIGITS . (primary . 0)) (RIGHT_PAREN . (primary . 0)) (COMMA . 
(primary . 0)) (RANGE . (primary . 0)) (THEN . (primary . 0)) (WITH . (primary 
. 0)) (BAR . (primary . 0)) (EQUAL_GREATER . (primary . 0)) (IS . (primary . 
0)) (IN . (primary . 0)) (NOT . (primary . 0)) (EQUAL . (primary . 0)) (GREATER 
. (primary . 0)) (GREATER [...]
-      ((default . error) (EQUAL_GREATER .  376) (RIGHT_PAREN . (name . 0)) 
(COMMA . (name . 0)) (STAR_STAR . (name . 0)) (STAR . (name . 0)) (SLASH . 
(name . 0)) (REM . (name . 0)) (MOD . (name . 0)) (SLASH_EQUAL . (name . 0)) 
(LESS_EQUAL . (name . 0)) (LESS . (name . 0)) (GREATER_EQUAL . (name . 0)) 
(GREATER . (name . 0)) (EQUAL . (name . 0)) (NOT . (name . 0)) (IN . (name . 
0)) (AMPERSAND . (name . 0)) (MINUS . (name . 0)) (PLUS . (name . 0)) 
(LEFT_PAREN . (name . 0)) (AND . (name . 0) [...]
+      ((default . error) (SEMICOLON . (name . 1)) (IS . (name . 1)) (WITH . 
(name . 1)) (RANGE . (name . 1)) (TICK . (name . 1)) (LEFT_PAREN . (name . 1)) 
(DOT . (name . 1)) (PLUS . (name . 1)) (MINUS . (name . 1)) (AMPERSAND . (name 
. 1)) (DOT_DOT . (name . 1)) (IN . (name . 1)) (NOT . (name . 1)) (EQUAL . 
(name . 1)) (GREATER . (name . 1)) (GREATER_EQUAL . (name . 1)) (LESS . (name . 
1)) (LESS_EQUAL . (name . 1)) (SLASH_EQUAL . (name . 1)) (RIGHT_PAREN . (name . 
1)) (COMMA . (name . 1) [...]
       ((default . error) (OF . (primary . 2)) (COLON_EQUAL . (primary . 2)) 
(DO . (primary . 2)) (LOOP . (primary . 2)) (ELSIF . (primary . 2)) (ELSE . 
(primary . 2)) (DIGITS . (primary . 2)) (RIGHT_PAREN . (primary . 2)) (COMMA . 
(primary . 2)) (RANGE . (primary . 2)) (THEN . (primary . 2)) (WITH . (primary 
. 2)) (BAR . (primary . 2)) (EQUAL_GREATER . (primary . 2)) (IS . (primary . 
2)) (IN . (primary . 2)) (NOT . (primary . 2)) (EQUAL . (primary . 2)) (GREATER 
. (primary . 2)) (GREATER [...]
-      ((default . error) (COMMA . (conditional_quantified_expression . 1)) 
(RIGHT_PAREN . (conditional_quantified_expression . 1)))
-      ((default . error) (COMMA . (pragma_argument_association . 2)) 
(RIGHT_PAREN . (pragma_argument_association . 2)))
-      ((default . error) (COMMA . (pragma_argument_association . 1)) 
(RIGHT_PAREN . (pragma_argument_association . 1)))
-      ((default . error) (OF . (term . 0)) (COLON_EQUAL . (term . 0)) (DO . 
(term . 0)) (LOOP . (term . 0)) (ELSIF . (term . 0)) (ELSE . (term . 0)) 
(DIGITS . (term . 0)) (RIGHT_PAREN . (term . 0)) (COMMA . (term . 0)) (RANGE . 
(term . 0)) (THEN . (term . 0)) (WITH . (term . 0)) (BAR . (term . 0)) 
(EQUAL_GREATER . (term . 0)) (IS . (term . 0)) (IN . (term . 0)) (NOT . (term . 
0)) (EQUAL . (term . 0)) (GREATER . (term . 0)) (GREATER_EQUAL . (term . 0)) 
(LESS . (term . 0)) (LESS_EQUAL . (t [...]
-      ((default . error) (COMMA . (conditional_quantified_expression . 0)) 
(RIGHT_PAREN . (conditional_quantified_expression . 0)))
-      ((default . error) (DOT .  90) (OF . (primary . 3)) (COLON_EQUAL . 
(primary . 3)) (DO . (primary . 3)) (LOOP . (primary . 3)) (BAR . (primary . 
3)) (COMMA . (primary . 3)) (ELSIF . (primary . 3)) (ELSE . (primary . 3)) 
(EQUAL_GREATER . (primary . 3)) (RIGHT_PAREN . (primary . 3)) (DIGITS . 
(primary . 3)) (RANGE . (primary . 3)) (THEN . (primary . 3)) (DOT_DOT . 
(primary . 3)) (WITH . (primary . 3)) (IS . (primary . 3)) (IN . (primary . 3)) 
(NOT . (primary . 3)) (EQUAL . (primary .  [...]
-      ((default . error) (RIGHT_PAREN . (pragma_argument_association_list . 
0)) (COMMA . (pragma_argument_association_list . 0)))
-      ((default . error) (COMMA .  375) (RIGHT_PAREN .  374))
-      ((default . error) (OF . (factor . 1)) (COLON_EQUAL . (factor . 1)) (DO 
. (factor . 1)) (LOOP . (factor . 1)) (ELSIF . (factor . 1)) (ELSE . (factor . 
1)) (DIGITS . (factor . 1)) (COMMA . (factor . 1)) (RIGHT_PAREN . (factor . 1)) 
(RANGE . (factor . 1)) (THEN . (factor . 1)) (WITH . (factor . 1)) (BAR . 
(factor . 1)) (EQUAL_GREATER . (factor . 1)) (IS . (factor . 1)) (SLASH_EQUAL . 
(factor . 1)) (LESS_EQUAL . (factor . 1)) (LESS . (factor . 1)) (GREATER_EQUAL 
. (factor . 1)) (GREAT [...]
-      ((default . error) (COMMA . (conditional_quantified_expression . 2)) 
(RIGHT_PAREN . (conditional_quantified_expression . 2)))
-      ((default . error) (DO . (relation . 4)) (LOOP . (relation . 4)) (ELSIF 
. (relation . 4)) (ELSE . (relation . 4)) (EQUAL_GREATER . (relation . 4)) 
(DIGITS . (relation . 4)) (RIGHT_PAREN . (relation . 4)) (COMMA . (relation . 
4)) (RANGE . (relation . 4)) (THEN . (relation . 4)) (SEMICOLON . (relation . 
4)) (WITH . (relation . 4)) (IS . (relation . 4)) (AND . (relation . 4)) (OR . 
(relation . 4)) (XOR . (relation . 4)))
-      ((default . error) (DO . (expression . 1)) (LOOP . (expression . 1)) 
(XOR . (expression . 1)) (OR . (expression . 1)) (AND . ( 372 (expression . 
1))) (ELSIF . (expression . 1)) (ELSE . (expression . 1)) (EQUAL_GREATER . 
(expression . 1)) (DIGITS . (expression . 1)) (COMMA . (expression . 1)) 
(RIGHT_PAREN . (expression . 1)) (RANGE . (expression . 1)) (THEN . (expression 
. 1)) (WITH . (expression . 1)) (SEMICOLON . (expression . 1)) (IS . 
(expression . 1)))
-      ((default . error) (DO . (expression . 2)) (LOOP . (expression . 2)) 
(XOR . (expression . 2)) (OR . (expression . 2)) (AND . ( 371 (expression . 
2))) (ELSIF . (expression . 2)) (ELSE . (expression . 2)) (EQUAL_GREATER . 
(expression . 2)) (DIGITS . (expression . 2)) (COMMA . (expression . 2)) 
(RIGHT_PAREN . (expression . 2)) (RANGE . (expression . 2)) (THEN . (expression 
. 2)) (WITH . (expression . 2)) (SEMICOLON . (expression . 2)) (IS . 
(expression . 2)))
-      ((default . error) (DO . (expression . 3)) (LOOP . (expression . 3)) 
(XOR . (expression . 3)) (OR . ( 370 (expression . 3))) (AND . (expression . 
3)) (ELSIF . (expression . 3)) (ELSE . (expression . 3)) (EQUAL_GREATER . 
(expression . 3)) (DIGITS . (expression . 3)) (COMMA . (expression . 3)) 
(RIGHT_PAREN . (expression . 3)) (RANGE . (expression . 3)) (THEN . (expression 
. 3)) (WITH . (expression . 3)) (SEMICOLON . (expression . 3)) (IS . 
(expression . 3)))
-      ((default . error) (DO . (expression . 4)) (LOOP . (expression . 4)) 
(XOR . (expression . 4)) (OR . ( 369 (expression . 4))) (AND . (expression . 
4)) (ELSIF . (expression . 4)) (ELSE . (expression . 4)) (EQUAL_GREATER . 
(expression . 4)) (DIGITS . (expression . 4)) (COMMA . (expression . 4)) 
(RIGHT_PAREN . (expression . 4)) (RANGE . (expression . 4)) (THEN . (expression 
. 4)) (WITH . (expression . 4)) (SEMICOLON . (expression . 4)) (IS . 
(expression . 4)))
-      ((default . error) (DO . (expression . 5)) (LOOP . (expression . 5)) 
(XOR . ( 368 (expression . 5))) (OR . (expression . 5)) (AND . (expression . 
5)) (ELSIF . (expression . 5)) (ELSE . (expression . 5)) (EQUAL_GREATER . 
(expression . 5)) (DIGITS . (expression . 5)) (COMMA . (expression . 5)) 
(RIGHT_PAREN . (expression . 5)) (RANGE . (expression . 5)) (THEN . (expression 
. 5)) (WITH . (expression . 5)) (SEMICOLON . (expression . 5)) (IS . 
(expression . 5)))
-      ((default . error) (DO . (expression . 0)) (LOOP . (expression . 0)) 
(XOR . ( 367 (expression . 0))) (OR . ( 366 (expression . 0))) (AND . ( 365 
(expression . 0))) (ELSIF . (expression . 0)) (ELSE . (expression . 0)) 
(EQUAL_GREATER . (expression . 0)) (DIGITS . (expression . 0)) (COMMA . 
(expression . 0)) (RIGHT_PAREN . (expression . 0)) (RANGE . (expression . 0)) 
(THEN . (expression . 0)) (WITH . (expression . 0)) (SEMICOLON . (expression . 
0)) (IS . (expression . 0)))
-      ((default . error) (IN .  275) (NOT .  276) (DO . (relation . 0)) (LOOP 
. (relation . 0)) (COMMA . (relation . 0)) (ELSIF . (relation . 0)) (ELSE . 
(relation . 0)) (EQUAL_GREATER . (relation . 0)) (RIGHT_PAREN . (relation . 0)) 
(DIGITS . (relation . 0)) (RANGE . (relation . 0)) (THEN . (relation . 0)) 
(SEMICOLON . (relation . 0)) (WITH . (relation . 0)) (IS . (relation . 0)) (AND 
. (relation . 0)) (OR . (relation . 0)) (XOR . (relation . 0)) (EQUAL .  278) 
(SLASH_EQUAL .  283) (LES [...]
-      ((default . error) (OF . (term_list . 0)) (COLON_EQUAL . (term_list . 
0)) (DO . (term_list . 0)) (LOOP . (term_list . 0)) (ELSIF . (term_list . 0)) 
(ELSE . (term_list . 0)) (DIGITS . (term_list . 0)) (COMMA . (term_list . 0)) 
(RIGHT_PAREN . (term_list . 0)) (RANGE . (term_list . 0)) (THEN . (term_list . 
0)) (WITH . (term_list . 0)) (BAR . (term_list . 0)) (EQUAL_GREATER . 
(term_list . 0)) (IS . (term_list . 0)) (SLASH_EQUAL . (term_list . 0)) 
(LESS_EQUAL . (term_list . 0)) (LESS .  [...]
-      ((default . error) (OF . (simple_expression . 1)) (COLON_EQUAL . 
(simple_expression . 1)) (DO . (simple_expression . 1)) (LOOP . 
(simple_expression . 1)) (ELSIF . (simple_expression . 1)) (ELSE . 
(simple_expression . 1)) (DIGITS . (simple_expression . 1)) (RIGHT_PAREN . 
(simple_expression . 1)) (COMMA . (simple_expression . 1)) (RANGE . 
(simple_expression . 1)) (THEN . (simple_expression . 1)) (WITH . 
(simple_expression . 1)) (BAR . (simple_expression . 1)) (EQUAL_GREATER . 
(simple [...]
-      ((default . error) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  155) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
-      ((default . error) (IS .  353))
-      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  302) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 299) (IDENTIFIER .  305) (TYPE .  304) (GENERIC .  2) (PROTECTED .  301) (TASK 
.  303) (PACKAGE .  300))
-      ((default . error) (NUMERIC_LITERAL .  155) (NULL .  297) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (BAR . (discrete_choice . 3)) (EQUAL_GREATER . 
(discrete_choice . 3)))
-      ((default . error) (SEMICOLON . (name . 1)) (IS . (name . 1)) (WITH . 
(name . 1)) (RANGE . (name . 1)) (TICK . (name . 1)) (LEFT_PAREN . (name . 1)) 
(DOT . (name . 1)) (PLUS . (name . 1)) (MINUS . (name . 1)) (AMPERSAND . (name 
. 1)) (DOT_DOT . (name . 1)) (IN . (name . 1)) (NOT . (name . 1)) (EQUAL . 
(name . 1)) (GREATER . (name . 1)) (GREATER_EQUAL . (name . 1)) (LESS . (name . 
1)) (LESS_EQUAL . (name . 1)) (SLASH_EQUAL . (name . 1)) (RIGHT_PAREN . (name . 
1)) (COMMA . (name . 1) [...]
       ((default . error) (SEMICOLON . (association_list . 0)) (IS . 
(association_list . 0)) (RIGHT_PAREN . (association_list . 0)) (COMMA . 
(association_list . 0)))
-      ((default . error) (COMMA .  273) (SEMICOLON . (aspect_specification_opt 
. 1)) (IS . (aspect_specification_opt . 1)))
+      ((default . error) (COMMA .  267) (RIGHT_PAREN .  367))
+      ((default . error) (RIGHT_PAREN . (conditional_quantified_expression . 
1)))
       ((default . error) (BAR . (discrete_choice . 0)) (EQUAL_GREATER . 
(discrete_choice . 0)))
-      ((default . error) (AND .  295) (EQUAL_GREATER . (choice_expression . 
1)) (BAR . (choice_expression . 1)))
-      ((default . error) (OR .  294) (EQUAL_GREATER . (choice_expression . 2)) 
(BAR . (choice_expression . 2)))
-      ((default . error) (XOR .  293) (EQUAL_GREATER . (choice_expression . 
3)) (BAR . (choice_expression . 3)))
-      ((default . error) (AND .  292) (EQUAL_GREATER . (choice_expression . 
4)) (BAR . (choice_expression . 4)))
-      ((default . error) (OR .  291) (EQUAL_GREATER . (choice_expression . 5)) 
(BAR . (choice_expression . 5)))
-      ((default . error) (XOR .  290) (OR .  289) (AND .  288) (EQUAL_GREATER 
. (choice_expression . 0)) (BAR . (choice_expression . 0)))
+      ((default . error) (AND .  366) (EQUAL_GREATER . (choice_expression . 
1)) (BAR . (choice_expression . 1)))
+      ((default . error) (OR .  365) (EQUAL_GREATER . (choice_expression . 2)) 
(BAR . (choice_expression . 2)))
+      ((default . error) (XOR .  364) (EQUAL_GREATER . (choice_expression . 
3)) (BAR . (choice_expression . 3)))
+      ((default . error) (AND .  363) (EQUAL_GREATER . (choice_expression . 
4)) (BAR . (choice_expression . 4)))
+      ((default . error) (OR .  362) (EQUAL_GREATER . (choice_expression . 5)) 
(BAR . (choice_expression . 5)))
+      ((default . error) (XOR .  361) (OR .  360) (AND .  359) (EQUAL_GREATER 
. (choice_expression . 0)) (BAR . (choice_expression . 0)))
+      ((default . error) (RIGHT_PAREN .  358))
       ((default . error) (EQUAL_GREATER . (discrete_choice_list . 1)) (BAR . 
(discrete_choice_list . 1)))
-      ((default . error) (BAR .  286) (EQUAL_GREATER .  287))
-      ((default . error) (LOOP . (expression_opt . 1)) (RIGHT_PAREN . 
(expression_opt . 1)) (COMMA . (expression_opt . 1)) (SEMICOLON . 
(expression_opt . 1)) (THEN . (expression_opt . 1)) (IS . (expression_opt . 1)))
+      ((default . error) (BAR .  356) (EQUAL_GREATER .  357))
+      ((default . error) (DO . (expression_opt . 1)) (LOOP . (expression_opt . 
1)) (XOR . (expression_opt . 1)) (OR . (expression_opt . 1)) (AND . 
(expression_opt . 1)) (ELSIF . (expression_opt . 1)) (ELSE . (expression_opt . 
1)) (EQUAL_GREATER . (expression_opt . 1)) (DIGITS . (expression_opt . 1)) 
(RIGHT_PAREN . (expression_opt . 1)) (COMMA . (expression_opt . 1)) (RANGE . 
(expression_opt . 1)) (THEN . (expression_opt . 1)) (WITH . (expression_opt . 
1)) (SEMICOLON . (expression_opt . 1 [...]
       ((default . error) (SEMICOLON . (association_opt . 5)) (IS . 
(association_opt . 5)) (COMMA . (association_opt . 5)) (RIGHT_PAREN . 
(association_opt . 5)))
-      ((default . error) (DOT .  90) (DO . (primary . 3)) (LOOP . (primary . 
3)) (ELSIF . (primary . 3)) (ELSE . (primary . 3)) (DIGITS . (primary . 3)) 
(RANGE . (primary . 3)) (THEN . (primary . 3)) (SEMICOLON . (primary . 3)) (IS 
. (primary . 3)) (WITH . (primary . 3)) (IN . (primary . 3)) (NOT . (primary . 
3)) (RIGHT_PAREN . (primary . 3)) (COMMA . (primary . 3)) (PLUS . (primary . 
3)) (MINUS . (primary . 3)) (AMPERSAND . (primary . 3)) (DOT_DOT . (primary . 
3)) (MOD . (primary . 3))  [...]
+      ((default . error) (OF . (term . 0)) (COLON_EQUAL . (term . 0)) (DO . 
(term . 0)) (LOOP . (term . 0)) (ELSIF . (term . 0)) (ELSE . (term . 0)) 
(DIGITS . (term . 0)) (RIGHT_PAREN . (term . 0)) (COMMA . (term . 0)) (RANGE . 
(term . 0)) (THEN . (term . 0)) (WITH . (term . 0)) (BAR . (term . 0)) 
(EQUAL_GREATER . (term . 0)) (IS . (term . 0)) (IN . (term . 0)) (NOT . (term . 
0)) (EQUAL . (term . 0)) (GREATER . (term . 0)) (GREATER_EQUAL . (term . 0)) 
(LESS . (term . 0)) (LESS_EQUAL . (t [...]
+      ((default . error) (RIGHT_PAREN . (conditional_quantified_expression . 
0)))
+      ((default . error) (DOT .  90) (DO . (primary . 3)) (LOOP . (primary . 
3)) (ELSIF . (primary . 3)) (ELSE . (primary . 3)) (DIGITS . (primary . 3)) 
(RANGE . (primary . 3)) (THEN . (primary . 3)) (SEMICOLON . (primary . 3)) (IS 
. (primary . 3)) (WITH . (primary . 3)) (IN . (primary . 3)) (NOT . (primary . 
3)) (RIGHT_PAREN . (primary . 3)) (COMMA . (primary . 3)) (PLUS . (primary . 
3)) (MINUS . (primary . 3)) (AMPERSAND . (primary . 3)) (DOT_DOT . (primary . 
3)) (MOD . (primary . 3))  [...]
+      ((default . error) (OF . (factor . 1)) (COLON_EQUAL . (factor . 1)) (DO 
. (factor . 1)) (LOOP . (factor . 1)) (ELSIF . (factor . 1)) (ELSE . (factor . 
1)) (DIGITS . (factor . 1)) (COMMA . (factor . 1)) (RIGHT_PAREN . (factor . 1)) 
(RANGE . (factor . 1)) (THEN . (factor . 1)) (WITH . (factor . 1)) (BAR . 
(factor . 1)) (EQUAL_GREATER . (factor . 1)) (IS . (factor . 1)) (SLASH_EQUAL . 
(factor . 1)) (LESS_EQUAL . (factor . 1)) (LESS . (factor . 1)) (GREATER_EQUAL 
. (factor . 1)) (GREAT [...]
+      ((default . error) (RIGHT_PAREN . (conditional_quantified_expression . 
2)))
+      ((default . error) (DO . (relation . 4)) (LOOP . (relation . 4)) (ELSIF 
. (relation . 4)) (ELSE . (relation . 4)) (EQUAL_GREATER . (relation . 4)) 
(DIGITS . (relation . 4)) (RIGHT_PAREN . (relation . 4)) (COMMA . (relation . 
4)) (RANGE . (relation . 4)) (THEN . (relation . 4)) (WITH . (relation . 4)) 
(SEMICOLON . (relation . 4)) (IS . (relation . 4)) (AND . (relation . 4)) (OR . 
(relation . 4)) (XOR . (relation . 4)))
       ((default . error) (BAR . (discrete_choice . 2)) (EQUAL_GREATER . 
(discrete_choice . 2)))
-      ((default . error) (IN .  275) (NOT .  276) (SEMICOLON . (relation . 0)) 
(IS . (relation . 0)) (WITH . (relation . 0)) (RIGHT_PAREN . (relation . 0)) 
(COMMA . (relation . 0)) (DOT_DOT .  277) (BAR . (choice_relation . 1)) 
(EQUAL_GREATER . (choice_relation . 1)) (AND . ((choice_relation . 1) (relation 
. 0))) (OR . ((choice_relation . 1) (relation . 0))) (XOR . ((choice_relation . 
1) (relation . 0))) (EQUAL .  278) (SLASH_EQUAL .  283) (LESS .  281) 
(LESS_EQUAL .  282) (GREATER .  27 [...]
+      ((default . error) (DO . (expression . 1)) (LOOP . (expression . 1)) 
(XOR . (expression . 1)) (OR . (expression . 1)) (AND . ( 353 (expression . 
1))) (ELSIF . (expression . 1)) (ELSE . (expression . 1)) (EQUAL_GREATER . 
(expression . 1)) (DIGITS . (expression . 1)) (COMMA . (expression . 1)) 
(RIGHT_PAREN . (expression . 1)) (RANGE . (expression . 1)) (THEN . (expression 
. 1)) (SEMICOLON . (expression . 1)) (WITH . (expression . 1)) (IS . 
(expression . 1)))
+      ((default . error) (DO . (expression . 2)) (LOOP . (expression . 2)) 
(XOR . (expression . 2)) (OR . (expression . 2)) (AND . ( 352 (expression . 
2))) (ELSIF . (expression . 2)) (ELSE . (expression . 2)) (EQUAL_GREATER . 
(expression . 2)) (DIGITS . (expression . 2)) (COMMA . (expression . 2)) 
(RIGHT_PAREN . (expression . 2)) (RANGE . (expression . 2)) (THEN . (expression 
. 2)) (SEMICOLON . (expression . 2)) (WITH . (expression . 2)) (IS . 
(expression . 2)))
+      ((default . error) (DO . (expression . 3)) (LOOP . (expression . 3)) 
(XOR . (expression . 3)) (OR . ( 351 (expression . 3))) (AND . (expression . 
3)) (ELSIF . (expression . 3)) (ELSE . (expression . 3)) (EQUAL_GREATER . 
(expression . 3)) (DIGITS . (expression . 3)) (COMMA . (expression . 3)) 
(RIGHT_PAREN . (expression . 3)) (RANGE . (expression . 3)) (THEN . (expression 
. 3)) (SEMICOLON . (expression . 3)) (WITH . (expression . 3)) (IS . 
(expression . 3)))
+      ((default . error) (DO . (expression . 4)) (LOOP . (expression . 4)) 
(XOR . (expression . 4)) (OR . ( 350 (expression . 4))) (AND . (expression . 
4)) (ELSIF . (expression . 4)) (ELSE . (expression . 4)) (EQUAL_GREATER . 
(expression . 4)) (DIGITS . (expression . 4)) (COMMA . (expression . 4)) 
(RIGHT_PAREN . (expression . 4)) (RANGE . (expression . 4)) (THEN . (expression 
. 4)) (SEMICOLON . (expression . 4)) (WITH . (expression . 4)) (IS . 
(expression . 4)))
+      ((default . error) (DO . (expression . 5)) (LOOP . (expression . 5)) 
(XOR . ( 349 (expression . 5))) (OR . (expression . 5)) (AND . (expression . 
5)) (ELSIF . (expression . 5)) (ELSE . (expression . 5)) (EQUAL_GREATER . 
(expression . 5)) (DIGITS . (expression . 5)) (COMMA . (expression . 5)) 
(RIGHT_PAREN . (expression . 5)) (RANGE . (expression . 5)) (THEN . (expression 
. 5)) (SEMICOLON . (expression . 5)) (WITH . (expression . 5)) (IS . 
(expression . 5)))
+      ((default . error) (DO . (expression . 0)) (LOOP . (expression . 0)) 
(XOR . ( 348 (expression . 0))) (OR . ( 347 (expression . 0))) (AND . ( 346 
(expression . 0))) (ELSIF . (expression . 0)) (ELSE . (expression . 0)) 
(EQUAL_GREATER . (expression . 0)) (DIGITS . (expression . 0)) (COMMA . 
(expression . 0)) (RIGHT_PAREN . (expression . 0)) (RANGE . (expression . 0)) 
(THEN . (expression . 0)) (SEMICOLON . (expression . 0)) (WITH . (expression . 
0)) (IS . (expression . 0)))
+      ((default . error) (IN .  336) (NOT .  337) (SEMICOLON . (relation . 0)) 
(IS . (relation . 0)) (WITH . (relation . 0)) (RIGHT_PAREN . (relation . 0)) 
(COMMA . (relation . 0)) (DOT_DOT .  338) (BAR . (choice_relation . 1)) 
(EQUAL_GREATER . (choice_relation . 1)) (AND . ((choice_relation . 1) (relation 
. 0))) (OR . ((choice_relation . 1) (relation . 0))) (XOR . ((choice_relation . 
1) (relation . 0))) (EQUAL .  339) (SLASH_EQUAL .  344) (LESS .  342) 
(LESS_EQUAL .  343) (GREATER .  34 [...]
+      ((default . error) (OF . (term_list . 0)) (COLON_EQUAL . (term_list . 
0)) (DO . (term_list . 0)) (LOOP . (term_list . 0)) (ELSIF . (term_list . 0)) 
(ELSE . (term_list . 0)) (DIGITS . (term_list . 0)) (COMMA . (term_list . 0)) 
(RIGHT_PAREN . (term_list . 0)) (RANGE . (term_list . 0)) (THEN . (term_list . 
0)) (WITH . (term_list . 0)) (BAR . (term_list . 0)) (EQUAL_GREATER . 
(term_list . 0)) (IS . (term_list . 0)) (SLASH_EQUAL . (term_list . 0)) 
(LESS_EQUAL . (term_list . 0)) (LESS .  [...]
+      ((default . error) (OF . (simple_expression . 1)) (COLON_EQUAL . 
(simple_expression . 1)) (DO . (simple_expression . 1)) (LOOP . 
(simple_expression . 1)) (ELSIF . (simple_expression . 1)) (ELSE . 
(simple_expression . 1)) (DIGITS . (simple_expression . 1)) (RIGHT_PAREN . 
(simple_expression . 1)) (COMMA . (simple_expression . 1)) (RANGE . 
(simple_expression . 1)) (THEN . (simple_expression . 1)) (WITH . 
(simple_expression . 1)) (BAR . (simple_expression . 1)) (EQUAL_GREATER . 
(simple [...]
+      ((default . error) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (IS .  323))
+      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  272) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 269) (IDENTIFIER .  275) (TYPE .  274) (GENERIC .  2) (PROTECTED .  271) (TASK 
.  273) (PACKAGE .  270))
+      ((default . error) (COMMA .  267) (SEMICOLON . (aspect_specification_opt 
. 1)) (IS . (aspect_specification_opt . 1)))
       ((default . error) (DOT .  90) (TICK .  91) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109) (LEFT_PAREN .  107))
-      ((default . error) (COMMA .  273) (RIGHT_PAREN .  272))
-      ((default . error) (RIGHT_PAREN .  271))
+      ((default . error) (COMMA .  267) (RIGHT_PAREN .  266))
+      ((default . error) (RIGHT_PAREN .  265))
       ((default . error) (BAR . (discrete_choice . 2)) (EQUAL_GREATER . 
(discrete_choice . 2)) (RIGHT_PAREN . (range_list . 0)) (COMMA . (range_list . 
0)))
-      ((default . error) (COMMA .  270) (RIGHT_PAREN .  269))
+      ((default . error) (COMMA .  264) (RIGHT_PAREN .  263))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (COMMA .  120) (SEMICOLON .  267))
+      ((default . error) (COMMA .  120) (SEMICOLON .  261))
       ((default . error) ($EOI . (with_clause . 1)) (FUNCTION . (with_clause . 
1)) (GENERIC . (with_clause . 1)) (LIMITED . (with_clause . 1)) (NOT . 
(with_clause . 1)) (OVERRIDING . (with_clause . 1)) (PACKAGE . (with_clause . 
1)) (PRAGMA . (with_clause . 1)) (PRIVATE . (with_clause . 1)) (PROCEDURE . 
(with_clause . 1)) (SEPARATE . (with_clause . 1)) (USE . (with_clause . 1)) 
(WITH . (with_clause . 1)))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (BOX .  260) (SEMICOLON . 
(discriminant_specification_opt . 0)) (RIGHT_PAREN . 
(discriminant_specification_opt . 0)) (IDENTIFIER .  77))
-      ((default . error) (IS .  258) (SEMICOLON . (aspect_specification_opt . 
0)) (WITH .  109))
-      ((default . error) (ABSTRACT .  253) (BOX .  255) (NULL .  254) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
-      ((default . error) (SEMICOLON .  252))
-      ((default . error) (DOT .  90) (TICK .  91) (IS .  251) (LEFT_PAREN .  
107))
+      ((default . error) (BOX .  254) (SEMICOLON . 
(discriminant_specification_opt . 0)) (RIGHT_PAREN . 
(discriminant_specification_opt . 0)) (IDENTIFIER .  77))
+      ((default . error) (IS .  252) (SEMICOLON . (aspect_specification_opt . 
0)) (WITH .  109))
+      ((default . error) (ABSTRACT .  247) (BOX .  249) (NULL .  248) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
+      ((default . error) (SEMICOLON .  246))
+      ((default . error) (DOT .  90) (TICK .  91) (IS .  245) (LEFT_PAREN .  
107))
       ((default . error) (COLON . (identifier_list . 1)) (COMMA . 
(identifier_list . 1)))
-      ((default . error) (OUT .  250) (ACCESS . (mode_opt . 1)) (NOT . 
(mode_opt . 1)) (IDENTIFIER . (mode_opt . 1)) (STRING_LITERAL . (mode_opt . 1)) 
(CHARACTER_LITERAL . (mode_opt . 1)))
+      ((default . error) (OUT .  244) (ACCESS . (mode_opt . 1)) (NOT . 
(mode_opt . 1)) (IDENTIFIER . (mode_opt . 1)) (STRING_LITERAL . (mode_opt . 1)) 
(CHARACTER_LITERAL . (mode_opt . 1)))
       ((default . error) (ACCESS . (mode_opt . 3)) (NOT . (mode_opt . 3)) 
(IDENTIFIER . (mode_opt . 3)) (STRING_LITERAL . (mode_opt . 3)) 
(CHARACTER_LITERAL . (mode_opt . 3)))
-      ((default . error) (IDENTIFIER . (null_exclusion_opt . 0)) 
(STRING_LITERAL . (null_exclusion_opt . 0)) (CHARACTER_LITERAL . 
(null_exclusion_opt . 0)) (ACCESS . (null_exclusion_opt . 0)) (NOT .  232))
-      ((default . error) (IDENTIFIER . (null_exclusion_opt . 0)) 
(STRING_LITERAL . (null_exclusion_opt . 0)) (CHARACTER_LITERAL . 
(null_exclusion_opt . 0)) (DO . (null_exclusion_opt . 0)) (RIGHT_PAREN . 
(null_exclusion_opt . 0)) (COLON_EQUAL . (null_exclusion_opt . 0)) (RENAMES . 
(null_exclusion_opt . 0)) (WITH . (null_exclusion_opt . 0)) (SEMICOLON . 
(null_exclusion_opt . 0)) (IS . (null_exclusion_opt . 0)) (ACCESS . 
(null_exclusion_opt . 0)) (NOT .  232))
+      ((default . error) (IDENTIFIER . (null_exclusion_opt . 0)) 
(STRING_LITERAL . (null_exclusion_opt . 0)) (CHARACTER_LITERAL . 
(null_exclusion_opt . 0)) (ACCESS . (null_exclusion_opt . 0)) (NOT .  226))
+      ((default . error) (IDENTIFIER . (null_exclusion_opt . 0)) 
(STRING_LITERAL . (null_exclusion_opt . 0)) (CHARACTER_LITERAL . 
(null_exclusion_opt . 0)) (DO . (null_exclusion_opt . 0)) (RIGHT_PAREN . 
(null_exclusion_opt . 0)) (COLON_EQUAL . (null_exclusion_opt . 0)) (RENAMES . 
(null_exclusion_opt . 0)) (WITH . (null_exclusion_opt . 0)) (SEMICOLON . 
(null_exclusion_opt . 0)) (IS . (null_exclusion_opt . 0)) (ACCESS . 
(null_exclusion_opt . 0)) (NOT .  226))
       ((default . error) (DO . (attribute_designator . 1)) (ELSIF . 
(attribute_designator . 1)) (ELSE . (attribute_designator . 1)) (DIGITS . 
(attribute_designator . 1)) (RANGE . (attribute_designator . 1)) (THEN . 
(attribute_designator . 1)) (USE . (attribute_designator . 1)) (COLON_EQUAL . 
(attribute_designator . 1)) (CHARACTER_LITERAL . (attribute_designator . 1)) 
(STRING_LITERAL . (attribute_designator . 1)) (IDENTIFIER . 
(attribute_designator . 1)) (LESS_LESS . (attribute_designator [...]
       ((default . error) (DO . (attribute_designator . 2)) (ELSIF . 
(attribute_designator . 2)) (ELSE . (attribute_designator . 2)) (DIGITS . 
(attribute_designator . 2)) (RANGE . (attribute_designator . 2)) (THEN . 
(attribute_designator . 2)) (USE . (attribute_designator . 2)) (COLON_EQUAL . 
(attribute_designator . 2)) (CHARACTER_LITERAL . (attribute_designator . 2)) 
(STRING_LITERAL . (attribute_designator . 2)) (IDENTIFIER . 
(attribute_designator . 2)) (LESS_LESS . (attribute_designator [...]
       ((default . error) (DO . (attribute_designator . 3)) (ELSIF . 
(attribute_designator . 3)) (ELSE . (attribute_designator . 3)) (DIGITS . 
(attribute_designator . 3)) (RANGE . (attribute_designator . 3)) (THEN . 
(attribute_designator . 3)) (USE . (attribute_designator . 3)) (COLON_EQUAL . 
(attribute_designator . 3)) (CHARACTER_LITERAL . (attribute_designator . 3)) 
(STRING_LITERAL . (attribute_designator . 3)) (IDENTIFIER . 
(attribute_designator . 3)) (LESS_LESS . (attribute_designator [...]
@@ -2045,92 +2039,68 @@
       ((default . error) (DO . (qualified_expression . 0)) (ELSIF . 
(qualified_expression . 0)) (ELSE . (qualified_expression . 0)) (DIGITS . 
(qualified_expression . 0)) (RANGE . (qualified_expression . 0)) (THEN . 
(qualified_expression . 0)) (USE . (qualified_expression . 0)) (COLON_EQUAL . 
(qualified_expression . 0)) (CHARACTER_LITERAL . (qualified_expression . 0)) 
(STRING_LITERAL . (qualified_expression . 0)) (IDENTIFIER . 
(qualified_expression . 0)) (LESS_LESS . (qualified_expression [...]
       ((default . error) (DO . (attribute_reference . 0)) (ELSIF . 
(attribute_reference . 0)) (ELSE . (attribute_reference . 0)) (DIGITS . 
(attribute_reference . 0)) (RANGE . (attribute_reference . 0)) (THEN . 
(attribute_reference . 0)) (USE . (attribute_reference . 0)) (COLON_EQUAL . 
(attribute_reference . 0)) (CHARACTER_LITERAL . (attribute_reference . 0)) 
(STRING_LITERAL . (attribute_reference . 0)) (IDENTIFIER . (attribute_reference 
. 0)) (LESS_LESS . (attribute_reference . 0)) (WHIL [...]
       ((default . error) (DO . (attribute_designator . 0)) (ELSIF . 
(attribute_designator . 0)) (ELSE . (attribute_designator . 0)) (DIGITS . 
(attribute_designator . 0)) (RANGE . (attribute_designator . 0)) (THEN . 
(attribute_designator . 0)) (USE . (attribute_designator . 0)) (COLON_EQUAL . 
(attribute_designator . 0)) (CHARACTER_LITERAL . (attribute_designator . 0)) 
(STRING_LITERAL . (attribute_designator . 0)) (IDENTIFIER . 
(attribute_designator . 0)) (LESS_LESS . (attribute_designator [...]
-      ((default . error) (DO . (selected_component . 3)) (RIGHT_PAREN . 
(selected_component . 3)) (BAR . (selected_component . 3)) (ELSIF . 
(selected_component . 3)) (ELSE . (selected_component . 3)) (EQUAL_GREATER . 
(selected_component . 3)) (DIGITS . (selected_component . 3)) (RANGE . 
(selected_component . 3)) (THEN . (selected_component . 3)) (DOT_DOT . 
(selected_component . 3)) (IN . (selected_component . 3)) (NOT . 
(selected_component . 3)) (EQUAL . (selected_component . 3)) (GREATE [...]
-      ((default . error) (DO . (selected_component . 0)) (RIGHT_PAREN . 
(selected_component . 0)) (BAR . (selected_component . 0)) (ELSIF . 
(selected_component . 0)) (ELSE . (selected_component . 0)) (EQUAL_GREATER . 
(selected_component . 0)) (DIGITS . (selected_component . 0)) (RANGE . 
(selected_component . 0)) (THEN . (selected_component . 0)) (DOT_DOT . 
(selected_component . 0)) (IN . (selected_component . 0)) (NOT . 
(selected_component . 0)) (EQUAL . (selected_component . 0)) (GREATE [...]
-      ((default . error) (DO . (selected_component . 2)) (RIGHT_PAREN . 
(selected_component . 2)) (BAR . (selected_component . 2)) (ELSIF . 
(selected_component . 2)) (ELSE . (selected_component . 2)) (EQUAL_GREATER . 
(selected_component . 2)) (DIGITS . (selected_component . 2)) (RANGE . 
(selected_component . 2)) (THEN . (selected_component . 2)) (DOT_DOT . 
(selected_component . 2)) (IN . (selected_component . 2)) (NOT . 
(selected_component . 2)) (EQUAL . (selected_component . 2)) (GREATE [...]
-      ((default . error) (DO . (selected_component . 1)) (RIGHT_PAREN . 
(selected_component . 1)) (BAR . (selected_component . 1)) (ELSIF . 
(selected_component . 1)) (ELSE . (selected_component . 1)) (EQUAL_GREATER . 
(selected_component . 1)) (DIGITS . (selected_component . 1)) (RANGE . 
(selected_component . 1)) (THEN . (selected_component . 1)) (DOT_DOT . 
(selected_component . 1)) (IN . (selected_component . 1)) (NOT . 
(selected_component . 1)) (EQUAL . (selected_component . 1)) (GREATE [...]
-      ((default . error) (NULL .  245))
+      ((default . error) (DO . (selected_component . 3)) (RIGHT_PAREN . 
(selected_component . 3)) (IN . (selected_component . 3)) (NOT . 
(selected_component . 3)) (PLUS . (selected_component . 3)) (MINUS . 
(selected_component . 3)) (AMPERSAND . (selected_component . 3)) (DOT_DOT . 
(selected_component . 3)) (MOD . (selected_component . 3)) (REM . 
(selected_component . 3)) (SLASH . (selected_component . 3)) (STAR . 
(selected_component . 3)) (STAR_STAR . (selected_component . 3)) (BAR . (se 
[...]
+      ((default . error) (DO . (selected_component . 0)) (RIGHT_PAREN . 
(selected_component . 0)) (IN . (selected_component . 0)) (NOT . 
(selected_component . 0)) (PLUS . (selected_component . 0)) (MINUS . 
(selected_component . 0)) (AMPERSAND . (selected_component . 0)) (DOT_DOT . 
(selected_component . 0)) (MOD . (selected_component . 0)) (REM . 
(selected_component . 0)) (SLASH . (selected_component . 0)) (STAR . 
(selected_component . 0)) (STAR_STAR . (selected_component . 0)) (BAR . (se 
[...]
+      ((default . error) (DO . (selected_component . 2)) (RIGHT_PAREN . 
(selected_component . 2)) (IN . (selected_component . 2)) (NOT . 
(selected_component . 2)) (PLUS . (selected_component . 2)) (MINUS . 
(selected_component . 2)) (AMPERSAND . (selected_component . 2)) (DOT_DOT . 
(selected_component . 2)) (MOD . (selected_component . 2)) (REM . 
(selected_component . 2)) (SLASH . (selected_component . 2)) (STAR . 
(selected_component . 2)) (STAR_STAR . (selected_component . 2)) (BAR . (se 
[...]
+      ((default . error) (DO . (selected_component . 1)) (RIGHT_PAREN . 
(selected_component . 1)) (IN . (selected_component . 1)) (NOT . 
(selected_component . 1)) (PLUS . (selected_component . 1)) (MINUS . 
(selected_component . 1)) (AMPERSAND . (selected_component . 1)) (DOT_DOT . 
(selected_component . 1)) (MOD . (selected_component . 1)) (REM . 
(selected_component . 1)) (SLASH . (selected_component . 1)) (STAR . 
(selected_component . 1)) (STAR_STAR . (selected_component . 1)) (BAR . (se 
[...]
+      ((default . error) (NULL .  239))
       ((default . error) (DO . (parameter_and_result_profile . 3)) 
(RIGHT_PAREN . (parameter_and_result_profile . 3)) (COLON_EQUAL . 
(parameter_and_result_profile . 3)) (RENAMES . (parameter_and_result_profile . 
3)) (WITH . (parameter_and_result_profile . 3)) (SEMICOLON . 
(parameter_and_result_profile . 3)) (IS . (parameter_and_result_profile . 3)))
-      ((default . error) (ACCESS .  242) (IS . (name_opt . 0)) (SEMICOLON . 
(name_opt . 0)) (WITH . (name_opt . 0)) (RENAMES . (name_opt . 0)) (COLON_EQUAL 
. (name_opt . 0)) (RIGHT_PAREN . (name_opt . 0)) (DO . (name_opt . 0)) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
+      ((default . error) (ACCESS .  236) (IS . (name_opt . 0)) (SEMICOLON . 
(name_opt . 0)) (WITH . (name_opt . 0)) (RENAMES . (name_opt . 0)) (COLON_EQUAL 
. (name_opt . 0)) (RIGHT_PAREN . (name_opt . 0)) (DO . (name_opt . 0)) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
       ((default . error) (IN . (name . 0)) (NOT . (name . 0)) (EQUAL . (name . 
0)) (GREATER . (name . 0)) (GREATER_EQUAL . (name . 0)) (LESS . (name . 0)) 
(LESS_EQUAL . (name . 0)) (SLASH_EQUAL . (name . 0)) (BAR . (name . 0)) 
(EQUAL_GREATER . (name . 0)) (AND . (name . 0)) (OR . (name . 0)) (XOR . (name 
. 0)) (RIGHT_PAREN . (name . 0)) (LEFT_PAREN . (name . 0)) (RANGE . (name . 0)) 
(TICK . (name . 0)) (DOT . (name . 0)) (PLUS . (name . 0)) (MINUS . (name . 0)) 
(AMPERSAND . (name . 0)) ( [...]
-      ((default . error) (COLON .  241) (COMMA .  96))
+      ((default . error) (COLON .  235) (COMMA .  96))
       ((default . error) (RIGHT_PAREN . (parameter_specification_list . 0)) 
(SEMICOLON . (parameter_specification_list . 0)))
-      ((default . error) (SEMICOLON .  240) (RIGHT_PAREN .  239))
+      ((default . error) (SEMICOLON .  234) (RIGHT_PAREN .  233))
       ((default . error) (COLON_EQUAL . (formal_part . 0)) (RIGHT_PAREN . 
(formal_part . 0)) (DO . (formal_part . 0)) (WHEN . (formal_part . 0)) (RENAMES 
. (formal_part . 0)) (IS . (formal_part . 0)) (SEMICOLON . (formal_part . 0)) 
(WITH . (formal_part . 0)) (RETURN . (formal_part . 0)))
-      ((default . error) (IDENTIFIER .  77))
-      ((default . error) (ACCESS . (aliased_opt . 0)) (NOT . (aliased_opt . 
0)) (IN . (aliased_opt . 0)) (OUT . (aliased_opt . 0)) (IDENTIFIER . 
(aliased_opt . 0)) (STRING_LITERAL . (aliased_opt . 0)) (CHARACTER_LITERAL . 
(aliased_opt . 0)) (ALIASED .  531))
-      ((default . error) (FUNCTION . (protected_opt . 0)) (PROCEDURE . 
(protected_opt . 0)) (PROTECTED .  528) (IDENTIFIER . 
(general_access_modifier_opt . 0)) (STRING_LITERAL . 
(general_access_modifier_opt . 0)) (CHARACTER_LITERAL . 
(general_access_modifier_opt . 0)) (ALL .  526) (CONSTANT .  527))
+      ((default . error) (RIGHT_PAREN . (parameter_specification . 0)) 
(SEMICOLON . (parameter_specification . 0)) (IDENTIFIER .  77))
+      ((default . error) (ACCESS . (aliased_opt . 0)) (NOT . (aliased_opt . 
0)) (IN . (aliased_opt . 0)) (OUT . (aliased_opt . 0)) (IDENTIFIER . 
(aliased_opt . 0)) (STRING_LITERAL . (aliased_opt . 0)) (CHARACTER_LITERAL . 
(aliased_opt . 0)) (ALIASED .  523))
+      ((default . error) (FUNCTION . (protected_opt . 0)) (PROCEDURE . 
(protected_opt . 0)) (PROTECTED .  520) (IDENTIFIER . 
(general_access_modifier_opt . 0)) (STRING_LITERAL . 
(general_access_modifier_opt . 0)) (CHARACTER_LITERAL . 
(general_access_modifier_opt . 0)) (ALL .  518) (CONSTANT .  519))
       ((default . error) (DOT .  90) (DO . (name_opt . 1)) (COLON_EQUAL . 
(name_opt . 1)) (RIGHT_PAREN . (name_opt . 1)) (RENAMES . (name_opt . 1)) (IS . 
(name_opt . 1)) (WITH . (name_opt . 1)) (SEMICOLON . (name_opt . 1)) (TICK .  
91) (LEFT_PAREN .  107))
       ((default . error) (DO . (parameter_and_result_profile . 1)) 
(COLON_EQUAL . (parameter_and_result_profile . 1)) (RIGHT_PAREN . 
(parameter_and_result_profile . 1)) (RENAMES . (parameter_and_result_profile . 
1)) (IS . (parameter_and_result_profile . 1)) (SEMICOLON . 
(parameter_and_result_profile . 1)) (WITH . (parameter_and_result_profile . 1)))
       ((default . error) (DO . (null_exclusion_opt . 1)) (COLON_EQUAL . 
(null_exclusion_opt . 1)) (RIGHT_PAREN . (null_exclusion_opt . 1)) (RENAMES . 
(null_exclusion_opt . 1)) (ACCESS . (null_exclusion_opt . 1)) 
(CHARACTER_LITERAL . (null_exclusion_opt . 1)) (STRING_LITERAL . 
(null_exclusion_opt . 1)) (IDENTIFIER . (null_exclusion_opt . 1)) (IS . 
(null_exclusion_opt . 1)) (SEMICOLON . (null_exclusion_opt . 1)) (WITH . 
(null_exclusion_opt . 1)))
       ((default . error) (DO . (parameter_and_result_profile . 2)) 
(COLON_EQUAL . (parameter_and_result_profile . 2)) (RIGHT_PAREN . 
(parameter_and_result_profile . 2)) (RENAMES . (parameter_and_result_profile . 
2)) (IS . (parameter_and_result_profile . 2)) (SEMICOLON . 
(parameter_and_result_profile . 2)) (WITH . (parameter_and_result_profile . 2)))
-      ((default . error) (ACCESS .  242) (WITH . (name_opt . 0)) (SEMICOLON . 
(name_opt . 0)) (IS . (name_opt . 0)) (RENAMES . (name_opt . 0)) (RIGHT_PAREN . 
(name_opt . 0)) (COLON_EQUAL . (name_opt . 0)) (DO . (name_opt . 0)) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
-      ((default . error) (COLON_EQUAL .  523) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109))
-      ((default . error) (ACCESS .  242) (IDENTIFIER .  48) (CHARACTER_LITERAL 
.  50) (STRING_LITERAL .  49))
+      ((default . error) (ACCESS .  236) (WITH . (name_opt . 0)) (SEMICOLON . 
(name_opt . 0)) (IS . (name_opt . 0)) (RENAMES . (name_opt . 0)) (RIGHT_PAREN . 
(name_opt . 0)) (COLON_EQUAL . (name_opt . 0)) (DO . (name_opt . 0)) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
+      ((default . error) (COLON_EQUAL .  515) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109))
+      ((default . error) (ACCESS .  236) (IDENTIFIER .  48) (CHARACTER_LITERAL 
.  50) (STRING_LITERAL .  49))
       ((default . error) (CHARACTER_LITERAL . (mode_opt . 2)) (STRING_LITERAL 
. (mode_opt . 2)) (IDENTIFIER . (mode_opt . 2)) (NOT . (mode_opt . 2)) (ACCESS 
. (mode_opt . 2)))
-      ((default . error) (NEW .  521))
+      ((default . error) (NEW .  513))
       ((default . error) (IDENTIFIER . (formal_subprogram_declaration . 1)) 
(WITH . (formal_subprogram_declaration . 1)) (USE . 
(formal_subprogram_declaration . 1)) (TYPE . (formal_subprogram_declaration . 
1)) (PRAGMA . (formal_subprogram_declaration . 1)) (FUNCTION . 
(formal_subprogram_declaration . 1)) (PROCEDURE . 
(formal_subprogram_declaration . 1)) (PACKAGE . (formal_subprogram_declaration 
. 1)))
-      ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109) (BOX .  255) (NULL .  254) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
+      ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109) (BOX .  249) (NULL .  248) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
       ((default . error) (WITH . (subprogram_default . 2)) (SEMICOLON . 
(subprogram_default . 2)))
       ((default . error) (WITH . (subprogram_default . 1)) (SEMICOLON . 
(subprogram_default . 1)))
       ((default . error) (WITH . (subprogram_default . 0)) (SEMICOLON . 
(subprogram_default . 0)) (DOT .  90) (TICK .  91) (LEFT_PAREN .  107))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
-      ((default . error) (LEFT_PAREN .  502) (RANGE .  506) (MOD .  504) 
(DIGITS .  500) (DELTA .  499) (TASK .  509) (PROTECTED .  505) (INTERFACE .  
501) (ARRAY .  498) (PRIVATE . (abstract_tagged_limited_opt . 0)) (TAGGED .  
508) (NEW . (abstract_limited_synchronized_opt . 0)) (ABSTRACT .  497) (LIMITED 
.  503) (SYNCHRONIZED .  507) (ACCESS . (null_exclusion_opt . 0)) (NOT .  232))
-      ((default . error) (SEMICOLON .  496))
-      ((default . error) (RIGHT_PAREN .  495))
+      ((default . error) (LEFT_PAREN .  494) (RANGE .  498) (MOD .  496) 
(DIGITS .  492) (DELTA .  491) (TASK .  501) (PROTECTED .  497) (INTERFACE .  
493) (ARRAY .  490) (PRIVATE . (abstract_tagged_limited_opt . 0)) (TAGGED .  
500) (NEW . (abstract_limited_synchronized_opt . 0)) (ABSTRACT .  489) (LIMITED 
.  495) (SYNCHRONIZED .  499) (ACCESS . (null_exclusion_opt . 0)) (NOT .  226))
+      ((default . error) (SEMICOLON .  488))
+      ((default . error) (RIGHT_PAREN .  487))
       ((default . error) (RIGHT_PAREN . (discriminant_specification_list . 0)) 
(SEMICOLON . (discriminant_specification_list . 0)))
-      ((default . error) (SEMICOLON .  494) (RIGHT_PAREN .  493))
-      ((default . error) (COMMA .  96) (COLON .  492))
+      ((default . error) (SEMICOLON .  486) (RIGHT_PAREN .  485))
+      ((default . error) (COMMA .  96) (COLON .  484))
       ((default . error) (DOT .  90) (TICK .  91) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109) (LEFT_PAREN .  107))
       ((default . error) (DOT .  90) (TICK .  91) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109) (LEFT_PAREN .  107))
       ((default . error) (DOT .  90) (TICK .  91) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109) (LEFT_PAREN .  107))
       ((default . error) (WITH . (with_clause . 0)) (USE . (with_clause . 0)) 
(SEPARATE . (with_clause . 0)) (PROCEDURE . (with_clause . 0)) (PRIVATE . 
(with_clause . 0)) (PRAGMA . (with_clause . 0)) (PACKAGE . (with_clause . 0)) 
(OVERRIDING . (with_clause . 0)) (NOT . (with_clause . 0)) (LIMITED . 
(with_clause . 0)) (GENERIC . (with_clause . 0)) (FUNCTION . (with_clause . 0)) 
($EOI . (with_clause . 0)))
       ((default . error) (DOT .  90) (TICK .  91) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109) (LEFT_PAREN .  107))
       ((default . error) (DO . (name . 2)) (STAR_STAR . (name . 2)) (STAR . 
(name . 2)) (SLASH . (name . 2)) (REM . (name . 2)) (MOD . (name . 2)) (DOT_DOT 
. (name . 2)) (AMPERSAND . (name . 2)) (MINUS . (name . 2)) (PLUS . (name . 2)) 
(RIGHT_PAREN . (name . 2)) (XOR . (name . 2)) (OR . (name . 2)) (EQUAL_GREATER 
. (name . 2)) (BAR . (name . 2)) (SLASH_EQUAL . (name . 2)) (LESS_EQUAL . (name 
. 2)) (LESS . (name . 2)) (GREATER_EQUAL . (name . 2)) (GREATER . (name . 2)) 
(EQUAL . (name . 2) [...]
-      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  150) 
(NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
+      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  324) 
(NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
       ((default . error) (STAR_STAR . (actual_parameter_part . 1)) (STAR . 
(actual_parameter_part . 1)) (SLASH . (actual_parameter_part . 1)) (REM . 
(actual_parameter_part . 1)) (MOD . (actual_parameter_part . 1)) (DOT_DOT . 
(actual_parameter_part . 1)) (AMPERSAND . (actual_parameter_part . 1)) (MINUS . 
(actual_parameter_part . 1)) (PLUS . (actual_parameter_part . 1)) (RIGHT_PAREN 
. (actual_parameter_part . 1)) (XOR . (actual_parameter_part . 1)) (OR . 
(actual_parameter_part . 1)) (EQUAL [...]
       ((default . error) (STAR_STAR . (actual_parameter_part . 0)) (STAR . 
(actual_parameter_part . 0)) (SLASH . (actual_parameter_part . 0)) (REM . 
(actual_parameter_part . 0)) (MOD . (actual_parameter_part . 0)) (DOT_DOT . 
(actual_parameter_part . 0)) (AMPERSAND . (actual_parameter_part . 0)) (MINUS . 
(actual_parameter_part . 0)) (PLUS . (actual_parameter_part . 0)) (RIGHT_PAREN 
. (actual_parameter_part . 0)) (XOR . (actual_parameter_part . 0)) (OR . 
(actual_parameter_part . 0)) (EQUAL [...]
-      ((default . error) (RIGHT_PAREN . ((expression_opt . 0) (association_opt 
. 0))) (COMMA . ((expression_opt . 0) (association_opt . 0))) (IS . 
((expression_opt . 0) (association_opt . 0))) (SEMICOLON . ((expression_opt . 
0) (association_opt . 0))) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  182) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  183) (STRING_LITERAL .  49) (RAISE .  152) (PLUS .  154) 
(MINUS .  153) (ABS .  144) (NOT .  181) (NUME [...]
-      ((default . error) (SEMICOLON .  484))
-      ((default . error) (PLUS .  154) (MINUS .  153) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (ABS .  144) (NOT .  150) 
(NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
-      ((default . error) (IN .  479))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
-      ((default . error) (ABS . (relational_operator . 0)) (LEFT_PAREN . 
(relational_operator . 0)) (NEW . (relational_operator . 0)) (NOT . 
(relational_operator . 0)) (NULL . (relational_operator . 0)) (MINUS . 
(relational_operator . 0)) (PLUS . (relational_operator . 0)) (NUMERIC_LITERAL 
. (relational_operator . 0)) (IDENTIFIER . (relational_operator . 0)) 
(STRING_LITERAL . (relational_operator . 0)) (CHARACTER_LITERAL . 
(relational_operator . 0)))
-      ((default . error) (ABS . (relational_operator . 4)) (LEFT_PAREN . 
(relational_operator . 4)) (NEW . (relational_operator . 4)) (NOT . 
(relational_operator . 4)) (NULL . (relational_operator . 4)) (MINUS . 
(relational_operator . 4)) (PLUS . (relational_operator . 4)) (NUMERIC_LITERAL 
. (relational_operator . 4)) (IDENTIFIER . (relational_operator . 4)) 
(STRING_LITERAL . (relational_operator . 4)) (CHARACTER_LITERAL . 
(relational_operator . 4)))
-      ((default . error) (ABS . (relational_operator . 5)) (LEFT_PAREN . 
(relational_operator . 5)) (NEW . (relational_operator . 5)) (NOT . 
(relational_operator . 5)) (NULL . (relational_operator . 5)) (MINUS . 
(relational_operator . 5)) (PLUS . (relational_operator . 5)) (NUMERIC_LITERAL 
. (relational_operator . 5)) (IDENTIFIER . (relational_operator . 5)) 
(STRING_LITERAL . (relational_operator . 5)) (CHARACTER_LITERAL . 
(relational_operator . 5)))
-      ((default . error) (ABS . (relational_operator . 2)) (LEFT_PAREN . 
(relational_operator . 2)) (NEW . (relational_operator . 2)) (NOT . 
(relational_operator . 2)) (NULL . (relational_operator . 2)) (MINUS . 
(relational_operator . 2)) (PLUS . (relational_operator . 2)) (NUMERIC_LITERAL 
. (relational_operator . 2)) (IDENTIFIER . (relational_operator . 2)) 
(STRING_LITERAL . (relational_operator . 2)) (CHARACTER_LITERAL . 
(relational_operator . 2)))
-      ((default . error) (ABS . (relational_operator . 3)) (LEFT_PAREN . 
(relational_operator . 3)) (NEW . (relational_operator . 3)) (NOT . 
(relational_operator . 3)) (NULL . (relational_operator . 3)) (MINUS . 
(relational_operator . 3)) (PLUS . (relational_operator . 3)) (NUMERIC_LITERAL 
. (relational_operator . 3)) (IDENTIFIER . (relational_operator . 3)) 
(STRING_LITERAL . (relational_operator . 3)) (CHARACTER_LITERAL . 
(relational_operator . 3)))
-      ((default . error) (ABS . (relational_operator . 1)) (LEFT_PAREN . 
(relational_operator . 1)) (NEW . (relational_operator . 1)) (NOT . 
(relational_operator . 1)) (NULL . (relational_operator . 1)) (MINUS . 
(relational_operator . 1)) (PLUS . (relational_operator . 1)) (NUMERIC_LITERAL 
. (relational_operator . 1)) (IDENTIFIER . (relational_operator . 1)) 
(STRING_LITERAL . (relational_operator . 1)) (CHARACTER_LITERAL . 
(relational_operator . 1)))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
-      ((default . error) (RANGE .  476) (LEFT_PAREN .  148) (ACCESS .  221) 
(DELTA .  222) (DIGITS .  223) (MOD .  224) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
-      ((default . error) (OTHERS .  182) (IDENTIFIER .  48) (CHARACTER_LITERAL 
.  50) (STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
181) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
-      ((default . error) (BOX .  472) (RAISE .  152) (PLUS .  154) (MINUS .  
153) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  
149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) 
(LEFT_PAREN .  148))
-      ((default . error) (THEN .  470) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (ELSE .  468) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
-      ((default . error) (ELSE .  466))
-      ((default . error) (THEN .  465))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
-      ((default . error) (BOX .  459) (RAISE .  152) (PLUS .  154) (MINUS .  
153) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  
149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) 
(LEFT_PAREN .  148))
-      ((default . error) (XOR . (primary . 1)) (OR . (primary . 1)) (AND . 
(primary . 1)) (SLASH_EQUAL . (primary . 1)) (LESS_EQUAL . (primary . 1)) (LESS 
. (primary . 1)) (GREATER_EQUAL . (primary . 1)) (GREATER . (primary . 1)) 
(EQUAL . (primary . 1)) (EQUAL_GREATER . (primary . 1)) (BAR . (primary . 1)) 
(PLUS . (primary . 1)) (MINUS . (primary . 1)) (AMPERSAND . (primary . 1)) 
(DOT_DOT . (primary . 1)) (MOD . (primary . 1)) (REM . (primary . 1)) (SLASH . 
(primary . 1)) (STAR . (primar [...]
-      ((default . error) (COLON_EQUAL . (factor . 3)) (OF . (factor . 3)) 
(LOOP . (factor . 3)) (DO . (factor . 3)) (PLUS . (factor . 3)) (MINUS . 
(factor . 3)) (AMPERSAND . (factor . 3)) (SEMICOLON . (factor . 3)) (MOD . 
(factor . 3)) (REM . (factor . 3)) (SLASH . (factor . 3)) (STAR . (factor . 3)) 
(XOR . (factor . 3)) (OR . (factor . 3)) (AND . (factor . 3)) (IN . (factor . 
3)) (NOT . (factor . 3)) (EQUAL . (factor . 3)) (GREATER . (factor . 3)) 
(GREATER_EQUAL . (factor . 3)) (LESS .  [...]
-      ((default . error) (IDENTIFIER .  453) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  454))
-      ((default . error) (BODY .  452) (IDENTIFIER .  48) (CHARACTER_LITERAL . 
 50) (STRING_LITERAL .  49))
-      ((default . error) (IDENTIFIER .  451) (TYPE .  450) (BODY .  449))
-      ((default . error) (IDENTIFIER .  448))
-      ((default . error) (TYPE .  446) (BODY .  445) (IDENTIFIER .  447))
-      ((default . error) (IDENTIFIER .  444))
-      ((default . error) (COLON . ( 443 (identifier_list . 0))) (COMMA . 
(identifier_list . 0)))
+      ((default . error) (IS . ((expression_opt . 0) (association_opt . 0))) 
(SEMICOLON . ((expression_opt . 0) (association_opt . 0))) (COMMA . 
((expression_opt . 0) (association_opt . 0))) (RIGHT_PAREN . ((expression_opt . 
0) (association_opt . 0))) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  152) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  157) (STRING_LITERAL .  49) (RAISE .  153) (PLUS .  155) 
(MINUS .  154) (ABS .  144) (NOT .  150) (NUME [...]
+      ((default . error) (SEMICOLON .  476))
+      ((default . error) (IDENTIFIER .  471) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  472))
+      ((default . error) (BODY .  470) (IDENTIFIER .  48) (CHARACTER_LITERAL . 
 50) (STRING_LITERAL .  49))
+      ((default . error) (IDENTIFIER .  469) (TYPE .  468) (BODY .  467))
+      ((default . error) (IDENTIFIER .  466))
+      ((default . error) (TYPE .  464) (BODY .  463) (IDENTIFIER .  465))
+      ((default . error) (IDENTIFIER .  462))
+      ((default . error) (COLON . ( 461 (identifier_list . 0))) (COMMA . 
(identifier_list . 0)))
       ((default . error) (END . (declaration . 0)) (PRIVATE . (declaration . 
0)) (IDENTIFIER . (declaration . 0)) (USE . (declaration . 0)) (TYPE . 
(declaration . 0)) (TASK . (declaration . 0)) (SUBTYPE . (declaration . 0)) 
(PROTECTED . (declaration . 0)) (PROCEDURE . (declaration . 0)) (PRAGMA . 
(declaration . 0)) (PACKAGE . (declaration . 0)) (OVERRIDING . (declaration . 
0)) (NOT . (declaration . 0)) (GENERIC . (declaration . 0)) (FUNCTION . 
(declaration . 0)) (FOR . (declaration . 0)) [...]
       ((default . error) (END . (declaration . 1)) (PRIVATE . (declaration . 
1)) (IDENTIFIER . (declaration . 1)) (USE . (declaration . 1)) (TYPE . 
(declaration . 1)) (TASK . (declaration . 1)) (SUBTYPE . (declaration . 1)) 
(PROTECTED . (declaration . 1)) (PROCEDURE . (declaration . 1)) (PRAGMA . 
(declaration . 1)) (PACKAGE . (declaration . 1)) (OVERRIDING . (declaration . 
1)) (NOT . (declaration . 1)) (GENERIC . (declaration . 1)) (FUNCTION . 
(declaration . 1)) (FOR . (declaration . 1)) [...]
       ((default . error) (WHEN . (aspect_clause . 3)) (PRIVATE . 
(aspect_clause . 3)) (END . (aspect_clause . 3)) (CASE . (aspect_clause . 3)) 
(BEGIN . (aspect_clause . 3)) (ENTRY . (aspect_clause . 3)) (FOR . 
(aspect_clause . 3)) (FUNCTION . (aspect_clause . 3)) (GENERIC . (aspect_clause 
. 3)) (NOT . (aspect_clause . 3)) (OVERRIDING . (aspect_clause . 3)) (PACKAGE . 
(aspect_clause . 3)) (PRAGMA . (aspect_clause . 3)) (PROCEDURE . (aspect_clause 
. 3)) (PROTECTED . (aspect_clause . 3)) (S [...]
       ((default . error) (END . (declaration . 2)) (PRIVATE . (declaration . 
2)) (IDENTIFIER . (declaration . 2)) (USE . (declaration . 2)) (TYPE . 
(declaration . 2)) (TASK . (declaration . 2)) (SUBTYPE . (declaration . 2)) 
(PROTECTED . (declaration . 2)) (PROCEDURE . (declaration . 2)) (PRAGMA . 
(declaration . 2)) (PACKAGE . (declaration . 2)) (OVERRIDING . (declaration . 
2)) (NOT . (declaration . 2)) (GENERIC . (declaration . 2)) (FUNCTION . 
(declaration . 2)) (FOR . (declaration . 2)) [...]
       ((default . error) (PRIVATE . (body . 1)) (END . (body . 1)) (BEGIN . 
(body . 1)) (ENTRY . (body . 1)) (FOR . (body . 1)) (FUNCTION . (body . 1)) 
(GENERIC . (body . 1)) (NOT . (body . 1)) (OVERRIDING . (body . 1)) (PACKAGE . 
(body . 1)) (PRAGMA . (body . 1)) (PROCEDURE . (body . 1)) (PROTECTED . (body . 
1)) (SUBTYPE . (body . 1)) (TASK . (body . 1)) (TYPE . (body . 1)) (USE . (body 
. 1)) (IDENTIFIER . (body . 1)))
       ((default . error) (PRIVATE . (declarations . 0)) (END . (declarations . 
0)) (BEGIN . (declarations . 0)) (ENTRY . (declarations . 0)) (FOR . 
(declarations . 0)) (FUNCTION . (declarations . 0)) (GENERIC . (declarations . 
0)) (NOT . (declarations . 0)) (OVERRIDING . (declarations . 0)) (PACKAGE . 
(declarations . 0)) (PRAGMA . (declarations . 0)) (PROCEDURE . (declarations . 
0)) (PROTECTED . (declarations . 0)) (SUBTYPE . (declarations . 0)) (TASK . 
(declarations . 0)) (TYPE . (decla [...]
-      ((default . error) (END . (declarative_part_opt . 1)) (PRIVATE . 
(declarative_part_opt . 1)) (BEGIN . (declarative_part_opt . 1)) (USE .  11) 
(SUBTYPE .  302) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  299) (IDENTIFIER .  305) (TYPE 
.  304) (GENERIC .  2) (PROTECTED .  301) (TASK .  303) (PACKAGE .  300))
-      ((default . error) (END .  440) (PRIVATE .  441))
+      ((default . error) (END . (declarative_part_opt . 1)) (PRIVATE . 
(declarative_part_opt . 1)) (BEGIN . (declarative_part_opt . 1)) (USE .  11) 
(SUBTYPE .  272) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  269) (IDENTIFIER .  275) (TYPE 
.  274) (GENERIC .  2) (PROTECTED .  271) (TASK .  273) (PACKAGE .  270))
+      ((default . error) (END .  458) (PRIVATE .  459))
       ((default . error) (END . (declaration . 3)) (PRIVATE . (declaration . 
3)) (IDENTIFIER . (declaration . 3)) (USE . (declaration . 3)) (TYPE . 
(declaration . 3)) (TASK . (declaration . 3)) (SUBTYPE . (declaration . 3)) 
(PROTECTED . (declaration . 3)) (PROCEDURE . (declaration . 3)) (PRAGMA . 
(declaration . 3)) (PACKAGE . (declaration . 3)) (OVERRIDING . (declaration . 
3)) (NOT . (declaration . 3)) (GENERIC . (declaration . 3)) (FUNCTION . 
(declaration . 3)) (FOR . (declaration . 3)) [...]
       ((default . error) (WHEN . (aspect_clause . 1)) (PRIVATE . 
(aspect_clause . 1)) (END . (aspect_clause . 1)) (CASE . (aspect_clause . 1)) 
(BEGIN . (aspect_clause . 1)) (ENTRY . (aspect_clause . 1)) (FOR . 
(aspect_clause . 1)) (FUNCTION . (aspect_clause . 1)) (GENERIC . (aspect_clause 
. 1)) (NOT . (aspect_clause . 1)) (OVERRIDING . (aspect_clause . 1)) (PACKAGE . 
(aspect_clause . 1)) (PRAGMA . (aspect_clause . 1)) (PROCEDURE . (aspect_clause 
. 1)) (PROTECTED . (aspect_clause . 1)) (S [...]
       ((default . error) (END . (declaration . 4)) (PRIVATE . (declaration . 
4)) (IDENTIFIER . (declaration . 4)) (USE . (declaration . 4)) (TYPE . 
(declaration . 4)) (TASK . (declaration . 4)) (SUBTYPE . (declaration . 4)) 
(PROTECTED . (declaration . 4)) (PROCEDURE . (declaration . 4)) (PRAGMA . 
(declaration . 4)) (PACKAGE . (declaration . 4)) (OVERRIDING . (declaration . 
4)) (NOT . (declaration . 4)) (GENERIC . (declaration . 4)) (FUNCTION . 
(declaration . 4)) (FOR . (declaration . 4)) [...]
@@ -2139,12 +2109,12 @@
       ((default . error) (END . (declaration . 6)) (PRIVATE . (declaration . 
6)) (IDENTIFIER . (declaration . 6)) (USE . (declaration . 6)) (TYPE . 
(declaration . 6)) (TASK . (declaration . 6)) (SUBTYPE . (declaration . 6)) 
(PROTECTED . (declaration . 6)) (PROCEDURE . (declaration . 6)) (PRAGMA . 
(declaration . 6)) (PACKAGE . (declaration . 6)) (OVERRIDING . (declaration . 
6)) (NOT . (declaration . 6)) (GENERIC . (declaration . 6)) (FUNCTION . 
(declaration . 6)) (FOR . (declaration . 6)) [...]
       ((default . error) (END . (declaration . 7)) (PRIVATE . (declaration . 
7)) (IDENTIFIER . (declaration . 7)) (USE . (declaration . 7)) (TYPE . 
(declaration . 7)) (TASK . (declaration . 7)) (SUBTYPE . (declaration . 7)) 
(PROTECTED . (declaration . 7)) (PROCEDURE . (declaration . 7)) (PRAGMA . 
(declaration . 7)) (PACKAGE . (declaration . 7)) (OVERRIDING . (declaration . 
7)) (NOT . (declaration . 7)) (GENERIC . (declaration . 7)) (FUNCTION . 
(declaration . 7)) (FOR . (declaration . 7)) [...]
       ((default . error) (PRIVATE . (renaming_declaration . 3)) (END . 
(renaming_declaration . 3)) (BEGIN . (renaming_declaration . 3)) (ENTRY . 
(renaming_declaration . 3)) (FOR . (renaming_declaration . 3)) (FUNCTION . 
(renaming_declaration . 3)) (GENERIC . (renaming_declaration . 3)) (NOT . 
(renaming_declaration . 3)) (OVERRIDING . (renaming_declaration . 3)) (PACKAGE 
. (renaming_declaration . 3)) (PRAGMA . (renaming_declaration . 3)) (PROCEDURE 
. (renaming_declaration . 3)) (PROTECTED [...]
-      ((default . error) (COMMA .  96) (COLON .  439))
+      ((default . error) (COMMA .  96) (COLON .  457))
       ((default . error) (PRIVATE . (type_declaration . 1)) (END . 
(type_declaration . 1)) (BEGIN . (type_declaration . 1)) (ENTRY . 
(type_declaration . 1)) (FOR . (type_declaration . 1)) (FUNCTION . 
(type_declaration . 1)) (GENERIC . (type_declaration . 1)) (NOT . 
(type_declaration . 1)) (OVERRIDING . (type_declaration . 1)) (PACKAGE . 
(type_declaration . 1)) (PRAGMA . (type_declaration . 1)) (PROCEDURE . 
(type_declaration . 1)) (PROTECTED . (type_declaration . 1)) (SUBTYPE . 
(type_decl [...]
       ((default . error) (END . (declaration . 8)) (PRIVATE . (declaration . 
8)) (IDENTIFIER . (declaration . 8)) (USE . (declaration . 8)) (TYPE . 
(declaration . 8)) (TASK . (declaration . 8)) (SUBTYPE . (declaration . 8)) 
(PROTECTED . (declaration . 8)) (PROCEDURE . (declaration . 8)) (PRAGMA . 
(declaration . 8)) (PACKAGE . (declaration . 8)) (OVERRIDING . (declaration . 
8)) (NOT . (declaration . 8)) (GENERIC . (declaration . 8)) (FUNCTION . 
(declaration . 8)) (FOR . (declaration . 8)) [...]
       ((default . error) (END . (declaration . 10)) (PRIVATE . (declaration . 
10)) (IDENTIFIER . (declaration . 10)) (USE . (declaration . 10)) (TYPE . 
(declaration . 10)) (TASK . (declaration . 10)) (SUBTYPE . (declaration . 10)) 
(PROTECTED . (declaration . 10)) (PROCEDURE . (declaration . 10)) (PRAGMA . 
(declaration . 10)) (PACKAGE . (declaration . 10)) (OVERRIDING . (declaration . 
10)) (NOT . (declaration . 10)) (GENERIC . (declaration . 10)) (FUNCTION . 
(declaration . 10)) (FOR . (de [...]
       ((default . error) (PRIVATE . (renaming_declaration . 0)) (END . 
(renaming_declaration . 0)) (BEGIN . (renaming_declaration . 0)) (ENTRY . 
(renaming_declaration . 0)) (FOR . (renaming_declaration . 0)) (FUNCTION . 
(renaming_declaration . 0)) (GENERIC . (renaming_declaration . 0)) (NOT . 
(renaming_declaration . 0)) (OVERRIDING . (renaming_declaration . 0)) (PACKAGE 
. (renaming_declaration . 0)) (PRAGMA . (renaming_declaration . 0)) (PROCEDURE 
. (renaming_declaration . 0)) (PROTECTED [...]
-      ((default . error) (ENTRY .  435) (FUNCTION .  40) (PROCEDURE .  41))
+      ((default . error) (ENTRY .  453) (FUNCTION .  40) (PROCEDURE .  41))
       ((default . error) ($EOI . (proper_body . 1)) (LIMITED . (proper_body . 
1)) (SEPARATE . (proper_body . 1)) (WITH . (proper_body . 1)) (END . 
(proper_body . 1)) (PRIVATE . (proper_body . 1)) (IDENTIFIER . (proper_body . 
1)) (USE . (proper_body . 1)) (TYPE . (proper_body . 1)) (TASK . (proper_body . 
1)) (SUBTYPE . (proper_body . 1)) (PROTECTED . (proper_body . 1)) (PROCEDURE . 
(proper_body . 1)) (PRAGMA . (proper_body . 1)) (PACKAGE . (proper_body . 1)) 
(OVERRIDING . (proper_body . 1 [...]
       ((default . error) (END . (body_stub . 1)) (PRIVATE . (body_stub . 1)) 
(IDENTIFIER . (body_stub . 1)) (USE . (body_stub . 1)) (TYPE . (body_stub . 1)) 
(TASK . (body_stub . 1)) (SUBTYPE . (body_stub . 1)) (PROTECTED . (body_stub . 
1)) (PROCEDURE . (body_stub . 1)) (PRAGMA . (body_stub . 1)) (PACKAGE . 
(body_stub . 1)) (OVERRIDING . (body_stub . 1)) (NOT . (body_stub . 1)) 
(GENERIC . (body_stub . 1)) (FUNCTION . (body_stub . 1)) (FOR . (body_stub . 
1)) (ENTRY . (body_stub . 1)) (BEGI [...]
       ((default . error) (END . (declaration . 11)) (PRIVATE . (declaration . 
11)) (IDENTIFIER . (declaration . 11)) (USE . (declaration . 11)) (TYPE . 
(declaration . 11)) (TASK . (declaration . 11)) (SUBTYPE . (declaration . 11)) 
(PROTECTED . (declaration . 11)) (PROCEDURE . (declaration . 11)) (PRAGMA . 
(declaration . 11)) (PACKAGE . (declaration . 11)) (OVERRIDING . (declaration . 
11)) (NOT . (declaration . 11)) (GENERIC . (declaration . 11)) (FUNCTION . 
(declaration . 11)) (FOR . (de [...]
@@ -2170,302 +2140,324 @@
       ((default . error) (END . (full_type_declaration . 1)) (PRIVATE . 
(full_type_declaration . 1)) (IDENTIFIER . (full_type_declaration . 1)) (USE . 
(full_type_declaration . 1)) (TYPE . (full_type_declaration . 1)) (TASK . 
(full_type_declaration . 1)) (SUBTYPE . (full_type_declaration . 1)) (PROTECTED 
. (full_type_declaration . 1)) (PROCEDURE . (full_type_declaration . 1)) 
(PRAGMA . (full_type_declaration . 1)) (PACKAGE . (full_type_declaration . 1)) 
(OVERRIDING . (full_type_declaratio [...]
       ((default . error) (END . (declaration . 16)) (PRIVATE . (declaration . 
16)) (IDENTIFIER . (declaration . 16)) (USE . (declaration . 16)) (TYPE . 
(declaration . 16)) (TASK . (declaration . 16)) (SUBTYPE . (declaration . 16)) 
(PROTECTED . (declaration . 16)) (PROCEDURE . (declaration . 16)) (PRAGMA . 
(declaration . 16)) (PACKAGE . (declaration . 16)) (OVERRIDING . (declaration . 
16)) (NOT . (declaration . 16)) (GENERIC . (declaration . 16)) (FUNCTION . 
(declaration . 16)) (FOR . (de [...]
       ((default . error) (END . (declaration . 17)) (PRIVATE . (declaration . 
17)) (IDENTIFIER . (declaration . 17)) (USE . (declaration . 17)) (TYPE . 
(declaration . 17)) (TASK . (declaration . 17)) (SUBTYPE . (declaration . 17)) 
(PROTECTED . (declaration . 17)) (PROCEDURE . (declaration . 17)) (PRAGMA . 
(declaration . 17)) (PACKAGE . (declaration . 17)) (OVERRIDING . (declaration . 
17)) (NOT . (declaration . 17)) (GENERIC . (declaration . 17)) (FUNCTION . 
(declaration . 17)) (FOR . (de [...]
-      ((default . error) (BEGIN . (declarative_part_opt . 0)) (END . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  302) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 299) (IDENTIFIER .  305) (TYPE .  304) (GENERIC .  2) (PROTECTED .  301) (TASK 
.  303) (PACKAGE .  300))
-      ((default . error) (COLON_EQUAL . (simple_expression . 0)) (OF . 
(simple_expression . 0)) (LOOP . (simple_expression . 0)) (DO . 
(simple_expression . 0)) (DOT_DOT . (simple_expression . 0)) (SEMICOLON . 
(simple_expression . 0)) (XOR . (simple_expression . 0)) (OR . 
(simple_expression . 0)) (AND . (simple_expression . 0)) (SLASH_EQUAL . 
(simple_expression . 0)) (LESS_EQUAL . (simple_expression . 0)) (LESS . 
(simple_expression . 0)) (GREATER_EQUAL . (simple_expression . 0)) (GREATER  
[...]
+      ((default . error) (BEGIN . (declarative_part_opt . 0)) (END . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  272) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 269) (IDENTIFIER .  275) (TYPE .  274) (GENERIC .  2) (PROTECTED .  271) (TASK 
.  273) (PACKAGE .  270))
+      ((default . error) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (DOT .  90) (OF . (primary . 3)) (COLON_EQUAL . 
(primary . 3)) (DO . (primary . 3)) (LOOP . (primary . 3)) (BAR . (primary . 
3)) (COMMA . (primary . 3)) (ELSIF . (primary . 3)) (ELSE . (primary . 3)) 
(EQUAL_GREATER . (primary . 3)) (RIGHT_PAREN . (primary . 3)) (DIGITS . 
(primary . 3)) (RANGE . (primary . 3)) (THEN . (primary . 3)) (DOT_DOT . 
(primary . 3)) (WITH . (primary . 3)) (IS . (primary . 3)) (IN . (primary . 3)) 
(NOT . (primary . 3)) (EQUAL . (primary .  [...]
+      ((default . error) (COLON_EQUAL . (simple_expression . 0)) (OF . 
(simple_expression . 0)) (LOOP . (simple_expression . 0)) (DO . 
(simple_expression . 0)) (DOT_DOT . (simple_expression . 0)) (SEMICOLON . 
(simple_expression . 0)) (XOR . (simple_expression . 0)) (OR . 
(simple_expression . 0)) (AND . (simple_expression . 0)) (SLASH_EQUAL . 
(simple_expression . 0)) (LESS_EQUAL . (simple_expression . 0)) (LESS . 
(simple_expression . 0)) (GREATER_EQUAL . (simple_expression . 0)) (GREATER  
[...]
       ((default . error) (ABS . (binary_adding_operator . 2)) (LEFT_PAREN . 
(binary_adding_operator . 2)) (NEW . (binary_adding_operator . 2)) (NOT . 
(binary_adding_operator . 2)) (NULL . (binary_adding_operator . 2)) 
(NUMERIC_LITERAL . (binary_adding_operator . 2)) (IDENTIFIER . 
(binary_adding_operator . 2)) (STRING_LITERAL . (binary_adding_operator . 2)) 
(CHARACTER_LITERAL . (binary_adding_operator . 2)))
       ((default . error) (ABS . (binary_adding_operator . 1)) (LEFT_PAREN . 
(binary_adding_operator . 1)) (NEW . (binary_adding_operator . 1)) (NOT . 
(binary_adding_operator . 1)) (NULL . (binary_adding_operator . 1)) 
(NUMERIC_LITERAL . (binary_adding_operator . 1)) (IDENTIFIER . 
(binary_adding_operator . 1)) (STRING_LITERAL . (binary_adding_operator . 1)) 
(CHARACTER_LITERAL . (binary_adding_operator . 1)))
       ((default . error) (ABS . (binary_adding_operator . 0)) (LEFT_PAREN . 
(binary_adding_operator . 0)) (NEW . (binary_adding_operator . 0)) (NOT . 
(binary_adding_operator . 0)) (NULL . (binary_adding_operator . 0)) 
(NUMERIC_LITERAL . (binary_adding_operator . 0)) (IDENTIFIER . 
(binary_adding_operator . 0)) (STRING_LITERAL . (binary_adding_operator . 0)) 
(CHARACTER_LITERAL . (binary_adding_operator . 0)))
-      ((default . error) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  155) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
       ((default . error) (ABS . (multiplying_operator . 2)) (LEFT_PAREN . 
(multiplying_operator . 2)) (NEW . (multiplying_operator . 2)) (NOT . 
(multiplying_operator . 2)) (NULL . (multiplying_operator . 2)) 
(NUMERIC_LITERAL . (multiplying_operator . 2)) (IDENTIFIER . 
(multiplying_operator . 2)) (STRING_LITERAL . (multiplying_operator . 2)) 
(CHARACTER_LITERAL . (multiplying_operator . 2)))
       ((default . error) (ABS . (multiplying_operator . 3)) (LEFT_PAREN . 
(multiplying_operator . 3)) (NEW . (multiplying_operator . 3)) (NOT . 
(multiplying_operator . 3)) (NULL . (multiplying_operator . 3)) 
(NUMERIC_LITERAL . (multiplying_operator . 3)) (IDENTIFIER . 
(multiplying_operator . 3)) (STRING_LITERAL . (multiplying_operator . 3)) 
(CHARACTER_LITERAL . (multiplying_operator . 3)))
       ((default . error) (ABS . (multiplying_operator . 1)) (LEFT_PAREN . 
(multiplying_operator . 1)) (NEW . (multiplying_operator . 1)) (NOT . 
(multiplying_operator . 1)) (NULL . (multiplying_operator . 1)) 
(NUMERIC_LITERAL . (multiplying_operator . 1)) (IDENTIFIER . 
(multiplying_operator . 1)) (STRING_LITERAL . (multiplying_operator . 1)) 
(CHARACTER_LITERAL . (multiplying_operator . 1)))
       ((default . error) (ABS . (multiplying_operator . 0)) (LEFT_PAREN . 
(multiplying_operator . 0)) (NEW . (multiplying_operator . 0)) (NOT . 
(multiplying_operator . 0)) (NULL . (multiplying_operator . 0)) 
(NUMERIC_LITERAL . (multiplying_operator . 0)) (IDENTIFIER . 
(multiplying_operator . 0)) (STRING_LITERAL . (multiplying_operator . 0)) 
(CHARACTER_LITERAL . (multiplying_operator . 0)))
-      ((default . error) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  155) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
-      ((default . error) (THEN .  429) (RAISE .  152) (PLUS .  154) (MINUS .  
153) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  
149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) 
(LEFT_PAREN .  148))
-      ((default . error) (ELSE .  427) (RAISE .  152) (PLUS .  154) (MINUS .  
153) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  
149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) 
(LEFT_PAREN .  148))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (ELSE .  424))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (THEN .  422))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (SEMICOLON .  419))
-      ((default . error) (FOR .  146) (CASE .  145) (IF .  147) (RAISE .  152) 
(PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  155) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  156) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (IDENTIFIER .  416))
-      ((default . error) (LOOP . (raise_expression . 0)) (DO . 
(raise_expression . 0)) (XOR . (raise_expression . 0)) (OR . (raise_expression 
. 0)) (AND . (raise_expression . 0)) (IS . (raise_expression . 0)) (SEMICOLON . 
(raise_expression . 0)) (THEN . (raise_expression . 0)) (RANGE . 
(raise_expression . 0)) (RIGHT_PAREN . (raise_expression . 0)) (COMMA . 
(raise_expression . 0)) (DIGITS . (raise_expression . 0)) (EQUAL_GREATER . 
(raise_expression . 0)) (ELSE . (raise_expression . 0)) (E [...]
+      ((default . error) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (PLUS .  155) (MINUS .  154) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (ABS .  144) (NOT .  324) 
(NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
+      ((default . error) (IN .  445))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (ABS . (relational_operator . 0)) (LEFT_PAREN . 
(relational_operator . 0)) (NEW . (relational_operator . 0)) (NOT . 
(relational_operator . 0)) (NULL . (relational_operator . 0)) (MINUS . 
(relational_operator . 0)) (PLUS . (relational_operator . 0)) (NUMERIC_LITERAL 
. (relational_operator . 0)) (IDENTIFIER . (relational_operator . 0)) 
(STRING_LITERAL . (relational_operator . 0)) (CHARACTER_LITERAL . 
(relational_operator . 0)))
+      ((default . error) (ABS . (relational_operator . 4)) (LEFT_PAREN . 
(relational_operator . 4)) (NEW . (relational_operator . 4)) (NOT . 
(relational_operator . 4)) (NULL . (relational_operator . 4)) (MINUS . 
(relational_operator . 4)) (PLUS . (relational_operator . 4)) (NUMERIC_LITERAL 
. (relational_operator . 4)) (IDENTIFIER . (relational_operator . 4)) 
(STRING_LITERAL . (relational_operator . 4)) (CHARACTER_LITERAL . 
(relational_operator . 4)))
+      ((default . error) (ABS . (relational_operator . 5)) (LEFT_PAREN . 
(relational_operator . 5)) (NEW . (relational_operator . 5)) (NOT . 
(relational_operator . 5)) (NULL . (relational_operator . 5)) (MINUS . 
(relational_operator . 5)) (PLUS . (relational_operator . 5)) (NUMERIC_LITERAL 
. (relational_operator . 5)) (IDENTIFIER . (relational_operator . 5)) 
(STRING_LITERAL . (relational_operator . 5)) (CHARACTER_LITERAL . 
(relational_operator . 5)))
+      ((default . error) (ABS . (relational_operator . 2)) (LEFT_PAREN . 
(relational_operator . 2)) (NEW . (relational_operator . 2)) (NOT . 
(relational_operator . 2)) (NULL . (relational_operator . 2)) (MINUS . 
(relational_operator . 2)) (PLUS . (relational_operator . 2)) (NUMERIC_LITERAL 
. (relational_operator . 2)) (IDENTIFIER . (relational_operator . 2)) 
(STRING_LITERAL . (relational_operator . 2)) (CHARACTER_LITERAL . 
(relational_operator . 2)))
+      ((default . error) (ABS . (relational_operator . 3)) (LEFT_PAREN . 
(relational_operator . 3)) (NEW . (relational_operator . 3)) (NOT . 
(relational_operator . 3)) (NULL . (relational_operator . 3)) (MINUS . 
(relational_operator . 3)) (PLUS . (relational_operator . 3)) (NUMERIC_LITERAL 
. (relational_operator . 3)) (IDENTIFIER . (relational_operator . 3)) 
(STRING_LITERAL . (relational_operator . 3)) (CHARACTER_LITERAL . 
(relational_operator . 3)))
+      ((default . error) (ABS . (relational_operator . 1)) (LEFT_PAREN . 
(relational_operator . 1)) (NEW . (relational_operator . 1)) (NOT . 
(relational_operator . 1)) (NULL . (relational_operator . 1)) (MINUS . 
(relational_operator . 1)) (PLUS . (relational_operator . 1)) (NUMERIC_LITERAL 
. (relational_operator . 1)) (IDENTIFIER . (relational_operator . 1)) 
(STRING_LITERAL . (relational_operator . 1)) (CHARACTER_LITERAL . 
(relational_operator . 1)))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (THEN .  441) (RAISE .  153) (PLUS .  155) (MINUS .  
154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  
149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) 
(LEFT_PAREN .  148))
+      ((default . error) (ELSE .  439) (RAISE .  153) (PLUS .  155) (MINUS .  
154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  
149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) 
(LEFT_PAREN .  148))
+      ((default . error) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  
144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  
144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (ELSE .  436))
+      ((default . error) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  
144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (THEN .  434))
+      ((default . error) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  
144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (RANGE .  431) (LEFT_PAREN .  148) (ACCESS .  215) 
(DELTA .  216) (DIGITS .  217) (MOD .  218) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
+      ((default . error) (OTHERS .  152) (IDENTIFIER .  48) (CHARACTER_LITERAL 
.  50) (STRING_LITERAL .  49) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
+      ((default . error) (BOX .  427) (SEMICOLON . (expression_opt . 0)) (IS . 
(expression_opt . 0)) (COMMA . (expression_opt . 0)) (RIGHT_PAREN . 
(expression_opt . 0)) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  144) 
(NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (SEMICOLON .  426))
+      ((default . error) (THEN .  424) (PLUS .  155) (MINUS .  154) (ABS .  
144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (ELSE .  422) (PLUS .  155) (MINUS .  154) (ABS .  
144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (ELSE .  420))
+      ((default . error) (THEN .  419))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (SEMICOLON .  414))
+      ((default . error) (BOX .  412) (SEMICOLON . (expression_opt . 0)) (IS . 
(expression_opt . 0)) (COMMA . (expression_opt . 0)) (RIGHT_PAREN . 
(expression_opt . 0)) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  144) 
(NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (LOOP . (raise_expression . 0)) (DO . 
(raise_expression . 0)) (XOR . (raise_expression . 0)) (OR . (raise_expression 
. 0)) (AND . (raise_expression . 0)) (IS . (raise_expression . 0)) (SEMICOLON . 
(raise_expression . 0)) (THEN . (raise_expression . 0)) (RANGE . 
(raise_expression . 0)) (RIGHT_PAREN . (raise_expression . 0)) (COMMA . 
(raise_expression . 0)) (DIGITS . (raise_expression . 0)) (EQUAL_GREATER . 
(raise_expression . 0)) (ELSE . (raise_expression . 0)) (E [...]
+      ((default . error) (XOR . (primary . 1)) (OR . (primary . 1)) (AND . 
(primary . 1)) (SLASH_EQUAL . (primary . 1)) (LESS_EQUAL . (primary . 1)) (LESS 
. (primary . 1)) (GREATER_EQUAL . (primary . 1)) (GREATER . (primary . 1)) 
(EQUAL . (primary . 1)) (EQUAL_GREATER . (primary . 1)) (BAR . (primary . 1)) 
(PLUS . (primary . 1)) (MINUS . (primary . 1)) (AMPERSAND . (primary . 1)) 
(DOT_DOT . (primary . 1)) (MOD . (primary . 1)) (REM . (primary . 1)) (SLASH . 
(primary . 1)) (STAR . (primar [...]
+      ((default . error) (COLON_EQUAL . (factor . 3)) (OF . (factor . 3)) 
(LOOP . (factor . 3)) (DO . (factor . 3)) (THEN . (factor . 3)) (RANGE . 
(factor . 3)) (DIGITS . (factor . 3)) (ELSE . (factor . 3)) (ELSIF . (factor . 
3)) (XOR . (factor . 3)) (OR . (factor . 3)) (AND . (factor . 3)) (SLASH_EQUAL 
. (factor . 3)) (LESS_EQUAL . (factor . 3)) (LESS . (factor . 3)) 
(GREATER_EQUAL . (factor . 3)) (GREATER . (factor . 3)) (EQUAL . (factor . 3)) 
(EQUAL_GREATER . (factor . 3)) (BAR . (fac [...]
       ((default . error) (DOT .  90) (TICK .  91) (COLON_EQUAL . (primary . 
4)) (OF . (primary . 4)) (LOOP . (primary . 4)) (DO . (primary . 4)) (STAR_STAR 
. (primary . 4)) (STAR . (primary . 4)) (SLASH . (primary . 4)) (REM . (primary 
. 4)) (MOD . (primary . 4)) (DOT_DOT . (primary . 4)) (AMPERSAND . (primary . 
4)) (MINUS . (primary . 4)) (PLUS . (primary . 4)) (SEMICOLON . (primary . 4)) 
(XOR . (primary . 4)) (OR . (primary . 4)) (AND . (primary . 4)) (SLASH_EQUAL . 
(primary . 4)) (LES [...]
-      ((default . error) (DOT_DOT . (primary . 1)) (RIGHT_PAREN . (primary . 
1)) (COMMA . (primary . 1)) (BAR . (primary . 1)) (EQUAL_GREATER . (primary . 
1)) (PLUS . (primary . 1)) (MINUS . (primary . 1)) (AMPERSAND . (primary . 1)) 
(IN . (primary . 1)) (NOT . (primary . 1)) (EQUAL . (primary . 1)) (GREATER . 
(primary . 1)) (GREATER_EQUAL . (primary . 1)) (LESS . (primary . 1)) 
(LESS_EQUAL . (primary . 1)) (SLASH_EQUAL . (primary . 1)) (WITH . (primary . 
1)) (MOD . (primary . 1)) (REM . [...]
-      ((default . error) (COMMA .  273) (RIGHT_PAREN .  413))
-      ((default . error) (RIGHT_PAREN .  412))
-      ((default . error) (RIGHT_PAREN . (expression_opt . 1)) (COMMA . 
(expression_opt . 1)) (WITH .  411))
-      ((default . error) (THEN .  410))
+      ((default . error) (DOT_DOT . (primary . 1)) (RIGHT_PAREN . (primary . 
1)) (COMMA . (primary . 1)) (BAR . (primary . 1)) (EQUAL_GREATER . (primary . 
1)) (PLUS . (primary . 1)) (MINUS . (primary . 1)) (AMPERSAND . (primary . 1)) 
(IN . (primary . 1)) (NOT . (primary . 1)) (EQUAL . (primary . 1)) (GREATER . 
(primary . 1)) (GREATER_EQUAL . (primary . 1)) (LESS . (primary . 1)) 
(LESS_EQUAL . (primary . 1)) (SLASH_EQUAL . (primary . 1)) (WITH . (primary . 
1)) (MOD . (primary . 1)) (REM . [...]
+      ((default . error) (COMMA .  267) (RIGHT_PAREN .  408))
+      ((default . error) (RIGHT_PAREN .  407))
+      ((default . error) (COMMA . (association_opt . 5)) (RIGHT_PAREN . 
(association_opt . 5)) (WITH .  406))
+      ((default . error) (THEN .  405))
+      ((default . error) (IN .  336) (NOT .  337) (DO . (relation . 0)) (LOOP 
. (relation . 0)) (COMMA . (relation . 0)) (ELSIF . (relation . 0)) (ELSE . 
(relation . 0)) (EQUAL_GREATER . (relation . 0)) (RIGHT_PAREN . (relation . 0)) 
(DIGITS . (relation . 0)) (RANGE . (relation . 0)) (THEN . (relation . 0)) 
(WITH . (relation . 0)) (SEMICOLON . (relation . 0)) (IS . (relation . 0)) (AND 
. (relation . 0)) (OR . (relation . 0)) (XOR . (relation . 0)) (EQUAL .  339) 
(SLASH_EQUAL .  344) (LES [...]
       ((default . error) (IDENTIFIER . (quantifier . 0)))
       ((default . error) (IDENTIFIER . (quantifier . 1)))
-      ((default . error) (IDENTIFIER .  408))
-      ((default . error) (IS .  407))
+      ((default . error) (IDENTIFIER .  402))
+      ((default . error) (IS .  401))
       ((default . error) (COLON_EQUAL . (factor . 2)) (OF . (factor . 2)) 
(LOOP . (factor . 2)) (DO . (factor . 2)) (PLUS . (factor . 2)) (MINUS . 
(factor . 2)) (AMPERSAND . (factor . 2)) (DOT_DOT . (factor . 2)) (MOD . 
(factor . 2)) (REM . (factor . 2)) (SLASH . (factor . 2)) (STAR . (factor . 2)) 
(SEMICOLON . (factor . 2)) (XOR . (factor . 2)) (OR . (factor . 2)) (AND . 
(factor . 2)) (IN . (factor . 2)) (NOT . (factor . 2)) (EQUAL . (factor . 2)) 
(GREATER . (factor . 2)) (GREATER_EQUAL [...]
       ((default . error) (BODY .  67))
-      ((default . error) (BODY .  406))
-      ((default . error) (BODY .  405))
+      ((default . error) (BODY .  400))
+      ((default . error) (BODY .  399))
       ((default . error) (FUNCTION .  1) (PROCEDURE .  9))
       ((default . error) ($EOI . (subunit . 0)) (FUNCTION . (subunit . 0)) 
(GENERIC . (subunit . 0)) (LIMITED . (subunit . 0)) (NOT . (subunit . 0)) 
(OVERRIDING . (subunit . 0)) (PACKAGE . (subunit . 0)) (PRAGMA . (subunit . 0)) 
(PRIVATE . (subunit . 0)) (PROCEDURE . (subunit . 0)) (SEPARATE . (subunit . 
0)) (USE . (subunit . 0)) (WITH . (subunit . 0)))
       ((default . error) (SEPARATE . (use_clause . 1)) (LIMITED . (use_clause 
. 1)) ($EOI . (use_clause . 1)) (WITH . (use_clause . 1)) (PRIVATE . 
(use_clause . 1)) (END . (use_clause . 1)) (BEGIN . (use_clause . 1)) (ENTRY . 
(use_clause . 1)) (FOR . (use_clause . 1)) (FUNCTION . (use_clause . 1)) 
(GENERIC . (use_clause . 1)) (NOT . (use_clause . 1)) (OVERRIDING . (use_clause 
. 1)) (PACKAGE . (use_clause . 1)) (PRAGMA . (use_clause . 1)) (PROCEDURE . 
(use_clause . 1)) (PROTECTED . (use_c [...]
-      ((default . error) (SEMICOLON .  403))
-      ((default . error) (BEGIN .  402))
+      ((default . error) (SEMICOLON .  397))
+      ((default . error) (BEGIN .  396))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
       ((default . error) (DOT .  90) (TICK .  91) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109) (LEFT_PAREN .  107))
       ((default . error) (DOT .  90) (TICK .  91) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109) (LEFT_PAREN .  107))
-      ((default . error) (END . (sequence_of_statements_opt . 0)) (EXCEPTION . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt  [...]
+      ((default . error) (END . (sequence_of_statements_opt . 0)) (EXCEPTION . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt  [...]
       ((default . error) (BEGIN . (subprogram_renaming_declaration . 0)) 
(ENTRY . (subprogram_renaming_declaration . 0)) (FOR . 
(subprogram_renaming_declaration . 0)) (PROTECTED . 
(subprogram_renaming_declaration . 0)) (SUBTYPE . 
(subprogram_renaming_declaration . 0)) (TASK . (subprogram_renaming_declaration 
. 0)) (TYPE . (subprogram_renaming_declaration . 0)) (IDENTIFIER . 
(subprogram_renaming_declaration . 0)) (END . (subprogram_renaming_declaration 
. 0)) (WITH . (subprogram_renaming_d [...]
       ((default . error) (IS . (aspect_specification_opt . 0)) (WITH .  109))
-      ((default . error) (IDENTIFIER .  628))
-      ((default . error) (IDENTIFIER .  627))
-      ((default . error) (WHEN .  624))
-      ((default . error) (OF .  622) (COLON .  623) (IN .  621))
-      ((default . error) (EQUAL_GREATER .  620))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (RIGHT_PAREN . ((expression_opt . 0) (association_opt 
. 0))) (COMMA . ((expression_opt . 0) (association_opt . 0))) (EQUAL_GREATER . 
(discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) (OTHERS .  182) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  183) (STRING_LITERAL .  49) (RAISE .  
152) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  181) (NUMERIC_LITERAL .  
155) (NULL .  617) (NEW .  149) (LEFT_PAREN .  148))
+      ((default . error) (IDENTIFIER .  620))
+      ((default . error) (IDENTIFIER .  619))
+      ((default . error) (WHEN .  616))
+      ((default . error) (OF .  614) (COLON .  615) (IN .  613))
+      ((default . error) (EQUAL_GREATER .  612))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (ELSIF . (expression_opt . 0)) (ELSE . 
(expression_opt . 0)) (RIGHT_PAREN . (expression_opt . 0)) (RAISE .  153) (PLUS 
.  155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL 
.  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (RIGHT_PAREN . ((expression_opt . 0) (association_opt 
. 0))) (COMMA . ((expression_opt . 0) (association_opt . 0))) (EQUAL_GREATER . 
(discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) (OTHERS .  152) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  157) (STRING_LITERAL .  49) (RAISE .  
153) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  
156) (NULL .  608) (NEW .  149) (LEFT_PAREN .  148))
       ((default . error) (USE . (aggregate . 2)) (COLON_EQUAL . (aggregate . 
2)) (CHARACTER_LITERAL . (aggregate . 2)) (STRING_LITERAL . (aggregate . 2)) 
(IDENTIFIER . (aggregate . 2)) (LESS_LESS . (aggregate . 2)) (WHILE . 
(aggregate . 2)) (SELECT . (aggregate . 2)) (REQUEUE . (aggregate . 2)) (RAISE 
. (aggregate . 2)) (PRAGMA . (aggregate . 2)) (NULL . (aggregate . 2)) (IF . 
(aggregate . 2)) (GOTO . (aggregate . 2)) (FOR . (aggregate . 2)) (EXIT . 
(aggregate . 2)) (DELAY . (aggregate . [...]
       ((default . error) (USE . (aggregate . 0)) (COLON_EQUAL . (aggregate . 
0)) (CHARACTER_LITERAL . (aggregate . 0)) (STRING_LITERAL . (aggregate . 0)) 
(IDENTIFIER . (aggregate . 0)) (LESS_LESS . (aggregate . 0)) (WHILE . 
(aggregate . 0)) (SELECT . (aggregate . 0)) (REQUEUE . (aggregate . 0)) (RAISE 
. (aggregate . 0)) (PRAGMA . (aggregate . 0)) (NULL . (aggregate . 0)) (IF . 
(aggregate . 0)) (GOTO . (aggregate . 0)) (FOR . (aggregate . 0)) (EXIT . 
(aggregate . 0)) (DELAY . (aggregate . [...]
-      ((default . error) (RIGHT_PAREN .  616))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (EQUAL_GREATER .  614))
-      ((default . error) (COMMA . (pragma_argument_association . 0)) 
(RIGHT_PAREN . (pragma_argument_association . 0)))
-      ((default . error) (RIGHT_PAREN . (pragma_argument_association_list . 
1)) (COMMA . (pragma_argument_association_list . 1)))
-      ((default . error) (WHEN . (pragma . 0)) (THEN . (pragma . 0)) (OR . 
(pragma . 0)) (ELSIF . (pragma . 0)) (ELSE . (pragma . 0)) (CHARACTER_LITERAL . 
(pragma . 0)) (STRING_LITERAL . (pragma . 0)) (WHILE . (pragma . 0)) (SELECT . 
(pragma . 0)) (RETURN . (pragma . 0)) (REQUEUE . (pragma . 0)) (RAISE . (pragma 
. 0)) (NULL . (pragma . 0)) (LOOP . (pragma . 0)) (IF . (pragma . 0)) (GOTO . 
(pragma . 0)) (EXIT . (pragma . 0)) (DELAY . (pragma . 0)) (DECLARE . (pragma . 
0)) (CASE . (pragma  [...]
-      ((default . error) (OF . (factor . 0)) (COLON_EQUAL . (factor . 0)) (DO 
. (factor . 0)) (LOOP . (factor . 0)) (ELSIF . (factor . 0)) (ELSE . (factor . 
0)) (DIGITS . (factor . 0)) (COMMA . (factor . 0)) (RIGHT_PAREN . (factor . 0)) 
(RANGE . (factor . 0)) (THEN . (factor . 0)) (WITH . (factor . 0)) (BAR . 
(factor . 0)) (EQUAL_GREATER . (factor . 0)) (IS . (factor . 0)) (SLASH_EQUAL . 
(factor . 0)) (LESS_EQUAL . (factor . 0)) (LESS . (factor . 0)) (GREATER_EQUAL 
. (factor . 0)) (GREAT [...]
-      ((default . error) (DO . (relation_and_list . 1)) (LOOP . 
(relation_and_list . 1)) (XOR . (relation_and_list . 1)) (OR . 
(relation_and_list . 1)) (ELSIF . (relation_and_list . 1)) (ELSE . 
(relation_and_list . 1)) (EQUAL_GREATER . (relation_and_list . 1)) (DIGITS . 
(relation_and_list . 1)) (RIGHT_PAREN . (relation_and_list . 1)) (COMMA . 
(relation_and_list . 1)) (RANGE . (relation_and_list . 1)) (THEN . 
(relation_and_list . 1)) (SEMICOLON . (relation_and_list . 1)) (WITH . 
(relation [...]
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (DO . (relation_or_list . 1)) (LOOP . 
(relation_or_list . 1)) (XOR . (relation_or_list . 1)) (AND . (relation_or_list 
. 1)) (ELSIF . (relation_or_list . 1)) (ELSE . (relation_or_list . 1)) 
(EQUAL_GREATER . (relation_or_list . 1)) (DIGITS . (relation_or_list . 1)) 
(RIGHT_PAREN . (relation_or_list . 1)) (COMMA . (relation_or_list . 1)) (RANGE 
. (relation_or_list . 1)) (THEN . (relation_or_list . 1)) (SEMICOLON . 
(relation_or_list . 1)) (WITH . (relation_or_list . 1 [...]
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (DO . (relation_xor_list . 1)) (LOOP . 
(relation_xor_list . 1)) (OR . (relation_xor_list . 1)) (AND . 
(relation_xor_list . 1)) (ELSIF . (relation_xor_list . 1)) (ELSE . 
(relation_xor_list . 1)) (EQUAL_GREATER . (relation_xor_list . 1)) (DIGITS . 
(relation_xor_list . 1)) (RIGHT_PAREN . (relation_xor_list . 1)) (COMMA . 
(relation_xor_list . 1)) (RANGE . (relation_xor_list . 1)) (THEN . 
(relation_xor_list . 1)) (SEMICOLON . (relation_xor_list . 1)) (WITH . 
(relation [...]
-      ((default . error) (DO . (relation_xor_list . 0)) (LOOP . 
(relation_xor_list . 0)) (OR . (relation_xor_list . 0)) (AND . 
(relation_xor_list . 0)) (ELSIF . (relation_xor_list . 0)) (ELSE . 
(relation_xor_list . 0)) (EQUAL_GREATER . (relation_xor_list . 0)) (DIGITS . 
(relation_xor_list . 0)) (RIGHT_PAREN . (relation_xor_list . 0)) (COMMA . 
(relation_xor_list . 0)) (RANGE . (relation_xor_list . 0)) (THEN . 
(relation_xor_list . 0)) (SEMICOLON . (relation_xor_list . 0)) (WITH . 
(relation [...]
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (DO . (relation_or_list . 0)) (LOOP . 
(relation_or_list . 0)) (XOR . (relation_or_list . 0)) (AND . (relation_or_list 
. 0)) (ELSIF . (relation_or_list . 0)) (ELSE . (relation_or_list . 0)) 
(EQUAL_GREATER . (relation_or_list . 0)) (DIGITS . (relation_or_list . 0)) 
(RIGHT_PAREN . (relation_or_list . 0)) (COMMA . (relation_or_list . 0)) (RANGE 
. (relation_or_list . 0)) (THEN . (relation_or_list . 0)) (SEMICOLON . 
(relation_or_list . 0)) (WITH . (relation_or_list . 0 [...]
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (DO . (relation_and_list . 0)) (LOOP . 
(relation_and_list . 0)) (XOR . (relation_and_list . 0)) (OR . 
(relation_and_list . 0)) (ELSIF . (relation_and_list . 0)) (ELSE . 
(relation_and_list . 0)) (EQUAL_GREATER . (relation_and_list . 0)) (DIGITS . 
(relation_and_list . 0)) (RIGHT_PAREN . (relation_and_list . 0)) (COMMA . 
(relation_and_list . 0)) (RANGE . (relation_and_list . 0)) (THEN . 
(relation_and_list . 0)) (SEMICOLON . (relation_and_list . 0)) (WITH . 
(relation [...]
-      ((default . error) (DO . (relation . 1)) (LOOP . (relation . 1)) (COMMA 
. (relation . 1)) (ELSIF . (relation . 1)) (ELSE . (relation . 1)) 
(EQUAL_GREATER . (relation . 1)) (RIGHT_PAREN . (relation . 1)) (DIGITS . 
(relation . 1)) (RANGE . (relation . 1)) (THEN . (relation . 1)) (SEMICOLON . 
(relation . 1)) (WITH . (relation . 1)) (IS . (relation . 1)) (AND . (relation 
. 1)) (OR . (relation . 1)) (XOR . (relation . 1)))
-      ((default . error) (OF . (term . 1)) (COLON_EQUAL . (term . 1)) (DO . 
(term . 1)) (LOOP . (term . 1)) (ELSIF . (term . 1)) (ELSE . (term . 1)) 
(DIGITS . (term . 1)) (RIGHT_PAREN . (term . 1)) (COMMA . (term . 1)) (RANGE . 
(term . 1)) (THEN . (term . 1)) (WITH . (term . 1)) (BAR . (term . 1)) 
(EQUAL_GREATER . (term . 1)) (IS . (term . 1)) (IN . (term . 1)) (NOT . (term . 
1)) (EQUAL . (term . 1)) (GREATER . (term . 1)) (GREATER_EQUAL . (term . 1)) 
(LESS . (term . 1)) (LESS_EQUAL . (t [...]
-      ((default . error) (OF . (term_list . 1)) (COLON_EQUAL . (term_list . 
1)) (DO . (term_list . 1)) (LOOP . (term_list . 1)) (ELSIF . (term_list . 1)) 
(ELSE . (term_list . 1)) (DIGITS . (term_list . 1)) (COMMA . (term_list . 1)) 
(RIGHT_PAREN . (term_list . 1)) (RANGE . (term_list . 1)) (THEN . (term_list . 
1)) (WITH . (term_list . 1)) (BAR . (term_list . 1)) (EQUAL_GREATER . 
(term_list . 1)) (IS . (term_list . 1)) (SLASH_EQUAL . (term_list . 1)) 
(LESS_EQUAL . (term_list . 1)) (LESS .  [...]
-      ((default . error) (BEGIN .  608) (END .  609))
-      ((default . error) (IDENTIFIER .  607))
-      ((default . error) (RENAMES . (subprogram_specification . 1)) (IS . ( 
606 (subprogram_specification . 1))) (WITH . (subprogram_specification . 1)) 
(SEMICOLON . (subprogram_specification . 1)))
-      ((default . error) (RENAMES . (subprogram_specification . 0)) (IS . ( 
605 (subprogram_specification . 0))) (WITH . (subprogram_specification . 0)) 
(SEMICOLON . (subprogram_specification . 0)))
-      ((default . error) (RENAMES .  128) (SEMICOLON . 
(aspect_specification_opt . 0)) (IS . ( 604 (aspect_specification_opt . 0))) 
(WITH .  109))
-      ((default . error) (EXCEPTION .  602) (CONSTANT . ( 601 (aliased_opt . 
0))) (ARRAY . (aliased_opt . 0)) (ACCESS . (aliased_opt . 0)) (NOT . 
(aliased_opt . 0)) (IDENTIFIER . (aliased_opt . 0)) (STRING_LITERAL . 
(aliased_opt . 0)) (CHARACTER_LITERAL . (aliased_opt . 0)) (ALIASED .  531))
-      ((default . error) (SEMICOLON . (name_opt . 0)) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
-      ((default . error) (END . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  302) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  299) (IDENTIFIER .  305) (TYPE 
.  304) (GENERIC .  2) (PROTECTED .  301) (TASK .  303) (PACKAGE .  300))
-      ((default . error) (IDENTIFIER . (declarations . 1)) (USE . 
(declarations . 1)) (TYPE . (declarations . 1)) (TASK . (declarations . 1)) 
(SUBTYPE . (declarations . 1)) (PROTECTED . (declarations . 1)) (PROCEDURE . 
(declarations . 1)) (PRAGMA . (declarations . 1)) (PACKAGE . (declarations . 
1)) (OVERRIDING . (declarations . 1)) (NOT . (declarations . 1)) (GENERIC . 
(declarations . 1)) (FUNCTION . (declarations . 1)) (FOR . (declarations . 1)) 
(ENTRY . (declarations . 1)) (BEGIN . (de [...]
-      ((default . error) (EXCEPTION .  596) (IDENTIFIER . (null_exclusion_opt 
. 0)) (STRING_LITERAL . (null_exclusion_opt . 0)) (CHARACTER_LITERAL . 
(null_exclusion_opt . 0)) (ACCESS . (null_exclusion_opt . 0)) (NOT .  232))
-      ((default . error) (IS . (discriminant_part_opt . 0)) (SEMICOLON . 
(discriminant_part_opt . 0)) (LEFT_PAREN .  211))
-      ((default . error) (IDENTIFIER .  594))
-      ((default . error) (IDENTIFIER .  593))
-      ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (IS . 
(aspect_specification_opt . 0)) (WITH .  109))
-      ((default . error) (IS .  591))
-      ((default . error) (IDENTIFIER .  590))
-      ((default . error) (IDENTIFIER .  589))
-      ((default . error) (IS . (aspect_specification_opt . 0)) (WITH .  109))
-      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (USE . ((name . 0) (direct_name . 0))) (LEFT_PAREN . 
(name . 0)) (DOT . (name . 0)) (TICK . (name . 0)))
-      ((default . error) (USE . ((name . 7) (direct_name . 1))) (LEFT_PAREN . 
(name . 7)) (DOT . (name . 7)) (TICK . (name . 7)))
-      ((default . error) (USE . ( 586 (name . 4))) (LEFT_PAREN . (name . 4)) 
(DOT . (name . 4)) (TICK . (name . 4)))
-      ((default . error) (USE .  585))
-      ((default . error) (DOT .  90) (TICK .  91) (USE .  584) (LEFT_PAREN .  
107))
+      ((default . error) (RIGHT_PAREN .  607))
       ((default . error) (DOT .  90) (TICK .  91) (BAR . (discrete_choice . 
1)) (EQUAL_GREATER . (discrete_choice . 1)) (LEFT_PAREN .  107))
+      ((default . error) (XOR . (expression_opt . 0)) (OR . (expression_opt . 
0)) (AND . (expression_opt . 0)) (IS . (expression_opt . 0)) (WITH . 
(expression_opt . 0)) (SEMICOLON . (expression_opt . 0)) (THEN . 
(expression_opt . 0)) (RANGE . (expression_opt . 0)) (RIGHT_PAREN . 
(expression_opt . 0)) (COMMA . (expression_opt . 0)) (DIGITS . (expression_opt 
. 0)) (EQUAL_GREATER . (expression_opt . 0)) (ELSE . (expression_opt . 0)) 
(ELSIF . (expression_opt . 0)) (LOOP . (expression_opt . 0 [...]
       ((default . error) (SEMICOLON . (association_opt . 2)) (IS . 
(association_opt . 2)) (COMMA . (association_opt . 2)) (RIGHT_PAREN . 
(association_opt . 2)))
       ((default . error) (SEMICOLON . (association_opt . 1)) (IS . 
(association_opt . 1)) (COMMA . (association_opt . 1)) (RIGHT_PAREN . 
(association_opt . 1)))
+      ((default . error) (WHEN . (pragma . 0)) (THEN . (pragma . 0)) (OR . 
(pragma . 0)) (ELSIF . (pragma . 0)) (ELSE . (pragma . 0)) (CHARACTER_LITERAL . 
(pragma . 0)) (STRING_LITERAL . (pragma . 0)) (WHILE . (pragma . 0)) (SELECT . 
(pragma . 0)) (RETURN . (pragma . 0)) (REQUEUE . (pragma . 0)) (RAISE . (pragma 
. 0)) (NULL . (pragma . 0)) (LOOP . (pragma . 0)) (IF . (pragma . 0)) (GOTO . 
(pragma . 0)) (EXIT . (pragma . 0)) (DELAY . (pragma . 0)) (DECLARE . (pragma . 
0)) (CASE . (pragma  [...]
       ((default . error) (BAR . (choice_relation_and_list . 1)) (EQUAL_GREATER 
. (choice_relation_and_list . 1)) (AND . (choice_relation_and_list . 1)))
-      ((default . error) (XOR . (choice_relation . 1)) (OR . (choice_relation 
. 1)) (BAR . (choice_relation . 1)) (EQUAL_GREATER . (choice_relation . 1)) 
(AND . (choice_relation . 1)) (EQUAL .  278) (SLASH_EQUAL .  283) (LESS .  281) 
(LESS_EQUAL .  282) (GREATER .  279) (GREATER_EQUAL .  280))
+      ((default . error) (XOR . (choice_relation . 1)) (OR . (choice_relation 
. 1)) (BAR . (choice_relation . 1)) (EQUAL_GREATER . (choice_relation . 1)) 
(AND . (choice_relation . 1)) (EQUAL .  339) (SLASH_EQUAL .  344) (LESS .  342) 
(LESS_EQUAL .  343) (GREATER .  340) (GREATER_EQUAL .  341))
       ((default . error) (BAR . (choice_relation_or_list . 1)) (EQUAL_GREATER 
. (choice_relation_or_list . 1)) (OR . (choice_relation_or_list . 1)))
       ((default . error) (BAR . (choice_relation_xor_list . 1)) (EQUAL_GREATER 
. (choice_relation_xor_list . 1)) (XOR . (choice_relation_xor_list . 1)))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
       ((default . error) (BAR . (choice_relation_xor_list . 0)) (EQUAL_GREATER 
. (choice_relation_xor_list . 0)) (XOR . (choice_relation_xor_list . 0)))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
       ((default . error) (BAR . (choice_relation_or_list . 0)) (EQUAL_GREATER 
. (choice_relation_or_list . 0)) (OR . (choice_relation_or_list . 0)))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
       ((default . error) (BAR . (choice_relation_and_list . 0)) (EQUAL_GREATER 
. (choice_relation_and_list . 0)) (AND . (choice_relation_and_list . 0)))
+      ((default . error) (WHEN . (pragma . 1)) (THEN . (pragma . 1)) (OR . 
(pragma . 1)) (ELSIF . (pragma . 1)) (ELSE . (pragma . 1)) (CHARACTER_LITERAL . 
(pragma . 1)) (STRING_LITERAL . (pragma . 1)) (WHILE . (pragma . 1)) (SELECT . 
(pragma . 1)) (RETURN . (pragma . 1)) (REQUEUE . (pragma . 1)) (RAISE . (pragma 
. 1)) (NULL . (pragma . 1)) (LOOP . (pragma . 1)) (IF . (pragma . 1)) (GOTO . 
(pragma . 1)) (EXIT . (pragma . 1)) (DELAY . (pragma . 1)) (DECLARE . (pragma . 
1)) (CASE . (pragma  [...]
       ((default . error) (SEMICOLON . (association_opt . 4)) (IS . 
(association_opt . 4)) (COMMA . (association_opt . 4)) (RIGHT_PAREN . 
(association_opt . 4)))
       ((default . error) (SEMICOLON . (association_opt . 3)) (IS . 
(association_opt . 3)) (COMMA . (association_opt . 3)) (RIGHT_PAREN . 
(association_opt . 3)))
       ((default . error) (EQUAL_GREATER . (discrete_choice_list . 2)) (BAR . 
(discrete_choice_list . 2)))
-      ((default . error) (DOT_DOT .  277) (BAR . (choice_relation . 1)) 
(EQUAL_GREATER . (choice_relation . 1)) (AND . (choice_relation . 1)) (OR . 
(choice_relation . 1)) (XOR . (choice_relation . 1)) (EQUAL .  278) 
(SLASH_EQUAL .  283) (LESS .  281) (LESS_EQUAL .  282) (GREATER .  279) 
(GREATER_EQUAL .  280))
-      ((default . error) (LOOP . (range . 1)) (DO . (range . 1)) (OF . (range 
. 1)) (COLON_EQUAL . (range . 1)) (ELSIF . (range . 1)) (ELSE . (range . 1)) 
(DIGITS . (range . 1)) (RANGE . (range . 1)) (THEN . (range . 1)) (SEMICOLON . 
(range . 1)) (WITH . (range . 1)) (IS . (range . 1)) (AND . (range . 1)) (OR . 
(range . 1)) (XOR . (range . 1)) (COMMA . (range . 1)) (RIGHT_PAREN . (range . 
1)) (EQUAL_GREATER . (range . 1)) (BAR . (range . 1)) (LEFT_PAREN .  578))
+      ((default . error) (DOT_DOT .  338) (BAR . (choice_relation . 1)) 
(EQUAL_GREATER . (choice_relation . 1)) (AND . (choice_relation . 1)) (OR . 
(choice_relation . 1)) (XOR . (choice_relation . 1)) (EQUAL .  339) 
(SLASH_EQUAL .  344) (LESS .  342) (LESS_EQUAL .  343) (GREATER .  340) 
(GREATER_EQUAL .  341))
+      ((default . error) (LOOP . (range . 1)) (DO . (range . 1)) (ELSIF . 
(range . 1)) (ELSE . (range . 1)) (DIGITS . (range . 1)) (RANGE . (range . 1)) 
(THEN . (range . 1)) (OF . (range . 1)) (COLON_EQUAL . (range . 1)) (SEMICOLON 
. (range . 1)) (IS . (range . 1)) (WITH . (range . 1)) (AND . (range . 1)) (OR 
. (range . 1)) (XOR . (range . 1)) (COMMA . (range . 1)) (RIGHT_PAREN . (range 
. 1)) (EQUAL_GREATER . (range . 1)) (BAR . (range . 1)) (LEFT_PAREN .  600))
+      ((default . error) (OF . (factor . 0)) (COLON_EQUAL . (factor . 0)) (DO 
. (factor . 0)) (LOOP . (factor . 0)) (ELSIF . (factor . 0)) (ELSE . (factor . 
0)) (DIGITS . (factor . 0)) (COMMA . (factor . 0)) (RIGHT_PAREN . (factor . 0)) 
(RANGE . (factor . 0)) (THEN . (factor . 0)) (WITH . (factor . 0)) (BAR . 
(factor . 0)) (EQUAL_GREATER . (factor . 0)) (IS . (factor . 0)) (SLASH_EQUAL . 
(factor . 0)) (LESS_EQUAL . (factor . 0)) (LESS . (factor . 0)) (GREATER_EQUAL 
. (factor . 0)) (GREAT [...]
+      ((default . error) (DO . (relation_and_list . 1)) (LOOP . 
(relation_and_list . 1)) (XOR . (relation_and_list . 1)) (OR . 
(relation_and_list . 1)) (ELSIF . (relation_and_list . 1)) (ELSE . 
(relation_and_list . 1)) (EQUAL_GREATER . (relation_and_list . 1)) (DIGITS . 
(relation_and_list . 1)) (RIGHT_PAREN . (relation_and_list . 1)) (COMMA . 
(relation_and_list . 1)) (RANGE . (relation_and_list . 1)) (THEN . 
(relation_and_list . 1)) (WITH . (relation_and_list . 1)) (SEMICOLON . 
(relation [...]
+      ((default . error) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  
144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (DO . (relation_or_list . 1)) (LOOP . 
(relation_or_list . 1)) (XOR . (relation_or_list . 1)) (AND . (relation_or_list 
. 1)) (ELSIF . (relation_or_list . 1)) (ELSE . (relation_or_list . 1)) 
(EQUAL_GREATER . (relation_or_list . 1)) (DIGITS . (relation_or_list . 1)) 
(RIGHT_PAREN . (relation_or_list . 1)) (COMMA . (relation_or_list . 1)) (RANGE 
. (relation_or_list . 1)) (THEN . (relation_or_list . 1)) (WITH . 
(relation_or_list . 1)) (SEMICOLON . (relation_or_list . 1 [...]
+      ((default . error) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  
144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (DO . (relation_xor_list . 1)) (LOOP . 
(relation_xor_list . 1)) (OR . (relation_xor_list . 1)) (AND . 
(relation_xor_list . 1)) (ELSIF . (relation_xor_list . 1)) (ELSE . 
(relation_xor_list . 1)) (EQUAL_GREATER . (relation_xor_list . 1)) (DIGITS . 
(relation_xor_list . 1)) (RIGHT_PAREN . (relation_xor_list . 1)) (COMMA . 
(relation_xor_list . 1)) (RANGE . (relation_xor_list . 1)) (THEN . 
(relation_xor_list . 1)) (WITH . (relation_xor_list . 1)) (SEMICOLON . 
(relation [...]
+      ((default . error) (DO . (relation_xor_list . 0)) (LOOP . 
(relation_xor_list . 0)) (OR . (relation_xor_list . 0)) (AND . 
(relation_xor_list . 0)) (ELSIF . (relation_xor_list . 0)) (ELSE . 
(relation_xor_list . 0)) (EQUAL_GREATER . (relation_xor_list . 0)) (DIGITS . 
(relation_xor_list . 0)) (RIGHT_PAREN . (relation_xor_list . 0)) (COMMA . 
(relation_xor_list . 0)) (RANGE . (relation_xor_list . 0)) (THEN . 
(relation_xor_list . 0)) (WITH . (relation_xor_list . 0)) (SEMICOLON . 
(relation [...]
+      ((default . error) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  
144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (DO . (relation_or_list . 0)) (LOOP . 
(relation_or_list . 0)) (XOR . (relation_or_list . 0)) (AND . (relation_or_list 
. 0)) (ELSIF . (relation_or_list . 0)) (ELSE . (relation_or_list . 0)) 
(EQUAL_GREATER . (relation_or_list . 0)) (DIGITS . (relation_or_list . 0)) 
(RIGHT_PAREN . (relation_or_list . 0)) (COMMA . (relation_or_list . 0)) (RANGE 
. (relation_or_list . 0)) (THEN . (relation_or_list . 0)) (WITH . 
(relation_or_list . 0)) (SEMICOLON . (relation_or_list . 0 [...]
+      ((default . error) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  
144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (DO . (relation_and_list . 0)) (LOOP . 
(relation_and_list . 0)) (XOR . (relation_and_list . 0)) (OR . 
(relation_and_list . 0)) (ELSIF . (relation_and_list . 0)) (ELSE . 
(relation_and_list . 0)) (EQUAL_GREATER . (relation_and_list . 0)) (DIGITS . 
(relation_and_list . 0)) (RIGHT_PAREN . (relation_and_list . 0)) (COMMA . 
(relation_and_list . 0)) (RANGE . (relation_and_list . 0)) (THEN . 
(relation_and_list . 0)) (WITH . (relation_and_list . 0)) (SEMICOLON . 
(relation [...]
       ((default . error) (SEMICOLON . (relation . 1)) (IS . (relation . 1)) 
(WITH . (relation . 1)) (RIGHT_PAREN . (relation . 1)) (COMMA . (relation . 1)) 
(BAR . (choice_relation . 0)) (EQUAL_GREATER . (choice_relation . 0)) (AND . 
((choice_relation . 0) (relation . 1))) (OR . ((choice_relation . 0) (relation 
. 1))) (XOR . ((choice_relation . 0) (relation . 1))))
-      ((default . error) (DO . (range . 2)) (LOOP . (range . 2)) (OF . (range 
. 2)) (COLON_EQUAL . (range . 2)) (ELSIF . (range . 2)) (ELSE . (range . 2)) 
(DIGITS . (range . 2)) (RANGE . (range . 2)) (THEN . (range . 2)) (SEMICOLON . 
(range . 2)) (WITH . (range . 2)) (IS . (range . 2)) (AND . (range . 2)) (OR . 
(range . 2)) (XOR . (range . 2)) (COMMA . (range . 2)) (RIGHT_PAREN . (range . 
2)) (EQUAL_GREATER . (range . 2)) (BAR . (range . 2)))
-      ((default . error) (PLUS .  154) (MINUS .  153) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (ABS .  144) (NOT .  150) 
(NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
-      ((default . error) (BAR .  576) (DO . (relation . 3)) (LOOP . (relation 
. 3)) (COMMA . (relation . 3)) (ELSIF . (relation . 3)) (ELSE . (relation . 3)) 
(EQUAL_GREATER . (relation . 3)) (RIGHT_PAREN . (relation . 3)) (DIGITS . 
(relation . 3)) (RANGE . (relation . 3)) (THEN . (relation . 3)) (SEMICOLON . 
(relation . 3)) (WITH . (relation . 3)) (IS . (relation . 3)) (AND . (relation 
. 3)) (OR . (relation . 3)) (XOR . (relation . 3)))
-      ((default . error) (DO . (membership_choice_list . 0)) (LOOP . 
(membership_choice_list . 0)) (COMMA . (membership_choice_list . 0)) (ELSIF . 
(membership_choice_list . 0)) (ELSE . (membership_choice_list . 0)) 
(EQUAL_GREATER . (membership_choice_list . 0)) (RIGHT_PAREN . 
(membership_choice_list . 0)) (DIGITS . (membership_choice_list . 0)) (RANGE . 
(membership_choice_list . 0)) (THEN . (membership_choice_list . 0)) (SEMICOLON 
. (membership_choice_list . 0)) (WITH . (membership_choic [...]
-      ((default . error) (DO . (membership_choice . 1)) (LOOP . 
(membership_choice . 1)) (COMMA . (membership_choice . 1)) (ELSIF . 
(membership_choice . 1)) (ELSE . (membership_choice . 1)) (EQUAL_GREATER . 
(membership_choice . 1)) (RIGHT_PAREN . (membership_choice . 1)) (DIGITS . 
(membership_choice . 1)) (RANGE . (membership_choice . 1)) (THEN . 
(membership_choice . 1)) (SEMICOLON . (membership_choice . 1)) (WITH . 
(membership_choice . 1)) (IS . (membership_choice . 1)) (AND . (membersh [...]
-      ((default . error) (DOT_DOT .  277) (DO . (membership_choice . 0)) (LOOP 
. (membership_choice . 0)) (COMMA . (membership_choice . 0)) (ELSIF . 
(membership_choice . 0)) (ELSE . (membership_choice . 0)) (EQUAL_GREATER . 
(membership_choice . 0)) (RIGHT_PAREN . (membership_choice . 0)) (DIGITS . 
(membership_choice . 0)) (RANGE . (membership_choice . 0)) (THEN . 
(membership_choice . 0)) (SEMICOLON . (membership_choice . 0)) (WITH . 
(membership_choice . 0)) (IS . (membership_choice . 0)) [...]
+      ((default . error) (DO . (range . 2)) (LOOP . (range . 2)) (ELSIF . 
(range . 2)) (ELSE . (range . 2)) (DIGITS . (range . 2)) (RANGE . (range . 2)) 
(THEN . (range . 2)) (OF . (range . 2)) (COLON_EQUAL . (range . 2)) (SEMICOLON 
. (range . 2)) (IS . (range . 2)) (WITH . (range . 2)) (AND . (range . 2)) (OR 
. (range . 2)) (XOR . (range . 2)) (COMMA . (range . 2)) (RIGHT_PAREN . (range 
. 2)) (EQUAL_GREATER . (range . 2)) (BAR . (range . 2)))
+      ((default . error) (PLUS .  155) (MINUS .  154) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (ABS .  144) (NOT .  324) 
(NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
+      ((default . error) (BAR .  594) (DO . (relation . 3)) (LOOP . (relation 
. 3)) (ELSIF . (relation . 3)) (ELSE . (relation . 3)) (EQUAL_GREATER . 
(relation . 3)) (DIGITS . (relation . 3)) (RANGE . (relation . 3)) (THEN . 
(relation . 3)) (SEMICOLON . (relation . 3)) (IS . (relation . 3)) (WITH . 
(relation . 3)) (RIGHT_PAREN . (relation . 3)) (COMMA . (relation . 3)) (AND . 
(relation . 3)) (OR . (relation . 3)) (XOR . (relation . 3)))
+      ((default . error) (DO . (membership_choice_list . 0)) (LOOP . 
(membership_choice_list . 0)) (ELSIF . (membership_choice_list . 0)) (ELSE . 
(membership_choice_list . 0)) (EQUAL_GREATER . (membership_choice_list . 0)) 
(DIGITS . (membership_choice_list . 0)) (RANGE . (membership_choice_list . 0)) 
(THEN . (membership_choice_list . 0)) (SEMICOLON . (membership_choice_list . 
0)) (IS . (membership_choice_list . 0)) (WITH . (membership_choice_list . 0)) 
(RIGHT_PAREN . (membership_choice_l [...]
+      ((default . error) (DO . (membership_choice . 1)) (LOOP . 
(membership_choice . 1)) (ELSIF . (membership_choice . 1)) (ELSE . 
(membership_choice . 1)) (EQUAL_GREATER . (membership_choice . 1)) (DIGITS . 
(membership_choice . 1)) (RANGE . (membership_choice . 1)) (THEN . 
(membership_choice . 1)) (SEMICOLON . (membership_choice . 1)) (IS . 
(membership_choice . 1)) (WITH . (membership_choice . 1)) (RIGHT_PAREN . 
(membership_choice . 1)) (COMMA . (membership_choice . 1)) (AND . (membersh 
[...]
+      ((default . error) (DOT_DOT .  338) (DO . (membership_choice . 0)) (LOOP 
. (membership_choice . 0)) (ELSIF . (membership_choice . 0)) (ELSE . 
(membership_choice . 0)) (EQUAL_GREATER . (membership_choice . 0)) (DIGITS . 
(membership_choice . 0)) (RANGE . (membership_choice . 0)) (THEN . 
(membership_choice . 0)) (SEMICOLON . (membership_choice . 0)) (IS . 
(membership_choice . 0)) (WITH . (membership_choice . 0)) (RIGHT_PAREN . 
(membership_choice . 0)) (COMMA . (membership_choice . 0)) [...]
+      ((default . error) (OF . (term . 1)) (COLON_EQUAL . (term . 1)) (DO . 
(term . 1)) (LOOP . (term . 1)) (ELSIF . (term . 1)) (ELSE . (term . 1)) 
(DIGITS . (term . 1)) (RIGHT_PAREN . (term . 1)) (COMMA . (term . 1)) (RANGE . 
(term . 1)) (THEN . (term . 1)) (WITH . (term . 1)) (BAR . (term . 1)) 
(EQUAL_GREATER . (term . 1)) (IS . (term . 1)) (IN . (term . 1)) (NOT . (term . 
1)) (EQUAL . (term . 1)) (GREATER . (term . 1)) (GREATER_EQUAL . (term . 1)) 
(LESS . (term . 1)) (LESS_EQUAL . (t [...]
+      ((default . error) (OF . (term_list . 1)) (COLON_EQUAL . (term_list . 
1)) (DO . (term_list . 1)) (LOOP . (term_list . 1)) (ELSIF . (term_list . 1)) 
(ELSE . (term_list . 1)) (DIGITS . (term_list . 1)) (COMMA . (term_list . 1)) 
(RIGHT_PAREN . (term_list . 1)) (RANGE . (term_list . 1)) (THEN . (term_list . 
1)) (WITH . (term_list . 1)) (BAR . (term_list . 1)) (EQUAL_GREATER . 
(term_list . 1)) (IS . (term_list . 1)) (SLASH_EQUAL . (term_list . 1)) 
(LESS_EQUAL . (term_list . 1)) (LESS .  [...]
+      ((default . error) (BEGIN .  592) (END .  593))
+      ((default . error) (IDENTIFIER .  591))
+      ((default . error) (RENAMES . (subprogram_specification . 1)) (IS . ( 
590 (subprogram_specification . 1))) (WITH . (subprogram_specification . 1)) 
(SEMICOLON . (subprogram_specification . 1)))
+      ((default . error) (RENAMES . (subprogram_specification . 0)) (IS . ( 
589 (subprogram_specification . 0))) (WITH . (subprogram_specification . 0)) 
(SEMICOLON . (subprogram_specification . 0)))
+      ((default . error) (RENAMES .  128) (SEMICOLON . 
(aspect_specification_opt . 0)) (IS . ( 588 (aspect_specification_opt . 0))) 
(WITH .  109))
+      ((default . error) (EXCEPTION .  586) (CONSTANT . ( 585 (aliased_opt . 
0))) (ARRAY . (aliased_opt . 0)) (ACCESS . (aliased_opt . 0)) (NOT . 
(aliased_opt . 0)) (IDENTIFIER . (aliased_opt . 0)) (STRING_LITERAL . 
(aliased_opt . 0)) (CHARACTER_LITERAL . (aliased_opt . 0)) (ALIASED .  523))
+      ((default . error) (SEMICOLON . (name_opt . 0)) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
+      ((default . error) (END . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  272) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  269) (IDENTIFIER .  275) (TYPE 
.  274) (GENERIC .  2) (PROTECTED .  271) (TASK .  273) (PACKAGE .  270))
+      ((default . error) (IDENTIFIER . (declarations . 1)) (USE . 
(declarations . 1)) (TYPE . (declarations . 1)) (TASK . (declarations . 1)) 
(SUBTYPE . (declarations . 1)) (PROTECTED . (declarations . 1)) (PROCEDURE . 
(declarations . 1)) (PRAGMA . (declarations . 1)) (PACKAGE . (declarations . 
1)) (OVERRIDING . (declarations . 1)) (NOT . (declarations . 1)) (GENERIC . 
(declarations . 1)) (FUNCTION . (declarations . 1)) (FOR . (declarations . 1)) 
(ENTRY . (declarations . 1)) (BEGIN . (de [...]
+      ((default . error) (EXCEPTION .  580) (IDENTIFIER . (null_exclusion_opt 
. 0)) (STRING_LITERAL . (null_exclusion_opt . 0)) (CHARACTER_LITERAL . 
(null_exclusion_opt . 0)) (ACCESS . (null_exclusion_opt . 0)) (NOT .  226))
+      ((default . error) (IS . (discriminant_part_opt . 0)) (SEMICOLON . 
(discriminant_part_opt . 0)) (LEFT_PAREN .  205))
+      ((default . error) (IDENTIFIER .  578))
+      ((default . error) (IDENTIFIER .  577))
+      ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (IS . 
(aspect_specification_opt . 0)) (WITH .  109))
+      ((default . error) (IS .  575))
+      ((default . error) (IDENTIFIER .  574))
+      ((default . error) (IDENTIFIER .  573))
+      ((default . error) (IS . (aspect_specification_opt . 0)) (WITH .  109))
+      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
+      ((default . error) (USE . ((name . 0) (direct_name . 0))) (LEFT_PAREN . 
(name . 0)) (DOT . (name . 0)) (TICK . (name . 0)))
+      ((default . error) (USE . ((name . 7) (direct_name . 1))) (LEFT_PAREN . 
(name . 7)) (DOT . (name . 7)) (TICK . (name . 7)))
+      ((default . error) (USE . ( 570 (name . 4))) (LEFT_PAREN . (name . 4)) 
(DOT . (name . 4)) (TICK . (name . 4)))
+      ((default . error) (USE .  569))
+      ((default . error) (DOT .  90) (TICK .  91) (USE .  568) (LEFT_PAREN .  
107))
       ((default . error) (BEGIN . (package_renaming_declaration . 0)) (ENTRY . 
(package_renaming_declaration . 0)) (FOR . (package_renaming_declaration . 0)) 
(PROTECTED . (package_renaming_declaration . 0)) (SUBTYPE . 
(package_renaming_declaration . 0)) (TASK . (package_renaming_declaration . 0)) 
(TYPE . (package_renaming_declaration . 0)) (IDENTIFIER . 
(package_renaming_declaration . 0)) (END . (package_renaming_declaration . 0)) 
(WITH . (package_renaming_declaration . 0)) (USE . (packa [...]
-      ((default . error) (SEMICOLON . (association_list . 1)) (IS . 
(association_list . 1)) (COMMA . (association_list . 1)) (RIGHT_PAREN . 
(association_list . 1)))
+      ((default . error) (RIGHT_PAREN . (association_list . 1)) (COMMA . 
(association_list . 1)) (SEMICOLON . (association_list . 1)) (IS . 
(association_list . 1)))
       ((default . error) (RIGHT_PAREN . (range_list . 1)) (COMMA . (range_list 
. 1)))
-      ((default . error) (DOT_DOT .  277))
-      ((default . error) (SEMICOLON .  575))
-      ((default . error) (SEMICOLON .  574))
-      ((default . error) (SEMICOLON .  573))
-      ((default . error) (SEMICOLON .  572))
-      ((default . error) (ACCESS . (null_exclusion_opt . 0)) (NOT .  566) 
(IDENTIFIER .  567) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
+      ((default . error) (DOT_DOT .  338))
+      ((default . error) (SEMICOLON .  567))
+      ((default . error) (SEMICOLON .  566))
+      ((default . error) (SEMICOLON .  565))
+      ((default . error) (SEMICOLON .  564))
+      ((default . error) (ACCESS . (null_exclusion_opt . 0)) (NOT .  558) 
(IDENTIFIER .  559) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
       ((default . error) (IS . (discriminant_part_opt . 2)) (WITH . 
(discriminant_part_opt . 2)) (SEMICOLON . (discriminant_part_opt . 2)))
       ((default . error) (RIGHT_PAREN . (discriminant_specification_opt . 0)) 
(SEMICOLON . (discriminant_specification_opt . 0)) (IDENTIFIER .  77))
       ((default . error) (IS . (discriminant_part_opt . 1)) (WITH . 
(discriminant_part_opt . 1)) (SEMICOLON . (discriminant_part_opt . 1)))
       ((default . error) (PACKAGE . (formal_type_declaration . 2)) (PROCEDURE 
. (formal_type_declaration . 2)) (FUNCTION . (formal_type_declaration . 2)) 
(PRAGMA . (formal_type_declaration . 2)) (TYPE . (formal_type_declaration . 2)) 
(USE . (formal_type_declaration . 2)) (WITH . (formal_type_declaration . 2)) 
(IDENTIFIER . (formal_type_declaration . 2)))
-      ((default . error) (TAGGED .  564) (NEW . 
(abstract_limited_synchronized_opt . 3)) (SYNCHRONIZED .  563) (LIMITED .  562))
-      ((default . error) (LEFT_PAREN .  561))
-      ((default . error) (BOX .  560))
-      ((default . error) (BOX .  559))
+      ((default . error) (TAGGED .  556) (NEW . 
(abstract_limited_synchronized_opt . 3)) (SYNCHRONIZED .  555) (LIMITED .  554))
+      ((default . error) (LEFT_PAREN .  553))
+      ((default . error) (BOX .  552))
+      ((default . error) (BOX .  551))
       ((default . error) (SEMICOLON . (interface_type_definition . 8)) (WITH . 
(interface_type_definition . 8)))
-      ((default . error) (BOX .  558))
-      ((default . error) (INTERFACE .  557) (PRIVATE . 
(abstract_tagged_limited_opt . 5)) (NEW . (abstract_limited_synchronized_opt . 
4)))
-      ((default . error) (BOX .  556))
-      ((default . error) (INTERFACE .  555))
-      ((default . error) (BOX .  554))
-      ((default . error) (INTERFACE .  553) (NEW . 
(abstract_limited_synchronized_opt . 5)))
-      ((default . error) (PRIVATE . (abstract_tagged_limited_opt . 4)) 
(LIMITED .  551) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  109))
-      ((default . error) (INTERFACE .  550))
-      ((default . error) (NEW .  549))
-      ((default . error) (PRIVATE .  548))
+      ((default . error) (BOX .  550))
+      ((default . error) (INTERFACE .  549) (PRIVATE . 
(abstract_tagged_limited_opt . 5)) (NEW . (abstract_limited_synchronized_opt . 
4)))
+      ((default . error) (BOX .  548))
+      ((default . error) (INTERFACE .  547))
+      ((default . error) (BOX .  546))
+      ((default . error) (INTERFACE .  545) (NEW . 
(abstract_limited_synchronized_opt . 5)))
+      ((default . error) (PRIVATE . (abstract_tagged_limited_opt . 4)) 
(LIMITED .  543) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  109))
+      ((default . error) (INTERFACE .  542))
+      ((default . error) (NEW .  541))
+      ((default . error) (PRIVATE .  540))
       ((default . error) (WITH . (formal_type_definition . 9)) (SEMICOLON . 
(formal_type_definition . 9)))
       ((default . error) (WITH . (formal_type_definition . 8)) (SEMICOLON . 
(formal_type_definition . 8)))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
       ((default . error) (WITH . (formal_type_definition . 1)) (SEMICOLON . 
(formal_type_definition . 1)))
       ((default . error) (WITH . (formal_type_definition . 10)) (SEMICOLON . 
(formal_type_definition . 10)))
-      ((default . error) (ACCESS .  242))
-      ((default . error) (SEMICOLON .  546))
-      ((default . error) (SEMICOLON .  545))
+      ((default . error) (ACCESS .  236))
+      ((default . error) (SEMICOLON .  538))
+      ((default . error) (SEMICOLON .  537))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (DOT .  90) (TICK .  91) (COLON_EQUAL .  541) 
(LEFT_PAREN .  107) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  109))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (SEMICOLON .  539))
+      ((default . error) (DOT .  90) (TICK .  91) (COLON_EQUAL .  533) 
(LEFT_PAREN .  107) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  109))
+      ((default . error) (WITH . (expression_opt . 0)) (SEMICOLON . 
(expression_opt . 0)) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  144) 
(NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (SEMICOLON .  531))
       ((default . error) (DO . (parameter_and_result_profile . 0)) 
(RIGHT_PAREN . (parameter_and_result_profile . 0)) (COLON_EQUAL . 
(parameter_and_result_profile . 0)) (RENAMES . (parameter_and_result_profile . 
0)) (WITH . (parameter_and_result_profile . 0)) (SEMICOLON . 
(parameter_and_result_profile . 0)) (IS . (parameter_and_result_profile . 0)))
       ((default . error) (IDENTIFIER . (general_access_modifier_opt . 1)) 
(STRING_LITERAL . (general_access_modifier_opt . 1)) (CHARACTER_LITERAL . 
(general_access_modifier_opt . 1)))
       ((default . error) (IDENTIFIER . (general_access_modifier_opt . 2)) 
(STRING_LITERAL . (general_access_modifier_opt . 2)) (CHARACTER_LITERAL . 
(general_access_modifier_opt . 2)))
       ((default . error) (FUNCTION . (protected_opt . 1)) (PROCEDURE . 
(protected_opt . 1)))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (FUNCTION .  536) (PROCEDURE .  537))
+      ((default . error) (FUNCTION .  528) (PROCEDURE .  529))
       ((default . error) (IN . (aliased_opt . 1)) (OUT . (aliased_opt . 1)) 
(ARRAY . (aliased_opt . 1)) (CONSTANT . (aliased_opt . 1)) (ACCESS . 
(aliased_opt . 1)) (NOT . (aliased_opt . 1)) (IDENTIFIER . (aliased_opt . 1)) 
(STRING_LITERAL . (aliased_opt . 1)) (CHARACTER_LITERAL . (aliased_opt . 1)))
-      ((default . error) (IDENTIFIER . (mode_opt . 0)) (STRING_LITERAL . 
(mode_opt . 0)) (CHARACTER_LITERAL . (mode_opt . 0)) (IN .  217) (OUT .  218) 
(ACCESS . (null_exclusion_opt . 0)) (NOT . ( 232 (mode_opt . 0))))
+      ((default . error) (IDENTIFIER . (mode_opt . 0)) (STRING_LITERAL . 
(mode_opt . 0)) (CHARACTER_LITERAL . (mode_opt . 0)) (IN .  211) (OUT .  212) 
(ACCESS . (null_exclusion_opt . 0)) (NOT . ( 226 (mode_opt . 0))))
       ((default . error) (RIGHT_PAREN . (parameter_specification_list . 1)) 
(SEMICOLON . (parameter_specification_list . 1)))
-      ((default . error) (COLON_EQUAL .  814) (RIGHT_PAREN . 
(parameter_specification . 3)) (SEMICOLON . (parameter_specification . 3)))
-      ((default . error) (IDENTIFIER . (null_exclusion_opt . 0)) 
(STRING_LITERAL . (null_exclusion_opt . 0)) (CHARACTER_LITERAL . 
(null_exclusion_opt . 0)) (NOT .  232))
-      ((default . error) (RETURN .  89) (LEFT_PAREN .  810))
-      ((default . error) (WITH . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (IS . (parameter_profile_opt . 0)) (COLON_EQUAL . 
(parameter_profile_opt . 0)) (RIGHT_PAREN . (parameter_profile_opt . 0)) 
(RENAMES . (parameter_profile_opt . 0)) (DO . (parameter_profile_opt . 0)) 
(LEFT_PAREN .  810))
+      ((default . error) (COLON_EQUAL .  805) (RIGHT_PAREN . 
(parameter_specification . 4)) (SEMICOLON . (parameter_specification . 4)))
+      ((default . error) (IDENTIFIER . (null_exclusion_opt . 0)) 
(STRING_LITERAL . (null_exclusion_opt . 0)) (CHARACTER_LITERAL . 
(null_exclusion_opt . 0)) (NOT .  226))
+      ((default . error) (RETURN .  89) (LEFT_PAREN .  801))
+      ((default . error) (WITH . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (IS . (parameter_profile_opt . 0)) (COLON_EQUAL . 
(parameter_profile_opt . 0)) (RIGHT_PAREN . (parameter_profile_opt . 0)) 
(RENAMES . (parameter_profile_opt . 0)) (DO . (parameter_profile_opt . 0)) 
(LEFT_PAREN .  801))
       ((default . error) (DOT .  90) (TICK .  91) (DO . (access_definition . 
0)) (RENAMES . (access_definition . 0)) (RIGHT_PAREN . (access_definition . 0)) 
(COLON_EQUAL . (access_definition . 0)) (IS . (access_definition . 0)) 
(SEMICOLON . (access_definition . 0)) (WITH . (access_definition . 0)) 
(LEFT_PAREN .  107))
       ((default . error) (IDENTIFIER . (formal_object_declaration . 3)) (WITH 
. (formal_object_declaration . 3)) (USE . (formal_object_declaration . 3)) 
(TYPE . (formal_object_declaration . 3)) (PRAGMA . (formal_object_declaration . 
3)) (FUNCTION . (formal_object_declaration . 3)) (PROCEDURE . 
(formal_object_declaration . 3)) (PACKAGE . (formal_object_declaration . 3)))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (SEMICOLON .  807))
-      ((default . error) (DOT .  90) (TICK .  91) (WITH . 
(formal_package_actual_part . 1)) (SEMICOLON . (formal_package_actual_part . 
1)) (LEFT_PAREN .  805))
-      ((default . error) (SEMICOLON .  804))
+      ((default . error) (WITH . (expression_opt . 0)) (SEMICOLON . 
(expression_opt . 0)) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  144) 
(NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (SEMICOLON .  798))
+      ((default . error) (DOT .  90) (TICK .  91) (WITH . 
(formal_package_actual_part . 1)) (SEMICOLON . (formal_package_actual_part . 
1)) (LEFT_PAREN .  796))
+      ((default . error) (SEMICOLON .  795))
       ((default . error) (IDENTIFIER . (formal_subprogram_declaration . 3)) 
(WITH . (formal_subprogram_declaration . 3)) (USE . 
(formal_subprogram_declaration . 3)) (TYPE . (formal_subprogram_declaration . 
3)) (PRAGMA . (formal_subprogram_declaration . 3)) (FUNCTION . 
(formal_subprogram_declaration . 3)) (PROCEDURE . 
(formal_subprogram_declaration . 3)) (PACKAGE . (formal_subprogram_declaration 
. 3)))
       ((default . error) (IDENTIFIER . (formal_subprogram_declaration . 0)) 
(WITH . (formal_subprogram_declaration . 0)) (USE . 
(formal_subprogram_declaration . 0)) (TYPE . (formal_subprogram_declaration . 
0)) (PRAGMA . (formal_subprogram_declaration . 0)) (FUNCTION . 
(formal_subprogram_declaration . 0)) (PROCEDURE . 
(formal_subprogram_declaration . 0)) (PACKAGE . (formal_subprogram_declaration 
. 0)))
-      ((default . error) (SEMICOLON .  803))
+      ((default . error) (SEMICOLON .  794))
       ((default . error) (SEMICOLON . (formal_type_definition . 0)) (WITH . 
(formal_type_definition . 0)))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (AND .  801) (WITH . (interface_type_definition . 5)) 
(SEMICOLON . (interface_type_definition . 5)))
+      ((default . error) (AND .  792) (WITH . (interface_type_definition . 5)) 
(SEMICOLON . (interface_type_definition . 5)))
       ((default . error) (RECORD . (abstract_tagged_limited_opt . 3)) (NULL . 
(abstract_tagged_limited_opt . 3)) (PRIVATE . (abstract_tagged_limited_opt . 
3)))
-      ((default . error) (SEMICOLON .  800))
-      ((default . error) (AND .  799) (WITH . (interface_type_definition . 7)) 
(SEMICOLON . (interface_type_definition . 7)))
+      ((default . error) (SEMICOLON .  791))
+      ((default . error) (AND .  790) (WITH . (interface_type_definition . 7)) 
(SEMICOLON . (interface_type_definition . 7)))
       ((default . error) (SEMICOLON . (formal_type_definition . 3)) (WITH . 
(formal_type_definition . 3)))
-      ((default . error) (AND .  798) (WITH . (interface_type_definition . 6)) 
(SEMICOLON . (interface_type_definition . 6)))
+      ((default . error) (AND .  789) (WITH . (interface_type_definition . 6)) 
(SEMICOLON . (interface_type_definition . 6)))
       ((default . error) (SEMICOLON . (formal_type_definition . 4)) (WITH . 
(formal_type_definition . 4)))
-      ((default . error) (AND .  797) (WITH . (interface_type_definition . 4)) 
(SEMICOLON . (interface_type_definition . 4)))
-      ((default . error) (RIGHT_PAREN .  796))
+      ((default . error) (AND .  788) (WITH . (interface_type_definition . 4)) 
(SEMICOLON . (interface_type_definition . 4)))
+      ((default . error) (RIGHT_PAREN .  787))
       ((default . error) (SEMICOLON . (formal_type_definition . 5)) (WITH . 
(formal_type_definition . 5)))
-      ((default . error) (SEMICOLON . (formal_type_definition . 6)) (WITH . 
(formal_type_definition . 6)) (DIGITS .  795))
-      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  736) 
(NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
+      ((default . error) (SEMICOLON . (formal_type_definition . 6)) (WITH . 
(formal_type_definition . 6)) (DIGITS .  786))
+      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  728) 
(NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
       ((default . error) (NEW . (abstract_limited_synchronized_opt . 1)))
       ((default . error) (NEW . (abstract_limited_synchronized_opt . 2)))
-      ((default . error) (LIMITED .  789) (RECORD . 
(abstract_tagged_limited_opt . 2)) (NULL . (abstract_tagged_limited_opt . 2)) 
(PRIVATE . (abstract_tagged_limited_opt . 2)))
+      ((default . error) (LIMITED .  780) (RECORD . 
(abstract_tagged_limited_opt . 2)) (NULL . (abstract_tagged_limited_opt . 2)) 
(PRIVATE . (abstract_tagged_limited_opt . 2)))
       ((default . error) (RIGHT_PAREN . (discriminant_specification_list . 1)) 
(SEMICOLON . (discriminant_specification_list . 1)))
-      ((default . error) (NULL .  788))
+      ((default . error) (NULL .  779))
       ((default . error) (SEMICOLON . (null_exclusion_opt_name_type . 0)) 
(RIGHT_PAREN . (null_exclusion_opt_name_type . 0)) (COLON_EQUAL . 
(null_exclusion_opt_name_type . 0)) (DOT . (name . 0)) (LEFT_PAREN . (name . 
0)) (TICK . (name . 0)))
-      ((default . error) (SEMICOLON . (discriminant_specification_opt . 4)) 
(RIGHT_PAREN . (discriminant_specification_opt . 4)) (COLON_EQUAL .  787))
+      ((default . error) (SEMICOLON . (discriminant_specification_opt . 4)) 
(RIGHT_PAREN . (discriminant_specification_opt . 4)) (COLON_EQUAL .  778))
       ((default . error) (DOT .  90) (TICK .  91) (LEFT_PAREN .  107))
-      ((default . error) (SEMICOLON . (discriminant_specification_opt . 2)) 
(RIGHT_PAREN . (discriminant_specification_opt . 2)) (COLON_EQUAL .  786))
+      ((default . error) (SEMICOLON . (discriminant_specification_opt . 2)) 
(RIGHT_PAREN . (discriminant_specification_opt . 2)) (COLON_EQUAL .  777))
       ((default . error) (SEMICOLON . (null_exclusion_opt_name_type . 1)) 
(RIGHT_PAREN . (null_exclusion_opt_name_type . 1)) (COLON_EQUAL . 
(null_exclusion_opt_name_type . 1)) (DOT . (name . 3)) (LEFT_PAREN . (name . 
3)) (TICK . (name . 3)))
       ((default . error) ($EOI . (generic_renaming_declaration . 1)) (LIMITED 
. (generic_renaming_declaration . 1)) (SEPARATE . (generic_renaming_declaration 
. 1)) (WITH . (generic_renaming_declaration . 1)) (END . 
(generic_renaming_declaration . 1)) (PRIVATE . (generic_renaming_declaration . 
1)) (IDENTIFIER . (generic_renaming_declaration . 1)) (USE . 
(generic_renaming_declaration . 1)) (TYPE . (generic_renaming_declaration . 1)) 
(TASK . (generic_renaming_declaration . 1)) (SUBTYPE . (g [...]
       ((default . error) ($EOI . (generic_renaming_declaration . 0)) (LIMITED 
. (generic_renaming_declaration . 0)) (SEPARATE . (generic_renaming_declaration 
. 0)) (WITH . (generic_renaming_declaration . 0)) (END . 
(generic_renaming_declaration . 0)) (PRIVATE . (generic_renaming_declaration . 
0)) (IDENTIFIER . (generic_renaming_declaration . 0)) (USE . 
(generic_renaming_declaration . 0)) (TYPE . (generic_renaming_declaration . 0)) 
(TASK . (generic_renaming_declaration . 0)) (SUBTYPE . (g [...]
       ((default . error) ($EOI . (generic_renaming_declaration . 2)) (LIMITED 
. (generic_renaming_declaration . 2)) (SEPARATE . (generic_renaming_declaration 
. 2)) (WITH . (generic_renaming_declaration . 2)) (END . 
(generic_renaming_declaration . 2)) (PRIVATE . (generic_renaming_declaration . 
2)) (IDENTIFIER . (generic_renaming_declaration . 2)) (USE . 
(generic_renaming_declaration . 2)) (TYPE . (generic_renaming_declaration . 2)) 
(TASK . (generic_renaming_declaration . 2)) (SUBTYPE . (g [...]
       ((default . error) (END . (generic_instantiation . 0)) (BEGIN . 
(generic_instantiation . 0)) (ENTRY . (generic_instantiation . 0)) (FOR . 
(generic_instantiation . 0)) (PROTECTED . (generic_instantiation . 0)) (SUBTYPE 
. (generic_instantiation . 0)) (TASK . (generic_instantiation . 0)) (TYPE . 
(generic_instantiation . 0)) (IDENTIFIER . (generic_instantiation . 0)) ($EOI . 
(generic_instantiation . 0)) (FUNCTION . (generic_instantiation . 0)) (GENERIC 
. (generic_instantiation . 0)) (L [...]
-      ((default . error) (PLUS .  154) (MINUS .  153) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (ABS .  144) (NOT .  150) 
(NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
-      ((default . error) (BAR .  576) (LOOP . (relation . 2)) (DO . (relation 
. 2)) (XOR . (relation . 2)) (OR . (relation . 2)) (AND . (relation . 2)) (IS . 
(relation . 2)) (WITH . (relation . 2)) (SEMICOLON . (relation . 2)) (THEN . 
(relation . 2)) (RANGE . (relation . 2)) (DIGITS . (relation . 2)) (RIGHT_PAREN 
. (relation . 2)) (EQUAL_GREATER . (relation . 2)) (ELSE . (relation . 2)) 
(ELSIF . (relation . 2)) (COMMA . (relation . 2)))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (LEFT_PAREN .  148) (RECORD .  774))
+      ((default . error) (AT .  773))
+      ((default . error) (SEMICOLON . (expression_opt . 0)) (RAISE .  153) 
(PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (DOT .  90) (TICK .  91) (IS . ( 771 
(aspect_specification_opt . 0))) (WITH .  109) (LEFT_PAREN .  107))
+      ((default . error) (IS .  770))
+      ((default . error) (WITH . (discriminant_part_opt . 0)) (IS . 
(discriminant_part_opt . 0)) (LEFT_PAREN .  205))
+      ((default . error) (IS . ( 768 (aspect_specification_opt . 0))) (WITH .  
109))
+      ((default . error) (NOT .  723) (IDENTIFIER .  48) (CHARACTER_LITERAL .  
50) (STRING_LITERAL .  49))
+      ((default . error) (SEMICOLON .  766) (IS .  765))
+      ((default . error) (WITH . (discriminant_part_opt . 0)) (IS . 
(discriminant_part_opt . 0)) (SEMICOLON . (discriminant_part_opt . 0)) 
(LEFT_PAREN .  205))
+      ((default . error) (IS . ( 763 (aspect_specification_opt . 0))) (WITH .  
109))
+      ((default . error) (SEMICOLON .  762) (IS .  761))
+      ((default . error) (RENAMES .  760))
+      ((default . error) (RENAMES .  759))
+      ((default . error) (ACCESS .  236) (IDENTIFIER .  48) (CHARACTER_LITERAL 
.  50) (STRING_LITERAL .  49))
+      ((default . error) (END .  757))
+      ((default . error) (SEMICOLON . (package_specification . 1)))
+      ((default . error) (COLON_EQUAL .  756))
+      ((default . error) (SEMICOLON .  755))
+      ((default . error) (NOT . (constant_opt . 0)) (IDENTIFIER . 
(constant_opt . 0)) (STRING_LITERAL . (constant_opt . 0)) (CHARACTER_LITERAL . 
(constant_opt . 0)) (ACCESS . (constant_opt . 0)) (ARRAY . (constant_opt . 0)) 
(CONSTANT .  753))
+      ((default . error) (SEPARATE .  752) (ABSTRACT .  751))
+      ((default . error) (NULL .  750))
+      ((default . error) (LEFT_PAREN .  748))
+      ((default . error) (WITH . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (LEFT_PAREN .  746))
+      ((default . error) (END . (sequence_of_statements_opt . 0)) (EXCEPTION . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt  [...]
+      ((default . error) (SEMICOLON . (name_opt . 0)) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
+      ((default . error) (PLUS .  155) (MINUS .  154) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (ABS .  144) (NOT .  324) 
(NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
+      ((default . error) (BAR .  594) (LOOP . (relation . 2)) (DO . (relation 
. 2)) (THEN . (relation . 2)) (RANGE . (relation . 2)) (DIGITS . (relation . 
2)) (EQUAL_GREATER . (relation . 2)) (ELSE . (relation . 2)) (ELSIF . (relation 
. 2)) (XOR . (relation . 2)) (OR . (relation . 2)) (AND . (relation . 2)) 
(COMMA . (relation . 2)) (RIGHT_PAREN . (relation . 2)) (WITH . (relation . 2)) 
(IS . (relation . 2)) (SEMICOLON . (relation . 2)))
+      ((default . error) (OR . (relation_and_then_list . 0)) (XOR . 
(relation_and_then_list . 0)) (LOOP . (relation_and_then_list . 0)) (DO . 
(relation_and_then_list . 0)) (AND . (relation_and_then_list . 0)) (IS . 
(relation_and_then_list . 0)) (SEMICOLON . (relation_and_then_list . 0)) (WITH 
. (relation_and_then_list . 0)) (THEN . (relation_and_then_list . 0)) (RANGE . 
(relation_and_then_list . 0)) (COMMA . (relation_and_then_list . 0)) 
(RIGHT_PAREN . (relation_and_then_list . 0)) (DIGI [...]
+      ((default . error) (AND . (relation_or_else_list . 0)) (XOR . 
(relation_or_else_list . 0)) (LOOP . (relation_or_else_list . 0)) (DO . 
(relation_or_else_list . 0)) (OR . (relation_or_else_list . 0)) (IS . 
(relation_or_else_list . 0)) (SEMICOLON . (relation_or_else_list . 0)) (WITH . 
(relation_or_else_list . 0)) (THEN . (relation_or_else_list . 0)) (RANGE . 
(relation_or_else_list . 0)) (COMMA . (relation_or_else_list . 0)) (RIGHT_PAREN 
. (relation_or_else_list . 0)) (DIGITS . (relati [...]
+      ((default . error) (AND . (relation_or_else_list . 1)) (XOR . 
(relation_or_else_list . 1)) (LOOP . (relation_or_else_list . 1)) (DO . 
(relation_or_else_list . 1)) (OR . (relation_or_else_list . 1)) (IS . 
(relation_or_else_list . 1)) (SEMICOLON . (relation_or_else_list . 1)) (WITH . 
(relation_or_else_list . 1)) (THEN . (relation_or_else_list . 1)) (RANGE . 
(relation_or_else_list . 1)) (COMMA . (relation_or_else_list . 1)) (RIGHT_PAREN 
. (relation_or_else_list . 1)) (DIGITS . (relati [...]
+      ((default . error) (OR . (relation_and_then_list . 1)) (XOR . 
(relation_and_then_list . 1)) (LOOP . (relation_and_then_list . 1)) (DO . 
(relation_and_then_list . 1)) (AND . (relation_and_then_list . 1)) (IS . 
(relation_and_then_list . 1)) (SEMICOLON . (relation_and_then_list . 1)) (WITH 
. (relation_and_then_list . 1)) (THEN . (relation_and_then_list . 1)) (RANGE . 
(relation_and_then_list . 1)) (COMMA . (relation_and_then_list . 1)) 
(RIGHT_PAREN . (relation_and_then_list . 1)) (DIGI [...]
+      ((default . error) (RIGHT_PAREN . (expression_opt . 0)) (RAISE .  153) 
(PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
       ((default . error) (AND . (choice_relation_and_then_list . 0)) 
(EQUAL_GREATER . (choice_relation_and_then_list . 0)) (BAR . 
(choice_relation_and_then_list . 0)))
       ((default . error) (OR . (choice_relation_or_else_list . 0)) 
(EQUAL_GREATER . (choice_relation_or_else_list . 0)) (BAR . 
(choice_relation_or_else_list . 0)))
       ((default . error) (OR . (choice_relation_or_else_list . 1)) 
(EQUAL_GREATER . (choice_relation_or_else_list . 1)) (BAR . 
(choice_relation_or_else_list . 1)))
       ((default . error) (AND . (choice_relation_and_then_list . 1)) 
(EQUAL_GREATER . (choice_relation_and_then_list . 1)) (BAR . 
(choice_relation_and_then_list . 1)))
-      ((default . error) (LEFT_PAREN .  148) (RECORD .  780))
-      ((default . error) (AT .  779))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (DOT .  90) (TICK .  91) (IS . ( 777 
(aspect_specification_opt . 0))) (WITH .  109) (LEFT_PAREN .  107))
-      ((default . error) (IS .  776))
-      ((default . error) (WITH . (discriminant_part_opt . 0)) (IS . 
(discriminant_part_opt . 0)) (LEFT_PAREN .  211))
-      ((default . error) (IS . ( 774 (aspect_specification_opt . 0))) (WITH .  
109))
-      ((default . error) (NOT .  731) (IDENTIFIER .  48) (CHARACTER_LITERAL .  
50) (STRING_LITERAL .  49))
-      ((default . error) (SEMICOLON .  772) (IS .  771))
-      ((default . error) (WITH . (discriminant_part_opt . 0)) (IS . 
(discriminant_part_opt . 0)) (SEMICOLON . (discriminant_part_opt . 0)) 
(LEFT_PAREN .  211))
-      ((default . error) (IS . ( 769 (aspect_specification_opt . 0))) (WITH .  
109))
-      ((default . error) (SEMICOLON .  768) (IS .  767))
-      ((default . error) (RENAMES .  766))
-      ((default . error) (RENAMES .  765))
-      ((default . error) (ACCESS .  242) (IDENTIFIER .  48) (CHARACTER_LITERAL 
.  50) (STRING_LITERAL .  49))
-      ((default . error) (END .  763))
-      ((default . error) (SEMICOLON . (package_specification . 1)))
-      ((default . error) (COLON_EQUAL .  762))
-      ((default . error) (SEMICOLON .  761))
-      ((default . error) (NOT . (constant_opt . 0)) (IDENTIFIER . 
(constant_opt . 0)) (STRING_LITERAL . (constant_opt . 0)) (CHARACTER_LITERAL . 
(constant_opt . 0)) (ACCESS . (constant_opt . 0)) (ARRAY . (constant_opt . 0)) 
(CONSTANT .  759))
-      ((default . error) (SEPARATE .  758) (ABSTRACT .  757))
-      ((default . error) (NULL .  756))
-      ((default . error) (LEFT_PAREN .  754))
-      ((default . error) (WITH . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (LEFT_PAREN .  752))
-      ((default . error) (END . (sequence_of_statements_opt . 0)) (EXCEPTION . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt  [...]
-      ((default . error) (SEMICOLON . (name_opt . 0)) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
-      ((default . error) (OR . (relation_and_then_list . 0)) (XOR . 
(relation_and_then_list . 0)) (LOOP . (relation_and_then_list . 0)) (DO . 
(relation_and_then_list . 0)) (AND . (relation_and_then_list . 0)) (IS . 
(relation_and_then_list . 0)) (WITH . (relation_and_then_list . 0)) (SEMICOLON 
. (relation_and_then_list . 0)) (THEN . (relation_and_then_list . 0)) (RANGE . 
(relation_and_then_list . 0)) (COMMA . (relation_and_then_list . 0)) 
(RIGHT_PAREN . (relation_and_then_list . 0)) (DIGI [...]
-      ((default . error) (AND . (relation_or_else_list . 0)) (XOR . 
(relation_or_else_list . 0)) (LOOP . (relation_or_else_list . 0)) (DO . 
(relation_or_else_list . 0)) (OR . (relation_or_else_list . 0)) (IS . 
(relation_or_else_list . 0)) (WITH . (relation_or_else_list . 0)) (SEMICOLON . 
(relation_or_else_list . 0)) (THEN . (relation_or_else_list . 0)) (RANGE . 
(relation_or_else_list . 0)) (COMMA . (relation_or_else_list . 0)) (RIGHT_PAREN 
. (relation_or_else_list . 0)) (DIGITS . (relati [...]
-      ((default . error) (AND . (relation_or_else_list . 1)) (XOR . 
(relation_or_else_list . 1)) (LOOP . (relation_or_else_list . 1)) (DO . 
(relation_or_else_list . 1)) (OR . (relation_or_else_list . 1)) (IS . 
(relation_or_else_list . 1)) (WITH . (relation_or_else_list . 1)) (SEMICOLON . 
(relation_or_else_list . 1)) (THEN . (relation_or_else_list . 1)) (RANGE . 
(relation_or_else_list . 1)) (COMMA . (relation_or_else_list . 1)) (RIGHT_PAREN 
. (relation_or_else_list . 1)) (DIGITS . (relati [...]
-      ((default . error) (OR . (relation_and_then_list . 1)) (XOR . 
(relation_and_then_list . 1)) (LOOP . (relation_and_then_list . 1)) (DO . 
(relation_and_then_list . 1)) (AND . (relation_and_then_list . 1)) (IS . 
(relation_and_then_list . 1)) (WITH . (relation_and_then_list . 1)) (SEMICOLON 
. (relation_and_then_list . 1)) (THEN . (relation_and_then_list . 1)) (RANGE . 
(relation_and_then_list . 1)) (COMMA . (relation_and_then_list . 1)) 
(RIGHT_PAREN . (relation_and_then_list . 1)) (DIGI [...]
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (LOOP . (raise_expression . 1)) (DO . 
(raise_expression . 1)) (XOR . (raise_expression . 1)) (OR . (raise_expression 
. 1)) (AND . (raise_expression . 1)) (IS . (raise_expression . 1)) (SEMICOLON . 
(raise_expression . 1)) (WITH . (raise_expression . 1)) (THEN . 
(raise_expression . 1)) (RANGE . (raise_expression . 1)) (RIGHT_PAREN . 
(raise_expression . 1)) (COMMA . (raise_expression . 1)) (DIGITS . 
(raise_expression . 1)) (EQUAL_GREATER . (raise_expression . 1)) (E [...]
+      ((default . error) (LOOP . (raise_expression . 1)) (DO . 
(raise_expression . 1)) (XOR . (raise_expression . 1)) (OR . (raise_expression 
. 1)) (AND . (raise_expression . 1)) (IS . (raise_expression . 1)) (WITH . 
(raise_expression . 1)) (SEMICOLON . (raise_expression . 1)) (THEN . 
(raise_expression . 1)) (RANGE . (raise_expression . 1)) (RIGHT_PAREN . 
(raise_expression . 1)) (COMMA . (raise_expression . 1)) (DIGITS . 
(raise_expression . 1)) (EQUAL_GREATER . (raise_expression . 1)) (E [...]
       ((default . error) (LOOP . (aggregate . 4)) (DO . (aggregate . 4)) (OF . 
(aggregate . 4)) (ACCEPT . (aggregate . 4)) (ABORT . (aggregate . 4)) (BEGIN . 
(aggregate . 4)) (CASE . (aggregate . 4)) (DECLARE . (aggregate . 4)) (DELAY . 
(aggregate . 4)) (EXIT . (aggregate . 4)) (FOR . (aggregate . 4)) (GOTO . 
(aggregate . 4)) (IF . (aggregate . 4)) (NULL . (aggregate . 4)) (PRAGMA . 
(aggregate . 4)) (RAISE . (aggregate . 4)) (REQUEUE . (aggregate . 4)) (SELECT 
. (aggregate . 4)) (WHILE . [...]
-      ((default . error) (PLUS . (primary . 1)) (MINUS . (primary . 1)) 
(AMPERSAND . (primary . 1)) (DOT_DOT . (primary . 1)) (IN . (primary . 1)) (NOT 
. (primary . 1)) (EQUAL . (primary . 1)) (GREATER . (primary . 1)) 
(GREATER_EQUAL . (primary . 1)) (LESS . (primary . 1)) (LESS_EQUAL . (primary . 
1)) (SLASH_EQUAL . (primary . 1)) (RIGHT_PAREN . (primary . 1)) (COMMA . 
(primary . 1)) (MOD . (primary . 1)) (REM . (primary . 1)) (SLASH . (primary . 
1)) (STAR . (primary . 1)) (STAR_STAR . ( [...]
-      ((default . error) (COMMA .  273) (RIGHT_PAREN .  747))
-      ((default . error) (ELSE .  743) (RIGHT_PAREN . (if_expression . 3)) 
(COMMA . (if_expression . 3)) (ELSIF .  744))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (REVERSE .  737) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) 
(ABS .  144) (NOT .  736) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(LEFT_PAREN .  148))
-      ((default . error) (REVERSE .  734) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
-      ((default . error) (NOT .  731) (IDENTIFIER .  48) (CHARACTER_LITERAL .  
50) (STRING_LITERAL .  49))
-      ((default . error) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  182) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) 
(ABS .  144) (NOT .  181) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(LEFT_PAREN .  148))
+      ((default . error) (PLUS . (primary . 1)) (MINUS . (primary . 1)) 
(AMPERSAND . (primary . 1)) (DOT_DOT . (primary . 1)) (IN . (primary . 1)) (NOT 
. (primary . 1)) (EQUAL . (primary . 1)) (GREATER . (primary . 1)) 
(GREATER_EQUAL . (primary . 1)) (LESS . (primary . 1)) (LESS_EQUAL . (primary . 
1)) (SLASH_EQUAL . (primary . 1)) (RIGHT_PAREN . (primary . 1)) (COMMA . 
(primary . 1)) (MOD . (primary . 1)) (REM . (primary . 1)) (SLASH . (primary . 
1)) (STAR . (primary . 1)) (STAR_STAR . ( [...]
+      ((default . error) (COMMA .  267) (RIGHT_PAREN .  739))
+      ((default . error) (ELSE .  735) (RIGHT_PAREN . (if_expression . 3)) 
(ELSIF .  736))
+      ((default . error) (DO . (relation . 1)) (LOOP . (relation . 1)) (COMMA 
. (relation . 1)) (ELSIF . (relation . 1)) (ELSE . (relation . 1)) 
(EQUAL_GREATER . (relation . 1)) (RIGHT_PAREN . (relation . 1)) (DIGITS . 
(relation . 1)) (RANGE . (relation . 1)) (THEN . (relation . 1)) (WITH . 
(relation . 1)) (SEMICOLON . (relation . 1)) (IS . (relation . 1)) (AND . 
(relation . 1)) (OR . (relation . 1)) (XOR . (relation . 1)))
+      ((default . error) (RIGHT_PAREN . (expression_opt . 0)) (RAISE .  153) 
(PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (REVERSE .  729) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (PLUS .  155) (MINUS .  154) 
(ABS .  144) (NOT .  728) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(LEFT_PAREN .  148))
+      ((default . error) (REVERSE .  726) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
+      ((default . error) (NOT .  723) (IDENTIFIER .  48) (CHARACTER_LITERAL .  
50) (STRING_LITERAL .  49))
+      ((default . error) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  152) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (PLUS .  155) (MINUS .  154) 
(ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(LEFT_PAREN .  148))
       ((default . error) (RIGHT_PAREN . (case_expression_alternative_list . 
0)) (COMMA . (case_expression_alternative_list . 0)))
-      ((default . error) (RIGHT_PAREN . (case_expression . 0)) (COMMA . ( 729 
(case_expression . 0))))
+      ((default . error) (COMMA .  721) (RIGHT_PAREN . (case_expression . 0)))
       ((default . error) (IS . (aspect_specification_opt . 0)) (WITH .  109))
       ((default . error) (IS . (aspect_specification_opt . 0)) (WITH .  109))
       ((default . error) (IS .  134))
-      ((default . error) (IDENTIFIER .  726))
+      ((default . error) (IDENTIFIER .  718))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (END . (sequence_of_statements_opt . 0)) (EXCEPTION . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt  [...]
-      ((default . error) (IS . (expression_opt . 0)) (RAISE .  152) (PLUS .  
154) (MINUS .  153) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  
151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL 
.  49) (LEFT_PAREN .  148))
-      ((default . error) (BEGIN . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  302) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  299) (IDENTIFIER .  305) (TYPE 
.  304) (GENERIC .  2) (PROTECTED .  301) (TASK .  303) (PACKAGE .  300))
-      ((default . error) (UNTIL .  720) (RAISE .  152) (PLUS .  154) (MINUS .  
153) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  
149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) 
(LEFT_PAREN .  148))
-      ((default . error) (WHEN . (identifier_opt . 0)) (SEMICOLON . 
(identifier_opt . 0)) (IDENTIFIER .  718))
-      ((default . error) (LOOP . (iterator_specification_opt . 0)) (IDENTIFIER 
.  408))
-      ((default . error) (IDENTIFIER .  715))
-      ((default . error) (THEN . (expression_opt . 0)) (RAISE .  152) (PLUS .  
154) (MINUS .  153) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  
151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL 
.  49) (LEFT_PAREN .  148))
-      ((default . error) (END . (sequence_of_statements_opt . 0)) (ACCEPT . 
(label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . 
(label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) (LOOP . 
(label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt . 0)) (NULL . (label_opt . 0)) (PRAGMA . 
(label_opt . 0)) (RAISE . (labe [...]
-      ((default . error) (SEMICOLON .  712))
-      ((default . error) (SEMICOLON .  710) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
+      ((default . error) (END . (sequence_of_statements_opt . 0)) (EXCEPTION . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt  [...]
+      ((default . error) (IS . (expression_opt . 0)) (RAISE .  153) (PLUS .  
155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  
151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL 
.  49) (LEFT_PAREN .  148))
+      ((default . error) (BEGIN . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  272) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  269) (IDENTIFIER .  275) (TYPE 
.  274) (GENERIC .  2) (PROTECTED .  271) (TASK .  273) (PACKAGE .  270))
+      ((default . error) (UNTIL .  712) (SEMICOLON . (expression_opt . 0)) 
(RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  324) 
(NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (WHEN . (identifier_opt . 0)) (SEMICOLON . 
(identifier_opt . 0)) (IDENTIFIER .  710))
+      ((default . error) (LOOP . (iterator_specification_opt . 0)) (IDENTIFIER 
.  402))
+      ((default . error) (IDENTIFIER .  707))
+      ((default . error) (THEN . (expression_opt . 0)) (RAISE .  153) (PLUS .  
155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  
151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL 
.  49) (LEFT_PAREN .  148))
+      ((default . error) (END . (sequence_of_statements_opt . 0)) (ACCEPT . 
(label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . 
(label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) (LOOP . 
(label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt . 0)) (NULL . (label_opt . 0)) (PRAGMA . 
(label_opt . 0)) (RAISE . (labe [...]
+      ((default . error) (SEMICOLON .  704))
+      ((default . error) (SEMICOLON .  702) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (SEMICOLON .  704) (DO . 
(extended_return_object_declaration_opt . 0)) (RAISE .  152) (PLUS .  154) 
(MINUS .  153) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) 
(NEW .  149) (IDENTIFIER .  705) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  
49) (LEFT_PAREN .  148))
-      ((default . error) (ELSE . (select_alternative_list_opt . 0)) (END . 
(select_alternative_list_opt . 0)) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (DELAY .  635) (WHEN .  693) (TERMINATE .  692) (ACCEPT 
.  630))
-      ((default . error) (LOOP . (expression_opt . 0)) (RAISE .  152) (PLUS .  
154) (MINUS .  153) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  
151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL 
.  49) (LEFT_PAREN .  148))
-      ((default . error) (IDENTIFIER .  690))
-      ((default . error) (COLON .  689))
+      ((default . error) (DO . (extended_return_object_declaration_opt . 0)) 
(SEMICOLON . ( 696 (expression_opt . 0))) (RAISE .  153) (PLUS .  155) (MINUS . 
 154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  
149) (IDENTIFIER .  697) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) 
(LEFT_PAREN .  148))
+      ((default . error) (ELSE . (select_alternative_list_opt . 0)) (END . 
(select_alternative_list_opt . 0)) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (DELAY .  627) (WHEN .  685) (TERMINATE .  684) (ACCEPT 
.  622))
+      ((default . error) (LOOP . (expression_opt . 0)) (RAISE .  153) (PLUS .  
155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  
151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL 
.  49) (LEFT_PAREN .  148))
+      ((default . error) (IDENTIFIER .  682))
+      ((default . error) (COLON .  681))
       ((default . error) (OR . (compound_statement . 5)) (THEN . 
(compound_statement . 5)) (WHEN . (compound_statement . 5)) (EXCEPTION . 
(compound_statement . 5)) (END . (compound_statement . 5)) (LESS_LESS . 
(compound_statement . 5)) (ACCEPT . (compound_statement . 5)) (ABORT . 
(compound_statement . 5)) (BEGIN . (compound_statement . 5)) (CASE . 
(compound_statement . 5)) (DECLARE . (compound_statement . 5)) (DELAY . 
(compound_statement . 5)) (EXIT . (compound_statement . 5)) (FOR . (co [...]
       ((default . error) (OR . (simple_statement . 1)) (THEN . 
(simple_statement . 1)) (WHEN . (simple_statement . 1)) (EXCEPTION . 
(simple_statement . 1)) (END . (simple_statement . 1)) (LESS_LESS . 
(simple_statement . 1)) (ACCEPT . (simple_statement . 1)) (ABORT . 
(simple_statement . 1)) (BEGIN . (simple_statement . 1)) (CASE . 
(simple_statement . 1)) (DECLARE . (simple_statement . 1)) (DELAY . 
(simple_statement . 1)) (EXIT . (simple_statement . 1)) (FOR . 
(simple_statement . 1)) (GOTO [...]
       ((default . error) (OR . (select_statement . 3)) (THEN . 
(select_statement . 3)) (WHEN . (select_statement . 3)) (EXCEPTION . 
(select_statement . 3)) (END . (select_statement . 3)) (LESS_LESS . 
(select_statement . 3)) (ACCEPT . (select_statement . 3)) (ABORT . 
(select_statement . 3)) (BEGIN . (select_statement . 3)) (CASE . 
(select_statement . 3)) (DECLARE . (select_statement . 3)) (DELAY . 
(select_statement . 3)) (EXIT . (select_statement . 3)) (FOR . 
(select_statement . 3)) (GOTO [...]
@@ -2476,220 +2468,218 @@
       ((default . error) (OR . (simple_statement . 2)) (THEN . 
(simple_statement . 2)) (WHEN . (simple_statement . 2)) (EXCEPTION . 
(simple_statement . 2)) (END . (simple_statement . 2)) (LESS_LESS . 
(simple_statement . 2)) (ACCEPT . (simple_statement . 2)) (ABORT . 
(simple_statement . 2)) (BEGIN . (simple_statement . 2)) (CASE . 
(simple_statement . 2)) (DECLARE . (simple_statement . 2)) (DELAY . 
(simple_statement . 2)) (EXIT . (simple_statement . 2)) (FOR . 
(simple_statement . 2)) (GOTO [...]
       ((default . error) (OR . (compound_statement . 4)) (THEN . 
(compound_statement . 4)) (WHEN . (compound_statement . 4)) (EXCEPTION . 
(compound_statement . 4)) (END . (compound_statement . 4)) (LESS_LESS . 
(compound_statement . 4)) (ACCEPT . (compound_statement . 4)) (ABORT . 
(compound_statement . 4)) (BEGIN . (compound_statement . 4)) (CASE . 
(compound_statement . 4)) (DECLARE . (compound_statement . 4)) (DELAY . 
(compound_statement . 4)) (EXIT . (compound_statement . 4)) (FOR . (co [...]
       ((default . error) (ACCEPT . (label_opt . 1)) (BEGIN . (label_opt . 1)) 
(CASE . (label_opt . 1)) (DECLARE . (label_opt . 1)) (FOR . (label_opt . 1)) 
(IF . (label_opt . 1)) (LOOP . (label_opt . 1)) (RETURN . (label_opt . 1)) 
(SELECT . (label_opt . 1)) (WHILE . (label_opt . 1)) (ABORT . (label_opt . 1)) 
(DELAY . (label_opt . 1)) (EXIT . (label_opt . 1)) (GOTO . (label_opt . 1)) 
(NULL . (label_opt . 1)) (PRAGMA . (label_opt . 1)) (RAISE . (label_opt . 1)) 
(REQUEUE . (label_opt . 1)) ( [...]
-      ((default . error) (END .  688))
+      ((default . error) (END .  680))
       ((default . error) (OR . (compound_statement . 0)) (THEN . 
(compound_statement . 0)) (WHEN . (compound_statement . 0)) (EXCEPTION . 
(compound_statement . 0)) (END . (compound_statement . 0)) (LESS_LESS . 
(compound_statement . 0)) (ACCEPT . (compound_statement . 0)) (ABORT . 
(compound_statement . 0)) (BEGIN . (compound_statement . 0)) (CASE . 
(compound_statement . 0)) (DECLARE . (compound_statement . 0)) (DELAY . 
(compound_statement . 0)) (EXIT . (compound_statement . 0)) (FOR . (co [...]
-      ((default . error) (LOOP .  687))
-      ((default . error) (NULL .  641) (GOTO .  638) (ABORT .  631) (ACCEPT .  
630) (DECLARE .  634) (BEGIN .  632) (LOOP .  640) (CASE .  633) (IF .  639) 
(PRAGMA .  7) (RAISE .  642) (DELAY .  635) (REQUEUE .  643) (RETURN .  644) 
(EXIT .  636) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  
49) (WHILE .  646) (FOR .  637) (SELECT .  645))
+      ((default . error) (LOOP .  679))
+      ((default . error) (NULL .  633) (GOTO .  630) (ABORT .  623) (ACCEPT .  
622) (DECLARE .  626) (BEGIN .  624) (LOOP .  632) (CASE .  625) (IF .  631) 
(PRAGMA .  7) (RAISE .  634) (DELAY .  627) (REQUEUE .  635) (RETURN .  636) 
(EXIT .  628) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  
49) (WHILE .  638) (FOR .  629) (SELECT .  637))
       ((default . error) (OR . (compound_statement . 2)) (THEN . 
(compound_statement . 2)) (WHEN . (compound_statement . 2)) (EXCEPTION . 
(compound_statement . 2)) (END . (compound_statement . 2)) (LESS_LESS . 
(compound_statement . 2)) (ACCEPT . (compound_statement . 2)) (ABORT . 
(compound_statement . 2)) (BEGIN . (compound_statement . 2)) (CASE . 
(compound_statement . 2)) (DECLARE . (compound_statement . 2)) (DELAY . 
(compound_statement . 2)) (EXIT . (compound_statement . 2)) (FOR . (co [...]
-      ((default . error) (DOT .  90) (SEMICOLON .  684) (TICK .  91) 
(COLON_EQUAL .  683) (LEFT_PAREN .  107))
+      ((default . error) (DOT .  90) (SEMICOLON .  676) (TICK .  91) 
(COLON_EQUAL .  675) (LEFT_PAREN .  107))
       ((default . error) (OR . (simple_statement . 10)) (THEN . 
(simple_statement . 10)) (WHEN . (simple_statement . 10)) (EXCEPTION . 
(simple_statement . 10)) (END . (simple_statement . 10)) (LESS_LESS . 
(simple_statement . 10)) (ACCEPT . (simple_statement . 10)) (ABORT . 
(simple_statement . 10)) (BEGIN . (simple_statement . 10)) (CASE . 
(simple_statement . 10)) (DECLARE . (simple_statement . 10)) (DELAY . 
(simple_statement . 10)) (EXIT . (simple_statement . 10)) (FOR . 
(simple_statemen [...]
       ((default . error) (OR . (simple_statement . 4)) (THEN . 
(simple_statement . 4)) (WHEN . (simple_statement . 4)) (EXCEPTION . 
(simple_statement . 4)) (END . (simple_statement . 4)) (LESS_LESS . 
(simple_statement . 4)) (ACCEPT . (simple_statement . 4)) (ABORT . 
(simple_statement . 4)) (BEGIN . (simple_statement . 4)) (CASE . 
(simple_statement . 4)) (DECLARE . (simple_statement . 4)) (DELAY . 
(simple_statement . 4)) (EXIT . (simple_statement . 4)) (FOR . 
(simple_statement . 4)) (GOTO [...]
       ((default . error) (OR . (simple_statement . 9)) (THEN . 
(simple_statement . 9)) (WHEN . (simple_statement . 9)) (EXCEPTION . 
(simple_statement . 9)) (END . (simple_statement . 9)) (LESS_LESS . 
(simple_statement . 9)) (ACCEPT . (simple_statement . 9)) (ABORT . 
(simple_statement . 9)) (BEGIN . (simple_statement . 9)) (CASE . 
(simple_statement . 9)) (DECLARE . (simple_statement . 9)) (DELAY . 
(simple_statement . 9)) (EXIT . (simple_statement . 9)) (FOR . 
(simple_statement . 9)) (GOTO [...]
       ((default . error) (OR . (simple_statement . 6)) (THEN . 
(simple_statement . 6)) (WHEN . (simple_statement . 6)) (EXCEPTION . 
(simple_statement . 6)) (END . (simple_statement . 6)) (LESS_LESS . 
(simple_statement . 6)) (ACCEPT . (simple_statement . 6)) (ABORT . 
(simple_statement . 6)) (BEGIN . (simple_statement . 6)) (CASE . 
(simple_statement . 6)) (DECLARE . (simple_statement . 6)) (DELAY . 
(simple_statement . 6)) (EXIT . (simple_statement . 6)) (FOR . 
(simple_statement . 6)) (GOTO [...]
       ((default . error) (OR . (select_statement . 0)) (THEN . 
(select_statement . 0)) (WHEN . (select_statement . 0)) (EXCEPTION . 
(select_statement . 0)) (END . (select_statement . 0)) (LESS_LESS . 
(select_statement . 0)) (ACCEPT . (select_statement . 0)) (ABORT . 
(select_statement . 0)) (BEGIN . (select_statement . 0)) (CASE . 
(select_statement . 0)) (DECLARE . (select_statement . 0)) (DELAY . 
(select_statement . 0)) (EXIT . (select_statement . 0)) (FOR . 
(select_statement . 0)) (GOTO [...]
       ((default . error) (OR . (compound_statement . 6)) (THEN . 
(compound_statement . 6)) (WHEN . (compound_statement . 6)) (EXCEPTION . 
(compound_statement . 6)) (END . (compound_statement . 6)) (LESS_LESS . 
(compound_statement . 6)) (ACCEPT . (compound_statement . 6)) (ABORT . 
(compound_statement . 6)) (BEGIN . (compound_statement . 6)) (CASE . 
(compound_statement . 6)) (DECLARE . (compound_statement . 6)) (DELAY . 
(compound_statement . 6)) (EXIT . (compound_statement . 6)) (FOR . (co [...]
-      ((default . error) (WHEN . (sequence_of_statements_opt . 1)) (THEN . 
(sequence_of_statements_opt . 1)) (OR . (sequence_of_statements_opt . 1)) 
(ELSIF . (sequence_of_statements_opt . 1)) (ELSE . (sequence_of_statements_opt 
. 1)) (END . (sequence_of_statements_opt . 1)) (EXCEPTION . 
(sequence_of_statements_opt . 1)) (LESS_LESS .  647) (ACCEPT . (label_opt . 0)) 
(BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) 
(FOR . (label_opt . 0)) (IF . (label_opt . 0) [...]
-      ((default . error) (END . (handled_sequence_of_statements . 1)) 
(EXCEPTION .  680))
+      ((default . error) (WHEN . (sequence_of_statements_opt . 1)) (THEN . 
(sequence_of_statements_opt . 1)) (OR . (sequence_of_statements_opt . 1)) 
(ELSIF . (sequence_of_statements_opt . 1)) (ELSE . (sequence_of_statements_opt 
. 1)) (END . (sequence_of_statements_opt . 1)) (EXCEPTION . 
(sequence_of_statements_opt . 1)) (LESS_LESS .  639) (ACCEPT . (label_opt . 0)) 
(BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) 
(FOR . (label_opt . 0)) (IF . (label_opt . 0) [...]
+      ((default . error) (END . (handled_sequence_of_statements . 1)) 
(EXCEPTION .  672))
       ((default . error) (OR . (simple_statement . 5)) (THEN . 
(simple_statement . 5)) (WHEN . (simple_statement . 5)) (EXCEPTION . 
(simple_statement . 5)) (END . (simple_statement . 5)) (LESS_LESS . 
(simple_statement . 5)) (ACCEPT . (simple_statement . 5)) (ABORT . 
(simple_statement . 5)) (BEGIN . (simple_statement . 5)) (CASE . 
(simple_statement . 5)) (DECLARE . (simple_statement . 5)) (DELAY . 
(simple_statement . 5)) (EXIT . (simple_statement . 5)) (FOR . 
(simple_statement . 5)) (GOTO [...]
       ((default . error) (WHEN . (sequence_of_statements . 0)) (THEN . 
(sequence_of_statements . 0)) (OR . (sequence_of_statements . 0)) (ELSIF . 
(sequence_of_statements . 0)) (ELSE . (sequence_of_statements . 0)) (EXCEPTION 
. (sequence_of_statements . 0)) (END . (sequence_of_statements . 0)) (LESS_LESS 
. (sequence_of_statements . 0)) (ACCEPT . (sequence_of_statements . 0)) (ABORT 
. (sequence_of_statements . 0)) (BEGIN . (sequence_of_statements . 0)) (CASE . 
(sequence_of_statements . 0)) [...]
       ((default . error) (OR . (select_statement . 1)) (THEN . 
(select_statement . 1)) (WHEN . (select_statement . 1)) (EXCEPTION . 
(select_statement . 1)) (END . (select_statement . 1)) (LESS_LESS . 
(select_statement . 1)) (ACCEPT . (select_statement . 1)) (ABORT . 
(select_statement . 1)) (BEGIN . (select_statement . 1)) (CASE . 
(select_statement . 1)) (DECLARE . (select_statement . 1)) (DELAY . 
(select_statement . 1)) (EXIT . (select_statement . 1)) (FOR . 
(select_statement . 1)) (GOTO [...]
-      ((default . error) (SEMICOLON .  679))
-      ((default . error) (SEMICOLON .  678))
+      ((default . error) (SEMICOLON .  671))
+      ((default . error) (SEMICOLON .  670))
       ((default . error) (IDENTIFIER . (generic_instantiation . 2)) (TYPE . 
(generic_instantiation . 2)) (TASK . (generic_instantiation . 2)) (SUBTYPE . 
(generic_instantiation . 2)) (PROTECTED . (generic_instantiation . 2)) (FOR . 
(generic_instantiation . 2)) (ENTRY . (generic_instantiation . 2)) (BEGIN . 
(generic_instantiation . 2)) (END . (generic_instantiation . 2)) (WITH . 
(generic_instantiation . 2)) (USE . (generic_instantiation . 2)) (SEPARATE . 
(generic_instantiation . 2)) (PROCE [...]
       ((default . error) (IDENTIFIER . (generic_instantiation . 1)) (TYPE . 
(generic_instantiation . 1)) (TASK . (generic_instantiation . 1)) (SUBTYPE . 
(generic_instantiation . 1)) (PROTECTED . (generic_instantiation . 1)) (FOR . 
(generic_instantiation . 1)) (ENTRY . (generic_instantiation . 1)) (BEGIN . 
(generic_instantiation . 1)) (END . (generic_instantiation . 1)) (WITH . 
(generic_instantiation . 1)) (USE . (generic_instantiation . 1)) (SEPARATE . 
(generic_instantiation . 1)) (PROCE [...]
-      ((default . error) (END . (exception_handler_list_opt . 0)) (WHEN .  
952))
+      ((default . error) (END . (exception_handler_list_opt . 0)) (WHEN .  
943))
       ((default . error) (OR . (sequence_of_statements . 2)) (THEN . 
(sequence_of_statements . 2)) (WHEN . (sequence_of_statements . 2)) 
(CHARACTER_LITERAL . ((sequence_of_statements . 2) (label_opt . 1))) 
(STRING_LITERAL . ((sequence_of_statements . 2) (label_opt . 1))) (IDENTIFIER . 
((sequence_of_statements . 2) (label_opt . 1))) (WHILE . 
((sequence_of_statements . 2) (label_opt . 1))) (SELECT . 
((sequence_of_statements . 2) (label_opt . 1))) (RETURN . 
((sequence_of_statements . 2) (la [...]
       ((default . error) (OR . (sequence_of_statements . 1)) (THEN . 
(sequence_of_statements . 1)) (WHEN . (sequence_of_statements . 1)) 
(CHARACTER_LITERAL . (sequence_of_statements . 1)) (STRING_LITERAL . 
(sequence_of_statements . 1)) (IDENTIFIER . (sequence_of_statements . 1)) 
(WHILE . (sequence_of_statements . 1)) (SELECT . (sequence_of_statements . 1)) 
(RETURN . (sequence_of_statements . 1)) (REQUEUE . (sequence_of_statements . 
1)) (RAISE . (sequence_of_statements . 1)) (PRAGMA . (se [...]
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (SEMICOLON . (expression_opt . 0)) (RAISE .  153) 
(PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
       ((default . error) (WHEN . (procedure_call_statement . 0)) (OR . 
(procedure_call_statement . 0)) (THEN . (procedure_call_statement . 0)) (ELSIF 
. (procedure_call_statement . 0)) (ELSE . (procedure_call_statement . 0)) 
(CHARACTER_LITERAL . (procedure_call_statement . 0)) (STRING_LITERAL . 
(procedure_call_statement . 0)) (IDENTIFIER . (procedure_call_statement . 0)) 
(WHILE . (procedure_call_statement . 0)) (SELECT . (procedure_call_statement . 
0)) (RETURN . (procedure_call_statement  [...]
       ((default . error) (OR . (statement . 1)) (THEN . (statement . 1)) (WHEN 
. (statement . 1)) (EXCEPTION . (statement . 1)) (END . (statement . 1)) 
(LESS_LESS . (statement . 1)) (ACCEPT . (statement . 1)) (ABORT . (statement . 
1)) (BEGIN . (statement . 1)) (CASE . (statement . 1)) (DECLARE . (statement . 
1)) (DELAY . (statement . 1)) (EXIT . (statement . 1)) (FOR . (statement . 1)) 
(GOTO . (statement . 1)) (IF . (statement . 1)) (LOOP . (statement . 1)) (NULL 
. (statement . 1)) (PRAG [...]
       ((default . error) (OR . (statement . 0)) (THEN . (statement . 0)) (WHEN 
. (statement . 0)) (EXCEPTION . (statement . 0)) (END . (statement . 0)) 
(LESS_LESS . (statement . 0)) (ACCEPT . (statement . 0)) (ABORT . (statement . 
0)) (BEGIN . (statement . 0)) (CASE . (statement . 0)) (DECLARE . (statement . 
0)) (DELAY . (statement . 0)) (EXIT . (statement . 0)) (FOR . (statement . 0)) 
(GOTO . (statement . 0)) (IF . (statement . 0)) (LOOP . (statement . 0)) (NULL 
. (statement . 0)) (PRAG [...]
-      ((default . error) (END . (sequence_of_statements_opt . 0)) (ACCEPT . 
(label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . 
(label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) (LOOP . 
(label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt . 0)) (NULL . (label_opt . 0)) (PRAGMA . 
(label_opt . 0)) (RAISE . (labe [...]
+      ((default . error) (END . (sequence_of_statements_opt . 0)) (ACCEPT . 
(label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . 
(label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) (LOOP . 
(label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt . 0)) (NULL . (label_opt . 0)) (PRAGMA . 
(label_opt . 0)) (RAISE . (labe [...]
       ((default . error) (SEMICOLON . (name_opt . 0)) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
       ((default . error) (CHARACTER_LITERAL . (label_opt . 2)) (STRING_LITERAL 
. (label_opt . 2)) (IDENTIFIER . (label_opt . 2)) (REQUEUE . (label_opt . 2)) 
(RAISE . (label_opt . 2)) (PRAGMA . (label_opt . 2)) (NULL . (label_opt . 2)) 
(GOTO . (label_opt . 2)) (EXIT . (label_opt . 2)) (DELAY . (label_opt . 2)) 
(ABORT . (label_opt . 2)) (WHILE . (label_opt . 2)) (SELECT . (label_opt . 2)) 
(RETURN . (label_opt . 2)) (LOOP . (label_opt . 2)) (IF . (label_opt . 2)) (FOR 
. (label_opt . 2)) (DE [...]
-      ((default . error) (GREATER_GREATER .  948))
+      ((default . error) (GREATER_GREATER .  939))
       ((default . error) (LOOP . (iteration_scheme . 0)))
-      ((default . error) (SEMICOLON .  947))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (END . (sequence_of_statements_opt . 0)) (OR . 
(sequence_of_statements_opt . 0)) (ELSE . (sequence_of_statements_opt . 0)) 
(ACCEPT . (label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) 
(DECLARE . (label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) 
(LOOP . (label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) 
(WHILE . (label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) 
(EXIT . (label_opt . 0)) (GOTO . ( [...]
+      ((default . error) (SEMICOLON .  938))
+      ((default . error) (EQUAL_GREATER . (expression_opt . 0)) (RAISE .  153) 
(PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (END . (sequence_of_statements_opt . 0)) (OR . 
(sequence_of_statements_opt . 0)) (ELSE . (sequence_of_statements_opt . 0)) 
(ACCEPT . (label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) 
(DECLARE . (label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) 
(LOOP . (label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) 
(WHILE . (label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) 
(EXIT . (label_opt . 0)) (GOTO . ( [...]
       ((default . error) (ELSE . (select_alternative . 3)) (OR . 
(select_alternative . 3)) (END . (select_alternative . 3)))
-      ((default . error) (OR . (sequence_of_statements_opt . 0)) (END . 
(sequence_of_statements_opt . 0)) (ELSE . (sequence_of_statements_opt . 0)) 
(THEN . (sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_op [...]
-      ((default . error) (ELSE .  942) (OR .  943))
-      ((default . error) (DOT .  90) (SEMICOLON .  684) (TICK .  91) (OR . 
(sequence_of_statements_opt . 0)) (ELSE . (sequence_of_statements_opt . 0)) 
(THEN . (sequence_of_statements_opt . 0)) (LEFT_PAREN .  107) (ACCEPT . 
(label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . 
(label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) (LOOP . 
(label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . 
(label_opt . 0)) (ABORT . (label_opt . [...]
-      ((default . error) (OR . (sequence_of_statements_opt . 0)) (ELSE . 
(sequence_of_statements_opt . 0)) (THEN . (sequence_of_statements_opt . 0)) 
(ACCEPT . (label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) 
(DECLARE . (label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) 
(LOOP . (label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) 
(WHILE . (label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) 
(EXIT . (label_opt . 0)) (GOTO .  [...]
+      ((default . error) (OR . (sequence_of_statements_opt . 0)) (END . 
(sequence_of_statements_opt . 0)) (ELSE . (sequence_of_statements_opt . 0)) 
(THEN . (sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_op [...]
+      ((default . error) (ELSE .  933) (OR .  934))
+      ((default . error) (DOT .  90) (SEMICOLON .  676) (TICK .  91) (OR . 
(sequence_of_statements_opt . 0)) (ELSE . (sequence_of_statements_opt . 0)) 
(THEN . (sequence_of_statements_opt . 0)) (LEFT_PAREN .  107) (ACCEPT . 
(label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . 
(label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) (LOOP . 
(label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . 
(label_opt . 0)) (ABORT . (label_opt . [...]
+      ((default . error) (OR . (sequence_of_statements_opt . 0)) (ELSE . 
(sequence_of_statements_opt . 0)) (THEN . (sequence_of_statements_opt . 0)) 
(ACCEPT . (label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) 
(DECLARE . (label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) 
(LOOP . (label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) 
(WHILE . (label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) 
(EXIT . (label_opt . 0)) (GOTO .  [...]
       ((default . error) (ELSE . (select_alternative_list . 0)) (END . 
(select_alternative_list . 0)) (OR . (select_alternative_list . 0)))
-      ((default . error) (ELSE . (select_alternative_list_opt . 1)) (END . 
(select_alternative_list_opt . 1)) (OR .  939))
-      ((default . error) (ELSE .  937) (END .  938))
-      ((default . error) (THEN .  936))
+      ((default . error) (ELSE . (select_alternative_list_opt . 1)) (END . 
(select_alternative_list_opt . 1)) (OR .  930))
+      ((default . error) (ELSE .  928) (END .  929))
+      ((default . error) (THEN .  927))
       ((default . error) (WHEN . (simple_return_statement . 0)) (THEN . 
(simple_return_statement . 0)) (OR . (simple_return_statement . 0)) (ELSIF . 
(simple_return_statement . 0)) (ELSE . (simple_return_statement . 0)) 
(CHARACTER_LITERAL . (simple_return_statement . 0)) (STRING_LITERAL . 
(simple_return_statement . 0)) (IDENTIFIER . (simple_return_statement . 0)) 
(WHILE . (simple_return_statement . 0)) (SELECT . (simple_return_statement . 
0)) (RETURN . (simple_return_statement . 0)) (REQU [...]
-      ((default . error) (COLON .  935) (STAR_STAR . (name . 0)) (STAR . (name 
. 0)) (SLASH . (name . 0)) (REM . (name . 0)) (MOD . (name . 0)) (SEMICOLON . 
(name . 0)) (SLASH_EQUAL . (name . 0)) (LESS_EQUAL . (name . 0)) (LESS . (name 
. 0)) (GREATER_EQUAL . (name . 0)) (GREATER . (name . 0)) (EQUAL . (name . 0)) 
(NOT . (name . 0)) (IN . (name . 0)) (AMPERSAND . (name . 0)) (MINUS . (name . 
0)) (PLUS . (name . 0)) (LEFT_PAREN . (name . 0)) (AND . (name . 0)) (OR . 
(name . 0)) (XOR . (nam [...]
-      ((default . error) (SEMICOLON .  934))
-      ((default . error) (DO . (extended_return_object_declaration_opt . 1)) 
(SEMICOLON .  933))
-      ((default . error) (DO .  932))
-      ((default . error) (WITH .  930) (DOT .  90) (TICK .  91) (SEMICOLON .  
931) (LEFT_PAREN .  107))
+      ((default . error) (COLON .  926) (STAR_STAR . (name . 0)) (STAR . (name 
. 0)) (SLASH . (name . 0)) (REM . (name . 0)) (MOD . (name . 0)) (SEMICOLON . 
(name . 0)) (SLASH_EQUAL . (name . 0)) (LESS_EQUAL . (name . 0)) (LESS . (name 
. 0)) (GREATER_EQUAL . (name . 0)) (GREATER . (name . 0)) (EQUAL . (name . 0)) 
(NOT . (name . 0)) (IN . (name . 0)) (AMPERSAND . (name . 0)) (MINUS . (name . 
0)) (PLUS . (name . 0)) (LEFT_PAREN . (name . 0)) (AND . (name . 0)) (OR . 
(name . 0)) (XOR . (nam [...]
+      ((default . error) (SEMICOLON .  925))
+      ((default . error) (DO . (extended_return_object_declaration_opt . 1)) 
(SEMICOLON .  924))
+      ((default . error) (DO .  923))
+      ((default . error) (WITH .  921) (DOT .  90) (TICK .  91) (SEMICOLON .  
922) (LEFT_PAREN .  107))
       ((default . error) (WHEN . (raise_statement . 0)) (THEN . 
(raise_statement . 0)) (OR . (raise_statement . 0)) (ELSIF . (raise_statement . 
0)) (ELSE . (raise_statement . 0)) (CHARACTER_LITERAL . (raise_statement . 0)) 
(STRING_LITERAL . (raise_statement . 0)) (IDENTIFIER . (raise_statement . 0)) 
(WHILE . (raise_statement . 0)) (SELECT . (raise_statement . 0)) (RETURN . 
(raise_statement . 0)) (REQUEUE . (raise_statement . 0)) (RAISE . 
(raise_statement . 0)) (PRAGMA . (raise_statement  [...]
-      ((default . error) (WITH .  928) (DOT .  90) (TICK .  91) (SEMICOLON .  
929) (LEFT_PAREN .  107))
+      ((default . error) (WITH .  919) (DOT .  90) (TICK .  91) (SEMICOLON .  
920) (LEFT_PAREN .  107))
       ((default . error) (WHEN . (simple_statement . 0)) (THEN . 
(simple_statement . 0)) (OR . (simple_statement . 0)) (ELSIF . 
(simple_statement . 0)) (ELSE . (simple_statement . 0)) (CHARACTER_LITERAL . 
(simple_statement . 0)) (STRING_LITERAL . (simple_statement . 0)) (IDENTIFIER . 
(simple_statement . 0)) (WHILE . (simple_statement . 0)) (SELECT . 
(simple_statement . 0)) (RETURN . (simple_statement . 0)) (REQUEUE . 
(simple_statement . 0)) (RAISE . (simple_statement . 0)) (PRAGMA . (sim [...]
-      ((default . error) (END .  927))
-      ((default . error) (THEN .  926))
-      ((default . error) (SEMICOLON .  925))
+      ((default . error) (END .  918))
+      ((default . error) (THEN .  917))
+      ((default . error) (SEMICOLON .  916))
       ((default . error) (LOOP . (iterator_specification_opt . 1)))
       ((default . error) (LOOP . (iteration_scheme . 1)))
       ((default . error) (WHEN . (identifier_opt . 1)) (SEMICOLON . 
(identifier_opt . 1)))
-      ((default . error) (WHEN .  923) (SEMICOLON .  924))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (SEMICOLON .  921))
-      ((default . error) (BEGIN .  920))
-      ((default . error) (IS .  919))
-      ((default . error) (END .  918))
-      ((default . error) (DOT .  90) (TICK .  91) (SEMICOLON .  917) 
(LEFT_PAREN .  107))
-      ((default . error) (SEMICOLON . (actual_parameter_part_opt . 0)) (DO . 
(actual_parameter_part_opt . 0)) (LEFT_PAREN . ( 914 (actual_parameter_part_opt 
. 0))))
-      ((default . error) (IS .  913))
-      ((default . error) (IS .  912))
-      ((default . error) (WHEN .  624))
-      ((default . error) (BAR .  286) (EQUAL_GREATER .  910))
-      ((default . error) (NULL .  909))
-      ((default . error) (DO . (subtype_indication . 3)) (OF . 
(subtype_indication . 3)) (AND . (subtype_indication . 3)) (SEMICOLON . 
(subtype_indication . 3)) (WITH . (subtype_indication . 3)) (COLON_EQUAL . 
(subtype_indication . 3)) (DOT .  90) (TICK .  91) (RANGE .  904) (LEFT_PAREN . 
 829))
-      ((default . error) (OF .  908))
+      ((default . error) (WHEN .  914) (SEMICOLON .  915))
+      ((default . error) (SEMICOLON . (expression_opt . 0)) (RAISE .  153) 
(PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (SEMICOLON .  912))
+      ((default . error) (BEGIN .  911))
+      ((default . error) (IS .  910))
+      ((default . error) (END .  909))
+      ((default . error) (DOT .  90) (TICK .  91) (SEMICOLON .  908) 
(LEFT_PAREN .  107))
+      ((default . error) (SEMICOLON . (actual_parameter_part_opt . 0)) (DO . 
(actual_parameter_part_opt . 0)) (LEFT_PAREN . ( 905 (actual_parameter_part_opt 
. 0))))
+      ((default . error) (IS .  904))
+      ((default . error) (IS .  903))
+      ((default . error) (WHEN .  616))
+      ((default . error) (BAR .  356) (EQUAL_GREATER .  901))
+      ((default . error) (NULL .  900))
+      ((default . error) (DO . (subtype_indication . 3)) (OF . 
(subtype_indication . 3)) (AND . (subtype_indication . 3)) (SEMICOLON . 
(subtype_indication . 3)) (WITH . (subtype_indication . 3)) (COLON_EQUAL . 
(subtype_indication . 3)) (DOT .  90) (TICK .  91) (RANGE .  895) (LEFT_PAREN . 
 820))
+      ((default . error) (OF .  899))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
       ((default . error) (DOT .  90) (TICK .  91) (LOOP . 
(iterator_specification . 5)) (EQUAL_GREATER . (iterator_specification . 5)) 
(LEFT_PAREN .  107))
-      ((default . error) (NUMERIC_LITERAL .  155) (NULL .  906) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  736) 
(NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
+      ((default . error) (NUMERIC_LITERAL .  156) (NULL .  897) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  728) 
(NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
       ((default . error) (LOOP . (iterator_specification . 1)) (EQUAL_GREATER 
. (iterator_specification . 1)))
-      ((default . error) (LOOP . (subtype_indication . 3)) (DOT .  90) (IN . 
(primary . 3)) (NOT . (primary . 3)) (EQUAL . (primary . 3)) (GREATER . 
(primary . 3)) (GREATER_EQUAL . (primary . 3)) (LESS . (primary . 3)) 
(LESS_EQUAL . (primary . 3)) (SLASH_EQUAL . (primary . 3)) (RIGHT_PAREN . 
((primary . 3) (subtype_indication . 3))) (COMMA . ((primary . 3) 
(subtype_indication . 3))) (BAR . (primary . 3)) (EQUAL_GREATER . ((primary . 
3) (subtype_indication . 3))) (AND . (primary . 3)) (OR [...]
+      ((default . error) (LOOP . (subtype_indication . 3)) (DOT .  90) (IN . 
(primary . 3)) (NOT . (primary . 3)) (EQUAL . (primary . 3)) (GREATER . 
(primary . 3)) (GREATER_EQUAL . (primary . 3)) (LESS . (primary . 3)) 
(LESS_EQUAL . (primary . 3)) (SLASH_EQUAL . (primary . 3)) (RIGHT_PAREN . 
((primary . 3) (subtype_indication . 3))) (COMMA . ((primary . 3) 
(subtype_indication . 3))) (BAR . (primary . 3)) (EQUAL_GREATER . ((primary . 
3) (subtype_indication . 3))) (AND . (primary . 3)) (OR [...]
       ((default . error) (LOOP . (discrete_subtype_definition . 1)) 
(EQUAL_GREATER . (discrete_subtype_definition . 1)) (COMMA . 
(discrete_subtype_definition . 1)) (RIGHT_PAREN . (discrete_subtype_definition 
. 1)))
       ((default . error) (LOOP . (discrete_subtype_definition . 0)) 
(EQUAL_GREATER . (discrete_subtype_definition . 0)) (COMMA . 
(discrete_subtype_definition . 0)) (RIGHT_PAREN . (discrete_subtype_definition 
. 0)))
-      ((default . error) (COMMA . (quantified_expression . 0)) (RIGHT_PAREN . 
(quantified_expression . 0)))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (COMMA . (elsif_expression_list . 0)) (RIGHT_PAREN . 
(elsif_expression_list . 0)) (ELSE . (elsif_expression_list . 0)) (ELSIF . 
(elsif_expression_list . 0)))
-      ((default . error) (COMMA . (if_expression . 1)) (RIGHT_PAREN . 
(if_expression . 1)) (ELSE .  900) (ELSIF .  744))
+      ((default . error) (RIGHT_PAREN . (quantified_expression . 0)))
+      ((default . error) (RIGHT_PAREN . (expression_opt . 0)) (RAISE .  153) 
(PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (THEN . (expression_opt . 0)) (RAISE .  153) (PLUS .  
155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  
151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL 
.  49) (LEFT_PAREN .  148))
+      ((default . error) (RIGHT_PAREN . (elsif_expression_list . 0)) (ELSE . 
(elsif_expression_list . 0)) (ELSIF . (elsif_expression_list . 0)))
+      ((default . error) (RIGHT_PAREN . (if_expression . 1)) (ELSE .  891) 
(ELSIF .  736))
       ((default . error) (USE . (aggregate . 1)) (COLON_EQUAL . (aggregate . 
1)) (CHARACTER_LITERAL . (aggregate . 1)) (STRING_LITERAL . (aggregate . 1)) 
(IDENTIFIER . (aggregate . 1)) (LESS_LESS . (aggregate . 1)) (WHILE . 
(aggregate . 1)) (SELECT . (aggregate . 1)) (REQUEUE . (aggregate . 1)) (RAISE 
. (aggregate . 1)) (PRAGMA . (aggregate . 1)) (NULL . (aggregate . 1)) (IF . 
(aggregate . 1)) (GOTO . (aggregate . 1)) (FOR . (aggregate . 1)) (EXIT . 
(aggregate . 1)) (DELAY . (aggregate . [...]
-      ((default . error) (RIGHT_PAREN .  899))
-      ((default . error) (COMMA . (pragma_argument_association . 3)) 
(RIGHT_PAREN . (pragma_argument_association . 3)))
-      ((default . error) (SEMICOLON .  898))
-      ((default . error) (END .  897))
-      ((default . error) (IDENTIFIER .  235) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  736) 
(NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
+      ((default . error) (RIGHT_PAREN .  890))
+      ((default . error) (XOR . (choice_relation . 0)) (OR . (choice_relation 
. 0)) (BAR . (choice_relation . 0)) (EQUAL_GREATER . (choice_relation . 0)) 
(AND . (choice_relation . 0)))
+      ((default . error) (RIGHT_PAREN .  889))
+      ((default . error) (DO . (membership_choice_list . 1)) (LOOP . 
(membership_choice_list . 1)) (ELSIF . (membership_choice_list . 1)) (ELSE . 
(membership_choice_list . 1)) (EQUAL_GREATER . (membership_choice_list . 1)) 
(DIGITS . (membership_choice_list . 1)) (RANGE . (membership_choice_list . 1)) 
(THEN . (membership_choice_list . 1)) (SEMICOLON . (membership_choice_list . 
1)) (IS . (membership_choice_list . 1)) (WITH . (membership_choice_list . 1)) 
(RIGHT_PAREN . (membership_choice_l [...]
+      ((default . error) (SEMICOLON .  888))
+      ((default . error) (END .  887))
+      ((default . error) (SEMICOLON . (parameter_specification . 0)) 
(RIGHT_PAREN . (parameter_specification . 0)) (IDENTIFIER .  229) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (PLUS .  155) (MINUS .  154) 
(ABS .  144) (NOT .  728) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(LEFT_PAREN .  148))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
-      ((default . error) (FOR .  146) (CASE .  145) (IF .  147) (RAISE .  152) 
(PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  155) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (RIGHT_PAREN . (expression_opt . 0)) (FOR .  146) 
(CASE .  145) (IF .  147) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  
144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
       ((default . error) (ARRAY . (constant_opt . 1)) (ACCESS . (constant_opt 
. 1)) (NOT . (constant_opt . 1)) (IDENTIFIER . (constant_opt . 1)) 
(STRING_LITERAL . (constant_opt . 1)) (CHARACTER_LITERAL . (constant_opt . 1)))
-      ((default . error) (ARRAY .  498) (IDENTIFIER .  48) (CHARACTER_LITERAL 
.  50) (STRING_LITERAL .  49) (ACCESS . (null_exclusion_opt . 0)) (NOT .  885))
+      ((default . error) (ARRAY .  490) (IDENTIFIER .  48) (CHARACTER_LITERAL 
.  50) (STRING_LITERAL .  49) (ACCESS . (null_exclusion_opt . 0)) (NOT .  875))
       ((default . error) (IDENTIFIER . (exception_declaration . 0)) (USE . 
(exception_declaration . 0)) (TYPE . (exception_declaration . 0)) (TASK . 
(exception_declaration . 0)) (SUBTYPE . (exception_declaration . 0)) (PROTECTED 
. (exception_declaration . 0)) (PROCEDURE . (exception_declaration . 0)) 
(PRAGMA . (exception_declaration . 0)) (PACKAGE . (exception_declaration . 0)) 
(OVERRIDING . (exception_declaration . 0)) (NOT . (exception_declaration . 0)) 
(GENERIC . (exception_declaratio [...]
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (SEMICOLON . (expression_opt . 0)) (RAISE .  153) 
(PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
       ((default . error) (SEMICOLON . (name_opt . 0)) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
-      ((default . error) (DOT .  90) (TICK .  91) (RENAMES .  882) (LEFT_PAREN 
.  107))
+      ((default . error) (DOT .  90) (TICK .  91) (RENAMES .  872) (LEFT_PAREN 
.  107))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (PRIVATE . (abstract_tagged_limited_opt . 0)) (NULL . 
(abstract_tagged_limited_opt . 0)) (RECORD . (abstract_tagged_limited_opt . 0)) 
(TAGGED .  869) (RANGE .  867) (MOD .  865) (DIGITS .  862) (DELTA .  861) 
(TASK .  509) (PROTECTED .  505) (SYNCHRONIZED .  507) (INTERFACE .  501) 
(ARRAY .  498) (LEFT_PAREN .  863) (ACCESS . (null_exclusion_opt . 0)) (NOT .  
232) (NEW . ((abstract_limited_opt . 0) (abstract_limited_synchronized_opt . 
0))) (LIMITED .  864) (ABSTR [...]
+      ((default . error) (PRIVATE . (abstract_tagged_limited_opt . 0)) (NULL . 
(abstract_tagged_limited_opt . 0)) (RECORD . (abstract_tagged_limited_opt . 0)) 
(TAGGED .  859) (RANGE .  857) (MOD .  855) (DIGITS .  852) (DELTA .  851) 
(TASK .  501) (PROTECTED .  497) (SYNCHRONIZED .  499) (INTERFACE .  493) 
(ARRAY .  490) (LEFT_PAREN .  853) (ACCESS . (null_exclusion_opt . 0)) (NOT .  
226) (NEW . ((abstract_limited_opt . 0) (abstract_limited_synchronized_opt . 
0))) (LIMITED .  854) (ABSTR [...]
       ((default . error) (BEGIN . (incomplete_type_declaration . 1)) (ENTRY . 
(incomplete_type_declaration . 1)) (FOR . (incomplete_type_declaration . 1)) 
(FUNCTION . (incomplete_type_declaration . 1)) (GENERIC . 
(incomplete_type_declaration . 1)) (NOT . (incomplete_type_declaration . 1)) 
(OVERRIDING . (incomplete_type_declaration . 1)) (PACKAGE . 
(incomplete_type_declaration . 1)) (PRAGMA . (incomplete_type_declaration . 1)) 
(PROCEDURE . (incomplete_type_declaration . 1)) (PROTECTED . ( [...]
-      ((default . error) (SEPARATE .  859))
+      ((default . error) (SEPARATE .  849))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (IS . 
(aspect_specification_opt . 0)) (WITH .  109))
-      ((default . error) (NEW .  855) (END . (declarative_part_opt . 0)) 
(PRIVATE . (declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  302) (PRAGMA .  
7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt 
. 2)) (FOR .  299) (IDENTIFIER .  305) (TYPE .  304) (GENERIC .  2) (PROTECTED 
.  301) (TASK .  303) (PACKAGE .  300))
+      ((default . error) (NEW .  845) (END . (declarative_part_opt . 0)) 
(PRIVATE . (declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  272) (PRAGMA .  
7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt 
. 2)) (FOR .  269) (IDENTIFIER .  275) (TYPE .  274) (GENERIC .  2) (PROTECTED 
.  271) (TASK .  273) (PACKAGE .  270))
       ((default . error) (BEGIN . (single_task_declaration . 2)) (ENTRY . 
(single_task_declaration . 2)) (FOR . (single_task_declaration . 2)) (FUNCTION 
. (single_task_declaration . 2)) (GENERIC . (single_task_declaration . 2)) (NOT 
. (single_task_declaration . 2)) (OVERRIDING . (single_task_declaration . 2)) 
(PACKAGE . (single_task_declaration . 2)) (PRAGMA . (single_task_declaration . 
2)) (PROCEDURE . (single_task_declaration . 2)) (PROTECTED . 
(single_task_declaration . 2)) (SUBTYPE . [...]
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
-      ((default . error) (SEPARATE .  853))
+      ((default . error) (SEPARATE .  843))
       ((default . error) (IS . (aspect_specification_opt . 0)) (WITH .  109))
-      ((default . error) (NEW .  849) (END . (declarative_part_opt . 0)) 
(PRIVATE . (declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  302) (PRAGMA .  
7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt 
. 2)) (FOR .  299) (IDENTIFIER .  305) (TYPE .  304) (GENERIC .  2) (PROTECTED 
.  301) (TASK .  303) (PACKAGE .  300))
-      ((default . error) (SEPARATE .  848))
-      ((default . error) (SEMICOLON .  847))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (IDENTIFIER . (mod_clause_opt . 0)) (AT .  844))
-      ((default . error) (SEMICOLON .  843))
-      ((default . error) (SEMICOLON .  842))
-      ((default . error) (XOR . (choice_relation . 0)) (OR . (choice_relation 
. 0)) (BAR . (choice_relation . 0)) (EQUAL_GREATER . (choice_relation . 0)) 
(AND . (choice_relation . 0)))
-      ((default . error) (RIGHT_PAREN .  841))
-      ((default . error) (DO . (membership_choice_list . 1)) (LOOP . 
(membership_choice_list . 1)) (COMMA . (membership_choice_list . 1)) (ELSIF . 
(membership_choice_list . 1)) (ELSE . (membership_choice_list . 1)) 
(EQUAL_GREATER . (membership_choice_list . 1)) (RIGHT_PAREN . 
(membership_choice_list . 1)) (DIGITS . (membership_choice_list . 1)) (RANGE . 
(membership_choice_list . 1)) (THEN . (membership_choice_list . 1)) (SEMICOLON 
. (membership_choice_list . 1)) (WITH . (membership_choic [...]
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (ACCESS . (null_exclusion_opt . 1)) (IDENTIFIER .  
837) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
+      ((default . error) (NEW .  839) (END . (declarative_part_opt . 0)) 
(PRIVATE . (declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  272) (PRAGMA .  
7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt 
. 2)) (FOR .  269) (IDENTIFIER .  275) (TYPE .  274) (GENERIC .  2) (PROTECTED 
.  271) (TASK .  273) (PACKAGE .  270))
+      ((default . error) (SEPARATE .  838))
+      ((default . error) (SEMICOLON .  837))
+      ((default . error) (SEMICOLON . (expression_opt . 0)) (RAISE .  153) 
(PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (IDENTIFIER . (mod_clause_opt . 0)) (AT .  834))
+      ((default . error) (SEMICOLON .  833))
+      ((default . error) (SEMICOLON .  832))
+      ((default . error) (SEMICOLON . (expression_opt . 0)) (RIGHT_PAREN . 
(expression_opt . 0)) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  144) 
(NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (SEMICOLON . (expression_opt . 0)) (RIGHT_PAREN . 
(expression_opt . 0)) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  144) 
(NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (ACCESS . (null_exclusion_opt . 1)) (IDENTIFIER .  
828) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
       ((default . error) (NULL . (abstract_tagged_limited_opt . 1)) (RECORD . 
(abstract_tagged_limited_opt . 1)) (PRIVATE . (abstract_tagged_limited_opt . 
1)))
       ((default . error) (RIGHT_PAREN . (discrete_subtype_definition_list . 
0)) (COMMA . (discrete_subtype_definition_list . 0)))
-      ((default . error) (COMMA .  836) (RIGHT_PAREN .  835))
+      ((default . error) (COMMA .  827) (RIGHT_PAREN .  826))
       ((default . error) (RIGHT_PAREN . (index_subtype_definition_list . 0)) 
(COMMA . (index_subtype_definition_list . 0)))
-      ((default . error) (COMMA .  834) (RIGHT_PAREN .  833))
-      ((default . error) (RIGHT_PAREN . (subtype_indication . 3)) (COMMA . 
(subtype_indication . 3)) (PLUS . (primary . 3)) (MINUS . (primary . 3)) 
(AMPERSAND . (primary . 3)) (DOT_DOT . (primary . 3)) (MOD . (primary . 3)) 
(REM . (primary . 3)) (SLASH . (primary . 3)) (STAR . (primary . 3)) (STAR_STAR 
. (primary . 3)) (DOT .  90) (TICK .  285) (RANGE .  830) (LEFT_PAREN .  829))
-      ((default . error) (BOX .  828))
+      ((default . error) (COMMA .  825) (RIGHT_PAREN .  824))
+      ((default . error) (RIGHT_PAREN . (subtype_indication . 3)) (COMMA . 
(subtype_indication . 3)) (PLUS . (primary . 3)) (MINUS . (primary . 3)) 
(AMPERSAND . (primary . 3)) (DOT_DOT . (primary . 3)) (MOD . (primary . 3)) 
(REM . (primary . 3)) (SLASH . (primary . 3)) (STAR . (primary . 3)) (STAR_STAR 
. (primary . 3)) (DOT .  90) (TICK .  355) (RANGE .  821) (LEFT_PAREN .  820))
+      ((default . error) (BOX .  819))
       ((default . error) (WITH . (formal_type_definition . 2)) (SEMICOLON . 
(formal_type_definition . 2)))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
       ((default . error) (PACKAGE . (formal_type_declaration . 1)) (PROCEDURE 
. (formal_type_declaration . 1)) (FUNCTION . (formal_type_declaration . 1)) 
(PRAGMA . (formal_type_declaration . 1)) (TYPE . (formal_type_declaration . 1)) 
(USE . (formal_type_declaration . 1)) (WITH . (formal_type_declaration . 1)) 
(IDENTIFIER . (formal_type_declaration . 1)))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (DOT .  90) (TICK .  91) (WITH . 
(and_interface_list_opt . 0)) (SEMICOLON . (and_interface_list_opt . 0)) (AND . 
 821) (LEFT_PAREN .  107))
+      ((default . error) (DOT .  90) (TICK .  91) (WITH . 
(and_interface_list_opt . 0)) (SEMICOLON . (and_interface_list_opt . 0)) (AND . 
 812) (LEFT_PAREN .  107))
       ((default . error) (PACKAGE . (formal_type_declaration . 0)) (PROCEDURE 
. (formal_type_declaration . 0)) (FUNCTION . (formal_type_declaration . 0)) 
(PRAGMA . (formal_type_declaration . 0)) (TYPE . (formal_type_declaration . 0)) 
(USE . (formal_type_declaration . 0)) (WITH . (formal_type_declaration . 0)) 
(IDENTIFIER . (formal_type_declaration . 0)))
       ((default . error) (PACKAGE . (formal_subprogram_declaration . 2)) 
(PROCEDURE . (formal_subprogram_declaration . 2)) (FUNCTION . 
(formal_subprogram_declaration . 2)) (PRAGMA . (formal_subprogram_declaration . 
2)) (TYPE . (formal_subprogram_declaration . 2)) (USE . 
(formal_subprogram_declaration . 2)) (WITH . (formal_subprogram_declaration . 
2)) (IDENTIFIER . (formal_subprogram_declaration . 2)))
-      ((default . error) (BOX .  820) (FOR .  146) (CASE .  145) (IF .  147) 
(RIGHT_PAREN . ((expression_opt . 0) (association_opt . 0))) (COMMA . 
((expression_opt . 0) (association_opt . 0))) (EQUAL_GREATER . 
(discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  183) (STRING_LITERAL .  49) (PLUS .  154) (MINUS .  
153) (OTHERS .  182) (ABS .  144) (NOT .  181) (RAISE .  152) (NUMERIC_LITERAL 
.  155) (NULL .  151) (NEW .  149) (LEFT_PAREN  [...]
+      ((default . error) (BOX .  811) (FOR .  146) (CASE .  145) (IF .  147) 
(RIGHT_PAREN . ((expression_opt . 0) (association_opt . 0))) (COMMA . 
((expression_opt . 0) (association_opt . 0))) (EQUAL_GREATER . 
(discrete_choice_list . 0)) (BAR . (discrete_choice_list . 0)) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  157) (STRING_LITERAL .  49) (PLUS .  155) (MINUS .  
154) (OTHERS .  152) (ABS .  144) (NOT .  150) (RAISE .  153) (NUMERIC_LITERAL 
.  156) (NULL .  151) (NEW .  149) (LEFT_PAREN  [...]
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
       ((default . error) (PACKAGE . (formal_object_declaration . 1)) 
(PROCEDURE . (formal_object_declaration . 1)) (FUNCTION . 
(formal_object_declaration . 1)) (PRAGMA . (formal_object_declaration . 1)) 
(TYPE . (formal_object_declaration . 1)) (USE . (formal_object_declaration . 
1)) (WITH . (formal_object_declaration . 1)) (IDENTIFIER . 
(formal_object_declaration . 1)))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
-      ((default . error) (SEMICOLON .  817))
-      ((default . error) (IDENTIFIER .  77))
+      ((default . error) (SEMICOLON .  808))
+      ((default . error) (SEMICOLON . (parameter_specification . 0)) 
(RIGHT_PAREN . (parameter_specification . 0)) (IDENTIFIER .  77))
       ((default . error) (DO . (access_definition . 1)) (COLON_EQUAL . 
(access_definition . 1)) (RIGHT_PAREN . (access_definition . 1)) (RENAMES . 
(access_definition . 1)) (WITH . (access_definition . 1)) (SEMICOLON . 
(access_definition . 1)) (IS . (access_definition . 1)))
       ((default . error) (DO . (access_definition . 2)) (COLON_EQUAL . 
(access_definition . 2)) (RIGHT_PAREN . (access_definition . 2)) (RENAMES . 
(access_definition . 2)) (WITH . (access_definition . 2)) (SEMICOLON . 
(access_definition . 2)) (IS . (access_definition . 2)))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (RIGHT_PAREN . (parameter_specification . 2)) 
(SEMICOLON . (parameter_specification . 2)))
-      ((default . error) (COLON_EQUAL .  1086) (DOT .  90) (TICK .  91) 
(RIGHT_PAREN . (parameter_specification . 1)) (SEMICOLON . 
(parameter_specification . 1)) (LEFT_PAREN .  107))
+      ((default . error) (RIGHT_PAREN . (expression_opt . 0)) (SEMICOLON . 
(expression_opt . 0)) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  144) 
(NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (RIGHT_PAREN . (parameter_specification . 3)) 
(SEMICOLON . (parameter_specification . 3)))
+      ((default . error) (COLON_EQUAL .  1077) (DOT .  90) (TICK .  91) 
(RIGHT_PAREN . (parameter_specification . 2)) (SEMICOLON . 
(parameter_specification . 2)) (LEFT_PAREN .  107))
       ((default . error) (IDENTIFIER . (formal_object_declaration . 2)) (WITH 
. (formal_object_declaration . 2)) (USE . (formal_object_declaration . 2)) 
(TYPE . (formal_object_declaration . 2)) (PRAGMA . (formal_object_declaration . 
2)) (FUNCTION . (formal_object_declaration . 2)) (PROCEDURE . 
(formal_object_declaration . 2)) (PACKAGE . (formal_object_declaration . 2)))
-      ((default . error) (SEMICOLON .  1085))
-      ((default . error) (SEMICOLON .  1084))
-      ((default . error) (RIGHT_PAREN .  1083))
+      ((default . error) (SEMICOLON .  1076))
+      ((default . error) (SEMICOLON .  1075))
+      ((default . error) (RIGHT_PAREN .  1074))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (WITH . ( 1081 (formal_derived_type_definition . 1))) 
(SEMICOLON . (formal_derived_type_definition . 1)))
-      ((default . error) (AND .  1080) (WITH . (interface_type_definition . 
1)) (SEMICOLON . (interface_type_definition . 1)))
+      ((default . error) (WITH . ( 1072 (formal_derived_type_definition . 1))) 
(SEMICOLON . (formal_derived_type_definition . 1)))
+      ((default . error) (AND .  1071) (WITH . (interface_type_definition . 
1)) (SEMICOLON . (interface_type_definition . 1)))
       ((default . error) (DOT .  90) (SEMICOLON . (interface_list . 0)) (WITH 
. (interface_list . 0)) (AND . (interface_list . 0)) (TICK .  91) (LEFT_PAREN . 
 107))
-      ((default . error) (AND .  1080) (WITH . (interface_type_definition . 
3)) (SEMICOLON . (interface_type_definition . 3)))
-      ((default . error) (AND .  1080) (WITH . (interface_type_definition . 
2)) (SEMICOLON . (interface_type_definition . 2)))
-      ((default . error) (AND .  1080) (WITH . (interface_type_definition . 
0)) (SEMICOLON . (interface_type_definition . 0)))
+      ((default . error) (AND .  1071) (WITH . (interface_type_definition . 
3)) (SEMICOLON . (interface_type_definition . 3)))
+      ((default . error) (AND .  1071) (WITH . (interface_type_definition . 
2)) (SEMICOLON . (interface_type_definition . 2)))
+      ((default . error) (AND .  1071) (WITH . (interface_type_definition . 
0)) (SEMICOLON . (interface_type_definition . 0)))
       ((default . error) (SEMICOLON . (formal_type_definition . 7)) (WITH . 
(formal_type_definition . 7)))
-      ((default . error) (FOR .  146) (CASE .  145) (IF .  147) (RIGHT_PAREN . 
((expression_opt . 0) (association_opt . 0))) (COMMA . ((expression_opt . 0) 
(association_opt . 0))) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (IDENTIFIER .  48) (CHARACTER_LITERAL .  183) 
(STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) (OTHERS .  182) (ABS .  
144) (NOT .  1077) (RAISE .  152) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW . 
 149) (LEFT_PAREN .  148))
-      ((default . error) (BOX .  1076) (IDENTIFIER .  48) (CHARACTER_LITERAL . 
 50) (STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
+      ((default . error) (FOR .  146) (CASE .  145) (IF .  147) (RIGHT_PAREN . 
((expression_opt . 0) (association_opt . 0))) (COMMA . ((expression_opt . 0) 
(association_opt . 0))) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (IDENTIFIER .  48) (CHARACTER_LITERAL .  157) 
(STRING_LITERAL .  49) (PLUS .  155) (MINUS .  154) (OTHERS .  152) (ABS .  
144) (NOT .  1068) (RAISE .  153) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW . 
 149) (LEFT_PAREN .  148))
+      ((default . error) (BOX .  1067) (IDENTIFIER .  48) (CHARACTER_LITERAL . 
 50) (STRING_LITERAL .  49) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
       ((default . error) (LOOP . (subtype_indication . 2)) (DO . 
(subtype_indication . 2)) (RIGHT_PAREN . (subtype_indication . 2)) (COMMA . 
(subtype_indication . 2)) (EQUAL_GREATER . (subtype_indication . 2)) 
(COLON_EQUAL . (subtype_indication . 2)) (WITH . (subtype_indication . 2)) 
(SEMICOLON . (subtype_indication . 2)) (AND . (subtype_indication . 2)) (OF . 
(subtype_indication . 2)))
       ((default . error) (LOOP . (constraint . 1)) (DO . (constraint . 1)) 
(RIGHT_PAREN . (constraint . 1)) (COMMA . (constraint . 1)) (EQUAL_GREATER . 
(constraint . 1)) (COLON_EQUAL . (constraint . 1)) (WITH . (constraint . 1)) 
(SEMICOLON . (constraint . 1)) (AND . (constraint . 1)) (OF . (constraint . 1)))
-      ((default . error) (OF .  1075))
+      ((default . error) (OF .  1066))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (OF .  1072))
-      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  736) 
(NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
+      ((default . error) (OF .  1063))
+      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  728) 
(NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
       ((default . error) (DOT . (name . 0)) (LEFT_PAREN . (name . 0)) (TICK . 
(name . 0)) (SEMICOLON . (null_exclusion_opt_name_type . 2)) (RIGHT_PAREN . 
(null_exclusion_opt_name_type . 2)) (COLON_EQUAL . 
(null_exclusion_opt_name_type . 2)))
       ((default . error) (DOT . (name . 3)) (LEFT_PAREN . (name . 3)) (TICK . 
(name . 3)) (SEMICOLON . (null_exclusion_opt_name_type . 3)) (RIGHT_PAREN . 
(null_exclusion_opt_name_type . 3)) (COLON_EQUAL . 
(null_exclusion_opt_name_type . 3)))
       ((default . error) (SEMICOLON . (discriminant_specification_opt . 3)) 
(RIGHT_PAREN . (discriminant_specification_opt . 3)))
       ((default . error) (SEMICOLON . (discriminant_specification_opt . 1)) 
(RIGHT_PAREN . (discriminant_specification_opt . 1)))
-      ((default . error) (DO . (range . 0)) (LOOP . (range . 0)) (XOR . (range 
. 0)) (OR . (range . 0)) (AND . (range . 0)) (IS . (range . 0)) (WITH . (range 
. 0)) (SEMICOLON . (range . 0)) (THEN . (range . 0)) (RANGE . (range . 0)) 
(DIGITS . (range . 0)) (ELSE . (range . 0)) (ELSIF . (range . 0)) (COLON_EQUAL 
. (range . 0)) (OF . (range . 0)) (BAR . (range . 0)) (EQUAL_GREATER . (range . 
0)) (RIGHT_PAREN . (range . 0)) (COMMA . (range . 0)))
       ((default . error) (WHEN . (record_representation_clause . 0)) (END . 
(record_representation_clause . 0)) (PRIVATE . (record_representation_clause . 
0)) (CASE . (record_representation_clause . 0)) (IDENTIFIER . 
(record_representation_clause . 0)) (USE . (record_representation_clause . 0)) 
(TYPE . (record_representation_clause . 0)) (TASK . 
(record_representation_clause . 0)) (SUBTYPE . (record_representation_clause . 
0)) (PROTECTED . (record_representation_clause . 0)) (PROCEDURE . [...]
       ((default . error) (WHEN . (enumeration_representation_clause . 0)) (END 
. (enumeration_representation_clause . 0)) (PRIVATE . 
(enumeration_representation_clause . 0)) (CASE . 
(enumeration_representation_clause . 0)) (IDENTIFIER . 
(enumeration_representation_clause . 0)) (USE . 
(enumeration_representation_clause . 0)) (TYPE . 
(enumeration_representation_clause . 0)) (TASK . 
(enumeration_representation_clause . 0)) (SUBTYPE . 
(enumeration_representation_clause . 0)) (PROTECTED . (en [...]
-      ((default . error) (MOD .  1070))
-      ((default . error) (IDENTIFIER .  1067))
-      ((default . error) (SEMICOLON .  1066))
+      ((default . error) (MOD .  1061))
+      ((default . error) (IDENTIFIER .  1058))
+      ((default . error) (SEMICOLON .  1057))
       ((default . error) (WHEN . (aspect_clause . 0)) (PRIVATE . 
(aspect_clause . 0)) (END . (aspect_clause . 0)) (CASE . (aspect_clause . 0)) 
(BEGIN . (aspect_clause . 0)) (ENTRY . (aspect_clause . 0)) (FOR . 
(aspect_clause . 0)) (FUNCTION . (aspect_clause . 0)) (GENERIC . (aspect_clause 
. 0)) (NOT . (aspect_clause . 0)) (OVERRIDING . (aspect_clause . 0)) (PACKAGE . 
(aspect_clause . 0)) (PRAGMA . (aspect_clause . 0)) (PROCEDURE . (aspect_clause 
. 0)) (PROTECTED . (aspect_clause . 0)) (S [...]
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (END .  1062) (PRIVATE .  1063))
-      ((default . error) (SEMICOLON .  1061))
-      ((default . error) (IS .  1060))
+      ((default . error) (END .  1053) (PRIVATE .  1054))
+      ((default . error) (SEMICOLON .  1052))
+      ((default . error) (IS .  1051))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
-      ((default . error) (SEMICOLON .  1058))
+      ((default . error) (SEMICOLON .  1049))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (END .  1055) (PRIVATE .  1056))
-      ((default . error) (SEMICOLON .  1054))
-      ((default . error) (SEMICOLON .  1053) (IS .  1052))
+      ((default . error) (END .  1046) (PRIVATE .  1047))
+      ((default . error) (SEMICOLON .  1045))
+      ((default . error) (SEMICOLON .  1044) (IS .  1043))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
-      ((default . error) (SYNCHRONIZED .  563) (TAGGED .  564) (NEW . 
((abstract_limited_opt . 3) (abstract_limited_synchronized_opt . 3))) (LIMITED 
.  1050))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (IDENTIFIER .  1044) (CHARACTER_LITERAL .  1045))
-      ((default . error) (INTERFACE .  557) (PRIVATE . 
(abstract_tagged_limited_opt . 5)) (NULL . (abstract_tagged_limited_opt . 5)) 
(RECORD . (abstract_tagged_limited_opt . 5)) (NEW . ((abstract_limited_opt . 2) 
(abstract_limited_synchronized_opt . 4))))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (RECORD .  1042))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
-      ((default . error) (END . (component_list_opt . 0)) (NULL .  1033) (CASE 
.  1032) (IDENTIFIER .  77) (FOR .  299))
-      ((default . error) (SEMICOLON .  1031) (PRIVATE . 
(abstract_tagged_limited_opt . 4)) (NULL . (abstract_tagged_limited_opt . 4)) 
(RECORD . (abstract_tagged_limited_opt . 4)) (LIMITED .  551))
-      ((default . error) (NEW .  1030))
-      ((default . error) (NEW .  1029))
-      ((default . error) (PRIVATE .  1027) (RECORD .  868) (NULL .  866))
+      ((default . error) (SYNCHRONIZED .  555) (TAGGED .  556) (NEW . 
((abstract_limited_opt . 3) (abstract_limited_synchronized_opt . 3))) (LIMITED 
.  1041))
+      ((default . error) (RANGE . (expression_opt . 0)) (WITH . 
(expression_opt . 0)) (SEMICOLON . (expression_opt . 0)) (DIGITS . 
(expression_opt . 0)) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  144) 
(NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (RANGE . (expression_opt . 0)) (WITH . 
(expression_opt . 0)) (SEMICOLON . (expression_opt . 0)) (RAISE .  153) (PLUS . 
 155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL . 
 151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL 
.  49) (LEFT_PAREN .  148))
+      ((default . error) (IDENTIFIER .  1035) (CHARACTER_LITERAL .  1036))
+      ((default . error) (INTERFACE .  549) (PRIVATE . 
(abstract_tagged_limited_opt . 5)) (NULL . (abstract_tagged_limited_opt . 5)) 
(RECORD . (abstract_tagged_limited_opt . 5)) (NEW . ((abstract_limited_opt . 2) 
(abstract_limited_synchronized_opt . 4))))
+      ((default . error) (SEMICOLON . (expression_opt . 0)) (WITH . 
(expression_opt . 0)) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  144) 
(NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (RECORD .  1033))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (END . (component_list_opt . 0)) (NULL .  1024) (CASE 
.  1023) (IDENTIFIER .  77) (FOR .  269))
+      ((default . error) (SEMICOLON .  1022) (PRIVATE . 
(abstract_tagged_limited_opt . 4)) (NULL . (abstract_tagged_limited_opt . 4)) 
(RECORD . (abstract_tagged_limited_opt . 4)) (LIMITED .  543))
+      ((default . error) (NEW .  1021))
+      ((default . error) (NEW .  1020))
+      ((default . error) (PRIVATE .  1018) (RECORD .  858) (NULL .  856))
       ((default . error) (WITH . (type_definition . 8)) (SEMICOLON . 
(type_definition . 8)))
       ((default . error) (WITH . (type_definition . 6)) (SEMICOLON . 
(type_definition . 6)))
       ((default . error) (WITH . (type_definition . 9)) (SEMICOLON . 
(type_definition . 9)))
@@ -2701,130 +2691,131 @@
       ((default . error) (DOT .  90) (TICK .  91) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109) (LEFT_PAREN .  107))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
       ((default . error) (SEMICOLON . (package_specification . 0)))
-      ((default . error) (SEMICOLON .  1022))
-      ((default . error) (NULL .  1021))
-      ((default . error) (COLON_EQUAL .  1019) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109))
-      ((default . error) (COLON_EQUAL .  1017) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109))
-      ((default . error) (COLON_EQUAL .  1015) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109))
-      ((default . error) (SEMICOLON .  1014))
       ((default . error) (SEMICOLON .  1013))
-      ((default . error) (SEMICOLON .  1012))
-      ((default . error) (SEMICOLON .  1011))
-      ((default . error) (RIGHT_PAREN .  1010))
-      ((default . error) (RIGHT_PAREN .  1009))
-      ((default . error) (SEMICOLON .  1008))
-      ((default . error) (RIGHT_PAREN .  1007))
+      ((default . error) (NULL .  1012))
+      ((default . error) (COLON_EQUAL .  1010) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109))
+      ((default . error) (COLON_EQUAL .  1008) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109))
+      ((default . error) (COLON_EQUAL .  1006) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109))
+      ((default . error) (SEMICOLON .  1005))
+      ((default . error) (SEMICOLON .  1004))
+      ((default . error) (SEMICOLON .  1003))
+      ((default . error) (SEMICOLON .  1002))
+      ((default . error) (RIGHT_PAREN .  1001))
+      ((default . error) (RIGHT_PAREN .  1000))
+      ((default . error) (SEMICOLON .  999))
+      ((default . error) (RIGHT_PAREN .  998))
       ((default . error) (SEMICOLON . (name_opt . 0)) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
       ((default . error) (END . (package_body . 1)) (BEGIN . (package_body . 
1)) (ENTRY . (package_body . 1)) (FOR . (package_body . 1)) (PROTECTED . 
(package_body . 1)) (SUBTYPE . (package_body . 1)) (TASK . (package_body . 1)) 
(TYPE . (package_body . 1)) (IDENTIFIER . (package_body . 1)) (WITH . 
(package_body . 1)) (USE . (package_body . 1)) (SEPARATE . (package_body . 1)) 
(PROCEDURE . (package_body . 1)) (PRIVATE . (package_body . 1)) (PRAGMA . 
(package_body . 1)) (PACKAGE . (package_ [...]
+      ((default . error) (THEN . (range . 0)) (RANGE . (range . 0)) (DIGITS . 
(range . 0)) (ELSE . (range . 0)) (ELSIF . (range . 0)) (DO . (range . 0)) 
(LOOP . (range . 0)) (XOR . (range . 0)) (OR . (range . 0)) (AND . (range . 0)) 
(WITH . (range . 0)) (IS . (range . 0)) (SEMICOLON . (range . 0)) (COLON_EQUAL 
. (range . 0)) (OF . (range . 0)) (BAR . (range . 0)) (EQUAL_GREATER . (range . 
0)) (RIGHT_PAREN . (range . 0)) (COMMA . (range . 0)))
       ((default . error) (LOOP . (aggregate . 3)) (DO . (aggregate . 3)) (OF . 
(aggregate . 3)) (ACCEPT . (aggregate . 3)) (ABORT . (aggregate . 3)) (BEGIN . 
(aggregate . 3)) (CASE . (aggregate . 3)) (DECLARE . (aggregate . 3)) (DELAY . 
(aggregate . 3)) (EXIT . (aggregate . 3)) (FOR . (aggregate . 3)) (GOTO . 
(aggregate . 3)) (IF . (aggregate . 3)) (NULL . (aggregate . 3)) (PRAGMA . 
(aggregate . 3)) (RAISE . (aggregate . 3)) (REQUEUE . (aggregate . 3)) (SELECT 
. (aggregate . 3)) (WHILE . [...]
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (ELSIF . (elsif_expression_list . 1)) (ELSE . 
(elsif_expression_list . 1)) (RIGHT_PAREN . (elsif_expression_list . 1)) (COMMA 
. (elsif_expression_list . 1)))
-      ((default . error) (THEN .  1004))
-      ((default . error) (RIGHT_PAREN . (if_expression . 2)) (COMMA . 
(if_expression . 2)))
-      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  150) 
(NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
+      ((default . error) (RIGHT_PAREN . (expression_opt . 0)) (RAISE .  153) 
(PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (ELSIF . (elsif_expression_list . 1)) (ELSE . 
(elsif_expression_list . 1)) (RIGHT_PAREN . (elsif_expression_list . 1)))
+      ((default . error) (THEN .  995))
+      ((default . error) (RIGHT_PAREN . (if_expression . 2)))
+      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  324) 
(NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
       ((default . error) (LOOP . (iterator_specification . 0)) (EQUAL_GREATER 
. (iterator_specification . 0)))
       ((default . error) (PLUS . (primary . 1)) (MINUS . (primary . 1)) 
(AMPERSAND . (primary . 1)) (DOT_DOT . (primary . 1)) (MOD . (primary . 1)) 
(REM . (primary . 1)) (SLASH . (primary . 1)) (STAR . (primary . 1)) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
       ((default . error) (DOT .  90) (TICK .  91) (LOOP . 
(iterator_specification . 4)) (EQUAL_GREATER . (iterator_specification . 4)) 
(LEFT_PAREN .  107))
-      ((default . error) (REVERSE .  1001) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
+      ((default . error) (REVERSE .  992) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (COMMA . (expression_opt . 0)) (RIGHT_PAREN . 
(expression_opt . 0)) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  144) 
(NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
       ((default . error) (RIGHT_PAREN . (case_expression_alternative_list . 
1)) (COMMA . (case_expression_alternative_list . 1)))
-      ((default . error) (END . (protected_operation_item_list_opt . 0)) 
(ENTRY .  988) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(FOR .  299))
-      ((default . error) (BEGIN . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  302) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  299) (IDENTIFIER .  305) (TYPE 
.  304) (GENERIC .  2) (PROTECTED .  301) (TASK .  303) (PACKAGE .  300))
-      ((default . error) (FOR .  146) (CASE .  145) (IF .  147) (RIGHT_PAREN . 
((expression_opt . 0) (association_opt . 0))) (COMMA . ((expression_opt . 0) 
(association_opt . 0))) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  182) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  183) (STRING_LITERAL .  49) (RAISE .  152) (PLUS .  154) 
(MINUS .  153) (ABS .  144) (NOT .  181) (NUMERIC_LITERAL .  155) (NULL .  151) 
(NEW .  149) (LEFT_PAREN .  148))
+      ((default . error) (END . (protected_operation_item_list_opt . 0)) 
(ENTRY .  979) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(FOR .  269))
+      ((default . error) (BEGIN . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  272) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  269) (IDENTIFIER .  275) (TYPE 
.  274) (GENERIC .  2) (PROTECTED .  271) (TASK .  273) (PACKAGE .  270))
+      ((default . error) (FOR .  146) (CASE .  145) (IF .  147) (RIGHT_PAREN . 
((expression_opt . 0) (association_opt . 0))) (COMMA . ((expression_opt . 0) 
(association_opt . 0))) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  152) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  157) (STRING_LITERAL .  49) (RAISE .  153) (PLUS .  155) 
(MINUS .  154) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  156) (NULL .  151) 
(NEW .  149) (LEFT_PAREN .  148))
       ((default . error) (SEMICOLON . (actual_parameter_part_opt . 1)) 
(LEFT_PAREN . (actual_parameter_part_opt . 1)) (DO . (actual_parameter_part_opt 
. 1)))
-      ((default . error) (DO . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (LEFT_PAREN .  810))
+      ((default . error) (DO . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (LEFT_PAREN .  801))
       ((default . error) (OR . (simple_statement . 8)) (THEN . 
(simple_statement . 8)) (WHEN . (simple_statement . 8)) (EXCEPTION . 
(simple_statement . 8)) (END . (simple_statement . 8)) (LESS_LESS . 
(simple_statement . 8)) (ACCEPT . (simple_statement . 8)) (ABORT . 
(simple_statement . 8)) (BEGIN . (simple_statement . 8)) (CASE . 
(simple_statement . 8)) (DECLARE . (simple_statement . 8)) (DELAY . 
(simple_statement . 8)) (EXIT . (simple_statement . 8)) (FOR . 
(simple_statement . 8)) (GOTO [...]
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
-      ((default . error) (WHEN .  982))
-      ((default . error) (END . (sequence_of_statements_opt . 0)) (EXCEPTION . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt  [...]
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
710))
+      ((default . error) (WHEN .  973))
+      ((default . error) (END . (sequence_of_statements_opt . 0)) (EXCEPTION . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt  [...]
       ((default . error) (WHEN . (delay_statement . 1)) (EXCEPTION . 
(delay_statement . 1)) (ELSIF . (delay_statement . 1)) (THEN . (delay_statement 
. 1)) (ELSE . (delay_statement . 1)) (OR . (delay_statement . 1)) (END . 
(delay_statement . 1)) (ACCEPT . (delay_statement . 1)) (ABORT . 
(delay_statement . 1)) (BEGIN . (delay_statement . 1)) (CASE . (delay_statement 
. 1)) (DECLARE . (delay_statement . 1)) (DELAY . (delay_statement . 1)) (EXIT . 
(delay_statement . 1)) (FOR . (delay_statemen [...]
-      ((default . error) (SEMICOLON .  980))
-      ((default . error) (SEMICOLON . (expression_opt . 0)) (RAISE .  152) 
(PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  155) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (SEMICOLON .  971))
+      ((default . error) (SEMICOLON . (expression_opt . 0)) (RAISE .  153) 
(PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
       ((default . error) (OR . (exit_statement . 1)) (THEN . (exit_statement . 
1)) (WHEN . (exit_statement . 1)) (EXCEPTION . (exit_statement . 1)) (END . 
(exit_statement . 1)) (LESS_LESS . (exit_statement . 1)) (ACCEPT . 
(exit_statement . 1)) (ABORT . (exit_statement . 1)) (BEGIN . (exit_statement . 
1)) (CASE . (exit_statement . 1)) (DECLARE . (exit_statement . 1)) (DELAY . 
(exit_statement . 1)) (EXIT . (exit_statement . 1)) (FOR . (exit_statement . 
1)) (GOTO . (exit_statement . 1)) (IF [...]
       ((default . error) (OR . (simple_statement . 3)) (THEN . 
(simple_statement . 3)) (WHEN . (simple_statement . 3)) (EXCEPTION . 
(simple_statement . 3)) (END . (simple_statement . 3)) (LESS_LESS . 
(simple_statement . 3)) (ACCEPT . (simple_statement . 3)) (ABORT . 
(simple_statement . 3)) (BEGIN . (simple_statement . 3)) (CASE . 
(simple_statement . 3)) (DECLARE . (simple_statement . 3)) (DELAY . 
(simple_statement . 3)) (EXIT . (simple_statement . 3)) (FOR . 
(simple_statement . 3)) (GOTO [...]
-      ((default . error) (ELSIF . (sequence_of_statements_opt . 0)) (ELSE . 
(sequence_of_statements_opt . 0)) (END . (sequence_of_statements_opt . 0)) 
(ACCEPT . (label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) 
(DECLARE . (label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) 
(LOOP . (label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) 
(WHILE . (label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) 
(EXIT . (label_opt . 0)) (GOTO  [...]
-      ((default . error) (LOOP .  977))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (ELSIF . (sequence_of_statements_opt . 0)) (ELSE . 
(sequence_of_statements_opt . 0)) (END . (sequence_of_statements_opt . 0)) 
(ACCEPT . (label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) 
(DECLARE . (label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) 
(LOOP . (label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) 
(WHILE . (label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) 
(EXIT . (label_opt . 0)) (GOTO  [...]
+      ((default . error) (LOOP .  968))
+      ((default . error) (SEMICOLON . (expression_opt . 0)) (RAISE .  153) 
(PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
       ((default . error) (OR . (raise_statement . 2)) (THEN . (raise_statement 
. 2)) (WHEN . (raise_statement . 2)) (EXCEPTION . (raise_statement . 2)) (END . 
(raise_statement . 2)) (LESS_LESS . (raise_statement . 2)) (ACCEPT . 
(raise_statement . 2)) (ABORT . (raise_statement . 2)) (BEGIN . 
(raise_statement . 2)) (CASE . (raise_statement . 2)) (DECLARE . 
(raise_statement . 2)) (DELAY . (raise_statement . 2)) (EXIT . (raise_statement 
. 2)) (FOR . (raise_statement . 2)) (GOTO . (raise_stat [...]
-      ((default . error) (ABORT .  975))
+      ((default . error) (ABORT .  966))
       ((default . error) (OR . (requeue_statement . 1)) (THEN . 
(requeue_statement . 1)) (WHEN . (requeue_statement . 1)) (EXCEPTION . 
(requeue_statement . 1)) (END . (requeue_statement . 1)) (LESS_LESS . 
(requeue_statement . 1)) (ACCEPT . (requeue_statement . 1)) (ABORT . 
(requeue_statement . 1)) (BEGIN . (requeue_statement . 1)) (CASE . 
(requeue_statement . 1)) (DECLARE . (requeue_statement . 1)) (DELAY . 
(requeue_statement . 1)) (EXIT . (requeue_statement . 1)) (FOR . 
(requeue_stateme [...]
-      ((default . error) (END . (sequence_of_statements_opt . 0)) (EXCEPTION . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt  [...]
+      ((default . error) (END . (sequence_of_statements_opt . 0)) (EXCEPTION . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt  [...]
       ((default . error) (OR . (extended_return_statement . 1)) (THEN . 
(extended_return_statement . 1)) (WHEN . (extended_return_statement . 1)) 
(EXCEPTION . (extended_return_statement . 1)) (END . (extended_return_statement 
. 1)) (LESS_LESS . (extended_return_statement . 1)) (ACCEPT . 
(extended_return_statement . 1)) (ABORT . (extended_return_statement . 1)) 
(BEGIN . (extended_return_statement . 1)) (CASE . (extended_return_statement . 
1)) (DECLARE . (extended_return_statement . 1)) (D [...]
       ((default . error) (OR . (simple_return_statement . 1)) (THEN . 
(simple_return_statement . 1)) (WHEN . (simple_return_statement . 1)) 
(EXCEPTION . (simple_return_statement . 1)) (END . (simple_return_statement . 
1)) (LESS_LESS . (simple_return_statement . 1)) (ACCEPT . 
(simple_return_statement . 1)) (ABORT . (simple_return_statement . 1)) (BEGIN . 
(simple_return_statement . 1)) (CASE . (simple_return_statement . 1)) (DECLARE 
. (simple_return_statement . 1)) (DELAY . (simple_return_ [...]
-      ((default . error) (CONSTANT . (aliased_opt . 0)) (ACCESS . (aliased_opt 
. 0)) (NOT . (aliased_opt . 0)) (IDENTIFIER . (aliased_opt . 0)) 
(STRING_LITERAL . (aliased_opt . 0)) (CHARACTER_LITERAL . (aliased_opt . 0)) 
(ALIASED .  531))
-      ((default . error) (ABORT .  972))
-      ((default . error) (END . (sequence_of_statements_opt . 0)) (ACCEPT . 
(label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . 
(label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) (LOOP . 
(label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt . 0)) (NULL . (label_opt . 0)) (PRAGMA . 
(label_opt . 0)) (RAISE . (labe [...]
-      ((default . error) (SELECT .  970))
-      ((default . error) (WHEN .  693) (TERMINATE .  692) (ACCEPT .  630) 
(DELAY .  635))
+      ((default . error) (CONSTANT . (aliased_opt . 0)) (ACCESS . (aliased_opt 
. 0)) (NOT . (aliased_opt . 0)) (IDENTIFIER . (aliased_opt . 0)) 
(STRING_LITERAL . (aliased_opt . 0)) (CHARACTER_LITERAL . (aliased_opt . 0)) 
(ALIASED .  523))
+      ((default . error) (ABORT .  963))
+      ((default . error) (END . (sequence_of_statements_opt . 0)) (ACCEPT . 
(label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . 
(label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) (LOOP . 
(label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt . 0)) (NULL . (label_opt . 0)) (PRAGMA . 
(label_opt . 0)) (RAISE . (labe [...]
+      ((default . error) (SELECT .  961))
+      ((default . error) (WHEN .  685) (TERMINATE .  684) (ACCEPT .  622) 
(DELAY .  627))
       ((default . error) (OR . (entry_call_alternative . 0)) (ELSE . 
(entry_call_alternative . 0)) (THEN . (triggering_alternative . 0)))
       ((default . error) (OR . (entry_call_alternative . 1)) (ELSE . 
(entry_call_alternative . 1)) (THEN . (triggering_alternative . 1)))
-      ((default . error) (END . (sequence_of_statements_opt . 0)) (ACCEPT . 
(label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . 
(label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) (LOOP . 
(label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt . 0)) (NULL . (label_opt . 0)) (PRAGMA . 
(label_opt . 0)) (RAISE . (labe [...]
-      ((default . error) (DELAY .  635))
+      ((default . error) (END . (sequence_of_statements_opt . 0)) (ACCEPT . 
(label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . 
(label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) (LOOP . 
(label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt . 0)) (NULL . (label_opt . 0)) (PRAGMA . 
(label_opt . 0)) (RAISE . (labe [...]
+      ((default . error) (DELAY .  627))
       ((default . error) (OR . (delay_alternative . 0)) (END . 
(delay_alternative . 0)) (ELSE . (delay_alternative . 0)) (THEN . 
(triggering_alternative . 2)))
       ((default . error) (END . (select_alternative . 1)) (OR . 
(select_alternative . 1)) (ELSE . (select_alternative . 1)))
-      ((default . error) (EQUAL_GREATER .  965))
+      ((default . error) (EQUAL_GREATER .  956))
       ((default . error) (END . (select_alternative . 5)) (OR . 
(select_alternative . 5)) (ELSE . (select_alternative . 5)))
       ((default . error) (OR . (goto_label . 0)) (THEN . (goto_label . 0)) 
(WHEN . (goto_label . 0)) (LESS_LESS . (goto_label . 0)) (END . (goto_label . 
0)) (EXCEPTION . (goto_label . 0)) (ELSE . (goto_label . 0)) (ELSIF . 
(goto_label . 0)) (CHARACTER_LITERAL . (goto_label . 0)) (STRING_LITERAL . 
(goto_label . 0)) (IDENTIFIER . (goto_label . 0)) (REQUEUE . (goto_label . 0)) 
(RAISE . (goto_label . 0)) (PRAGMA . (goto_label . 0)) (NULL . (goto_label . 
0)) (GOTO . (goto_label . 0)) (EXIT .  [...]
-      ((default . error) (SEMICOLON .  964))
-      ((default . error) (END .  963))
-      ((default . error) (SEMICOLON .  962))
-      ((default . error) (OTHERS .  957) (IDENTIFIER .  958) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
+      ((default . error) (SEMICOLON .  955))
+      ((default . error) (END .  954))
+      ((default . error) (SEMICOLON .  953))
+      ((default . error) (OTHERS .  948) (IDENTIFIER .  949) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
       ((default . error) (END . (exception_handler_list . 0)) (WHEN . 
(exception_handler_list . 0)))
-      ((default . error) (END . (exception_handler_list_opt . 1)) (WHEN .  
952))
+      ((default . error) (END . (exception_handler_list_opt . 1)) (WHEN .  
943))
       ((default . error) (END . (handled_sequence_of_statements . 0)))
       ((default . error) (WHEN . (exception_handler_list . 1)) (END . 
(exception_handler_list . 1)))
       ((default . error) (BAR . (exception_choice . 1)) (EQUAL_GREATER . 
(exception_choice . 1)))
-      ((default . error) (COLON .  1184) (EQUAL_GREATER . (name . 0)) (BAR . 
(name . 0)) (LEFT_PAREN . (name . 0)) (DOT . (name . 0)) (TICK . (name . 0)))
+      ((default . error) (COLON .  1175) (EQUAL_GREATER . (name . 0)) (BAR . 
(name . 0)) (LEFT_PAREN . (name . 0)) (DOT . (name . 0)) (TICK . (name . 0)))
       ((default . error) (EQUAL_GREATER . (exception_choice_list . 0)) (BAR . 
(exception_choice_list . 0)))
-      ((default . error) (BAR .  1182) (EQUAL_GREATER .  1183))
+      ((default . error) (BAR .  1173) (EQUAL_GREATER .  1174))
       ((default . error) (DOT .  90) (BAR . (exception_choice . 0)) 
(EQUAL_GREATER . (exception_choice . 0)) (TICK .  91) (LEFT_PAREN .  107))
       ((default . error) (WHEN . (assignment_statement . 0)) (THEN . 
(assignment_statement . 0)) (OR . (assignment_statement . 0)) (ELSIF . 
(assignment_statement . 0)) (ELSE . (assignment_statement . 0)) 
(CHARACTER_LITERAL . (assignment_statement . 0)) (STRING_LITERAL . 
(assignment_statement . 0)) (IDENTIFIER . (assignment_statement . 0)) (WHILE . 
(assignment_statement . 0)) (SELECT . (assignment_statement . 0)) (RETURN . 
(assignment_statement . 0)) (REQUEUE . (assignment_statement . 0)) [...]
-      ((default . error) (LOOP .  1181))
+      ((default . error) (LOOP .  1172))
       ((default . error) (IDENTIFIER . (subprogram_body . 0)) (TYPE . 
(subprogram_body . 0)) (TASK . (subprogram_body . 0)) (SUBTYPE . 
(subprogram_body . 0)) (PROTECTED . (subprogram_body . 0)) (FOR . 
(subprogram_body . 0)) (ENTRY . (subprogram_body . 0)) (BEGIN . 
(subprogram_body . 0)) (END . (subprogram_body . 0)) ($EOI . (subprogram_body . 
0)) (FUNCTION . (subprogram_body . 0)) (GENERIC . (subprogram_body . 0)) 
(LIMITED . (subprogram_body . 0)) (NOT . (subprogram_body . 0)) (OVERRIDIN [...]
-      ((default . error) (TERMINATE .  1178) (ACCEPT .  630) (DELAY .  635))
-      ((default . error) (END .  1177))
-      ((default . error) (END . (sequence_of_statements_opt . 0)) (OR . 
(sequence_of_statements_opt . 0)) (ELSE . (sequence_of_statements_opt . 0)) 
(ACCEPT . (label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) 
(DECLARE . (label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) 
(LOOP . (label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) 
(WHILE . (label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) 
(EXIT . (label_opt . 0)) (GOTO . ( [...]
-      ((default . error) (END .  1175))
+      ((default . error) (TERMINATE .  1169) (ACCEPT .  622) (DELAY .  627))
+      ((default . error) (END .  1168))
+      ((default . error) (END . (sequence_of_statements_opt . 0)) (OR . 
(sequence_of_statements_opt . 0)) (ELSE . (sequence_of_statements_opt . 0)) 
(ACCEPT . (label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) 
(DECLARE . (label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) 
(LOOP . (label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) 
(WHILE . (label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) 
(EXIT . (label_opt . 0)) (GOTO . ( [...]
+      ((default . error) (END .  1166))
       ((default . error) (ELSE . (select_alternative_list . 1)) (END . 
(select_alternative_list . 1)) (OR . (select_alternative_list . 1)))
-      ((default . error) (SEMICOLON .  1174))
-      ((default . error) (END .  1173))
-      ((default . error) (END . (sequence_of_statements_opt . 0)) (ACCEPT . 
(label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . 
(label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) (LOOP . 
(label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt . 0)) (NULL . (label_opt . 0)) (PRAGMA . 
(label_opt . 0)) (RAISE . (labe [...]
-      ((default . error) (ACCESS . (constant_opt . 0)) (NOT . (constant_opt . 
0)) (IDENTIFIER . (constant_opt . 0)) (STRING_LITERAL . (constant_opt . 0)) 
(CHARACTER_LITERAL . (constant_opt . 0)) (CONSTANT .  759))
-      ((default . error) (END .  1170))
-      ((default . error) (SEMICOLON .  1169))
-      ((default . error) (SEMICOLON .  1168))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
-      ((default . error) (ELSE .  1162) (END .  1164) (ELSIF .  1163))
-      ((default . error) (SEMICOLON .  1161))
+      ((default . error) (SEMICOLON .  1165))
+      ((default . error) (END .  1164))
+      ((default . error) (END . (sequence_of_statements_opt . 0)) (ACCEPT . 
(label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . 
(label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) (LOOP . 
(label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt . 0)) (NULL . (label_opt . 0)) (PRAGMA . 
(label_opt . 0)) (RAISE . (labe [...]
+      ((default . error) (ACCESS . (constant_opt . 0)) (NOT . (constant_opt . 
0)) (IDENTIFIER . (constant_opt . 0)) (STRING_LITERAL . (constant_opt . 0)) 
(CHARACTER_LITERAL . (constant_opt . 0)) (CONSTANT .  753))
+      ((default . error) (END .  1161))
+      ((default . error) (SEMICOLON .  1160))
+      ((default . error) (SEMICOLON .  1159))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
710))
+      ((default . error) (ELSE .  1153) (END .  1155) (ELSIF .  1154))
+      ((default . error) (SEMICOLON .  1152))
       ((default . error) (WHEN . (delay_statement . 0)) (ELSIF . 
(delay_statement . 0)) (EXCEPTION . (delay_statement . 0)) (CHARACTER_LITERAL . 
(delay_statement . 0)) (STRING_LITERAL . (delay_statement . 0)) (IDENTIFIER . 
(delay_statement . 0)) (LESS_LESS . (delay_statement . 0)) (WHILE . 
(delay_statement . 0)) (SELECT . (delay_statement . 0)) (RETURN . 
(delay_statement . 0)) (REQUEUE . (delay_statement . 0)) (RAISE . 
(delay_statement . 0)) (PRAGMA . (delay_statement . 0)) (NULL . (dela [...]
-      ((default . error) (END .  1160))
-      ((default . error) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  182) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) 
(ABS .  144) (NOT .  181) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(LEFT_PAREN .  148))
+      ((default . error) (END .  1151))
+      ((default . error) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  152) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (PLUS .  155) (MINUS .  154) 
(ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(LEFT_PAREN .  148))
       ((default . error) (END . (case_statement_alternative_list . 0)) (WHEN . 
(case_statement_alternative_list . 0)))
-      ((default . error) (END .  1157) (WHEN .  982))
-      ((default . error) (SEMICOLON .  1156))
-      ((default . error) (DO .  1154) (SEMICOLON .  1155))
-      ((default . error) (BEGIN .  1153))
-      ((default . error) (IDENTIFIER .  1152))
+      ((default . error) (END .  1148) (WHEN .  973))
+      ((default . error) (SEMICOLON .  1147))
+      ((default . error) (DO .  1145) (SEMICOLON .  1146))
+      ((default . error) (BEGIN .  1144))
+      ((default . error) (IDENTIFIER .  1143))
       ((default . error) (PROCEDURE . (protected_operation_item . 5)) 
(OVERRIDING . (protected_operation_item . 5)) (NOT . (protected_operation_item 
. 5)) (FUNCTION . (protected_operation_item . 5)) (FOR . 
(protected_operation_item . 5)) (ENTRY . (protected_operation_item . 5)) (END . 
(protected_operation_item . 5)))
       ((default . error) (PROCEDURE . (protected_operation_item . 2)) 
(OVERRIDING . (protected_operation_item . 2)) (NOT . (protected_operation_item 
. 2)) (FUNCTION . (protected_operation_item . 2)) (FOR . 
(protected_operation_item . 2)) (ENTRY . (protected_operation_item . 2)) (END . 
(protected_operation_item . 2)))
       ((default . error) (PROCEDURE . (protected_operation_item . 3)) 
(OVERRIDING . (protected_operation_item . 3)) (NOT . (protected_operation_item 
. 3)) (FUNCTION . (protected_operation_item . 3)) (FOR . 
(protected_operation_item . 3)) (ENTRY . (protected_operation_item . 3)) (END . 
(protected_operation_item . 3)))
       ((default . error) (PROCEDURE . (protected_operation_item . 4)) 
(OVERRIDING . (protected_operation_item . 4)) (NOT . (protected_operation_item 
. 4)) (FUNCTION . (protected_operation_item . 4)) (FOR . 
(protected_operation_item . 4)) (ENTRY . (protected_operation_item . 4)) (END . 
(protected_operation_item . 4)))
       ((default . error) (FUNCTION .  1) (PROCEDURE .  9))
       ((default . error) (END . (protected_operation_item_list . 0)) (ENTRY . 
(protected_operation_item_list . 0)) (FOR . (protected_operation_item_list . 
0)) (FUNCTION . (protected_operation_item_list . 0)) (NOT . 
(protected_operation_item_list . 0)) (OVERRIDING . 
(protected_operation_item_list . 0)) (PROCEDURE . 
(protected_operation_item_list . 0)))
-      ((default . error) (END . (protected_operation_item_list_opt . 1)) 
(ENTRY .  988) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(FOR .  299))
-      ((default . error) (END .  1149))
+      ((default . error) (END . (protected_operation_item_list_opt . 1)) 
(ENTRY .  979) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(FOR .  269))
+      ((default . error) (END .  1140))
       ((default . error) (PROCEDURE . (protected_operation_item . 1)) 
(OVERRIDING . (protected_operation_item . 1)) (NOT . (protected_operation_item 
. 1)) (FUNCTION . (protected_operation_item . 1)) (FOR . 
(protected_operation_item . 1)) (ENTRY . (protected_operation_item . 1)) (END . 
(protected_operation_item . 1)))
       ((default . error) (PROCEDURE . (protected_operation_item . 0)) 
(OVERRIDING . (protected_operation_item . 0)) (NOT . (protected_operation_item 
. 0)) (FUNCTION . (protected_operation_item . 0)) (FOR . 
(protected_operation_item . 0)) (ENTRY . (protected_operation_item . 0)) (END . 
(protected_operation_item . 0)))
       ((default . error) (COMMA . (case_expression_alternative . 0)) 
(RIGHT_PAREN . (case_expression_alternative . 0)))
-      ((default . error) (DO . (subtype_indication . 1)) (LOOP . 
(subtype_indication . 1)) (COLON_EQUAL . (subtype_indication . 1)) (SEMICOLON . 
(subtype_indication . 1)) (OF . (subtype_indication . 1)) (AND . 
(subtype_indication . 1)) (WITH . (subtype_indication . 1)) (EQUAL_GREATER . 
(subtype_indication . 1)) (COMMA . (subtype_indication . 1)) (RIGHT_PAREN . 
(subtype_indication . 1)) (DOT .  90) (TICK .  91) (RANGE .  904) (LEFT_PAREN . 
 829))
+      ((default . error) (DO . (subtype_indication . 1)) (LOOP . 
(subtype_indication . 1)) (COLON_EQUAL . (subtype_indication . 1)) (SEMICOLON . 
(subtype_indication . 1)) (OF . (subtype_indication . 1)) (AND . 
(subtype_indication . 1)) (WITH . (subtype_indication . 1)) (EQUAL_GREATER . 
(subtype_indication . 1)) (COMMA . (subtype_indication . 1)) (RIGHT_PAREN . 
(subtype_indication . 1)) (DOT .  90) (TICK .  91) (RANGE .  895) (LEFT_PAREN . 
 820))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
       ((default . error) (DOT .  90) (TICK .  91) (LOOP . 
(iterator_specification . 3)) (EQUAL_GREATER . (iterator_specification . 3)) 
(LEFT_PAREN .  107))
       ((default . error) (DO . (constraint . 0)) (LOOP . (constraint . 0)) (OF 
. (constraint . 0)) (AND . (constraint . 0)) (SEMICOLON . (constraint . 0)) 
(WITH . (constraint . 0)) (COLON_EQUAL . (constraint . 0)) (EQUAL_GREATER . 
(constraint . 0)) (RIGHT_PAREN . (constraint . 0)) (COMMA . (constraint . 0)))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (COMMA . (if_expression . 0)) (RIGHT_PAREN . 
(if_expression . 0)))
-      ((default . error) (SEMICOLON .  1145))
-      ((default . error) (WITH . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (LEFT_PAREN .  810))
+      ((default . error) (ELSE . (expression_opt . 0)) (ELSIF . 
(expression_opt . 0)) (RIGHT_PAREN . (expression_opt . 0)) (RAISE .  153) (PLUS 
.  155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL 
.  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (RIGHT_PAREN . (if_expression . 0)))
+      ((default . error) (SEMICOLON .  1136))
+      ((default . error) (WITH . (parameter_profile_opt . 0)) (SEMICOLON . 
(parameter_profile_opt . 0)) (LEFT_PAREN .  801))
       ((default . error) (IDENTIFIER . (entry_declaration . 1)) (USE . 
(entry_declaration . 1)) (TYPE . (entry_declaration . 1)) (TASK . 
(entry_declaration . 1)) (SUBTYPE . (entry_declaration . 1)) (PROTECTED . 
(entry_declaration . 1)) (PROCEDURE . (entry_declaration . 1)) (PRAGMA . 
(entry_declaration . 1)) (PACKAGE . (entry_declaration . 1)) (OVERRIDING . 
(entry_declaration . 1)) (NOT . (entry_declaration . 1)) (GENERIC . 
(entry_declaration . 1)) (FUNCTION . (entry_declaration . 1)) (FO [...]
       ((default . error) (WITH . (paren_expression . 0)) (SEMICOLON . 
(paren_expression . 0)))
       ((default . error) (WITH . (paren_expression . 1)) (SEMICOLON . 
(paren_expression . 1)))
@@ -2832,129 +2823,129 @@
       ((default . error) (IDENTIFIER . (null_procedure_declaration . 0)) (USE 
. (null_procedure_declaration . 0)) (TYPE . (null_procedure_declaration . 0)) 
(TASK . (null_procedure_declaration . 0)) (SUBTYPE . 
(null_procedure_declaration . 0)) (PROTECTED . (null_procedure_declaration . 
0)) (PROCEDURE . (null_procedure_declaration . 0)) (PRAGMA . 
(null_procedure_declaration . 0)) (PACKAGE . (null_procedure_declaration . 0)) 
(OVERRIDING . (null_procedure_declaration . 0)) (NOT . (null_proce [...]
       ((default . error) (IDENTIFIER . (abstract_subprogram_declaration . 0)) 
(USE . (abstract_subprogram_declaration . 0)) (TYPE . 
(abstract_subprogram_declaration . 0)) (TASK . (abstract_subprogram_declaration 
. 0)) (SUBTYPE . (abstract_subprogram_declaration . 0)) (PROTECTED . 
(abstract_subprogram_declaration . 0)) (PROCEDURE . 
(abstract_subprogram_declaration . 0)) (PRAGMA . 
(abstract_subprogram_declaration . 0)) (PACKAGE . 
(abstract_subprogram_declaration . 0)) (OVERRIDING . (abstra [...]
       ((default . error) (IDENTIFIER . (subprogram_body_stub . 0)) (USE . 
(subprogram_body_stub . 0)) (TYPE . (subprogram_body_stub . 0)) (TASK . 
(subprogram_body_stub . 0)) (SUBTYPE . (subprogram_body_stub . 0)) (PROTECTED . 
(subprogram_body_stub . 0)) (PROCEDURE . (subprogram_body_stub . 0)) (PRAGMA . 
(subprogram_body_stub . 0)) (PACKAGE . (subprogram_body_stub . 0)) (OVERRIDING 
. (subprogram_body_stub . 0)) (NOT . (subprogram_body_stub . 0)) (GENERIC . 
(subprogram_body_stub . 0)) (FUN [...]
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (SEMICOLON .  1142))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (SEMICOLON .  1140))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (SEMICOLON .  1138))
+      ((default . error) (WITH . (expression_opt . 0)) (SEMICOLON . 
(expression_opt . 0)) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  144) 
(NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (SEMICOLON .  1133))
+      ((default . error) (WITH . (expression_opt . 0)) (SEMICOLON . 
(expression_opt . 0)) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  144) 
(NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (SEMICOLON .  1131))
+      ((default . error) (WITH . (expression_opt . 0)) (SEMICOLON . 
(expression_opt . 0)) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  144) 
(NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (SEMICOLON .  1129))
       ((default . error) (ACCESS . (null_exclusion_opt . 1)) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
       ((default . error) (BEGIN . (declaration . 9)) (ENTRY . (declaration . 
9)) (FOR . (declaration . 9)) (FUNCTION . (declaration . 9)) (GENERIC . 
(declaration . 9)) (NOT . (declaration . 9)) (OVERRIDING . (declaration . 9)) 
(PACKAGE . (declaration . 9)) (PRAGMA . (declaration . 9)) (PROCEDURE . 
(declaration . 9)) (PROTECTED . (declaration . 9)) (SUBTYPE . (declaration . 
9)) (TASK . (declaration . 9)) (TYPE . (declaration . 9)) (USE . (declaration . 
9)) (IDENTIFIER . (declaration . 9)) [...]
       ((default . error) (DOT .  90) (TICK .  91) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109) (LEFT_PAREN .  107))
-      ((default . error) (SEMICOLON .  1136))
-      ((default . error) (SEMICOLON .  1135))
-      ((default . error) (SEMICOLON .  1134))
+      ((default . error) (SEMICOLON .  1127))
+      ((default . error) (SEMICOLON .  1126))
+      ((default . error) (SEMICOLON .  1125))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
       ((default . error) (WITH . (record_type_definition . 0)) (SEMICOLON . 
(record_type_definition . 0)))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (NOT .  731) (IDENTIFIER .  48) (CHARACTER_LITERAL .  
50) (STRING_LITERAL .  49))
+      ((default . error) (NOT .  723) (IDENTIFIER .  48) (CHARACTER_LITERAL .  
50) (STRING_LITERAL .  49))
       ((default . error) (BEGIN . (incomplete_type_declaration . 0)) (ENTRY . 
(incomplete_type_declaration . 0)) (FOR . (incomplete_type_declaration . 0)) 
(FUNCTION . (incomplete_type_declaration . 0)) (GENERIC . 
(incomplete_type_declaration . 0)) (NOT . (incomplete_type_declaration . 0)) 
(OVERRIDING . (incomplete_type_declaration . 0)) (PACKAGE . 
(incomplete_type_declaration . 0)) (PRAGMA . (incomplete_type_declaration . 0)) 
(PROCEDURE . (incomplete_type_declaration . 0)) (PROTECTED . ( [...]
-      ((default . error) (IS . (direct_name_opt . 0)) (IDENTIFIER .  1127) 
(STRING_LITERAL .  1128))
-      ((default . error) (SEMICOLON .  1126))
+      ((default . error) (IS . (direct_name_opt . 0)) (IDENTIFIER .  1118) 
(STRING_LITERAL .  1119))
+      ((default . error) (SEMICOLON .  1117))
       ((default . error) (WHEN . (component_item . 1)) (END . (component_item 
. 1)) (IDENTIFIER . (component_item . 1)) (FOR . (component_item . 1)) (CASE . 
(component_item . 1)))
       ((default . error) (WHEN . (component_item . 0)) (END . (component_item 
. 0)) (IDENTIFIER . (component_item . 0)) (FOR . (component_item . 0)) (CASE . 
(component_item . 0)))
       ((default . error) (WHEN . (component_list . 0)) (END . (component_list 
. 0)) (CASE . (component_list . 0)) (FOR . (component_list . 0)) (IDENTIFIER . 
(component_list . 0)))
-      ((default . error) (WHEN . (component_list_opt . 1)) (END . 
(component_list_opt . 1)) (CASE .  1032) (IDENTIFIER .  77) (FOR .  299))
-      ((default . error) (END .  1123))
-      ((default . error) (COMMA .  96) (COLON .  1122))
+      ((default . error) (WHEN . (component_list_opt . 1)) (END . 
(component_list_opt . 1)) (CASE .  1023) (IDENTIFIER .  77) (FOR .  269))
+      ((default . error) (END .  1114))
+      ((default . error) (COMMA .  96) (COLON .  1113))
       ((default . error) (WHEN . (component_list . 3)) (END . (component_list 
. 3)) (CASE . (component_list . 3)) (FOR . (component_list . 3)) (IDENTIFIER . 
(component_list . 3)))
-      ((default . error) (DOT_DOT .  1121))
+      ((default . error) (DOT_DOT .  1112))
       ((default . error) (SEMICOLON . (record_definition . 1)) (WITH . 
(record_definition . 1)))
       ((default . error) (SEMICOLON . (type_definition . 2)) (WITH . 
(type_definition . 2)))
       ((default . error) (COMMA . (enumeration_literal . 0)) (RIGHT_PAREN . 
(enumeration_literal . 0)))
       ((default . error) (COMMA . (enumeration_literal . 1)) (RIGHT_PAREN . 
(enumeration_literal . 1)))
       ((default . error) (RIGHT_PAREN . (enumeration_literal_list . 0)) (COMMA 
. (enumeration_literal_list . 0)))
-      ((default . error) (COMMA .  1120) (RIGHT_PAREN .  1119))
-      ((default . error) (WITH . (real_range_specification_opt . 0)) 
(SEMICOLON . (real_range_specification_opt . 0)) (RANGE .  1116))
-      ((default . error) (DIGITS .  1115) (WITH . 
(real_range_specification_opt . 0)) (SEMICOLON . (real_range_specification_opt 
. 0)) (RANGE .  1116))
+      ((default . error) (COMMA .  1111) (RIGHT_PAREN .  1110))
+      ((default . error) (WITH . (real_range_specification_opt . 0)) 
(SEMICOLON . (real_range_specification_opt . 0)) (RANGE .  1107))
+      ((default . error) (DIGITS .  1106) (WITH . 
(real_range_specification_opt . 0)) (SEMICOLON . (real_range_specification_opt 
. 0)) (RANGE .  1107))
       ((default . error) (NEW . ((abstract_limited_synchronized_opt . 1) 
(abstract_limited_opt . 1))))
-      ((default . error) (SEMICOLON .  1114))
-      ((default . error) (NEW .  1112) (END . (declarative_part_opt . 0)) 
(PRIVATE . (declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  302) (PRAGMA .  
7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt 
. 2)) (FOR .  299) (IDENTIFIER .  305) (TYPE .  304) (GENERIC .  2) (PROTECTED 
.  301) (TASK .  303) (PACKAGE .  300))
+      ((default . error) (SEMICOLON .  1105))
+      ((default . error) (NEW .  1103) (END . (declarative_part_opt . 0)) 
(PRIVATE . (declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  272) (PRAGMA .  
7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt 
. 2)) (FOR .  269) (IDENTIFIER .  275) (TYPE .  274) (GENERIC .  2) (PROTECTED 
.  271) (TASK .  273) (PACKAGE .  270))
       ((default . error) (IDENTIFIER . (task_type_declaration . 2)) (USE . 
(task_type_declaration . 2)) (TYPE . (task_type_declaration . 2)) (TASK . 
(task_type_declaration . 2)) (SUBTYPE . (task_type_declaration . 2)) (PROTECTED 
. (task_type_declaration . 2)) (PROCEDURE . (task_type_declaration . 2)) 
(PRAGMA . (task_type_declaration . 2)) (PACKAGE . (task_type_declaration . 2)) 
(OVERRIDING . (task_type_declaration . 2)) (NOT . (task_type_declaration . 2)) 
(GENERIC . (task_type_declaratio [...]
       ((default . error) (BEGIN . (single_task_declaration . 1)) (ENTRY . 
(single_task_declaration . 1)) (FOR . (single_task_declaration . 1)) (FUNCTION 
. (single_task_declaration . 1)) (GENERIC . (single_task_declaration . 1)) (NOT 
. (single_task_declaration . 1)) (OVERRIDING . (single_task_declaration . 1)) 
(PACKAGE . (single_task_declaration . 1)) (PRAGMA . (single_task_declaration . 
1)) (PROCEDURE . (single_task_declaration . 1)) (PROTECTED . 
(single_task_declaration . 1)) (SUBTYPE . [...]
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
-      ((default . error) (END . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  302) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  299) (IDENTIFIER .  305) (TYPE 
.  304) (GENERIC .  2) (PROTECTED .  301) (TASK .  303) (PACKAGE .  300))
-      ((default . error) (AND .  1080) (WITH .  1109))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
710))
+      ((default . error) (END . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  272) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  269) (IDENTIFIER .  275) (TYPE 
.  274) (GENERIC .  2) (PROTECTED .  271) (TASK .  273) (PACKAGE .  270))
+      ((default . error) (AND .  1071) (WITH .  1100))
       ((default . error) (IDENTIFIER . (subtype_declaration . 0)) (USE . 
(subtype_declaration . 0)) (TYPE . (subtype_declaration . 0)) (TASK . 
(subtype_declaration . 0)) (SUBTYPE . (subtype_declaration . 0)) (PROTECTED . 
(subtype_declaration . 0)) (PROCEDURE . (subtype_declaration . 0)) (PRAGMA . 
(subtype_declaration . 0)) (PACKAGE . (subtype_declaration . 0)) (OVERRIDING . 
(subtype_declaration . 0)) (NOT . (subtype_declaration . 0)) (GENERIC . 
(subtype_declaration . 0)) (FUNCTION . (sub [...]
-      ((default . error) (SEMICOLON .  1108))
-      ((default . error) (NEW .  1106) (END . (declarative_part_opt . 0)) 
(PRIVATE . (declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  302) (PRAGMA .  
7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt 
. 2)) (FOR .  299) (IDENTIFIER .  305) (TYPE .  304) (GENERIC .  2) (PROTECTED 
.  301) (TASK .  303) (PACKAGE .  300))
+      ((default . error) (SEMICOLON .  1099))
+      ((default . error) (NEW .  1097) (END . (declarative_part_opt . 0)) 
(PRIVATE . (declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  272) (PRAGMA .  
7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) 
(PROCEDURE . (overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt 
. 2)) (FOR .  269) (IDENTIFIER .  275) (TYPE .  274) (GENERIC .  2) (PROTECTED 
.  271) (TASK .  273) (PACKAGE .  270))
       ((default . error) (BEGIN . (single_protected_declaration . 1)) (ENTRY . 
(single_protected_declaration . 1)) (FOR . (single_protected_declaration . 1)) 
(FUNCTION . (single_protected_declaration . 1)) (GENERIC . 
(single_protected_declaration . 1)) (NOT . (single_protected_declaration . 1)) 
(OVERRIDING . (single_protected_declaration . 1)) (PACKAGE . 
(single_protected_declaration . 1)) (PRAGMA . (single_protected_declaration . 
1)) (PROCEDURE . (single_protected_declaration . 1)) (PRO [...]
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
-      ((default . error) (END . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  302) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  299) (IDENTIFIER .  305) (TYPE 
.  304) (GENERIC .  2) (PROTECTED .  301) (TASK .  303) (PACKAGE .  300))
-      ((default . error) (AND .  1080) (WITH .  1103))
-      ((default . error) (SEMICOLON .  1102))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
710))
+      ((default . error) (END . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  272) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  269) (IDENTIFIER .  275) (TYPE 
.  274) (GENERIC .  2) (PROTECTED .  271) (TASK .  273) (PACKAGE .  270))
+      ((default . error) (AND .  1071) (WITH .  1094))
+      ((default . error) (SEMICOLON .  1093))
       ((default . error) (WHEN . (at_clause . 0)) (BEGIN . (at_clause . 0)) 
(ENTRY . (at_clause . 0)) (FOR . (at_clause . 0)) (FUNCTION . (at_clause . 0)) 
(GENERIC . (at_clause . 0)) (NOT . (at_clause . 0)) (OVERRIDING . (at_clause . 
0)) (PACKAGE . (at_clause . 0)) (PRAGMA . (at_clause . 0)) (PROCEDURE . 
(at_clause . 0)) (PROTECTED . (at_clause . 0)) (SUBTYPE . (at_clause . 0)) 
(TASK . (at_clause . 0)) (TYPE . (at_clause . 0)) (USE . (at_clause . 0)) 
(IDENTIFIER . (at_clause . 0)) (CASE  [...]
-      ((default . error) (AT .  1101))
+      ((default . error) (AT .  1092))
       ((default . error) (END . (component_clause_list . 0)) (IDENTIFIER . 
(component_clause_list . 0)))
-      ((default . error) (END .  1099) (IDENTIFIER .  1067))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (END .  1090) (IDENTIFIER .  1058))
+      ((default . error) (SEMICOLON . (expression_opt . 0)) (RAISE .  153) 
(PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) 
(NULL .  151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (LEFT_PAREN .  148))
       ((default . error) (RIGHT_PAREN . (discrete_subtype_definition_list . 
1)) (COMMA . (discrete_subtype_definition_list . 1)))
-      ((default . error) (ALIASED .  1092) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (ACCESS . (null_exclusion_opt 
. 0)) (NOT .  885))
+      ((default . error) (ALIASED .  1083) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (ACCESS . (null_exclusion_opt 
. 0)) (NOT .  875))
       ((default . error) (RIGHT_PAREN . (index_subtype_definition_list . 1)) 
(COMMA . (index_subtype_definition_list . 1)))
-      ((default . error) (DOT .  90) (RANGE .  1096) (TICK .  91) (LEFT_PAREN 
.  107))
-      ((default . error) (ALIASED .  1092) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (ACCESS . (null_exclusion_opt 
. 0)) (NOT .  885))
+      ((default . error) (DOT .  90) (RANGE .  1087) (TICK .  91) (LEFT_PAREN 
.  107))
+      ((default . error) (ALIASED .  1083) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (ACCESS . (null_exclusion_opt 
. 0)) (NOT .  875))
       ((default . error) (COMMA . (index_subtype_definition . 0)) (RIGHT_PAREN 
. (index_subtype_definition . 0)))
-      ((default . error) (NUMERIC_LITERAL .  155) (NULL .  1091) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (COMMA .  836) (RIGHT_PAREN .  1090))
+      ((default . error) (NUMERIC_LITERAL .  156) (NULL .  1082) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
+      ((default . error) (COMMA .  827) (RIGHT_PAREN .  1081))
       ((default . error) (BAR . (discrete_choice . 2)) (EQUAL_GREATER . 
(discrete_choice . 2)) (RIGHT_PAREN . ((range_list . 0) 
(discrete_subtype_definition . 1))) (COMMA . ((range_list . 0) 
(discrete_subtype_definition . 1))))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (PRIVATE .  1088))
-      ((default . error) (AND .  1080) (WITH . (and_interface_list_opt . 1)) 
(SEMICOLON . (and_interface_list_opt . 1)))
+      ((default . error) (PRIVATE .  1079))
+      ((default . error) (AND .  1071) (WITH . (and_interface_list_opt . 1)) 
(SEMICOLON . (and_interface_list_opt . 1)))
       ((default . error) (WITH . (formal_package_actual_part . 0)) (SEMICOLON 
. (formal_package_actual_part . 0)))
       ((default . error) (PACKAGE . (formal_package_declaration . 0)) 
(PROCEDURE . (formal_package_declaration . 0)) (FUNCTION . 
(formal_package_declaration . 0)) (PRAGMA . (formal_package_declaration . 0)) 
(TYPE . (formal_package_declaration . 0)) (USE . (formal_package_declaration . 
0)) (WITH . (formal_package_declaration . 0)) (IDENTIFIER . 
(formal_package_declaration . 0)))
       ((default . error) (PACKAGE . (formal_object_declaration . 0)) 
(PROCEDURE . (formal_object_declaration . 0)) (FUNCTION . 
(formal_object_declaration . 0)) (PRAGMA . (formal_object_declaration . 0)) 
(TYPE . (formal_object_declaration . 0)) (USE . (formal_object_declaration . 
0)) (WITH . (formal_object_declaration . 0)) (IDENTIFIER . 
(formal_object_declaration . 0)))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (RIGHT_PAREN . (parameter_specification . 0)) 
(SEMICOLON . (parameter_specification . 0)))
+      ((default . error) (RIGHT_PAREN . (expression_opt . 0)) (SEMICOLON . 
(expression_opt . 0)) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  144) 
(NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (RIGHT_PAREN . (parameter_specification . 1)) 
(SEMICOLON . (parameter_specification . 1)))
       ((default . error) (WITH . (formal_derived_type_definition . 0)) 
(SEMICOLON . (formal_derived_type_definition . 0)))
       ((default . error) (DOT .  90) (TICK .  91) (WITH . (interface_list . 
1)) (SEMICOLON . (interface_list . 1)) (AND . (interface_list . 1)) (LEFT_PAREN 
.  107))
       ((default . error) (LOOP . (index_constraint . 0)) (DO . 
(index_constraint . 0)) (RIGHT_PAREN . (index_constraint . 0)) (COMMA . 
(index_constraint . 0)) (EQUAL_GREATER . (index_constraint . 0)) (COLON_EQUAL . 
(index_constraint . 0)) (WITH . (index_constraint . 0)) (SEMICOLON . 
(index_constraint . 0)) (AND . (index_constraint . 0)) (OF . (index_constraint 
. 0)))
       ((default . error) (PLUS . (primary . 1)) (MINUS . (primary . 1)) 
(AMPERSAND . (primary . 1)) (DOT_DOT . (primary . 1)) (MOD . (primary . 1)) 
(REM . (primary . 1)) (SLASH . (primary . 1)) (STAR . (primary . 1)) (XOR . 
(primary . 1)) (OR . (primary . 1)) (AND . (primary . 1)) (EQUAL_GREATER . 
(primary . 1)) (BAR . (primary . 1)) (IN . (primary . 1)) (NOT . (primary . 1)) 
(EQUAL . (primary . 1)) (GREATER . (primary . 1)) (GREATER_EQUAL . (primary . 
1)) (LESS . (primary . 1)) (LESS_EQ [...]
-      ((default . error) (ACCESS . (null_exclusion_opt . 0)) (NOT .  885) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
+      ((default . error) (ACCESS . (null_exclusion_opt . 0)) (NOT .  875) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49))
       ((default . error) (WITH . (component_definition . 3)) (SEMICOLON . 
(component_definition . 3)) (COLON_EQUAL . (component_definition . 3)))
       ((default . error) (WITH . (array_type_definition . 0)) (SEMICOLON . 
(array_type_definition . 0)) (COLON_EQUAL . (array_type_definition . 0)))
       ((default . error) (WITH . (component_definition . 1)) (SEMICOLON . 
(component_definition . 1)) (COLON_EQUAL . (component_definition . 1)))
-      ((default . error) (BOX .  1076))
+      ((default . error) (BOX .  1067))
       ((default . error) (WITH . (array_type_definition . 1)) (SEMICOLON . 
(array_type_definition . 1)) (COLON_EQUAL . (array_type_definition . 1)))
-      ((default . error) (SEMICOLON .  1242))
-      ((default . error) (RECORD .  1241))
+      ((default . error) (SEMICOLON .  1233))
+      ((default . error) (RECORD .  1232))
       ((default . error) (IDENTIFIER . (component_clause_list . 1)) (END . 
(component_clause_list . 1)))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
       ((default . error) (PRIVATE . (package_body_stub . 0)) (END . 
(package_body_stub . 0)) (BEGIN . (package_body_stub . 0)) (ENTRY . 
(package_body_stub . 0)) (FOR . (package_body_stub . 0)) (FUNCTION . 
(package_body_stub . 0)) (GENERIC . (package_body_stub . 0)) (NOT . 
(package_body_stub . 0)) (OVERRIDING . (package_body_stub . 0)) (PACKAGE . 
(package_body_stub . 0)) (PRAGMA . (package_body_stub . 0)) (PROCEDURE . 
(package_body_stub . 0)) (PROTECTED . (package_body_stub . 0)) (SUBTYPE [...]
-      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  302) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 299) (IDENTIFIER .  305) (TYPE .  304) (GENERIC .  2) (PROTECTED .  301) (TASK 
.  303) (PACKAGE .  300))
-      ((default . error) (END .  1238))
+      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  272) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 269) (IDENTIFIER .  275) (TYPE .  274) (GENERIC .  2) (PROTECTED .  271) (TASK 
.  273) (PACKAGE .  270))
+      ((default . error) (END .  1229))
       ((default . error) (SEMICOLON . (protected_definition . 1)))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (SEMICOLON .  1236))
+      ((default . error) (SEMICOLON .  1227))
       ((default . error) (PRIVATE . (protected_body_stub . 0)) (END . 
(protected_body_stub . 0)) (BEGIN . (protected_body_stub . 0)) (ENTRY . 
(protected_body_stub . 0)) (FOR . (protected_body_stub . 0)) (FUNCTION . 
(protected_body_stub . 0)) (GENERIC . (protected_body_stub . 0)) (NOT . 
(protected_body_stub . 0)) (OVERRIDING . (protected_body_stub . 0)) (PACKAGE . 
(protected_body_stub . 0)) (PRAGMA . (protected_body_stub . 0)) (PROCEDURE . 
(protected_body_stub . 0)) (PROTECTED . (protecte [...]
-      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  302) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 299) (IDENTIFIER .  305) (TYPE .  304) (GENERIC .  2) (PROTECTED .  301) (TASK 
.  303) (PACKAGE .  300))
-      ((default . error) (END .  1234))
+      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  272) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 269) (IDENTIFIER .  275) (TYPE .  274) (GENERIC .  2) (PROTECTED .  271) (TASK 
.  273) (PACKAGE .  270))
+      ((default . error) (END .  1225))
       ((default . error) (SEMICOLON . (task_definition . 1)))
       ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49))
-      ((default . error) (SEMICOLON .  1232))
+      ((default . error) (SEMICOLON .  1223))
       ((default . error) (PRIVATE . (task_body_stub . 0)) (END . 
(task_body_stub . 0)) (BEGIN . (task_body_stub . 0)) (ENTRY . (task_body_stub . 
0)) (FOR . (task_body_stub . 0)) (FUNCTION . (task_body_stub . 0)) (GENERIC . 
(task_body_stub . 0)) (NOT . (task_body_stub . 0)) (OVERRIDING . 
(task_body_stub . 0)) (PACKAGE . (task_body_stub . 0)) (PRAGMA . 
(task_body_stub . 0)) (PROCEDURE . (task_body_stub . 0)) (PROTECTED . 
(task_body_stub . 0)) (SUBTYPE . (task_body_stub . 0)) (TASK . (task_ [...]
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (RANGE . (expression_opt . 0)) (WITH . 
(expression_opt . 0)) (SEMICOLON . (expression_opt . 0)) (RAISE .  153) (PLUS . 
 155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL . 
 151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL 
.  49) (LEFT_PAREN .  148))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
       ((default . error) (WITH . (type_definition . 4)) (SEMICOLON . 
(type_definition . 4)))
       ((default . error) (WITH . (type_definition . 3)) (SEMICOLON . 
(type_definition . 3)))
       ((default . error) (SEMICOLON . (enumeration_type_definition . 0)) (WITH 
. (enumeration_type_definition . 0)))
-      ((default . error) (IDENTIFIER .  1044) (CHARACTER_LITERAL .  1045))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
-      ((default . error) (ALIASED .  1092) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (ACCESS . (null_exclusion_opt 
. 0)) (NOT .  885))
-      ((default . error) (RECORD .  1226))
+      ((default . error) (IDENTIFIER .  1035) (CHARACTER_LITERAL .  1036))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (ALIASED .  1083) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (ACCESS . (null_exclusion_opt 
. 0)) (NOT .  875))
+      ((default . error) (RECORD .  1217))
       ((default . error) (WHEN . (component_list . 1)) (IDENTIFIER . 
(component_list . 1)) (FOR . (component_list . 1)) (CASE . (component_list . 
1)) (END . (component_list . 1)))
       ((default . error) (WHEN . (component_list . 2)) (IDENTIFIER . 
(component_list . 2)) (FOR . (component_list . 2)) (CASE . (component_list . 
2)) (END . (component_list . 2)))
       ((default . error) (WHEN . (component_list . 4)) (IDENTIFIER . 
(component_list . 4)) (FOR . (component_list . 4)) (CASE . (component_list . 
4)) (END . (component_list . 4)))
       ((default . error) (IS . (direct_name . 0)))
       ((default . error) (IS . (direct_name . 1)))
       ((default . error) (IS . (direct_name_opt . 1)))
-      ((default . error) (IS .  1225))
-      ((default . error) (WITH . (and_interface_list_opt . 0)) (AND .  821))
-      ((default . error) (DOT .  90) (TICK .  91) (AND .  821) (WITH . 
((constraint_opt . 0) (and_interface_list_opt . 0))) (SEMICOLON . 
(constraint_opt . 0)) (RANGE .  904) (LEFT_PAREN .  829))
-      ((default . error) (SEMICOLON .  1220))
+      ((default . error) (IS .  1216))
+      ((default . error) (WITH . (and_interface_list_opt . 0)) (AND .  812))
+      ((default . error) (DOT .  90) (TICK .  91) (AND .  812) (WITH . 
((constraint_opt . 0) (and_interface_list_opt . 0))) (SEMICOLON . 
(constraint_opt . 0)) (RANGE .  895) (LEFT_PAREN .  820))
+      ((default . error) (SEMICOLON .  1211))
       ((default . error) (END . (full_type_declaration . 0)) (PRIVATE . 
(full_type_declaration . 0)) (IDENTIFIER . (full_type_declaration . 0)) (USE . 
(full_type_declaration . 0)) (TYPE . (full_type_declaration . 0)) (TASK . 
(full_type_declaration . 0)) (SUBTYPE . (full_type_declaration . 0)) (PROTECTED 
. (full_type_declaration . 0)) (PROCEDURE . (full_type_declaration . 0)) 
(PRAGMA . (full_type_declaration . 0)) (PACKAGE . (full_type_declaration . 0)) 
(OVERRIDING . (full_type_declaratio [...]
       ((default . error) (END . (object_renaming_declaration . 2)) (PRIVATE . 
(object_renaming_declaration . 2)) (IDENTIFIER . (object_renaming_declaration . 
2)) (USE . (object_renaming_declaration . 2)) (TYPE . 
(object_renaming_declaration . 2)) (TASK . (object_renaming_declaration . 2)) 
(SUBTYPE . (object_renaming_declaration . 2)) (PROTECTED . 
(object_renaming_declaration . 2)) (PROCEDURE . (object_renaming_declaration . 
2)) (PRAGMA . (object_renaming_declaration . 2)) (PACKAGE . (obj [...]
       ((default . error) (END . (object_renaming_declaration . 1)) (PRIVATE . 
(object_renaming_declaration . 1)) (IDENTIFIER . (object_renaming_declaration . 
1)) (USE . (object_renaming_declaration . 1)) (TYPE . 
(object_renaming_declaration . 1)) (TASK . (object_renaming_declaration . 1)) 
(SUBTYPE . (object_renaming_declaration . 1)) (PROTECTED . 
(object_renaming_declaration . 1)) (PROCEDURE . (object_renaming_declaration . 
1)) (PRAGMA . (object_renaming_declaration . 1)) (PACKAGE . (obj [...]
-      ((default . error) (SEMICOLON .  1219))
+      ((default . error) (SEMICOLON .  1210))
       ((default . error) (PRIVATE . (object_declaration . 3)) (END . 
(object_declaration . 3)) (BEGIN . (object_declaration . 3)) (ENTRY . 
(object_declaration . 3)) (FOR . (object_declaration . 3)) (FUNCTION . 
(object_declaration . 3)) (GENERIC . (object_declaration . 3)) (NOT . 
(object_declaration . 3)) (OVERRIDING . (object_declaration . 3)) (PACKAGE . 
(object_declaration . 3)) (PRAGMA . (object_declaration . 3)) (PROCEDURE . 
(object_declaration . 3)) (PROTECTED . (object_declaration . [...]
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
       ((default . error) (PRIVATE . (object_declaration . 5)) (END . 
(object_declaration . 5)) (BEGIN . (object_declaration . 5)) (ENTRY . 
(object_declaration . 5)) (FOR . (object_declaration . 5)) (FUNCTION . 
(object_declaration . 5)) (GENERIC . (object_declaration . 5)) (NOT . 
(object_declaration . 5)) (OVERRIDING . (object_declaration . 5)) (PACKAGE . 
(object_declaration . 5)) (PRAGMA . (object_declaration . 5)) (PROCEDURE . 
(object_declaration . 5)) (PROTECTED . (object_declaration . [...]
@@ -2963,197 +2954,197 @@
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
       ((default . error) (END . (package_body . 0)) (BEGIN . (package_body . 
0)) (ENTRY . (package_body . 0)) (FOR . (package_body . 0)) (PROTECTED . 
(package_body . 0)) (SUBTYPE . (package_body . 0)) (TASK . (package_body . 0)) 
(TYPE . (package_body . 0)) (IDENTIFIER . (package_body . 0)) (WITH . 
(package_body . 0)) (USE . (package_body . 0)) (SEPARATE . (package_body . 0)) 
(PROCEDURE . (package_body . 0)) (PRIVATE . (package_body . 0)) (PRAGMA . 
(package_body . 0)) (PACKAGE . (package_ [...]
-      ((default . error) (ELSE . (elsif_expression_item . 0)) (ELSIF . 
(elsif_expression_item . 0)) (RIGHT_PAREN . (elsif_expression_item . 0)) (COMMA 
. (elsif_expression_item . 0)))
+      ((default . error) (ELSE . (elsif_expression_item . 0)) (ELSIF . 
(elsif_expression_item . 0)) (RIGHT_PAREN . (elsif_expression_item . 0)))
       ((default . error) (DOT .  90) (TICK .  91) (LOOP . 
(iterator_specification . 2)) (EQUAL_GREATER . (iterator_specification . 2)) 
(LEFT_PAREN .  107))
       ((default . error) (DO . (subtype_indication . 0)) (COLON_EQUAL . 
(subtype_indication . 0)) (LOOP . (subtype_indication . 0)) (RIGHT_PAREN . 
(subtype_indication . 0)) (COMMA . (subtype_indication . 0)) (EQUAL_GREATER . 
(subtype_indication . 0)) (WITH . (subtype_indication . 0)) (AND . 
(subtype_indication . 0)) (OF . (subtype_indication . 0)) (SEMICOLON . 
(subtype_indication . 0)))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
710))
       ((default . error) (PROCEDURE . (protected_operation_item_list . 1)) 
(OVERRIDING . (protected_operation_item_list . 1)) (NOT . 
(protected_operation_item_list . 1)) (FUNCTION . (protected_operation_item_list 
. 1)) (FOR . (protected_operation_item_list . 1)) (ENTRY . 
(protected_operation_item_list . 1)) (END . (protected_operation_item_list . 
1)))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (IS . 
(aspect_specification_opt . 0)) (WITH .  109))
-      ((default . error) (WHEN . (parameter_profile_opt . 0)) (LEFT_PAREN .  
1211))
-      ((default . error) (END . (sequence_of_statements_opt . 0)) (EXCEPTION . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt  [...]
-      ((default . error) (END . (sequence_of_statements_opt . 0)) (EXCEPTION . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt  [...]
+      ((default . error) (WHEN . (parameter_profile_opt . 0)) (LEFT_PAREN .  
1202))
+      ((default . error) (END . (sequence_of_statements_opt . 0)) (EXCEPTION . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt  [...]
+      ((default . error) (END . (sequence_of_statements_opt . 0)) (EXCEPTION . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt  [...]
       ((default . error) (THEN . (accept_statement . 1)) (WHEN . 
(accept_statement . 1)) (EXCEPTION . (accept_statement . 1)) (ELSIF . 
(accept_statement . 1)) (ELSE . (accept_statement . 1)) (OR . (accept_statement 
. 1)) (END . (accept_statement . 1)) (ACCEPT . (accept_statement . 1)) (ABORT . 
(accept_statement . 1)) (BEGIN . (accept_statement . 1)) (CASE . 
(accept_statement . 1)) (DECLARE . (accept_statement . 1)) (DELAY . 
(accept_statement . 1)) (EXIT . (accept_statement . 1)) (FOR . ( [...]
       ((default . error) (OR . (block_statement . 1)) (THEN . (block_statement 
. 1)) (WHEN . (block_statement . 1)) (EXCEPTION . (block_statement . 1)) (END . 
(block_statement . 1)) (LESS_LESS . (block_statement . 1)) (ACCEPT . 
(block_statement . 1)) (ABORT . (block_statement . 1)) (BEGIN . 
(block_statement . 1)) (CASE . (block_statement . 1)) (DECLARE . 
(block_statement . 1)) (DELAY . (block_statement . 1)) (EXIT . (block_statement 
. 1)) (FOR . (block_statement . 1)) (GOTO . (block_stat [...]
-      ((default . error) (CASE .  1208))
+      ((default . error) (CASE .  1199))
       ((default . error) (WHEN . (case_statement_alternative_list . 1)) (END . 
(case_statement_alternative_list . 1)))
-      ((default . error) (BAR .  286) (EQUAL_GREATER .  1207))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
+      ((default . error) (BAR .  356) (EQUAL_GREATER .  1198))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
710))
       ((default . error) (OR . (exit_statement . 0)) (THEN . (exit_statement . 
0)) (WHEN . (exit_statement . 0)) (EXCEPTION . (exit_statement . 0)) (END . 
(exit_statement . 0)) (LESS_LESS . (exit_statement . 0)) (ACCEPT . 
(exit_statement . 0)) (ABORT . (exit_statement . 0)) (BEGIN . (exit_statement . 
0)) (CASE . (exit_statement . 0)) (DECLARE . (exit_statement . 0)) (DELAY . 
(exit_statement . 0)) (EXIT . (exit_statement . 0)) (FOR . (exit_statement . 
0)) (GOTO . (exit_statement . 0)) (IF [...]
-      ((default . error) (END . (sequence_of_statements_opt . 0)) (ACCEPT . 
(label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . 
(label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) (LOOP . 
(label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt . 0)) (NULL . (label_opt . 0)) (PRAGMA . 
(label_opt . 0)) (RAISE . (labe [...]
-      ((default . error) (THEN . (expression_opt . 0)) (RAISE .  152) (PLUS .  
154) (MINUS .  153) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  
151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL 
.  49) (LEFT_PAREN .  148))
-      ((default . error) (IF .  1203))
+      ((default . error) (END . (sequence_of_statements_opt . 0)) (ACCEPT . 
(label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . 
(label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) (LOOP . 
(label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt . 0)) (NULL . (label_opt . 0)) (PRAGMA . 
(label_opt . 0)) (RAISE . (labe [...]
+      ((default . error) (THEN . (expression_opt . 0)) (RAISE .  153) (PLUS .  
155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  
151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL 
.  49) (LEFT_PAREN .  148))
+      ((default . error) (IF .  1194))
       ((default . error) (END . (elsif_statement_list . 0)) (ELSE . 
(elsif_statement_list . 0)) (ELSIF . (elsif_statement_list . 0)))
-      ((default . error) (END .  1201) (ELSE .  1200) (ELSIF .  1163))
-      ((default . error) (SEMICOLON .  1199))
+      ((default . error) (END .  1192) (ELSE .  1191) (ELSIF .  1154))
+      ((default . error) (SEMICOLON .  1190))
       ((default . error) (OR . (raise_statement . 1)) (THEN . (raise_statement 
. 1)) (WHEN . (raise_statement . 1)) (EXCEPTION . (raise_statement . 1)) (END . 
(raise_statement . 1)) (LESS_LESS . (raise_statement . 1)) (ACCEPT . 
(raise_statement . 1)) (ABORT . (raise_statement . 1)) (BEGIN . 
(raise_statement . 1)) (CASE . (raise_statement . 1)) (DECLARE . 
(raise_statement . 1)) (DELAY . (raise_statement . 1)) (EXIT . (raise_statement 
. 1)) (FOR . (raise_statement . 1)) (GOTO . (raise_stat [...]
       ((default . error) (OR . (requeue_statement . 0)) (THEN . 
(requeue_statement . 0)) (WHEN . (requeue_statement . 0)) (EXCEPTION . 
(requeue_statement . 0)) (END . (requeue_statement . 0)) (LESS_LESS . 
(requeue_statement . 0)) (ACCEPT . (requeue_statement . 0)) (ABORT . 
(requeue_statement . 0)) (BEGIN . (requeue_statement . 0)) (CASE . 
(requeue_statement . 0)) (DECLARE . (requeue_statement . 0)) (DELAY . 
(requeue_statement . 0)) (EXIT . (requeue_statement . 0)) (FOR . 
(requeue_stateme [...]
-      ((default . error) (RETURN .  1198))
-      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (ACCESS . (null_exclusion_opt . 0)) (NOT .  885))
-      ((default . error) (END .  1194))
-      ((default . error) (SELECT .  1193))
+      ((default . error) (RETURN .  1189))
+      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (ACCESS . (null_exclusion_opt . 0)) (NOT .  875))
+      ((default . error) (END .  1185))
+      ((default . error) (SELECT .  1184))
       ((default . error) (OR . (selective_accept . 1)) (THEN . 
(selective_accept . 1)) (WHEN . (selective_accept . 1)) (EXCEPTION . 
(selective_accept . 1)) (END . (selective_accept . 1)) (LESS_LESS . 
(selective_accept . 1)) (ACCEPT . (selective_accept . 1)) (ABORT . 
(selective_accept . 1)) (BEGIN . (selective_accept . 1)) (CASE . 
(selective_accept . 1)) (DECLARE . (selective_accept . 1)) (DELAY . 
(selective_accept . 1)) (EXIT . (selective_accept . 1)) (FOR . 
(selective_accept . 1)) (GOTO [...]
-      ((default . error) (SELECT .  1192))
+      ((default . error) (SELECT .  1183))
       ((default . error) (END . (delay_alternative . 0)) (OR . 
(delay_alternative . 0)) (ELSE . (delay_alternative . 0)))
-      ((default . error) (SELECT .  1191))
-      ((default . error) (SEMICOLON .  1190))
-      ((default . error) (ELSE . (sequence_of_statements_opt . 0)) (OR . 
(sequence_of_statements_opt . 0)) (END . (sequence_of_statements_opt . 0)) 
(ACCEPT . (label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) 
(DECLARE . (label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) 
(LOOP . (label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) 
(WHILE . (label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) 
(EXIT . (label_opt . 0)) (GOTO . ( [...]
+      ((default . error) (SELECT .  1182))
+      ((default . error) (SEMICOLON .  1181))
+      ((default . error) (ELSE . (sequence_of_statements_opt . 0)) (OR . 
(sequence_of_statements_opt . 0)) (END . (sequence_of_statements_opt . 0)) 
(ACCEPT . (label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) 
(DECLARE . (label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) 
(LOOP . (label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) 
(WHILE . (label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) 
(EXIT . (label_opt . 0)) (GOTO . ( [...]
       ((default . error) (END . (select_alternative . 2)) (OR . 
(select_alternative . 2)) (ELSE . (select_alternative . 2)))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
-      ((default . error) (OTHERS .  957) (IDENTIFIER .  48) (CHARACTER_LITERAL 
.  50) (STRING_LITERAL .  49))
-      ((default . error) (WHEN . (sequence_of_statements_opt . 0)) (END . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt . 0)) [...]
-      ((default . error) (OTHERS .  957) (IDENTIFIER .  48) (CHARACTER_LITERAL 
.  50) (STRING_LITERAL .  49))
-      ((default . error) (BAR .  1182) (EQUAL_GREATER .  1286))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
710))
+      ((default . error) (OTHERS .  948) (IDENTIFIER .  48) (CHARACTER_LITERAL 
.  50) (STRING_LITERAL .  49))
+      ((default . error) (WHEN . (sequence_of_statements_opt . 0)) (END . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt . 0)) [...]
+      ((default . error) (OTHERS .  948) (IDENTIFIER .  48) (CHARACTER_LITERAL 
.  50) (STRING_LITERAL .  49))
+      ((default . error) (BAR .  1173) (EQUAL_GREATER .  1277))
       ((default . error) (WHEN . (exception_handler . 1)) (END . 
(exception_handler . 1)))
       ((default . error) (EQUAL_GREATER . (exception_choice_list . 1)) (BAR . 
(exception_choice_list . 1)))
-      ((default . error) (SEMICOLON .  1285))
+      ((default . error) (SEMICOLON .  1276))
       ((default . error) (ELSE . (select_alternative . 0)) (OR . 
(select_alternative . 0)) (END . (select_alternative . 0)))
       ((default . error) (ELSE . (select_alternative . 4)) (OR . 
(select_alternative . 4)) (END . (select_alternative . 4)))
-      ((default . error) (SEMICOLON .  1284))
-      ((default . error) (SEMICOLON .  1283))
-      ((default . error) (SEMICOLON .  1282))
-      ((default . error) (SELECT .  1281))
+      ((default . error) (SEMICOLON .  1275))
+      ((default . error) (SEMICOLON .  1274))
+      ((default . error) (SEMICOLON .  1273))
+      ((default . error) (SELECT .  1272))
       ((default . error) (DO . (return_subtype_indication . 1)) (SEMICOLON . 
(return_subtype_indication . 1)) (COLON_EQUAL . (return_subtype_indication . 
1)))
-      ((default . error) (DO . (extended_return_object_declaration . 1)) 
(SEMICOLON . (extended_return_object_declaration . 1)) (COLON_EQUAL .  1280))
+      ((default . error) (DO . (extended_return_object_declaration . 1)) 
(SEMICOLON . (extended_return_object_declaration . 1)) (COLON_EQUAL .  1271))
       ((default . error) (DO . (return_subtype_indication . 0)) (SEMICOLON . 
(return_subtype_indication . 0)) (COLON_EQUAL . (return_subtype_indication . 
0)))
-      ((default . error) (SEMICOLON .  1279))
+      ((default . error) (SEMICOLON .  1270))
       ((default . error) (WHEN . (loop_statement . 1)) (THEN . (loop_statement 
. 1)) (OR . (loop_statement . 1)) (ELSIF . (loop_statement . 1)) (ELSE . 
(loop_statement . 1)) (CHARACTER_LITERAL . (loop_statement . 1)) 
(STRING_LITERAL . (loop_statement . 1)) (IDENTIFIER . (loop_statement . 1)) 
(WHILE . (loop_statement . 1)) (SELECT . (loop_statement . 1)) (RETURN . 
(loop_statement . 1)) (REQUEUE . (loop_statement . 1)) (RAISE . (loop_statement 
. 1)) (PRAGMA . (loop_statement . 1)) (NULL .  [...]
-      ((default . error) (END . (sequence_of_statements_opt . 0)) (ACCEPT . 
(label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . 
(label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) (LOOP . 
(label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt . 0)) (NULL . (label_opt . 0)) (PRAGMA . 
(label_opt . 0)) (RAISE . (labe [...]
-      ((default . error) (IF .  1277))
+      ((default . error) (END . (sequence_of_statements_opt . 0)) (ACCEPT . 
(label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . 
(label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) (LOOP . 
(label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . 
(label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . 
(label_opt . 0)) (GOTO . (label_opt . 0)) (NULL . (label_opt . 0)) (PRAGMA . 
(label_opt . 0)) (RAISE . (labe [...]
+      ((default . error) (IF .  1268))
       ((default . error) (ELSIF . (elsif_statement_list . 1)) (ELSE . 
(elsif_statement_list . 1)) (END . (elsif_statement_list . 1)))
-      ((default . error) (SEMICOLON .  1276))
-      ((default . error) (THEN .  1275))
-      ((default . error) (END .  1274))
-      ((default . error) (SEMICOLON .  1273))
-      ((default . error) (END . (sequence_of_statements_opt . 0)) (WHEN . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt . 0)) [...]
-      ((default . error) (SEMICOLON .  1271))
-      ((default . error) (END .  1270))
-      ((default . error) (END .  1269))
-      ((default . error) (FOR .  1268) (IDENTIFIER .  77))
-      ((default . error) (WHEN .  1267))
-      ((default . error) (WHEN . (entry_body_formal_part . 1)))
-      ((default . error) (SEMICOLON .  1266))
-      ((default . error) (SEMICOLON .  1265))
+      ((default . error) (SEMICOLON .  1267))
+      ((default . error) (THEN .  1266))
+      ((default . error) (END .  1265))
       ((default . error) (SEMICOLON .  1264))
-      ((default . error) (SEMICOLON .  1263))
+      ((default . error) (END . (sequence_of_statements_opt . 0)) (WHEN . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt . 0)) [...]
       ((default . error) (SEMICOLON .  1262))
+      ((default . error) (END .  1261))
+      ((default . error) (END .  1260))
+      ((default . error) (FOR .  1259) (SEMICOLON . (parameter_specification . 
0)) (RIGHT_PAREN . (parameter_specification . 0)) (IDENTIFIER .  77))
+      ((default . error) (WHEN .  1258))
+      ((default . error) (WHEN . (entry_body_formal_part . 1)))
+      ((default . error) (SEMICOLON .  1257))
+      ((default . error) (SEMICOLON .  1256))
+      ((default . error) (SEMICOLON .  1255))
+      ((default . error) (SEMICOLON .  1254))
+      ((default . error) (SEMICOLON .  1253))
       ((default . error) (BEGIN . (object_renaming_declaration . 0)) (ENTRY . 
(object_renaming_declaration . 0)) (FOR . (object_renaming_declaration . 0)) 
(FUNCTION . (object_renaming_declaration . 0)) (GENERIC . 
(object_renaming_declaration . 0)) (NOT . (object_renaming_declaration . 0)) 
(OVERRIDING . (object_renaming_declaration . 0)) (PACKAGE . 
(object_renaming_declaration . 0)) (PRAGMA . (object_renaming_declaration . 0)) 
(PROCEDURE . (object_renaming_declaration . 0)) (PROTECTED . ( [...]
       ((default . error) (BEGIN . (private_type_declaration . 0)) (ENTRY . 
(private_type_declaration . 0)) (FOR . (private_type_declaration . 0)) 
(FUNCTION . (private_type_declaration . 0)) (GENERIC . 
(private_type_declaration . 0)) (NOT . (private_type_declaration . 0)) 
(OVERRIDING . (private_type_declaration . 0)) (PACKAGE . 
(private_type_declaration . 0)) (PRAGMA . (private_type_declaration . 0)) 
(PROCEDURE . (private_type_declaration . 0)) (PROTECTED . 
(private_type_declaration . 0)) [...]
-      ((default . error) (WITH .  1261))
+      ((default . error) (WITH .  1252))
       ((default . error) (WITH . (constraint_opt . 1)) (SEMICOLON . 
(constraint_opt . 1)))
       ((default . error) (WITH . (derived_type_definition . 1)) (SEMICOLON . 
(derived_type_definition . 1)))
-      ((default . error) (WITH .  1260))
-      ((default . error) (WHEN .  1257))
+      ((default . error) (WITH .  1251))
+      ((default . error) (WHEN .  1248))
       ((default . error) (SEMICOLON . (record_definition . 0)) (WITH . 
(record_definition . 0)))
-      ((default . error) (COLON_EQUAL .  1255) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109))
+      ((default . error) (COLON_EQUAL .  1246) (SEMICOLON . 
(aspect_specification_opt . 0)) (WITH .  109))
       ((default . error) (SEMICOLON . (type_definition . 1)) (WITH . 
(type_definition . 1)))
       ((default . error) (RIGHT_PAREN . (enumeration_literal_list . 1)) (COMMA 
. (enumeration_literal_list . 1)))
-      ((default . error) (DOT_DOT .  1254))
-      ((default . error) (WITH . (real_range_specification_opt . 0)) 
(SEMICOLON . (real_range_specification_opt . 0)) (RANGE .  1116))
+      ((default . error) (DOT_DOT .  1245))
+      ((default . error) (WITH . (real_range_specification_opt . 0)) 
(SEMICOLON . (real_range_specification_opt . 0)) (RANGE .  1107))
       ((default . error) (IDENTIFIER . (task_type_declaration . 1)) (USE . 
(task_type_declaration . 1)) (TYPE . (task_type_declaration . 1)) (TASK . 
(task_type_declaration . 1)) (SUBTYPE . (task_type_declaration . 1)) (PROTECTED 
. (task_type_declaration . 1)) (PROCEDURE . (task_type_declaration . 1)) 
(PRAGMA . (task_type_declaration . 1)) (PACKAGE . (task_type_declaration . 1)) 
(OVERRIDING . (task_type_declaration . 1)) (NOT . (task_type_declaration . 1)) 
(GENERIC . (task_type_declaratio [...]
-      ((default . error) (AND .  1080) (WITH .  1252))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
-      ((default . error) (SEMICOLON .  1250))
+      ((default . error) (AND .  1071) (WITH .  1243))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
710))
+      ((default . error) (SEMICOLON .  1241))
       ((default . error) (IDENTIFIER . (protected_type_declaration . 1)) (USE 
. (protected_type_declaration . 1)) (TYPE . (protected_type_declaration . 1)) 
(TASK . (protected_type_declaration . 1)) (SUBTYPE . 
(protected_type_declaration . 1)) (PROTECTED . (protected_type_declaration . 
1)) (PROCEDURE . (protected_type_declaration . 1)) (PRAGMA . 
(protected_type_declaration . 1)) (PACKAGE . (protected_type_declaration . 1)) 
(OVERRIDING . (protected_type_declaration . 1)) (NOT . (protected_ [...]
-      ((default . error) (AND .  1080) (WITH .  1249))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
-      ((default . error) (SEMICOLON .  1247))
-      ((default . error) (RANGE .  1246))
+      ((default . error) (AND .  1071) (WITH .  1240))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
710))
+      ((default . error) (SEMICOLON .  1238))
+      ((default . error) (RANGE .  1237))
       ((default . error) (SEMICOLON . (record_rep . 0)))
       ((default . error) (IDENTIFIER . (mod_clause_opt . 1)))
       ((default . error) (COLON_EQUAL . (component_definition . 2)) (SEMICOLON 
. (component_definition . 2)) (WITH . (component_definition . 2)))
       ((default . error) (COLON_EQUAL . (component_definition . 0)) (SEMICOLON 
. (component_definition . 0)) (WITH . (component_definition . 0)))
-      ((default . error) (RIGHT_PAREN . (subtype_indication . 1)) (COMMA . 
(subtype_indication . 1)) (DOT .  90) (TICK .  91) (BAR . (discrete_choice . 
1)) (EQUAL_GREATER . (discrete_choice . 1)) (RANGE .  904) (LEFT_PAREN .  829))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (RIGHT_PAREN . (subtype_indication . 1)) (COMMA . 
(subtype_indication . 1)) (DOT .  90) (TICK .  91) (BAR . (discrete_choice . 
1)) (EQUAL_GREATER . (discrete_choice . 1)) (RANGE .  895) (LEFT_PAREN .  820))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
       ((default . error) (END . (single_protected_declaration . 0)) (PRIVATE . 
(single_protected_declaration . 0)) (IDENTIFIER . (single_protected_declaration 
. 0)) (USE . (single_protected_declaration . 0)) (TYPE . 
(single_protected_declaration . 0)) (TASK . (single_protected_declaration . 0)) 
(SUBTYPE . (single_protected_declaration . 0)) (PROTECTED . 
(single_protected_declaration . 0)) (PROCEDURE . (single_protected_declaration 
. 0)) (PRAGMA . (single_protected_declaration . 0)) (PACK [...]
       ((default . error) (SEMICOLON . (protected_definition . 0)))
-      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  302) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 299) (IDENTIFIER .  305) (TYPE .  304) (GENERIC .  2) (PROTECTED .  301) (TASK 
.  303) (PACKAGE .  300))
+      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  272) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 269) (IDENTIFIER .  275) (TYPE .  274) (GENERIC .  2) (PROTECTED .  271) (TASK 
.  273) (PACKAGE .  270))
       ((default . error) (END . (single_task_declaration . 0)) (PRIVATE . 
(single_task_declaration . 0)) (IDENTIFIER . (single_task_declaration . 0)) 
(USE . (single_task_declaration . 0)) (TYPE . (single_task_declaration . 0)) 
(TASK . (single_task_declaration . 0)) (SUBTYPE . (single_task_declaration . 
0)) (PROTECTED . (single_task_declaration . 0)) (PROCEDURE . 
(single_task_declaration . 0)) (PRAGMA . (single_task_declaration . 0)) 
(PACKAGE . (single_task_declaration . 0)) (OVERRIDING . [...]
       ((default . error) (SEMICOLON . (task_definition . 0)))
-      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  302) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 299) (IDENTIFIER .  305) (TYPE .  304) (GENERIC .  2) (PROTECTED .  301) (TASK 
.  303) (PACKAGE .  300))
+      ((default . error) (END . (declarative_part_opt . 0)) (PRIVATE . 
(declarative_part_opt . 0)) (USE .  11) (SUBTYPE .  272) (PRAGMA .  7) (NOT .  
4) (OVERRIDING .  5) (FUNCTION . (overriding_indicator_opt . 2)) (PROCEDURE . 
(overriding_indicator_opt . 2)) (ENTRY . (overriding_indicator_opt . 2)) (FOR . 
 269) (IDENTIFIER .  275) (TYPE .  274) (GENERIC .  2) (PROTECTED .  271) (TASK 
.  273) (PACKAGE .  270))
       ((default . error) (WITH . (type_definition . 5)) (SEMICOLON . 
(type_definition . 5)))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (SEMICOLON .  1303))
-      ((default . error) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  182) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) 
(ABS .  144) (NOT .  181) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(LEFT_PAREN .  148))
-      ((default . error) (END .  1300) (WHEN .  1257))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (WITH . (expression_opt . 0)) (SEMICOLON . 
(expression_opt . 0)) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  144) 
(NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (SEMICOLON .  1294))
+      ((default . error) (EQUAL_GREATER . (discrete_choice_list . 0)) (BAR . 
(discrete_choice_list . 0)) (OTHERS .  152) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (PLUS .  155) (MINUS .  154) 
(ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) 
(LEFT_PAREN .  148))
+      ((default . error) (END .  1291) (WHEN .  1248))
       ((default . error) (END . (variant_list . 0)) (WHEN . (variant_list . 
0)))
-      ((default . error) (PRIVATE .  1299))
-      ((default . error) (RECORD .  868) (NULL .  866))
+      ((default . error) (PRIVATE .  1290))
+      ((default . error) (RECORD .  858) (NULL .  856))
       ((default . error) (PRIVATE . (object_declaration . 2)) (END . 
(object_declaration . 2)) (BEGIN . (object_declaration . 2)) (ENTRY . 
(object_declaration . 2)) (FOR . (object_declaration . 2)) (FUNCTION . 
(object_declaration . 2)) (GENERIC . (object_declaration . 2)) (NOT . 
(object_declaration . 2)) (OVERRIDING . (object_declaration . 2)) (PACKAGE . 
(object_declaration . 2)) (PRAGMA . (object_declaration . 2)) (PROCEDURE . 
(object_declaration . 2)) (PROTECTED . (object_declaration . [...]
       ((default . error) (PRIVATE . (object_declaration . 4)) (END . 
(object_declaration . 4)) (BEGIN . (object_declaration . 4)) (ENTRY . 
(object_declaration . 4)) (FOR . (object_declaration . 4)) (FUNCTION . 
(object_declaration . 4)) (GENERIC . (object_declaration . 4)) (NOT . 
(object_declaration . 4)) (OVERRIDING . (object_declaration . 4)) (PACKAGE . 
(object_declaration . 4)) (PRAGMA . (object_declaration . 4)) (PROCEDURE . 
(object_declaration . 4)) (PROTECTED . (object_declaration . [...]
       ((default . error) (PRIVATE . (object_declaration . 0)) (END . 
(object_declaration . 0)) (BEGIN . (object_declaration . 0)) (ENTRY . 
(object_declaration . 0)) (FOR . (object_declaration . 0)) (FUNCTION . 
(object_declaration . 0)) (GENERIC . (object_declaration . 0)) (NOT . 
(object_declaration . 0)) (OVERRIDING . (object_declaration . 0)) (PACKAGE . 
(object_declaration . 0)) (PRAGMA . (object_declaration . 0)) (PROCEDURE . 
(object_declaration . 0)) (PROTECTED . (object_declaration . [...]
       ((default . error) (PRIVATE . (entry_declaration . 0)) (END . 
(entry_declaration . 0)) (BEGIN . (entry_declaration . 0)) (ENTRY . 
(entry_declaration . 0)) (FOR . (entry_declaration . 0)) (FUNCTION . 
(entry_declaration . 0)) (GENERIC . (entry_declaration . 0)) (NOT . 
(entry_declaration . 0)) (OVERRIDING . (entry_declaration . 0)) (PACKAGE . 
(entry_declaration . 0)) (PRAGMA . (entry_declaration . 0)) (PROCEDURE . 
(entry_declaration . 0)) (PROTECTED . (entry_declaration . 0)) (SUBTYPE [...]
       ((default . error) (PRIVATE . (protected_body . 0)) (END . 
(protected_body . 0)) (BEGIN . (protected_body . 0)) (ENTRY . (protected_body . 
0)) (FOR . (protected_body . 0)) (FUNCTION . (protected_body . 0)) (GENERIC . 
(protected_body . 0)) (NOT . (protected_body . 0)) (OVERRIDING . 
(protected_body . 0)) (PACKAGE . (protected_body . 0)) (PRAGMA . 
(protected_body . 0)) (PROCEDURE . (protected_body . 0)) (PROTECTED . 
(protected_body . 0)) (SUBTYPE . (protected_body . 0)) (TASK . (prote [...]
-      ((default . error) (IS . (expression_opt . 0)) (RAISE .  152) (PLUS .  
154) (MINUS .  153) (ABS .  144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  
151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL 
.  49) (LEFT_PAREN .  148))
-      ((default . error) (IDENTIFIER .  1296))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
+      ((default . error) (IS . (expression_opt . 0)) (RAISE .  153) (PLUS .  
155) (MINUS .  154) (ABS .  144) (NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  
151) (NEW .  149) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL 
.  49) (LEFT_PAREN .  148))
+      ((default . error) (IDENTIFIER .  1287))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
710))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
710))
       ((default . error) (OR . (case_statement . 0)) (THEN . (case_statement . 
0)) (WHEN . (case_statement . 0)) (EXCEPTION . (case_statement . 0)) (END . 
(case_statement . 0)) (LESS_LESS . (case_statement . 0)) (ACCEPT . 
(case_statement . 0)) (ABORT . (case_statement . 0)) (BEGIN . (case_statement . 
0)) (CASE . (case_statement . 0)) (DECLARE . (case_statement . 0)) (DELAY . 
(case_statement . 0)) (EXIT . (case_statement . 0)) (FOR . (case_statement . 
0)) (GOTO . (case_statement . 0)) (IF [...]
       ((default . error) (END . (case_statement_alternative . 0)) (WHEN . 
(case_statement_alternative . 0)))
       ((default . error) (OR . (block_statement . 0)) (THEN . (block_statement 
. 0)) (WHEN . (block_statement . 0)) (EXCEPTION . (block_statement . 0)) (END . 
(block_statement . 0)) (LESS_LESS . (block_statement . 0)) (ACCEPT . 
(block_statement . 0)) (ABORT . (block_statement . 0)) (BEGIN . 
(block_statement . 0)) (CASE . (block_statement . 0)) (DECLARE . 
(block_statement . 0)) (DELAY . (block_statement . 0)) (EXIT . (block_statement 
. 0)) (FOR . (block_statement . 0)) (GOTO . (block_stat [...]
-      ((default . error) (IF .  1293))
-      ((default . error) (ELSE . (sequence_of_statements_opt . 0)) (ELSIF . 
(sequence_of_statements_opt . 0)) (END . (sequence_of_statements_opt . 0)) 
(ACCEPT . (label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) 
(DECLARE . (label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) 
(LOOP . (label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) 
(WHILE . (label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) 
(EXIT . (label_opt . 0)) (GOTO  [...]
+      ((default . error) (IF .  1284))
+      ((default . error) (ELSE . (sequence_of_statements_opt . 0)) (ELSIF . 
(sequence_of_statements_opt . 0)) (END . (sequence_of_statements_opt . 0)) 
(ACCEPT . (label_opt . 0)) (BEGIN . (label_opt . 0)) (CASE . (label_opt . 0)) 
(DECLARE . (label_opt . 0)) (FOR . (label_opt . 0)) (IF . (label_opt . 0)) 
(LOOP . (label_opt . 0)) (RETURN . (label_opt . 0)) (SELECT . (label_opt . 0)) 
(WHILE . (label_opt . 0)) (ABORT . (label_opt . 0)) (DELAY . (label_opt . 0)) 
(EXIT . (label_opt . 0)) (GOTO  [...]
       ((default . error) (OR . (if_statement . 3)) (THEN . (if_statement . 3)) 
(WHEN . (if_statement . 3)) (EXCEPTION . (if_statement . 3)) (END . 
(if_statement . 3)) (LESS_LESS . (if_statement . 3)) (ACCEPT . (if_statement . 
3)) (ABORT . (if_statement . 3)) (BEGIN . (if_statement . 3)) (CASE . 
(if_statement . 3)) (DECLARE . (if_statement . 3)) (DELAY . (if_statement . 3)) 
(EXIT . (if_statement . 3)) (FOR . (if_statement . 3)) (GOTO . (if_statement . 
3)) (IF . (if_statement . 3)) (LOOP . [...]
-      ((default . error) (SEMICOLON .  1291))
-      ((default . error) (END .  1290))
+      ((default . error) (SEMICOLON .  1282))
+      ((default . error) (END .  1281))
       ((default . error) (OR . (extended_return_statement . 0)) (THEN . 
(extended_return_statement . 0)) (WHEN . (extended_return_statement . 0)) 
(EXCEPTION . (extended_return_statement . 0)) (END . (extended_return_statement 
. 0)) (LESS_LESS . (extended_return_statement . 0)) (ACCEPT . 
(extended_return_statement . 0)) (ABORT . (extended_return_statement . 0)) 
(BEGIN . (extended_return_statement . 0)) (CASE . (extended_return_statement . 
0)) (DECLARE . (extended_return_statement . 0)) (D [...]
-      ((default . error) (RAISE .  152) (PLUS .  154) (MINUS .  153) (ABS .  
144) (NOT .  150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) 
(IDENTIFIER .  48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN 
.  148))
-      ((default . error) (SEMICOLON .  1288))
+      ((default . error) (DO . (expression_opt . 0)) (SEMICOLON . 
(expression_opt . 0)) (RAISE .  153) (PLUS .  155) (MINUS .  154) (ABS .  144) 
(NOT .  324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  
48) (CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (SEMICOLON .  1279))
       ((default . error) (OR . (selective_accept . 0)) (THEN . 
(selective_accept . 0)) (WHEN . (selective_accept . 0)) (EXCEPTION . 
(selective_accept . 0)) (END . (selective_accept . 0)) (LESS_LESS . 
(selective_accept . 0)) (ACCEPT . (selective_accept . 0)) (ABORT . 
(selective_accept . 0)) (BEGIN . (selective_accept . 0)) (CASE . 
(selective_accept . 0)) (DECLARE . (selective_accept . 0)) (DELAY . 
(selective_accept . 0)) (EXIT . (selective_accept . 0)) (FOR . 
(selective_accept . 0)) (GOTO [...]
       ((default . error) (OR . (conditional_entry_call . 0)) (THEN . 
(conditional_entry_call . 0)) (WHEN . (conditional_entry_call . 0)) (EXCEPTION 
. (conditional_entry_call . 0)) (END . (conditional_entry_call . 0)) (LESS_LESS 
. (conditional_entry_call . 0)) (ACCEPT . (conditional_entry_call . 0)) (ABORT 
. (conditional_entry_call . 0)) (BEGIN . (conditional_entry_call . 0)) (CASE . 
(conditional_entry_call . 0)) (DECLARE . (conditional_entry_call . 0)) (DELAY . 
(conditional_entry_call .  [...]
       ((default . error) (OR . (timed_entry_call . 0)) (THEN . 
(timed_entry_call . 0)) (WHEN . (timed_entry_call . 0)) (EXCEPTION . 
(timed_entry_call . 0)) (END . (timed_entry_call . 0)) (LESS_LESS . 
(timed_entry_call . 0)) (ACCEPT . (timed_entry_call . 0)) (ABORT . 
(timed_entry_call . 0)) (BEGIN . (timed_entry_call . 0)) (CASE . 
(timed_entry_call . 0)) (DECLARE . (timed_entry_call . 0)) (DELAY . 
(timed_entry_call . 0)) (EXIT . (timed_entry_call . 0)) (FOR . 
(timed_entry_call . 0)) (GOTO [...]
       ((default . error) (OR . (loop_statement . 0)) (THEN . (loop_statement . 
0)) (WHEN . (loop_statement . 0)) (EXCEPTION . (loop_statement . 0)) (END . 
(loop_statement . 0)) (LESS_LESS . (loop_statement . 0)) (ACCEPT . 
(loop_statement . 0)) (ABORT . (loop_statement . 0)) (BEGIN . (loop_statement . 
0)) (CASE . (loop_statement . 0)) (DECLARE . (loop_statement . 0)) (DELAY . 
(loop_statement . 0)) (EXIT . (loop_statement . 0)) (FOR . (loop_statement . 
0)) (GOTO . (loop_statement . 0)) (IF [...]
-      ((default . error) (WHEN . (sequence_of_statements_opt . 0)) (END . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt . 0)) [...]
+      ((default . error) (WHEN . (sequence_of_statements_opt . 0)) (END . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt . 0)) [...]
       ((default . error) (WHEN . (exception_handler . 0)) (END . 
(exception_handler . 0)))
       ((default . error) (WHEN . (asynchronous_select . 0)) (THEN . 
(asynchronous_select . 0)) (OR . (asynchronous_select . 0)) (ELSIF . 
(asynchronous_select . 0)) (ELSE . (asynchronous_select . 0)) 
(CHARACTER_LITERAL . (asynchronous_select . 0)) (STRING_LITERAL . 
(asynchronous_select . 0)) (IDENTIFIER . (asynchronous_select . 0)) (WHILE . 
(asynchronous_select . 0)) (SELECT . (asynchronous_select . 0)) (RETURN . 
(asynchronous_select . 0)) (REQUEUE . (asynchronous_select . 0)) (RAISE . (a 
[...]
       ((default . error) (DO . (extended_return_object_declaration . 0)) 
(SEMICOLON . (extended_return_object_declaration . 0)))
-      ((default . error) (IF .  1321))
+      ((default . error) (IF .  1312))
       ((default . error) (WHEN . (if_statement . 1)) (THEN . (if_statement . 
1)) (OR . (if_statement . 1)) (ELSIF . (if_statement . 1)) (ELSE . 
(if_statement . 1)) (CHARACTER_LITERAL . (if_statement . 1)) (STRING_LITERAL . 
(if_statement . 1)) (IDENTIFIER . (if_statement . 1)) (WHILE . (if_statement . 
1)) (SELECT . (if_statement . 1)) (RETURN . (if_statement . 1)) (REQUEUE . 
(if_statement . 1)) (RAISE . (if_statement . 1)) (PRAGMA . (if_statement . 1)) 
(NULL . (if_statement . 1)) (LOOP .  [...]
       ((default . error) (ELSE . (elsif_statement_item . 0)) (ELSIF . 
(elsif_statement_item . 0)) (END . (elsif_statement_item . 0)))
-      ((default . error) (SEMICOLON .  1320))
-      ((default . error) (SEMICOLON .  1319))
-      ((default . error) (SEMICOLON .  1318))
-      ((default . error) (IN .  1317))
-      ((default . error) (IS .  1316))
+      ((default . error) (SEMICOLON .  1311))
+      ((default . error) (SEMICOLON .  1310))
+      ((default . error) (SEMICOLON .  1309))
+      ((default . error) (IN .  1308))
+      ((default . error) (IS .  1307))
       ((default . error) (WITH . (derived_type_definition . 0)) (SEMICOLON . 
(derived_type_definition . 0)))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
-      ((default . error) (CASE .  1314))
+      ((default . error) (CASE .  1305))
       ((default . error) (WHEN . (variant_list . 1)) (END . (variant_list . 
1)))
-      ((default . error) (BAR .  286) (EQUAL_GREATER .  1313))
+      ((default . error) (BAR .  356) (EQUAL_GREATER .  1304))
       ((default . error) (WHEN . (component_declaration . 1)) (END . 
(component_declaration . 1)) (CASE . (component_declaration . 1)) (FOR . 
(component_declaration . 1)) (IDENTIFIER . (component_declaration . 1)))
       ((default . error) (SEMICOLON . (aspect_specification_opt . 0)) (WITH .  
109))
       ((default . error) (SEMICOLON . (real_range_specification_opt . 1)) 
(WITH . (real_range_specification_opt . 1)))
-      ((default . error) (SEMICOLON .  1311))
-      ((default . error) (SEMICOLON .  1310))
-      ((default . error) (DOT_DOT .  1309))
-      ((default . error) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  
150) (NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
+      ((default . error) (SEMICOLON .  1302))
+      ((default . error) (SEMICOLON .  1301))
+      ((default . error) (DOT_DOT .  1300))
+      ((default . error) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  
324) (NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (IDENTIFIER .  48) 
(CHARACTER_LITERAL .  50) (STRING_LITERAL .  49) (LEFT_PAREN .  148))
       ((default . error) (PRIVATE . (protected_type_declaration . 0)) (END . 
(protected_type_declaration . 0)) (BEGIN . (protected_type_declaration . 0)) 
(ENTRY . (protected_type_declaration . 0)) (FOR . (protected_type_declaration . 
0)) (FUNCTION . (protected_type_declaration . 0)) (GENERIC . 
(protected_type_declaration . 0)) (NOT . (protected_type_declaration . 0)) 
(OVERRIDING . (protected_type_declaration . 0)) (PACKAGE . 
(protected_type_declaration . 0)) (PRAGMA . (protected_type_dec [...]
       ((default . error) (PRIVATE . (task_type_declaration . 0)) (END . 
(task_type_declaration . 0)) (BEGIN . (task_type_declaration . 0)) (ENTRY . 
(task_type_declaration . 0)) (FOR . (task_type_declaration . 0)) (FUNCTION . 
(task_type_declaration . 0)) (GENERIC . (task_type_declaration . 0)) (NOT . 
(task_type_declaration . 0)) (OVERRIDING . (task_type_declaration . 0)) 
(PACKAGE . (task_type_declaration . 0)) (PRAGMA . (task_type_declaration . 0)) 
(PROCEDURE . (task_type_declaration . 0) [...]
-      ((default . error) (SEMICOLON .  1328))
-      ((default . error) (END . (component_list_opt . 0)) (WHEN . 
(component_list_opt . 0)) (NULL .  1033) (CASE .  1032) (IDENTIFIER .  77) (FOR 
.  299))
-      ((default . error) (SEMICOLON .  1326))
-      ((default . error) (SEMICOLON .  1325))
-      ((default . error) (BEGIN . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  302) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  299) (IDENTIFIER .  305) (TYPE 
.  304) (GENERIC .  2) (PROTECTED .  301) (TASK .  303) (PACKAGE .  300))
-      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (PLUS .  154) (MINUS .  153) (ABS .  144) (NOT .  736) 
(NUMERIC_LITERAL .  155) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
+      ((default . error) (SEMICOLON .  1319))
+      ((default . error) (END . (component_list_opt . 0)) (WHEN . 
(component_list_opt . 0)) (NULL .  1024) (CASE .  1023) (IDENTIFIER .  77) (FOR 
.  269))
+      ((default . error) (SEMICOLON .  1317))
+      ((default . error) (SEMICOLON .  1316))
+      ((default . error) (BEGIN . (declarative_part_opt . 0)) (USE .  11) 
(SUBTYPE .  272) (PRAGMA .  7) (NOT .  4) (OVERRIDING .  5) (FUNCTION . 
(overriding_indicator_opt . 2)) (PROCEDURE . (overriding_indicator_opt . 2)) 
(ENTRY . (overriding_indicator_opt . 2)) (FOR .  269) (IDENTIFIER .  275) (TYPE 
.  274) (GENERIC .  2) (PROTECTED .  271) (TASK .  273) (PACKAGE .  270))
+      ((default . error) (IDENTIFIER .  48) (CHARACTER_LITERAL .  50) 
(STRING_LITERAL .  49) (PLUS .  155) (MINUS .  154) (ABS .  144) (NOT .  728) 
(NUMERIC_LITERAL .  156) (NULL .  151) (NEW .  149) (LEFT_PAREN .  148))
       ((default . error) (PRIVATE . (task_body . 0)) (END . (task_body . 0)) 
(BEGIN . (task_body . 0)) (ENTRY . (task_body . 0)) (FOR . (task_body . 0)) 
(FUNCTION . (task_body . 0)) (GENERIC . (task_body . 0)) (NOT . (task_body . 
0)) (OVERRIDING . (task_body . 0)) (PACKAGE . (task_body . 0)) (PRAGMA . 
(task_body . 0)) (PROCEDURE . (task_body . 0)) (PROTECTED . (task_body . 0)) 
(SUBTYPE . (task_body . 0)) (TASK . (task_body . 0)) (TYPE . (task_body . 0)) 
(USE . (task_body . 0)) (IDENTIFIE [...]
       ((default . error) (THEN . (accept_statement . 0)) (WHEN . 
(accept_statement . 0)) (EXCEPTION . (accept_statement . 0)) (ELSIF . 
(accept_statement . 0)) (ELSE . (accept_statement . 0)) (OR . (accept_statement 
. 0)) (END . (accept_statement . 0)) (ACCEPT . (accept_statement . 0)) (ABORT . 
(accept_statement . 0)) (BEGIN . (accept_statement . 0)) (CASE . 
(accept_statement . 0)) (DECLARE . (accept_statement . 0)) (DELAY . 
(accept_statement . 0)) (EXIT . (accept_statement . 0)) (FOR . ( [...]
       ((default . error) (OR . (if_statement . 2)) (THEN . (if_statement . 2)) 
(WHEN . (if_statement . 2)) (EXCEPTION . (if_statement . 2)) (END . 
(if_statement . 2)) (LESS_LESS . (if_statement . 2)) (ACCEPT . (if_statement . 
2)) (ABORT . (if_statement . 2)) (BEGIN . (if_statement . 2)) (CASE . 
(if_statement . 2)) (DECLARE . (if_statement . 2)) (DELAY . (if_statement . 2)) 
(EXIT . (if_statement . 2)) (FOR . (if_statement . 2)) (GOTO . (if_statement . 
2)) (IF . (if_statement . 2)) (LOOP . [...]
-      ((default . error) (SEMICOLON .  1322))
+      ((default . error) (SEMICOLON .  1313))
       ((default . error) (WHEN . (if_statement . 0)) (THEN . (if_statement . 
0)) (OR . (if_statement . 0)) (ELSIF . (if_statement . 0)) (ELSE . 
(if_statement . 0)) (CHARACTER_LITERAL . (if_statement . 0)) (STRING_LITERAL . 
(if_statement . 0)) (IDENTIFIER . (if_statement . 0)) (WHILE . (if_statement . 
0)) (SELECT . (if_statement . 0)) (RETURN . (if_statement . 0)) (REQUEUE . 
(if_statement . 0)) (RAISE . (if_statement . 0)) (PRAGMA . (if_statement . 0)) 
(NULL . (if_statement . 0)) (LOOP .  [...]
-      ((default . error) (RIGHT_PAREN .  1332))
-      ((default . error) (BEGIN .  1331))
+      ((default . error) (RIGHT_PAREN .  1323))
+      ((default . error) (BEGIN .  1322))
       ((default . error) (BEGIN . (private_extension_declaration . 0)) (ENTRY 
. (private_extension_declaration . 0)) (FOR . (private_extension_declaration . 
0)) (FUNCTION . (private_extension_declaration . 0)) (GENERIC . 
(private_extension_declaration . 0)) (NOT . (private_extension_declaration . 
0)) (OVERRIDING . (private_extension_declaration . 0)) (PACKAGE . 
(private_extension_declaration . 0)) (PRAGMA . (private_extension_declaration . 
0)) (PROCEDURE . (private_extension_declaration  [...]
       ((default . error) (WHEN . (variant_part . 0)) (END . (variant_part . 
0)) (CASE . (variant_part . 0)) (FOR . (variant_part . 0)) (IDENTIFIER . 
(variant_part . 0)))
       ((default . error) (END . (variant . 0)) (WHEN . (variant . 0)))
       ((default . error) (WHEN . (component_declaration . 0)) (END . 
(component_declaration . 0)) (CASE . (component_declaration . 0)) (FOR . 
(component_declaration . 0)) (IDENTIFIER . (component_declaration . 0)))
-      ((default . error) (SEMICOLON .  1330))
+      ((default . error) (SEMICOLON .  1321))
       ((default . error) (END . (component_clause . 0)) (IDENTIFIER . 
(component_clause . 0)))
-      ((default . error) (END . (sequence_of_statements_opt . 0)) (EXCEPTION . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt  [...]
-      ((default . error) (WHEN . (parameter_profile_opt . 0)) (LEFT_PAREN .  
810))
+      ((default . error) (END . (sequence_of_statements_opt . 0)) (EXCEPTION . 
(sequence_of_statements_opt . 0)) (ACCEPT . (label_opt . 0)) (BEGIN . 
(label_opt . 0)) (CASE . (label_opt . 0)) (DECLARE . (label_opt . 0)) (FOR . 
(label_opt . 0)) (IF . (label_opt . 0)) (LOOP . (label_opt . 0)) (RETURN . 
(label_opt . 0)) (SELECT . (label_opt . 0)) (WHILE . (label_opt . 0)) (ABORT . 
(label_opt . 0)) (DELAY . (label_opt . 0)) (EXIT . (label_opt . 0)) (GOTO . 
(label_opt . 0)) (NULL . (label_opt  [...]
+      ((default . error) (WHEN . (parameter_profile_opt . 0)) (LEFT_PAREN .  
801))
       ((default . error) (WHEN . (entry_body_formal_part . 0)))
-      ((default . error) (END .  1335))
-      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
718))
-      ((default . error) (SEMICOLON .  1337))
+      ((default . error) (END .  1326))
+      ((default . error) (SEMICOLON . (identifier_opt . 0)) (IDENTIFIER .  
710))
+      ((default . error) (SEMICOLON .  1328))
       ((default . error) (PROCEDURE . (entry_body . 0)) (OVERRIDING . 
(entry_body . 0)) (NOT . (entry_body . 0)) (FUNCTION . (entry_body . 0)) (FOR . 
(entry_body . 0)) (ENTRY . (entry_body . 0)) (END . (entry_body . 0)))]
      [((compilation_unit . 13)(compilation_unit_list . 14)(context_item . 
15)(function_specification . 16)(generic_declaration . 17)(generic_formal_part 
. 18)(generic_instantiation . 19)(generic_package_declaration . 
20)(generic_renaming_declaration . 21)(generic_subprogram_declaration . 
22)(library_item . 23)(library_unit_declaration . 
24)(library_unit_renaming_declaration . 25)(overriding_indicator_opt . 
26)(package_body . 27)(package_declaration . 28)(package_renaming_declaration . 
29 [...]
       ((attribute_reference . 51)(name . 87)(qualified_expression . 
54)(selected_component . 55))
@@ -3243,31 +3234,31 @@
       nil
       nil
       ((actual_parameter_part . 92)(formal_part . 
93)(parameter_and_result_profile . 94))
-      ((aggregate . 157)(association_opt . 184)(association_list . 
201)(attribute_reference . 51)(case_expression . 158)(choice_expression . 
186)(choice_relation_and_list . 187)(choice_relation_or_list . 
188)(choice_relation_xor_list . 189)(choice_relation_and_then_list . 
190)(choice_relation_or_else_list . 191)(choice_relation . 
192)(conditional_quantified_expression . 202)(discrete_choice . 
193)(discrete_choice_list . 194)(expression . 195)(expression_opt . 196)(factor 
. 161)(identifie [...]
-      ((access_definition . 233)(null_exclusion_opt . 234))
+      ((aggregate . 158)(association_opt . 159)(association_list . 
195)(attribute_reference . 51)(case_expression . 161)(choice_expression . 
162)(choice_relation_and_list . 163)(choice_relation_or_list . 
164)(choice_relation_xor_list . 165)(choice_relation_and_then_list . 
166)(choice_relation_or_else_list . 167)(choice_relation . 
168)(conditional_quantified_expression . 196)(discrete_choice . 
170)(discrete_choice_list . 171)(expression . 172)(expression_opt . 173)(factor 
. 174)(identifie [...]
+      ((access_definition . 227)(null_exclusion_opt . 228))
       nil
-      ((aggregate . 225)(attribute_reference . 51)(attribute_designator . 
226)(name . 227)(qualified_expression . 54)(selected_component . 55))
+      ((aggregate . 219)(attribute_reference . 51)(attribute_designator . 
220)(name . 221)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
       nil
-      ((mode_opt . 219))
+      ((mode_opt . 213))
       nil
       nil
-      ((attribute_reference . 51)(name . 215)(qualified_expression . 
54)(selected_component . 55))
-      ((aspect_specification_opt . 214))
-      ((discriminant_part_opt . 212))
+      ((attribute_reference . 51)(name . 209)(qualified_expression . 
54)(selected_component . 55))
+      ((aspect_specification_opt . 208))
+      ((discriminant_part_opt . 206))
       ((actual_parameter_part . 92))
       ((actual_parameter_part . 92))
       ((actual_parameter_part . 92))
       nil
-      ((attribute_reference . 51)(name_list . 206)(name . 
53)(qualified_expression . 54)(selected_component . 55))
+      ((attribute_reference . 51)(name_list . 200)(name . 
53)(qualified_expression . 54)(selected_component . 55))
       nil
-      ((aggregate . 157)(association_opt . 184)(association_list . 
201)(attribute_reference . 51)(case_expression . 158)(choice_expression . 
186)(choice_relation_and_list . 187)(choice_relation_or_list . 
188)(choice_relation_xor_list . 189)(choice_relation_and_then_list . 
190)(choice_relation_or_else_list . 191)(choice_relation . 
192)(conditional_quantified_expression . 202)(discrete_choice . 
193)(discrete_choice_list . 194)(expression . 195)(expression_opt . 196)(factor 
. 161)(if_expres [...]
-      ((attribute_reference . 51)(name . 200)(qualified_expression . 
54)(selected_component . 55))
-      ((aggregate . 157)(association_opt . 184)(association_list . 
185)(attribute_reference . 51)(choice_expression . 
186)(choice_relation_and_list . 187)(choice_relation_or_list . 
188)(choice_relation_xor_list . 189)(choice_relation_and_then_list . 
190)(choice_relation_or_else_list . 191)(choice_relation . 192)(discrete_choice 
. 193)(discrete_choice_list . 194)(expression . 195)(expression_opt . 
196)(factor . 161)(name . 197)(primary . 166)(qualified_expression . 
54)(raise_expression .  [...]
+      ((aggregate . 158)(association_opt . 159)(association_list . 
195)(attribute_reference . 51)(case_expression . 161)(choice_expression . 
162)(choice_relation_and_list . 163)(choice_relation_or_list . 
164)(choice_relation_xor_list . 165)(choice_relation_and_then_list . 
166)(choice_relation_or_else_list . 167)(choice_relation . 
168)(conditional_quantified_expression . 196)(discrete_choice . 
170)(discrete_choice_list . 171)(expression . 172)(expression_opt . 173)(factor 
. 174)(if_expres [...]
+      ((attribute_reference . 51)(name . 194)(qualified_expression . 
54)(selected_component . 55))
+      ((aggregate . 158)(association_opt . 159)(association_list . 
193)(attribute_reference . 51)(choice_expression . 
162)(choice_relation_and_list . 163)(choice_relation_or_list . 
164)(choice_relation_xor_list . 165)(choice_relation_and_then_list . 
166)(choice_relation_or_else_list . 167)(choice_relation . 168)(discrete_choice 
. 170)(discrete_choice_list . 171)(expression . 172)(expression_opt . 
173)(factor . 174)(name . 176)(primary . 177)(qualified_expression . 
54)(raise_expression .  [...]
       nil
-      ((actual_parameter_part . 92)(aspect_specification_opt . 179))
-      ((aggregate . 157)(attribute_reference . 51)(case_expression . 
158)(conditional_quantified_expression . 159)(expression . 160)(factor . 
161)(if_expression . 162)(name . 163)(pragma_argument_association . 
164)(pragma_argument_association_list . 165)(primary . 
166)(qualified_expression . 54)(quantified_expression . 167)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation  [...]
+      ((actual_parameter_part . 92)(aspect_specification_opt . 191))
+      ((aggregate . 158)(association_opt . 159)(association_list . 
160)(attribute_reference . 51)(case_expression . 161)(choice_expression . 
162)(choice_relation_and_list . 163)(choice_relation_or_list . 
164)(choice_relation_xor_list . 165)(choice_relation_and_then_list . 
166)(choice_relation_or_else_list . 167)(choice_relation . 
168)(conditional_quantified_expression . 169)(discrete_choice . 
170)(discrete_choice_list . 171)(expression . 172)(expression_opt . 173)(factor 
. 174)(if_expres [...]
       nil
       ((aspect_specification_opt . 143))
       nil
@@ -3289,26 +3280,26 @@
       ((actual_parameter_part . 92)(formal_part . 
93)(parameter_and_result_profile . 94))
       nil
       nil
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 397)(entry_declaration . 
314)(enumeration_representation_clause . 315)(exception_declaration . 
316)(expression_function_declaration . 317)(full_type_declaration . 
318)(function_specification . 16)(generic_declaration . 
319)(generic_formal_part . 18)(generic_instantiation . 
320)(generic_package_declaration . 20)(gen [...]
+      ((abstract_subprogram_declaration . 276)(aspect_clause . 277)(at_clause 
. 278)(body . 279)(body_stub . 280)(declaration . 281)(declarations . 
282)(declarative_part_opt . 391)(entry_declaration . 
284)(enumeration_representation_clause . 285)(exception_declaration . 
286)(expression_function_declaration . 287)(full_type_declaration . 
288)(function_specification . 16)(generic_declaration . 
289)(generic_formal_part . 18)(generic_instantiation . 
290)(generic_package_declaration . 20)(gen [...]
       nil
-      ((actual_parameter_part . 92)(aspect_specification_opt . 396))
+      ((actual_parameter_part . 92)(aspect_specification_opt . 390))
       nil
       nil
       nil
       ((actual_parameter_part . 92))
-      ((function_specification . 16)(overriding_indicator_opt . 
393)(package_body . 328)(procedure_specification . 32)(proper_body . 
394)(protected_body . 336)(subprogram_body . 343)(task_body . 348))
+      ((function_specification . 16)(overriding_indicator_opt . 
387)(package_body . 298)(procedure_specification . 32)(proper_body . 
388)(protected_body . 306)(subprogram_body . 313)(task_body . 318))
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(name . 163)(primary . 
389)(qualified_expression . 54)(selected_component . 55))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 388)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((quantifier . 387))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 384)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aggregate . 157)(association_opt . 184)(association_list . 
381)(attribute_reference . 51)(case_expression . 158)(choice_expression . 
186)(choice_relation_and_list . 187)(choice_relation_or_list . 
188)(choice_relation_xor_list . 189)(choice_relation_and_then_list . 
190)(choice_relation_or_else_list . 191)(choice_relation . 
192)(conditional_quantified_expression . 382)(discrete_choice . 
193)(discrete_choice_list . 194)(expression . 383)(expression_opt . 196)(factor 
. 161)(if_expres [...]
-      ((attribute_reference . 51)(name . 379)(qualified_expression . 
54)(selected_component . 55))
-      ((aggregate . 157)(attribute_reference . 51)(name . 163)(primary . 
298)(qualified_expression . 54)(selected_component . 55))
+      ((aggregate . 158)(attribute_reference . 51)(name . 325)(primary . 
383)(qualified_expression . 54)(selected_component . 55))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 382)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((quantifier . 381))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 377)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((aggregate . 158)(association_opt . 159)(association_list . 
374)(attribute_reference . 51)(case_expression . 161)(choice_expression . 
162)(choice_relation_and_list . 163)(choice_relation_or_list . 
164)(choice_relation_xor_list . 165)(choice_relation_and_then_list . 
166)(choice_relation_or_else_list . 167)(choice_relation . 
168)(conditional_quantified_expression . 375)(discrete_choice . 
170)(discrete_choice_list . 171)(expression . 172)(expression_opt . 376)(factor 
. 174)(if_expres [...]
+      ((attribute_reference . 51)(name . 372)(qualified_expression . 
54)(selected_component . 55))
+      ((aggregate . 158)(attribute_reference . 51)(name . 325)(primary . 
371)(qualified_expression . 54)(selected_component . 55))
       nil
-      ((attribute_reference . 51)(name . 378)(qualified_expression . 
54)(selected_component . 55))
       nil
+      ((attribute_reference . 51)(name . 369)(qualified_expression . 
54)(selected_component . 55))
       nil
       nil
       nil
@@ -3318,9 +3309,6 @@
       nil
       nil
       nil
-      ((actual_parameter_part . 92))
-      nil
-      nil
       nil
       nil
       nil
@@ -3330,16 +3318,11 @@
       nil
       nil
       nil
-      ((relational_operator . 364))
-      ((multiplying_operator . 363))
-      ((binary_adding_operator . 358))
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 55)(term . 
176)(term_list . 354))
       nil
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 313)(entry_declaration . 
314)(enumeration_representation_clause . 315)(exception_declaration . 
316)(expression_function_declaration . 317)(full_type_declaration . 
318)(function_specification . 16)(generic_declaration . 
319)(generic_formal_part . 18)(generic_instantiation . 
320)(generic_package_declaration . 20)(gen [...]
-      ((aggregate . 157)(attribute_reference . 51)(name . 163)(primary . 
298)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
       nil
+      ((actual_parameter_part . 92))
       nil
       nil
       nil
@@ -3350,32 +3333,34 @@
       nil
       nil
       nil
+      ((relational_operator . 345))
+      ((multiplying_operator . 335))
+      ((binary_adding_operator . 330))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(selected_component . 55)(term . 
188)(term_list . 326))
       nil
+      ((abstract_subprogram_declaration . 276)(aspect_clause . 277)(at_clause 
. 278)(body . 279)(body_stub . 280)(declaration . 281)(declarations . 
282)(declarative_part_opt . 283)(entry_declaration . 
284)(enumeration_representation_clause . 285)(exception_declaration . 
286)(expression_function_declaration . 287)(full_type_declaration . 
288)(function_specification . 16)(generic_declaration . 
289)(generic_formal_part . 18)(generic_instantiation . 
290)(generic_package_declaration . 20)(gen [...]
       nil
-      ((actual_parameter_part . 92))
+      ((actual_parameter_part . 92)(aspect_specification_opt . 268))
       nil
-      ((relational_operator . 284))
-      ((actual_parameter_part . 92)(aspect_specification_opt . 274))
       nil
       nil
       nil
+      ((attribute_reference . 51)(name . 262)(qualified_expression . 
54)(selected_component . 55))
       nil
-      ((attribute_reference . 51)(name . 268)(qualified_expression . 
54)(selected_component . 55))
       nil
-      nil
-      ((attribute_reference . 51)(name . 266)(qualified_expression . 
54)(selected_component . 55))
-      ((attribute_reference . 51)(name . 265)(qualified_expression . 
54)(selected_component . 55))
-      ((attribute_reference . 51)(name . 264)(qualified_expression . 
54)(selected_component . 55))
-      ((discriminant_specification_opt . 261)(discriminant_specification_list 
. 262)(identifier_list . 263))
-      ((aspect_specification_opt . 259))
-      ((attribute_reference . 51)(name . 256)(qualified_expression . 
54)(selected_component . 55)(subprogram_default . 257))
+      ((attribute_reference . 51)(name . 260)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 259)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 258)(qualified_expression . 
54)(selected_component . 55))
+      ((discriminant_specification_opt . 255)(discriminant_specification_list 
. 256)(identifier_list . 257))
+      ((aspect_specification_opt . 253))
+      ((attribute_reference . 51)(name . 250)(qualified_expression . 
54)(selected_component . 55)(subprogram_default . 251))
       nil
       ((actual_parameter_part . 92))
       nil
       nil
       nil
-      ((access_definition . 248)(null_exclusion_opt . 249))
-      ((access_definition . 246)(null_exclusion_opt . 247))
+      ((access_definition . 242)(null_exclusion_opt . 243))
+      ((access_definition . 240)(null_exclusion_opt . 241))
       nil
       nil
       nil
@@ -3389,75 +3374,61 @@
       nil
       nil
       nil
-      ((attribute_reference . 51)(name . 243)(name_opt . 
244)(qualified_expression . 54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 237)(name_opt . 
238)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
       nil
       nil
       nil
-      ((identifier_list . 236)(parameter_specification . 533))
-      ((aliased_opt . 532))
-      ((general_access_modifier_opt . 529)(protected_opt . 530))
+      ((identifier_list . 230)(parameter_specification . 525))
+      ((aliased_opt . 524))
+      ((general_access_modifier_opt . 521)(protected_opt . 522))
       ((actual_parameter_part . 92))
       nil
       nil
       nil
-      ((attribute_reference . 51)(name . 243)(name_opt . 
525)(qualified_expression . 54)(selected_component . 55))
-      ((aspect_specification_opt . 524))
-      ((attribute_reference . 51)(name . 522)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 237)(name_opt . 
517)(qualified_expression . 54)(selected_component . 55))
+      ((aspect_specification_opt . 516))
+      ((attribute_reference . 51)(name . 514)(qualified_expression . 
54)(selected_component . 55))
       nil
       nil
       nil
-      ((aspect_specification_opt . 519)(attribute_reference . 51)(name . 
256)(qualified_expression . 54)(selected_component . 55)(subprogram_default . 
520))
+      ((aspect_specification_opt . 511)(attribute_reference . 51)(name . 
250)(qualified_expression . 54)(selected_component . 55)(subprogram_default . 
512))
       nil
       nil
       ((actual_parameter_part . 92))
-      ((aspect_specification_opt . 518))
-      ((abstract_limited_synchronized_opt . 510)(abstract_tagged_limited_opt . 
511)(access_definition . 512)(array_type_definition . 
513)(formal_type_definition . 514)(formal_derived_type_definition . 
515)(interface_type_definition . 516)(null_exclusion_opt . 517))
-      nil
+      ((aspect_specification_opt . 510))
+      ((abstract_limited_synchronized_opt . 502)(abstract_tagged_limited_opt . 
503)(access_definition . 504)(array_type_definition . 
505)(formal_type_definition . 506)(formal_derived_type_definition . 
507)(interface_type_definition . 508)(null_exclusion_opt . 509))
       nil
       nil
       nil
       nil
-      ((actual_parameter_part . 92)(aspect_specification_opt . 491))
-      ((actual_parameter_part . 92)(aspect_specification_opt . 490))
-      ((actual_parameter_part . 92)(aspect_specification_opt . 489))
       nil
-      ((actual_parameter_part . 92)(aspect_specification_opt . 488))
+      ((actual_parameter_part . 92)(aspect_specification_opt . 483))
+      ((actual_parameter_part . 92)(aspect_specification_opt . 482))
+      ((actual_parameter_part . 92)(aspect_specification_opt . 481))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
197)(primary . 166)(qualified_expression . 54)(range . 486)(selected_component 
. 55)(simple_expression . 487)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((actual_parameter_part . 92)(aspect_specification_opt . 480))
       nil
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
176)(primary . 177)(qualified_expression . 54)(range . 478)(selected_component 
. 55)(simple_expression . 479)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
-      ((aggregate . 157)(association_opt . 485)(attribute_reference . 
51)(choice_expression . 186)(choice_relation_and_list . 
187)(choice_relation_or_list . 188)(choice_relation_xor_list . 
189)(choice_relation_and_then_list . 190)(choice_relation_or_else_list . 
191)(choice_relation . 192)(discrete_choice . 193)(discrete_choice_list . 
194)(expression . 195)(expression_opt . 196)(factor . 161)(name . 197)(primary 
. 166)(qualified_expression . 54)(raise_expression . 168)(range . 198)(relati 
[...]
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 
161)(membership_choice_list . 480)(membership_choice . 481)(name . 197)(primary 
. 166)(qualified_expression . 54)(range . 482)(selected_component . 
55)(simple_expression . 483)(term . 176)(term_list . 177)(unary_adding_operator 
. 178))
+      ((aggregate . 158)(association_opt . 477)(attribute_reference . 
51)(choice_expression . 162)(choice_relation_and_list . 
163)(choice_relation_or_list . 164)(choice_relation_xor_list . 
165)(choice_relation_and_then_list . 166)(choice_relation_or_else_list . 
167)(choice_relation . 168)(discrete_choice . 170)(discrete_choice_list . 
171)(expression . 172)(expression_opt . 173)(factor . 174)(name . 176)(primary 
. 177)(qualified_expression . 54)(raise_expression . 179)(range . 180)(relati 
[...]
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 478)(term . 176)(term_list . 177)(unary_adding_operator 
. 178))
+      ((attribute_reference . 473)(direct_name . 474)(name . 
475)(qualified_expression . 54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 68)(qualified_expression . 
54)(selected_component . 55))
       nil
       nil
       nil
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 477)(term . 176)(term_list . 177)(unary_adding_operator 
. 178))
-      ((aggregate . 225)(attribute_reference . 51)(attribute_designator . 
226)(name . 227)(qualified_expression . 54)(selected_component . 55))
-      ((aggregate . 157)(attribute_reference . 51)(choice_expression . 
186)(choice_relation_and_list . 187)(choice_relation_or_list . 
188)(choice_relation_xor_list . 189)(choice_relation_and_then_list . 
190)(choice_relation_or_else_list . 191)(choice_relation . 192)(discrete_choice 
. 474)(factor . 161)(name . 197)(primary . 166)(qualified_expression . 
54)(range . 198)(selected_component . 55)(simple_expression . 475)(term . 
176)(term_list . 177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 473)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(choice_relation . 
471)(factor . 161)(name . 163)(primary . 166)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 462)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(choice_relation . 
469)(factor . 161)(name . 163)(primary . 166)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 462)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(choice_relation . 
467)(factor . 161)(name . 163)(primary . 166)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 462)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(choice_relation . 
464)(factor . 161)(name . 163)(primary . 166)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 462)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(choice_relation . 
463)(factor . 161)(name . 163)(primary . 166)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 462)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(choice_relation . 
461)(factor . 161)(name . 163)(primary . 166)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 462)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 460)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((attribute_reference . 51)(name . 458)(qualified_expression . 
54)(selected_component . 55))
       nil
-      ((attribute_reference . 455)(direct_name . 456)(name . 
457)(qualified_expression . 54)(selected_component . 55))
-      ((attribute_reference . 51)(name . 68)(qualified_expression . 
54)(selected_component . 55))
       nil
       nil
+      ((abstract_subprogram_declaration . 276)(aspect_clause . 277)(at_clause 
. 278)(body . 279)(body_stub . 280)(declaration . 460)(entry_declaration . 
284)(enumeration_representation_clause . 285)(exception_declaration . 
286)(expression_function_declaration . 287)(full_type_declaration . 
288)(function_specification . 16)(generic_declaration . 
289)(generic_formal_part . 18)(generic_instantiation . 
290)(generic_package_declaration . 20)(generic_renaming_declaration . 
291)(generic_subprog [...]
       nil
       nil
       nil
@@ -3467,12 +3438,12 @@
       nil
       nil
       nil
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 442)(entry_declaration . 
314)(enumeration_representation_clause . 315)(exception_declaration . 
316)(expression_function_declaration . 317)(full_type_declaration . 
318)(function_specification . 16)(generic_declaration . 
319)(generic_formal_part . 18)(generic_instantiation . 
320)(generic_package_declaration . 20)(generic_renaming_declaration . 
321)(generic_subprog [...]
       nil
       nil
       nil
       nil
       nil
+      ((function_specification . 454)(procedure_specification . 
455)(subprogram_specification . 456))
       nil
       nil
       nil
@@ -3482,7 +3453,6 @@
       nil
       nil
       nil
-      ((function_specification . 436)(procedure_specification . 
437)(subprogram_specification . 438))
       nil
       nil
       nil
@@ -3499,146 +3469,159 @@
       nil
       nil
       nil
+      ((abstract_subprogram_declaration . 276)(aspect_clause . 277)(at_clause 
. 278)(body . 279)(body_stub . 280)(declaration . 281)(declarations . 
282)(declarative_part_opt . 452)(entry_declaration . 
284)(enumeration_representation_clause . 285)(exception_declaration . 
286)(expression_function_declaration . 287)(full_type_declaration . 
288)(function_specification . 16)(generic_declaration . 
289)(generic_formal_part . 18)(generic_instantiation . 
290)(generic_package_declaration . 20)(gen [...]
+      ((aggregate . 158)(attribute_reference . 51)(name . 325)(primary . 
371)(qualified_expression . 54)(selected_component . 55))
+      ((actual_parameter_part . 92))
+      ((binary_adding_operator . 330))
       nil
       nil
       nil
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(selected_component . 55)(term . 
451))
       nil
       nil
       nil
       nil
+      ((aggregate . 158)(attribute_reference . 51)(factor . 450)(name . 
325)(primary . 177)(qualified_expression . 54)(selected_component . 55))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 
174)(membership_choice_list . 446)(membership_choice . 447)(name . 176)(primary 
. 177)(qualified_expression . 54)(range . 448)(selected_component . 
55)(simple_expression . 449)(term . 188)(term_list . 189)(unary_adding_operator 
. 190))
       nil
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 444)(term . 188)(term_list . 189)(unary_adding_operator 
. 190))
       nil
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 434)(entry_declaration . 
314)(enumeration_representation_clause . 315)(exception_declaration . 
316)(expression_function_declaration . 317)(full_type_declaration . 
318)(function_specification . 16)(generic_declaration . 
319)(generic_formal_part . 18)(generic_instantiation . 
320)(generic_package_declaration . 20)(gen [...]
-      ((binary_adding_operator . 358))
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 55)(term . 
433))
       nil
       nil
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 443)(term . 188)(term_list . 189)(unary_adding_operator 
. 190))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(raise_expression . 179)(relation 
. 442)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list 
. 189)(unary_adding_operator . 190))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(raise_expression . 179)(relation 
. 440)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list 
. 189)(unary_adding_operator . 190))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(raise_expression . 179)(relation 
. 438)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list 
. 189)(unary_adding_operator . 190))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(raise_expression . 179)(relation 
. 437)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list 
. 189)(unary_adding_operator . 190))
       nil
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(raise_expression . 179)(relation 
. 435)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list 
. 189)(unary_adding_operator . 190))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 432)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 55))
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 431)(term . 176)(term_list . 177)(unary_adding_operator 
. 178))
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(raise_expression . 168)(relation 
. 430)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list 
. 177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(raise_expression . 168)(relation 
. 428)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list 
. 177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(raise_expression . 168)(relation 
. 426)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list 
. 177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(raise_expression . 168)(relation 
. 425)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list 
. 177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(raise_expression . 179)(relation 
. 433)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list 
. 189)(unary_adding_operator . 190))
+      ((aggregate . 158)(attribute_reference . 51)(name . 325)(primary . 
432)(qualified_expression . 54)(selected_component . 55))
+      ((aggregate . 219)(attribute_reference . 51)(attribute_designator . 
220)(name . 221)(qualified_expression . 54)(selected_component . 55))
+      ((aggregate . 158)(attribute_reference . 51)(choice_expression . 
162)(choice_relation_and_list . 163)(choice_relation_or_list . 
164)(choice_relation_xor_list . 165)(choice_relation_and_then_list . 
166)(choice_relation_or_else_list . 167)(choice_relation . 168)(discrete_choice 
. 429)(factor . 174)(name . 176)(primary . 177)(qualified_expression . 
54)(range . 180)(selected_component . 55)(simple_expression . 430)(term . 
188)(term_list . 189)(unary_adding_operator . 190))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 428)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(raise_expression . 168)(relation 
. 423)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list 
. 177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(choice_relation . 
425)(factor . 174)(name . 325)(primary . 177)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 416)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((aggregate . 158)(attribute_reference . 51)(choice_relation . 
423)(factor . 174)(name . 325)(primary . 177)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 416)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((aggregate . 158)(attribute_reference . 51)(choice_relation . 
421)(factor . 174)(name . 325)(primary . 177)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 416)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(raise_expression . 168)(relation 
. 421)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list 
. 177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(name . 163)(primary . 
420)(qualified_expression . 54)(selected_component . 55))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(case_expression . 
158)(conditional_quantified_expression . 159)(expression . 160)(factor . 
161)(if_expression . 162)(name . 163)(pragma_argument_association . 
418)(primary . 166)(qualified_expression . 54)(quantified_expression . 
167)(raise_expression . 168)(relation_and_list . 169)(relation_and_then_list . 
170)(relation_or_list . 171)(relation_or_else_list . 172)(relation_xor_list . 
173)(relation . 174)(selected_component . 55)(simple_e [...]
-      ((aggregate . 157)(attribute_reference . 51)(expression . 417)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(choice_relation . 
418)(factor . 174)(name . 325)(primary . 177)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 416)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((aggregate . 158)(attribute_reference . 51)(choice_relation . 
417)(factor . 174)(name . 325)(primary . 177)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 416)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((aggregate . 158)(attribute_reference . 51)(choice_relation . 
415)(factor . 174)(name . 325)(primary . 177)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 416)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 413)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       ((actual_parameter_part . 92))
-      ((actual_parameter_part . 92))
-      nil
-      nil
+      ((attribute_reference . 51)(name . 410)(qualified_expression . 
54)(selected_component . 55))
       nil
+      ((actual_parameter_part . 92))
       nil
       nil
       nil
       nil
-      ((iterator_specification . 409))
       nil
+      ((relational_operator . 404))
       nil
       nil
+      ((iterator_specification . 403))
       nil
       nil
-      ((function_specification . 16)(procedure_specification . 
32)(subprogram_specification . 404))
       nil
       nil
       nil
+      ((function_specification . 16)(procedure_specification . 
32)(subprogram_specification . 398))
       nil
-      ((attribute_reference . 51)(name . 401)(qualified_expression . 
54)(selected_component . 55))
-      ((attribute_reference . 51)(name . 400)(qualified_expression . 
54)(selected_component . 55))
-      ((actual_parameter_part . 92)(aspect_specification_opt . 677))
-      ((actual_parameter_part . 92)(aspect_specification_opt . 676))
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(handled_sequence_of_statements . 659)(if_statement . 660)(iteration_scheme 
. 661)(label_opt . 662)(loop_statement . 663)(name . 664)(pragma . 
665)(procedure_call_statement . 666)(qualified_expression . 54)(ra [...]
       nil
-      ((aspect_specification_opt . 629))
       nil
       nil
-      ((case_expression_alternative . 625)(case_expression_alternative_list . 
626))
+      ((attribute_reference . 51)(name . 395)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 394)(qualified_expression . 
54)(selected_component . 55))
+      ((actual_parameter_part . 92)(aspect_specification_opt . 669))
+      ((actual_parameter_part . 92)(aspect_specification_opt . 668))
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(handled_sequence_of_statements . 651)(if_statement . 652)(iteration_scheme 
. 653)(label_opt . 654)(loop_statement . 655)(name . 656)(pragma . 
657)(procedure_call_statement . 658)(qualified_expression . 54)(ra [...]
       nil
+      ((aspect_specification_opt . 621))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 619)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aggregate . 157)(association_opt . 184)(association_list . 
618)(attribute_reference . 51)(choice_expression . 
186)(choice_relation_and_list . 187)(choice_relation_or_list . 
188)(choice_relation_xor_list . 189)(choice_relation_and_then_list . 
190)(choice_relation_or_else_list . 191)(choice_relation . 192)(discrete_choice 
. 193)(discrete_choice_list . 194)(expression . 195)(expression_opt . 
196)(factor . 161)(name . 197)(primary . 166)(qualified_expression . 
54)(raise_expression .  [...]
       nil
+      ((case_expression_alternative . 617)(case_expression_alternative_list . 
618))
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 615)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 611)(term . 188)(term_list . 189)(unary_adding_operator 
. 190))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 610)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((aggregate . 158)(association_opt . 159)(association_list . 
609)(attribute_reference . 51)(choice_expression . 
162)(choice_relation_and_list . 163)(choice_relation_or_list . 
164)(choice_relation_xor_list . 165)(choice_relation_and_then_list . 
166)(choice_relation_or_else_list . 167)(choice_relation . 168)(discrete_choice 
. 170)(discrete_choice_list . 171)(expression . 172)(expression_opt . 
173)(factor . 174)(name . 176)(primary . 177)(qualified_expression . 
54)(raise_expression .  [...]
       nil
       nil
       nil
+      ((actual_parameter_part . 92))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 606)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(raise_expression . 168)(relation 
. 613)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list 
. 177)(unary_adding_operator . 178))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(raise_expression . 168)(relation 
. 612)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list 
. 177)(unary_adding_operator . 178))
+      ((relational_operator . 601))
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(raise_expression . 168)(relation 
. 611)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list 
. 177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(choice_relation . 
605)(factor . 174)(name . 325)(primary . 177)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 416)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((aggregate . 158)(attribute_reference . 51)(choice_relation . 
604)(factor . 174)(name . 325)(primary . 177)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 416)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(raise_expression . 168)(relation 
. 610)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list 
. 177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(choice_relation . 
603)(factor . 174)(name . 325)(primary . 177)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 416)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
+      ((aggregate . 158)(attribute_reference . 51)(choice_relation . 
602)(factor . 174)(name . 325)(primary . 177)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 416)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
-      ((multiplying_operator . 363))
       nil
       nil
       nil
+      ((relational_operator . 601))
       nil
-      ((aspect_specification_opt . 129))
-      ((aliased_opt . 603))
-      ((attribute_reference . 51)(name . 243)(name_opt . 
600)(qualified_expression . 54)(selected_component . 55))
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 599)(entry_declaration . 
314)(enumeration_representation_clause . 315)(exception_declaration . 
316)(expression_function_declaration . 317)(full_type_declaration . 
318)(function_specification . 16)(generic_declaration . 
319)(generic_formal_part . 18)(generic_instantiation . 
320)(generic_package_declaration . 20)(gen [...]
       nil
-      ((access_definition . 597)(null_exclusion_opt . 598))
-      ((discriminant_part_opt . 595))
       nil
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(raise_expression . 179)(relation 
. 599)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list 
. 189)(unary_adding_operator . 190))
       nil
-      ((aspect_specification_opt . 592))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(raise_expression . 179)(relation 
. 598)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list 
. 189)(unary_adding_operator . 190))
       nil
       nil
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(raise_expression . 179)(relation 
. 597)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list 
. 189)(unary_adding_operator . 190))
       nil
-      ((aspect_specification_opt . 588))
-      ((attribute_reference . 51)(name . 587)(qualified_expression . 
54)(selected_component . 55))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(raise_expression . 179)(relation 
. 596)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list 
. 189)(unary_adding_operator . 190))
       nil
       nil
       nil
+      ((aggregate . 158)(attribute_reference . 51)(factor . 
174)(membership_choice_list . 595)(membership_choice . 447)(name . 176)(primary 
. 177)(qualified_expression . 54)(range . 448)(selected_component . 
55)(simple_expression . 449)(term . 188)(term_list . 189)(unary_adding_operator 
. 190))
       nil
-      ((actual_parameter_part . 92))
-      ((actual_parameter_part . 92))
       nil
       nil
       nil
-      ((relational_operator . 579))
       nil
+      ((multiplying_operator . 335))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(choice_relation . 
583)(factor . 161)(name . 163)(primary . 166)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 462)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(choice_relation . 
582)(factor . 161)(name . 163)(primary . 166)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 462)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(choice_relation . 
581)(factor . 161)(name . 163)(primary . 166)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 462)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(choice_relation . 
580)(factor . 161)(name . 163)(primary . 166)(qualified_expression . 
54)(selected_component . 55)(simple_expression . 462)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
       nil
+      ((aspect_specification_opt . 129))
+      ((aliased_opt . 587))
+      ((attribute_reference . 51)(name . 237)(name_opt . 
584)(qualified_expression . 54)(selected_component . 55))
+      ((abstract_subprogram_declaration . 276)(aspect_clause . 277)(at_clause 
. 278)(body . 279)(body_stub . 280)(declaration . 281)(declarations . 
282)(declarative_part_opt . 583)(entry_declaration . 
284)(enumeration_representation_clause . 285)(exception_declaration . 
286)(expression_function_declaration . 287)(full_type_declaration . 
288)(function_specification . 16)(generic_declaration . 
289)(generic_formal_part . 18)(generic_instantiation . 
290)(generic_package_declaration . 20)(gen [...]
       nil
+      ((access_definition . 581)(null_exclusion_opt . 582))
+      ((discriminant_part_opt . 579))
       nil
       nil
-      ((relational_operator . 579))
+      ((aspect_specification_opt . 576))
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 
161)(membership_choice_list . 577)(membership_choice . 481)(name . 197)(primary 
. 166)(qualified_expression . 54)(range . 482)(selected_component . 
55)(simple_expression . 483)(term . 176)(term_list . 177)(unary_adding_operator 
. 178))
+      ((aspect_specification_opt . 572))
+      ((attribute_reference . 51)(name . 571)(qualified_expression . 
54)(selected_component . 55))
       nil
       nil
       nil
       nil
+      ((actual_parameter_part . 92))
       nil
       nil
       nil
@@ -3647,9 +3630,9 @@
       nil
       nil
       nil
-      ((access_definition . 568)(attribute_reference . 51)(name . 
569)(null_exclusion_opt . 517)(null_exclusion_opt_name_type . 
570)(qualified_expression . 54)(selected_component . 571))
+      ((access_definition . 560)(attribute_reference . 51)(name . 
561)(null_exclusion_opt . 509)(null_exclusion_opt_name_type . 
562)(qualified_expression . 54)(selected_component . 563))
       nil
-      ((discriminant_specification_opt . 565)(identifier_list . 263))
+      ((discriminant_specification_opt . 557)(identifier_list . 257))
       nil
       nil
       nil
@@ -3663,48 +3646,48 @@
       nil
       nil
       nil
-      ((aspect_specification_opt . 552))
+      ((aspect_specification_opt . 544))
       nil
       nil
       nil
       nil
       nil
-      ((aspect_specification_opt . 547))
+      ((aspect_specification_opt . 539))
       nil
       nil
       nil
       nil
       nil
-      ((aspect_specification_opt . 544))
-      ((attribute_reference . 51)(name . 543)(qualified_expression . 
54)(selected_component . 55))
-      ((actual_parameter_part . 92)(aspect_specification_opt . 542))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 540)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aspect_specification_opt . 536))
+      ((attribute_reference . 51)(name . 535)(qualified_expression . 
54)(selected_component . 55))
+      ((actual_parameter_part . 92)(aspect_specification_opt . 534))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 532)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
       nil
       nil
       nil
-      ((attribute_reference . 51)(name . 538)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 530)(qualified_expression . 
54)(selected_component . 55))
       nil
       nil
-      ((access_definition . 534)(mode_opt . 535)(null_exclusion_opt . 517))
+      ((access_definition . 526)(mode_opt . 527)(null_exclusion_opt . 509))
       nil
       nil
-      ((null_exclusion_opt . 813))
-      ((formal_part . 93)(parameter_and_result_profile . 812))
-      ((formal_part . 117)(parameter_profile_opt . 811))
+      ((null_exclusion_opt . 804))
+      ((formal_part . 93)(parameter_and_result_profile . 803))
+      ((formal_part . 117)(parameter_profile_opt . 802))
       ((actual_parameter_part . 92))
       nil
-      ((aspect_specification_opt . 809))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 808)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aspect_specification_opt . 800))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 799)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
-      ((actual_parameter_part . 92)(formal_package_actual_part . 806))
+      ((actual_parameter_part . 92)(formal_package_actual_part . 797))
       nil
       nil
       nil
       nil
       nil
-      ((attribute_reference . 51)(name . 802)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 793)(qualified_expression . 
54)(selected_component . 55))
       nil
       nil
       nil
@@ -3716,7 +3699,7 @@
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(discrete_subtype_definition 
. 790)(discrete_subtype_definition_list . 791)(factor . 
161)(index_subtype_definition . 792)(index_subtype_definition_list . 793)(name 
. 794)(primary . 166)(qualified_expression . 54)(range . 
740)(selected_component . 55)(simple_expression . 487)(subtype_indication . 
741)(term . 176)(term_list . 177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(discrete_subtype_definition 
. 781)(discrete_subtype_definition_list . 782)(factor . 
174)(index_subtype_definition . 783)(index_subtype_definition_list . 784)(name 
. 785)(primary . 177)(qualified_expression . 54)(range . 
732)(selected_component . 55)(simple_expression . 479)(subtype_indication . 
733)(term . 188)(term_list . 189)(unary_adding_operator . 190))
       nil
       nil
       nil
@@ -3731,77 +3714,77 @@
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 
161)(membership_choice . 785)(name . 197)(primary . 166)(qualified_expression . 
54)(range . 482)(selected_component . 55)(simple_expression . 483)(term . 
176)(term_list . 177)(unary_adding_operator . 178))
+      ((aggregate . 775)(record_rep . 776))
+      nil
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 772)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((actual_parameter_part . 92)(aspect_specification_opt . 191))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 784)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 783)(term . 176)(term_list . 177)(unary_adding_operator 
. 178))
+      ((discriminant_part_opt . 769))
+      ((aspect_specification_opt . 720))
+      ((attribute_reference . 51)(name . 724)(qualified_expression . 
54)(selected_component . 55)(subtype_indication . 767))
       nil
+      ((discriminant_part_opt . 764))
+      ((aspect_specification_opt . 719))
       nil
       nil
       nil
-      ((aggregate . 781)(record_rep . 782))
+      ((attribute_reference . 51)(name . 758)(qualified_expression . 
54)(selected_component . 55))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 778)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((actual_parameter_part . 92)(aspect_specification_opt . 179))
       nil
-      ((discriminant_part_opt . 775))
-      ((aspect_specification_opt . 728))
-      ((attribute_reference . 51)(name . 732)(qualified_expression . 
54)(selected_component . 55)(subtype_indication . 773))
       nil
-      ((discriminant_part_opt . 770))
-      ((aspect_specification_opt . 727))
       nil
+      ((constant_opt . 754))
       nil
       nil
-      ((attribute_reference . 51)(name . 764)(qualified_expression . 
54)(selected_component . 55))
+      ((paren_expression . 749))
+      ((formal_part . 117)(parameter_profile_opt . 747))
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(handled_sequence_of_statements . 745)(if_statement . 652)(iteration_scheme 
. 653)(label_opt . 654)(loop_statement . 655)(name . 656)(pragma . 
657)(procedure_call_statement . 658)(qualified_expression . 54)(ra [...]
+      ((attribute_reference . 51)(name . 237)(name_opt . 
744)(qualified_expression . 54)(selected_component . 55))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 
174)(membership_choice . 743)(name . 176)(primary . 177)(qualified_expression . 
54)(range . 448)(selected_component . 55)(simple_expression . 449)(term . 
188)(term_list . 189)(unary_adding_operator . 190))
       nil
       nil
       nil
       nil
-      ((constant_opt . 760))
       nil
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 742)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 741)(term . 188)(term_list . 189)(unary_adding_operator 
. 190))
       nil
-      ((paren_expression . 755))
-      ((formal_part . 117)(parameter_profile_opt . 753))
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(handled_sequence_of_statements . 751)(if_statement . 660)(iteration_scheme 
. 661)(label_opt . 662)(loop_statement . 663)(name . 664)(pragma . 
665)(procedure_call_statement . 666)(qualified_expression . 54)(ra [...]
-      ((attribute_reference . 51)(name . 243)(name_opt . 
750)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 749)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
       nil
       nil
       nil
+      ((elsif_expression_item . 737)(elsif_expression_list . 738))
       nil
-      ((elsif_expression_item . 745)(elsif_expression_list . 746))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 742)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(discrete_subtype_definition 
. 738)(factor . 161)(name . 739)(primary . 166)(qualified_expression . 
54)(range . 740)(selected_component . 55)(simple_expression . 
487)(subtype_indication . 741)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((attribute_reference . 51)(name . 735)(qualified_expression . 
54)(selected_component . 55))
-      ((attribute_reference . 51)(name . 732)(qualified_expression . 
54)(selected_component . 55)(subtype_indication . 733))
-      ((aggregate . 157)(attribute_reference . 51)(choice_expression . 
186)(choice_relation_and_list . 187)(choice_relation_or_list . 
188)(choice_relation_xor_list . 189)(choice_relation_and_then_list . 
190)(choice_relation_or_else_list . 191)(choice_relation . 192)(discrete_choice 
. 193)(discrete_choice_list . 730)(factor . 161)(name . 197)(primary . 
166)(qualified_expression . 54)(range . 198)(selected_component . 
55)(simple_expression . 475)(term . 176)(term_list . 177)(unary_adding_o [...]
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 734)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((aggregate . 158)(attribute_reference . 51)(discrete_subtype_definition 
. 730)(factor . 174)(name . 731)(primary . 177)(qualified_expression . 
54)(range . 732)(selected_component . 55)(simple_expression . 
479)(subtype_indication . 733)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((attribute_reference . 51)(name . 727)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 724)(qualified_expression . 
54)(selected_component . 55)(subtype_indication . 725))
+      ((aggregate . 158)(attribute_reference . 51)(choice_expression . 
162)(choice_relation_and_list . 163)(choice_relation_or_list . 
164)(choice_relation_xor_list . 165)(choice_relation_and_then_list . 
166)(choice_relation_or_else_list . 167)(choice_relation . 168)(discrete_choice 
. 170)(discrete_choice_list . 722)(factor . 174)(name . 176)(primary . 
177)(qualified_expression . 54)(range . 180)(selected_component . 
55)(simple_expression . 430)(term . 188)(term_list . 189)(unary_adding_o [...]
       nil
       nil
-      ((aspect_specification_opt . 728))
-      ((aspect_specification_opt . 727))
+      ((aspect_specification_opt . 720))
+      ((aspect_specification_opt . 719))
       nil
       nil
-      ((attribute_reference . 51)(name . 725)(qualified_expression . 
54)(selected_component . 55))
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(handled_sequence_of_statements . 724)(if_statement . 660)(iteration_scheme 
. 661)(label_opt . 662)(loop_statement . 663)(name . 664)(pragma . 
665)(procedure_call_statement . 666)(qualified_expression . 54)(ra [...]
-      ((aggregate . 157)(attribute_reference . 51)(expression . 
195)(expression_opt . 723)(factor . 161)(name . 163)(primary . 
166)(qualified_expression . 54)(raise_expression . 168)(relation_and_list . 
169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 722)(entry_declaration . 
314)(enumeration_representation_clause . 315)(exception_declaration . 
316)(expression_function_declaration . 317)(full_type_declaration . 
318)(function_specification . 16)(generic_declaration . 
319)(generic_formal_part . 18)(generic_instantiation . 
320)(generic_package_declaration . 20)(gen [...]
-      ((aggregate . 157)(attribute_reference . 51)(expression . 721)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((identifier_opt . 719))
-      ((iterator_specification . 716)(iterator_specification_opt . 717))
+      ((attribute_reference . 51)(name . 717)(qualified_expression . 
54)(selected_component . 55))
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(handled_sequence_of_statements . 716)(if_statement . 652)(iteration_scheme 
. 653)(label_opt . 654)(loop_statement . 655)(name . 656)(pragma . 
657)(procedure_call_statement . 658)(qualified_expression . 54)(ra [...]
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 715)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((abstract_subprogram_declaration . 276)(aspect_clause . 277)(at_clause 
. 278)(body . 279)(body_stub . 280)(declaration . 281)(declarations . 
282)(declarative_part_opt . 714)(entry_declaration . 
284)(enumeration_representation_clause . 285)(exception_declaration . 
286)(expression_function_declaration . 287)(full_type_declaration . 
288)(function_specification . 16)(generic_declaration . 
289)(generic_formal_part . 18)(generic_instantiation . 
290)(generic_package_declaration . 20)(gen [...]
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 713)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((identifier_opt . 711))
+      ((iterator_specification . 708)(iterator_specification_opt . 709))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 
195)(expression_opt . 714)(factor . 161)(name . 163)(primary . 
166)(qualified_expression . 54)(raise_expression . 168)(relation_and_list . 
169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statement . 667)(requeue_statement [...]
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 706)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statement . 659)(requeue_statement [...]
       nil
-      ((attribute_reference . 51)(name . 711)(qualified_expression . 
54)(selected_component . 55))
-      ((attribute_reference . 51)(name . 709)(qualified_expression . 
54)(selected_component . 55))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 
706)(extended_return_object_declaration . 
707)(extended_return_object_declaration_opt . 708)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_op [...]
-      ((accept_statement . 694)(attribute_reference . 51)(delay_alternative . 
695)(delay_statement . 696)(entry_call_alternative . 697)(name . 
698)(procedure_call_statement . 699)(qualified_expression . 
54)(selected_component . 55)(select_alternative . 700)(select_alternative_list 
. 701)(select_alternative_list_opt . 702)(triggering_alternative . 703))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 
195)(expression_opt . 691)(factor . 161)(name . 163)(primary . 
166)(qualified_expression . 54)(raise_expression . 168)(relation_and_list . 
169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((attribute_reference . 51)(name . 703)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 701)(qualified_expression . 
54)(selected_component . 55))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 698)(extended_return_object_declaration . 
699)(extended_return_object_declaration_opt . 700)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(raise_expression . 
179)(relation_and_list . 181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list  
[...]
+      ((accept_statement . 686)(attribute_reference . 51)(delay_alternative . 
687)(delay_statement . 688)(entry_call_alternative . 689)(name . 
690)(procedure_call_statement . 691)(qualified_expression . 
54)(selected_component . 55)(select_alternative . 692)(select_alternative_list 
. 693)(select_alternative_list_opt . 694)(triggering_alternative . 695))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 683)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
       nil
@@ -3817,7 +3800,7 @@
       nil
       nil
       nil
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(compound_statement . 685)(conditional_entry_call . 
654)(delay_statement . 655)(exit_statement . 656)(extended_return_statement . 
657)(if_statement . 660)(iteration_scheme . 661)(loop_statement . 663)(name . 
664)(pragma . 665)(procedure_call_statement . 666)(qualified_expression . 
54)(raise_statement . 667)(requeue_statement . 668)(s [...]
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(compound_statement . 677)(conditional_entry_call . 
646)(delay_statement . 647)(exit_statement . 648)(extended_return_statement . 
649)(if_statement . 652)(iteration_scheme . 653)(loop_statement . 655)(name . 
656)(pragma . 657)(procedure_call_statement . 658)(qualified_expression . 
54)(raise_statement . 659)(requeue_statement . 660)(s [...]
       nil
       ((actual_parameter_part . 92))
       nil
@@ -3826,7 +3809,7 @@
       nil
       nil
       nil
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
681)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statement . 667)(requeue_statement [...]
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
673)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statement . 659)(requeue_statement [...]
       nil
       nil
       nil
@@ -3835,26 +3818,26 @@
       nil
       nil
       nil
-      ((exception_handler . 953)(exception_handler_list . 
954)(exception_handler_list_opt . 955))
+      ((exception_handler . 944)(exception_handler_list . 
945)(exception_handler_list_opt . 946))
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 951)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 942)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
       nil
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statement . 667)(requeue_statement [...]
-      ((attribute_reference . 51)(name . 243)(name_opt . 
949)(qualified_expression . 54)(selected_component . 55))
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statement . 659)(requeue_statement [...]
+      ((attribute_reference . 51)(name . 237)(name_opt . 
940)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 946)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statement . 667)(requeue_statement [...]
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 937)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statement . 659)(requeue_statement [...]
       nil
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statement . 667)(requeue_statement [...]
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statement . 659)(requeue_statement [...]
       nil
-      ((accept_statement . 649)(actual_parameter_part . 
92)(assignment_statement . 650)(asynchronous_select . 651)(attribute_reference 
. 51)(block_statement . 652)(case_statement . 653)(conditional_entry_call . 
654)(delay_statement . 655)(exit_statement . 656)(extended_return_statement . 
657)(goto_label . 658)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statem [...]
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statement . 667)(requeue_statement [...]
+      ((accept_statement . 641)(actual_parameter_part . 
92)(assignment_statement . 642)(asynchronous_select . 643)(attribute_reference 
. 51)(block_statement . 644)(case_statement . 645)(conditional_entry_call . 
646)(delay_statement . 647)(exit_statement . 648)(extended_return_statement . 
649)(goto_label . 650)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statem [...]
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statement . 659)(requeue_statement [...]
       nil
       nil
       nil
@@ -3875,108 +3858,107 @@
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 922)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 913)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
       nil
       nil
       ((actual_parameter_part . 92))
-      ((actual_parameter_part . 915)(actual_parameter_part_opt . 916))
+      ((actual_parameter_part . 906)(actual_parameter_part_opt . 907))
       nil
       nil
-      ((case_expression_alternative . 911))
+      ((case_expression_alternative . 902))
       nil
       nil
-      ((actual_parameter_part . 92)(constraint . 831)(index_constraint . 832))
+      ((actual_parameter_part . 92)(constraint . 822)(index_constraint . 823))
       nil
-      ((attribute_reference . 51)(name . 907)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 898)(qualified_expression . 
54)(selected_component . 55))
       ((actual_parameter_part . 92))
-      ((aggregate . 157)(attribute_reference . 51)(name . 163)(primary . 
298)(qualified_expression . 54)(selected_component . 55))
-      ((aggregate . 157)(attribute_reference . 51)(discrete_subtype_definition 
. 905)(factor . 161)(name . 739)(primary . 166)(qualified_expression . 
54)(range . 740)(selected_component . 55)(simple_expression . 
487)(subtype_indication . 741)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(name . 325)(primary . 
371)(qualified_expression . 54)(selected_component . 55))
+      ((aggregate . 158)(attribute_reference . 51)(discrete_subtype_definition 
. 896)(factor . 174)(name . 731)(primary . 177)(qualified_expression . 
54)(range . 732)(selected_component . 55)(simple_expression . 
479)(subtype_indication . 733)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
-      ((actual_parameter_part . 92)(constraint . 831)(index_constraint . 832))
+      ((actual_parameter_part . 92)(constraint . 822)(index_constraint . 823))
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 903)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 902)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 894)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 893)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
-      ((elsif_expression_item . 901))
+      ((elsif_expression_item . 892))
       nil
       nil
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(discrete_subtype_definition 
. 896)(factor . 161)(identifier_list . 236)(name . 739)(parameter_specification 
. 237)(parameter_specification_list . 238)(primary . 166)(qualified_expression 
. 54)(range . 740)(selected_component . 55)(simple_expression . 
487)(subtype_indication . 741)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aspect_specification_opt . 895))
-      ((aggregate . 157)(attribute_reference . 51)(case_expression . 
158)(conditional_quantified_expression . 893)(expression . 894)(factor . 
161)(if_expression . 162)(name . 163)(primary . 166)(qualified_expression . 
54)(quantified_expression . 167)(raise_expression . 168)(relation_and_list . 
169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_l [...]
-      ((aspect_specification_opt . 892))
-      ((aspect_specification_opt . 891))
-      ((aspect_specification_opt . 890))
-      ((aspect_specification_opt . 889))
       nil
-      ((access_definition . 886)(array_type_definition . 
887)(attribute_reference . 51)(name . 732)(null_exclusion_opt . 
517)(qualified_expression . 54)(selected_component . 55)(subtype_indication . 
888))
-      nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 884)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((attribute_reference . 51)(name . 243)(name_opt . 
883)(qualified_expression . 54)(selected_component . 55))
-      ((actual_parameter_part . 92))
-      ((attribute_reference . 51)(name . 881)(qualified_expression . 
54)(selected_component . 55))
-      ((attribute_reference . 51)(name . 880)(qualified_expression . 
54)(selected_component . 55))
-      ((abstract_limited_synchronized_opt . 870)(abstract_limited_opt . 
871)(abstract_tagged_limited_opt . 872)(access_definition . 
873)(array_type_definition . 874)(derived_type_definition . 
875)(enumeration_type_definition . 876)(interface_type_definition . 
877)(null_exclusion_opt . 517)(record_type_definition . 878)(type_definition . 
879))
       nil
+      ((aggregate . 158)(attribute_reference . 51)(discrete_subtype_definition 
. 886)(factor . 174)(identifier_list . 230)(name . 731)(parameter_specification 
. 231)(parameter_specification_list . 232)(primary . 177)(qualified_expression 
. 54)(range . 732)(selected_component . 55)(simple_expression . 
479)(subtype_indication . 733)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((aspect_specification_opt . 885))
+      ((aggregate . 158)(attribute_reference . 51)(case_expression . 
161)(conditional_quantified_expression . 883)(expression . 172)(expression_opt 
. 884)(factor . 174)(if_expression . 175)(name . 325)(primary . 
177)(qualified_expression . 54)(quantified_expression . 178)(raise_expression . 
179)(relation_and_list . 181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 3 [...]
+      ((aspect_specification_opt . 882))
+      ((aspect_specification_opt . 881))
+      ((aspect_specification_opt . 880))
+      ((aspect_specification_opt . 879))
       nil
-      ((aspect_specification_opt . 858))
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 856)(entry_declaration . 
314)(enumeration_representation_clause . 315)(exception_declaration . 
316)(expression_function_declaration . 317)(full_type_declaration . 
318)(function_specification . 16)(generic_declaration . 
319)(generic_formal_part . 18)(generic_instantiation . 
320)(generic_package_declaration . 20)(gen [...]
+      ((access_definition . 876)(array_type_definition . 
877)(attribute_reference . 51)(name . 724)(null_exclusion_opt . 
509)(qualified_expression . 54)(selected_component . 55)(subtype_indication . 
878))
       nil
-      ((aspect_specification_opt . 854))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 874)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((attribute_reference . 51)(name . 237)(name_opt . 
873)(qualified_expression . 54)(selected_component . 55))
+      ((actual_parameter_part . 92))
+      ((attribute_reference . 51)(name . 871)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 870)(qualified_expression . 
54)(selected_component . 55))
+      ((abstract_limited_synchronized_opt . 860)(abstract_limited_opt . 
861)(abstract_tagged_limited_opt . 862)(access_definition . 
863)(array_type_definition . 864)(derived_type_definition . 
865)(enumeration_type_definition . 866)(interface_type_definition . 
867)(null_exclusion_opt . 509)(record_type_definition . 868)(type_definition . 
869))
       nil
-      ((aspect_specification_opt . 852))
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 850)(entry_declaration . 
314)(enumeration_representation_clause . 315)(exception_declaration . 
316)(expression_function_declaration . 317)(full_type_declaration . 
318)(function_specification . 16)(generic_declaration . 
319)(generic_formal_part . 18)(generic_instantiation . 
320)(generic_package_declaration . 20)(gen [...]
       nil
+      ((aspect_specification_opt . 848))
+      ((abstract_subprogram_declaration . 276)(aspect_clause . 277)(at_clause 
. 278)(body . 279)(body_stub . 280)(declaration . 281)(declarations . 
282)(declarative_part_opt . 846)(entry_declaration . 
284)(enumeration_representation_clause . 285)(exception_declaration . 
286)(expression_function_declaration . 287)(full_type_declaration . 
288)(function_specification . 16)(generic_declaration . 
289)(generic_formal_part . 18)(generic_instantiation . 
290)(generic_package_declaration . 20)(gen [...]
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 846)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((mod_clause_opt . 845))
+      ((aspect_specification_opt . 844))
       nil
+      ((aspect_specification_opt . 842))
+      ((abstract_subprogram_declaration . 276)(aspect_clause . 277)(at_clause 
. 278)(body . 279)(body_stub . 280)(declaration . 281)(declarations . 
282)(declarative_part_opt . 840)(entry_declaration . 
284)(enumeration_representation_clause . 285)(exception_declaration . 
286)(expression_function_declaration . 287)(full_type_declaration . 
288)(function_specification . 16)(generic_declaration . 
289)(generic_formal_part . 18)(generic_instantiation . 
290)(generic_package_declaration . 20)(gen [...]
       nil
       nil
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 836)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((mod_clause_opt . 835))
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 840)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 839)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((attribute_reference . 51)(name . 569)(qualified_expression . 
54)(selected_component . 838))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 831)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 830)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((attribute_reference . 51)(name . 561)(qualified_expression . 
54)(selected_component . 829))
       nil
       nil
       nil
       nil
       nil
-      ((actual_parameter_part . 92)(constraint . 831)(index_constraint . 832))
+      ((actual_parameter_part . 92)(constraint . 822)(index_constraint . 823))
       nil
       nil
-      ((attribute_reference . 51)(interface_list . 827)(name . 
824)(qualified_expression . 54)(selected_component . 55))
-      ((attribute_reference . 51)(interface_list . 826)(name . 
824)(qualified_expression . 54)(selected_component . 55))
-      ((attribute_reference . 51)(interface_list . 825)(name . 
824)(qualified_expression . 54)(selected_component . 55))
+      ((attribute_reference . 51)(interface_list . 818)(name . 
815)(qualified_expression . 54)(selected_component . 55))
+      ((attribute_reference . 51)(interface_list . 817)(name . 
815)(qualified_expression . 54)(selected_component . 55))
+      ((attribute_reference . 51)(interface_list . 816)(name . 
815)(qualified_expression . 54)(selected_component . 55))
       nil
-      ((attribute_reference . 51)(interface_list . 823)(name . 
824)(qualified_expression . 54)(selected_component . 55))
-      ((actual_parameter_part . 92)(and_interface_list_opt . 822))
+      ((attribute_reference . 51)(interface_list . 814)(name . 
815)(qualified_expression . 54)(selected_component . 55))
+      ((actual_parameter_part . 92)(and_interface_list_opt . 813))
       nil
       nil
-      ((aggregate . 157)(association_opt . 184)(association_list . 
201)(attribute_reference . 51)(case_expression . 158)(choice_expression . 
186)(choice_relation_and_list . 187)(choice_relation_or_list . 
188)(choice_relation_xor_list . 189)(choice_relation_and_then_list . 
190)(choice_relation_or_else_list . 191)(choice_relation . 
192)(conditional_quantified_expression . 202)(discrete_choice . 
193)(discrete_choice_list . 194)(expression . 195)(expression_opt . 196)(factor 
. 161)(if_expres [...]
-      ((aspect_specification_opt . 819))
+      ((aggregate . 158)(association_opt . 159)(association_list . 
195)(attribute_reference . 51)(case_expression . 161)(choice_expression . 
162)(choice_relation_and_list . 163)(choice_relation_or_list . 
164)(choice_relation_xor_list . 165)(choice_relation_and_then_list . 
166)(choice_relation_or_else_list . 167)(choice_relation . 
168)(conditional_quantified_expression . 196)(discrete_choice . 
170)(discrete_choice_list . 171)(expression . 172)(expression_opt . 173)(factor 
. 174)(if_expres [...]
+      ((aspect_specification_opt . 810))
       nil
-      ((aspect_specification_opt . 818))
+      ((aspect_specification_opt . 809))
       nil
-      ((identifier_list . 236)(parameter_specification . 
237)(parameter_specification_list . 238))
+      ((identifier_list . 230)(parameter_specification . 
231)(parameter_specification_list . 232))
       nil
       nil
-      ((attribute_reference . 51)(name . 816)(qualified_expression . 
54)(selected_component . 55))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 815)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((attribute_reference . 51)(name . 807)(qualified_expression . 
54)(selected_component . 55))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 806)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       ((actual_parameter_part . 92))
       nil
       nil
       nil
       nil
-      ((attribute_reference . 51)(interface_list . 1082)(name . 
824)(qualified_expression . 54)(selected_component . 55))
+      ((attribute_reference . 51)(interface_list . 1073)(name . 
815)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
       ((actual_parameter_part . 92))
@@ -3984,14 +3966,14 @@
       nil
       nil
       nil
-      ((aggregate . 157)(association_opt . 184)(association_list . 
201)(attribute_reference . 51)(case_expression . 158)(choice_expression . 
186)(choice_relation_and_list . 187)(choice_relation_or_list . 
188)(choice_relation_xor_list . 189)(choice_relation_and_then_list . 
190)(choice_relation_or_else_list . 191)(choice_relation . 
192)(conditional_quantified_expression . 202)(discrete_choice . 
193)(discrete_choice_list . 194)(discrete_subtype_definition . 
790)(discrete_subtype_definition_ [...]
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
197)(primary . 166)(qualified_expression . 54)(range . 1003)(selected_component 
. 55)(simple_expression . 487)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(association_opt . 159)(association_list . 
195)(attribute_reference . 51)(case_expression . 161)(choice_expression . 
162)(choice_relation_and_list . 163)(choice_relation_or_list . 
164)(choice_relation_xor_list . 165)(choice_relation_and_then_list . 
166)(choice_relation_or_else_list . 167)(choice_relation . 
168)(conditional_quantified_expression . 196)(discrete_choice . 
170)(discrete_choice_list . 171)(discrete_subtype_definition . 
781)(discrete_subtype_definition_ [...]
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
176)(primary . 177)(qualified_expression . 54)(range . 994)(selected_component 
. 55)(simple_expression . 479)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
       nil
-      ((attribute_reference . 51)(index_subtype_definition . 1073)(name . 
1074)(qualified_expression . 54)(selected_component . 55))
+      ((attribute_reference . 51)(index_subtype_definition . 1064)(name . 
1065)(qualified_expression . 54)(selected_component . 55))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(discrete_subtype_definition 
. 1071)(factor . 161)(name . 739)(primary . 166)(qualified_expression . 
54)(range . 740)(selected_component . 55)(simple_expression . 
487)(subtype_indication . 741)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(discrete_subtype_definition 
. 1062)(factor . 174)(name . 731)(primary . 177)(qualified_expression . 
54)(range . 732)(selected_component . 55)(simple_expression . 
479)(subtype_indication . 733)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
       nil
@@ -3999,51 +3981,51 @@
       nil
       nil
       nil
+      ((component_clause . 1059)(component_clause_list . 1060))
       nil
-      ((component_clause . 1068)(component_clause_list . 1069))
       nil
+      ((aspect_specification_opt . 1056))
+      ((attribute_reference . 51)(interface_list . 1055)(name . 
815)(qualified_expression . 54)(selected_component . 55))
       nil
-      ((aspect_specification_opt . 1065))
-      ((attribute_reference . 51)(interface_list . 1064)(name . 
824)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
+      ((aspect_specification_opt . 1050))
       nil
-      ((aspect_specification_opt . 1059))
+      ((attribute_reference . 51)(interface_list . 1048)(name . 
815)(qualified_expression . 54)(selected_component . 55))
       nil
-      ((attribute_reference . 51)(interface_list . 1057)(name . 
824)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
+      ((aspect_specification_opt . 1042))
       nil
-      ((aspect_specification_opt . 1051))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 1040)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 1039)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((enumeration_literal . 1037)(enumeration_literal_list . 1038))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1049)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1048)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((enumeration_literal . 1046)(enumeration_literal_list . 1047))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 1034)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1043)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1032)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((aspect_clause . 1025)(at_clause . 278)(component_declaration . 
1026)(component_item . 1027)(component_list . 1028)(component_list_opt . 
1029)(enumeration_representation_clause . 285)(identifier_list . 
1030)(record_representation_clause . 309)(variant_part . 1031))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1041)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aspect_clause . 1034)(at_clause . 308)(component_declaration . 
1035)(component_item . 1036)(component_list . 1037)(component_list_opt . 
1038)(enumeration_representation_clause . 315)(identifier_list . 
1039)(record_representation_clause . 339)(variant_part . 1040))
       nil
       nil
+      ((record_definition . 1019))
       nil
-      ((record_definition . 1028))
       nil
       nil
       nil
       nil
       nil
+      ((aspect_specification_opt . 1017))
+      ((actual_parameter_part . 92)(aspect_specification_opt . 1016))
+      ((actual_parameter_part . 92)(aspect_specification_opt . 1015))
+      ((attribute_reference . 51)(name . 1014)(qualified_expression . 
54)(selected_component . 55))
       nil
-      ((aspect_specification_opt . 1026))
-      ((actual_parameter_part . 92)(aspect_specification_opt . 1025))
-      ((actual_parameter_part . 92)(aspect_specification_opt . 1024))
-      ((attribute_reference . 51)(name . 1023)(qualified_expression . 
54)(selected_component . 55))
       nil
       nil
+      ((aspect_specification_opt . 1011))
+      ((aspect_specification_opt . 1009))
+      ((aspect_specification_opt . 1007))
       nil
-      ((aspect_specification_opt . 1020))
-      ((aspect_specification_opt . 1018))
-      ((aspect_specification_opt . 1016))
       nil
       nil
       nil
@@ -4051,54 +4033,54 @@
       nil
       nil
       nil
+      ((attribute_reference . 51)(name . 237)(name_opt . 
997)(qualified_expression . 54)(selected_component . 55))
       nil
-      ((attribute_reference . 51)(name . 243)(name_opt . 
1006)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1005)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 996)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
197)(primary . 166)(qualified_expression . 54)(range . 1003)(selected_component 
. 55)(simple_expression . 487)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
176)(primary . 177)(qualified_expression . 54)(range . 994)(selected_component 
. 55)(simple_expression . 479)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
-      ((attribute_reference . 51)(name . 1000)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 991)(qualified_expression . 
54)(selected_component . 55))
       ((actual_parameter_part . 92))
-      ((attribute_reference . 51)(name . 1002)(qualified_expression . 
54)(selected_component . 55))
-      ((attribute_reference . 51)(name . 1000)(qualified_expression . 
54)(selected_component . 55))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 999)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((attribute_reference . 51)(name . 993)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 991)(qualified_expression . 
54)(selected_component . 55))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 990)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
-      ((aspect_clause . 989)(at_clause . 308)(entry_body . 
990)(enumeration_representation_clause . 315)(expression_function_declaration . 
991)(function_specification . 16)(null_procedure_declaration . 
992)(overriding_indicator_opt . 993)(procedure_specification . 
32)(protected_operation_item . 994)(protected_operation_item_list . 
995)(protected_operation_item_list_opt . 996)(record_representation_clause . 
339)(subprogram_body . 997)(subprogram_declaration . 998))
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 987)(entry_declaration . 
314)(enumeration_representation_clause . 315)(exception_declaration . 
316)(expression_function_declaration . 317)(full_type_declaration . 
318)(function_specification . 16)(generic_declaration . 
319)(generic_formal_part . 18)(generic_instantiation . 
320)(generic_package_declaration . 20)(gen [...]
-      ((aggregate . 157)(association_opt . 184)(association_list . 
201)(attribute_reference . 51)(case_expression . 158)(choice_expression . 
186)(choice_relation_and_list . 187)(choice_relation_or_list . 
188)(choice_relation_xor_list . 189)(choice_relation_and_then_list . 
190)(choice_relation_or_else_list . 191)(choice_relation . 
192)(conditional_quantified_expression . 202)(discrete_choice . 
193)(discrete_choice_list . 194)(expression . 195)(expression_opt . 196)(factor 
. 161)(if_expres [...]
+      ((aspect_clause . 980)(at_clause . 278)(entry_body . 
981)(enumeration_representation_clause . 285)(expression_function_declaration . 
982)(function_specification . 16)(null_procedure_declaration . 
983)(overriding_indicator_opt . 984)(procedure_specification . 
32)(protected_operation_item . 985)(protected_operation_item_list . 
986)(protected_operation_item_list_opt . 987)(record_representation_clause . 
309)(subprogram_body . 988)(subprogram_declaration . 989))
+      ((abstract_subprogram_declaration . 276)(aspect_clause . 277)(at_clause 
. 278)(body . 279)(body_stub . 280)(declaration . 281)(declarations . 
282)(declarative_part_opt . 978)(entry_declaration . 
284)(enumeration_representation_clause . 285)(exception_declaration . 
286)(expression_function_declaration . 287)(full_type_declaration . 
288)(function_specification . 16)(generic_declaration . 
289)(generic_formal_part . 18)(generic_instantiation . 
290)(generic_package_declaration . 20)(gen [...]
+      ((aggregate . 158)(association_opt . 159)(association_list . 
195)(attribute_reference . 51)(case_expression . 161)(choice_expression . 
162)(choice_relation_and_list . 163)(choice_relation_or_list . 
164)(choice_relation_xor_list . 165)(choice_relation_and_then_list . 
166)(choice_relation_or_else_list . 167)(choice_relation . 
168)(conditional_quantified_expression . 196)(discrete_choice . 
170)(discrete_choice_list . 171)(expression . 172)(expression_opt . 173)(factor 
. 174)(if_expres [...]
       nil
-      ((formal_part . 117)(parameter_profile_opt . 986))
+      ((formal_part . 117)(parameter_profile_opt . 977))
       nil
-      ((identifier_opt . 985))
-      ((case_statement_alternative . 983)(case_statement_alternative_list . 
984))
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(handled_sequence_of_statements . 981)(if_statement . 660)(iteration_scheme 
. 661)(label_opt . 662)(loop_statement . 663)(name . 664)(pragma . 
665)(procedure_call_statement . 666)(qualified_expression . 54)(ra [...]
+      ((identifier_opt . 976))
+      ((case_statement_alternative . 974)(case_statement_alternative_list . 
975))
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(handled_sequence_of_statements . 972)(if_statement . 652)(iteration_scheme 
. 653)(label_opt . 654)(loop_statement . 655)(name . 656)(pragma . 
657)(procedure_call_statement . 658)(qualified_expression . 54)(ra [...]
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 
195)(expression_opt . 979)(factor . 161)(name . 163)(primary . 
166)(qualified_expression . 54)(raise_expression . 168)(relation_and_list . 
169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 970)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statement . 667)(requeue_statement [...]
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statement . 659)(requeue_statement [...]
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 976)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 967)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
       nil
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(handled_sequence_of_statements . 974)(if_statement . 660)(iteration_scheme 
. 661)(label_opt . 662)(loop_statement . 663)(name . 664)(pragma . 
665)(procedure_call_statement . 666)(qualified_expression . 54)(ra [...]
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(handled_sequence_of_statements . 965)(if_statement . 652)(iteration_scheme 
. 653)(label_opt . 654)(loop_statement . 655)(name . 656)(pragma . 
657)(procedure_call_statement . 658)(qualified_expression . 54)(ra [...]
       nil
       nil
-      ((aliased_opt . 973))
+      ((aliased_opt . 964))
       nil
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statement . 667)(requeue_statement [...]
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statement . 659)(requeue_statement [...]
       nil
-      ((accept_statement . 694)(delay_alternative . 695)(delay_statement . 
967)(select_alternative . 969))
+      ((accept_statement . 686)(delay_alternative . 687)(delay_statement . 
958)(select_alternative . 960))
       nil
       nil
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statement . 667)(requeue_statement [...]
-      ((delay_alternative . 966)(delay_statement . 967))
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statement . 659)(requeue_statement [...]
+      ((delay_alternative . 957)(delay_statement . 958))
       nil
       nil
       nil
@@ -4107,9 +4089,9 @@
       nil
       nil
       nil
-      ((attribute_reference . 51)(exception_choice . 
959)(exception_choice_list . 960)(name . 961)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(exception_choice . 
950)(exception_choice_list . 951)(name . 952)(qualified_expression . 
54)(selected_component . 55))
       nil
-      ((exception_handler . 956))
+      ((exception_handler . 947))
       nil
       nil
       nil
@@ -4120,26 +4102,26 @@
       nil
       nil
       nil
-      ((accept_statement . 1179)(delay_alternative . 1180)(delay_statement . 
967))
+      ((accept_statement . 1170)(delay_alternative . 1171)(delay_statement . 
958))
       nil
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statement . 667)(requeue_statement [...]
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statement . 659)(requeue_statement [...]
       nil
       nil
       nil
       nil
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statement . 667)(requeue_statement [...]
-      ((constant_opt . 1171))
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statement . 659)(requeue_statement [...]
+      ((constant_opt . 1162))
       nil
       nil
       nil
-      ((identifier_opt . 1167))
-      ((elsif_statement_item . 1165)(elsif_statement_list . 1166))
+      ((identifier_opt . 1158))
+      ((elsif_statement_item . 1156)(elsif_statement_list . 1157))
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(choice_expression . 
186)(choice_relation_and_list . 187)(choice_relation_or_list . 
188)(choice_relation_xor_list . 189)(choice_relation_and_then_list . 
190)(choice_relation_or_else_list . 191)(choice_relation . 192)(discrete_choice 
. 193)(discrete_choice_list . 1159)(factor . 161)(name . 197)(primary . 
166)(qualified_expression . 54)(range . 198)(selected_component . 
55)(simple_expression . 475)(term . 176)(term_list . 177)(unary_adding_ [...]
+      ((aggregate . 158)(attribute_reference . 51)(choice_expression . 
162)(choice_relation_and_list . 163)(choice_relation_or_list . 
164)(choice_relation_xor_list . 165)(choice_relation_and_then_list . 
166)(choice_relation_or_else_list . 167)(choice_relation . 168)(discrete_choice 
. 170)(discrete_choice_list . 1150)(factor . 174)(name . 176)(primary . 
177)(qualified_expression . 54)(range . 180)(selected_component . 
55)(simple_expression . 430)(term . 188)(term_list . 189)(unary_adding_ [...]
       nil
-      ((case_statement_alternative . 1158))
+      ((case_statement_alternative . 1149))
       nil
       nil
       nil
@@ -4148,21 +4130,21 @@
       nil
       nil
       nil
-      ((function_specification . 436)(procedure_specification . 
437)(subprogram_specification . 1151))
+      ((function_specification . 454)(procedure_specification . 
455)(subprogram_specification . 1142))
       nil
-      ((aspect_clause . 989)(at_clause . 308)(entry_body . 
990)(enumeration_representation_clause . 315)(expression_function_declaration . 
991)(function_specification . 16)(null_procedure_declaration . 
992)(overriding_indicator_opt . 993)(procedure_specification . 
32)(protected_operation_item . 1150)(record_representation_clause . 
339)(subprogram_body . 997)(subprogram_declaration . 998))
+      ((aspect_clause . 980)(at_clause . 278)(entry_body . 
981)(enumeration_representation_clause . 285)(expression_function_declaration . 
982)(function_specification . 16)(null_procedure_declaration . 
983)(overriding_indicator_opt . 984)(procedure_specification . 
32)(protected_operation_item . 1141)(record_representation_clause . 
309)(subprogram_body . 988)(subprogram_declaration . 989))
       nil
       nil
       nil
       nil
-      ((actual_parameter_part . 92)(constraint . 1148)(index_constraint . 832))
-      ((attribute_reference . 51)(name . 1147)(qualified_expression . 
54)(selected_component . 55))
+      ((actual_parameter_part . 92)(constraint . 1139)(index_constraint . 823))
+      ((attribute_reference . 51)(name . 1138)(qualified_expression . 
54)(selected_component . 55))
       ((actual_parameter_part . 92))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1146)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 1137)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
-      ((formal_part . 117)(parameter_profile_opt . 1144))
+      ((formal_part . 117)(parameter_profile_opt . 1135))
       nil
       nil
       nil
@@ -4170,29 +4152,29 @@
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1143)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 1134)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1141)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 1132)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1139)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 1130)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
-      ((attribute_reference . 51)(name . 1000)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 991)(qualified_expression . 
54)(selected_component . 55))
       nil
-      ((actual_parameter_part . 92)(aspect_specification_opt . 1137))
+      ((actual_parameter_part . 92)(aspect_specification_opt . 1128))
       nil
       nil
       nil
-      ((aspect_specification_opt . 1133))
+      ((aspect_specification_opt . 1124))
       nil
-      ((attribute_reference . 51)(name . 1132)(qualified_expression . 
54)(selected_component . 55))
-      ((attribute_reference . 51)(name . 732)(qualified_expression . 
54)(selected_component . 55)(subtype_indication . 1131))
+      ((attribute_reference . 51)(name . 1123)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 724)(qualified_expression . 
54)(selected_component . 55)(subtype_indication . 1122))
       nil
-      ((direct_name . 1129)(direct_name_opt . 1130))
+      ((direct_name . 1120)(direct_name_opt . 1121))
       nil
       nil
       nil
       nil
-      ((aspect_clause . 1034)(at_clause . 308)(component_declaration . 
1035)(component_item . 1124)(enumeration_representation_clause . 
315)(identifier_list . 1039)(record_representation_clause . 339)(variant_part . 
1125))
+      ((aspect_clause . 1025)(at_clause . 278)(component_declaration . 
1026)(component_item . 1115)(enumeration_representation_clause . 
285)(identifier_list . 1030)(record_representation_clause . 309)(variant_part . 
1116))
       nil
       nil
       nil
@@ -4203,51 +4185,51 @@
       nil
       nil
       nil
-      ((real_range_specification_opt . 1118))
-      ((real_range_specification_opt . 1117))
+      ((real_range_specification_opt . 1109))
+      ((real_range_specification_opt . 1108))
       nil
       nil
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 856)(entry_declaration . 
314)(enumeration_representation_clause . 315)(exception_declaration . 
316)(expression_function_declaration . 317)(full_type_declaration . 
318)(function_specification . 16)(generic_declaration . 
319)(generic_formal_part . 18)(generic_instantiation . 
320)(generic_package_declaration . 20)(gen [...]
+      ((abstract_subprogram_declaration . 276)(aspect_clause . 277)(at_clause 
. 278)(body . 279)(body_stub . 280)(declaration . 281)(declarations . 
282)(declarative_part_opt . 846)(entry_declaration . 
284)(enumeration_representation_clause . 285)(exception_declaration . 
286)(expression_function_declaration . 287)(full_type_declaration . 
288)(function_specification . 16)(generic_declaration . 
289)(generic_formal_part . 18)(generic_instantiation . 
290)(generic_package_declaration . 20)(gen [...]
       nil
       nil
-      ((identifier_opt . 1111))
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 1110)(entry_declaration . 
314)(enumeration_representation_clause . 315)(exception_declaration . 
316)(expression_function_declaration . 317)(full_type_declaration . 
318)(function_specification . 16)(generic_declaration . 
319)(generic_formal_part . 18)(generic_instantiation . 
320)(generic_package_declaration . 20)(ge [...]
+      ((identifier_opt . 1102))
+      ((abstract_subprogram_declaration . 276)(aspect_clause . 277)(at_clause 
. 278)(body . 279)(body_stub . 280)(declaration . 281)(declarations . 
282)(declarative_part_opt . 1101)(entry_declaration . 
284)(enumeration_representation_clause . 285)(exception_declaration . 
286)(expression_function_declaration . 287)(full_type_declaration . 
288)(function_specification . 16)(generic_declaration . 
289)(generic_formal_part . 18)(generic_instantiation . 
290)(generic_package_declaration . 20)(ge [...]
       nil
       nil
       nil
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 850)(entry_declaration . 
314)(enumeration_representation_clause . 315)(exception_declaration . 
316)(expression_function_declaration . 317)(full_type_declaration . 
318)(function_specification . 16)(generic_declaration . 
319)(generic_formal_part . 18)(generic_instantiation . 
320)(generic_package_declaration . 20)(gen [...]
+      ((abstract_subprogram_declaration . 276)(aspect_clause . 277)(at_clause 
. 278)(body . 279)(body_stub . 280)(declaration . 281)(declarations . 
282)(declarative_part_opt . 840)(entry_declaration . 
284)(enumeration_representation_clause . 285)(exception_declaration . 
286)(expression_function_declaration . 287)(full_type_declaration . 
288)(function_specification . 16)(generic_declaration . 
289)(generic_formal_part . 18)(generic_instantiation . 
290)(generic_package_declaration . 20)(gen [...]
       nil
-      ((identifier_opt . 1105))
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 1104)(entry_declaration . 
314)(enumeration_representation_clause . 315)(exception_declaration . 
316)(expression_function_declaration . 317)(full_type_declaration . 
318)(function_specification . 16)(generic_declaration . 
319)(generic_formal_part . 18)(generic_instantiation . 
320)(generic_package_declaration . 20)(ge [...]
+      ((identifier_opt . 1096))
+      ((abstract_subprogram_declaration . 276)(aspect_clause . 277)(at_clause 
. 278)(body . 279)(body_stub . 280)(declaration . 281)(declarations . 
282)(declarative_part_opt . 1095)(entry_declaration . 
284)(enumeration_representation_clause . 285)(exception_declaration . 
286)(expression_function_declaration . 287)(full_type_declaration . 
288)(function_specification . 16)(generic_declaration . 
289)(generic_formal_part . 18)(generic_instantiation . 
290)(generic_package_declaration . 20)(ge [...]
       nil
       nil
       nil
       nil
       nil
-      ((component_clause . 1100))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1098)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((component_clause . 1091))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 1089)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
-      ((access_definition . 1093)(attribute_reference . 
51)(component_definition . 1097)(name . 732)(null_exclusion_opt . 
517)(qualified_expression . 54)(selected_component . 55)(subtype_indication . 
1095))
+      ((access_definition . 1084)(attribute_reference . 
51)(component_definition . 1088)(name . 724)(null_exclusion_opt . 
509)(qualified_expression . 54)(selected_component . 55)(subtype_indication . 
1086))
       nil
       ((actual_parameter_part . 92))
-      ((access_definition . 1093)(attribute_reference . 
51)(component_definition . 1094)(name . 732)(null_exclusion_opt . 
517)(qualified_expression . 54)(selected_component . 55)(subtype_indication . 
1095))
+      ((access_definition . 1084)(attribute_reference . 
51)(component_definition . 1085)(name . 724)(null_exclusion_opt . 
509)(qualified_expression . 54)(selected_component . 55)(subtype_indication . 
1086))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(name . 163)(primary . 
298)(qualified_expression . 54)(selected_component . 55))
+      ((aggregate . 158)(attribute_reference . 51)(name . 325)(primary . 
371)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
-      ((attribute_reference . 51)(name . 1089)(qualified_expression . 
54)(selected_component . 55))
+      ((attribute_reference . 51)(name . 1080)(qualified_expression . 
54)(selected_component . 55))
       nil
       nil
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1087)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 1078)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
       ((actual_parameter_part . 92))
       nil
-      ((attribute_reference . 51)(name . 1245)(qualified_expression . 
54)(selected_component . 55))
-      ((access_definition . 1243)(attribute_reference . 51)(name . 
732)(null_exclusion_opt . 517)(qualified_expression . 54)(selected_component . 
55)(subtype_indication . 1244))
+      ((attribute_reference . 51)(name . 1236)(qualified_expression . 
54)(selected_component . 55))
+      ((access_definition . 1234)(attribute_reference . 51)(name . 
724)(null_exclusion_opt . 509)(qualified_expression . 54)(selected_component . 
55)(subtype_indication . 1235))
       nil
       nil
       nil
@@ -4256,28 +4238,28 @@
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1240)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1231)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 850)(entry_declaration . 
314)(enumeration_representation_clause . 315)(exception_declaration . 
316)(expression_function_declaration . 317)(full_type_declaration . 
318)(function_specification . 16)(generic_declaration . 
319)(generic_formal_part . 18)(generic_instantiation . 
320)(generic_package_declaration . 20)(gen [...]
+      ((abstract_subprogram_declaration . 276)(aspect_clause . 277)(at_clause 
. 278)(body . 279)(body_stub . 280)(declaration . 281)(declarations . 
282)(declarative_part_opt . 840)(entry_declaration . 
284)(enumeration_representation_clause . 285)(exception_declaration . 
286)(expression_function_declaration . 287)(full_type_declaration . 
288)(function_specification . 16)(generic_declaration . 
289)(generic_formal_part . 18)(generic_instantiation . 
290)(generic_package_declaration . 20)(gen [...]
       nil
       nil
-      ((attribute_reference . 51)(interface_list . 1237)(name . 
824)(qualified_expression . 54)(selected_component . 55))
+      ((attribute_reference . 51)(interface_list . 1228)(name . 
815)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 856)(entry_declaration . 
314)(enumeration_representation_clause . 315)(exception_declaration . 
316)(expression_function_declaration . 317)(full_type_declaration . 
318)(function_specification . 16)(generic_declaration . 
319)(generic_formal_part . 18)(generic_instantiation . 
320)(generic_package_declaration . 20)(gen [...]
+      ((abstract_subprogram_declaration . 276)(aspect_clause . 277)(at_clause 
. 278)(body . 279)(body_stub . 280)(declaration . 281)(declarations . 
282)(declarative_part_opt . 846)(entry_declaration . 
284)(enumeration_representation_clause . 285)(exception_declaration . 
286)(expression_function_declaration . 287)(full_type_declaration . 
288)(function_specification . 16)(generic_declaration . 
289)(generic_formal_part . 18)(generic_instantiation . 
290)(generic_package_declaration . 20)(gen [...]
       nil
       nil
-      ((attribute_reference . 51)(interface_list . 1233)(name . 
824)(qualified_expression . 54)(selected_component . 55))
+      ((attribute_reference . 51)(interface_list . 1224)(name . 
815)(qualified_expression . 54)(selected_component . 55))
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1231)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1230)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 1222)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1221)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
       nil
-      ((enumeration_literal . 1229))
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1228)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((access_definition . 1093)(attribute_reference . 
51)(component_definition . 1227)(name . 732)(null_exclusion_opt . 
517)(qualified_expression . 54)(selected_component . 55)(subtype_indication . 
1095))
+      ((enumeration_literal . 1220))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1219)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((access_definition . 1084)(attribute_reference . 
51)(component_definition . 1218)(name . 724)(null_exclusion_opt . 
509)(qualified_expression . 54)(selected_component . 55)(subtype_indication . 
1086))
       nil
       nil
       nil
@@ -4286,47 +4268,47 @@
       nil
       nil
       nil
-      ((and_interface_list_opt . 1224))
-      ((actual_parameter_part . 92)(and_interface_list_opt . 1221)(constraint 
. 1222)(constraint_opt . 1223)(index_constraint . 832))
+      ((and_interface_list_opt . 1215))
+      ((actual_parameter_part . 92)(and_interface_list_opt . 1212)(constraint 
. 1213)(constraint_opt . 1214)(index_constraint . 823))
       nil
       nil
       nil
       nil
       nil
       nil
-      ((aspect_specification_opt . 1218))
+      ((aspect_specification_opt . 1209))
       nil
-      ((aspect_specification_opt . 1217))
+      ((aspect_specification_opt . 1208))
       nil
-      ((aspect_specification_opt . 1216))
-      ((aspect_specification_opt . 1215))
+      ((aspect_specification_opt . 1207))
+      ((aspect_specification_opt . 1206))
       nil
       nil
       ((actual_parameter_part . 92))
       nil
-      ((identifier_opt . 1214))
+      ((identifier_opt . 1205))
       nil
       ((aspect_specification_opt . 129))
-      ((entry_body_formal_part . 1212)(formal_part . 
117)(parameter_profile_opt . 1213))
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(handled_sequence_of_statements . 1210)(if_statement . 
660)(iteration_scheme . 661)(label_opt . 662)(loop_statement . 663)(name . 
664)(pragma . 665)(procedure_call_statement . 666)(qualified_expression . 54)(r 
[...]
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(handled_sequence_of_statements . 1209)(if_statement . 
660)(iteration_scheme . 661)(label_opt . 662)(loop_statement . 663)(name . 
664)(pragma . 665)(procedure_call_statement . 666)(qualified_expression . 54)(r 
[...]
+      ((entry_body_formal_part . 1203)(formal_part . 
117)(parameter_profile_opt . 1204))
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(handled_sequence_of_statements . 1201)(if_statement . 
652)(iteration_scheme . 653)(label_opt . 654)(loop_statement . 655)(name . 
656)(pragma . 657)(procedure_call_statement . 658)(qualified_expression . 54)(r 
[...]
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(handled_sequence_of_statements . 1200)(if_statement . 
652)(iteration_scheme . 653)(label_opt . 654)(loop_statement . 655)(name . 
656)(pragma . 657)(procedure_call_statement . 658)(qualified_expression . 54)(r 
[...]
       nil
       nil
       nil
       nil
       nil
-      ((identifier_opt . 1206))
+      ((identifier_opt . 1197))
       nil
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statement . 667)(requeue_statement [...]
-      ((aggregate . 157)(attribute_reference . 51)(expression . 
195)(expression_opt . 1204)(factor . 161)(name . 163)(primary . 
166)(qualified_expression . 54)(raise_expression . 168)(relation_and_list . 
169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statement . 659)(requeue_statement [...]
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 1195)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
-      ((elsif_statement_item . 1202))
+      ((elsif_statement_item . 1193))
       nil
       nil
       nil
       nil
-      ((access_definition . 1195)(attribute_reference . 51)(name . 
732)(null_exclusion_opt . 517)(qualified_expression . 
54)(return_subtype_indication . 1196)(selected_component . 
55)(subtype_indication . 1197))
+      ((access_definition . 1186)(attribute_reference . 51)(name . 
724)(null_exclusion_opt . 509)(qualified_expression . 
54)(return_subtype_indication . 1187)(selected_component . 
55)(subtype_indication . 1188))
       nil
       nil
       nil
@@ -4334,12 +4316,12 @@
       nil
       nil
       nil
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statement . 667)(requeue_statement [...]
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statement . 659)(requeue_statement [...]
       nil
-      ((identifier_opt . 1188))
-      ((attribute_reference . 51)(exception_choice . 1187)(name . 
961)(qualified_expression . 54)(selected_component . 55))
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statement . 667)(requeue_statement [...]
-      ((attribute_reference . 51)(exception_choice . 
959)(exception_choice_list . 1185)(name . 961)(qualified_expression . 
54)(selected_component . 55))
+      ((identifier_opt . 1179))
+      ((attribute_reference . 51)(exception_choice . 1178)(name . 
952)(qualified_expression . 54)(selected_component . 55))
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statement . 659)(requeue_statement [...]
+      ((attribute_reference . 51)(exception_choice . 
950)(exception_choice_list . 1176)(name . 952)(qualified_expression . 
54)(selected_component . 55))
       nil
       nil
       nil
@@ -4355,18 +4337,18 @@
       nil
       nil
       nil
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statement . 667)(requeue_statement [...]
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statement . 659)(requeue_statement [...]
       nil
       nil
       nil
       nil
       nil
       nil
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statement . 667)(requeue_statement [...]
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statement . 659)(requeue_statement [...]
       nil
       nil
       nil
-      ((identifier_list . 236)(parameter_specification . 
237)(parameter_specification_list . 238))
+      ((identifier_list . 230)(parameter_specification . 
231)(parameter_specification_list . 232))
       nil
       nil
       nil
@@ -4380,68 +4362,68 @@
       nil
       nil
       nil
-      ((variant_list . 1258)(variant . 1259))
+      ((variant_list . 1249)(variant . 1250))
       nil
-      ((aspect_specification_opt . 1256))
+      ((aspect_specification_opt . 1247))
       nil
       nil
       nil
-      ((real_range_specification_opt . 1253))
+      ((real_range_specification_opt . 1244))
       nil
       nil
-      ((identifier_opt . 1251))
+      ((identifier_opt . 1242))
       nil
       nil
       nil
-      ((identifier_opt . 1248))
+      ((identifier_opt . 1239))
       nil
       nil
       nil
       nil
       nil
       nil
-      ((actual_parameter_part . 92)(constraint . 1148)(index_constraint . 832))
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1308)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((actual_parameter_part . 92)(constraint . 1139)(index_constraint . 823))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1299)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 850)(entry_declaration . 
314)(enumeration_representation_clause . 315)(exception_declaration . 
316)(expression_function_declaration . 317)(full_type_declaration . 
318)(function_specification . 16)(generic_declaration . 
319)(generic_formal_part . 18)(generic_instantiation . 
320)(generic_package_declaration . 20)(gen [...]
+      ((abstract_subprogram_declaration . 276)(aspect_clause . 277)(at_clause 
. 278)(body . 279)(body_stub . 280)(declaration . 281)(declarations . 
282)(declarative_part_opt . 840)(entry_declaration . 
284)(enumeration_representation_clause . 285)(exception_declaration . 
286)(expression_function_declaration . 287)(full_type_declaration . 
288)(function_specification . 16)(generic_declaration . 
289)(generic_formal_part . 18)(generic_instantiation . 
290)(generic_package_declaration . 20)(gen [...]
       nil
       nil
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 856)(entry_declaration . 
314)(enumeration_representation_clause . 315)(exception_declaration . 
316)(expression_function_declaration . 317)(full_type_declaration . 
318)(function_specification . 16)(generic_declaration . 
319)(generic_formal_part . 18)(generic_instantiation . 
320)(generic_package_declaration . 20)(gen [...]
+      ((abstract_subprogram_declaration . 276)(aspect_clause . 277)(at_clause 
. 278)(body . 279)(body_stub . 280)(declaration . 281)(declarations . 
282)(declarative_part_opt . 846)(entry_declaration . 
284)(enumeration_representation_clause . 285)(exception_declaration . 
286)(expression_function_declaration . 287)(full_type_declaration . 
288)(function_specification . 16)(generic_declaration . 
289)(generic_formal_part . 18)(generic_instantiation . 
290)(generic_package_declaration . 20)(gen [...]
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1305)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1304)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1296)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 1295)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
-      ((aggregate . 157)(attribute_reference . 51)(choice_expression . 
186)(choice_relation_and_list . 187)(choice_relation_or_list . 
188)(choice_relation_xor_list . 189)(choice_relation_and_then_list . 
190)(choice_relation_or_else_list . 191)(choice_relation . 192)(discrete_choice 
. 193)(discrete_choice_list . 1302)(factor . 161)(name . 197)(primary . 
166)(qualified_expression . 54)(range . 198)(selected_component . 
55)(simple_expression . 475)(term . 176)(term_list . 177)(unary_adding_ [...]
-      ((variant . 1301))
+      ((aggregate . 158)(attribute_reference . 51)(choice_expression . 
162)(choice_relation_and_list . 163)(choice_relation_or_list . 
164)(choice_relation_xor_list . 165)(choice_relation_and_then_list . 
166)(choice_relation_or_else_list . 167)(choice_relation . 168)(discrete_choice 
. 170)(discrete_choice_list . 1293)(factor . 174)(name . 176)(primary . 
177)(qualified_expression . 54)(range . 180)(selected_component . 
55)(simple_expression . 430)(term . 188)(term_list . 189)(unary_adding_ [...]
+      ((variant . 1292))
       nil
       nil
-      ((record_definition . 1298))
+      ((record_definition . 1289))
       nil
       nil
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 
195)(expression_opt . 1297)(factor . 161)(name . 163)(primary . 
166)(qualified_expression . 54)(raise_expression . 168)(relation_and_list . 
169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 1288)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
-      ((identifier_opt . 1295))
-      ((identifier_opt . 1294))
+      ((identifier_opt . 1286))
+      ((identifier_opt . 1285))
       nil
       nil
       nil
       nil
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statement . 667)(requeue_statement [...]
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statement . 659)(requeue_statement [...]
       nil
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(expression . 1289)(factor . 
161)(name . 163)(primary . 166)(qualified_expression . 54)(raise_expression . 
168)(relation_and_list . 169)(relation_and_then_list . 170)(relation_or_list . 
171)(relation_or_else_list . 172)(relation_xor_list . 173)(relation . 
174)(selected_component . 55)(simple_expression . 175)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(expression . 
172)(expression_opt . 1280)(factor . 174)(name . 325)(primary . 
177)(qualified_expression . 54)(raise_expression . 179)(relation_and_list . 
181)(relation_and_then_list . 182)(relation_or_list . 
183)(relation_or_else_list . 184)(relation_xor_list . 185)(relation . 
186)(selected_component . 55)(simple_expression . 378)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
       nil
       nil
       nil
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(if_statement . 660)(iteration_scheme . 661)(label_opt . 
662)(loop_statement . 663)(name . 664)(pragma . 665)(procedure_call_statement . 
666)(qualified_expression . 54)(raise_statement . 667)(requeue_statement [...]
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(if_statement . 652)(iteration_scheme . 653)(label_opt . 
654)(loop_statement . 655)(name . 656)(pragma . 657)(procedure_call_statement . 
658)(qualified_expression . 54)(raise_statement . 659)(requeue_statement [...]
       nil
       nil
       nil
@@ -4454,25 +4436,25 @@
       nil
       nil
       nil
-      ((aspect_specification_opt . 1315))
+      ((aspect_specification_opt . 1306))
       nil
       nil
       nil
       nil
-      ((aspect_specification_opt . 1312))
+      ((aspect_specification_opt . 1303))
       nil
       nil
       nil
       nil
-      ((aggregate . 157)(attribute_reference . 51)(factor . 161)(name . 
163)(primary . 166)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1329)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((aggregate . 158)(attribute_reference . 51)(factor . 174)(name . 
325)(primary . 177)(qualified_expression . 54)(selected_component . 
55)(simple_expression . 1320)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
       nil
-      ((aspect_clause . 1034)(at_clause . 308)(component_declaration . 
1035)(component_item . 1036)(component_list . 1037)(component_list_opt . 
1327)(enumeration_representation_clause . 315)(identifier_list . 
1039)(record_representation_clause . 339)(variant_part . 1040))
+      ((aspect_clause . 1025)(at_clause . 278)(component_declaration . 
1026)(component_item . 1027)(component_list . 1028)(component_list_opt . 
1318)(enumeration_representation_clause . 285)(identifier_list . 
1030)(record_representation_clause . 309)(variant_part . 1031))
       nil
       nil
-      ((abstract_subprogram_declaration . 306)(aspect_clause . 307)(at_clause 
. 308)(body . 309)(body_stub . 310)(declaration . 311)(declarations . 
312)(declarative_part_opt . 1324)(entry_declaration . 
314)(enumeration_representation_clause . 315)(exception_declaration . 
316)(expression_function_declaration . 317)(full_type_declaration . 
318)(function_specification . 16)(generic_declaration . 
319)(generic_formal_part . 18)(generic_instantiation . 
320)(generic_package_declaration . 20)(ge [...]
-      ((aggregate . 157)(attribute_reference . 51)(discrete_subtype_definition 
. 1323)(factor . 161)(name . 739)(primary . 166)(qualified_expression . 
54)(range . 740)(selected_component . 55)(simple_expression . 
487)(subtype_indication . 741)(term . 176)(term_list . 
177)(unary_adding_operator . 178))
+      ((abstract_subprogram_declaration . 276)(aspect_clause . 277)(at_clause 
. 278)(body . 279)(body_stub . 280)(declaration . 281)(declarations . 
282)(declarative_part_opt . 1315)(entry_declaration . 
284)(enumeration_representation_clause . 285)(exception_declaration . 
286)(expression_function_declaration . 287)(full_type_declaration . 
288)(function_specification . 16)(generic_declaration . 
289)(generic_formal_part . 18)(generic_instantiation . 
290)(generic_package_declaration . 20)(ge [...]
+      ((aggregate . 158)(attribute_reference . 51)(discrete_subtype_definition 
. 1314)(factor . 174)(name . 731)(primary . 177)(qualified_expression . 
54)(range . 732)(selected_component . 55)(simple_expression . 
479)(subtype_indication . 733)(term . 188)(term_list . 
189)(unary_adding_operator . 190))
       nil
       nil
       nil
@@ -4486,11 +4468,11 @@
       nil
       nil
       nil
-      ((accept_statement . 649)(assignment_statement . 
650)(asynchronous_select . 651)(attribute_reference . 51)(block_statement . 
652)(case_statement . 653)(conditional_entry_call . 654)(delay_statement . 
655)(exit_statement . 656)(extended_return_statement . 657)(goto_label . 
658)(handled_sequence_of_statements . 1334)(if_statement . 
660)(iteration_scheme . 661)(label_opt . 662)(loop_statement . 663)(name . 
664)(pragma . 665)(procedure_call_statement . 666)(qualified_expression . 54)(r 
[...]
-      ((formal_part . 117)(parameter_profile_opt . 1333))
+      ((accept_statement . 641)(assignment_statement . 
642)(asynchronous_select . 643)(attribute_reference . 51)(block_statement . 
644)(case_statement . 645)(conditional_entry_call . 646)(delay_statement . 
647)(exit_statement . 648)(extended_return_statement . 649)(goto_label . 
650)(handled_sequence_of_statements . 1325)(if_statement . 
652)(iteration_scheme . 653)(label_opt . 654)(loop_statement . 655)(name . 
656)(pragma . 657)(procedure_call_statement . 658)(qualified_expression . 54)(r 
[...]
+      ((formal_part . 117)(parameter_profile_opt . 1324))
       nil
       nil
-      ((identifier_opt . 1336))
+      ((identifier_opt . 1327))
       nil
       nil]))
   "Parser table.")
diff --git a/packages/ada-mode/ada-mode.el b/packages/ada-mode/ada-mode.el
index 4399b77..c3373a8 100755
--- a/packages/ada-mode/ada-mode.el
+++ b/packages/ada-mode/ada-mode.el
@@ -6,9 +6,9 @@
 ;; Maintainer: Stephen Leake <address@hidden>
 ;; Keywords: languages
 ;;  ada
-;; Version: 5.2.0
-;; package-requires: ((wisi "1.1.3") (cl-lib "0.4") (emacs "24.2"))
-;; url: http://stephe-leake.org/emacs/ada-mode/emacs-ada-mode.html
+;; Version: 5.2.1
+;; package-requires: ((wisi "1.1.4") (cl-lib "0.4") (emacs "24.2"))
+;; url: http://www.nongnu.org/ada-mode/
 ;;
 ;; (Gnu ELPA requires single digits between dots in versions)
 ;;
@@ -168,7 +168,7 @@
 (defun ada-mode-version ()
   "Return Ada mode version."
   (interactive)
-  (let ((version-string "5.2.0"))
+  (let ((version-string "5.2.1"))
     ;; must match:
     ;; ada-mode.texi
     ;; README-ada-mode
@@ -300,6 +300,12 @@ Useful for setting `ada-xref-tool' and similar vars."
   :type 'function
   :group 'ada)
 
+(defcustom ada-xref-full-path nil
+  "If t, cross-references show the full path to source files; if
+nil, only the file name."
+  :type 'boolean
+  :safe #'booleanp)
+
 ;;;;; end of user variables
 
 (defconst ada-symbol-end
@@ -352,6 +358,7 @@ Values defined by cross reference packages.")
     (define-key map "\C-c\C-e"          'ada-expand)
     (define-key map "\C-c\C-f"          'ada-show-parse-error)
     (define-key map "\C-c\C-i"          'ada-indent-statement)
+    (define-key map "\C-c\C-l"          'ada-show-local-references)
     (define-key map "\C-c\C-m"   'ada-build-set-make)
     (define-key map "\C-c\C-n"          'ada-next-statement-keyword)
     (define-key map "\C-c\M-n"          'ada-next-placeholder)
@@ -1344,7 +1351,7 @@ Optional PLIST defaults to `ada-prj-current-project'."
                             ada-case-exception-file
                           (list ada-case-exception-file)))
        (path_sep        path-separator)
-       (proc_env        process-environment)
+       (proc_env        (cl-copy-list process-environment))
        (src_dir         (list (directory-file-name default-directory)))
        (xref_tool       ada-xref-tool)
        ))))
@@ -1400,7 +1407,7 @@ Include properties set via 
`ada-prj-default-compiler-alist',
                           ada-case-exception-file
                         (list ada-case-exception-file))
       'path_sep        path-separator;; prj variable so users can override it 
for their compiler
-      'proc_env        process-environment
+      'proc_env        (cl-copy-list process-environment)
       'src_dir         (if src-dir (list src-dir) nil)
       'xref_tool       ada-xref-tool
       ))
@@ -1574,11 +1581,11 @@ Return new value of PROJECT."
                  ;; process env var. We don't do expand-file-name
                  ;; here because the application may be expecting a
                  ;; simple string.
-                 (let ((process-environment (plist-get project 'proc_env)))
+                 (let ((process-environment (cl-copy-list (plist-get project 
'proc_env))))
                    (setenv (substring (match-string 1) 1)
                            (substitute-in-file-name (match-string 2)))
                    (setq project
-                         (plist-put project 'proc_env process-environment)))
+                         (plist-put project 'proc_env (cl-copy-list 
process-environment))))
 
                ;; not recognized; assume it is a user-defined variable like 
"comp_opt"
                (setq project (plist-put project (intern (match-string 1)) 
(match-string 2)))
@@ -2305,6 +2312,7 @@ Called with four arguments:
 - filename containing the identifier
 - line number containing the identifier
 - column of the start of the identifier
+- local-only; if t, show references in current file only
 Displays a buffer in compilation-mode giving locations where the
 identifier is declared or referenced.")
 
@@ -2320,7 +2328,24 @@ identifier is declared or referenced.")
           (ada-identifier-at-point)
           (file-name-nondirectory (buffer-file-name))
           (line-number-at-pos)
-          (1+ (current-column)))
+          (1+ (current-column))
+          nil)
+  )
+
+(defun ada-show-local-references ()
+  "Show all references of identifier at point."
+  (interactive)
+  (ada-check-current-project (buffer-file-name))
+
+  (when (null ada-xref-all-function)
+    (error "no cross reference information available"))
+
+  (funcall ada-xref-all-function
+          (ada-identifier-at-point)
+          (file-name-nondirectory (buffer-file-name))
+          (line-number-at-pos)
+          (1+ (current-column))
+          t)
   )
 
 (defvar ada-xref-overriding-function nil
diff --git a/packages/ada-mode/ada-mode.info b/packages/ada-mode/ada-mode.info
index 48e429a..0c703b5 100644
--- a/packages/ada-mode/ada-mode.info
+++ b/packages/ada-mode/ada-mode.info
@@ -22,7 +22,7 @@ END-INFO-DIR-ENTRY
 
 File: ada-mode.info,  Node: Top,  Next: Overview,  Prev: (dir),  Up: (dir)
 
-Ada Mode Version 5.2.0
+Ada Mode Version 5.2.1
 
    Copyright (C) 1999 - 2016 Free Software Foundation, Inc.
 
@@ -1705,6 +1705,8 @@ here's an overview.
 * Package organization::
 * OpenToken::
 * ELPA::
+* Savannah::
+* ada-france::
 
 
 File: ada-mode.info,  Node: Directory structure,  Next: Package organization,  
Prev: Developer overview,  Up: Developer overview
@@ -1992,6 +1994,26 @@ Gnu ELPA via git:
 elpa workspace, and for building the elpa archive there.
 
 
+File: ada-mode.info,  Node: Savannah,  Prev: OpenToken,  Up: Developer overview
+
+14.5 Savannah
+=============
+
+The ada-mode web page, mailing list, and tarball download are hosted on
+savannah.non-gnu.org, project Emacs Ada mode
+(<https://savannah.nongnu.org/projects/ada-mode/>).  See the project
+admin page there for more information.
+
+
+File: ada-mode.info,  Node: ada-france,  Prev: OpenToken,  Up: Developer 
overview
+
+14.6 ada-france
+===============
+
+The source code for ada-mode is maintained in a monotone repository in
+the ada-france server <mtn://www.ada-france.org>.
+
+
 File: ada-mode.info,  Node: GNU Free Documentation License,  Next: Index,  
Prev: Developer overview,  Up: Top
 
 Appendix A GNU Free Documentation License
@@ -2538,15 +2560,17 @@ Node: Automatic casing53921
 Node: Comment Handling56625
 Node: Key summary57144
 Node: Developer overview59771
-Node: Directory structure60111
-Node: Package organization64082
-Node: Ada mode64317
-Node: gpr mode66513
-Node: GNAT core66796
-Node: Wisi67630
-Node: OpenToken68530
-Node: ELPA69132
-Node: GNU Free Documentation License69742
-Node: Index94903
+Node: Directory structure60139
+Node: Package organization64110
+Node: Ada mode64345
+Node: gpr mode66541
+Node: GNAT core66824
+Node: Wisi67658
+Node: OpenToken68558
+Node: ELPA69160
+Node: Savannah69770
+Node: ada-france70108
+Node: GNU Free Documentation License70348
+Node: Index95509
 
 End Tag Table
diff --git a/packages/ada-mode/ada-mode.texi b/packages/ada-mode/ada-mode.texi
index 51c7825..755347a 100755
--- a/packages/ada-mode/ada-mode.texi
+++ b/packages/ada-mode/ada-mode.texi
@@ -26,7 +26,7 @@ developing GNU and promoting software freedom.''
 
 @titlepage
 @sp 10
address@hidden Ada Mode Version 5.2.0
address@hidden Ada Mode Version 5.2.1
 @page
 @vskip 0pt plus 1filll
 @insertcopying
@@ -36,7 +36,7 @@ developing GNU and promoting software freedom.''
 
 @node Top, Overview, (dir), (dir)
 
-Ada Mode Version 5.2.0
+Ada Mode Version 5.2.1
 
 @ifnottex
 @insertcopying
@@ -1821,6 +1821,8 @@ sources, here's an overview.
 * Package organization::
 * OpenToken::
 * ELPA::
+* Savannah::
+* ada-france::
 @end menu
 
 @node Directory structure, Package organization, Developer overview, Developer 
overview
@@ -2095,6 +2097,20 @@ git clone <login>@@git.savannah.gnu.org/emacs/elpa.git
 @file{build/Makefile} contains targets for copying Ada mode source to
 the elpa workspace, and for building the elpa archive there.
 
address@hidden Savannah,  , OpenToken, Developer overview
address@hidden Savannah
+
+The ada-mode web page, mailing list, and tarball download are hosted
+on savannah.non-gnu.org, project Emacs Ada mode
+(@url{https://savannah.nongnu.org/projects/ada-mode/}). See the
+project admin page there for more information.
+
address@hidden ada-france,  , OpenToken, Developer overview
address@hidden ada-france
+
+The source code for ada-mode is maintained in a monotone repository in
+the ada-france server @url{mtn://www.ada-france.org}.
+
 @node GNU Free Documentation License, Index, Developer overview, Top
 @appendix GNU Free Documentation License
 @include doclicense.texi
diff --git a/packages/ada-mode/ada-wisi-opentoken.el 
b/packages/ada-mode/ada-wisi-opentoken.el
old mode 100644
new mode 100755
index fbc4daf..374c599
--- a/packages/ada-mode/ada-wisi-opentoken.el
+++ b/packages/ada-mode/ada-wisi-opentoken.el
@@ -1,7 +1,7 @@
 ;; ada-wisi-opentoken.el --- An indentation function for ada-wisi that indents 
 -*- lexical-binding:t -*-
 ;; OpenTokengrammar statements nicely.
 
-;; Copyright (C) 2013-2015  Free Software Foundation, Inc.
+;; Copyright (C) 2013-2016  Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
@@ -46,13 +46,22 @@
     (let ((token-text (wisi-token-text (wisi-backward-token))))
       (cond
        ((equal token-text "<=")
-       (back-to-indentation)
-       (+ (current-column) ada-indent-broken))
+       (+ (current-indentation) ada-indent-broken))
 
        ((member token-text '("+" "&"))
        (while (not (equal "<=" (wisi-token-text (wisi-backward-token)))))
-       (back-to-indentation)
-       (+ (current-column) ada-indent-broken))
+       (+ (current-indentation) ada-indent-broken))
+
+       ((equal token-text "and")
+       (wisi-goto-containing (wisi-backward-cache))
+       ;; test/ada_mode-opentoken.ads
+       ;; Tokens.Statement <= Add_Statement and
+       ;; Add_Statement <=
+       ;;   ... and
+       ;; Add_Statement <=
+       ;;
+       ;; point is on :=
+       (+ (current-indentation) ada-indent-broken))
        ))))
 
 (defconst ada-wisi-opentoken-align
diff --git a/packages/ada-mode/ada-wisi.el b/packages/ada-mode/ada-wisi.el
old mode 100644
new mode 100755
index 57fd495..d4ae61f
--- a/packages/ada-mode/ada-wisi.el
+++ b/packages/ada-mode/ada-wisi.el
@@ -39,6 +39,8 @@
     block-middle ;; not start of statement
     block-start ;; start of block is start of statement
     close-paren
+    expression-start
+    label
     list-break
     name
     name-paren ;; anything that looks like a procedure call, since the grammar 
can't distinguish most of them
@@ -54,137 +56,193 @@
 ;;;; indentation
 
 (defun ada-wisi-current-indentation ()
-  "Return indentation appropriate for point on current line:
-if not in paren, beginning of line
-if in paren, pos following paren."
-  (if (not (ada-in-paren-p))
-      (current-indentation)
-
-    (or
-     (save-excursion
-       (let ((line (line-number-at-pos)))
-        (ada-goto-open-paren 1)
-        (when (= line (line-number-at-pos))
-          (current-column))))
-     (save-excursion
-       (back-to-indentation)
-       (current-column)))
-    ))
-
-(defun ada-wisi-indent-cache (offset cache)
-  "Return indentation of OFFSET plus indentation of line containing point. 
Point must be at CACHE."
-  (let ((indent (current-indentation)))
-    (cond
-     ;; special cases
-     ;;
-     ((eq 'LEFT_PAREN (wisi-cache-token cache))
-      ;; test/ada_mode-long_paren.adb
-      ;; (RT                            => RT,
-      ;;  Monitor                       => True,
-      ;;  RX_Enable                     =>
-      ;;    (RX_Torque_Subaddress |
-      ;;   indenting '(RX_'
-      ;;
-      ;; test/ada_mode-parens.adb
-      ;; return Float (
-      ;;               Integer'Value
-      ;;                 (Local_6));
-      ;;   indenting '(local_6)'; 'offset' = ada-indent - 1
-      (+ (current-column) 1 offset))
-
-     ((save-excursion
-       (let ((containing (wisi-goto-containing-paren cache)))
-         (and containing
-              ;; test/ada_mode-conditional_expressions.adb
-              ;; K2 : Integer := (if J > 42
-              ;;                  then -1
-              ;;   indenting 'then'; offset = 0
-              ;;
-              ;; L1 : Integer := (case J is
-              ;;                     when 42 => -1,
-              ;;
-              ;; test/indent.ads
-              ;; C_S_Controls : constant
-              ;;   CSCL_Type :=
-              ;;     CSCL_Type'
-              ;;       (
-              ;;        1 =>  --  Used to be aligned on "CSCL_Type'"
-              ;;              --  aligned with previous comment.
-              ;;          IO_CPU_Control_State_S_Pkg.CPU2_Fault_Status_Type'
-              ;;            (Unused2  => 10,  -- Used to be aligned on "1 =>"
-              ;;  indenting '(Unused2'
-              (+ (current-column) offset)))))
-
-     ;; all other structures
-     (t
-      ;; current cache may be preceded by something on same
-      ;; line. Handle common cases nicely.
-      (while (and cache
-                 (or
-                  (not (= (current-column) indent))
-                  (eq 'EQUAL_GREATER (wisi-cache-token cache))))
-       (when (and
-              (eq 'WHEN (wisi-cache-token cache))
-              (not (eq 'exit_statement (wisi-cache-nonterm cache))))
-         (setq offset (+ offset ada-indent-when)))
-       (setq cache (wisi-goto-containing cache))
-       (setq indent (current-indentation)))
-
+  "Return indentation of current line, taking into account leading parens and 
labels."
+  (let ((in-paren (ada-in-paren-p))
+       cache)
+    (save-excursion
+      (back-to-indentation)
       (cond
-       ((null cache)
-       ;; test/ada_mode-opentoken.ads
-       ;; private package GDS.Commands.Add_Statement is
-       ;;    type Instance is new Nonterminal.Instance with null record;
-       ;;
-       ;; test/ada_mode-nominal.adb
-       ;;     return B : Integer :=
-       ;;       (Local_Function);
-       (+ indent offset))
+       ((and (eq ?\( (char-after (point)))
+            in-paren)
+       (forward-same-syntax) ;; skip all leading parens
+       (current-column))
 
-       ((eq 'label_opt (wisi-cache-token cache))
-       (+ indent (- ada-indent-label) offset))
+       ((and (setq cache (wisi-get-cache (point)))
+            (eq 'label (wisi-cache-class cache)))
+       (- (current-column) ada-indent-label))
 
        (t
-       ;; test/ada_mode-generic_instantiation.ads
-       ;; function Function_1 is new Instance.Generic_Function
-       ;;   (Param_Type  => Integer,
-       ;;
-       ;; test/ada_mode-nested_packages.adb
-       ;; function Create (Model   : in Integer;
-       ;;                  Context : in String) return String is
-       ;;    ...
-       ;;    Cache : array (1 .. 10) of Boolean := (True, False, others => 
False);
-       (+ indent offset))
-       ))
-     )))
+       (current-column))
 
-(defun ada-wisi-indent-containing (offset cache &optional before)
+       ))))
+
+(defun ada-wisi-indent-containing (offset cache &optional before indenting)
   "Return indentation of OFFSET plus indentation of token containing CACHE.
-BEFORE should be t when called from ada-wisi-before-cache, nil otherwise."
-  (save-excursion
-    (cond
-     ((markerp (wisi-cache-containing cache))
-      (ada-wisi-indent-cache offset (wisi-goto-containing cache)))
+point should be at CACHE.
+BEFORE should be t when called from ada-wisi-before-cache, nil otherwise.
+If may be in parens, INDENTING must be point at indenting token."
+  ;; First move to the right containing token
+  (while
+      (and (progn
+            (when (and (eq (wisi-cache-token cache) 'WHEN)
+                       (memq (wisi-cache-nonterm cache)
+                             '(case_statement_alternative
+                               ;; test/ada_mode-nominal.adb
+                               ;; case Local_4 is
+                               ;;    when A =>
+                               case_expression_alternative
+                               ;; test/ada_mode-conditional_expressions.adb
+                               ;; elsif K = 0 then
+                               ;;   (case J is
+                               ;;       when 42                  => -1,
+                               exception_handler
+                               ;; test/ada_mode-nominal.adb
+                               ;; exception
+                               ;;    when others =>
+                               ;;       return 0.0;
+                               select_alternative
+                               ;; test/ada_mode-nominal.adb
+                               ;; or
+                               ;;    when Started => -- Ada mode 4.01 
ada-when-indent, GPS ada-indent
+                               variant
+                               ;; test/generic_param.adb
+                               ;; type Rte_Item_T (Item_Type : Item_Type_T := 
Fix) is record
+                               ;;    case Item_Type is
+                               ;;       when Fix | Airport =>
+                               )))
+              (setq offset (+ offset ada-indent-when)))
+            (setq cache (wisi-goto-containing cache nil)))
+          (or (memq
+               (wisi-cache-token cache)
+               '(EQUAL_GREATER
+                 ;; test/ada_mode-nominal.adb
+                 ;; case Local_4 is
+                 ;;    when
+                 ;;    ...
+                 ;;      => -- Ada mode 4.01 indentation
+                 ;;      ...
+                 ;;    Loop_1 :
+                 IS
+                 ;; test/ada_mode-nominal.adb
+                 ;; package body Ada_Mode.Nominal
+                 ;; ...
+                 ;; is
+                 ;;    use Ada.Strings;
+                 ))
+              (memq
+               (wisi-cache-nonterm cache)
+               '(name
+                 ;; test/ada_mode-nominal.adb
+                 ;; raise Constraint_Error with Count'Image (Line (File)) &
+                 ;;    "foo";
+                 ;;
+                 ;; test/ada_mode-slices.adb
+                 ;; Put_Line(Day'Image(D1) & " - " & Day'Image(D2) & " = " &
+                 ;;            Integer'Image(N));
+                 ))
+              (memq
+               (wisi-cache-class cache)
+               '(list-break
+                 ;; test/ada_mode-nominal.adb
+                 ;; 3
+                 ;;   => (others => 3.0));
+                 ))
+              (and (not (eq (current-column) (current-indentation)))
+                   (memq (wisi-cache-class cache)
+                         '(block-start
+                           ;; test/ada_mode-nominal.adb
+                           ;; or when Started
+                           ;;   =>
+                           block-middle
+                           ;; test/ada_mode-quantified_expressions.adb
+                           ;; for Element : Float of reverse
+                           ;;   Board loop
+                           ;;    Element := Element * 2.0;
+                           ))
+                   (not (eq (wisi-cache-token cache) 'RECORD))
+                   ;; test/ada_mode-nominal.ads
+                   ;; is tagged record
+                   ;;    Component_1 : Integer; -- end 2
+                   )
+              )))
 
-     (t
+  (let ((cur-line (line-number-at-pos (point)))
+       (paren-line (line-number-at-pos (nth 1 (syntax-ppss)))))
+    (cond
+     (cache
       (cond
-       ((ada-in-paren-p)
-       (ada-goto-open-paren 1)
-       (+ (current-column) offset))
+       ((and (ada-in-paren-p)
+            (eq cur-line paren-line)
+            (memq (wisi-cache-class cache)
+                  '(block-middle
+                    ;; ada_mode-conditional_expressions.adb
+                    ;; K := (if K < 0 then 42
+                    ;;       elsif K = 0 then
+
+                    expression-start
+                    ;; test/ada_mode-parens.adb
+                    ;; := Local_11_Type'(A => Integer
+                    ;;                     (1.0),
+
+                    statement-start
+                    ;; ada_mode-conditional_expressions.adb
+                    ;; K1 : Integer := (if J > 42 then -1
+                    ;;                  else +1);
+                    )))
+
+       (wisi-indent-paren (1+ offset)))
+
+       ((eq 'LEFT_PAREN (wisi-cache-token cache))
+       ;; test/ada_mode-parens.adb
+       ;; or else ((B.all
+       ;;             and then C)
+       ;;            or else
+       ;;
+       ;; test/ada_mode-nominal.adb
+       ;; => (others
+       ;;       => 2.0),
+       (goto-char indenting)
+       (wisi-indent-paren (1+ offset)))
+
+       ((memq (wisi-cache-class cache)
+             '(expression-start))
+       ;; test/indent.ads
+       ;; in higher-level parens, but that's not significant
+       ;; IO_CPU_Control_State_S_Pkg.CPU2_Fault_Status_Type'
+       ;;   (Unused2  => 10,  -- Used to be aligned on "1 =>"
+       ;;
+       ;; test/ada_mode-conditional_expressions.adb
+       ;; when B =>
+       ;;   Fun (J) = 0
+       ;;     or else M,
+       (+ (ada-wisi-current-indentation) offset))
 
        (t
-       ;; at outermost containing statement. If called from
-       ;; ada-wisi-before-cache, we want to ignore OFFSET (indenting
-       ;; 'package' in a package spec). If called from
-       ;; ada-wisi-after-cache, we want to include offset (indenting
-       ;; first declaration in the package).
-       (if before 0 offset))
+       ;; not in paren
+       ;; test/ada_mode-nominal.adb
+       ;; function Local_Function return Integer
+       ;; is -- target 3
+       (+ (ada-wisi-current-indentation) offset))
        ))
-      )))
+
+     (t
+      ;; at outermost containing statement. If called from
+      ;; ada-wisi-before-cache, we want to ignore OFFSET (indenting
+      ;; 'package' in a package spec). If called from
+      ;; ada-wisi-after-cache, we want to include offset (indenting
+      ;; first declaration in the package).
+      (if before
+         ;; test/ada_mode-nominal.adb
+         ;; package body Ada_Mode.Nominal
+         0
+       ;; test/ada_mode-nominal.adb
+       ;;      use Ada.Strings;
+       offset)
+      ))))
 
 (defun ada-wisi-indent-list-break (cache prev-token)
-  "Return indentation for a token contained by CACHE, which must be a 
list-break.
-point must be on CACHE. PREV-TOKEN is the token before the one being indented."
+  "Return indentation for a token contained or preceeded by CACHE, which must 
be a list-break.
+Point must be on CACHE. PREV-TOKEN is the token before the one being indented."
   (let ((break-point (point))
        (containing (wisi-goto-containing cache)))
     (cl-ecase (wisi-cache-token containing)
@@ -195,15 +253,18 @@ point must be on CACHE. PREV-TOKEN is the token before 
the one being indented."
           ;; test/parent.adb
           ;; Append_To (Formals,
           ;;            Make_Parameter_Specification (Loc,
-          ;; indenting 'Make_...'
           ;;
           ;; test/ada_mode-generic_instantiation.ads
           ;; function Function_1 is new Instance.Generic_Function
           ;;   (Param_Type  => Integer,
           ;;    Result_Type => Boolean,
-          ;;    Threshold   => 2);
-          ;; indenting 'Result_Type'
+          ;;
+          ;; test/ada_mode-parens.adb
+          ;; Local_14 : Local_14_Type :=
+          ;;   ("123",
+          ;;    "456" &
           (+ (current-column) 1)
+
         ;; else hanging
         ;;
         ;; test/ada_mode-parens.adb
@@ -212,7 +273,6 @@ point must be on CACHE. PREV-TOKEN is the token before the 
one being indented."
         ;;      2 => (1, 1, 1),
         ;;    3 |
         ;;      4 => (2, 2, 2));
-        ;; indenting '4 =>'
         (+ (current-column) 1 ada-indent-broken)))
 
       (IS
@@ -220,7 +280,6 @@ point must be on CACHE. PREV-TOKEN is the token before the 
one being indented."
        ;; L1 : Integer := (case J is
        ;;                     when 42 => -1,
        ;;                     -- comment aligned with 'when'
-       ;; indenting '-- comment'
        (wisi-indent-paren (+ 1 ada-indent-when)))
 
       (WITH
@@ -230,7 +289,6 @@ point must be on CACHE. PREV-TOKEN is the token before the 
one being indented."
          ;; (Default_Parent with
          ;;  Child_Element_1 => 10,
          ;;  Child_Element_2 => 12.0,
-         ;; indenting 'Child_Element_2'
          (wisi-indent-paren 1))
 
         (aspect_specification_opt
@@ -239,7 +297,6 @@ point must be on CACHE. PREV-TOKEN is the token before the 
one being indented."
          ;; with
          ;;   Constant_Indexing => Constant_Reference,
          ;;   Variable_Indexing => Reference,
-         ;; indenting 'Variable_Indexing'
          (+ (current-indentation) ada-indent-broken))
         ))
       )
@@ -247,595 +304,283 @@ point must be on CACHE. PREV-TOKEN is the token before 
the one being indented."
 
 (defun ada-wisi-before-cache ()
   "Point is at indentation, before a cached token. Return new indentation for 
point."
-  (let ((pos-0 (point))
-       (cache (wisi-get-cache (point)))
-       (prev-token (save-excursion (wisi-backward-token)))
-       )
-    (when cache
-      (cl-ecase (wisi-cache-class cache)
-       (block-start
-        (cl-case (wisi-cache-token cache)
-          (IS ;; subprogram body
-           (ada-wisi-indent-containing 0 cache t))
-
-          (RECORD
-           ;; test/ada_mode-nominal.ads; ada-indent-record-rel-type = 3
-           ;; type Private_Type_2 is abstract tagged limited
-           ;;    record
-           ;; indenting 'record'
-           ;;
-           ;; type Limited_Derived_Type_1d is
-           ;;    abstract limited new Private_Type_1 with
-           ;;    record
-           ;; indenting 'record'
-           ;;
-           ;; for Record_Type_1 use
-           ;;   record
-           ;;   indenting 'record'
-           (let ((containing (wisi-goto-containing cache)))
-             (while (not (memq (wisi-cache-token containing) '(FOR TYPE)))
-               (setq containing (wisi-goto-containing containing)))
-             (+ (current-column) ada-indent-record-rel-type)))
-
-          (t ;; other
-           (ada-wisi-indent-containing ada-indent cache t))))
-
-       (block-end
-        (cl-case (wisi-cache-nonterm cache)
-          (record_definition
-           (save-excursion
-             (wisi-goto-containing cache);; now on 'record'
-             (current-indentation)))
-
-          (t
-           (ada-wisi-indent-containing 0 cache t))
-          ))
-
-       (block-middle
-        (cl-case (wisi-cache-token cache)
-          (WHEN
-           (ada-wisi-indent-containing ada-indent-when cache t))
-
-          (t
-           (ada-wisi-indent-containing 0 cache t))
-          ))
-
-       (close-paren (wisi-indent-paren 0))
-
-       (keyword
-        ;; defer to after-cache)
-        nil)
-
-       (list-break
-       ;; test/ada_mode-parens.adb
-        ;; Foo (X
-        ;;        ,    --  used to get an error here; don't care about the 
actual indentation
-        ;; indenting ','
-        ;;
-        ;; We don't actually care what the indentation is, since this
-        ;; should only occur while editing; defer to after-cache
-        ;; avoids an error and does something reasonable.
-        nil)
-
-       (name
-        (cond
-         ((let ((temp (save-excursion (wisi-goto-containing cache))))
-            (and temp
-                 (memq (wisi-cache-nonterm temp) '(subprogram_body 
subprogram_declaration))))
-          ;; test/ada_mode-nominal.ads
-          ;; not
-          ;; overriding
-          ;; procedure
-          ;;   Procedure_1c (Item  : in out Parent_Type_1);
-          ;; indenting 'Procedure_1c'
-          ;;
-          ;; not overriding function
-          ;;   Function_2e (Param : in Parent_Type_1) return Float;
-          ;; indenting 'Function_2e'
-          (ada-wisi-indent-containing ada-indent-broken cache t))
-
-         (t
-          ;; defer to ada-wisi-after-cache, for consistency
-          nil)
-         ))
-
-       (name-paren
-        ;; defer to ada-wisi-after-cache, for consistency
-        nil)
+  (save-excursion
+    (let ((start (point))
+         (cache (wisi-get-cache (point))))
+      (when cache
+       (cl-ecase (wisi-cache-class cache)
+         (block-start
+          (cl-case (wisi-cache-token cache)
+            (IS ;; subprogram body
+             (ada-wisi-indent-containing 0 cache t))
 
-       (open-paren
-        (let* ((containing (wisi-goto-containing cache))
-               (containing-pos (point)))
-          (cl-case (wisi-cache-token containing)
-            (COMMA
-             ;; test/ada_mode-parens.adb
-             ;; A : Matrix_Type :=
-             ;;   ((1, 2, 3),
-             ;;    (4, 5, 6),
-             ;; indenting (4; containing is '),' ; 0
+            (RECORD
+             ;; test/ada_mode-nominal.ads; ada-indent-record-rel-type = 3
+             ;; type Private_Type_2 is abstract tagged limited
+             ;;    record
              ;;
-             ;; test/ada_mode-parens.adb
-             ;; Local_14 : Local_14_Type :=
-             ;;   ("123",
-             ;;    "456" &
-             ;;    ("789"));
-             ;; indenting ("4"; contaning is '3",' ; ada-indent-broken
-
-             (ada-wisi-indent-containing
-              (if (= (nth 1 prev-token) containing-pos) 0 ada-indent-broken)
-              containing))
-
-            (EQUAL_GREATER
-             (setq containing (wisi-goto-containing containing))
-             (cl-ecase (wisi-cache-token containing)
-               (COMMA
-                ;; test/ada_mode-long_paren.adb
-                ;; (RT                            => RT,
-                ;;  Monitor                       => True,
-                ;;  RX_Enable                     =>
-                ;;    (RX_Torque_Subaddress |
-                ;; indenting (RX_Torque
-                (ada-wisi-indent-containing ada-indent-broken containing t))
-               (LEFT_PAREN
-                ;; test/ada_mode-parens.adb
-                ;; (1 =>
-                ;;    (1 => 12,
-                ;; indenting '(1 => 12'; containing is '=>'
-                (ada-wisi-indent-cache (1- ada-indent) containing))
-               (WHEN
-                ;; test/ada_mode-conditional_expressions.adb
-                ;;  when 1 =>
-                ;;    (if J > 42
-                ;; indenting '(if'; containing is '=>'
-                (+ (current-column) -1 ada-indent))
-               (WITH
-                ;; test/aspects.ads
-                ;;    function Wuff return Boolean with Pre =>
-                ;;      (for all x in U =>
-                ;; indenting '(for';  containing is '=>', 'with', 'function'
-                (ada-wisi-indent-cache (1- ada-indent) containing))
-               ))
-
-            ((FUNCTION PROCEDURE)
-             ;; test/ada_mode-nominal.adb
-             ;; function Function_Access_11
-             ;;   (A_Param : in Float)
-             ;;   --  EMACSCMD:(test-face "function" font-lock-keyword-face)
-             ;;   return access function
-             ;;     (A_Param : in Float)
-             ;;     return
-             ;;     Standard.Float -- Ada mode 4.01, GPS do this differently
-             ;; indenting second '(A_Param)
-             (+ (current-indentation) -1 ada-indent))
-
-            (LEFT_PAREN
-             ;; test/ada_mode-parens.adb
-             ;; or else ((B.all
-             ;;             and then C)
-             ;;            or else
-             ;;            (D
-             ;; indenting (D
-             (+ (current-column) 1 ada-indent-broken))
+             ;; type Limited_Derived_Type_1d is
+             ;;   abstract limited new Private_Type_1 with
+             ;;    record
+             ;;
+             ;; for Record_Type_1 use
+             ;;   record
+             (let ((containing (wisi-goto-containing cache)))
+               (while (not (memq (wisi-cache-token containing) '(FOR TYPE)))
+                 (setq containing (wisi-goto-containing containing)))
+               (+ (current-column) ada-indent-record-rel-type)))
 
             (WHEN
              ;; test/ada_mode-nominal.adb
-             ;;
-             ;; when Local_1 = 0 and not
-             ;;   (Local_2 = 1)
-             ;; indenting (Local_2
-             ;;
-             ;; entry E3
-             ;;   (X : Integer) when Local_1 = 0 and not
-             ;;     (Local_2 = 1)
-             (+ (ada-wisi-current-indentation) ada-indent-broken))
+             ;; or
+             ;;    when Started => -- Ada mode 4.01 ada-when-indent, GPS 
ada-indent
+             (ada-wisi-indent-containing 0 cache t))
 
-            ((IDENTIFIER selected_component name)
-             ;; test/indent.ads
-             ;; CSCL_Type'
-             ;;   (
-             ;; identing (
-             ;;
-             ;; test/ada_mode-parens.adb
-             ;; Check
-             ;;   ("foo bar",
-             ;;    A
-             ;;      (1),
-             ;;    A(2));
-             ;; indenting (1)
-             ;;
-             ;; test/ada_mode-parens.adb
-             ;; Local_11 : Local_11_Type := Local_11_Type'
-             ;;   (A => Integer
-             ;;      (1.0),
-             ;;    B => Integer
-             ;;      (2.0));
-             ;;
-             ;; test/ada_mode-parens.adb
-             ;; Local_12 : Local_11_Type
-             ;;   := Local_11_Type'(A => Integer
-             ;;     (1.0),
-             ;; indenting (1.0)
-             (+ (ada-wisi-current-indentation) ada-indent-broken))
-
-            (t
-             (cond
-               ((memq (wisi-cache-class containing) '(block-start 
statement-start))
-                ;; test/ada_mode-nominal.adb
-                ;; entry E2
-                ;;   (X : Integer)
-                ;; indenting (X
-                (ada-wisi-indent-cache ada-indent-broken containing))
+            (t ;; other
+             (ada-wisi-indent-containing ada-indent cache t))))
 
-               (t
-                ;; Open paren in an expression.
-                ;;
-                ;; test/ada_mode-conditional_expressions.adb
-                ;; L0 : Integer :=
-                ;;   (case J is when 42 => -1, when Integer'First .. 41 => 0, 
when others => 1);
-                ;; indenting (case
-                (ada-wisi-indent-containing ada-indent-broken containing t))
-               ))
-            )))
+         (block-end
+          (cl-case (wisi-cache-nonterm cache)
+            (record_definition
+             (save-excursion
+               (wisi-goto-containing cache);; now on 'record'
+               (current-indentation)))
 
-       (return-with-params;; parameter list
-        (let ((return-pos (point)))
-          (wisi-goto-containing cache nil) ;; matching 'function'
-          (cond
-           ((<= ada-indent-return 0)
-            ;; indent relative to "("
-            (wisi-forward-find-class 'open-paren return-pos)
-            (+ (current-column) (- ada-indent-return)))
+            (t
+             (ada-wisi-indent-containing 0 cache t))
+            ))
 
-           (t
-            (+ (current-column) ada-indent-return))
-           )))
+         (block-middle
+          (ada-wisi-indent-containing 0 cache t start))
 
-       (return-without-params;; no parameter list
-        (wisi-goto-containing cache nil) ;; matching 'function'
-        (+ (current-column) ada-indent-broken))
+         (close-paren
+          (wisi-indent-paren 0))
 
-       (statement-end
-        (ada-wisi-indent-containing ada-indent-broken cache t))
+         (expression-start
+          ;; defer to after-cache)
+          nil)
 
-       (statement-other
-        (save-excursion
-          (let ((containing (wisi-goto-containing cache nil)))
-            (while (not (wisi-cache-nonterm containing))
-              (setq containing (wisi-goto-containing containing)))
+         (label
+          ;; test/ada_mode-nominal.adb
+          ;;    <<Label_1>>
+          ;;
+          ;; Block_1:
+          ;;    declare -- label, no statements between begin, label
+          ;; indenting Block_1
+          (ada-wisi-indent-containing (+ ada-indent-label ada-indent) cache t))
 
-            (cond
-             ;; cases to defer to after-cache
-             ((and
-               (eq (wisi-cache-nonterm cache) 'qualified_expression)
-               ;; test/ada_mode-parens.adb Local_13 Integer'
-               (not (eq (wisi-cache-token containing) 'COLON_EQUAL)))
-              ;; _not_ test/indent.ads CSCL_Type'
-              nil)
-
-             ;; handled here
-             (t
-              (cl-case (wisi-cache-token cache)
-                (EQUAL_GREATER
-                 (+ (current-column) ada-indent-broken))
-
-                (ELSIF
-                 ;; test/g-comlin.adb
-                 ;;   elsif Current_Argument < CL.Argument_Count then
-                 (ada-wisi-indent-cache 0 containing))
-
-                (RENAMES
-                 (cl-ecase (wisi-cache-nonterm containing)
-                   ((generic_renaming_declaration 
subprogram_renaming_declaration)
-                    (wisi-forward-find-token '(FUNCTION PROCEDURE) pos-0)
-                    (let ((pos-subprogram (point))
-                          (has-params
-                           ;; this is wrong for one return access
-                           ;; function case: overriding function Foo
-                           ;; return access Bar (...) renames ...;
-                           (wisi-forward-find-token 'LEFT_PAREN pos-0 t)))
-                      (if has-params
-                          (if (<= ada-indent-renames 0)
-                              ;; indent relative to paren
-                              (+ (current-column) (- ada-indent-renames))
-                            ;; else relative to line containing keyword
-                            (goto-char pos-subprogram)
-                            (+ (current-indentation) ada-indent-renames))
-
-                        ;; no params
-                        (goto-char pos-subprogram)
-                        (+ (current-indentation) ada-indent-broken))
-                      ))
+         (list-break
+          ;; test/ada_mode-parens.adb
+          ;; Slice_1 (1
+          ;;        ,    --  used to get an error here; don't care about the 
actual indentation
+          ;;
+          ;; We don't actually care what the indentation is, since this
+          ;; should only occur while editing; defer to after-cache
+          ;; avoids an error and does something reasonable.
+          nil)
 
-                   (object_renaming_declaration
-                    (+ (current-indentation) ada-indent-broken))
-                   ))
+         (name
+          (cond
+           ((let ((temp (wisi-get-containing-cache cache)))
+              (and temp
+                   (memq (wisi-cache-nonterm temp) '(subprogram_body 
subprogram_declaration))))
+            ;; test/ada_mode-nominal.ads
+            ;; not
+            ;; overriding
+            ;; procedure
+            ;;   Procedure_1c (Item  : in out Parent_Type_1);
+            ;;
+            ;; not overriding function
+            ;;   Function_2e (Param : in Parent_Type_1) return Float;
+            (ada-wisi-indent-containing ada-indent-broken cache t))
 
-                (t
-                 (cl-ecase (wisi-cache-nonterm containing)
+           (t
+            ;; defer to ada-wisi-after-cache, for consistency
+            nil)
+           ))
 
-                   ;; abstract_subprogram_declaration with subprogram_body
+         (name-paren
+          ;; defer to ada-wisi-after-cache, for consistency
+          nil)
 
-                   (aggregate
-                    ;; test/ada_mode-nominal-child.adb
-                    ;; return (Parent_Type_1
-                    ;;         with 1, 0.0, False);
-                    ;; indenting 'with'; containing is '('
-                    (+ (current-column) 1))
+         (open-paren
+          ;; In some cases, we indent the leading paren one less than
+          ;; normal, so the following lines look normal. However, when
+          ;; ada-indent-broken = 1- ada-indent, the distinction is
+          ;; moot.
+          (let ((content (save-excursion (wisi-forward-cache))))
+            (cond
+             ((or
+               (memq (wisi-cache-nonterm cache)
+                     '(formal_part)
+                     ;; test/ada_mode-nominal.adb
+                     ;; entry E2
+                     ;;   (X : Integer)
+                     )
+               (memq (wisi-cache-nonterm content)
+                     '(case_expression
+                       ;; test/ada_mode-conditional_expressions.adb
+                       ;; K :=
+                       ;;   (case Bounded (K) is
+
+                       if_expression
+                       ;; test/ada_mode-conditional_expressions.adb
+                       ;; when 1  =>
+                       ;;   (if J > 42
+                       )))
+
+              (ada-wisi-indent-containing (1- ada-indent) cache t start))
 
-                   (component_declaration
-                    ;; test/ada_mode-nominal.ads Record_Type_3 ':'
-                    (+ (current-column) ada-indent-broken))
+             (t
+              (ada-wisi-indent-containing ada-indent-broken cache t start))
+             )))
+
+         (return-with-params
+          ;; test/ada_mode-options-intent_return_1.ads, _2, _3
+          ;; indenting 'return' after ()
+          (let ((return-pos (point)))
+            (wisi-goto-containing cache nil) ;; matching 'function'
+            (cond
+             ((<= ada-indent-return 0)
+              ;; indent relative to "("
+              (wisi-forward-find-class 'open-paren return-pos)
+              (+ (current-column) (- ada-indent-return)))
 
-                   (entry_body
-                    ;; test/ada_mode-nominal.adb
-                    ;; entry E2
-                    ;;   (X : Integer)
-                    ;;   when Local_1 = 0 and not
-                    ;; indenting 'when'; containing is 'entry'
-                    (+ (current-column) ada-indent-broken))
+             (t
+              (+ (current-column) ada-indent-return))
+             )))
 
-                   ;; expression_function_declaration with subprogram_body
+         (return-without-params;; no parameter list
+          ;; test/ada_mode-options-intent_return_1.ads, _2, _3
+          ;; indenting 'return' with no ()
+          (wisi-goto-containing cache nil) ;; matching 'function'
+          (+ (current-column) ada-indent-broken))
 
-                   (formal_package_declaration
-                    ;; test/ada_mode-generic_package.ads
-                    ;; with package A_Package_7 is
-                    ;;   new Ada.Text_IO.Integer_IO (Num => 
Formal_Signed_Integer_Type);
-                    ;; indenting 'new'; containing is 'with'
-                    (+ (current-column) ada-indent-broken))
+         (statement-end
+          (ada-wisi-indent-containing ada-indent-broken cache t))
 
-                   ((full_type_declaration
-
-                     ;; shared code, but out of alphabetical order:
-                      protected_type_declaration
-                     single_protected_declaration
-                     single_task_declaration
-                     subtype_declaration
-                     task_type_declaration)
-
-                    (while (not (memq (wisi-cache-token containing) 
'(PROTECTED SUBTYPE TASK TYPE)))
-                      (setq containing (wisi-goto-containing containing)))
-
-                    (cond
-                     ((eq (wisi-cache-token cache) 'WITH)
-                      (let ((type-col (current-column))
-                            (null_private (save-excursion (wisi-goto-end-1 
cache)
-                                                          (eq 'WITH 
(wisi-cache-token (wisi-backward-cache))))))
-                        (cond
-                         ((eq 'aspect_specification_opt (wisi-cache-nonterm 
cache))
-                          ;; test/aspects.ads
-                          ;; subtype Integer_String is String
-                          ;;   with Dynamic_Predicate => Integer'Value 
(Integer_String) in Integer
-                          ;; indenting 'with'
-                          ;;
-                          ;; test/ada_mode.ads
-                          ;; protected Separate_Protected_Body
-                          ;; with
-                          ;;   Priority => 5
-                          ;; indenting 'with'
-                          ;;
-                          ;; test/ada_nominal.ads
-                          ;; task type Task_Type_1 (Name : access String)
-                          ;; with
-                          ;;    Storage_Size => 512 + 256
-                          ;; indenting 'with'
-                          type-col)
-
-                         (null_private
-                          ;; 'with null record;' or 'with private;'
-                          ;; test/ada_mode-nominal.ads
-                          ;; type Limited_Derived_Type_3 is abstract limited 
new Private_Type_1
-                          ;;   with null record;
-                          ;; indenting 'with'; containing is 'is'
-                          (+ type-col ada-indent-broken))
-
-                         (t
-                          ;; test/ada_mode-nominal.ads
-                          ;; type Unconstrained_Array_Type_3 is array (Integer 
range <>, Standard.Character range <>)
-                          ;;   of Object_Access_Type_1;
-                          ;; indenting 'of'; containing is 'is'
-                          ;;
-                          ;; type Object_Access_Type_7
-                          ;;   is access all Integer;
-                          ;; indenting 'is'; containing is 'type'
-                          (+ type-col ada-indent-record-rel-type)))))
-
-                     (t
-                      ;; test/ada_mode-nominal.ads
-                      ;; type Limited_Derived_Type_2a is abstract limited new 
Private_Type_1
-                      ;;   with record
-                      ;; indenting 'with record'
-                      ;;
-                      ;; test/access_in_record.ads
-                      ;; type A
-                      ;;    is new Ada.Streams.Root_Stream_Type with record
-                      ;;
-                      ;; test/adacore_9717_001.ads A_Long_Name
-                      ;; subtype A_Long_Name
-                      ;;   is Ada.Text_Io.Count;
-                      ;; indenting 'is'
-                      (+ (current-column) ada-indent-broken))
-                     ))
-
-                   (generic_instantiation
-                    ;; test/ada_mode-generic_instantiation.ads
-                    ;; procedure Procedure_7 is
-                    ;;   new Instance.Generic_Procedure (Integer, Function_1);
-                    ;; indenting 'new'
-                    (+ (current-column) ada-indent-broken))
+         (statement-other
+          (cond
+           ((and (eq (wisi-cache-token cache) 'IS)
+                 (memq (wisi-cache-nonterm cache)
+                       '(expression_function_declaration
+                         ;; test/ada_mode-expression-functions.ads
+                         ;; function Square (A : in Float) return Float
+                         ;;   is (A * A);
+
+                         null_procedure_declaration
+                         ;; test/ada_mode-nominal.ads
+                         ;; procedure Procedure_3c
+                         ;; is null;
+                         )))
+            (ada-wisi-indent-containing ada-indent-broken cache t start))
+
+           ((and (eq (wisi-cache-token cache) 'WITH)
+                 (eq (wisi-cache-nonterm cache) 'derived_type_definition))
+            ;; test/ada_mode-nominal.ads
+            ;; type Limited_Derived_Type_2a is abstract limited new 
Private_Type_1
+            ;;   with record
+            (ada-wisi-indent-containing ada-indent-record-rel-type cache t 
start))
 
-                   (generic_renaming_declaration
-                    ;; indenting keyword following 'generic'
-                    (current-column))
-
-                   ;; null_procedure_declaration with subprogram_body
-
-                   (object_declaration
-                    (cl-ecase (wisi-cache-token containing)
-                      (COLON
-                       ;; test/ada_mode-nominal.ads
-                       ;; Anon_Array_3 : array (1 .. 10)
-                       ;;   of Integer;
-                       ;; indenting 'of'
-                       (+ (current-indentation) ada-indent-broken))
-
-                      (COLON_EQUAL
-                       ;; test/indent.ads
-                       ;; C_S_Controls : constant
-                       ;;   CSCL_Type :=
-                       ;;     CSCL_Type'
-                       ;; indenting 'CSCL_Type'
-                       (+ (current-indentation) ada-indent-broken))
-
-                      (identifier_list
-                       ;; test/ada_mode-nominal.adb
-                       ;; Local_2 : constant Float
-                       ;;   := Local_1;
-                       (+ (current-indentation) ada-indent-broken))
-                      ))
-
-                    ((package_declaration
-                     package_body)
-                    ;; test/ada_mode-nominal.ads
-                    ;; package Ada_Mode.Nominal
-                    ;; with
-                    ;;   SPARK_Mode => On
-                    ;; is
-                    ;; indenting 'with'
-                    ;;
-                    ;; test/ada_mode-nominal.adb
-                    ;; package body Ada_Mode.Nominal
-                    ;; with
-                    ;;   SPARK_Mode => On
-                    ;; is
-                    (save-excursion
-                       (current-column)))
-
-                   (private_extension_declaration
-                    (cl-ecase (wisi-cache-token cache)
-                      (WITH
-                       ;; test/aspects.ads
-                       ;; type Date_Set is tagged private
-                       ;; with
-                       ;; indenting 'with'
-                       (current-indentation))
-
-                      (t
-                       ;; test/ada_mode-nominal.ads
-                       ;; type Limited_Derived_Type_3 is abstract limited
-                       ;;   new Private_Type_1 with private;
-                       ;; indenting 'new'
-                       (+ (current-indentation) ada-indent-broken))
-                      ))
-
-                   (private_type_declaration
-                    ;; test/aspects.ads
-                    ;; type Vector is tagged private
-                    ;; with
-                    ;; indenting 'with'
-                    (current-indentation))
-
-                   ;; protected_type_declaration with full_type_declaration
-
-                   (qualified_expression
-                    ;; test/ada_mode-nominal-child.ads
-                    ;; Child_Obj_5 : constant Child_Type_1 :=
-                    ;;   (Parent_Type_1'
-                    ;;     (Parent_Element_1 => 1,
-                    (ada-wisi-indent-cache ada-indent-broken containing))
-
-                   ;; single_protected_declaration with full_type_declaration
-                   ;; single_task_declaration with full_type_declaration
-
-                   (statement
-                    (cl-case (wisi-cache-token containing)
-                      (label_opt
-                       (- (current-column) ada-indent-label))
-
-                      (t
-                       ;; test/ada_mode-nominal.adb
-                       ;; select
-                       ;;    delay 1.0;
-                       ;; then
-                       ;;    -- ...
-                       ;;   abort
-                       (ada-wisi-indent-cache ada-indent-broken cache))
-                      ))
-
-                   ((subprogram_body
-                     subprogram_declaration
-                     subprogram_specification
+           (t
+            (cl-case (wisi-cache-nonterm cache)
+              ((generic_renaming_declaration subprogram_renaming_declaration)
+               ;; special case for ada-indent-renames
+
+               (cl-ecase (wisi-cache-token cache)
+                 ((FUNCTION PROCEDURE)
+                  ;; test/ada_mode-generic_instantiation.ads
+                  ;; generic
+                  ;; function Gen_Function_4 renames Instance.Generic_Function;
+                  ;;
+                  ;; generic
+                  ;; procedure
+                  (ada-wisi-indent-containing 0 cache t start))
+
+                 (RENAMES
+                  ;; test/ada_mode-generic_instantiation.ads
+                  ;; generic function Gen_Function_2
+                  ;;   renames Instance.Generic_Function;
+                  (wisi-goto-containing cache)
+                  (wisi-forward-find-token '(FUNCTION PROCEDURE) start)
+                  (let ((pos-subprogram (point))
+                        (has-params
+                         ;; this is wrong for one return access
+                         ;; function case: overriding function Foo
+                         ;; return access Bar (...) renames ...;
+                         (wisi-forward-find-token 'LEFT_PAREN start t)))
+                    (if has-params
+                        (if (<= ada-indent-renames 0)
+                            ;; indent relative to paren
+                            (+ (current-column) (- ada-indent-renames))
+                          ;; else relative to line containing keyword
+                          (goto-char pos-subprogram)
+                          (+ (current-indentation) ada-indent-renames))
+
+                      ;; no params
+                      (goto-char pos-subprogram)
+                      (+ (current-indentation) ada-indent-broken))
+                    ))
+                 ))
 
-                     ;; shared code, but out of alphabetical order:
-                     abstract_subprogram_declaration
-                     expression_function_declaration
-                     null_procedure_declaration)
-                    (cl-ecase (wisi-cache-token cache)
-                      (IS
-                       ;; test/ada_mode-nominal.ads
-                       ;; procedure Procedure_1d
-                       ;;   (Item   : in out Parent_Type_1;
-                       ;;    Item_1 : in     Character;
-                       ;;    Item_2 : out    Character)
-                       ;;   is null;
-                       ;; indenting 'is'
-                       (+ (current-column) ada-indent-broken))
-
-                      (OVERRIDING
-                       ;; indenting 'overriding' following 'not'
-                       (current-column))
-
-                      ((PROCEDURE FUNCTION)
-                       ;; indenting 'procedure' or 'function following 
'overriding'
-                       (current-column))
-
-                      (WITH
-                       ;; indenting aspect specification on subprogram 
declaration
-                       ;; test/aspects.ads
-                       ;; procedure Foo (X : Integer;
-                       ;;                Y : out Integer)
-                       ;; with Pre => X > 10 and
-                       ;; indenting 'with'
-                       (current-column))
-                      ))
-
-                   ;; subtype_declaration, task_type_declaration with 
full_type_declaration
-
-                   ))))
-             )))) ;; end statement-other
-
-       (statement-start
-        (cond
-         ((eq 'label_opt (wisi-cache-token cache))
-          (ada-wisi-indent-containing (+ ada-indent-label ada-indent) cache t))
+              ((aggregate
+                ;; test/ada_mode-nominal-child.adb
+                ;; return (Parent_Type_1
+                ;;         with 1, 0.0, False);
 
-         (t
-          (let ((containing-cache (wisi-get-containing-cache cache)))
-            (if (not containing-cache)
-                ;; at bob
-                0
-              ;; not at bob
-              (cl-case (wisi-cache-class containing-cache)
-                ((block-start block-middle)
-                 (wisi-goto-containing cache)
-                 (cl-case (wisi-cache-nonterm containing-cache)
-                   (record_definition
-                    (+ (current-indentation) ada-indent))
+                aspect_specification_opt
+                ;; test/ada_mode-nominal.ads
+                ;; package Ada_Mode.Nominal
+                ;; with
+                ;;
+                ;; test/ada_mode-nominal.adb
+                ;; package body Ada_Mode.Nominal
+                ;; with
 
-                   (t
-                    (ada-wisi-indent-cache ada-indent containing-cache))
-                   ))
+                elsif_expression_item
+                ;; test/ada_mode-conditional_expressions.adb
+                ;; K := (if K < 0 then 42
+                ;;       elsif K = 0 then
+
+                elsif_statement_item
+                ;; not in paren
+                ;; test/g-comlin.adb
+                ;;   elsif Current_Argument < CL.Argument_Count then
+
+                generic_renaming_declaration
+                ;; test/ada_mode-generic_instantiation.ads
+                ;; generic
+                ;; procedure
+
+                subprogram_body
+                subprogram_declaration
+                subprogram_specification
+                overriding_indicator_opt
+                abstract_subprogram_declaration
+                expression_function_declaration
+                null_procedure_declaration
+                ;; test/ada_mode-nominal.ads
+                ;; not
+                ;; overriding
+                ;;
+                ;; not overriding
+                ;; procedure Procedure_1b
+                )
+               (ada-wisi-indent-containing 0 cache t start))
 
-                (list-break
-                 (ada-wisi-indent-list-break cache prev-token))
+              (t
+               (ada-wisi-indent-containing ada-indent-broken cache t start))
+              ))
+           )) ;; end statement-other
 
-                ))))
-            ))
-       ))
-    ))
+         (statement-start
+          (ada-wisi-indent-containing ada-indent cache t start))
+         ))
+      )))
 
 (defun ada-wisi-after-cache ()
-  "Point is at indentation, not before a cached token. Find previous
-cached token, return new indentation for point."
+  "Point is at indentation. Find previous cached token, return
+new indentation for point."
   (save-excursion
     (let ((start (point))
          (prev-token (save-excursion (wisi-backward-token)))
@@ -846,13 +591,16 @@ cached token, return new indentation for point."
        0)
 
        (t
-       (while (memq (wisi-cache-class cache) '(keyword name name-paren type))
+       (while (memq (wisi-cache-class cache) '(name name-paren))
          ;; not useful for indenting
          (setq cache (wisi-backward-cache)))
 
        (cl-ecase (wisi-cache-class cache)
          (block-end
           ;; indenting block/subprogram name after 'end'
+          ;; test/ada_mode-nominal.adb
+          ;; end
+          ;;   Function_Access_11;
           (wisi-indent-current ada-indent-broken))
 
          (block-middle
@@ -861,152 +609,276 @@ cached token, return new indentation for point."
              (cl-case (wisi-cache-nonterm cache)
                (case_statement
                 ;; between 'case .. is' and first 'when'; most likely a comment
-                (ada-wisi-indent-containing 0 cache t))
+                ;; test/ada_mode-nominal.adb
+                ;; case Param_1 is
+                ;; -- comment after "is", before "when"
+                (ada-wisi-indent-containing 0 cache))
 
                (t
-                (+ (ada-wisi-indent-containing ada-indent cache t)))
+                ;; test/ada_mode-nominal.adb
+                ;; function F2 (Param_1 : Discrete_Type_1; B : Float) return 
Float
+                ;; is
+                ;;    Local : Object_Access_Type_0a := new Float'(9.0);
+                (+ (ada-wisi-indent-containing ada-indent cache)))
                ))
 
             ((THEN ELSE)
-             ;;
-             ;; test/ada_mode-conditional_expressions.adb
-             ;; K3 : Integer := (if
-             ;;                    J > 42
-             ;;                  then
-             ;;                    -1
-             ;;                  else
-             ;;                    +1);
-             ;; indenting -1, +1
              (let ((indent
-                    (cl-ecase (wisi-cache-nonterm (wisi-get-containing-cache 
cache))
-                      ((statement if_statement elsif_statement_item) 
ada-indent)
-                      ((if_expression elsif_expression_item) 
ada-indent-broken))))
-               (ada-wisi-indent-containing indent cache t)))
+                    (cl-ecase (wisi-cache-nonterm cache)
+                      ((asynchronous_select
+                       ;; test/ada_mode-nominal.adb
+                        ;; select
+                        ;;    delay 1.0;
+                        ;; then
+                        ;;    -- The comment after 'null' below has no space 
between ';'
+
+                        if_statement
+                        ;; test/ada_mode-nominal.adb
+                        ;; if A_Param > 0.0 then
+                        ;;    -- EMACSCMD:(test-face "new" 
font-lock-keyword-face)
+
+                        elsif_statement_item
+                        ;; test/ada_mode-nominal.adb
+                        ;; then -- 2
+                        ;;      --EMACSCMD:(progn ...
+
+                        selective_accept
+                        ;; test/ada_mode-nominal.adb
+                        ;; else
+                        ;;    --  comment after select else
+                        )
+                       ada-indent)
+
+                      ((if_expression
+                       ;; test/ada_mode-conditional_expressions.adb
+                       ;; K3 : Integer := (if
+                       ;;                    J > 42
+                       ;;                  then
+                       ;;                    -1
+                       ;;                  else
+                       ;;                    +1);
+                       ;; indenting -1, +1
+                       elsif_expression_item
+                       ;; test/ada_mode-conditional_expressions.adb
+                       ;; K := (if K < 0 then 42
+                       ;;       elsif K = 0 then
+                       ;;         (case J is
+                       )
+                       ada-indent-broken))))
+               (ada-wisi-indent-containing indent cache nil start)))
 
             (WHEN
-             ;; between 'when' and '=>'
-             (+ (current-column) ada-indent-broken))
+             (cl-ecase (wisi-cache-nonterm cache)
+               ((case_expression_alternative
+                 ;; test/ada_mode-conditional_expressions.adb
+                 ;; L2 : Integer := (case J is
+                 ;;                     when
+                 ;;                       42 => -1,
+
+                 case_statement_alternative
+                 ;; test/ada_mode-nominal.adb
+                 ;; case Local_4 is
+                 ;;    when
+                 ;;      A | -- continuation line; ada-indent-broken = 2
+
+                 exception_handler
+                 ;; test/ada_mode-nominal.adb
+                 ;; when -- 2
+                 ;;   Bad_Thing -- ada-mode 4.01 indentation
+                 ;;   =>        -- ""
+                 )
+                (+ (current-column) ada-indent-broken))
+               ))
 
             (t
-             ;; block-middle keyword may not be on separate line:
-             ;;       function Create (Model   : in Integer;
-             ;;                        Context : in String) return String is
+             ;; block-middle keyword other than above
+             ;; test/ada_mode-nominal.adb
+             ;; accept Middle_1 (Param_1 : in Integer) do
+             ;;    --  a comment after 'do'
+             ;;
+             ;; begin
+             ;;    --EMACSCMD:(progn 
(ada-goto-declarative-region-start)(looking-at " -- target 5"))
              (ada-wisi-indent-containing ada-indent cache nil))
             ))
 
          (block-start
           (cl-case (wisi-cache-nonterm cache)
-            (exception_handler
-             ;; between 'when' and '=>'
-             (+ (current-column) ada-indent-broken))
-
-            (if_expression
-             (ada-wisi-indent-containing ada-indent-broken cache nil))
-
-            (select_alternative
-             (ada-wisi-indent-containing (+ ada-indent-when ada-indent-broken) 
cache nil))
+            ((exception_handler
+              ;; test/ada_mode-nominal.adb
+              ;; when -- 2
+              ;;   Bad_Thing -- ada-mode 4.01 indentation
+
+              select_alternative
+              ;; test/ada_mode-nominal.adb
+              ;; when
+              ;;   Started =>
+              )
+              (+ (current-column) ada-indent-broken))
 
-            (t ;; other; normal block statement
-             (ada-wisi-indent-cache ada-indent cache))
+            (t
+             ;; test/ada_mode-nominal.adb
+             ;; task body Task_Type_1 is
+             ;;    -- a more typical task
+             (+ (ada-wisi-current-indentation) ada-indent))
             ))
 
          (close-paren
-          ;; actual_parameter_part: test/ada_mode-nominal.adb
-          ;; return 1.0 +
-          ;;   Foo (Bar) + -- multi-line expression that happens to have a 
cache at a line start
-          ;;   12;
-          ;; indenting '12'; don't indent relative to containing function name
-          ;;
-          ;; attribute_designator: test/ada_mode-nominal.adb
-          ;; raise Constraint_Error with Count'Image (Line (File)) &
-          ;;    "foo";
-          ;; indenting '"foo"'; relative to raise
-          ;;
-          ;; test/ada_mode-slices.adb
-          ;; Put_Line(Day'Image(D1) & " - " & Day'Image(D2) & " = " &
-          ;;            Integer'Image(N));
-          ;; indenting 'Integer'
-          (when (memq (wisi-cache-nonterm cache)
-                      '(actual_parameter_part attribute_designator))
-            (setq cache (wisi-goto-containing cache)))
-          (ada-wisi-indent-containing ada-indent-broken cache nil))
+          ;; test/ada_mode-parens.adb
+          ;;               and then E))
+          ;; or else G
+          (ada-wisi-indent-containing ada-indent-broken cache nil start))
 
-         (list-break
-          (ada-wisi-indent-list-break cache prev-token))
+         (expression-start
+          (cond
+           ((eq 'LEFT_PAREN (wisi-cache-token cache))
+            (if (= (point) (cadr prev-token))
+                ;; test/ada_mode-parens.adb
+                ;; Local_9 : String := (
+                ;;                      "123" &
+                (1+ (current-column))
+
+              ;; not at token preceding indenting token
+              ;; test/ada_mode-nominal.adb
+              ;; 2
+              ;;   => (others
+              ;;         => 2.0),
+              ;;
+              ;; test/ada_mode-parens.adb
+              ;; A :=
+              ;;   (1 |
+              ;;      2 => (0, 0, 0),
+              (+ 1 (current-column) ada-indent-broken)))
 
-         (open-paren
-          ;; 1) A parenthesized expression, or the first item in an aggregate:
-          ;;
-          ;;    (foo +
-          ;;       bar)
-          ;;    (foo =>
-          ;;       bar)
-          ;;
-          ;;     we are indenting 'bar'
-          ;;
-          ;; 2) A parenthesized expression, or the first item in an
-          ;;    aggregate, and there is whitespace between
-          ;;    ( and the first token:
-          ;;
-          ;; test/ada_mode-parens.adb
-          ;; Local_9 : String := (
-          ;;                      "123"
-          ;;
-          ;; 3) A parenthesized expression, or the first item in an
-          ;;    aggregate, and there is a comment between
-          ;;    ( and the first token:
-          ;;
+           (t
+            (let* ((containing1 (wisi-get-containing-cache cache))
+                   (containing2 (wisi-get-containing-cache containing1))
+                   (containing3 (wisi-get-containing-cache containing2)))
+
+              (cond
+               ((and (eq 'EQUAL_GREATER (wisi-cache-token containing1))
+                     (or
+                      (eq 'aspect_specification_opt (wisi-cache-nonterm 
containing2))
+                      (and (eq 'association_list (wisi-cache-nonterm 
containing2))
+                           (eq 'aspect_specification_opt (wisi-cache-nonterm 
containing3)))))
+                ;; special case for aspects
+                ;; test/aspects.ads
+                ;; with Pre => X > 10 and
+
+                (wisi-goto-containing cache);; EQUAL_GREATER
+                (let ((cache-col (current-column))
+                      (cache-pos (point))
+                      (line-end-pos (line-end-position)))
+                  (if (= (+ 2 cache-pos) line-end-pos)
+                      ;;   Post =>
+                      ;;     Y >= X and
+                      ;;     Some_Very_Verbose_Predicate (X, Y);
+                      (progn
+                        (goto-char cache-pos)
+                        (+ (current-indentation) ada-indent-broken))
+                    ;; with Pre => X > 10 and
+                    ;;             X < 50 and
+                    (+ 3 cache-col))
+                  ))
+
+               (t
+                (let ((cur-line (line-number-at-pos (point)))
+                      (paren-line (line-number-at-pos (nth 1 (syntax-ppss)))))
+                  (cond
+                   ((and (ada-in-paren-p)
+                         (eq cur-line paren-line))
+                    ;; test/ada_mode-parens.adb
+                    ;; Local_2 : Integer := (1 + 2 +
+                    ;;                         3);
+                    ;;
+                    ;; test/ada_mode-parens.adb
+                    ;; if A.all
+                    ;;   or else (B.all
+                    ;;              --EMACSCMD:(test-face "then" 
'font-lock-keyword-face)
+                    ;;              and then C
+                    (+ (current-column) ada-indent-broken))
+
+                   (t
+                    ;; test/ada_mode-conditional_expressions.adb
+                    ;; L5 : Boolean :=
+                    ;;   (case C is
+                    ;;       when A =>
+                    ;;          J = 4
+                    ;;            or else M, --  test case from Piotr Trojanek
+                    ;;
+                    ;; test/ada_mode-nominal.adb
+                    ;; return 1.0 +
+                    ;;          Function_2a (Parent_Type_1'(1, 2.0, False)) +
+                    (+ (ada-wisi-current-indentation) ada-indent-broken))
+                   )))
+               )))
+           ));; expression-start
+
+         (label
           ;; test/ada_mode-nominal.adb
-          ;; A :=
-          ;;   (
-          ;;    -- a comment between paren and first association
-          ;;    1 =>
-          ;;
-          ;; test/ada_mode-parens.adb
-          ;; return Float (
-          ;;               Integer'Value
-          ;; indenting 'Integer'
-          (let ((paren-column (current-column))
-                (start-is-comment (save-excursion (goto-char start) 
(looking-at comment-start-skip))))
-            (wisi-forward-token); point is now after paren
-            (if start-is-comment
-                (skip-syntax-forward " >"); point is now on comment
-              (forward-comment (point-max)); point is now on first token
-              )
-            (if (= (point) start)
-                ;; case 2) or 3)
-                (1+ paren-column)
-              ;; 1)
-              (+ paren-column 1 ada-indent-broken))))
+          ;; <<Label_1>>
+          ;;    --  a comment after a label
+          (+ (current-column) (- ada-indent-label)))
 
-         ((return-with-params return-without-params)
+         (list-break
           ;; test/ada_mode-nominal.adb
-          ;; function Function_Access_1
-          ;;   (A_Param : in Float)
-          ;;   return
-          ;;     Standard.Float
-          ;; indenting 'Standard.Float'
+          ;; with
+          ;;   Storage_Size => 512 + 256,
+          ;;   Priority => 5;
           ;;
-          ;; test/ada_mode-expression_functions.ads
-          ;; function Square (A : in Float) return Float
-          ;;   is (A * A);
-          ;; indenting 'is'
+          ;; (1 => (others => 1.0),
+          ;;  2
           ;;
-          ;; test/ada_mode-nominal.ads
-          ;; function Function_2g
-          ;;   (Param : in Private_Type_1)
-          ;;   return Float
-          ;;   is abstract;
-          ;; indenting 'is'
-          (back-to-indentation)
-          (+ (current-column) ada-indent-broken))
+          ;; test/format_paramlist.adb
+          ;; procedure X (Y : in     Z 'Class := Default_Z;
+          ;;              B : access Integer;
+          (ada-wisi-indent-list-break cache prev-token))
+
+         (open-paren
+          (cond
+           ((eq (cadr prev-token) (point))
+            ;; test/ada_mode-parens.adb
+            ;; return Float (
+            ;;               Integer'Value
+            (goto-char start)
+            (wisi-indent-paren 1))
+
+           (t
+            ;; test/ada_mode-parens.adb
+            ;; (Left,
+            ;;    Right : in Array_Type_1) -- ada-indent-broken to match 4.01
+            (goto-char start)
+            (wisi-indent-paren (1+ ada-indent-broken)))
+           ))
+
+         ((return-with-params
+           ;; test/ada_mode-nominal.adb
+           ;; function Function_Access_1
+           ;;   (A_Param : in Float)
+           ;;   return
+           ;;     Standard.Float
+           ;;
+           ;; test/ada_mode-nominal.ads
+           ;; function Function_2g
+           ;;   (Param : in Private_Type_1)
+           ;;   return Float
+           ;;     is abstract;
+           return-without-params
+           ;; test/ada_mode-nominal.adb
+           ;; type Function_Access_Type_2g is access protected function return
+           ;;   access Standard.Float;
+           )
+          (+ (current-indentation) ada-indent-broken))
 
          (statement-end
+          ;; test/ada_mode-nominal.ads
+          ;; pragma Elaborate_Body (Ada_Mode.Nominal);
+          ;; -- Comment after one line of code; broken versions of the
           (ada-wisi-indent-containing 0 cache nil))
 
          (statement-other
-          (cl-ecase (wisi-cache-token cache)
+          (cl-case (wisi-cache-token cache)
             (ABORT
+             ;; test/subdir/ada_mode-separate_task_body.adb
              ;; select
              ;;    Please_Abort;
              ;; then
@@ -1015,25 +887,14 @@ cached token, return new indentation for point."
              ;;    Titi;
              (ada-wisi-indent-containing ada-indent cache))
 
-            ;; test/subdir/ada_mode-separate_task_body.adb
-            ((COLON COLON_EQUAL)
-             ;; Local_3 : constant Float :=
-             ;;   Local_2;
-             ;;
-             ;; test/ada_mode-nominal.ads
-             ;; type Record_Type_3 (Discriminant_1 : access Integer) is tagged 
record
-             ;;    Component_1 : Integer; -- end 2
-             ;;    Component_2 :
-             ;;      Integer;
-             ;; indenting 'Integer'; containing is ';'
-             (ada-wisi-indent-cache ada-indent-broken cache))
-
             (COMMA
              (cl-ecase (wisi-cache-nonterm cache)
                (name_list
                 (cl-ecase (wisi-cache-nonterm (wisi-get-containing-cache 
cache))
                   (use_clause
                    ;; test/with_use1.adb
+                   ;; use Ada.Text_IO,
+                   ;;     Ada.Numerics,   --  used to be indented with 
ada-broken-indent
                    (ada-wisi-indent-containing ada-indent-use cache))
 
                   (with_clause
@@ -1047,194 +908,102 @@ cached token, return new indentation for point."
                   ))
                ))
 
-            (ELSIF
-             ;; test/g-comlin.adb
-             ;; elsif Index_Switches + Max_Length <= Switches'Last
-             ;;   and then Switches (Index_Switches + Max_Length) = '?'
-             (ada-wisi-indent-cache ada-indent-broken cache))
-
             (EQUAL_GREATER
-             (let ((cache-col (current-column))
-                   (cache-pos (point))
-                   (line-end-pos (line-end-position))
-                   (containing (wisi-goto-containing cache nil)))
-               (while (eq (wisi-cache-nonterm containing) 'association_list)
-                 (setq containing (wisi-goto-containing containing nil)))
-
-               (cl-ecase (wisi-cache-nonterm containing)
-                 ((actual_parameter_part aggregate)
-                  ;; ada_mode-generic_package.ads
-                  ;; with package A_Package_2 is new Ada.Text_IO.Integer_IO 
(Num =>
-                  ;;                                                           
Formal_Signed_Integer_Type);
-                  ;;  indenting 'Formal_Signed_...', point on '(Num'
-                  ;;
-                  ;; test/ada_mode-parens.adb
-                  ;; (1      =>
-                  ;;    1,
-                  ;;  2      =>
-                  ;;    1 + 2 * 3,
-                  ;; indenting '1,' or '1 +'; point on '(1'
-                  ;;
-                  ;; test/ada_mode-parens.adb
-                  ;; Local_13 : Local_11_Type
-                  ;;   := (Integer'(1),
-                  ;;       Integer'(2));
-                  ;; indenting 'Integer'; point on '(Integer'
-                  (+ (current-column) 1 ada-indent-broken))
-
-                 (aspect_specification_opt
-                  ;; test/aspects.ads
-                  ;; with Pre => X > 10 and
-                  ;;             X < 50 and
-                  ;;             F (X),
-                  ;;   Post =>
-                  ;;     Y >= X and
-                  ;; indenting 'X < 50' or 'Y >= X'; cache is '=>', point is 
on '=>'
-                  ;; or indenting 'Post =>'; cache is ',', point is on 'with'
-                  (cl-ecase (wisi-cache-token cache)
-                    (COMMA
-                     (+ (current-indentation) ada-indent-broken))
-
-                    (EQUAL_GREATER
-                     (if (= (+ 2 cache-pos) line-end-pos)
-                         ;;   Post =>
-                         ;;     Y >= X and
-                         (progn
-                           (goto-char cache-pos)
-                           (+ (current-indentation) ada-indent-broken))
-                       ;; with Pre => X > 10 and
-                       ;;             X < 50 and
-                       (+ 3 cache-col)))
-                    ))
-
-                 (association_list
-                  (cl-ecase (save-excursion (wisi-cache-token 
(wisi-goto-containing cache nil)))
-                    (COMMA
-                     (ada-wisi-indent-containing (* 2 ada-indent-broken) 
cache))
-                    ))
-
-                 ((case_expression_alternative case_statement_alternative 
exception_handler)
-                  ;; containing is 'when'
-                  (+ (current-column) ada-indent))
-
-                 (generic_renaming_declaration
-                  ;; not indenting keyword following 'generic'
-                  (+ (current-column) ada-indent-broken))
-
-                  (paren_expression
-                  ;; test/ada_mode-expression_functions.ads
-                  ;; (for some X of Y =>
-                  ;;    Pred (X));
-                  ;; indenting "Pred"
-                   (+ (current-column) ada-indent))
-
-                 (primary
-                  ;; test/ada_mode-quantified_expressions.adb
-                  ;; if (for some J in 1 .. 10 =>
-                  ;;       J/2 = 0)
-                  (ada-wisi-indent-containing ada-indent-broken cache))
-
-
-                 (select_alternative
+             (cond
+              ((or
+                (eq (wisi-cache-nonterm
+                     (wisi-get-containing-cache cache))
+                    'aspect_specification_opt)
+                ;; test/aspects.ads
+                ;; with
+                ;;   Pre =>
+                ;;     X > 10 and
+                (eq (wisi-cache-nonterm
+                     (wisi-get-containing-cache (wisi-get-containing-cache 
cache)))
+                    'aspect_specification_opt)
+                ;; test/aspects.ads
+                ;; with Pre => X > 10 and
+                ;;             X < 50 and
+                ;;             F (X),
+                ;;   Post =>
+                ;;     Y >= X and
+                )
+               (ada-wisi-indent-containing (* 2 ada-indent-broken) cache))
+
+              ((memq
+                (wisi-cache-nonterm cache)
+                '(case_statement_alternative
                   ;; test/ada_mode-nominal.adb
-                  ;; or when Started
-                  ;;      =>
-                  ;;       accept Finish;
-                  ;; indenting 'accept'; point is on 'when'
-                  (+ (current-column) ada-indent))
-
-                 (variant
-                  ;; test/generic_param.adb
-                  ;; case Item_Type is
-                  ;;    when Fix | Airport =>
-                  ;;       null;
-                  ;; indenting 'null'
-                  (+ (current-column) ada-indent))
-
-                 )))
+                  ;; when C =>
+                  ;;    --EMACSCMD:...
+                  exception_handler
+                  ;; test/ada_mode-nominal.adb
+                  ;; when E : Constraint_Error =>
+                  select_alternative
+                  ;; test/test_select.adb
+                  ;; or
+                  ;;    when Local = 0 =>
+                  ;;       --EMACSCMD:(test-face "E2" 
'font-lock-function-name-face)
+                  ))
+               (ada-wisi-indent-containing ada-indent cache nil start))
+
+              (t
+               ;; test/ada_mode-parens.adb
+               ;; (1      =>
+               ;;    1,
+               ;;  2      =>
+               ;;    1 + 2 * 3,
+               ;; indenting '1,' or '1 +'
+               ;;
+               ;; test/ada_mode-conditional_expressions.adb
+               ;; L3 : Integer := (case J is
+               ;;                     when 42 =>
+               ;;                        -1,
+               ;;                     when Integer'First .. 41 =>
+               ;;                        0,
+               ;; indenting -1, 0
+               (ada-wisi-indent-containing ada-indent-broken cache nil start))
+              ))
 
             (IS
-             (setq cache (wisi-goto-containing cache))
-             (cl-ecase (wisi-cache-nonterm cache)
+             (cl-case (wisi-cache-nonterm cache)
                (full_type_declaration
-                ;; ada_mode/nominal.ads
+                ;; test/ada_mode-nominal.ads
                 ;; type Limited_Derived_Type_1a is abstract limited new
                 ;;    Private_Type_1 with record
-                ;;       Component_1 : Integer;
-                ;; indenting 'Private_Type_1'; look for 'record'
-                (let ((type-column (current-column)))
-                  (goto-char start)
-                  (if (wisi-forward-find-token 'RECORD (line-end-position) t)
-                      ;; 'record' on line being indented
-                      (+ type-column ada-indent-record-rel-type)
-                    ;; 'record' on later line
-                    (+ type-column ada-indent-broken))))
-
-               ((formal_type_declaration
-                 ;; test/ada_mode-generic_package.ads
-                 ;; type Synchronized_Formal_Derived_Type is abstract 
synchronized new Formal_Private_Type and Interface_Type
-                 ;;   with private;
-
-                 subtype_declaration
-                 ;; test/ada_mode-nominal.ads
-                 ;;    subtype Subtype_2 is Signed_Integer_Type range 10 ..
-                 ;;      20;
-
-                 private_type_declaration
-                 ;; type Private_Type_2 is abstract tagged limited
-                 ;;  private;
-                 )
-                (+ (current-column) ada-indent-broken))
+                (goto-char start)
+                (if (wisi-forward-find-token 'RECORD (line-end-position) t)
+                    ;; 'record' on line being indented
+                    (ada-wisi-indent-containing ada-indent-record-rel-type 
cache)
+                  ;; 'record' on later line
+                  (ada-wisi-indent-containing ada-indent-broken cache)))
+
+               (t
+                ;; test/ada_mode-generic_package.ads
+                ;; type Synchronized_Formal_Derived_Type is abstract ...
+                ;;   with private;
 
-               (null_procedure_declaration
+                ;; test/ada_mode-nominal.ads
+                ;;    subtype Subtype_2 is Signed_Integer_Type range 10 ..
+                ;;      20;
+                ;;
+                ;; type Private_Type_2 is abstract tagged limited
+                ;;  private;
+                ;;
                 ;; ada_mode-nominal.ads
                 ;; procedure Procedure_3b is
                 ;;   null;
-                ;; indenting null
-                (+ (current-column) ada-indent-broken))
+                (ada-wisi-indent-containing ada-indent-broken cache))
 
                ))
 
-            (LEFT_PAREN
-             ;; test/indent.ads
-             ;; C_S_Controls : constant
-             ;;   CSCL_Type :=
-             ;;     CSCL_Type'
-             ;;       (
-             ;;        1 =>
-             (+ (current-column) 1))
-
-            (NEW
-             ;; ada_mode-nominal.ads
-             ;; type Limited_Derived_Type_2 is abstract limited new 
Private_Type_1 with
-             ;;   private;
-             ;;
-             ;; test/ada_mode-generic_instantiation.ads
-             ;;   procedure Procedure_6 is new
-             ;;     Instance.Generic_Procedure (Integer, Function_1);
-             ;; indenting 'Instance'; containing is 'new'
-             (ada-wisi-indent-containing ada-indent-broken cache))
-
-            (OF
-             ;; ada_mode-nominal.ads
-             ;; Anon_Array_2 : array (1 .. 10) of
-             ;;   Integer;
-             (ada-wisi-indent-containing ada-indent-broken cache))
-
-            (WHEN
-             ;; test/ada_mode-parens.adb
-             ;; exit when A.all
-             ;;   or else B.all
-             (ada-wisi-indent-containing ada-indent-broken cache))
-
             (WITH
              (cl-ecase (wisi-cache-nonterm cache)
                (aggregate
                 ;; test/ada_mode-nominal-child.ads
                 ;;   (Default_Parent with
                 ;;    10, 12.0, True);
-                ;; indenting '10'; containing is '('
-                (ada-wisi-indent-containing 0 cache nil))
+                (wisi-indent-paren 1))
 
                (aspect_specification_opt
                 ;; test/aspects.ads
@@ -1247,42 +1016,53 @@ cached token, return new indentation for point."
                (derived_type_definition
                 ;; test/ada_mode-nominal-child.ads
                 ;; type Child_Type_1 is new Parent_Type_1 with
-                ;;   -- comment between 'with' and 'record'
+                ;;    -- comment between 'with' and 'record'
                 ;;    record
                 ;; indenting comment
-                (+ (current-indentation) ada-indent-broken))
+                (+ (current-indentation) ada-indent-record-rel-type))
                ))
 
-            ;; otherwise just hanging
-            ((ACCEPT FUNCTION PROCEDURE RENAMES)
-             (back-to-indentation)
-             (+ (current-column) ada-indent-broken))
-
+            (t
+             ;; test/ada_mode-nominal.ads
+             ;; type Record_Type_3 (Discriminant_1 : access Integer) is tagged 
record
+             ;;    Component_1 : Integer; -- end 2
+             ;;    Component_2 :
+             ;;      Integer;
+             ;;
+             ;; test/ada_mode-nominal.adb
+             ;; Local_3 : constant Float :=
+             ;;   Local_2;
+             ;;
+             ;; test/g-comlin.adb
+             ;; elsif Index_Switches + Max_Length <= Switches'Last
+             ;;   and then Switches (Index_Switches + Max_Length) = '?'
+             ;;
+             ;; test/ada_mode-long_paren.adb
+             ;; Packet := new Packet_Type'
+             ;;   (RT                            => RT,
+             (+ (ada-wisi-current-indentation) ada-indent-broken))
             ))
 
          (statement-start
           (cl-case (wisi-cache-token cache)
-            (WITH ;; with_clause
+            (WITH
+             ;; test/ada_mode-nominal.ads
+             ;; with
+             ;;   Ada.Text_IO;
              (+ (current-column) ada-indent-with))
 
-            (label_opt
-             ;; comment after label
-             (+ (current-column) (- ada-indent-label)))
-
             (t
-             ;; procedure Procedure_8
-             ;;   is new Instance.Generic_Procedure (Integer, Function_1);
-             ;; indenting 'is'; hanging
-             ;;
-             ;; test/ada_mode-conditional_expressions.adb
-             ;; K3 : Integer := (if
-             ;;                    J > 42
-             ;;                  then
-             ;;                    -1
-             ;;                  else
-             ;;                    +1);
-             ;; indenting J
-             (ada-wisi-indent-cache ada-indent-broken cache))
+             (if (ada-in-paren-p)
+                 ;; test/ada_mode-conditional_expressions.adb
+                 ;; K3 : Integer := (if
+                 ;;                    J > 42
+                 (wisi-indent-paren (1+ ada-indent-broken))
+
+               ;; not in paren
+               ;; test/ada_mode-generic_instantiation.ads
+               ;; procedure Procedure_8
+               ;;   is new Instance.Generic_Procedure (Integer, Function_1);
+               (+ (ada-wisi-current-indentation) ada-indent-broken)))
             ))
          )))
       )))
@@ -1381,7 +1161,7 @@ cached token, return new indentation for point."
 
 (defun ada-wisi-context-clause ()
   "For `ada-fix-context-clause'."
-  (wisi-validate-cache (point-max))
+  (wisi-validate-cache (point-max) t)
   (save-excursion
     (goto-char (point-min))
     (let ((begin nil)
@@ -1429,45 +1209,39 @@ cached token, return new indentation for point."
 
 (defun ada-wisi-goto-subunit-name ()
   "For `ada-goto-subunit-name'."
-  (wisi-validate-cache (point-max))
-  (if (not (> wisi-cache-max (point)))
-      (progn
-       (message "parse failed; can't goto subunit name")
-       nil)
-
-    (let ((end nil)
-         cache
-         (name-pos nil))
-      (save-excursion
-       ;; move to top declaration
-       (goto-char (point-min))
-       (setq cache (or (wisi-get-cache (point))
-                       (wisi-forward-cache)))
-       (while (not end)
-         (cl-case (wisi-cache-nonterm cache)
-           ((pragma use_clause with_clause)
-            (wisi-goto-end-1 cache)
-            (setq cache (wisi-forward-cache)))
-           (t
-            ;; start of compilation unit
-            (setq end t))
-           ))
-       (when (eq (wisi-cache-nonterm cache) 'subunit)
-         (wisi-forward-find-class 'name (point-max)) ;; parent name
-         (wisi-forward-token)
-         (wisi-forward-find-class 'name (point-max)) ;; subunit name
-         (setq name-pos (point)))
-       )
-      (when name-pos
-       (goto-char name-pos))
-      )))
+  (wisi-validate-cache (point-max) t)
+
+  (let ((end nil)
+       cache
+       (name-pos nil))
+    (save-excursion
+      ;; move to top declaration
+      (goto-char (point-min))
+      (setq cache (or (wisi-get-cache (point))
+                     (wisi-forward-cache)))
+      (while (not end)
+       (cl-case (wisi-cache-nonterm cache)
+         ((pragma use_clause with_clause)
+          (wisi-goto-end-1 cache)
+          (setq cache (wisi-forward-cache)))
+         (t
+          ;; start of compilation unit
+          (setq end t))
+         ))
+      (when (eq (wisi-cache-nonterm cache) 'subunit)
+       (wisi-forward-find-class 'name (point-max)) ;; parent name
+       (wisi-forward-token)
+       (wisi-forward-find-class 'name (point-max)) ;; subunit name
+       (setq name-pos (point)))
+      )
+    (when name-pos
+      (goto-char name-pos))
+    ))
 
 (defun ada-wisi-goto-declaration-start ()
   "For `ada-goto-declaration-start', which see.
 Also return cache at start."
-  (wisi-validate-cache (point))
-  (unless (> wisi-cache-max (point))
-    (error "parse failed; can't goto declarative-region-start"))
+  (wisi-validate-cache (point) t)
 
   (let ((cache (wisi-get-cache (point)))
        (done nil))
@@ -1512,9 +1286,7 @@ Also return cache at start."
 
 (defun ada-wisi-goto-declarative-region-start ()
   "For `ada-goto-declarative-region-start', which see."
-  (wisi-validate-cache (point))
-  (unless (> wisi-cache-max (point))
-    (error "parse failed; can't goto declarative-region-start"))
+  (wisi-validate-cache (point) t)
 
   (let ((done nil)
        (first t)
@@ -1588,9 +1360,7 @@ Also return cache at start."
 
 (defun ada-wisi-make-subprogram-body ()
   "For `ada-make-subprogram-body'."
-  (wisi-validate-cache (point))
-  (when wisi-parse-failed
-    (error "syntax parse failed; cannot create body"))
+  (wisi-validate-cache (point) t)
 
   (let* ((begin (point))
         (end (save-excursion (wisi-forward-find-class 'statement-end 
(point-max)) (point)))
@@ -1600,7 +1370,7 @@ Also return cache at start."
                (+ (point) (wisi-cache-last cache)))))
     (goto-char end)
     (newline)
-    (insert " is begin\nnull;\nend ");; legal syntax; parse does not fail
+    (insert " is begin\n\nend ");; legal syntax; parse does not fail
     (insert name)
     (forward-char 1)
 
@@ -1608,14 +1378,12 @@ Also return cache at start."
     (newline-and-indent)
     (indent-region begin (point))
     (forward-line -2)
-    (back-to-indentation); before 'null;'
+    (back-to-indentation)
     ))
 
 (defun ada-wisi-scan-paramlist (begin end)
   "For `ada-scan-paramlist'."
-  (wisi-validate-cache end)
-  (when (< wisi-cache-max end)
-    (error "parse failed; can't scan paramlist"))
+  (wisi-validate-cache end t)
 
   (goto-char begin)
   (let (token
@@ -1728,52 +1496,55 @@ Also return cache at start."
 (defun ada-wisi-which-function ()
   "For `ada-which-function'."
   (wisi-validate-cache (point))
-  (save-excursion
-    (let ((result nil)
-         (cache (condition-case nil (ada-wisi-goto-declaration-start) (error 
nil))))
-      (if (null cache)
-         ;; bob or failed parse
-         (setq result "")
-
-       (when (memq (wisi-cache-nonterm cache)
-                   '(generic_package_declaration 
generic_subprogram_declaration))
-         ;; name is after next statement keyword
-         (wisi-next-statement-cache cache)
-         (setq cache (wisi-get-cache (point))))
-
-       ;; add or delete 'body' as needed
-       (cl-ecase (wisi-cache-nonterm cache)
-         (package_body
-          (setq result (ada-wisi-which-function-1 "package" nil)))
-
-         ((package_declaration
-           generic_package_declaration) ;; after 'generic'
-          (setq result (ada-wisi-which-function-1 "package" t)))
-
-         (protected_body
-          (setq result (ada-wisi-which-function-1 "protected" nil)))
-
-         ((protected_type_declaration single_protected_declaration)
-          (setq result (ada-wisi-which-function-1 "protected" t)))
-
-         ((abstract_subprogram_declaration
-           subprogram_declaration
-           generic_subprogram_declaration ;; after 'generic'
-           null_procedure_declaration)
-          (setq result (ada-wisi-which-function-1
-                        (wisi-cache-text (wisi-forward-find-token '(FUNCTION 
PROCEDURE) (point-max)))
-                        nil))) ;; no 'body' keyword in subprogram bodies
-
-         (subprogram_body
-          (setq result (ada-wisi-which-function-1
-                        (wisi-cache-text (wisi-forward-find-token '(FUNCTION 
PROCEDURE) (point-max)))
-                        nil)))
-
-         (task_type_declaration
-          (setq result (ada-wisi-which-function-1 "task" t)))
+  ;; no message on parse fail, since this could be called from which-func-mode
+  (when (> wisi-cache-max (point))
+    (save-excursion
+      (let ((result nil)
+           (cache (condition-case nil (ada-wisi-goto-declaration-start) (error 
nil))))
+       (if (null cache)
+           ;; bob or failed parse
+           (setq result "")
+
+         (when (memq (wisi-cache-nonterm cache)
+                     '(generic_package_declaration 
generic_subprogram_declaration))
+           ;; name is after next statement keyword
+           (wisi-next-statement-cache cache)
+           (setq cache (wisi-get-cache (point))))
+
+         ;; add or delete 'body' as needed
+         (cl-ecase (wisi-cache-nonterm cache)
+           (package_body
+            (setq result (ada-wisi-which-function-1 "package" nil)))
+
+           ((package_declaration
+             generic_package_declaration) ;; after 'generic'
+            (setq result (ada-wisi-which-function-1 "package" t)))
+
+           (protected_body
+            (setq result (ada-wisi-which-function-1 "protected" nil)))
+
+           ((protected_type_declaration single_protected_declaration)
+            (setq result (ada-wisi-which-function-1 "protected" t)))
+
+           ((abstract_subprogram_declaration
+             subprogram_declaration
+             generic_subprogram_declaration ;; after 'generic'
+             null_procedure_declaration)
+            (setq result (ada-wisi-which-function-1
+                          (wisi-cache-text (wisi-forward-find-token '(FUNCTION 
PROCEDURE) (point-max)))
+                          nil))) ;; no 'body' keyword in subprogram bodies
+
+           (subprogram_body
+            (setq result (ada-wisi-which-function-1
+                          (wisi-cache-text (wisi-forward-find-token '(FUNCTION 
PROCEDURE) (point-max)))
+                          nil)))
+
+           (task_type_declaration
+            (setq result (ada-wisi-which-function-1 "task" t)))
 
-         ))
-      result)))
+           ))
+       result))
+    ))
 
 ;;;; debugging
 (defun ada-wisi-debug-keys ()
diff --git a/packages/ada-mode/gnat-core.el b/packages/ada-mode/gnat-core.el
index c9cca70..66104c5 100644
--- a/packages/ada-mode/gnat-core.el
+++ b/packages/ada-mode/gnat-core.el
@@ -45,13 +45,13 @@
 
     (setq project (plist-put project 'prj_dir prj-dir))
 
-    (let ((process-environment (plist-get project 'proc_env)))
+    (let ((process-environment (cl-copy-list (plist-get project 'proc_env))))
       (setenv "GPR_PROJECT_PATH"
              (mapconcat 'identity
                         (plist-get project 'prj_dir)
                         (plist-get project 'path_sep)))
 
-      (setq project (plist-put project 'proc_env process-environment))
+      (setq project (plist-put project 'proc_env (cl-copy-list 
process-environment)))
       )
 
     project))
@@ -76,7 +76,7 @@
   "Handle gnat-specific Emacs Ada project file settings.
 Return new PROJECT if NAME recognized, nil otherwise.
 See also `gnat-parse-emacs-final'."
-  (let ((process-environment (plist-get project 'proc_env))); for 
substitute-in-file-name
+  (let ((process-environment (cl-copy-list (plist-get project 'proc_env)))); 
for substitute-in-file-name
     (cond
      ((or
        ;; we allow either name here for backward compatibility
@@ -264,7 +264,7 @@ Assumes current buffer is (gnat-run-buffer)"
 
   (setq command (cl-delete-if 'null command))
 
-  (let ((process-environment (ada-prj-get 'proc_env)) ;; for GPR_PROJECT_PATH
+  (let ((process-environment (cl-copy-list (ada-prj-get 'proc_env))) ;; for 
GPR_PROJECT_PATH
        status)
 
     (insert (format "GPR_PROJECT_PATH=%s\n%s " (getenv "GPR_PROJECT_PATH") 
exec)); for debugging
@@ -438,7 +438,7 @@ list."
                (split-string (ada-prj-get 'gnat_stub_opts))))
        (switches (when (ada-prj-get 'gnat_stub_switches)
                    (split-string (ada-prj-get 'gnat_stub_switches))))
-       (process-environment (ada-prj-get 'proc_env)) ;; for GPR_PROJECT_PATH
+       (process-environment (cl-copy-list (ada-prj-get 'proc_env))) ;; for 
GPR_PROJECT_PATH
        )
 
     ;; Make sure all relevant files are saved to disk.
diff --git a/packages/ada-mode/gpr-query.el b/packages/ada-mode/gpr-query.el
index 222f2a5..0e8e651 100755
--- a/packages/ada-mode/gpr-query.el
+++ b/packages/ada-mode/gpr-query.el
@@ -58,13 +58,11 @@
     (setf (gpr-query--session-buffer session) (gnat-run-buffer 
gpr-query-buffer-name-prefix)))
 
   (with-current-buffer (gpr-query--session-buffer session)
-    (let ((process-environment (ada-prj-get 'proc_env)) ;; for GPR_PROJECT_PATH
+    (let ((process-environment (cl-copy-list (ada-prj-get 'proc_env))) ;; for 
GPR_PROJECT_PATH
 
          (project-file (file-name-nondirectory (ada-prj-get 'gpr_file))))
       (erase-buffer); delete any previous messages, prompt
       (setf (gpr-query--session-process session)
-           ;; gnatcoll-1.6 can't handle aggregate projects; M910-032
-           ;; gpr_query can handle some aggregate projects, but not all
            (start-process (concat "gpr_query " (buffer-name))
                           (gpr-query--session-buffer session)
                           "gpr_query"
@@ -245,9 +243,9 @@ Uses `gpr_query'. Returns new list."
 (defun gpr-query-compilation (identifier file line col cmd comp-err)
   "Run gpr_query IDENTIFIER:FILE:LINE:COL CMD,
 set compilation-mode with compilation-error-regexp-alist set to COMP-ERR."
-  ;; Useful when gpr_query will return a list of references; we use
-  ;; `compilation-start' to run gpr_query, so the user can navigate
-  ;; to each result in turn via `next-error'.
+  ;; Useful when gpr_query will return a list of references; the user
+  ;; can navigate to each result in turn via `next-error'.
+  ;; FIXME: implement ada-xref-full-path.
   (let ((cmd-1 (format "%s %s:%s:%d:%d" cmd identifier file line col))
        (result-count 0)
        target-file target-line target-col)
@@ -557,8 +555,9 @@ Enable mode if ARG is positive."
       (message "parsing result ... done")
       result)))
 
-(defun gpr-query-all (identifier file line col)
+(defun gpr-query-all (identifier file line col _local-only)
   "For `ada-xref-all-function', using gpr_query."
+  ;; FIXME: implement local-only
   (gpr-query-compilation identifier file line col "refs" 
'gpr-query-ident-file))
 
 (defun gpr-query-parents (identifier file line col)
diff --git a/packages/ada-mode/gpr-wisi.el b/packages/ada-mode/gpr-wisi.el
index 13c8dcd..586fa5d 100644
--- a/packages/ada-mode/gpr-wisi.el
+++ b/packages/ada-mode/gpr-wisi.el
@@ -1,6 +1,6 @@
 ;; gpr-wisi.el --- Indentation engine for gpr mode, using the wisi parser  -*- 
lexical-binding:t -*-
 ;;
-;; Copyright (C) 2013 - 2015 Free Software Foundation, Inc.
+;; Copyright (C) 2013 - 2016 Free Software Foundation, Inc.
 ;;
 ;; Author: Stephen Leake <address@hidden>
 ;;
@@ -161,16 +161,19 @@ or containing ancestor of CACHE that is at a line 
beginning."
 (defun gpr-wisi-which-function ()
   "For `gpr-which-function'."
   (wisi-validate-cache (point))
-  (let ((cache (wisi-backward-cache)))
-    (while (and cache
-               (not (and
-                     (memq (wisi-cache-nonterm cache) '(package_spec 
simple_project_declaration))
-                     (eq (wisi-cache-class cache) 'statement-start))))
-      (setq cache (wisi-goto-containing cache)))
-    (when cache
-      (wisi-forward-token); package | project
-      (wisi-token-text (wisi-forward-token)); name
-      )))
+  ;; no message on parse fail, since this could be called from which-func-mode
+  (when (> wisi-cache-max (point))
+    (let ((cache (wisi-backward-cache)))
+      (while (and cache
+                 (not (and
+                       (memq (wisi-cache-nonterm cache) '(package_spec 
simple_project_declaration))
+                       (eq (wisi-cache-class cache) 'statement-start))))
+       (setq cache (wisi-goto-containing cache)))
+      (when cache
+       (wisi-forward-token); package | project
+       (wisi-token-text (wisi-forward-token)); name
+       ))
+    ))
 
 ;;; debugging
 (defun gpr-wisi-debug-keys ()
diff --git a/packages/wisi/NEWS b/packages/wisi/NEWS
index 4a9f690..06470ae 100644
--- a/packages/wisi/NEWS
+++ b/packages/wisi/NEWS
@@ -7,7 +7,13 @@ Please send wisi bug reports to address@hidden, with
 'wisi' in the subject. If possible, use M-x report-emacs-bug.
 
 
+* wisi 1.1.4
+31 Oct 2016
+
+** wisi-validate-cache takes optional error-on-fail arg.
+
 * wisi 1.1.3
+26 Jul 2016
 
 ** improve use of quotes in doc strings.
 
diff --git a/packages/wisi/README b/packages/wisi/README
index 3c27c32..82ee858 100644
--- a/packages/wisi/README
+++ b/packages/wisi/README
@@ -1,4 +1,4 @@
-Emacs wisi package 1.1.3
+Emacs wisi package 1.1.4
 
 The wisi package provides utilities for using generalized LALR parsers
 to do indentation and navigation. See ada-mode for an example of its
diff --git a/packages/wisi/wisi.el b/packages/wisi/wisi.el
index 7b7f55e..5a3569a 100644
--- a/packages/wisi/wisi.el
+++ b/packages/wisi/wisi.el
@@ -7,9 +7,9 @@
 ;; Keywords: parser
 ;;  indentation
 ;;  navigation
-;; Version: 1.1.3
+;; Version: 1.1.4
 ;; package-requires: ((cl-lib "0.4") (emacs "24.2"))
-;; URL: http://stephe-leake.org/emacs/ada-mode/emacs-ada-mode.html
+;; URL: http://www.nongnu.org/ada-mode/wisi/wisi.html
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -680,7 +680,7 @@ If accessing cache at a marker for a token as set by 
`wisi-cache-tokens', POS mu
 (defvar wisi-post-parse-succeed-hook nil
   "Hook run after parse succeeds.")
 
-(defun wisi-validate-cache (pos)
+(defun wisi-validate-cache (pos &optional error-on-fail)
   "Ensure cached data is valid at least up to POS in current buffer."
   (let ((msg (when (> wisi-debug 0) (format "wisi: parsing %s:%d ..." 
(buffer-name) (line-number-at-pos pos)))))
     ;; If wisi-cache-max = pos, then there is no cache at pos; need parse
@@ -722,14 +722,18 @@ If accessing cache at a marker for a token as set by 
`wisi-cache-tokens', POS mu
          ))
       (if wisi-parse-error-msg
          ;; error
-         (when (> wisi-debug 0)
+         (cond
+          ((> wisi-debug 0)
            (message "%s error" msg)
            (wisi-goto-error)
-           (error wisi-parse-error-msg))
+           (error wisi-parse-error-msg)))
        ;; no msg; success
        (when (> wisi-debug 0)
          (message "%s done" msg)))
-      )))
+      )
+    (when (and error-on-fail (not (>= wisi-cache-max pos)))
+      (error "parse failed"))
+    ))
 
 (defun wisi-fontify-region (_begin end)
   "For `jit-lock-functions'."
@@ -1265,7 +1269,7 @@ If LIMIT (a buffer position) is reached, throw an error."
   "If not at a cached token, move forward to next
 cache. Otherwise move to cache-next, or next cache if nil.
 Return cache found."
-  (wisi-validate-cache (point-max)) ;; ensure there is a next cache to move to
+  (wisi-validate-cache (point-max) t) ;; ensure there is a next cache to move 
to
   (let ((cache (wisi-get-cache (point))))
     (if cache
        (let ((next (wisi-cache-next cache)))
@@ -1281,7 +1285,7 @@ Return cache found."
 (defun wisi-backward-statement-keyword ()
   "If not at a cached token, move backward to prev
 cache. Otherwise move to cache-prev, or prev cache if nil."
-  (wisi-validate-cache (point))
+  (wisi-validate-cache (point) t)
   (let ((cache (wisi-get-cache (point))))
     (if cache
        (let ((prev (wisi-cache-prev cache)))
@@ -1331,7 +1335,7 @@ Return start cache."
   "Move point to token at start of statement point is in or after.
 Return start cache."
   (interactive)
-  (wisi-validate-cache (point))
+  (wisi-validate-cache (point) t)
   (let ((cache (wisi-get-cache (point))))
     (unless cache
       (setq cache (wisi-backward-cache)))
@@ -1340,7 +1344,7 @@ Return start cache."
 (defun wisi-goto-statement-end ()
   "Move point to token at end of statement point is in or before."
   (interactive)
-  (wisi-validate-cache (point))
+  (wisi-validate-cache (point) t)
   (let ((cache (or (wisi-get-cache (point))
                   (wisi-forward-cache))))
     (when (wisi-cache-end cache)
@@ -1409,7 +1413,7 @@ of CACHE with class statement-start or block-start."
 
 (defun wisi-indent-statement ()
   "Indent region given by `wisi-goto-start' on cache at or before point, then 
wisi-cache-end."
-  (wisi-validate-cache (point))
+  (wisi-validate-cache (point) t)
 
   (save-excursion
     (let ((cache (or (wisi-get-cache (point))
@@ -1493,7 +1497,7 @@ correct. Must leave point at indentation of current 
line.")
   (interactive)
   (syntax-propertize (point-max))
   (wisi-invalidate-cache)
-  (wisi-validate-cache (point-max)))
+  (wisi-validate-cache (point-max)) t)
 
 (defun wisi-lex-buffer ()
   (interactive)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]